@libp2p/kad-dht 15.1.2 → 15.1.3-6c42ea64a

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.
Files changed (113) hide show
  1. package/dist/index.min.js +2 -2
  2. package/dist/index.min.js.map +4 -4
  3. package/dist/src/constants.d.ts +2 -0
  4. package/dist/src/constants.d.ts.map +1 -1
  5. package/dist/src/constants.js +4 -0
  6. package/dist/src/constants.js.map +1 -1
  7. package/dist/src/content-fetching/index.d.ts +2 -2
  8. package/dist/src/content-fetching/index.d.ts.map +1 -1
  9. package/dist/src/content-fetching/index.js +6 -6
  10. package/dist/src/content-fetching/index.js.map +1 -1
  11. package/dist/src/content-routing/index.js +3 -3
  12. package/dist/src/content-routing/index.js.map +1 -1
  13. package/dist/src/errors.d.ts +0 -6
  14. package/dist/src/errors.d.ts.map +1 -1
  15. package/dist/src/errors.js +0 -9
  16. package/dist/src/errors.js.map +1 -1
  17. package/dist/src/index.d.ts +24 -5
  18. package/dist/src/index.d.ts.map +1 -1
  19. package/dist/src/index.js.map +1 -1
  20. package/dist/src/kad-dht.d.ts +8 -5
  21. package/dist/src/kad-dht.d.ts.map +1 -1
  22. package/dist/src/kad-dht.js +25 -18
  23. package/dist/src/kad-dht.js.map +1 -1
  24. package/dist/src/network.d.ts +1 -1
  25. package/dist/src/network.d.ts.map +1 -1
  26. package/dist/src/network.js +2 -1
  27. package/dist/src/network.js.map +1 -1
  28. package/dist/src/peer-distance-list.d.ts +4 -4
  29. package/dist/src/peer-distance-list.d.ts.map +1 -1
  30. package/dist/src/peer-distance-list.js +6 -6
  31. package/dist/src/peer-distance-list.js.map +1 -1
  32. package/dist/src/peer-routing/index.d.ts +6 -5
  33. package/dist/src/peer-routing/index.d.ts.map +1 -1
  34. package/dist/src/peer-routing/index.js +21 -32
  35. package/dist/src/peer-routing/index.js.map +1 -1
  36. package/dist/src/providers.d.ts +0 -3
  37. package/dist/src/providers.d.ts.map +1 -1
  38. package/dist/src/providers.js +11 -31
  39. package/dist/src/providers.js.map +1 -1
  40. package/dist/src/query/manager.d.ts.map +1 -1
  41. package/dist/src/query/manager.js +7 -3
  42. package/dist/src/query/manager.js.map +1 -1
  43. package/dist/src/query/query-path.d.ts.map +1 -1
  44. package/dist/src/query/query-path.js +11 -5
  45. package/dist/src/query/query-path.js.map +1 -1
  46. package/dist/src/query-self.d.ts.map +1 -1
  47. package/dist/src/query-self.js +2 -1
  48. package/dist/src/query-self.js.map +1 -1
  49. package/dist/src/record/validators.d.ts +2 -1
  50. package/dist/src/record/validators.d.ts.map +1 -1
  51. package/dist/src/record/validators.js +3 -3
  52. package/dist/src/record/validators.js.map +1 -1
  53. package/dist/src/reprovider.d.ts +1 -4
  54. package/dist/src/reprovider.d.ts.map +1 -1
  55. package/dist/src/reprovider.js +13 -13
  56. package/dist/src/reprovider.js.map +1 -1
  57. package/dist/src/routing-table/index.d.ts +6 -5
  58. package/dist/src/routing-table/index.d.ts.map +1 -1
  59. package/dist/src/routing-table/index.js +72 -44
  60. package/dist/src/routing-table/index.js.map +1 -1
  61. package/dist/src/routing-table/k-bucket.d.ts +20 -8
  62. package/dist/src/routing-table/k-bucket.d.ts.map +1 -1
  63. package/dist/src/routing-table/k-bucket.js +35 -16
  64. package/dist/src/routing-table/k-bucket.js.map +1 -1
  65. package/dist/src/routing-table/refresh.d.ts +5 -5
  66. package/dist/src/routing-table/refresh.d.ts.map +1 -1
  67. package/dist/src/routing-table/refresh.js +21 -15
  68. package/dist/src/routing-table/refresh.js.map +1 -1
  69. package/dist/src/rpc/handlers/find-node.d.ts.map +1 -1
  70. package/dist/src/rpc/handlers/find-node.js +40 -24
  71. package/dist/src/rpc/handlers/find-node.js.map +1 -1
  72. package/dist/src/rpc/handlers/get-providers.js +1 -1
  73. package/dist/src/rpc/handlers/get-providers.js.map +1 -1
  74. package/dist/src/rpc/handlers/get-value.js +1 -1
  75. package/dist/src/rpc/handlers/get-value.js.map +1 -1
  76. package/dist/src/rpc/index.d.ts +2 -1
  77. package/dist/src/rpc/index.d.ts.map +1 -1
  78. package/dist/src/rpc/index.js +50 -19
  79. package/dist/src/rpc/index.js.map +1 -1
  80. package/dist/src/topology-listener.d.ts +1 -1
  81. package/dist/src/topology-listener.d.ts.map +1 -1
  82. package/dist/src/topology-listener.js +1 -1
  83. package/dist/src/topology-listener.js.map +1 -1
  84. package/dist/src/utils.d.ts +3 -3
  85. package/dist/src/utils.d.ts.map +1 -1
  86. package/dist/src/utils.js +4 -3
  87. package/dist/src/utils.js.map +1 -1
  88. package/package.json +18 -18
  89. package/src/constants.ts +6 -0
  90. package/src/content-fetching/index.ts +7 -7
  91. package/src/content-routing/index.ts +3 -3
  92. package/src/errors.ts +0 -10
  93. package/src/index.ts +27 -5
  94. package/src/kad-dht.ts +28 -20
  95. package/src/network.ts +2 -1
  96. package/src/peer-distance-list.ts +7 -7
  97. package/src/peer-routing/index.ts +23 -34
  98. package/src/providers.ts +15 -33
  99. package/src/query/manager.ts +7 -3
  100. package/src/query/query-path.ts +11 -5
  101. package/src/query-self.ts +3 -1
  102. package/src/record/validators.ts +4 -3
  103. package/src/reprovider.ts +13 -16
  104. package/src/routing-table/index.ts +74 -45
  105. package/src/routing-table/k-bucket.ts +54 -20
  106. package/src/routing-table/refresh.ts +21 -16
  107. package/src/rpc/handlers/find-node.ts +41 -27
  108. package/src/rpc/handlers/get-providers.ts +1 -1
  109. package/src/rpc/handlers/get-value.ts +1 -1
  110. package/src/rpc/index.ts +54 -23
  111. package/src/topology-listener.ts +1 -1
  112. package/src/utils.ts +5 -4
  113. package/dist/typedoc-urls.json +0 -63
@@ -1,8 +1,9 @@
1
- import { TypedEventEmitter, setMaxListeners, start, stop } from '@libp2p/interface';
1
+ import { start, stop } from '@libp2p/interface';
2
2
  import { AdaptiveTimeout } from '@libp2p/utils/adaptive-timeout';
3
3
  import { PeerQueue } from '@libp2p/utils/peer-queue';
4
4
  import { anySignal } from 'any-signal';
5
5
  import parallel from 'it-parallel';
6
+ import { TypedEventEmitter, setMaxListeners } from 'main-event';
6
7
  import * as utils from '../utils.js';
7
8
  import { ClosestPeers } from './closest-peers.js';
8
9
  import { KBucket, isLeafBucket } from './k-bucket.js';
@@ -41,6 +42,7 @@ export class RoutingTable extends TypedEventEmitter {
41
42
  peerTagName;
42
43
  peerTagValue;
43
44
  metrics;
45
+ shutdownController;
44
46
  constructor(components, init) {
45
47
  super();
46
48
  this.components = components;
@@ -57,6 +59,7 @@ export class RoutingTable extends TypedEventEmitter {
57
59
  this.peerRemoved = this.peerRemoved.bind(this);
58
60
  this.populateFromDatastoreOnStart = init.populateFromDatastoreOnStart ?? POPULATE_FROM_DATASTORE_ON_START;
59
61
  this.populateFromDatastoreLimit = init.populateFromDatastoreLimit ?? POPULATE_FROM_DATASTORE_LIMIT;
62
+ this.shutdownController = new AbortController();
60
63
  this.pingOldContactQueue = new PeerQueue({
61
64
  concurrency: init.pingOldContactConcurrency ?? PING_OLD_CONTACT_CONCURRENCY,
62
65
  metricName: `${init.metricsPrefix}_ping_old_contact_queue`,
@@ -79,7 +82,7 @@ export class RoutingTable extends TypedEventEmitter {
79
82
  metrics: this.components.metrics,
80
83
  metricName: `${init.metricsPrefix}_routing_table_ping_new_contact_time_milliseconds`
81
84
  });
82
- this.kb = new KBucket({
85
+ this.kb = new KBucket(components, {
83
86
  kBucketSize: init.kBucketSize,
84
87
  prefixLength: init.prefixLength,
85
88
  splitThreshold: init.splitThreshold,
@@ -88,7 +91,8 @@ export class RoutingTable extends TypedEventEmitter {
88
91
  ping: this.pingOldContacts,
89
92
  verify: this.verifyNewContact,
90
93
  onAdd: this.peerAdded,
91
- onRemove: this.peerRemoved
94
+ onRemove: this.peerRemoved,
95
+ metricsPrefix: init.metricsPrefix
92
96
  });
93
97
  this.closestPeerTagger = new ClosestPeers(this.components, {
94
98
  logPrefix: init.logPrefix,
@@ -118,54 +122,68 @@ export class RoutingTable extends TypedEventEmitter {
118
122
  return;
119
123
  }
120
124
  this.running = true;
121
- await start(this.closestPeerTagger);
122
- await this.kb.addSelfPeer(this.components.peerId);
125
+ this.shutdownController = new AbortController();
126
+ await start(this.closestPeerTagger, this.kb);
123
127
  }
124
128
  async afterStart() {
129
+ let peerStorePeers = 0;
125
130
  // do this async to not block startup but iterate serially to not overwhelm
126
131
  // the ping queue
127
132
  Promise.resolve().then(async () => {
128
133
  if (!this.populateFromDatastoreOnStart) {
129
134
  return;
130
135
  }
131
- let peerStorePeers = 0;
132
- // add existing peers from the peer store to routing table
133
- for (const peer of await this.components.peerStore.all({
134
- filters: [(peer) => {
135
- return peer.protocols.includes(this.protocol) && peer.tags.has(KAD_PEER_TAG_NAME);
136
- }],
137
- limit: this.populateFromDatastoreLimit
138
- })) {
139
- if (!this.running) {
140
- // bail if we've been shut down
141
- return;
142
- }
143
- try {
144
- await this.add(peer.id);
145
- peerStorePeers++;
146
- }
147
- catch (err) {
148
- this.log('failed to add peer %p to routing table, removing kad-dht peer tags - %e');
149
- await this.components.peerStore.merge(peer.id, {
150
- tags: {
151
- [this.peerTagName]: undefined
152
- }
153
- });
136
+ const signal = anySignal([
137
+ this.shutdownController.signal,
138
+ AbortSignal.timeout(20_000)
139
+ ]);
140
+ setMaxListeners(Infinity, signal);
141
+ try {
142
+ // add existing peers from the peer store to routing table
143
+ for (const peer of await this.components.peerStore.all({
144
+ filters: [(peer) => {
145
+ return peer.protocols.includes(this.protocol) && peer.tags.has(KAD_PEER_TAG_NAME);
146
+ }],
147
+ limit: this.populateFromDatastoreLimit,
148
+ signal
149
+ })) {
150
+ if (!this.running) {
151
+ // bail if we've been shut down
152
+ return;
153
+ }
154
+ try {
155
+ await this.add(peer.id, {
156
+ signal
157
+ });
158
+ peerStorePeers++;
159
+ }
160
+ catch (err) {
161
+ this.log('failed to add peer %p to routing table, removing kad-dht peer tags - %e');
162
+ await this.components.peerStore.merge(peer.id, {
163
+ tags: {
164
+ [this.peerTagName]: undefined
165
+ }
166
+ });
167
+ }
154
168
  }
155
169
  }
170
+ finally {
171
+ signal.clear();
172
+ }
156
173
  this.log('added %d peer store peers to the routing table', peerStorePeers);
157
174
  })
158
175
  .catch(err => {
159
- this.log.error('error adding peer store peers to the routing table %e', err);
176
+ this.log.error('error adding %d, peer store peers to the routing table - %e', peerStorePeers, err);
160
177
  });
161
178
  }
162
179
  async stop() {
163
180
  this.running = false;
164
- await stop(this.closestPeerTagger);
181
+ await stop(this.closestPeerTagger, this.kb);
165
182
  this.pingOldContactQueue.abort();
166
183
  this.pingNewContactQueue.abort();
184
+ this.shutdownController.abort();
167
185
  }
168
- async peerAdded(peer, bucket) {
186
+ async peerAdded(peer, bucket, options) {
169
187
  if (!this.components.peerId.equals(peer.peerId)) {
170
188
  await this.components.peerStore.merge(peer.peerId, {
171
189
  tags: {
@@ -173,19 +191,19 @@ export class RoutingTable extends TypedEventEmitter {
173
191
  value: this.peerTagValue
174
192
  }
175
193
  }
176
- });
194
+ }, options);
177
195
  }
178
196
  this.updateMetrics();
179
197
  this.metrics?.kadBucketEvents.increment({ peer_added: true });
180
198
  this.safeDispatchEvent('peer:add', { detail: peer.peerId });
181
199
  }
182
- async peerRemoved(peer, bucket) {
200
+ async peerRemoved(peer, bucket, options) {
183
201
  if (!this.components.peerId.equals(peer.peerId)) {
184
202
  await this.components.peerStore.merge(peer.peerId, {
185
203
  tags: {
186
204
  [this.peerTagName]: undefined
187
205
  }
188
- });
206
+ }, options);
189
207
  }
190
208
  this.updateMetrics();
191
209
  this.metrics?.kadBucketEvents.increment({ peer_removed: true });
@@ -225,7 +243,11 @@ export class RoutingTable extends TypedEventEmitter {
225
243
  }
226
244
  const result = await this.pingOldContactQueue.add(async (options) => {
227
245
  const signal = this.pingOldContactTimeout.getTimeoutSignal();
228
- const signals = anySignal([signal, options?.signal]);
246
+ const signals = anySignal([
247
+ signal,
248
+ this.shutdownController.signal,
249
+ options?.signal
250
+ ]);
229
251
  setMaxListeners(Infinity, signal, signals);
230
252
  try {
231
253
  return await this.pingContact(oldContact, options);
@@ -255,7 +277,11 @@ export class RoutingTable extends TypedEventEmitter {
255
277
  }
256
278
  async verifyNewContact(contact, options) {
257
279
  const signal = this.pingNewContactTimeout.getTimeoutSignal();
258
- const signals = anySignal([signal, options?.signal]);
280
+ const signals = anySignal([
281
+ signal,
282
+ this.shutdownController.signal,
283
+ options?.signal
284
+ ]);
259
285
  setMaxListeners(Infinity, signal, signals);
260
286
  try {
261
287
  const job = this.pingNewContactQueue.find(contact.peerId);
@@ -315,15 +341,17 @@ export class RoutingTable extends TypedEventEmitter {
315
341
  /**
316
342
  * Find a specific peer by id
317
343
  */
318
- async find(peer) {
319
- const kadId = await utils.convertPeerId(peer);
344
+ async find(peer, options) {
345
+ const kadId = await utils.convertPeerId(peer, options);
320
346
  return this.kb.get(kadId)?.peerId;
321
347
  }
322
348
  /**
323
349
  * Retrieve the closest peers to the given kadId
324
350
  */
325
351
  closestPeer(kadId) {
326
- const res = this.closestPeers(kadId, 1);
352
+ const res = this.closestPeers(kadId, {
353
+ count: 1
354
+ });
327
355
  if (res.length > 0) {
328
356
  return res[0];
329
357
  }
@@ -332,11 +360,11 @@ export class RoutingTable extends TypedEventEmitter {
332
360
  /**
333
361
  * Retrieve the `count`-closest peers to the given kadId
334
362
  */
335
- closestPeers(kadId, count = this.kBucketSize) {
363
+ closestPeers(kadId, options) {
336
364
  if (this.kb == null) {
337
365
  return [];
338
366
  }
339
- return [...this.kb.closest(kadId, count)];
367
+ return [...this.kb.closest(kadId, options)];
340
368
  }
341
369
  /**
342
370
  * Add or update the routing table with the given peer
@@ -350,12 +378,12 @@ export class RoutingTable extends TypedEventEmitter {
350
378
  /**
351
379
  * Remove a given peer from the table
352
380
  */
353
- async remove(peer) {
381
+ async remove(peer, options) {
354
382
  if (this.kb == null) {
355
383
  throw new Error('RoutingTable is not started');
356
384
  }
357
- const kadId = await utils.convertPeerId(peer);
358
- await this.kb.remove(kadId);
385
+ const kadId = await utils.convertPeerId(peer, options);
386
+ await this.kb.remove(kadId, options);
359
387
  }
360
388
  updateMetrics() {
361
389
  if (this.metrics == null || this.kb == null) {
@@ -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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"}
@@ -1,4 +1,4 @@
1
- import type { PeerId, AbortOptions } from '@libp2p/interface';
1
+ import type { PeerId, AbortOptions, Metrics } from '@libp2p/interface';
2
2
  export interface PingFunction {
3
3
  /**
4
4
  * Return either none or at least one contact that does not respond to a ping
@@ -17,19 +17,23 @@ export interface OnAddCallback {
17
17
  /**
18
18
  * Invoked when a new peer is added to the routing tables
19
19
  */
20
- (peer: Peer, bucket: LeafBucket): Promise<void>;
20
+ (peer: Peer, bucket: LeafBucket, options?: AbortOptions): Promise<void>;
21
21
  }
22
22
  export interface OnRemoveCallback {
23
23
  /**
24
24
  * Invoked when a peer is evicted from the routing tables
25
25
  */
26
- (peer: Peer, bucket: LeafBucket): Promise<void>;
26
+ (peer: Peer, bucket: LeafBucket, options?: AbortOptions): Promise<void>;
27
27
  }
28
28
  export interface OnMoveCallback {
29
29
  /**
30
30
  * Invoked when a peer is moved between buckets in the routing tables
31
31
  */
32
- (peer: Peer, oldBucket: LeafBucket, newBucket: LeafBucket): Promise<void>;
32
+ (peer: Peer, oldBucket: LeafBucket, newBucket: LeafBucket, options?: AbortOptions): Promise<void>;
33
+ }
34
+ export interface KBucketComponents {
35
+ peerId: PeerId;
36
+ metrics?: Metrics;
33
37
  }
34
38
  export interface KBucketOptions {
35
39
  /**
@@ -76,6 +80,7 @@ export interface KBucketOptions {
76
80
  verify: VerifyFunction;
77
81
  onAdd?: OnAddCallback;
78
82
  onRemove?: OnRemoveCallback;
83
+ metricsPrefix?: string;
79
84
  }
80
85
  export interface Peer {
81
86
  kadId: Uint8Array;
@@ -95,11 +100,16 @@ export interface InternalBucket {
95
100
  }
96
101
  export type Bucket = LeafBucket | InternalBucket;
97
102
  export declare function isLeafBucket(obj: any): obj is LeafBucket;
103
+ export interface GetClosestPeersOptions extends AbortOptions {
104
+ count?: number;
105
+ exclude?: PeerId[];
106
+ }
98
107
  /**
99
108
  * Implementation of a Kademlia DHT routing table as a prefix binary trie with
100
109
  * configurable prefix length, bucket split threshold and size.
101
110
  */
102
111
  export declare class KBucket {
112
+ private readonly peerId;
103
113
  root: Bucket;
104
114
  localPeer?: Peer;
105
115
  private readonly prefixLength;
@@ -113,8 +123,10 @@ export declare class KBucket {
113
123
  private readonly onRemove?;
114
124
  private readonly onMove?;
115
125
  private readonly addingPeerMap;
116
- constructor(options: KBucketOptions);
117
- addSelfPeer(peerId: PeerId): Promise<void>;
126
+ constructor(components: KBucketComponents, options: KBucketOptions);
127
+ start(): Promise<void>;
128
+ stop(): void;
129
+ addSelfPeer(peerId: PeerId, options?: AbortOptions): Promise<void>;
118
130
  /**
119
131
  * Adds a contact to the trie
120
132
  */
@@ -127,7 +139,7 @@ export declare class KBucket {
127
139
  * @param {Uint8Array} id - Contact node id
128
140
  * @returns {Generator<Peer, void, undefined>} Array Maximum of n closest contacts to the node id
129
141
  */
130
- closest(id: Uint8Array, n?: number): Generator<PeerId, void, undefined>;
142
+ closest(id: Uint8Array, options?: GetClosestPeersOptions): Generator<PeerId, void, undefined>;
131
143
  /**
132
144
  * Counts the total number of contacts in the tree.
133
145
  *
@@ -149,7 +161,7 @@ export declare class KBucket {
149
161
  *
150
162
  * @param {Uint8Array} kadId - The ID of the contact to remove
151
163
  */
152
- remove(kadId: Uint8Array): Promise<void>;
164
+ remove(kadId: Uint8Array, options?: AbortOptions): Promise<void>;
153
165
  /**
154
166
  * Similar to `toArray()` but instead of buffering everything up into an
155
167
  * array before returning it, yields contacts as they are encountered while
@@ -1 +1 @@
1
- {"version":3,"file":"k-bucket.d.ts","sourceRoot":"","sources":["../../../src/routing-table/k-bucket.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"k-bucket.d.ts","sourceRoot":"","sources":["../../../src/routing-table/k-bucket.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { PeerMap } from '@libp2p/peer-collections';
1
+ import { PeerMap, trackedPeerMap } from '@libp2p/peer-collections';
2
2
  import map from 'it-map';
3
3
  import { equals as uint8ArrayEquals } from 'uint8arrays/equals';
4
4
  import { toString as uint8ArrayToString } from 'uint8arrays/to-string';
@@ -14,6 +14,7 @@ export function isLeafBucket(obj) {
14
14
  * configurable prefix length, bucket split threshold and size.
15
15
  */
16
16
  export class KBucket {
17
+ peerId;
17
18
  root;
18
19
  localPeer;
19
20
  prefixLength;
@@ -27,7 +28,8 @@ export class KBucket {
27
28
  onRemove;
28
29
  onMove;
29
30
  addingPeerMap;
30
- constructor(options) {
31
+ constructor(components, options) {
32
+ this.peerId = components.peerId;
31
33
  this.prefixLength = options.prefixLength ?? PREFIX_LENGTH;
32
34
  this.kBucketSize = options.kBucketSize ?? KBUCKET_SIZE;
33
35
  this.splitThreshold = options.splitThreshold ?? this.kBucketSize;
@@ -37,17 +39,31 @@ export class KBucket {
37
39
  this.verify = options.verify;
38
40
  this.onAdd = options.onAdd;
39
41
  this.onRemove = options.onRemove;
40
- this.addingPeerMap = new PeerMap();
42
+ this.addingPeerMap = trackedPeerMap({
43
+ name: `${options.metricsPrefix}_adding_peer_map`,
44
+ metrics: components.metrics
45
+ });
41
46
  this.root = {
42
47
  prefix: '',
43
48
  depth: 0,
44
49
  peers: []
45
50
  };
46
51
  }
47
- async addSelfPeer(peerId) {
52
+ async start() {
53
+ await this.addSelfPeer(this.peerId);
54
+ }
55
+ stop() {
56
+ this.addingPeerMap.clear();
57
+ this.root = {
58
+ prefix: '',
59
+ depth: 0,
60
+ peers: []
61
+ };
62
+ }
63
+ async addSelfPeer(peerId, options) {
48
64
  this.localPeer = {
49
65
  peerId,
50
- kadId: await convertPeerId(peerId),
66
+ kadId: await convertPeerId(peerId, options),
51
67
  lastPing: Date.now()
52
68
  };
53
69
  }
@@ -57,7 +73,7 @@ export class KBucket {
57
73
  async add(peerId, options) {
58
74
  const peer = {
59
75
  peerId,
60
- kadId: await convertPeerId(peerId),
76
+ kadId: await convertPeerId(peerId, options),
61
77
  lastPing: 0
62
78
  };
63
79
  const existingPromise = this.addingPeerMap.get(peerId);
@@ -82,7 +98,7 @@ export class KBucket {
82
98
  // are there too many peers in the bucket and can we make the trie deeper?
83
99
  if (bucket.peers.length === this.splitThreshold && bucket.depth < this.prefixLength) {
84
100
  // split the bucket
85
- await this._split(bucket);
101
+ await this._split(bucket, options);
86
102
  // try again
87
103
  await this._add(peer, options);
88
104
  return;
@@ -92,7 +108,7 @@ export class KBucket {
92
108
  // we've ping this peer previously, just add them to the bucket
93
109
  if (!needsPing(peer, this.lastPingThreshold)) {
94
110
  bucket.peers.push(peer);
95
- await this.onAdd?.(peer, bucket);
111
+ await this.onAdd?.(peer, bucket, options);
96
112
  return;
97
113
  }
98
114
  const result = await this.verify(peer, options);
@@ -136,7 +152,7 @@ export class KBucket {
136
152
  let evicted = false;
137
153
  for await (const toEvict of this.ping(toPing, options)) {
138
154
  evicted = true;
139
- await this.remove(toEvict.kadId);
155
+ await this.remove(toEvict.kadId, options);
140
156
  }
141
157
  // did not evict any peers, cannot add new contact
142
158
  if (!evicted) {
@@ -152,9 +168,12 @@ export class KBucket {
152
168
  * @param {Uint8Array} id - Contact node id
153
169
  * @returns {Generator<Peer, void, undefined>} Array Maximum of n closest contacts to the node id
154
170
  */
155
- *closest(id, n = this.kBucketSize) {
156
- const list = new PeerDistanceList(id, n);
171
+ *closest(id, options) {
172
+ const list = new PeerDistanceList(id, options?.count ?? this.kBucketSize);
157
173
  for (const peer of this.toIterable()) {
174
+ if (options?.exclude?.some(p => p.equals(peer.peerId)) === true) {
175
+ continue;
176
+ }
158
177
  list.addWithKadId({ id: peer.peerId, multiaddrs: [] }, peer.kadId);
159
178
  }
160
179
  yield* map(list.peers, ({ peer }) => peer.id);
@@ -199,12 +218,12 @@ export class KBucket {
199
218
  *
200
219
  * @param {Uint8Array} kadId - The ID of the contact to remove
201
220
  */
202
- async remove(kadId) {
221
+ async remove(kadId, options) {
203
222
  const bucket = this._determineBucket(kadId);
204
223
  const index = this._indexOf(bucket, kadId);
205
224
  if (index > -1) {
206
225
  const peer = bucket.peers.splice(index, 1)[0];
207
- await this.onRemove?.(peer, bucket);
226
+ await this.onRemove?.(peer, bucket, options);
208
227
  }
209
228
  }
210
229
  /**
@@ -273,7 +292,7 @@ export class KBucket {
273
292
  *
274
293
  * @param {any} bucket - bucket for splitting
275
294
  */
276
- async _split(bucket) {
295
+ async _split(bucket, options) {
277
296
  // create child buckets
278
297
  const left = {
279
298
  prefix: '0',
@@ -290,11 +309,11 @@ export class KBucket {
290
309
  const bitString = uint8ArrayToString(peer.kadId, 'base2');
291
310
  if (bitString[bucket.depth] === '0') {
292
311
  left.peers.push(peer);
293
- await this.onMove?.(peer, bucket, left);
312
+ await this.onMove?.(peer, bucket, left, options);
294
313
  }
295
314
  else {
296
315
  right.peers.push(peer);
297
- await this.onMove?.(peer, bucket, right);
316
+ await this.onMove?.(peer, bucket, right, options);
298
317
  }
299
318
  }
300
319
  // convert old leaf bucket to internal bucket
@@ -1 +1 @@
1
- {"version":3,"file":"k-bucket.js","sourceRoot":"","sources":["../../../src/routing-table/k-bucket.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"k-bucket.js","sourceRoot":"","sources":["../../../src/routing-table/k-bucket.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import type { RoutingTable } from './index.js';
2
2
  import type { PeerRouting } from '../peer-routing/index.js';
3
- import type { ComponentLogger, PeerId } from '@libp2p/interface';
3
+ import type { AbortOptions, ComponentLogger, PeerId } from '@libp2p/interface';
4
4
  export interface RoutingTableRefreshComponents {
5
5
  logger: ComponentLogger;
6
6
  }
@@ -32,11 +32,11 @@ export declare class RoutingTableRefresh {
32
32
  * that is close to the requested peer ID and query that, then network
33
33
  * peers will tell us who they know who is close to the fake ID
34
34
  */
35
- refreshTable(force?: boolean): void;
36
- _refreshCommonPrefixLength(cpl: number, lastRefresh: Date, force: boolean): Promise<void>;
35
+ refreshTable(force?: boolean, options?: AbortOptions): void;
36
+ _refreshCommonPrefixLength(cpl: number, lastRefresh: Date, force: boolean, options?: AbortOptions): Promise<void>;
37
37
  _getTrackedCommonPrefixLengthsForRefresh(maxCommonPrefix: number): Date[];
38
- _generateRandomPeerId(targetCommonPrefixLength: number): Promise<PeerId>;
39
- _makePeerId(localKadId: Uint8Array, randomPrefix: number, targetCommonPrefixLength: number): Promise<Uint8Array>;
38
+ _generateRandomPeerId(targetCommonPrefixLength: number): PeerId;
39
+ _makePeerId(localKadId: Uint8Array, randomPrefix: number, targetCommonPrefixLength: number): Uint8Array;
40
40
  /**
41
41
  * returns the maximum common prefix length between any peer in the table
42
42
  * and the current peer
@@ -1 +1 @@
1
- {"version":3,"file":"refresh.d.ts","sourceRoot":"","sources":["../../../src/routing-table/refresh.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAC9C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAA;AAC3D,OAAO,KAAK,EAAE,eAAe,EAAU,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAOxE,MAAM,WAAW,6BAA6B;IAC5C,MAAM,EAAE,eAAe,CAAA;CACxB;AAED,MAAM,WAAW,uBAAuB;IACtC,WAAW,EAAE,WAAW,CAAA;IACxB,YAAY,EAAE,YAAY,CAAA;IAC1B,SAAS,EAAE,MAAM,CAAA;IACjB,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,mBAAmB,CAAC,EAAE,MAAM,CAAA;CAC7B;AAED;;;GAGG;AACH,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAQ;IAC5B,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAa;IACzC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAc;IAC3C,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAQ;IACxC,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAQ;IAC5C,OAAO,CAAC,QAAQ,CAAC,6BAA6B,CAAQ;IACtD,OAAO,CAAC,gBAAgB,CAAC,CAA+B;gBAE3C,UAAU,EAAE,6BAA6B,EAAE,IAAI,EAAE,uBAAuB;IAY/E,UAAU,IAAK,OAAO,CAAC,IAAI,CAAC;IAK5B,IAAI,IAAK,OAAO,CAAC,IAAI,CAAC;IAM5B;;;;;OAKG;IACH,YAAY,CAAE,KAAK,GAAE,OAAe,GAAG,IAAI;IAyDrC,0BAA0B,CAAE,GAAG,EAAE,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAsBhG,wCAAwC,CAAE,eAAe,EAAE,MAAM,GAAG,IAAI,EAAE;IAepE,qBAAqB,CAAE,wBAAwB,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAkBzE,WAAW,CAAE,UAAU,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,EAAE,wBAAwB,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;IA8BvH;;;OAGG;IACH,gBAAgB,IAAK,MAAM;IAc3B;;OAEG;IACH,eAAe,CAAE,YAAY,EAAE,MAAM,GAAG,MAAM;IAY9C;;OAEG;IACD,cAAc,IAAK,SAAS,CAAC,MAAM,CAAC;CAoBvC"}
1
+ {"version":3,"file":"refresh.d.ts","sourceRoot":"","sources":["../../../src/routing-table/refresh.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAC9C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAA;AAC3D,OAAO,KAAK,EAAE,YAAY,EAAE,eAAe,EAAU,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAOtF,MAAM,WAAW,6BAA6B;IAC5C,MAAM,EAAE,eAAe,CAAA;CACxB;AAED,MAAM,WAAW,uBAAuB;IACtC,WAAW,EAAE,WAAW,CAAA;IACxB,YAAY,EAAE,YAAY,CAAA;IAC1B,SAAS,EAAE,MAAM,CAAA;IACjB,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,mBAAmB,CAAC,EAAE,MAAM,CAAA;CAC7B;AAED;;;GAGG;AACH,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAQ;IAC5B,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAa;IACzC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAc;IAC3C,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAQ;IACxC,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAQ;IAC5C,OAAO,CAAC,QAAQ,CAAC,6BAA6B,CAAQ;IACtD,OAAO,CAAC,gBAAgB,CAAC,CAA+B;gBAE3C,UAAU,EAAE,6BAA6B,EAAE,IAAI,EAAE,uBAAuB;IAY/E,UAAU,IAAK,OAAO,CAAC,IAAI,CAAC;IAK5B,IAAI,IAAK,OAAO,CAAC,IAAI,CAAC;IAM5B;;;;;OAKG;IACH,YAAY,CAAE,KAAK,GAAE,OAAe,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,IAAI;IAyD7D,0BAA0B,CAAE,GAAG,EAAE,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IA0BxH,wCAAwC,CAAE,eAAe,EAAE,MAAM,GAAG,IAAI,EAAE;IAe1E,qBAAqB,CAAE,wBAAwB,EAAE,MAAM,GAAG,MAAM;IAkBhE,WAAW,CAAE,UAAU,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,EAAE,wBAAwB,EAAE,MAAM,GAAG,UAAU;IA8BxG;;;OAGG;IACH,gBAAgB,IAAK,MAAM;IAc3B;;OAEG;IACH,eAAe,CAAE,YAAY,EAAE,MAAM,GAAG,MAAM;IAY9C;;OAEG;IACD,cAAc,IAAK,SAAS,CAAC,MAAM,CAAC;CAoBvC"}