libp2p 0.46.18 → 0.46.19-fb8a6f188

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 (67) hide show
  1. package/dist/index.min.js +22 -22
  2. package/dist/src/components.d.ts +3 -1
  3. package/dist/src/components.d.ts.map +1 -1
  4. package/dist/src/components.js +4 -0
  5. package/dist/src/components.js.map +1 -1
  6. package/dist/src/connection/index.d.ts +3 -1
  7. package/dist/src/connection/index.d.ts.map +1 -1
  8. package/dist/src/connection/index.js +9 -9
  9. package/dist/src/connection/index.js.map +1 -1
  10. package/dist/src/connection-manager/auto-dial.d.ts +3 -1
  11. package/dist/src/connection-manager/auto-dial.d.ts.map +1 -1
  12. package/dist/src/connection-manager/auto-dial.js +20 -20
  13. package/dist/src/connection-manager/auto-dial.js.map +1 -1
  14. package/dist/src/connection-manager/connection-pruner.d.ts +3 -1
  15. package/dist/src/connection-manager/connection-pruner.d.ts.map +1 -1
  16. package/dist/src/connection-manager/connection-pruner.js +8 -8
  17. package/dist/src/connection-manager/connection-pruner.js.map +1 -1
  18. package/dist/src/connection-manager/dial-queue.d.ts +3 -1
  19. package/dist/src/connection-manager/dial-queue.d.ts.map +1 -1
  20. package/dist/src/connection-manager/dial-queue.js +26 -23
  21. package/dist/src/connection-manager/dial-queue.js.map +1 -1
  22. package/dist/src/connection-manager/index.d.ts +3 -1
  23. package/dist/src/connection-manager/index.d.ts.map +1 -1
  24. package/dist/src/connection-manager/index.js +21 -18
  25. package/dist/src/connection-manager/index.js.map +1 -1
  26. package/dist/src/connection-manager/utils.d.ts +2 -1
  27. package/dist/src/connection-manager/utils.d.ts.map +1 -1
  28. package/dist/src/connection-manager/utils.js +2 -4
  29. package/dist/src/connection-manager/utils.js.map +1 -1
  30. package/dist/src/identify/consts.d.ts +1 -1
  31. package/dist/src/identify/consts.d.ts.map +1 -1
  32. package/dist/src/identify/identify.d.ts.map +1 -1
  33. package/dist/src/identify/identify.js +20 -20
  34. package/dist/src/identify/identify.js.map +1 -1
  35. package/dist/src/identify/index.d.ts +2 -1
  36. package/dist/src/identify/index.d.ts.map +1 -1
  37. package/dist/src/identify/index.js.map +1 -1
  38. package/dist/src/index.d.ts +21 -1
  39. package/dist/src/index.d.ts.map +1 -1
  40. package/dist/src/index.js.map +1 -1
  41. package/dist/src/libp2p.d.ts +2 -1
  42. package/dist/src/libp2p.d.ts.map +1 -1
  43. package/dist/src/libp2p.js +20 -16
  44. package/dist/src/libp2p.js.map +1 -1
  45. package/dist/src/upgrader.d.ts +3 -1
  46. package/dist/src/upgrader.d.ts.map +1 -1
  47. package/dist/src/upgrader.js +30 -29
  48. package/dist/src/upgrader.js.map +1 -1
  49. package/dist/src/version.d.ts +1 -1
  50. package/dist/src/version.d.ts.map +1 -1
  51. package/dist/src/version.js +1 -1
  52. package/dist/src/version.js.map +1 -1
  53. package/package.json +21 -21
  54. package/src/components.ts +8 -1
  55. package/src/connection/index.ts +12 -11
  56. package/src/connection-manager/auto-dial.ts +22 -22
  57. package/src/connection-manager/connection-pruner.ts +10 -10
  58. package/src/connection-manager/dial-queue.ts +28 -25
  59. package/src/connection-manager/index.ts +23 -20
  60. package/src/connection-manager/utils.ts +5 -7
  61. package/src/identify/identify.ts +21 -22
  62. package/src/identify/index.ts +2 -1
  63. package/src/index.ts +22 -1
  64. package/src/libp2p.ts +21 -18
  65. package/src/upgrader.ts +32 -31
  66. package/src/version.ts +1 -1
  67. package/dist/typedoc-urls.json +0 -71
@@ -1,13 +1,11 @@
1
1
  import { CodeError } from '@libp2p/interface/errors';
2
2
  import { setMaxListeners } from '@libp2p/interface/events';
3
- import { logger } from '@libp2p/logger';
4
3
  import * as mss from '@libp2p/multistream-select';
5
4
  import { peerIdFromString } from '@libp2p/peer-id';
6
5
  import { createConnection } from './connection/index.js';
7
6
  import { INBOUND_UPGRADE_TIMEOUT } from './connection-manager/constants.js';
8
7
  import { codes } from './errors.js';
9
8
  import { DEFAULT_MAX_INBOUND_STREAMS, DEFAULT_MAX_OUTBOUND_STREAMS } from './registrar.js';
10
- const log = logger('libp2p:upgrader');
11
9
  function findIncomingStreamLimit(protocol, registrar) {
12
10
  try {
13
11
  const { options } = registrar.getHandler(protocol);
@@ -49,9 +47,11 @@ export class DefaultUpgrader {
49
47
  muxers;
50
48
  inboundUpgradeTimeout;
51
49
  events;
50
+ #log;
52
51
  constructor(components, init) {
53
52
  this.components = components;
54
53
  this.connectionEncryption = new Map();
54
+ this.#log = components.logger.forComponent('libp2p:upgrader');
55
55
  init.connectionEncryption.forEach(encrypter => {
56
56
  this.connectionEncryption.set(encrypter.protocol, encrypter);
57
57
  });
@@ -94,13 +94,13 @@ export class DefaultUpgrader {
94
94
  throw new CodeError('The multiaddr connection is blocked by gater.acceptConnection', codes.ERR_CONNECTION_INTERCEPTED);
95
95
  }
96
96
  this.components.metrics?.trackMultiaddrConnection(maConn);
97
- log('starting the inbound connection upgrade');
97
+ this.#log('starting the inbound connection upgrade');
98
98
  // Protect
99
99
  let protectedConn = maConn;
100
100
  if (opts?.skipProtection !== true) {
101
101
  const protector = this.components.connectionProtector;
102
102
  if (protector != null) {
103
- log('protecting the inbound connection');
103
+ this.#log('protecting the inbound connection');
104
104
  protectedConn = await protector.protect(maConn);
105
105
  }
106
106
  }
@@ -143,11 +143,11 @@ export class DefaultUpgrader {
143
143
  }
144
144
  }
145
145
  catch (err) {
146
- log.error('Failed to upgrade inbound connection', err);
146
+ this.#log.error('Failed to upgrade inbound connection', err);
147
147
  throw err;
148
148
  }
149
149
  await this.shouldBlockConnection(remotePeer, maConn, 'denyInboundUpgradedConnection');
150
- log('Successfully upgraded inbound connection');
150
+ this.#log('Successfully upgraded inbound connection');
151
151
  return this._createConnection({
152
152
  cryptoProtocol,
153
153
  direction: 'inbound',
@@ -179,7 +179,7 @@ export class DefaultUpgrader {
179
179
  let cryptoProtocol;
180
180
  let muxerFactory;
181
181
  this.components.metrics?.trackMultiaddrConnection(maConn);
182
- log('Starting the outbound connection upgrade');
182
+ this.#log('Starting the outbound connection upgrade');
183
183
  // If the transport natively supports encryption, skip connection
184
184
  // protector and encryption
185
185
  // Protect
@@ -227,12 +227,12 @@ export class DefaultUpgrader {
227
227
  }
228
228
  }
229
229
  catch (err) {
230
- log.error('Failed to upgrade outbound connection', err);
230
+ this.#log.error('Failed to upgrade outbound connection', err);
231
231
  await maConn.close(err);
232
232
  throw err;
233
233
  }
234
234
  await this.shouldBlockConnection(remotePeer, maConn, 'denyOutboundUpgradedConnection');
235
- log('Successfully upgraded outbound connection');
235
+ this.#log('Successfully upgraded outbound connection');
236
236
  return this._createConnection({
237
237
  cryptoProtocol,
238
238
  direction: 'outbound',
@@ -264,7 +264,7 @@ export class DefaultUpgrader {
264
264
  .then(async () => {
265
265
  const protocols = this.components.registrar.getProtocols();
266
266
  const { stream, protocol } = await mss.handle(muxedStream, protocols);
267
- log('%s: incoming stream opened on %s', direction, protocol);
267
+ this.#log('%s: incoming stream opened on %s', direction, protocol);
268
268
  if (connection == null) {
269
269
  return;
270
270
  }
@@ -289,7 +289,7 @@ export class DefaultUpgrader {
289
289
  this._onStream({ connection, stream: muxedStream, protocol });
290
290
  })
291
291
  .catch(async (err) => {
292
- log.error(err);
292
+ this.#log.error(err);
293
293
  if (muxedStream.timeline.close == null) {
294
294
  await muxedStream.close();
295
295
  }
@@ -300,11 +300,11 @@ export class DefaultUpgrader {
300
300
  if (muxer == null) {
301
301
  throw new CodeError('Stream is not multiplexed', codes.ERR_MUXER_UNAVAILABLE);
302
302
  }
303
- log('%s-%s: starting new stream on %s', connection.id, direction, protocols);
303
+ this.#log('%s-%s: starting new stream on %s', connection.id, direction, protocols);
304
304
  const muxedStream = await muxer.newStream();
305
305
  try {
306
306
  if (options.signal == null) {
307
- log('No abort signal was passed while trying to negotiate protocols %s falling back to default timeout', protocols);
307
+ this.#log('No abort signal was passed while trying to negotiate protocols %s falling back to default timeout', protocols);
308
308
  options.signal = AbortSignal.timeout(30000);
309
309
  setMaxListeners(Infinity, options.signal);
310
310
  }
@@ -330,7 +330,7 @@ export class DefaultUpgrader {
330
330
  return muxedStream;
331
331
  }
332
332
  catch (err) {
333
- log.error('could not create new stream for protocols %s on connection with address %a', protocols, connection.remoteAddr, err);
333
+ this.#log.error('could not create new stream for protocols %s on connection with address %a', protocols, connection.remoteAddr, err);
334
334
  if (muxedStream.timeline.close == null) {
335
335
  muxedStream.abort(err);
336
336
  }
@@ -345,7 +345,7 @@ export class DefaultUpgrader {
345
345
  muxer.sink(upgradedConn.source),
346
346
  upgradedConn.sink(muxer.source)
347
347
  ]).catch(err => {
348
- log.error(err);
348
+ this.#log.error(err);
349
349
  });
350
350
  }
351
351
  const _timeline = maConn.timeline;
@@ -360,7 +360,7 @@ export class DefaultUpgrader {
360
360
  }
361
361
  }
362
362
  catch (err) {
363
- log.error(err);
363
+ this.#log.error(err);
364
364
  }
365
365
  finally {
366
366
  this.events.safeDispatchEvent('connection:close', {
@@ -368,7 +368,7 @@ export class DefaultUpgrader {
368
368
  });
369
369
  }
370
370
  })().catch(err => {
371
- log.error(err);
371
+ this.#log.error(err);
372
372
  });
373
373
  }
374
374
  return Reflect.set(...args);
@@ -388,6 +388,7 @@ export class DefaultUpgrader {
388
388
  multiplexer: muxer?.protocol,
389
389
  encryption: cryptoProtocol,
390
390
  transient,
391
+ logger: this.components.logger,
391
392
  newStream: newStream ?? errConnectionNotMultiplexed,
392
393
  getStreams: () => { if (muxer != null) {
393
394
  return muxer.streams;
@@ -398,13 +399,13 @@ export class DefaultUpgrader {
398
399
  close: async (options) => {
399
400
  // Ensure remaining streams are closed gracefully
400
401
  if (muxer != null) {
401
- log.trace('close muxer');
402
+ this.#log.trace('close muxer');
402
403
  await muxer.close(options);
403
404
  }
404
- log.trace('close maconn');
405
+ this.#log.trace('close maconn');
405
406
  // close the underlying transport
406
407
  await maConn.close(options);
407
- log.trace('closed maconn');
408
+ this.#log.trace('closed maconn');
408
409
  },
409
410
  abort: (err) => {
410
411
  maConn.abort(err);
@@ -435,7 +436,7 @@ export class DefaultUpgrader {
435
436
  */
436
437
  async _encryptInbound(connection) {
437
438
  const protocols = Array.from(this.connectionEncryption.keys());
438
- log('handling inbound crypto protocol selection', protocols);
439
+ this.#log('handling inbound crypto protocol selection', protocols);
439
440
  try {
440
441
  const { stream, protocol } = await mss.handle(connection, protocols, {
441
442
  writeBytes: true
@@ -444,7 +445,7 @@ export class DefaultUpgrader {
444
445
  if (encrypter == null) {
445
446
  throw new Error(`no crypto module found for ${protocol}`);
446
447
  }
447
- log('encrypting inbound connection...');
448
+ this.#log('encrypting inbound connection...');
448
449
  return {
449
450
  ...await encrypter.secureInbound(this.components.peerId, stream),
450
451
  protocol
@@ -460,7 +461,7 @@ export class DefaultUpgrader {
460
461
  */
461
462
  async _encryptOutbound(connection, remotePeerId) {
462
463
  const protocols = Array.from(this.connectionEncryption.keys());
463
- log('selecting outbound crypto protocol', protocols);
464
+ this.#log('selecting outbound crypto protocol', protocols);
464
465
  try {
465
466
  const { stream, protocol } = await mss.select(connection, protocols, {
466
467
  writeBytes: true
@@ -469,7 +470,7 @@ export class DefaultUpgrader {
469
470
  if (encrypter == null) {
470
471
  throw new Error(`no crypto module found for ${protocol}`);
471
472
  }
472
- log('encrypting outbound connection to %p', remotePeerId);
473
+ this.#log('encrypting outbound connection to %p', remotePeerId);
473
474
  return {
474
475
  ...await encrypter.secureOutbound(this.components.peerId, stream, remotePeerId),
475
476
  protocol
@@ -485,17 +486,17 @@ export class DefaultUpgrader {
485
486
  */
486
487
  async _multiplexOutbound(connection, muxers) {
487
488
  const protocols = Array.from(muxers.keys());
488
- log('outbound selecting muxer %s', protocols);
489
+ this.#log('outbound selecting muxer %s', protocols);
489
490
  try {
490
491
  const { stream, protocol } = await mss.select(connection, protocols, {
491
492
  writeBytes: true
492
493
  });
493
- log('%s selected as muxer protocol', protocol);
494
+ this.#log('%s selected as muxer protocol', protocol);
494
495
  const muxerFactory = muxers.get(protocol);
495
496
  return { stream, muxerFactory };
496
497
  }
497
498
  catch (err) {
498
- log.error('error multiplexing outbound stream', err);
499
+ this.#log.error('error multiplexing outbound stream', err);
499
500
  throw new CodeError(String(err), codes.ERR_MUXER_UNAVAILABLE);
500
501
  }
501
502
  }
@@ -505,7 +506,7 @@ export class DefaultUpgrader {
505
506
  */
506
507
  async _multiplexInbound(connection, muxers) {
507
508
  const protocols = Array.from(muxers.keys());
508
- log('inbound handling muxers %s', protocols);
509
+ this.#log('inbound handling muxers %s', protocols);
509
510
  try {
510
511
  const { stream, protocol } = await mss.handle(connection, protocols, {
511
512
  writeBytes: true
@@ -514,7 +515,7 @@ export class DefaultUpgrader {
514
515
  return { stream, muxerFactory };
515
516
  }
516
517
  catch (err) {
517
- log.error('error multiplexing inbound stream', err);
518
+ this.#log.error('error multiplexing inbound stream', err);
518
519
  throw new CodeError(String(err), codes.ERR_MUXER_UNAVAILABLE);
519
520
  }
520
521
  }
@@ -1 +1 @@
1
- {"version":3,"file":"upgrader.js","sourceRoot":"","sources":["../../src/upgrader.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"upgrader.js","sourceRoot":"","sources":["../../src/upgrader.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,3 @@
1
- export declare const version = "0.46.18";
1
+ export declare const version = "0.46.19-fb8a6f188";
2
2
  export declare const name = "libp2p";
3
3
  //# sourceMappingURL=version.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../../src/version.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,OAAO,YAAY,CAAA;AAChC,eAAO,MAAM,IAAI,WAAW,CAAA"}
1
+ {"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../../src/version.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,OAAO,sBAAsB,CAAA;AAC1C,eAAO,MAAM,IAAI,WAAW,CAAA"}
@@ -1,3 +1,3 @@
1
- export const version = '0.46.18';
1
+ export const version = '0.46.19-fb8a6f188';
2
2
  export const name = 'libp2p';
3
3
  //# sourceMappingURL=version.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/version.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,OAAO,GAAG,SAAS,CAAA;AAChC,MAAM,CAAC,MAAM,IAAI,GAAG,QAAQ,CAAA"}
1
+ {"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/version.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,OAAO,GAAG,mBAAmB,CAAA;AAC1C,MAAM,CAAC,MAAM,IAAI,GAAG,QAAQ,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "libp2p",
3
- "version": "0.46.18",
3
+ "version": "0.46.19-fb8a6f188",
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/master/packages/libp2p#readme",
@@ -121,18 +121,18 @@
121
121
  },
122
122
  "dependencies": {
123
123
  "@achingbrain/nat-port-mapper": "^1.0.9",
124
- "@libp2p/crypto": "^2.0.7",
125
- "@libp2p/interface": "^0.1.5",
126
- "@libp2p/interface-internal": "^0.1.8",
127
- "@libp2p/keychain": "^3.0.7",
128
- "@libp2p/logger": "^3.0.5",
129
- "@libp2p/multistream-select": "^4.0.5",
130
- "@libp2p/peer-collections": "^4.0.7",
131
- "@libp2p/peer-id": "^3.0.5",
132
- "@libp2p/peer-id-factory": "^3.0.7",
133
- "@libp2p/peer-record": "^6.0.8",
134
- "@libp2p/peer-store": "^9.0.8",
135
- "@libp2p/utils": "^4.0.6",
124
+ "@libp2p/crypto": "2.0.7-fb8a6f188",
125
+ "@libp2p/interface": "0.1.5-fb8a6f188",
126
+ "@libp2p/interface-internal": "0.1.8-fb8a6f188",
127
+ "@libp2p/keychain": "3.0.7-fb8a6f188",
128
+ "@libp2p/logger": "3.0.5-fb8a6f188",
129
+ "@libp2p/multistream-select": "4.0.5-fb8a6f188",
130
+ "@libp2p/peer-collections": "4.0.7-fb8a6f188",
131
+ "@libp2p/peer-id": "3.0.5-fb8a6f188",
132
+ "@libp2p/peer-id-factory": "3.0.7-fb8a6f188",
133
+ "@libp2p/peer-record": "6.0.8-fb8a6f188",
134
+ "@libp2p/peer-store": "9.0.8-fb8a6f188",
135
+ "@libp2p/utils": "4.0.6-fb8a6f188",
136
136
  "@multiformats/mafmt": "^12.1.2",
137
137
  "@multiformats/multiaddr": "^12.1.5",
138
138
  "@multiformats/multiaddr-matcher": "^1.0.0",
@@ -170,17 +170,17 @@
170
170
  "@chainsafe/libp2p-gossipsub": "^10.0.0",
171
171
  "@chainsafe/libp2p-noise": "^13.0.0",
172
172
  "@chainsafe/libp2p-yamux": "^5.0.0",
173
- "@libp2p/bootstrap": "^9.0.10",
173
+ "@libp2p/bootstrap": "9.0.11-fb8a6f188",
174
174
  "@libp2p/daemon-client": "^7.0.0",
175
175
  "@libp2p/daemon-server": "^6.0.0",
176
- "@libp2p/floodsub": "^8.0.11",
177
- "@libp2p/interface-compliance-tests": "^4.1.3",
176
+ "@libp2p/floodsub": "8.0.12-fb8a6f188",
177
+ "@libp2p/interface-compliance-tests": "4.1.4-fb8a6f188",
178
178
  "@libp2p/interop": "^9.0.0",
179
- "@libp2p/kad-dht": "^10.0.12",
180
- "@libp2p/mdns": "^9.0.12",
181
- "@libp2p/mplex": "^9.0.10",
182
- "@libp2p/tcp": "^8.0.11",
183
- "@libp2p/websockets": "^7.0.11",
179
+ "@libp2p/kad-dht": "10.0.13-fb8a6f188",
180
+ "@libp2p/mdns": "9.0.13-fb8a6f188",
181
+ "@libp2p/mplex": "9.0.11-fb8a6f188",
182
+ "@libp2p/tcp": "8.0.12-fb8a6f188",
183
+ "@libp2p/websockets": "7.0.12-fb8a6f188",
184
184
  "@types/xsalsa20": "^1.1.0",
185
185
  "aegir": "^41.0.2",
186
186
  "execa": "^8.0.1",
package/src/components.ts CHANGED
@@ -1,6 +1,7 @@
1
1
  import { CodeError } from '@libp2p/interface/errors'
2
2
  import { isStartable, type Startable } from '@libp2p/interface/startable'
3
- import type { Libp2pEvents } from '@libp2p/interface'
3
+ import { defaultLogger } from '@libp2p/logger'
4
+ import type { Libp2pEvents, ComponentLogger } from '@libp2p/interface'
4
5
  import type { ConnectionProtector } from '@libp2p/interface/connection'
5
6
  import type { ConnectionGater } from '@libp2p/interface/connection-gater'
6
7
  import type { ContentRouting } from '@libp2p/interface/content-routing'
@@ -18,6 +19,7 @@ import type { Datastore } from 'interface-datastore'
18
19
 
19
20
  export interface Components extends Record<string, any>, Startable {
20
21
  peerId: PeerId
22
+ logger: ComponentLogger
21
23
  events: TypedEventTarget<Libp2pEvents>
22
24
  addressManager: AddressManager
23
25
  peerStore: PeerStore
@@ -35,6 +37,7 @@ export interface Components extends Record<string, any>, Startable {
35
37
 
36
38
  export interface ComponentsInit {
37
39
  peerId?: PeerId
40
+ logger?: ComponentLogger
38
41
  events?: TypedEventTarget<Libp2pEvents>
39
42
  addressManager?: AddressManager
40
43
  peerStore?: PeerStore
@@ -60,6 +63,10 @@ class DefaultComponents implements Startable {
60
63
  for (const [key, value] of Object.entries(init)) {
61
64
  this.components[key] = value
62
65
  }
66
+
67
+ if (this.components.logger == null) {
68
+ this.components.logger = defaultLogger()
69
+ }
63
70
  }
64
71
 
65
72
  isStarted (): boolean {
@@ -1,14 +1,11 @@
1
1
  import { symbol } from '@libp2p/interface/connection'
2
2
  import { CodeError } from '@libp2p/interface/errors'
3
3
  import { setMaxListeners } from '@libp2p/interface/events'
4
- import { logger } from '@libp2p/logger'
5
- import type { AbortOptions } from '@libp2p/interface'
4
+ import type { AbortOptions, Logger, ComponentLogger } from '@libp2p/interface'
6
5
  import type { Direction, Connection, Stream, ConnectionTimeline, ConnectionStatus, NewStreamOptions } from '@libp2p/interface/connection'
7
6
  import type { PeerId } from '@libp2p/interface/peer-id'
8
7
  import type { Multiaddr } from '@multiformats/multiaddr'
9
8
 
10
- const log = logger('libp2p:connection')
11
-
12
9
  const CLOSE_TIMEOUT = 500
13
10
 
14
11
  interface ConnectionInit {
@@ -24,6 +21,7 @@ interface ConnectionInit {
24
21
  multiplexer?: string
25
22
  encryption?: string
26
23
  transient?: boolean
24
+ logger: ComponentLogger
27
25
  }
28
26
 
29
27
  /**
@@ -76,6 +74,8 @@ export class ConnectionImpl implements Connection {
76
74
  */
77
75
  private readonly _getStreams: () => Stream[]
78
76
 
77
+ readonly #log: Logger
78
+
79
79
  /**
80
80
  * An implementation of the js-libp2p connection.
81
81
  * Any libp2p transport should use an upgrader to return this connection.
@@ -92,6 +92,7 @@ export class ConnectionImpl implements Connection {
92
92
  this.multiplexer = init.multiplexer
93
93
  this.encryption = init.encryption
94
94
  this.transient = init.transient ?? false
95
+ this.#log = init.logger.forComponent('libp2p:connection')
95
96
 
96
97
  if (this.remoteAddr.getPeerId() == null) {
97
98
  this.remoteAddr = this.remoteAddr.encapsulate(`/p2p/${this.remotePeer}`)
@@ -150,7 +151,7 @@ export class ConnectionImpl implements Connection {
150
151
  return
151
152
  }
152
153
 
153
- log('closing connection to %a', this.remoteAddr)
154
+ this.#log('closing connection to %a', this.remoteAddr)
154
155
 
155
156
  this.status = 'closing'
156
157
 
@@ -159,35 +160,35 @@ export class ConnectionImpl implements Connection {
159
160
  setMaxListeners(Infinity, options.signal)
160
161
 
161
162
  try {
162
- log.trace('closing all streams')
163
+ this.#log.trace('closing all streams')
163
164
 
164
165
  // close all streams gracefully - this can throw if we're not multiplexed
165
166
  await Promise.all(
166
167
  this.streams.map(async s => s.close(options))
167
168
  )
168
169
 
169
- log.trace('closing underlying transport')
170
+ this.#log.trace('closing underlying transport')
170
171
 
171
172
  // close raw connection
172
173
  await this._close(options)
173
174
 
174
- log.trace('updating timeline with close time')
175
+ this.#log.trace('updating timeline with close time')
175
176
 
176
177
  this.status = 'closed'
177
178
  this.timeline.close = Date.now()
178
179
  } catch (err: any) {
179
- log.error('error encountered during graceful close of connection to %a', this.remoteAddr, err)
180
+ this.#log.error('error encountered during graceful close of connection to %a', this.remoteAddr, err)
180
181
  this.abort(err)
181
182
  }
182
183
  }
183
184
 
184
185
  abort (err: Error): void {
185
- log.error('aborting connection to %a due to error', this.remoteAddr, err)
186
+ this.#log.error('aborting connection to %a due to error', this.remoteAddr, err)
186
187
 
187
188
  this.status = 'closing'
188
189
  this.streams.forEach(s => { s.abort(err) })
189
190
 
190
- log.error('all streams aborted', this.streams.length)
191
+ this.#log.error('all streams aborted', this.streams.length)
191
192
 
192
193
  // Abort raw connection
193
194
  this._abort(err)