libp2p 2.1.4 → 2.1.5

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.
@@ -146,6 +146,7 @@ export declare class DefaultConnectionManager implements ConnectionManager, Star
146
146
  private readonly deny;
147
147
  private readonly maxIncomingPendingConnections;
148
148
  private incomingPendingConnections;
149
+ private outboundPendingConnections;
149
150
  private readonly maxConnections;
150
151
  readonly dialQueue: DialQueue;
151
152
  readonly reconnectQueue: ReconnectQueue;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/connection-manager/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/connection-manager/index.ts"],"names":[],"mappings":"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"}
@@ -25,6 +25,7 @@ export class DefaultConnectionManager {
25
25
  deny;
26
26
  maxIncomingPendingConnections;
27
27
  incomingPendingConnections;
28
+ outboundPendingConnections;
28
29
  maxConnections;
29
30
  dialQueue;
30
31
  reconnectQueue;
@@ -57,6 +58,7 @@ export class DefaultConnectionManager {
57
58
  this.deny = (init.deny ?? []).map(ma => multiaddr(ma));
58
59
  this.incomingPendingConnections = 0;
59
60
  this.maxIncomingPendingConnections = init.maxIncomingPendingConnections ?? defaultOptions.maxIncomingPendingConnections;
61
+ this.outboundPendingConnections = 0;
60
62
  // controls individual peers trying to dial us too quickly
61
63
  this.inboundConnectionRateLimiter = new RateLimiter({
62
64
  points: init.inboundConnectionThreshold ?? defaultOptions.inboundConnectionThreshold,
@@ -107,7 +109,8 @@ export class DefaultConnectionManager {
107
109
  const metric = {
108
110
  inbound: 0,
109
111
  'inbound pending': this.incomingPendingConnections,
110
- outbound: 0
112
+ outbound: 0,
113
+ 'outbound pending': this.outboundPendingConnections
111
114
  };
112
115
  for (const conns of this.connections.values()) {
113
116
  for (const conn of conns) {
@@ -263,52 +266,58 @@ export class DefaultConnectionManager {
263
266
  if (!this.started) {
264
267
  throw new NotStartedError('Not started');
265
268
  }
266
- options.signal?.throwIfAborted();
267
- const { peerId } = getPeerAddress(peerIdOrMultiaddr);
268
- if (this.peerId.equals(peerId)) {
269
- throw new InvalidPeerIdError('Can not dial self');
270
- }
271
- if (peerId != null && options.force !== true) {
272
- this.log('dial %p', peerId);
273
- const existingConnection = this.getConnections(peerId)
274
- .find(conn => conn.limits == null);
275
- if (existingConnection != null) {
276
- this.log('had an existing non-limited connection to %p', peerId);
277
- options.onProgress?.(new CustomProgressEvent('dial-queue:already-connected'));
278
- return existingConnection;
269
+ this.outboundPendingConnections++;
270
+ try {
271
+ options.signal?.throwIfAborted();
272
+ const { peerId } = getPeerAddress(peerIdOrMultiaddr);
273
+ if (this.peerId.equals(peerId)) {
274
+ throw new InvalidPeerIdError('Can not dial self');
279
275
  }
280
- }
281
- const connection = await this.dialQueue.dial(peerIdOrMultiaddr, {
282
- ...options,
283
- priority: options.priority ?? DEFAULT_DIAL_PRIORITY
284
- });
285
- if (connection.status !== 'open') {
286
- throw new ConnectionClosedError('Remote closed connection during opening');
287
- }
288
- let peerConnections = this.connections.get(connection.remotePeer);
289
- if (peerConnections == null) {
290
- peerConnections = [];
291
- this.connections.set(connection.remotePeer, peerConnections);
292
- }
293
- // we get notified of connections via the Upgrader emitting "connection"
294
- // events, double check we aren't already tracking this connection before
295
- // storing it
296
- let trackedConnection = false;
297
- for (const conn of peerConnections) {
298
- if (conn.id === connection.id) {
299
- trackedConnection = true;
276
+ if (peerId != null && options.force !== true) {
277
+ this.log('dial %p', peerId);
278
+ const existingConnection = this.getConnections(peerId)
279
+ .find(conn => conn.limits == null);
280
+ if (existingConnection != null) {
281
+ this.log('had an existing non-limited connection to %p', peerId);
282
+ options.onProgress?.(new CustomProgressEvent('dial-queue:already-connected'));
283
+ return existingConnection;
284
+ }
285
+ }
286
+ const connection = await this.dialQueue.dial(peerIdOrMultiaddr, {
287
+ ...options,
288
+ priority: options.priority ?? DEFAULT_DIAL_PRIORITY
289
+ });
290
+ if (connection.status !== 'open') {
291
+ throw new ConnectionClosedError('Remote closed connection during opening');
292
+ }
293
+ let peerConnections = this.connections.get(connection.remotePeer);
294
+ if (peerConnections == null) {
295
+ peerConnections = [];
296
+ this.connections.set(connection.remotePeer, peerConnections);
297
+ }
298
+ // we get notified of connections via the Upgrader emitting "connection"
299
+ // events, double check we aren't already tracking this connection before
300
+ // storing it
301
+ let trackedConnection = false;
302
+ for (const conn of peerConnections) {
303
+ if (conn.id === connection.id) {
304
+ trackedConnection = true;
305
+ }
306
+ // make sure we don't already have a connection to this multiaddr
307
+ if (options.force !== true && conn.id !== connection.id && conn.remoteAddr.equals(connection.remoteAddr)) {
308
+ connection.abort(new InvalidMultiaddrError('Duplicate multiaddr connection'));
309
+ // return the existing connection
310
+ return conn;
311
+ }
300
312
  }
301
- // make sure we don't already have a connection to this multiaddr
302
- if (options.force !== true && conn.id !== connection.id && conn.remoteAddr.equals(connection.remoteAddr)) {
303
- connection.abort(new InvalidMultiaddrError('Duplicate multiaddr connection'));
304
- // return the existing connection
305
- return conn;
313
+ if (!trackedConnection) {
314
+ peerConnections.push(connection);
306
315
  }
316
+ return connection;
307
317
  }
308
- if (!trackedConnection) {
309
- peerConnections.push(connection);
318
+ finally {
319
+ this.outboundPendingConnections--;
310
320
  }
311
- return connection;
312
321
  }
313
322
  async closeConnections(peerId, options = {}) {
314
323
  const connections = this.connections.get(peerId) ?? [];
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/connection-manager/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/connection-manager/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,eAAe,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAA;AAC1J,OAAO,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAA;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAA;AACxD,OAAO,EAAiC,SAAS,EAAE,MAAM,yBAAyB,CAAA;AAClF,OAAO,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAA;AACnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAA;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AACzD,OAAO,EAAE,YAAY,EAAE,4BAA4B,EAAE,eAAe,EAAE,qBAAqB,EAAE,gCAAgC,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAA;AACjM,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAC3C,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAKrD,MAAM,CAAC,MAAM,qBAAqB,GAAG,EAAE,CAAA;AA4IvC,MAAM,cAAc,GAAG;IACrB,cAAc,EAAE,eAAe;IAC/B,0BAA0B,EAAE,4BAA4B;IACxD,6BAA6B,EAAE,gCAAgC;CAChE,CAAA;AAaD;;GAEG;AACH,MAAM,OAAO,wBAAwB;IAC3B,OAAO,CAAS;IACP,WAAW,CAAuB;IAClC,KAAK,CAAa;IAClB,IAAI,CAAa;IACjB,6BAA6B,CAAQ;IAC9C,0BAA0B,CAAQ;IAClC,0BAA0B,CAAQ;IACzB,cAAc,CAAQ;IAEvB,SAAS,CAAW;IACpB,cAAc,CAAgB;IAC9B,gBAAgB,CAAkB;IACjC,4BAA4B,CAAa;IACzC,SAAS,CAAW;IACpB,OAAO,CAAU;IACjB,MAAM,CAAgC;IACtC,GAAG,CAAQ;IACX,MAAM,CAAQ;IAE/B,YAAa,UAA8C,EAAE,OAA8B,EAAE;QAC3F,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,IAAI,cAAc,CAAC,cAAc,CAAA;QAE1E,IAAI,IAAI,CAAC,cAAc,GAAG,CAAC,EAAE,CAAC;YAC5B,MAAM,IAAI,sBAAsB,CAAC,0DAA0D,CAAC,CAAA;QAC9F,CAAC;QAED;;WAEG;QACH,IAAI,CAAC,WAAW,GAAG,IAAI,OAAO,EAAE,CAAA;QAEhC,IAAI,CAAC,OAAO,GAAG,KAAK,CAAA;QACpB,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC,MAAM,CAAA;QAC/B,IAAI,CAAC,SAAS,GAAG,UAAU,CAAC,SAAS,CAAA;QACrC,IAAI,CAAC,OAAO,GAAG,UAAU,CAAC,OAAO,CAAA;QACjC,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC,MAAM,CAAA;QAC/B,IAAI,CAAC,GAAG,GAAG,UAAU,CAAC,MAAM,CAAC,YAAY,CAAC,2BAA2B,CAAC,CAAA;QAEtE,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAC1C,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAEhD,mBAAmB;QACnB,IAAI,CAAC,KAAK,GAAG,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAA;QACxD,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAA;QAEtD,IAAI,CAAC,0BAA0B,GAAG,CAAC,CAAA;QACnC,IAAI,CAAC,6BAA6B,GAAG,IAAI,CAAC,6BAA6B,IAAI,cAAc,CAAC,6BAA6B,CAAA;QACvH,IAAI,CAAC,0BAA0B,GAAG,CAAC,CAAA;QAEnC,0DAA0D;QAC1D,IAAI,CAAC,4BAA4B,GAAG,IAAI,WAAW,CAAC;YAClD,MAAM,EAAE,IAAI,CAAC,0BAA0B,IAAI,cAAc,CAAC,0BAA0B;YACpF,QAAQ,EAAE,CAAC;SACZ,CAAC,CAAA;QAEF,0DAA0D;QAC1D,IAAI,CAAC,gBAAgB,GAAG,IAAI,gBAAgB,CAAC;YAC3C,iBAAiB,EAAE,IAAI;YACvB,SAAS,EAAE,UAAU,CAAC,SAAS;YAC/B,MAAM,EAAE,UAAU,CAAC,MAAM;YACzB,MAAM,EAAE,UAAU,CAAC,MAAM;SAC1B,EAAE;YACD,cAAc,EAAE,IAAI,CAAC,cAAc;YACnC,KAAK,EAAE,IAAI,CAAC,KAAK;SAClB,CAAC,CAAA;QAEF,IAAI,CAAC,SAAS,GAAG,IAAI,SAAS,CAAC,UAAU,EAAE;YACzC,aAAa,EAAE,IAAI,CAAC,aAAa;YACjC,gBAAgB,EAAE,IAAI,CAAC,gBAAgB,IAAI,kBAAkB;YAC7D,kBAAkB,EAAE,IAAI,CAAC,kBAAkB,IAAI,qBAAqB;YACpE,kBAAkB,EAAE,IAAI,CAAC,kBAAkB,IAAI,sBAAsB;YACrE,WAAW,EAAE,IAAI,CAAC,WAAW,IAAI,YAAY;YAC7C,SAAS,EAAE,IAAI,CAAC,SAAS,IAAI;gBAC3B,OAAO,EAAE,eAAe;aACzB;YACD,WAAW,EAAE,IAAI,CAAC,WAAW;SAC9B,CAAC,CAAA;QAEF,IAAI,CAAC,cAAc,GAAG,IAAI,cAAc,CAAC;YACvC,MAAM,EAAE,UAAU,CAAC,MAAM;YACzB,SAAS,EAAE,UAAU,CAAC,SAAS;YAC/B,MAAM,EAAE,UAAU,CAAC,MAAM;YACzB,iBAAiB,EAAE,IAAI;SACxB,EAAE;YACD,OAAO,EAAE,IAAI,CAAC,gBAAgB;YAC9B,aAAa,EAAE,IAAI,CAAC,sBAAsB;YAC1C,aAAa,EAAE,IAAI,CAAC,sBAAsB;YAC1C,qBAAqB,EAAE,IAAI,CAAC,qBAAqB;SAClD,CAAC,CAAA;IACJ,CAAC;IAEQ,CAAC,MAAM,CAAC,WAAW,CAAC,GAAG,4BAA4B,CAAA;IAE5D;;;OAGG;IACH,KAAK,CAAC,KAAK;QACT,qCAAqC;QACrC,IAAI,CAAC,OAAO,EAAE,mBAAmB,CAAC,uCAAuC,EAAE;YACzE,SAAS,EAAE,GAAG,EAAE;gBACd,MAAM,MAAM,GAAG;oBACb,OAAO,EAAE,CAAC;oBACV,iBAAiB,EAAE,IAAI,CAAC,0BAA0B;oBAClD,QAAQ,EAAE,CAAC;oBACX,kBAAkB,EAAE,IAAI,CAAC,0BAA0B;iBACpD,CAAA;gBAED,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,EAAE,CAAC;oBAC9C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;wBACzB,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAA;oBAC1B,CAAC;gBACH,CAAC;gBAED,OAAO,MAAM,CAAA;YACf,CAAC;SACF,CAAC,CAAA;QAEF,6CAA6C;QAC7C,IAAI,CAAC,OAAO,EAAE,mBAAmB,CAAC,+BAA+B,EAAE;YACjE,KAAK,EAAE,UAAU;YACjB,SAAS,EAAE,GAAG,EAAE;gBACd,MAAM,MAAM,GAA2B,EAAE,CAAA;gBAEzC,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,EAAE,CAAC;oBAC9C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;wBACzB,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;4BAClC,MAAM,GAAG,GAAG,GAAG,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,QAAQ,IAAI,cAAc,EAAE,CAAA;4BAEtE,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAA;wBACtC,CAAC;oBACH,CAAC;gBACH,CAAC;gBAED,OAAO,MAAM,CAAA;YACf,CAAC;SACF,CAAC,CAAA;QAEF,gDAAgD;QAChD,IAAI,CAAC,OAAO,EAAE,mBAAmB,CAAC,2EAA2E,EAAE;YAC7G,KAAK,EAAE,UAAU;YACjB,SAAS,EAAE,GAAG,EAAE;gBACd,MAAM,UAAU,GAA6B,EAAE,CAAA;gBAE/C,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,EAAE,CAAC;oBAC9C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;wBACzB,MAAM,OAAO,GAA2B,EAAE,CAAA;wBAE1C,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;4BAClC,MAAM,GAAG,GAAG,GAAG,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,QAAQ,IAAI,cAAc,EAAE,CAAA;4BAEtE,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAA;wBACxC,CAAC;wBAED,KAAK,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;4BACxD,UAAU,CAAC,QAAQ,CAAC,GAAG,UAAU,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAA;4BACjD,UAAU,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;wBAClC,CAAC;oBACH,CAAC;gBACH,CAAC;gBAED,MAAM,MAAM,GAA2B,EAAE,CAAA;gBAEzC,KAAK,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;oBAC1D,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA;oBAErC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,GAAG,GAAG,CAAC,CAAA;oBAC7C,MAAM,CAAC,QAAQ,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAA;gBAClC,CAAC;gBAED,OAAO,MAAM,CAAA;YACf,CAAC;SACF,CAAC,CAAA;QAEF,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,iBAAiB,EAAE,IAAI,CAAC,SAAS,CAAC,CAAA;QAC/D,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,kBAAkB,EAAE,IAAI,CAAC,YAAY,CAAC,CAAA;QAEnE,MAAM,KAAK,CACT,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,cAAc,EACnB,IAAI,CAAC,gBAAgB,CACtB,CAAA;QAED,IAAI,CAAC,OAAO,GAAG,IAAI,CAAA;QACnB,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;IACrB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,IAAI;QACR,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAAC,iBAAiB,EAAE,IAAI,CAAC,SAAS,CAAC,CAAA;QAClE,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAAC,kBAAkB,EAAE,IAAI,CAAC,YAAY,CAAC,CAAA;QAEtE,MAAM,IAAI,CACR,IAAI,CAAC,cAAc,EACnB,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,gBAAgB,CACtB,CAAA;QAED,uCAAuC;QACvC,MAAM,KAAK,GAAyB,EAAE,CAAA;QACtC,KAAK,MAAM,cAAc,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,EAAE,CAAC;YACvD,KAAK,MAAM,UAAU,IAAI,cAAc,EAAE,CAAC;gBACxC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,IAAI,EAAE;oBACrB,IAAI,CAAC;wBACH,MAAM,UAAU,CAAC,KAAK,EAAE,CAAA;oBAC1B,CAAC;oBAAC,OAAO,GAAG,EAAE,CAAC;wBACb,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;oBACrB,CAAC;gBACH,CAAC,CAAC,EAAE,CAAC,CAAA;YACP,CAAC;QACH,CAAC;QAED,IAAI,CAAC,GAAG,CAAC,wBAAwB,EAAE,KAAK,CAAC,MAAM,CAAC,CAAA;QAChD,MAAM,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;QACxB,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAA;QAExB,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;IACrB,CAAC;IAED,SAAS,CAAE,GAA4B;QACrC,KAAK,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;YACpC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;QACrB,CAAC,CAAC,CAAA;IACJ,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,UAAU,CAAE,GAA4B;QAC5C,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,GAAG,CAAA;QAElC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAClB,uEAAuE;YACvE,MAAM,UAAU,CAAC,KAAK,EAAE,CAAA;YACxB,OAAM;QACR,CAAC;QAED,IAAI,UAAU,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;YACjC,0EAA0E;YAC1E,UAAU;YACV,OAAM;QACR,CAAC;QAED,MAAM,MAAM,GAAG,UAAU,CAAC,UAAU,CAAA;QACpC,MAAM,SAAS,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;QAC/C,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAA;QACtD,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;QAE5B,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,CAAA;QAEzC,kFAAkF;QAClF,IAAI,MAAM,CAAC,SAAS,IAAI,IAAI,IAAI,MAAM,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;YACtD,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,EAAE;gBACjC,SAAS,EAAE,MAAM,CAAC,SAAS;aAC5B,CAAC,CAAA;QACJ,CAAC;QAED,IAAI,SAAS,EAAE,CAAC;YACd,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,cAAc,EAAE,EAAE,MAAM,EAAE,UAAU,CAAC,UAAU,EAAE,CAAC,CAAA;QAClF,CAAC;IACH,CAAC;IAED;;OAEG;IACH,YAAY,CAAE,GAA4B;QACxC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,GAAG,CAAA;QAClC,MAAM,MAAM,GAAG,UAAU,CAAC,UAAU,CAAA;QACpC,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAA;QAEpD,2BAA2B;QAC3B,MAAM,iBAAiB,GAAG,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,UAAU,CAAC,EAAE,CAAC,CAAA;QAE7E,0BAA0B;QAC1B,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAA;QAE/C,IAAI,iBAAiB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACnC,oDAAoD;YACpD,IAAI,CAAC,GAAG,CAAC,iDAAiD,EAAE,MAAM,CAAC,CAAA;YACnE,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;YAE/B,6BAA6B;YAC7B,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,iBAAiB,EAAE,EAAE,MAAM,EAAE,UAAU,CAAC,UAAU,EAAE,CAAC,CAAA;QACrF,CAAC;IACH,CAAC;IAED,cAAc,CAAE,MAAe;QAC7B,IAAI,MAAM,IAAI,IAAI,EAAE,CAAC;YACnB,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAA;QAC3C,CAAC;QAED,IAAI,KAAK,GAAiB,EAAE,CAAA;QAE5B,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,EAAE,CAAC;YAC1C,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;QACzB,CAAC;QAED,OAAO,KAAK,CAAA;IACd,CAAC;IAED,iBAAiB;QACf,OAAO,IAAI,CAAC,WAAW,CAAA;IACzB,CAAC;IAED,KAAK,CAAC,cAAc,CAAE,iBAAmD,EAAE,UAAiC,EAAE;QAC5G,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAClB,MAAM,IAAI,eAAe,CAAC,aAAa,CAAC,CAAA;QAC1C,CAAC;QAED,IAAI,CAAC,0BAA0B,EAAE,CAAA;QAEjC,IAAI,CAAC;YACH,OAAO,CAAC,MAAM,EAAE,cAAc,EAAE,CAAA;YAEhC,MAAM,EAAE,MAAM,EAAE,GAAG,cAAc,CAAC,iBAAiB,CAAC,CAAA;YAEpD,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC/B,MAAM,IAAI,kBAAkB,CAAC,mBAAmB,CAAC,CAAA;YACnD,CAAC;YAED,IAAI,MAAM,IAAI,IAAI,IAAI,OAAO,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;gBAC7C,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC,CAAA;gBAC3B,MAAM,kBAAkB,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC;qBACnD,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,CAAA;gBAEpC,IAAI,kBAAkB,IAAI,IAAI,EAAE,CAAC;oBAC/B,IAAI,CAAC,GAAG,CAAC,8CAA8C,EAAE,MAAM,CAAC,CAAA;oBAEhE,OAAO,CAAC,UAAU,EAAE,CAAC,IAAI,mBAAmB,CAAC,8BAA8B,CAAC,CAAC,CAAA;oBAC7E,OAAO,kBAAkB,CAAA;gBAC3B,CAAC;YACH,CAAC;YAED,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,iBAAiB,EAAE;gBAC9D,GAAG,OAAO;gBACV,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAAI,qBAAqB;aACpD,CAAC,CAAA;YAEF,IAAI,UAAU,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;gBACjC,MAAM,IAAI,qBAAqB,CAAC,yCAAyC,CAAC,CAAA;YAC5E,CAAC;YAED,IAAI,eAAe,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,UAAU,CAAC,CAAA;YAEjE,IAAI,eAAe,IAAI,IAAI,EAAE,CAAC;gBAC5B,eAAe,GAAG,EAAE,CAAA;gBACpB,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,UAAU,EAAE,eAAe,CAAC,CAAA;YAC9D,CAAC;YAED,wEAAwE;YACxE,yEAAyE;YACzE,aAAa;YACb,IAAI,iBAAiB,GAAG,KAAK,CAAA;YAE7B,KAAK,MAAM,IAAI,IAAI,eAAe,EAAE,CAAC;gBACnC,IAAI,IAAI,CAAC,EAAE,KAAK,UAAU,CAAC,EAAE,EAAE,CAAC;oBAC9B,iBAAiB,GAAG,IAAI,CAAA;gBAC1B,CAAC;gBAED,iEAAiE;gBACjE,IAAI,OAAO,CAAC,KAAK,KAAK,IAAI,IAAI,IAAI,CAAC,EAAE,KAAK,UAAU,CAAC,EAAE,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;oBACzG,UAAU,CAAC,KAAK,CAAC,IAAI,qBAAqB,CAAC,gCAAgC,CAAC,CAAC,CAAA;oBAE7E,iCAAiC;oBACjC,OAAO,IAAI,CAAA;gBACb,CAAC;YACH,CAAC;YAED,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBACvB,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;YAClC,CAAC;YAED,OAAO,UAAU,CAAA;QACnB,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,0BAA0B,EAAE,CAAA;QACnC,CAAC;IACH,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAE,MAAc,EAAE,UAAwB,EAAE;QAChE,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAA;QAEtD,MAAM,OAAO,CAAC,GAAG,CACf,WAAW,CAAC,GAAG,CAAC,KAAK,EAAC,UAAU,EAAC,EAAE;YACjC,IAAI,CAAC;gBACH,MAAM,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;YACjC,CAAC;YAAC,OAAO,GAAQ,EAAE,CAAC;gBAClB,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;YACvB,CAAC;QACH,CAAC,CAAC,CACH,CAAA;IACH,CAAC;IAED,KAAK,CAAC,wBAAwB,CAAE,MAA2B;QACzD,kBAAkB;QAClB,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE;YACzC,OAAO,MAAM,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAA;QAC/D,CAAC,CAAC,CAAA;QAEF,IAAI,cAAc,EAAE,CAAC;YACnB,IAAI,CAAC,GAAG,CAAC,yEAAyE,EAAE,MAAM,CAAC,UAAU,CAAC,CAAA;YACtG,OAAO,KAAK,CAAA;QACd,CAAC;QAED,mBAAmB;QACnB,MAAM,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE;YAC3C,OAAO,MAAM,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAA;QAC/D,CAAC,CAAC,CAAA;QAEF,IAAI,eAAe,EAAE,CAAC;YACpB,IAAI,CAAC,0BAA0B,EAAE,CAAA;YAEjC,OAAO,IAAI,CAAA;QACb,CAAC;QAED,4BAA4B;QAC5B,IAAI,IAAI,CAAC,0BAA0B,KAAK,IAAI,CAAC,6BAA6B,EAAE,CAAC;YAC3E,IAAI,CAAC,GAAG,CAAC,0EAA0E,EAAE,MAAM,CAAC,UAAU,CAAC,CAAA;YACvG,OAAO,KAAK,CAAA;QACd,CAAC;QAED,IAAI,MAAM,CAAC,UAAU,CAAC,kBAAkB,EAAE,EAAE,CAAC;YAC3C,MAAM,IAAI,GAAG,MAAM,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,OAAO,CAAA;YAEpD,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,4BAA4B,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA;YAC1D,CAAC;YAAC,MAAM,CAAC;gBACP,IAAI,CAAC,GAAG,CAAC,6EAA6E,EAAE,MAAM,CAAC,UAAU,EAAE,IAAI,CAAC,CAAA;gBAChH,OAAO,KAAK,CAAA;YACd,CAAC;QACH,CAAC;QAED,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC,MAAM,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;YACvD,IAAI,CAAC,0BAA0B,EAAE,CAAA;YAEjC,OAAO,IAAI,CAAA;QACb,CAAC;QAED,IAAI,CAAC,GAAG,CAAC,sDAAsD,EAAE,MAAM,CAAC,UAAU,CAAC,CAAA;QACnF,OAAO,KAAK,CAAA;IACd,CAAC;IAED,mBAAmB;QACjB,IAAI,CAAC,0BAA0B,EAAE,CAAA;IACnC,CAAC;IAED,YAAY;QACV,MAAM,SAAS,GAAyC;YACtD,MAAM,EAAE,QAAQ;YAChB,OAAO,EAAE,QAAQ;YACjB,OAAO,EAAE,OAAO;YAChB,QAAQ,EAAE,SAAS;SACpB,CAAA;QAED,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;YAC1C,OAAO;gBACL,EAAE,EAAE,GAAG,CAAC,EAAE;gBACV,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC;gBAC7B,MAAM,EAAE,GAAG,CAAC,OAAO,CAAC,MAAM;gBAC1B,UAAU,EAAE,CAAC,GAAG,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;aACjE,CAAA;QACH,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,KAAK,CAAC,UAAU,CAAE,SAAkC,EAAE,UAA6B,EAAE;QACnF,OAAO,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,SAAS,EAAE,OAAO,CAAC,CAAA;IACtD,CAAC;CACF"}
@@ -1,3 +1,3 @@
1
- export declare const version = "2.1.4";
1
+ export declare const version = "2.1.5";
2
2
  export declare const name = "libp2p";
3
3
  //# sourceMappingURL=version.d.ts.map
@@ -1,3 +1,3 @@
1
- export const version = '2.1.4';
1
+ export const version = '2.1.5';
2
2
  export const name = 'libp2p';
3
3
  //# sourceMappingURL=version.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "libp2p",
3
- "version": "2.1.4",
3
+ "version": "2.1.5",
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",
@@ -119,7 +119,7 @@
119
119
  "@libp2p/interface-compliance-tests": "^6.1.4",
120
120
  "@libp2p/mplex": "^11.0.6",
121
121
  "@libp2p/plaintext": "^2.0.6",
122
- "@libp2p/tcp": "^10.0.6",
122
+ "@libp2p/tcp": "^10.0.7",
123
123
  "@libp2p/websockets": "^9.0.6",
124
124
  "@multiformats/mafmt": "^12.1.6",
125
125
  "aegir": "^44.0.1",
@@ -180,6 +180,7 @@ export class DefaultConnectionManager implements ConnectionManager, Startable {
180
180
  private readonly deny: Multiaddr[]
181
181
  private readonly maxIncomingPendingConnections: number
182
182
  private incomingPendingConnections: number
183
+ private outboundPendingConnections: number
183
184
  private readonly maxConnections: number
184
185
 
185
186
  public readonly dialQueue: DialQueue
@@ -220,6 +221,7 @@ export class DefaultConnectionManager implements ConnectionManager, Startable {
220
221
 
221
222
  this.incomingPendingConnections = 0
222
223
  this.maxIncomingPendingConnections = init.maxIncomingPendingConnections ?? defaultOptions.maxIncomingPendingConnections
224
+ this.outboundPendingConnections = 0
223
225
 
224
226
  // controls individual peers trying to dial us too quickly
225
227
  this.inboundConnectionRateLimiter = new RateLimiter({
@@ -276,7 +278,8 @@ export class DefaultConnectionManager implements ConnectionManager, Startable {
276
278
  const metric = {
277
279
  inbound: 0,
278
280
  'inbound pending': this.incomingPendingConnections,
279
- outbound: 0
281
+ outbound: 0,
282
+ 'outbound pending': this.outboundPendingConnections
280
283
  }
281
284
 
282
285
  for (const conns of this.connections.values()) {
@@ -482,67 +485,73 @@ export class DefaultConnectionManager implements ConnectionManager, Startable {
482
485
  throw new NotStartedError('Not started')
483
486
  }
484
487
 
485
- options.signal?.throwIfAborted()
488
+ this.outboundPendingConnections++
486
489
 
487
- const { peerId } = getPeerAddress(peerIdOrMultiaddr)
490
+ try {
491
+ options.signal?.throwIfAborted()
488
492
 
489
- if (this.peerId.equals(peerId)) {
490
- throw new InvalidPeerIdError('Can not dial self')
491
- }
493
+ const { peerId } = getPeerAddress(peerIdOrMultiaddr)
494
+
495
+ if (this.peerId.equals(peerId)) {
496
+ throw new InvalidPeerIdError('Can not dial self')
497
+ }
492
498
 
493
- if (peerId != null && options.force !== true) {
494
- this.log('dial %p', peerId)
495
- const existingConnection = this.getConnections(peerId)
496
- .find(conn => conn.limits == null)
499
+ if (peerId != null && options.force !== true) {
500
+ this.log('dial %p', peerId)
501
+ const existingConnection = this.getConnections(peerId)
502
+ .find(conn => conn.limits == null)
497
503
 
498
- if (existingConnection != null) {
499
- this.log('had an existing non-limited connection to %p', peerId)
504
+ if (existingConnection != null) {
505
+ this.log('had an existing non-limited connection to %p', peerId)
500
506
 
501
- options.onProgress?.(new CustomProgressEvent('dial-queue:already-connected'))
502
- return existingConnection
507
+ options.onProgress?.(new CustomProgressEvent('dial-queue:already-connected'))
508
+ return existingConnection
509
+ }
503
510
  }
504
- }
505
511
 
506
- const connection = await this.dialQueue.dial(peerIdOrMultiaddr, {
507
- ...options,
508
- priority: options.priority ?? DEFAULT_DIAL_PRIORITY
509
- })
512
+ const connection = await this.dialQueue.dial(peerIdOrMultiaddr, {
513
+ ...options,
514
+ priority: options.priority ?? DEFAULT_DIAL_PRIORITY
515
+ })
510
516
 
511
- if (connection.status !== 'open') {
512
- throw new ConnectionClosedError('Remote closed connection during opening')
513
- }
517
+ if (connection.status !== 'open') {
518
+ throw new ConnectionClosedError('Remote closed connection during opening')
519
+ }
514
520
 
515
- let peerConnections = this.connections.get(connection.remotePeer)
521
+ let peerConnections = this.connections.get(connection.remotePeer)
516
522
 
517
- if (peerConnections == null) {
518
- peerConnections = []
519
- this.connections.set(connection.remotePeer, peerConnections)
520
- }
523
+ if (peerConnections == null) {
524
+ peerConnections = []
525
+ this.connections.set(connection.remotePeer, peerConnections)
526
+ }
521
527
 
522
- // we get notified of connections via the Upgrader emitting "connection"
523
- // events, double check we aren't already tracking this connection before
524
- // storing it
525
- let trackedConnection = false
528
+ // we get notified of connections via the Upgrader emitting "connection"
529
+ // events, double check we aren't already tracking this connection before
530
+ // storing it
531
+ let trackedConnection = false
526
532
 
527
- for (const conn of peerConnections) {
528
- if (conn.id === connection.id) {
529
- trackedConnection = true
530
- }
533
+ for (const conn of peerConnections) {
534
+ if (conn.id === connection.id) {
535
+ trackedConnection = true
536
+ }
531
537
 
532
- // make sure we don't already have a connection to this multiaddr
533
- if (options.force !== true && conn.id !== connection.id && conn.remoteAddr.equals(connection.remoteAddr)) {
534
- connection.abort(new InvalidMultiaddrError('Duplicate multiaddr connection'))
538
+ // make sure we don't already have a connection to this multiaddr
539
+ if (options.force !== true && conn.id !== connection.id && conn.remoteAddr.equals(connection.remoteAddr)) {
540
+ connection.abort(new InvalidMultiaddrError('Duplicate multiaddr connection'))
535
541
 
536
- // return the existing connection
537
- return conn
542
+ // return the existing connection
543
+ return conn
544
+ }
538
545
  }
539
- }
540
546
 
541
- if (!trackedConnection) {
542
- peerConnections.push(connection)
543
- }
547
+ if (!trackedConnection) {
548
+ peerConnections.push(connection)
549
+ }
544
550
 
545
- return connection
551
+ return connection
552
+ } finally {
553
+ this.outboundPendingConnections--
554
+ }
546
555
  }
547
556
 
548
557
  async closeConnections (peerId: PeerId, options: AbortOptions = {}): Promise<void> {
package/src/version.ts CHANGED
@@ -1,2 +1,2 @@
1
- export const version = '2.1.4'
1
+ export const version = '2.1.5'
2
2
  export const name = 'libp2p'