libp2p 2.7.3-96f79bc11 → 2.7.3-e2f49432b

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.
@@ -62,7 +62,6 @@ export declare class DialQueue {
62
62
  * connection will be used, all other dials will be aborted when that happens.
63
63
  */
64
64
  dial(peerIdOrMultiaddr: PeerId | Multiaddr | Multiaddr[], options?: OpenConnectionOptions): Promise<Connection>;
65
- private dialPeer;
66
65
  private calculateMultiaddrs;
67
66
  isDialable(multiaddr: Multiaddr | Multiaddr[], options?: IsDialableOptions): Promise<boolean>;
68
67
  }
@@ -1 +1 @@
1
- {"version":3,"file":"dial-queue.d.ts","sourceRoot":"","sources":["../../../src/connection-manager/dial-queue.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAA;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAA;AAoB5D,OAAO,KAAK,EAAE,aAAa,EAAE,eAAe,EAAU,UAAU,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,EAAW,SAAS,EAAE,WAAW,EAAE,iBAAiB,EAAE,4BAA4B,EAAE,MAAM,mBAAmB,CAAA;AAC/M,OAAO,KAAK,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAA;AACzF,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAA;AAC3E,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAA;AAC5C,OAAO,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAA;AAClE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AAEtD,MAAM,WAAW,iBAAiB;IAChC,OAAO,CAAC,KAAK,EAAE,GAAG,GAAG,IAAI,CAAA;IACzB,MAAM,CAAC,GAAG,EAAE,KAAK,GAAG,IAAI,CAAA;CACzB;AAED,UAAU,mBAAoB,SAAQ,uBAAuB,EAAE,eAAe,CAAC,4BAA4B,CAAC;IAC1G,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,UAAU,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;CACxB;AAED,UAAU,UAAU;IAClB,aAAa,CAAC,EAAE,aAAa,CAAA;IAC7B,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;IACpC,WAAW,CAAC,EAAE,OAAO,CAAC,UAAU,EAAE,CAAC,CAAA;CACpC;AAYD,UAAU,mBAAmB;IAC3B,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,SAAS,EAAE,SAAS,CAAA;IACpB,WAAW,EAAE,WAAW,CAAA;IACxB,gBAAgB,EAAE,gBAAgB,CAAA;IAClC,eAAe,EAAE,eAAe,CAAA;IAChC,MAAM,EAAE,eAAe,CAAA;IACvB,GAAG,CAAC,EAAE,GAAG,CAAA;CACV;AAED,qBAAa,SAAS;IACb,KAAK,EAAE,aAAa,CAAC,UAAU,EAAE,mBAAmB,CAAC,CAAA;IAC5D,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAqB;IAChD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAe;IAC9C,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAQ;IAC3C,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAQ;IAC3C,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAQ;IACpC,OAAO,CAAC,kBAAkB,CAAiB;IAC3C,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAuB;IACnD,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAQ;gBAEf,UAAU,EAAE,mBAAmB,EAAE,IAAI,GAAE,UAAe;IA8BnE,KAAK,IAAK,IAAI;IAKd;;OAEG;IACH,IAAI,IAAK,IAAI;IAKb;;;;;;;;;;;OAWG;IACG,IAAI,CAAE,iBAAiB,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,EAAE,EAAE,OAAO,GAAE,qBAA0B,GAAG,OAAO,CAAC,UAAU,CAAC;YA4F5G,QAAQ;YA+HR,mBAAmB;IAkK3B,UAAU,CAAE,SAAS,EAAE,SAAS,GAAG,SAAS,EAAE,EAAE,OAAO,GAAE,iBAAsB,GAAG,OAAO,CAAC,OAAO,CAAC;CAsBzG"}
1
+ {"version":3,"file":"dial-queue.d.ts","sourceRoot":"","sources":["../../../src/connection-manager/dial-queue.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAA;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAA;AAoB5D,OAAO,KAAK,EAAE,aAAa,EAAE,eAAe,EAAU,UAAU,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,EAAW,SAAS,EAAE,WAAW,EAAE,iBAAiB,EAAE,4BAA4B,EAAE,MAAM,mBAAmB,CAAA;AAC/M,OAAO,KAAK,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAA;AACzF,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAA;AAC3E,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAA;AAC5C,OAAO,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAA;AAClE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AAEtD,MAAM,WAAW,iBAAiB;IAChC,OAAO,CAAC,KAAK,EAAE,GAAG,GAAG,IAAI,CAAA;IACzB,MAAM,CAAC,GAAG,EAAE,KAAK,GAAG,IAAI,CAAA;CACzB;AAED,UAAU,mBAAoB,SAAQ,uBAAuB,EAAE,eAAe,CAAC,4BAA4B,CAAC;IAC1G,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,UAAU,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;CACxB;AAED,UAAU,UAAU;IAClB,aAAa,CAAC,EAAE,aAAa,CAAA;IAC7B,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;IACpC,WAAW,CAAC,EAAE,OAAO,CAAC,UAAU,EAAE,CAAC,CAAA;CACpC;AAYD,UAAU,mBAAmB;IAC3B,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,SAAS,EAAE,SAAS,CAAA;IACpB,WAAW,EAAE,WAAW,CAAA;IACxB,gBAAgB,EAAE,gBAAgB,CAAA;IAClC,eAAe,EAAE,eAAe,CAAA;IAChC,MAAM,EAAE,eAAe,CAAA;IACvB,GAAG,CAAC,EAAE,GAAG,CAAA;CACV;AAED,qBAAa,SAAS;IACb,KAAK,EAAE,aAAa,CAAC,UAAU,EAAE,mBAAmB,CAAC,CAAA;IAC5D,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAqB;IAChD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAe;IAC9C,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAQ;IAC3C,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAQ;IAC3C,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAQ;IACpC,OAAO,CAAC,kBAAkB,CAAiB;IAC3C,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAuB;IACnD,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAQ;gBAEf,UAAU,EAAE,mBAAmB,EAAE,IAAI,GAAE,UAAe;IA8BnE,KAAK,IAAK,IAAI;IAKd;;OAEG;IACH,IAAI,IAAK,IAAI;IAKb;;;;;;;;;;;OAWG;IACG,IAAI,CAAE,iBAAiB,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,EAAE,EAAE,OAAO,GAAE,qBAA0B,GAAG,OAAO,CAAC,UAAU,CAAC;YAiL5G,mBAAmB;IAgK3B,UAAU,CAAE,SAAS,EAAE,SAAS,GAAG,SAAS,EAAE,EAAE,OAAO,GAAE,iBAAsB,GAAG,OAAO,CAAC,OAAO,CAAC;CAsBzG"}
@@ -135,7 +135,7 @@ export class DialQueue {
135
135
  this.log('creating dial target for %p', peerId, multiaddrs.map(ma => ma.toString()));
136
136
  options.onProgress?.(new CustomProgressEvent('dial-queue:add-to-dial-queue'));
137
137
  return this.queue.add(async (options) => {
138
- options.onProgress?.(new CustomProgressEvent('dial-queue:start-dial'));
138
+ options?.onProgress?.(new CustomProgressEvent('dial-queue:start-dial'));
139
139
  // create abort conditions - need to do this before `calculateMultiaddrs` as
140
140
  // we may be about to resolve a dns addr which can time out
141
141
  const signal = anySignal([
@@ -143,121 +143,92 @@ export class DialQueue {
143
143
  options.signal
144
144
  ]);
145
145
  setMaxListeners(Infinity, signal);
146
+ let addrsToDial;
146
147
  try {
147
- return await this.dialPeer(options, signal);
148
+ // load addresses from address book, resolve and dnsaddrs, filter
149
+ // undialables, add peer IDs, etc
150
+ addrsToDial = await this.calculateMultiaddrs(peerId, options?.multiaddrs, {
151
+ ...options,
152
+ signal
153
+ });
154
+ options?.onProgress?.(new CustomProgressEvent('dial-queue:calculated-addresses', addrsToDial));
155
+ addrsToDial.map(({ multiaddr }) => multiaddr.toString()).forEach(addr => {
156
+ options?.multiaddrs.add(addr);
157
+ });
148
158
  }
149
- finally {
150
- // clean up abort signals/controllers
159
+ catch (err) {
151
160
  signal.clear();
161
+ throw err;
152
162
  }
153
- }, {
154
- peerId,
155
- priority: options.priority ?? DEFAULT_DIAL_PRIORITY,
156
- multiaddrs: new Set(multiaddrs.map(ma => ma.toString())),
157
- signal: options.signal ?? AbortSignal.timeout(this.dialTimeout),
158
- onProgress: options.onProgress
159
- });
160
- }
161
- async dialPeer(options, signal) {
162
- const peerId = options.peerId;
163
- const multiaddrs = options.multiaddrs;
164
- const failedMultiaddrs = new Set();
165
- // if we have no multiaddrs, only a peer id, set a flag so we will look the
166
- // peer up in the peer routing to obtain multiaddrs
167
- let forcePeerLookup = options.multiaddrs.size === 0;
168
- let dialed = 0;
169
- let dialIteration = 0;
170
- const errors = [];
171
- this.log('starting dial to %p', peerId);
172
- // repeat this operation in case addresses are added to the dial while we
173
- // resolve multiaddrs, etc
174
- while (forcePeerLookup || multiaddrs.size > 0) {
175
- dialIteration++;
176
- // only perform peer lookup once
177
- forcePeerLookup = false;
178
- // the addresses we will dial
179
- const addrsToDial = [];
180
- // copy the addresses into a new set
181
- const addrs = new Set(options.multiaddrs);
182
- // empty the old set - subsequent dial attempts for the same peer id may
183
- // add more addresses to try
184
- multiaddrs.clear();
185
- this.log('calculating addrs to dial %p from %s', peerId, [...addrs]);
186
- // load addresses from address book, resolve and dnsaddrs, filter
187
- // undialables, add peer IDs, etc
188
- const calculatedAddrs = await this.calculateMultiaddrs(peerId, addrs, {
189
- ...options,
190
- signal
191
- });
192
- for (const addr of calculatedAddrs) {
193
- // skip any addresses we have previously failed to dial
194
- if (failedMultiaddrs.has(addr.multiaddr.toString())) {
195
- this.log.trace('skipping previously failed multiaddr %a while dialing %p', addr.multiaddr, peerId);
196
- continue;
197
- }
198
- addrsToDial.push(addr);
199
- }
200
- this.log('%s dial to %p with %s', dialIteration === 1 ? 'starting' : 'continuing', peerId, addrsToDial.map(ma => ma.multiaddr.toString()));
201
- options?.onProgress?.(new CustomProgressEvent('dial-queue:calculated-addresses', addrsToDial));
202
- for (const address of addrsToDial) {
203
- if (dialed === this.maxPeerAddrsToDial) {
204
- this.log('dialed maxPeerAddrsToDial (%d) addresses for %p, not trying any others', dialed, options.peerId);
205
- throw new DialError('Peer had more than maxPeerAddrsToDial');
206
- }
207
- dialed++;
208
- try {
209
- // try to dial the address
210
- const conn = await this.components.transportManager.dial(address.multiaddr, {
211
- ...options,
212
- signal
213
- });
214
- this.log('dial to %a succeeded', address.multiaddr);
215
- // record the successful dial and the address
163
+ try {
164
+ let dialed = 0;
165
+ const errors = [];
166
+ for (const address of addrsToDial) {
167
+ if (dialed === this.maxPeerAddrsToDial) {
168
+ this.log('dialed maxPeerAddrsToDial (%d) addresses for %p, not trying any others', dialed, peerId);
169
+ throw new DialError('Peer had more than maxPeerAddrsToDial');
170
+ }
171
+ dialed++;
216
172
  try {
217
- await this.components.peerStore.merge(conn.remotePeer, {
218
- multiaddrs: [
219
- conn.remoteAddr
220
- ],
221
- metadata: {
222
- [LAST_DIAL_SUCCESS_KEY]: uint8ArrayFromString(Date.now().toString())
223
- }
173
+ const conn = await this.components.transportManager.dial(address.multiaddr, {
174
+ ...options,
175
+ signal
224
176
  });
225
- }
226
- catch (err) {
227
- this.log.error('could not update last dial failure key for %p', peerId, err);
228
- }
229
- // dial successful, return the connection
230
- return conn;
231
- }
232
- catch (err) {
233
- this.log.error('dial failed to %a', address.multiaddr, err);
234
- // ensure we don't dial it again in this attempt
235
- failedMultiaddrs.add(address.multiaddr.toString());
236
- if (peerId != null) {
237
- // record the failed dial
177
+ this.log('dial to %a succeeded', address.multiaddr);
178
+ // record the successful dial and the address
238
179
  try {
239
- await this.components.peerStore.merge(peerId, {
180
+ await this.components.peerStore.merge(conn.remotePeer, {
181
+ multiaddrs: [
182
+ conn.remoteAddr
183
+ ],
240
184
  metadata: {
241
- [LAST_DIAL_FAILURE_KEY]: uint8ArrayFromString(Date.now().toString())
185
+ [LAST_DIAL_SUCCESS_KEY]: uint8ArrayFromString(Date.now().toString())
242
186
  }
243
187
  });
244
188
  }
245
189
  catch (err) {
246
190
  this.log.error('could not update last dial failure key for %p', peerId, err);
247
191
  }
192
+ return conn;
248
193
  }
249
- // the user/dial timeout/shutdown controller signal aborted
250
- if (signal.aborted) {
251
- throw new TimeoutError(err.message);
194
+ catch (err) {
195
+ this.log.error('dial failed to %a', address.multiaddr, err);
196
+ if (peerId != null) {
197
+ // record the failed dial
198
+ try {
199
+ await this.components.peerStore.merge(peerId, {
200
+ metadata: {
201
+ [LAST_DIAL_FAILURE_KEY]: uint8ArrayFromString(Date.now().toString())
202
+ }
203
+ });
204
+ }
205
+ catch (err) {
206
+ this.log.error('could not update last dial failure key for %p', peerId, err);
207
+ }
208
+ }
209
+ // the user/dial timeout/shutdown controller signal aborted
210
+ if (signal.aborted) {
211
+ throw new TimeoutError(err.message);
212
+ }
213
+ errors.push(err);
252
214
  }
253
- errors.push(err);
254
215
  }
216
+ if (errors.length === 1) {
217
+ throw errors[0];
218
+ }
219
+ throw new AggregateError(errors, 'All multiaddr dials failed');
255
220
  }
256
- }
257
- if (errors.length === 1) {
258
- throw errors[0];
259
- }
260
- throw new AggregateError(errors, 'All multiaddr dials failed');
221
+ finally {
222
+ // clean up abort signals/controllers
223
+ signal.clear();
224
+ }
225
+ }, {
226
+ peerId,
227
+ priority: options.priority ?? DEFAULT_DIAL_PRIORITY,
228
+ multiaddrs: new Set(multiaddrs.map(ma => ma.toString())),
229
+ signal: options.signal ?? AbortSignal.timeout(this.dialTimeout),
230
+ onProgress: options.onProgress
231
+ });
261
232
  }
262
233
  // eslint-disable-next-line complexity
263
234
  async calculateMultiaddrs(peerId, multiaddrs = new Set(), options = {}) {
@@ -301,11 +272,8 @@ export class DialQueue {
301
272
  })));
302
273
  }
303
274
  catch (err) {
304
- if (err.name === 'NoPeerRoutersError') {
305
- this.log('no peer routers configured', peerId);
306
- }
307
- else {
308
- this.log.error('looking up multiaddrs for %p in the peer routing failed - %e', peerId, err);
275
+ if (err.name !== 'NoPeerRoutersError') {
276
+ this.log.error('looking up multiaddrs for %p in the peer routing failed', peerId, err);
309
277
  }
310
278
  }
311
279
  }
@@ -1 +1 @@
1
- {"version":3,"file":"dial-queue.js","sourceRoot":"","sources":["../../../src/connection-manager/dial-queue.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dial-queue.js","sourceRoot":"","sources":["../../../src/connection-manager/dial-queue.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,3 @@
1
- export declare const version = "2.7.3-96f79bc11";
1
+ export declare const version = "2.7.3-e2f49432b";
2
2
  export declare const name = "js-libp2p";
3
3
  //# sourceMappingURL=version.d.ts.map
@@ -1,3 +1,3 @@
1
- export const version = '2.7.3-96f79bc11';
1
+ export const version = '2.7.3-e2f49432b';
2
2
  export const name = 'js-libp2p';
3
3
  //# sourceMappingURL=version.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "libp2p",
3
- "version": "2.7.3-96f79bc11",
3
+ "version": "2.7.3-e2f49432b",
4
4
  "description": "JavaScript implementation of libp2p, a modular peer to peer network stack",
5
5
  "license": "Apache-2.0 OR MIT",
6
6
  "homepage": "https://github.com/libp2p/js-libp2p/tree/main/packages/libp2p#readme",
@@ -92,15 +92,15 @@
92
92
  "dependencies": {
93
93
  "@chainsafe/is-ip": "^2.0.2",
94
94
  "@chainsafe/netmask": "^2.0.0",
95
- "@libp2p/crypto": "5.0.13-96f79bc11",
96
- "@libp2p/interface": "2.6.1-96f79bc11",
97
- "@libp2p/interface-internal": "2.3.5-96f79bc11",
98
- "@libp2p/logger": "5.1.10-96f79bc11",
99
- "@libp2p/multistream-select": "6.0.17-96f79bc11",
100
- "@libp2p/peer-collections": "6.0.21-96f79bc11",
101
- "@libp2p/peer-id": "5.0.14-96f79bc11",
102
- "@libp2p/peer-store": "11.0.21-96f79bc11",
103
- "@libp2p/utils": "6.5.5-96f79bc11",
95
+ "@libp2p/crypto": "5.0.13-e2f49432b",
96
+ "@libp2p/interface": "2.6.1-e2f49432b",
97
+ "@libp2p/interface-internal": "2.3.5-e2f49432b",
98
+ "@libp2p/logger": "5.1.10-e2f49432b",
99
+ "@libp2p/multistream-select": "6.0.17-e2f49432b",
100
+ "@libp2p/peer-collections": "6.0.21-e2f49432b",
101
+ "@libp2p/peer-id": "5.0.14-e2f49432b",
102
+ "@libp2p/peer-store": "11.0.21-e2f49432b",
103
+ "@libp2p/utils": "6.5.5-e2f49432b",
104
104
  "@multiformats/dns": "^1.0.6",
105
105
  "@multiformats/multiaddr": "^12.3.5",
106
106
  "@multiformats/multiaddr-matcher": "^1.6.0",
@@ -203,7 +203,7 @@ export class DialQueue {
203
203
 
204
204
  options.onProgress?.(new CustomProgressEvent('dial-queue:add-to-dial-queue'))
205
205
  return this.queue.add(async (options) => {
206
- options.onProgress?.(new CustomProgressEvent('dial-queue:start-dial'))
206
+ options?.onProgress?.(new CustomProgressEvent('dial-queue:start-dial'))
207
207
  // create abort conditions - need to do this before `calculateMultiaddrs` as
208
208
  // we may be about to resolve a dns addr which can time out
209
209
  const signal = anySignal([
@@ -212,145 +212,103 @@ export class DialQueue {
212
212
  ])
213
213
  setMaxListeners(Infinity, signal)
214
214
 
215
- try {
216
- return await this.dialPeer(options, signal)
217
- } finally {
218
- // clean up abort signals/controllers
219
- signal.clear()
220
- }
221
- }, {
222
- peerId,
223
- priority: options.priority ?? DEFAULT_DIAL_PRIORITY,
224
- multiaddrs: new Set(multiaddrs.map(ma => ma.toString())),
225
- signal: options.signal ?? AbortSignal.timeout(this.dialTimeout),
226
- onProgress: options.onProgress
227
- })
228
- }
229
-
230
- private async dialPeer (options: DialQueueJobOptions, signal: AbortSignal): Promise<Connection> {
231
- const peerId = options.peerId
232
- const multiaddrs = options.multiaddrs
233
- const failedMultiaddrs = new Set<string>()
234
-
235
- // if we have no multiaddrs, only a peer id, set a flag so we will look the
236
- // peer up in the peer routing to obtain multiaddrs
237
- let forcePeerLookup = options.multiaddrs.size === 0
238
-
239
- let dialed = 0
240
- let dialIteration = 0
241
- const errors: Error[] = []
242
-
243
- this.log('starting dial to %p', peerId)
215
+ let addrsToDial: Address[]
244
216
 
245
- // repeat this operation in case addresses are added to the dial while we
246
- // resolve multiaddrs, etc
247
- while (forcePeerLookup || multiaddrs.size > 0) {
248
- dialIteration++
249
-
250
- // only perform peer lookup once
251
- forcePeerLookup = false
252
-
253
- // the addresses we will dial
254
- const addrsToDial: Address[] = []
255
-
256
- // copy the addresses into a new set
257
- const addrs = new Set(options.multiaddrs)
258
-
259
- // empty the old set - subsequent dial attempts for the same peer id may
260
- // add more addresses to try
261
- multiaddrs.clear()
262
-
263
- this.log('calculating addrs to dial %p from %s', peerId, [...addrs])
264
-
265
- // load addresses from address book, resolve and dnsaddrs, filter
266
- // undialables, add peer IDs, etc
267
- const calculatedAddrs = await this.calculateMultiaddrs(peerId, addrs, {
268
- ...options,
269
- signal
270
- })
217
+ try {
218
+ // load addresses from address book, resolve and dnsaddrs, filter
219
+ // undialables, add peer IDs, etc
220
+ addrsToDial = await this.calculateMultiaddrs(peerId, options?.multiaddrs, {
221
+ ...options,
222
+ signal
223
+ })
271
224
 
272
- for (const addr of calculatedAddrs) {
273
- // skip any addresses we have previously failed to dial
274
- if (failedMultiaddrs.has(addr.multiaddr.toString())) {
275
- this.log.trace('skipping previously failed multiaddr %a while dialing %p', addr.multiaddr, peerId)
276
- continue
277
- }
225
+ options?.onProgress?.(new CustomProgressEvent<Address[]>('dial-queue:calculated-addresses', addrsToDial))
278
226
 
279
- addrsToDial.push(addr)
227
+ addrsToDial.map(({ multiaddr }) => multiaddr.toString()).forEach(addr => {
228
+ options?.multiaddrs.add(addr)
229
+ })
230
+ } catch (err) {
231
+ signal.clear()
232
+ throw err
280
233
  }
281
234
 
282
- this.log('%s dial to %p with %s', dialIteration === 1 ? 'starting' : 'continuing', peerId, addrsToDial.map(ma => ma.multiaddr.toString()))
283
-
284
- options?.onProgress?.(new CustomProgressEvent<Address[]>('dial-queue:calculated-addresses', addrsToDial))
285
-
286
- for (const address of addrsToDial) {
287
- if (dialed === this.maxPeerAddrsToDial) {
288
- this.log('dialed maxPeerAddrsToDial (%d) addresses for %p, not trying any others', dialed, options.peerId)
289
-
290
- throw new DialError('Peer had more than maxPeerAddrsToDial')
291
- }
235
+ try {
236
+ let dialed = 0
237
+ const errors: Error[] = []
292
238
 
293
- dialed++
239
+ for (const address of addrsToDial) {
240
+ if (dialed === this.maxPeerAddrsToDial) {
241
+ this.log('dialed maxPeerAddrsToDial (%d) addresses for %p, not trying any others', dialed, peerId)
294
242
 
295
- try {
296
- // try to dial the address
297
- const conn = await this.components.transportManager.dial(address.multiaddr, {
298
- ...options,
299
- signal
300
- })
243
+ throw new DialError('Peer had more than maxPeerAddrsToDial')
244
+ }
301
245
 
302
- this.log('dial to %a succeeded', address.multiaddr)
246
+ dialed++
303
247
 
304
- // record the successful dial and the address
305
248
  try {
306
- await this.components.peerStore.merge(conn.remotePeer, {
307
- multiaddrs: [
308
- conn.remoteAddr
309
- ],
310
- metadata: {
311
- [LAST_DIAL_SUCCESS_KEY]: uint8ArrayFromString(Date.now().toString())
312
- }
249
+ const conn = await this.components.transportManager.dial(address.multiaddr, {
250
+ ...options,
251
+ signal
313
252
  })
314
- } catch (err: any) {
315
- this.log.error('could not update last dial failure key for %p', peerId, err)
316
- }
317
-
318
- // dial successful, return the connection
319
- return conn
320
- } catch (err: any) {
321
- this.log.error('dial failed to %a', address.multiaddr, err)
322
253
 
323
- // ensure we don't dial it again in this attempt
324
- failedMultiaddrs.add(address.multiaddr.toString())
254
+ this.log('dial to %a succeeded', address.multiaddr)
325
255
 
326
- if (peerId != null) {
327
- // record the failed dial
256
+ // record the successful dial and the address
328
257
  try {
329
- await this.components.peerStore.merge(peerId, {
258
+ await this.components.peerStore.merge(conn.remotePeer, {
259
+ multiaddrs: [
260
+ conn.remoteAddr
261
+ ],
330
262
  metadata: {
331
- [LAST_DIAL_FAILURE_KEY]: uint8ArrayFromString(Date.now().toString())
263
+ [LAST_DIAL_SUCCESS_KEY]: uint8ArrayFromString(Date.now().toString())
332
264
  }
333
265
  })
334
266
  } catch (err: any) {
335
267
  this.log.error('could not update last dial failure key for %p', peerId, err)
336
268
  }
337
- }
338
269
 
339
- // the user/dial timeout/shutdown controller signal aborted
340
- if (signal.aborted) {
341
- throw new TimeoutError(err.message)
342
- }
270
+ return conn
271
+ } catch (err: any) {
272
+ this.log.error('dial failed to %a', address.multiaddr, err)
273
+
274
+ if (peerId != null) {
275
+ // record the failed dial
276
+ try {
277
+ await this.components.peerStore.merge(peerId, {
278
+ metadata: {
279
+ [LAST_DIAL_FAILURE_KEY]: uint8ArrayFromString(Date.now().toString())
280
+ }
281
+ })
282
+ } catch (err: any) {
283
+ this.log.error('could not update last dial failure key for %p', peerId, err)
284
+ }
285
+ }
286
+
287
+ // the user/dial timeout/shutdown controller signal aborted
288
+ if (signal.aborted) {
289
+ throw new TimeoutError(err.message)
290
+ }
343
291
 
344
- errors.push(err)
292
+ errors.push(err)
293
+ }
345
294
  }
346
- }
347
- }
348
295
 
349
- if (errors.length === 1) {
350
- throw errors[0]
351
- }
296
+ if (errors.length === 1) {
297
+ throw errors[0]
298
+ }
352
299
 
353
- throw new AggregateError(errors, 'All multiaddr dials failed')
300
+ throw new AggregateError(errors, 'All multiaddr dials failed')
301
+ } finally {
302
+ // clean up abort signals/controllers
303
+ signal.clear()
304
+ }
305
+ }, {
306
+ peerId,
307
+ priority: options.priority ?? DEFAULT_DIAL_PRIORITY,
308
+ multiaddrs: new Set(multiaddrs.map(ma => ma.toString())),
309
+ signal: options.signal ?? AbortSignal.timeout(this.dialTimeout),
310
+ onProgress: options.onProgress
311
+ })
354
312
  }
355
313
 
356
314
  // eslint-disable-next-line complexity
@@ -400,10 +358,8 @@ export class DialQueue {
400
358
  isCertified: false
401
359
  })))
402
360
  } catch (err: any) {
403
- if (err.name === 'NoPeerRoutersError') {
404
- this.log('no peer routers configured', peerId)
405
- } else {
406
- this.log.error('looking up multiaddrs for %p in the peer routing failed - %e', peerId, err)
361
+ if (err.name !== 'NoPeerRoutersError') {
362
+ this.log.error('looking up multiaddrs for %p in the peer routing failed', peerId, err)
407
363
  }
408
364
  }
409
365
  }
package/src/version.ts CHANGED
@@ -1,2 +1,2 @@
1
- export const version = '2.7.3-96f79bc11'
1
+ export const version = '2.7.3-e2f49432b'
2
2
  export const name = 'js-libp2p'