@libp2p/kad-dht 9.1.4 → 9.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.min.js +20 -20
- package/dist/src/content-fetching/index.d.ts +0 -3
- package/dist/src/content-fetching/index.d.ts.map +1 -1
- package/dist/src/content-fetching/index.js +7 -12
- package/dist/src/content-fetching/index.js.map +1 -1
- package/dist/src/content-routing/index.d.ts +1 -2
- package/dist/src/content-routing/index.d.ts.map +1 -1
- package/dist/src/content-routing/index.js +9 -8
- package/dist/src/content-routing/index.js.map +1 -1
- package/dist/src/dual-kad-dht.d.ts +1 -2
- package/dist/src/dual-kad-dht.d.ts.map +1 -1
- package/dist/src/dual-kad-dht.js +7 -7
- package/dist/src/dual-kad-dht.js.map +1 -1
- package/dist/src/index.d.ts +16 -14
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +3 -3
- package/dist/src/index.js.map +1 -1
- package/dist/src/kad-dht.js +2 -2
- package/dist/src/kad-dht.js.map +1 -1
- package/dist/src/network.d.ts +3 -3
- package/dist/src/network.d.ts.map +1 -1
- package/dist/src/network.js +9 -9
- package/dist/src/network.js.map +1 -1
- package/dist/src/peer-routing/index.d.ts +3 -3
- package/dist/src/peer-routing/index.d.ts.map +1 -1
- package/dist/src/peer-routing/index.js +16 -34
- package/dist/src/peer-routing/index.js.map +1 -1
- package/dist/src/query/events.d.ts +10 -10
- package/dist/src/query/events.d.ts.map +1 -1
- package/dist/src/query/events.js +36 -19
- package/dist/src/query/events.js.map +1 -1
- package/dist/src/query/manager.d.ts +6 -4
- package/dist/src/query/manager.d.ts.map +1 -1
- package/dist/src/query/manager.js +9 -3
- package/dist/src/query/manager.js.map +1 -1
- package/dist/src/query/query-path.d.ts +2 -2
- package/dist/src/query/query-path.d.ts.map +1 -1
- package/dist/src/query/query-path.js +1 -1
- package/dist/src/query/query-path.js.map +1 -1
- package/dist/src/routing-table/index.js +1 -1
- package/dist/src/routing-table/index.js.map +1 -1
- package/dist/typedoc-urls.json +4 -3
- package/package.json +2 -1
- package/src/content-fetching/index.ts +7 -16
- package/src/content-routing/index.ts +10 -10
- package/src/dual-kad-dht.ts +13 -14
- package/src/index.ts +25 -14
- package/src/kad-dht.ts +2 -2
- package/src/network.ts +13 -13
- package/src/peer-routing/index.ts +19 -41
- package/src/query/events.ts +54 -21
- package/src/query/manager.ts +14 -6
- package/src/query/query-path.ts +3 -3
- package/src/routing-table/index.ts +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"query-path.js","sourceRoot":"","sources":["../../../src/query/query-path.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"query-path.js","sourceRoot":"","sources":["../../../src/query/query-path.ts"],"names":[],"mappings":"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"}
|
|
@@ -154,7 +154,7 @@ export class RoutingTable {
|
|
|
154
154
|
// only evict peers if we are still running, otherwise we evict when dialing is
|
|
155
155
|
// cancelled due to shutdown in progress
|
|
156
156
|
this.log.error('could not ping peer %p', oldContact.peer, err);
|
|
157
|
-
this.log('evicting old contact after ping failed %p', oldContact);
|
|
157
|
+
this.log('evicting old contact after ping failed %p', oldContact.peer);
|
|
158
158
|
this.kb.remove(oldContact.id);
|
|
159
159
|
}
|
|
160
160
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/routing-table/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/routing-table/index.ts"],"names":[],"mappings":"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"}
|
package/dist/typedoc-urls.json
CHANGED
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
"ProvidersInit": "https://libp2p.github.io/js-libp2p-kad-dht/interfaces/_internal_.ProvidersInit.html",
|
|
3
3
|
"EventTypes": "https://libp2p.github.io/js-libp2p-kad-dht/enums/EventTypes.html",
|
|
4
4
|
"MessageType": "https://libp2p.github.io/js-libp2p-kad-dht/enums/MessageType.html",
|
|
5
|
-
"
|
|
5
|
+
"AddPeerEvent": "https://libp2p.github.io/js-libp2p-kad-dht/interfaces/AddPeerEvent.html",
|
|
6
6
|
"DHTRecord": "https://libp2p.github.io/js-libp2p-kad-dht/interfaces/DHTRecord.html",
|
|
7
|
-
"
|
|
7
|
+
"DialPeerEvent": "https://libp2p.github.io/js-libp2p-kad-dht/interfaces/DialPeerEvent.html",
|
|
8
8
|
"DualKadDHT": "https://libp2p.github.io/js-libp2p-kad-dht/interfaces/DualKadDHT.html",
|
|
9
9
|
"FinalPeerEvent": "https://libp2p.github.io/js-libp2p-kad-dht/interfaces/FinalPeerEvent.html",
|
|
10
10
|
"KadDHT": "https://libp2p.github.io/js-libp2p-kad-dht/interfaces/KadDHT.html",
|
|
@@ -16,10 +16,11 @@
|
|
|
16
16
|
"QueryOptions": "https://libp2p.github.io/js-libp2p-kad-dht/interfaces/QueryOptions.html",
|
|
17
17
|
"RoutingTable": "https://libp2p.github.io/js-libp2p-kad-dht/interfaces/RoutingTable.html",
|
|
18
18
|
"SelectFn": "https://libp2p.github.io/js-libp2p-kad-dht/interfaces/SelectFn.html",
|
|
19
|
-
"
|
|
19
|
+
"SendQueryEvent": "https://libp2p.github.io/js-libp2p-kad-dht/interfaces/SendQueryEvent.html",
|
|
20
20
|
"SingleKadDHT": "https://libp2p.github.io/js-libp2p-kad-dht/interfaces/SingleKadDHT.html",
|
|
21
21
|
"ValidateFn": "https://libp2p.github.io/js-libp2p-kad-dht/interfaces/ValidateFn.html",
|
|
22
22
|
"ValueEvent": "https://libp2p.github.io/js-libp2p-kad-dht/interfaces/ValueEvent.html",
|
|
23
|
+
"DHTProgressEvents": "https://libp2p.github.io/js-libp2p-kad-dht/types/DHTProgressEvents.html",
|
|
23
24
|
"MessageName": "https://libp2p.github.io/js-libp2p-kad-dht/types/MessageName.html",
|
|
24
25
|
"QueryEvent": "https://libp2p.github.io/js-libp2p-kad-dht/types/QueryEvent.html",
|
|
25
26
|
"Selectors": "https://libp2p.github.io/js-libp2p-kad-dht/types/Selectors.html",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@libp2p/kad-dht",
|
|
3
|
-
"version": "9.
|
|
3
|
+
"version": "9.2.0",
|
|
4
4
|
"description": "JavaScript implementation of the Kad-DHT for libp2p",
|
|
5
5
|
"license": "Apache-2.0 OR MIT",
|
|
6
6
|
"homepage": "https://github.com/libp2p/js-libp2p-kad-dht#readme",
|
|
@@ -183,6 +183,7 @@
|
|
|
183
183
|
"p-defer": "^4.0.0",
|
|
184
184
|
"p-queue": "^7.3.4",
|
|
185
185
|
"private-ip": "^3.0.0",
|
|
186
|
+
"progress-events": "^1.0.0",
|
|
186
187
|
"protons-runtime": "^5.0.0",
|
|
187
188
|
"uint8arraylist": "^2.0.0",
|
|
188
189
|
"uint8arrays": "^4.0.2",
|
|
@@ -15,13 +15,12 @@ import {
|
|
|
15
15
|
valueEvent,
|
|
16
16
|
queryErrorEvent
|
|
17
17
|
} from '../query/events.js'
|
|
18
|
-
import { createPutRecord,
|
|
18
|
+
import { createPutRecord, bufferToRecordKey } from '../utils.js'
|
|
19
19
|
import type { KadDHTComponents, Validators, Selectors, ValueEvent, QueryOptions, QueryEvent } from '../index.js'
|
|
20
20
|
import type { Network } from '../network.js'
|
|
21
21
|
import type { PeerRouting } from '../peer-routing/index.js'
|
|
22
22
|
import type { QueryManager } from '../query/manager.js'
|
|
23
23
|
import type { QueryFunc } from '../query/types.js'
|
|
24
|
-
import type { RoutingTable } from '../routing-table/index.js'
|
|
25
24
|
import type { AbortOptions } from '@libp2p/interfaces'
|
|
26
25
|
import type { Logger } from '@libp2p/logger'
|
|
27
26
|
|
|
@@ -30,7 +29,6 @@ export interface ContentFetchingInit {
|
|
|
30
29
|
selectors: Selectors
|
|
31
30
|
peerRouting: PeerRouting
|
|
32
31
|
queryManager: QueryManager
|
|
33
|
-
routingTable: RoutingTable
|
|
34
32
|
network: Network
|
|
35
33
|
lan: boolean
|
|
36
34
|
}
|
|
@@ -42,11 +40,10 @@ export class ContentFetching {
|
|
|
42
40
|
private readonly selectors: Selectors
|
|
43
41
|
private readonly peerRouting: PeerRouting
|
|
44
42
|
private readonly queryManager: QueryManager
|
|
45
|
-
private readonly routingTable: RoutingTable
|
|
46
43
|
private readonly network: Network
|
|
47
44
|
|
|
48
45
|
constructor (components: KadDHTComponents, init: ContentFetchingInit) {
|
|
49
|
-
const { validators, selectors, peerRouting, queryManager,
|
|
46
|
+
const { validators, selectors, peerRouting, queryManager, network, lan } = init
|
|
50
47
|
|
|
51
48
|
this.components = components
|
|
52
49
|
this.log = logger(`libp2p:kad-dht:${lan ? 'lan' : 'wan'}:content-fetching`)
|
|
@@ -54,7 +51,6 @@ export class ContentFetching {
|
|
|
54
51
|
this.selectors = selectors
|
|
55
52
|
this.peerRouting = peerRouting
|
|
56
53
|
this.queryManager = queryManager
|
|
57
|
-
this.routingTable = routingTable
|
|
58
54
|
this.network = network
|
|
59
55
|
}
|
|
60
56
|
|
|
@@ -125,7 +121,7 @@ export class ContentFetching {
|
|
|
125
121
|
}
|
|
126
122
|
|
|
127
123
|
if (!sentCorrection) {
|
|
128
|
-
yield queryErrorEvent({ from, error: new CodeError('value not put correctly', 'ERR_PUT_VALUE_INVALID') })
|
|
124
|
+
yield queryErrorEvent({ from, error: new CodeError('value not put correctly', 'ERR_PUT_VALUE_INVALID') }, options)
|
|
129
125
|
}
|
|
130
126
|
|
|
131
127
|
this.log.error('Failed error correcting entry')
|
|
@@ -169,7 +165,7 @@ export class ContentFetching {
|
|
|
169
165
|
}
|
|
170
166
|
|
|
171
167
|
if (!(putEvent.record != null && uint8ArrayEquals(putEvent.record.value, Libp2pRecord.deserialize(record).value))) {
|
|
172
|
-
events.push(queryErrorEvent({ from: event.peer.id, error: new CodeError('value not put correctly', 'ERR_PUT_VALUE_INVALID') }))
|
|
168
|
+
events.push(queryErrorEvent({ from: event.peer.id, error: new CodeError('value not put correctly', 'ERR_PUT_VALUE_INVALID') }, options))
|
|
173
169
|
}
|
|
174
170
|
}
|
|
175
171
|
|
|
@@ -244,16 +240,11 @@ export class ContentFetching {
|
|
|
244
240
|
yield valueEvent({
|
|
245
241
|
value: localRec.value,
|
|
246
242
|
from: this.components.peerId
|
|
247
|
-
})
|
|
243
|
+
}, options)
|
|
248
244
|
} catch (err: any) {
|
|
249
245
|
this.log('error getting local value for %b', key, err)
|
|
250
246
|
}
|
|
251
247
|
|
|
252
|
-
const id = await convertBuffer(key)
|
|
253
|
-
const rtp = this.routingTable.closestPeers(id)
|
|
254
|
-
|
|
255
|
-
this.log('found %d peers in routing table', rtp.length)
|
|
256
|
-
|
|
257
248
|
const self = this // eslint-disable-line @typescript-eslint/no-this-alias
|
|
258
249
|
|
|
259
250
|
const getValueQuery: QueryFunc = async function * ({ peer, signal }) {
|
|
@@ -261,12 +252,12 @@ export class ContentFetching {
|
|
|
261
252
|
yield event
|
|
262
253
|
|
|
263
254
|
if (event.name === 'PEER_RESPONSE' && (event.record != null)) {
|
|
264
|
-
yield valueEvent({ from: peer, value: event.record.value })
|
|
255
|
+
yield valueEvent({ from: peer, value: event.record.value }, options)
|
|
265
256
|
}
|
|
266
257
|
}
|
|
267
258
|
}
|
|
268
259
|
|
|
269
260
|
// we have peers, lets send the actual query to them
|
|
270
|
-
yield * this.queryManager.run(key,
|
|
261
|
+
yield * this.queryManager.run(key, getValueQuery, options)
|
|
271
262
|
}
|
|
272
263
|
}
|
|
@@ -9,7 +9,6 @@ import {
|
|
|
9
9
|
peerResponseEvent,
|
|
10
10
|
providerEvent
|
|
11
11
|
} from '../query/events.js'
|
|
12
|
-
import { convertBuffer } from '../utils.js'
|
|
13
12
|
import type { KadDHTComponents, PeerResponseEvent, ProviderEvent, QueryEvent, QueryOptions } from '../index.js'
|
|
14
13
|
import type { Network } from '../network.js'
|
|
15
14
|
import type { PeerRouting } from '../peer-routing/index.js'
|
|
@@ -18,7 +17,6 @@ import type { QueryManager } from '../query/manager.js'
|
|
|
18
17
|
import type { QueryFunc } from '../query/types.js'
|
|
19
18
|
import type { RoutingTable } from '../routing-table/index.js'
|
|
20
19
|
import type { PeerInfo } from '@libp2p/interface-peer-info'
|
|
21
|
-
import type { AbortOptions } from '@libp2p/interfaces'
|
|
22
20
|
import type { Logger } from '@libp2p/logger'
|
|
23
21
|
import type { Multiaddr } from '@multiformats/multiaddr'
|
|
24
22
|
import type { CID } from 'multiformats/cid'
|
|
@@ -57,7 +55,7 @@ export class ContentRouting {
|
|
|
57
55
|
* Announce to the network that we can provide the value for a given key and
|
|
58
56
|
* are contactable on the given multiaddrs
|
|
59
57
|
*/
|
|
60
|
-
async * provide (key: CID, multiaddrs: Multiaddr[], options:
|
|
58
|
+
async * provide (key: CID, multiaddrs: Multiaddr[], options: QueryOptions = {}): AsyncGenerator<QueryEvent, void, undefined> {
|
|
61
59
|
this.log('provide %s', key)
|
|
62
60
|
|
|
63
61
|
// Add peer as provider
|
|
@@ -95,7 +93,7 @@ export class ContentRouting {
|
|
|
95
93
|
}
|
|
96
94
|
} catch (err: any) {
|
|
97
95
|
this.log.error('error sending provide record to peer %p', event.peer.id, err)
|
|
98
|
-
events.push(queryErrorEvent({ from: event.peer.id, error: err }))
|
|
96
|
+
events.push(queryErrorEvent({ from: event.peer.id, error: err }, options))
|
|
99
97
|
}
|
|
100
98
|
|
|
101
99
|
return events
|
|
@@ -126,7 +124,6 @@ export class ContentRouting {
|
|
|
126
124
|
async * findProviders (key: CID, options: QueryOptions): AsyncGenerator<PeerResponseEvent | ProviderEvent | QueryEvent> {
|
|
127
125
|
const toFind = this.routingTable.kBucketSize
|
|
128
126
|
const target = key.multihash.bytes
|
|
129
|
-
const id = await convertBuffer(target)
|
|
130
127
|
const self = this // eslint-disable-line @typescript-eslint/no-this-alias
|
|
131
128
|
|
|
132
129
|
this.log('findProviders %c', key)
|
|
@@ -155,8 +152,8 @@ export class ContentRouting {
|
|
|
155
152
|
}
|
|
156
153
|
}
|
|
157
154
|
|
|
158
|
-
yield peerResponseEvent({ from: this.components.peerId, messageType: MESSAGE_TYPE.GET_PROVIDERS, providers })
|
|
159
|
-
yield providerEvent({ from: this.components.peerId, providers })
|
|
155
|
+
yield peerResponseEvent({ from: this.components.peerId, messageType: MESSAGE_TYPE.GET_PROVIDERS, providers }, options)
|
|
156
|
+
yield providerEvent({ from: this.components.peerId, providers }, options)
|
|
160
157
|
}
|
|
161
158
|
|
|
162
159
|
// All done
|
|
@@ -170,12 +167,15 @@ export class ContentRouting {
|
|
|
170
167
|
const findProvidersQuery: QueryFunc = async function * ({ peer, signal }) {
|
|
171
168
|
const request = new Message(MESSAGE_TYPE.GET_PROVIDERS, target, 0)
|
|
172
169
|
|
|
173
|
-
yield * self.network.sendRequest(peer, request, {
|
|
170
|
+
yield * self.network.sendRequest(peer, request, {
|
|
171
|
+
...options,
|
|
172
|
+
signal
|
|
173
|
+
})
|
|
174
174
|
}
|
|
175
175
|
|
|
176
176
|
const providers = new Set(provs.map(p => p.toString()))
|
|
177
177
|
|
|
178
|
-
for await (const event of this.queryManager.run(target,
|
|
178
|
+
for await (const event of this.queryManager.run(target, findProvidersQuery, options)) {
|
|
179
179
|
yield event
|
|
180
180
|
|
|
181
181
|
if (event.name === 'PEER_RESPONSE') {
|
|
@@ -193,7 +193,7 @@ export class ContentRouting {
|
|
|
193
193
|
}
|
|
194
194
|
|
|
195
195
|
if (newProviders.length > 0) {
|
|
196
|
-
yield providerEvent({ from: event.from, providers: newProviders })
|
|
196
|
+
yield providerEvent({ from: event.from, providers: newProviders }, options)
|
|
197
197
|
}
|
|
198
198
|
|
|
199
199
|
if (providers.size === toFind) {
|
package/src/dual-kad-dht.ts
CHANGED
|
@@ -11,7 +11,6 @@ import { queryErrorEvent } from './query/events.js'
|
|
|
11
11
|
import type { DualKadDHT, KadDHT, KadDHTComponents, KadDHTInit, QueryEvent, QueryOptions } from './index.js'
|
|
12
12
|
import type { PeerId } from '@libp2p/interface-peer-id'
|
|
13
13
|
import type { PeerInfo } from '@libp2p/interface-peer-info'
|
|
14
|
-
import type { AbortOptions } from '@libp2p/interfaces'
|
|
15
14
|
import type { CID } from 'multiformats/cid'
|
|
16
15
|
|
|
17
16
|
const log = logger('libp2p:kad-dht')
|
|
@@ -26,11 +25,11 @@ class DHTContentRouting implements ContentRouting {
|
|
|
26
25
|
this.dht = dht
|
|
27
26
|
}
|
|
28
27
|
|
|
29
|
-
async provide (cid: CID): Promise<void> {
|
|
30
|
-
await drain(this.dht.provide(cid))
|
|
28
|
+
async provide (cid: CID, options: QueryOptions = {}): Promise<void> {
|
|
29
|
+
await drain(this.dht.provide(cid, options))
|
|
31
30
|
}
|
|
32
31
|
|
|
33
|
-
async * findProviders (cid: CID, options:
|
|
32
|
+
async * findProviders (cid: CID, options: QueryOptions = {}): AsyncGenerator<PeerInfo, void, undefined> {
|
|
34
33
|
for await (const event of this.dht.findProviders(cid, options)) {
|
|
35
34
|
if (event.name === 'PROVIDER') {
|
|
36
35
|
yield * event.providers
|
|
@@ -38,11 +37,11 @@ class DHTContentRouting implements ContentRouting {
|
|
|
38
37
|
}
|
|
39
38
|
}
|
|
40
39
|
|
|
41
|
-
async put (key: Uint8Array, value: Uint8Array, options?:
|
|
40
|
+
async put (key: Uint8Array, value: Uint8Array, options?: QueryOptions): Promise<void> {
|
|
42
41
|
await drain(this.dht.put(key, value, options))
|
|
43
42
|
}
|
|
44
43
|
|
|
45
|
-
async get (key: Uint8Array, options?:
|
|
44
|
+
async get (key: Uint8Array, options?: QueryOptions): Promise<Uint8Array> {
|
|
46
45
|
for await (const event of this.dht.get(key, options)) {
|
|
47
46
|
if (event.name === 'VALUE') {
|
|
48
47
|
return event.value
|
|
@@ -63,7 +62,7 @@ class DHTPeerRouting implements PeerRouting {
|
|
|
63
62
|
this.dht = dht
|
|
64
63
|
}
|
|
65
64
|
|
|
66
|
-
async findPeer (peerId: PeerId, options:
|
|
65
|
+
async findPeer (peerId: PeerId, options: QueryOptions = {}): Promise<PeerInfo> {
|
|
67
66
|
for await (const event of this.dht.findPeer(peerId, options)) {
|
|
68
67
|
if (event.name === 'FINAL_PEER') {
|
|
69
68
|
return event.peer
|
|
@@ -73,7 +72,7 @@ class DHTPeerRouting implements PeerRouting {
|
|
|
73
72
|
throw new CodeError('Not found', 'ERR_NOT_FOUND')
|
|
74
73
|
}
|
|
75
74
|
|
|
76
|
-
async * getClosestPeers (key: Uint8Array, options:
|
|
75
|
+
async * getClosestPeers (key: Uint8Array, options: QueryOptions = {}): AsyncIterable<PeerInfo> {
|
|
77
76
|
for await (const event of this.dht.getClosestPeers(key, options)) {
|
|
78
77
|
if (event.name === 'FINAL_PEER') {
|
|
79
78
|
yield event.peer
|
|
@@ -207,7 +206,7 @@ export class DefaultDualKadDHT extends EventEmitter<PeerDiscoveryEvents> impleme
|
|
|
207
206
|
)) {
|
|
208
207
|
yield event
|
|
209
208
|
|
|
210
|
-
if (event.name === '
|
|
209
|
+
if (event.name === 'DIAL_PEER') {
|
|
211
210
|
queriedPeers = true
|
|
212
211
|
}
|
|
213
212
|
|
|
@@ -219,7 +218,7 @@ export class DefaultDualKadDHT extends EventEmitter<PeerDiscoveryEvents> impleme
|
|
|
219
218
|
}
|
|
220
219
|
}
|
|
221
220
|
|
|
222
|
-
if (event.name === '
|
|
221
|
+
if (event.name === 'SEND_QUERY') {
|
|
223
222
|
queriedPeers = true
|
|
224
223
|
}
|
|
225
224
|
}
|
|
@@ -232,7 +231,7 @@ export class DefaultDualKadDHT extends EventEmitter<PeerDiscoveryEvents> impleme
|
|
|
232
231
|
yield queryErrorEvent({
|
|
233
232
|
from: this.components.peerId,
|
|
234
233
|
error: new CodeError('Not found', 'ERR_NOT_FOUND')
|
|
235
|
-
})
|
|
234
|
+
}, options)
|
|
236
235
|
}
|
|
237
236
|
}
|
|
238
237
|
|
|
@@ -241,7 +240,7 @@ export class DefaultDualKadDHT extends EventEmitter<PeerDiscoveryEvents> impleme
|
|
|
241
240
|
/**
|
|
242
241
|
* Announce to the network that we can provide given key's value
|
|
243
242
|
*/
|
|
244
|
-
async * provide (key: CID, options:
|
|
243
|
+
async * provide (key: CID, options: QueryOptions = {}): AsyncGenerator<QueryEvent> {
|
|
245
244
|
let sent = 0
|
|
246
245
|
let success = 0
|
|
247
246
|
const errors = []
|
|
@@ -256,7 +255,7 @@ export class DefaultDualKadDHT extends EventEmitter<PeerDiscoveryEvents> impleme
|
|
|
256
255
|
for await (const event of merge(...dhts.map(dht => dht.provide(key, options)))) {
|
|
257
256
|
yield event
|
|
258
257
|
|
|
259
|
-
if (event.name === '
|
|
258
|
+
if (event.name === 'SEND_QUERY') {
|
|
260
259
|
sent++
|
|
261
260
|
}
|
|
262
261
|
|
|
@@ -304,7 +303,7 @@ export class DefaultDualKadDHT extends EventEmitter<PeerDiscoveryEvents> impleme
|
|
|
304
303
|
)) {
|
|
305
304
|
yield event
|
|
306
305
|
|
|
307
|
-
if (event.name === '
|
|
306
|
+
if (event.name === 'SEND_QUERY' || event.name === 'FINAL_PEER') {
|
|
308
307
|
queriedPeers = true
|
|
309
308
|
}
|
|
310
309
|
}
|
package/src/index.ts
CHANGED
|
@@ -10,19 +10,20 @@ import type { Registrar } from '@libp2p/interface-registrar'
|
|
|
10
10
|
import type { AbortOptions } from '@libp2p/interfaces'
|
|
11
11
|
import type { Datastore } from 'interface-datastore'
|
|
12
12
|
import type { CID } from 'multiformats/cid'
|
|
13
|
+
import type { ProgressOptions, ProgressEvent } from 'progress-events'
|
|
13
14
|
|
|
14
15
|
/**
|
|
15
16
|
* The types of events emitted during DHT queries
|
|
16
17
|
*/
|
|
17
18
|
export enum EventTypes {
|
|
18
|
-
|
|
19
|
+
SEND_QUERY = 0,
|
|
19
20
|
PEER_RESPONSE,
|
|
20
21
|
FINAL_PEER,
|
|
21
22
|
QUERY_ERROR,
|
|
22
23
|
PROVIDER,
|
|
23
24
|
VALUE,
|
|
24
|
-
|
|
25
|
-
|
|
25
|
+
ADD_PEER,
|
|
26
|
+
DIAL_PEER
|
|
26
27
|
}
|
|
27
28
|
|
|
28
29
|
/**
|
|
@@ -45,17 +46,27 @@ export interface DHTRecord {
|
|
|
45
46
|
timeReceived?: Date
|
|
46
47
|
}
|
|
47
48
|
|
|
48
|
-
export
|
|
49
|
+
export type DHTProgressEvents =
|
|
50
|
+
ProgressEvent<'kad-dht:query:send-query', SendQueryEvent> |
|
|
51
|
+
ProgressEvent<'kad-dht:query:peer-response', PeerResponseEvent> |
|
|
52
|
+
ProgressEvent<'kad-dht:query:final-peer', FinalPeerEvent> |
|
|
53
|
+
ProgressEvent<'kad-dht:query:query-error', QueryErrorEvent> |
|
|
54
|
+
ProgressEvent<'kad-dht:query:provider', ProviderEvent> |
|
|
55
|
+
ProgressEvent<'kad-dht:query:value', ValueEvent> |
|
|
56
|
+
ProgressEvent<'kad-dht:query:add-peer', AddPeerEvent> |
|
|
57
|
+
ProgressEvent<'kad-dht:query:dial-peer', DialPeerEvent>
|
|
58
|
+
|
|
59
|
+
export interface QueryOptions extends AbortOptions, ProgressOptions {
|
|
49
60
|
queryFuncTimeout?: number
|
|
50
61
|
}
|
|
51
62
|
|
|
52
63
|
/**
|
|
53
64
|
* Emitted when sending queries to remote peers
|
|
54
65
|
*/
|
|
55
|
-
export interface
|
|
66
|
+
export interface SendQueryEvent {
|
|
56
67
|
to: PeerId
|
|
57
|
-
type: EventTypes.
|
|
58
|
-
name: '
|
|
68
|
+
type: EventTypes.SEND_QUERY
|
|
69
|
+
name: 'SEND_QUERY'
|
|
59
70
|
messageName: keyof typeof MessageType
|
|
60
71
|
messageType: MessageType
|
|
61
72
|
}
|
|
@@ -118,22 +129,22 @@ export interface ValueEvent {
|
|
|
118
129
|
/**
|
|
119
130
|
* Emitted when peers are added to a query
|
|
120
131
|
*/
|
|
121
|
-
export interface
|
|
122
|
-
type: EventTypes.
|
|
123
|
-
name: '
|
|
132
|
+
export interface AddPeerEvent {
|
|
133
|
+
type: EventTypes.ADD_PEER
|
|
134
|
+
name: 'ADD_PEER'
|
|
124
135
|
peer: PeerId
|
|
125
136
|
}
|
|
126
137
|
|
|
127
138
|
/**
|
|
128
139
|
* Emitted when peers are dialled as part of a query
|
|
129
140
|
*/
|
|
130
|
-
export interface
|
|
141
|
+
export interface DialPeerEvent {
|
|
131
142
|
peer: PeerId
|
|
132
|
-
type: EventTypes.
|
|
133
|
-
name: '
|
|
143
|
+
type: EventTypes.DIAL_PEER
|
|
144
|
+
name: 'DIAL_PEER'
|
|
134
145
|
}
|
|
135
146
|
|
|
136
|
-
export type QueryEvent =
|
|
147
|
+
export type QueryEvent = SendQueryEvent | PeerResponseEvent | FinalPeerEvent | QueryErrorEvent | ProviderEvent | ValueEvent | AddPeerEvent | DialPeerEvent
|
|
137
148
|
|
|
138
149
|
export interface RoutingTable {
|
|
139
150
|
size: number
|
package/src/kad-dht.ts
CHANGED
|
@@ -131,7 +131,8 @@ export class DefaultKadDHT extends EventEmitter<PeerDiscoveryEvents> implements
|
|
|
131
131
|
// Number of disjoint query paths to use - This is set to `kBucketSize/2` per the S/Kademlia paper
|
|
132
132
|
disjointPaths: Math.ceil(this.kBucketSize / 2),
|
|
133
133
|
lan,
|
|
134
|
-
initialQuerySelfHasRun
|
|
134
|
+
initialQuerySelfHasRun,
|
|
135
|
+
routingTable: this.routingTable
|
|
135
136
|
})
|
|
136
137
|
|
|
137
138
|
// DHT components
|
|
@@ -147,7 +148,6 @@ export class DefaultKadDHT extends EventEmitter<PeerDiscoveryEvents> implements
|
|
|
147
148
|
selectors: this.selectors,
|
|
148
149
|
peerRouting: this.peerRouting,
|
|
149
150
|
queryManager: this.queryManager,
|
|
150
|
-
routingTable: this.routingTable,
|
|
151
151
|
network: this.network,
|
|
152
152
|
lan: this.lan
|
|
153
153
|
})
|
package/src/network.ts
CHANGED
|
@@ -8,12 +8,12 @@ import * as lp from 'it-length-prefixed'
|
|
|
8
8
|
import { pipe } from 'it-pipe'
|
|
9
9
|
import { Message } from './message/index.js'
|
|
10
10
|
import {
|
|
11
|
-
|
|
12
|
-
|
|
11
|
+
dialPeerEvent,
|
|
12
|
+
sendQueryEvent,
|
|
13
13
|
peerResponseEvent,
|
|
14
14
|
queryErrorEvent
|
|
15
15
|
} from './query/events.js'
|
|
16
|
-
import type { KadDHTComponents, QueryEvent } from './index.js'
|
|
16
|
+
import type { KadDHTComponents, QueryEvent, QueryOptions } from './index.js'
|
|
17
17
|
import type { Stream } from '@libp2p/interface-connection'
|
|
18
18
|
import type { PeerId } from '@libp2p/interface-peer-id'
|
|
19
19
|
import type { PeerInfo } from '@libp2p/interface-peer-info'
|
|
@@ -82,14 +82,14 @@ export class Network extends EventEmitter<NetworkEvents> implements Startable {
|
|
|
82
82
|
/**
|
|
83
83
|
* Send a request and record RTT for latency measurements
|
|
84
84
|
*/
|
|
85
|
-
async * sendRequest (to: PeerId, msg: Message, options:
|
|
85
|
+
async * sendRequest (to: PeerId, msg: Message, options: QueryOptions = {}): AsyncGenerator<QueryEvent> {
|
|
86
86
|
if (!this.running) {
|
|
87
87
|
return
|
|
88
88
|
}
|
|
89
89
|
|
|
90
90
|
this.log('sending %s to %p', msg.type, to)
|
|
91
|
-
yield
|
|
92
|
-
yield
|
|
91
|
+
yield dialPeerEvent({ peer: to }, options)
|
|
92
|
+
yield sendQueryEvent({ to, type: msg.type }, options)
|
|
93
93
|
|
|
94
94
|
let stream: Stream | undefined
|
|
95
95
|
|
|
@@ -105,9 +105,9 @@ export class Network extends EventEmitter<NetworkEvents> implements Startable {
|
|
|
105
105
|
closer: response.closerPeers,
|
|
106
106
|
providers: response.providerPeers,
|
|
107
107
|
record: response.record
|
|
108
|
-
})
|
|
108
|
+
}, options)
|
|
109
109
|
} catch (err: any) {
|
|
110
|
-
yield queryErrorEvent({ from: to, error: err })
|
|
110
|
+
yield queryErrorEvent({ from: to, error: err }, options)
|
|
111
111
|
} finally {
|
|
112
112
|
if (stream != null) {
|
|
113
113
|
stream.close()
|
|
@@ -118,14 +118,14 @@ export class Network extends EventEmitter<NetworkEvents> implements Startable {
|
|
|
118
118
|
/**
|
|
119
119
|
* Sends a message without expecting an answer
|
|
120
120
|
*/
|
|
121
|
-
async * sendMessage (to: PeerId, msg: Message, options:
|
|
121
|
+
async * sendMessage (to: PeerId, msg: Message, options: QueryOptions = {}): AsyncGenerator<QueryEvent> {
|
|
122
122
|
if (!this.running) {
|
|
123
123
|
return
|
|
124
124
|
}
|
|
125
125
|
|
|
126
126
|
this.log('sending %s to %p', msg.type, to)
|
|
127
|
-
yield
|
|
128
|
-
yield
|
|
127
|
+
yield dialPeerEvent({ peer: to }, options)
|
|
128
|
+
yield sendQueryEvent({ to, type: msg.type }, options)
|
|
129
129
|
|
|
130
130
|
let stream: Stream | undefined
|
|
131
131
|
|
|
@@ -135,9 +135,9 @@ export class Network extends EventEmitter<NetworkEvents> implements Startable {
|
|
|
135
135
|
|
|
136
136
|
await this._writeMessage(stream, msg.serialize(), options)
|
|
137
137
|
|
|
138
|
-
yield peerResponseEvent({ from: to, messageType: msg.type })
|
|
138
|
+
yield peerResponseEvent({ from: to, messageType: msg.type }, options)
|
|
139
139
|
} catch (err: any) {
|
|
140
|
-
yield queryErrorEvent({ from: to, error: err })
|
|
140
|
+
yield queryErrorEvent({ from: to, error: err }, options)
|
|
141
141
|
} finally {
|
|
142
142
|
if (stream != null) {
|
|
143
143
|
stream.close()
|