@libp2p/kad-dht 12.0.15 → 12.0.16-1cd5aae11
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 +4 -4
- package/dist/src/constants.d.ts.map +1 -1
- package/dist/src/constants.js +1 -1
- package/dist/src/constants.js.map +1 -1
- package/dist/src/content-routing/index.d.ts.map +1 -1
- package/dist/src/content-routing/index.js +3 -2
- package/dist/src/content-routing/index.js.map +1 -1
- package/dist/src/index.d.ts +34 -1
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js.map +1 -1
- package/dist/src/network.d.ts +3 -0
- package/dist/src/network.d.ts.map +1 -1
- package/dist/src/network.js +33 -8
- package/dist/src/network.js.map +1 -1
- package/dist/src/peer-list/peer-distance-list.d.ts +13 -4
- package/dist/src/peer-list/peer-distance-list.d.ts.map +1 -1
- package/dist/src/peer-list/peer-distance-list.js +29 -21
- package/dist/src/peer-list/peer-distance-list.js.map +1 -1
- package/dist/src/peer-routing/index.d.ts +5 -5
- package/dist/src/peer-routing/index.d.ts.map +1 -1
- package/dist/src/peer-routing/index.js +15 -24
- package/dist/src/peer-routing/index.js.map +1 -1
- package/dist/src/query/manager.d.ts +3 -0
- package/dist/src/query/manager.d.ts.map +1 -1
- package/dist/src/query/manager.js +14 -5
- package/dist/src/query/manager.js.map +1 -1
- package/dist/src/query/query-path.d.ts +6 -6
- package/dist/src/query/query-path.d.ts.map +1 -1
- package/dist/src/query/query-path.js +32 -20
- package/dist/src/query/query-path.js.map +1 -1
- package/dist/src/routing-table/index.d.ts +11 -5
- package/dist/src/routing-table/index.d.ts.map +1 -1
- package/dist/src/routing-table/index.js +84 -42
- package/dist/src/routing-table/index.js.map +1 -1
- package/dist/src/routing-table/k-bucket.d.ts +80 -115
- package/dist/src/routing-table/k-bucket.d.ts.map +1 -1
- package/dist/src/routing-table/k-bucket.js +165 -311
- package/dist/src/routing-table/k-bucket.js.map +1 -1
- package/dist/src/routing-table/refresh.d.ts.map +1 -1
- package/dist/src/routing-table/refresh.js +9 -4
- package/dist/src/routing-table/refresh.js.map +1 -1
- package/package.json +14 -16
- package/src/constants.ts +1 -1
- package/src/content-routing/index.ts +3 -2
- package/src/index.ts +37 -1
- package/src/network.ts +38 -9
- package/src/peer-list/peer-distance-list.ts +36 -25
- package/src/peer-routing/index.ts +19 -28
- package/src/query/manager.ts +18 -5
- package/src/query/query-path.ts +46 -30
- package/src/routing-table/index.ts +100 -46
- package/src/routing-table/k-bucket.ts +214 -359
- package/src/routing-table/refresh.ts +10 -4
- package/dist/src/query/utils.d.ts +0 -6
- package/dist/src/query/utils.d.ts.map +0 -1
- package/dist/src/query/utils.js +0 -53
- package/dist/src/query/utils.js.map +0 -1
- package/dist/typedoc-urls.json +0 -55
- package/src/query/utils.ts +0 -64
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/peer-routing/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/peer-routing/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,6 +2,7 @@ import type { QueryFunc } from './types.js';
|
|
|
2
2
|
import type { QueryEvent } from '../index.js';
|
|
3
3
|
import type { RoutingTable } from '../routing-table/index.js';
|
|
4
4
|
import type { ComponentLogger, Metrics, PeerId, RoutingOptions, Startable } from '@libp2p/interface';
|
|
5
|
+
import type { ConnectionManager } from '@libp2p/interface-internal';
|
|
5
6
|
import type { DeferredPromise } from 'p-defer';
|
|
6
7
|
export interface CleanUpEvents {
|
|
7
8
|
'cleanup': CustomEvent;
|
|
@@ -17,6 +18,7 @@ export interface QueryManagerComponents {
|
|
|
17
18
|
peerId: PeerId;
|
|
18
19
|
metrics?: Metrics;
|
|
19
20
|
logger: ComponentLogger;
|
|
21
|
+
connectionManager: ConnectionManager;
|
|
20
22
|
}
|
|
21
23
|
export interface QueryOptions extends RoutingOptions {
|
|
22
24
|
/**
|
|
@@ -36,6 +38,7 @@ export declare class QueryManager implements Startable {
|
|
|
36
38
|
private queries;
|
|
37
39
|
private readonly logger;
|
|
38
40
|
private readonly peerId;
|
|
41
|
+
private readonly connectionManager;
|
|
39
42
|
private readonly routingTable;
|
|
40
43
|
private initialQuerySelfHasRun?;
|
|
41
44
|
private readonly logPrefix;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../../src/query/manager.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AAC3C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAC7C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AAC7D,OAAO,KAAK,EAAE,eAAe,EAAU,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAC5G,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAE9C,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE,WAAW,CAAA;CACvB;AAED,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,MAAM,CAAA;IACjB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,sBAAsB,EAAE,eAAe,CAAC,IAAI,CAAC,CAAA;IAC7C,YAAY,EAAE,YAAY,CAAA;CAC3B;AAED,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,MAAM,EAAE,eAAe,CAAA;
|
|
1
|
+
{"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../../src/query/manager.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AAC3C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAC7C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AAC7D,OAAO,KAAK,EAAE,eAAe,EAAU,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAC5G,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAA;AACnE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAE9C,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE,WAAW,CAAA;CACvB;AAED,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,MAAM,CAAA;IACjB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,sBAAsB,EAAE,eAAe,CAAC,IAAI,CAAC,CAAA;IAC7C,YAAY,EAAE,YAAY,CAAA;CAC3B;AAED,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,MAAM,EAAE,eAAe,CAAA;IACvB,iBAAiB,EAAE,iBAAiB,CAAA;CACrC;AAED,MAAM,WAAW,YAAa,SAAQ,cAAc;IAClD;;OAEG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAA;IAEzB,WAAW,CAAC,EAAE,OAAO,CAAA;CACtB;AAED;;GAEG;AACH,qBAAa,YAAa,YAAW,SAAS;IACrC,aAAa,EAAE,MAAM,CAAA;IAC5B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAQ;IAC9B,OAAO,CAAC,kBAAkB,CAAiB;IAC3C,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,OAAO,CAAQ;IACvB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAiB;IACxC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAQ;IAC/B,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAmB;IACrD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAc;IAC3C,OAAO,CAAC,sBAAsB,CAAC,CAAuB;IACtD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAQ;IAClC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAGxB;gBAEY,UAAU,EAAE,sBAAsB,EAAE,IAAI,EAAE,gBAAgB;IA2BvE,SAAS,IAAK,OAAO;IAIrB;;OAEG;IACG,KAAK,IAAK,OAAO,CAAC,IAAI,CAAC;IAS7B;;OAEG;IACG,IAAI,IAAK,OAAO,CAAC,IAAI,CAAC;IAMpB,GAAG,CAAE,GAAG,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,GAAE,YAAiB,GAAG,cAAc,CAAC,UAAU,CAAC;CAkI5G"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { setMaxListeners } from '@libp2p/interface';
|
|
2
2
|
import { PeerSet } from '@libp2p/peer-collections';
|
|
3
3
|
import { anySignal } from 'any-signal';
|
|
4
4
|
import merge from 'it-merge';
|
|
@@ -18,6 +18,7 @@ export class QueryManager {
|
|
|
18
18
|
queries;
|
|
19
19
|
logger;
|
|
20
20
|
peerId;
|
|
21
|
+
connectionManager;
|
|
21
22
|
routingTable;
|
|
22
23
|
initialQuerySelfHasRun;
|
|
23
24
|
logPrefix;
|
|
@@ -33,6 +34,7 @@ export class QueryManager {
|
|
|
33
34
|
this.routingTable = init.routingTable;
|
|
34
35
|
this.logger = components.logger;
|
|
35
36
|
this.peerId = components.peerId;
|
|
37
|
+
this.connectionManager = components.connectionManager;
|
|
36
38
|
if (components.metrics != null) {
|
|
37
39
|
this.metrics = {
|
|
38
40
|
runningQueries: components.metrics.registerMetric(`${logPrefix.replaceAll(':', '_')}_running_queries`),
|
|
@@ -94,7 +96,6 @@ export class QueryManager {
|
|
|
94
96
|
const log = this.logger.forComponent(`${this.logPrefix}:query:` + uint8ArrayToString(key, 'base58btc'));
|
|
95
97
|
// query a subset of peers up to `kBucketSize / 2` in length
|
|
96
98
|
const startTime = Date.now();
|
|
97
|
-
const cleanUp = new TypedEventEmitter();
|
|
98
99
|
let queryFinished = false;
|
|
99
100
|
try {
|
|
100
101
|
if (options.isSelfQuery !== true && this.initialQuerySelfHasRun != null) {
|
|
@@ -125,11 +126,11 @@ export class QueryManager {
|
|
|
125
126
|
pathIndex: index,
|
|
126
127
|
numPaths: peersToQuery.length,
|
|
127
128
|
alpha: this.alpha,
|
|
128
|
-
cleanUp,
|
|
129
129
|
queryFuncTimeout: options.queryFuncTimeout,
|
|
130
130
|
log,
|
|
131
131
|
peersSeen,
|
|
132
|
-
onProgress: options.onProgress
|
|
132
|
+
onProgress: options.onProgress,
|
|
133
|
+
connectionManager: this.connectionManager
|
|
133
134
|
});
|
|
134
135
|
});
|
|
135
136
|
// Execute the query along each disjoint path and yield their results as they become available
|
|
@@ -137,6 +138,15 @@ export class QueryManager {
|
|
|
137
138
|
if (event.name === 'QUERY_ERROR') {
|
|
138
139
|
log.error('query error', event.error);
|
|
139
140
|
}
|
|
141
|
+
if (event.name === 'PEER_RESPONSE') {
|
|
142
|
+
for (const peer of [...event.closer, ...event.providers]) {
|
|
143
|
+
// eslint-disable-next-line max-depth
|
|
144
|
+
if (!(await this.connectionManager.isDialable(peer.multiaddrs))) {
|
|
145
|
+
continue;
|
|
146
|
+
}
|
|
147
|
+
await this.routingTable.add(peer.id);
|
|
148
|
+
}
|
|
149
|
+
}
|
|
140
150
|
yield event;
|
|
141
151
|
}
|
|
142
152
|
queryFinished = true;
|
|
@@ -160,7 +170,6 @@ export class QueryManager {
|
|
|
160
170
|
if (stopQueryTimer != null) {
|
|
161
171
|
stopQueryTimer();
|
|
162
172
|
}
|
|
163
|
-
cleanUp.dispatchEvent(new CustomEvent('cleanup'));
|
|
164
173
|
log('query:done in %dms', Date.now() - startTime);
|
|
165
174
|
}
|
|
166
175
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manager.js","sourceRoot":"","sources":["../../../src/query/manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"manager.js","sourceRoot":"","sources":["../../../src/query/manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import type { CleanUpEvents } from './manager.js';
|
|
2
1
|
import type { QueryEvent } from '../index.js';
|
|
3
2
|
import type { QueryFunc } from '../query/types.js';
|
|
4
|
-
import type { Logger,
|
|
3
|
+
import type { Logger, PeerId, RoutingOptions } from '@libp2p/interface';
|
|
4
|
+
import type { ConnectionManager } from '@libp2p/interface-internal';
|
|
5
5
|
import type { PeerSet } from '@libp2p/peer-collections';
|
|
6
6
|
export interface QueryPathOptions extends RoutingOptions {
|
|
7
7
|
/**
|
|
@@ -36,10 +36,6 @@ export interface QueryPathOptions extends RoutingOptions {
|
|
|
36
36
|
* How many concurrent node/value lookups to run
|
|
37
37
|
*/
|
|
38
38
|
numPaths: number;
|
|
39
|
-
/**
|
|
40
|
-
* will emit a 'cleanup' event if the caller exits the for..await of early
|
|
41
|
-
*/
|
|
42
|
-
cleanUp: TypedEventTarget<CleanUpEvents>;
|
|
43
39
|
/**
|
|
44
40
|
* A timeout for queryFunc in ms
|
|
45
41
|
*/
|
|
@@ -52,6 +48,10 @@ export interface QueryPathOptions extends RoutingOptions {
|
|
|
52
48
|
* Set of peers seen by this and other paths
|
|
53
49
|
*/
|
|
54
50
|
peersSeen: PeerSet;
|
|
51
|
+
/**
|
|
52
|
+
* The libp2p connection manager
|
|
53
|
+
*/
|
|
54
|
+
connectionManager: ConnectionManager;
|
|
55
55
|
}
|
|
56
56
|
/**
|
|
57
57
|
* Walks a path through the DHT, calling the passed query function for
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"query-path.d.ts","sourceRoot":"","sources":["../../../src/query/query-path.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"query-path.d.ts","sourceRoot":"","sources":["../../../src/query/query-path.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAC7C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAClD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,cAAc,EAAgB,MAAM,mBAAmB,CAAA;AACrF,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAA;AACnE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAA;AAEvD,MAAM,WAAW,gBAAiB,SAAQ,cAAc;IACtD;;OAEG;IACH,GAAG,EAAE,UAAU,CAAA;IAEf;;OAEG;IACH,YAAY,EAAE,MAAM,CAAA;IAEpB;;OAEG;IACH,SAAS,EAAE,MAAM,CAAA;IAEjB;;OAEG;IACH,MAAM,EAAE,WAAW,CAAA;IAEnB;;OAEG;IACH,KAAK,EAAE,SAAS,CAAA;IAEhB;;OAEG;IACH,KAAK,EAAE,MAAM,CAAA;IAEb;;OAEG;IACH,SAAS,EAAE,MAAM,CAAA;IAEjB;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAA;IAEhB;;OAEG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAA;IAEzB;;OAEG;IACH,GAAG,EAAE,MAAM,CAAA;IAEX;;OAEG;IACH,SAAS,EAAE,OAAO,CAAA;IAElB;;OAEG;IACH,iBAAiB,EAAE,iBAAiB,CAAA;CACrC;AAMD;;;GAGG;AACH,wBAAwB,SAAS,CAAE,OAAO,EAAE,gBAAgB,GAAG,cAAc,CAAC,UAAU,EAAE,IAAI,EAAE,SAAS,CAAC,CAuHzG"}
|
|
@@ -1,22 +1,21 @@
|
|
|
1
|
-
import { setMaxListeners } from '@libp2p/interface';
|
|
1
|
+
import { CodeError, setMaxListeners } from '@libp2p/interface';
|
|
2
|
+
import { Queue } from '@libp2p/utils/queue';
|
|
2
3
|
import { anySignal } from 'any-signal';
|
|
3
|
-
import
|
|
4
|
-
import {
|
|
5
|
-
import { xor } from 'uint8arrays/xor';
|
|
4
|
+
import { xor as uint8ArrayXor } from 'uint8arrays/xor';
|
|
5
|
+
import { xorCompare as uint8ArrayXorCompare } from 'uint8arrays/xor-compare';
|
|
6
6
|
import { convertPeerId, convertBuffer } from '../utils.js';
|
|
7
7
|
import { queryErrorEvent } from './events.js';
|
|
8
|
-
import { queueToGenerator } from './utils.js';
|
|
9
|
-
const MAX_XOR = BigInt('0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF');
|
|
10
8
|
/**
|
|
11
9
|
* Walks a path through the DHT, calling the passed query function for
|
|
12
10
|
* every peer encountered that we have not seen before
|
|
13
11
|
*/
|
|
14
12
|
export async function* queryPath(options) {
|
|
15
|
-
const { key, startingPeer, ourPeerId, signal, query, alpha, pathIndex, numPaths,
|
|
13
|
+
const { key, startingPeer, ourPeerId, signal, query, alpha, pathIndex, numPaths, queryFuncTimeout, log, peersSeen, connectionManager } = options;
|
|
16
14
|
// Only ALPHA node/value lookups are allowed at any given time for each process
|
|
17
15
|
// https://github.com/libp2p/specs/tree/master/kad-dht#alpha-concurrency-parameter-%CE%B1
|
|
18
16
|
const queue = new Queue({
|
|
19
|
-
concurrency: alpha
|
|
17
|
+
concurrency: alpha,
|
|
18
|
+
sort: (a, b) => uint8ArrayXorCompare(a.options.distance, b.options.distance)
|
|
20
19
|
});
|
|
21
20
|
// perform lookups on kadId, not the actual value
|
|
22
21
|
const kadId = await convertBuffer(key);
|
|
@@ -29,7 +28,7 @@ export async function* queryPath(options) {
|
|
|
29
28
|
return;
|
|
30
29
|
}
|
|
31
30
|
peersSeen.add(peer);
|
|
32
|
-
const peerXor =
|
|
31
|
+
const peerXor = uint8ArrayXor(peerKadId, kadId);
|
|
33
32
|
queue.add(async () => {
|
|
34
33
|
const signals = [signal];
|
|
35
34
|
if (queryFuncTimeout != null) {
|
|
@@ -60,10 +59,14 @@ export async function* queryPath(options) {
|
|
|
60
59
|
log('not querying ourselves');
|
|
61
60
|
continue;
|
|
62
61
|
}
|
|
62
|
+
if (!(await connectionManager.isDialable(closerPeer.multiaddrs))) { // eslint-disable-line max-depth
|
|
63
|
+
log('not querying undialable peer');
|
|
64
|
+
continue;
|
|
65
|
+
}
|
|
63
66
|
const closerPeerKadId = await convertPeerId(closerPeer.id);
|
|
64
|
-
const closerPeerXor =
|
|
67
|
+
const closerPeerXor = uint8ArrayXor(closerPeerKadId, kadId);
|
|
65
68
|
// only continue query if closer peer is actually closer
|
|
66
|
-
if (closerPeerXor
|
|
69
|
+
if (uint8ArrayXorCompare(closerPeerXor, peerXor) !== -1) { // eslint-disable-line max-depth
|
|
67
70
|
log('skipping %p as they are not closer to %b than %p', closerPeer.id, key, peer);
|
|
68
71
|
continue;
|
|
69
72
|
}
|
|
@@ -71,7 +74,9 @@ export async function* queryPath(options) {
|
|
|
71
74
|
queryPeer(closerPeer.id, closerPeerKadId);
|
|
72
75
|
}
|
|
73
76
|
}
|
|
74
|
-
queue.
|
|
77
|
+
queue.safeDispatchEvent('completed', {
|
|
78
|
+
detail: event
|
|
79
|
+
});
|
|
75
80
|
}
|
|
76
81
|
}
|
|
77
82
|
catch (err) {
|
|
@@ -86,19 +91,26 @@ export async function* queryPath(options) {
|
|
|
86
91
|
compoundSignal.clear();
|
|
87
92
|
}
|
|
88
93
|
}, {
|
|
89
|
-
|
|
90
|
-
// subtract it from MAX_XOR because higher priority values execute sooner
|
|
91
|
-
// @ts-expect-error this is supposed to be a Number but it's ok to use BigInts
|
|
92
|
-
// as long as all priorities are BigInts since we won't mix BigInts and Number
|
|
93
|
-
// values in arithmetic operations
|
|
94
|
-
priority: MAX_XOR - peerXor
|
|
94
|
+
distance: peerXor
|
|
95
95
|
}).catch(err => {
|
|
96
96
|
log.error(err);
|
|
97
97
|
});
|
|
98
98
|
}
|
|
99
99
|
// begin the query with the starting peer
|
|
100
100
|
queryPeer(startingPeer, await convertPeerId(startingPeer));
|
|
101
|
-
|
|
102
|
-
|
|
101
|
+
try {
|
|
102
|
+
// yield results as they come in
|
|
103
|
+
for await (const event of queue.toGenerator({ signal })) {
|
|
104
|
+
if (event != null) {
|
|
105
|
+
yield event;
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
catch (err) {
|
|
110
|
+
if (signal.aborted) {
|
|
111
|
+
throw new CodeError('Query aborted', 'ERR_QUERY_ABORTED');
|
|
112
|
+
}
|
|
113
|
+
throw err;
|
|
114
|
+
}
|
|
103
115
|
}
|
|
104
116
|
//# sourceMappingURL=query-path.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"query-path.js","sourceRoot":"","sources":["../../../src/query/query-path.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;
|
|
1
|
+
{"version":3,"file":"query-path.js","sourceRoot":"","sources":["../../../src/query/query-path.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,11 +6,14 @@ import type { ConnectionManager } from '@libp2p/interface-internal';
|
|
|
6
6
|
export declare const KAD_CLOSE_TAG_NAME = "kad-close";
|
|
7
7
|
export declare const KAD_CLOSE_TAG_VALUE = 50;
|
|
8
8
|
export declare const KBUCKET_SIZE = 20;
|
|
9
|
+
export declare const PREFIX_LENGTH = 32;
|
|
9
10
|
export declare const PING_TIMEOUT = 10000;
|
|
10
11
|
export declare const PING_CONCURRENCY = 10;
|
|
11
12
|
export interface RoutingTableInit {
|
|
12
13
|
logPrefix: string;
|
|
13
14
|
protocol: string;
|
|
15
|
+
prefixLength?: number;
|
|
16
|
+
splitThreshold?: number;
|
|
14
17
|
kBucketSize?: number;
|
|
15
18
|
pingTimeout?: number;
|
|
16
19
|
pingConcurrency?: number;
|
|
@@ -38,6 +41,8 @@ export declare class RoutingTable extends TypedEventEmitter<RoutingTableEvents>
|
|
|
38
41
|
pingQueue: PeerQueue<boolean>;
|
|
39
42
|
private readonly log;
|
|
40
43
|
private readonly components;
|
|
44
|
+
private readonly prefixLength;
|
|
45
|
+
private readonly splitThreshold;
|
|
41
46
|
private readonly pingTimeout;
|
|
42
47
|
private readonly pingConcurrency;
|
|
43
48
|
private running;
|
|
@@ -75,20 +80,21 @@ export declare class RoutingTable extends TypedEventEmitter<RoutingTableEvents>
|
|
|
75
80
|
*/
|
|
76
81
|
find(peer: PeerId): Promise<PeerId | undefined>;
|
|
77
82
|
/**
|
|
78
|
-
* Retrieve the closest peers to the given
|
|
83
|
+
* Retrieve the closest peers to the given kadId
|
|
79
84
|
*/
|
|
80
|
-
closestPeer(
|
|
85
|
+
closestPeer(kadId: Uint8Array): PeerId | undefined;
|
|
81
86
|
/**
|
|
82
|
-
* Retrieve the `count`-closest peers to the given
|
|
87
|
+
* Retrieve the `count`-closest peers to the given kadId
|
|
83
88
|
*/
|
|
84
|
-
closestPeers(
|
|
89
|
+
closestPeers(kadId: Uint8Array, count?: number): PeerId[];
|
|
85
90
|
/**
|
|
86
91
|
* Add or update the routing table with the given peer
|
|
87
92
|
*/
|
|
88
|
-
add(
|
|
93
|
+
add(peerId: PeerId): Promise<void>;
|
|
89
94
|
/**
|
|
90
95
|
* Remove a given peer from the table
|
|
91
96
|
*/
|
|
92
97
|
remove(peer: PeerId): Promise<void>;
|
|
98
|
+
private updateMetrics;
|
|
93
99
|
}
|
|
94
100
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/routing-table/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AAEhE,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAA;AAIpD,OAAO,EAAE,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/routing-table/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AAEhE,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAA;AAIpD,OAAO,EAAE,OAAO,EAA6B,KAAK,gBAAgB,EAAE,MAAM,eAAe,CAAA;AACzF,OAAO,KAAK,EAAE,eAAe,EAAkB,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAU,MAAM,mBAAmB,CAAA;AACvH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAA;AAEnE,eAAO,MAAM,kBAAkB,cAAc,CAAA;AAC7C,eAAO,MAAM,mBAAmB,KAAK,CAAA;AACrC,eAAO,MAAM,YAAY,KAAK,CAAA;AAC9B,eAAO,MAAM,aAAa,KAAK,CAAA;AAC/B,eAAO,MAAM,YAAY,QAAQ,CAAA;AACjC,eAAO,MAAM,gBAAgB,KAAK,CAAA;AAElC,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,EAAE,MAAM,CAAA;IAChB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,MAAM,CAAA;IACd,SAAS,EAAE,SAAS,CAAA;IACpB,iBAAiB,EAAE,iBAAiB,CAAA;IACpC,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,MAAM,EAAE,eAAe,CAAA;CACxB;AAED,MAAM,WAAW,kBAAkB;IACjC,UAAU,EAAE,WAAW,CAAC,MAAM,CAAC,CAAA;IAC/B,aAAa,EAAE,WAAW,CAAC,MAAM,CAAC,CAAA;CACnC;AAED;;;GAGG;AACH,qBAAa,YAAa,SAAQ,iBAAiB,CAAC,kBAAkB,CAAE,YAAW,SAAS;IACnF,WAAW,EAAE,MAAM,CAAA;IACnB,EAAE,CAAC,EAAE,OAAO,CAAA;IACZ,SAAS,EAAE,SAAS,CAAC,OAAO,CAAC,CAAA;IAEpC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAQ;IAC5B,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAwB;IACnD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAQ;IACrC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAQ;IACvC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAQ;IACpC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAQ;IACxC,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAQ;IACjC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAQ;IAChC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAQ;IACjC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAKxB;gBAEY,UAAU,EAAE,sBAAsB,EAAE,IAAI,EAAE,gBAAgB;IAkCvE,SAAS,IAAK,OAAO;IAIf,KAAK,IAAK,OAAO,CAAC,IAAI,CAAC;IAwCvB,IAAI,IAAK,OAAO,CAAC,IAAI,CAAC;IAM5B;;;;OAIG;IACH,SAAS,CAAE,KAAK,EAAE,OAAO,GAAG,IAAI;IAiDhC;;;;;;;;;OASG;IACG,OAAO,CAAE,GAAG,EAAE,WAAW,CAAC,gBAAgB,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IA6EjE;;OAEG;IACH,IAAI,IAAI,IAAK,MAAM,CAMlB;IAED;;OAEG;IACG,IAAI,CAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAKtD;;OAEG;IACH,WAAW,CAAE,KAAK,EAAE,UAAU,GAAG,MAAM,GAAG,SAAS;IAUnD;;OAEG;IACH,YAAY,CAAE,KAAK,EAAE,UAAU,EAAE,KAAK,SAAmB,GAAG,MAAM,EAAE;IAQpE;;OAEG;IACG,GAAG,CAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAczC;;OAEG;IACG,MAAM,CAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAY1C,OAAO,CAAC,aAAa;CA+BtB"}
|