libp2p 0.39.5 → 0.40.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +5 -0
- package/dist/src/address-manager/index.d.ts +18 -2
- package/dist/src/address-manager/index.d.ts.map +1 -1
- package/dist/src/address-manager/index.js +18 -5
- package/dist/src/address-manager/index.js.map +1 -1
- package/dist/src/circuit/auto-relay.d.ts +2 -2
- package/dist/src/circuit/auto-relay.d.ts.map +1 -1
- package/dist/src/circuit/auto-relay.js +12 -12
- package/dist/src/circuit/auto-relay.js.map +1 -1
- package/dist/src/circuit/index.d.ts +13 -3
- package/dist/src/circuit/index.d.ts.map +1 -1
- package/dist/src/circuit/index.js +1 -1
- package/dist/src/circuit/index.js.map +1 -1
- package/dist/src/circuit/pb/index.d.ts.map +1 -1
- package/dist/src/circuit/pb/index.js +29 -34
- package/dist/src/circuit/pb/index.js.map +1 -1
- package/dist/src/circuit/transport.d.ts +22 -7
- package/dist/src/circuit/transport.d.ts.map +1 -1
- package/dist/src/circuit/transport.js +26 -17
- package/dist/src/circuit/transport.js.map +1 -1
- package/dist/src/components.d.ts +110 -0
- package/dist/src/components.d.ts.map +1 -0
- package/dist/src/components.js +199 -0
- package/dist/src/components.js.map +1 -0
- package/dist/src/connection-manager/auto-dialler.d.ts +9 -2
- package/dist/src/connection-manager/auto-dialler.d.ts.map +1 -1
- package/dist/src/connection-manager/auto-dialler.js +6 -6
- package/dist/src/connection-manager/auto-dialler.js.map +1 -1
- package/dist/src/connection-manager/dialer/index.d.ts +12 -5
- package/dist/src/connection-manager/dialer/index.d.ts.map +1 -1
- package/dist/src/connection-manager/dialer/index.js +9 -9
- package/dist/src/connection-manager/dialer/index.js.map +1 -1
- package/dist/src/connection-manager/index.d.ts +41 -9
- package/dist/src/connection-manager/index.d.ts.map +1 -1
- package/dist/src/connection-manager/index.js +82 -39
- package/dist/src/connection-manager/index.js.map +1 -1
- package/dist/src/content-routing/index.d.ts +7 -2
- package/dist/src/content-routing/index.d.ts.map +1 -1
- package/dist/src/content-routing/index.js +4 -4
- package/dist/src/content-routing/index.js.map +1 -1
- package/dist/src/content-routing/utils.d.ts +1 -1
- package/dist/src/content-routing/utils.d.ts.map +1 -1
- package/dist/src/errors.d.ts +2 -1
- package/dist/src/errors.d.ts.map +1 -1
- package/dist/src/errors.js +1 -0
- package/dist/src/errors.js.map +1 -1
- package/dist/src/fetch/index.d.ts +7 -3
- package/dist/src/fetch/index.d.ts.map +1 -1
- package/dist/src/fetch/index.js +3 -3
- package/dist/src/fetch/index.js.map +1 -1
- package/dist/src/fetch/pb/proto.d.ts.map +1 -1
- package/dist/src/fetch/pb/proto.js +24 -35
- package/dist/src/fetch/pb/proto.js.map +1 -1
- package/dist/src/identify/index.d.ts +13 -3
- package/dist/src/identify/index.d.ts.map +1 -1
- package/dist/src/identify/index.js +41 -41
- package/dist/src/identify/index.js.map +1 -1
- package/dist/src/identify/pb/message.d.ts.map +1 -1
- package/dist/src/identify/pb/message.js +23 -34
- package/dist/src/identify/pb/message.js.map +1 -1
- package/dist/src/index.d.ts +10 -9
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js.map +1 -1
- package/dist/src/insecure/index.d.ts +2 -8
- package/dist/src/insecure/index.d.ts.map +1 -1
- package/dist/src/insecure/index.js +5 -3
- package/dist/src/insecure/index.js.map +1 -1
- package/dist/src/insecure/pb/proto.d.ts.map +1 -1
- package/dist/src/insecure/pb/proto.js +24 -29
- package/dist/src/insecure/pb/proto.js.map +1 -1
- package/dist/src/keychain/index.d.ts +6 -2
- package/dist/src/keychain/index.d.ts.map +1 -1
- package/dist/src/keychain/index.js +19 -19
- package/dist/src/keychain/index.js.map +1 -1
- package/dist/src/libp2p.d.ts +1 -2
- package/dist/src/libp2p.d.ts.map +1 -1
- package/dist/src/libp2p.js +48 -71
- package/dist/src/libp2p.js.map +1 -1
- package/dist/src/nat-manager.d.ts +9 -2
- package/dist/src/nat-manager.d.ts.map +1 -1
- package/dist/src/nat-manager.js +3 -3
- package/dist/src/nat-manager.js.map +1 -1
- package/dist/src/peer-record-updater.d.ts +11 -2
- package/dist/src/peer-record-updater.d.ts.map +1 -1
- package/dist/src/peer-record-updater.js +10 -10
- package/dist/src/peer-record-updater.js.map +1 -1
- package/dist/src/peer-routing.d.ts +6 -2
- package/dist/src/peer-routing.d.ts.map +1 -1
- package/dist/src/peer-routing.js +4 -4
- package/dist/src/peer-routing.js.map +1 -1
- package/dist/src/ping/index.d.ts +7 -3
- package/dist/src/ping/index.d.ts.map +1 -1
- package/dist/src/ping/index.js +3 -3
- package/dist/src/ping/index.js.map +1 -1
- package/dist/src/pnet/index.d.ts +2 -17
- package/dist/src/pnet/index.d.ts.map +1 -1
- package/dist/src/pnet/index.js +4 -1
- package/dist/src/pnet/index.js.map +1 -1
- package/dist/src/pubsub/dummy-pubsub.d.ts +2 -1
- package/dist/src/pubsub/dummy-pubsub.d.ts.map +1 -1
- package/dist/src/pubsub/dummy-pubsub.js +4 -0
- package/dist/src/pubsub/dummy-pubsub.js.map +1 -1
- package/dist/src/registrar.d.ts +9 -3
- package/dist/src/registrar.d.ts.map +1 -1
- package/dist/src/registrar.js +6 -6
- package/dist/src/registrar.js.map +1 -1
- package/dist/src/transport-manager.d.ts +9 -3
- package/dist/src/transport-manager.d.ts.map +1 -1
- package/dist/src/transport-manager.js +4 -4
- package/dist/src/transport-manager.js.map +1 -1
- package/dist/src/upgrader.d.ts +17 -5
- package/dist/src/upgrader.d.ts.map +1 -1
- package/dist/src/upgrader.js +55 -43
- package/dist/src/upgrader.js.map +1 -1
- package/package.json +37 -37
- package/src/address-manager/index.ts +31 -8
- package/src/circuit/auto-relay.ts +15 -15
- package/src/circuit/index.ts +16 -5
- package/src/circuit/pb/index.ts +29 -35
- package/src/circuit/transport.ts +49 -20
- package/src/components.ts +332 -0
- package/src/connection-manager/auto-dialler.ts +17 -9
- package/src/connection-manager/dialer/index.ts +23 -15
- package/src/connection-manager/index.ts +139 -47
- package/src/content-routing/index.ts +13 -7
- package/src/errors.ts +2 -1
- package/src/fetch/index.ts +12 -7
- package/src/fetch/pb/proto.ts +24 -35
- package/src/identify/index.ts +57 -53
- package/src/identify/pb/message.ts +23 -35
- package/src/index.ts +10 -9
- package/src/insecure/index.ts +6 -3
- package/src/insecure/pb/proto.ts +24 -29
- package/src/keychain/index.ts +27 -22
- package/src/libp2p.ts +49 -77
- package/src/nat-manager.ts +14 -6
- package/src/peer-record-updater.ts +23 -13
- package/src/peer-routing.ts +12 -7
- package/src/ping/index.ts +12 -7
- package/src/pnet/index.ts +5 -1
- package/src/pubsub/dummy-pubsub.ts +3 -1
- package/src/registrar.ts +17 -10
- package/src/transport-manager.ts +15 -8
- package/src/upgrader.ts +75 -49
- package/src/version.ts +1 -1
- package/dist/src/connection-manager/dialer/auto-dialer.d.ts +0 -16
- package/dist/src/connection-manager/dialer/auto-dialer.d.ts.map +0 -1
- package/dist/src/connection-manager/dialer/auto-dialer.js +0 -43
- package/dist/src/connection-manager/dialer/auto-dialer.js.map +0 -1
- package/src/connection-manager/dialer/auto-dialer.ts +0 -65
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import type { PeerInfo } from '@libp2p/interface-peer-info';
|
|
2
|
-
import type { Components } from '@libp2p/components';
|
|
3
|
-
export interface AutoDialerInit {
|
|
4
|
-
enabled: boolean;
|
|
5
|
-
minConnections: number;
|
|
6
|
-
dialTimeout: number;
|
|
7
|
-
}
|
|
8
|
-
export declare class AutoDialer {
|
|
9
|
-
private readonly components;
|
|
10
|
-
private readonly enabled;
|
|
11
|
-
private readonly minConnections;
|
|
12
|
-
private readonly dialTimeout;
|
|
13
|
-
constructor(components: Components, init: AutoDialerInit);
|
|
14
|
-
handle(evt: CustomEvent<PeerInfo>): void;
|
|
15
|
-
}
|
|
16
|
-
//# sourceMappingURL=auto-dialer.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"auto-dialer.d.ts","sourceRoot":"","sources":["../../../../src/connection-manager/dialer/auto-dialer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAA;AAE3D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAMpD,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,OAAO,CAAA;IAChB,cAAc,EAAE,MAAM,CAAA;IACtB,WAAW,EAAE,MAAM,CAAA;CACpB;AAED,qBAAa,UAAU;IACrB,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAY;IACvC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAQ;IACvC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAQ;gBAEvB,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,cAAc;IAOlD,MAAM,CAAE,GAAG,EAAE,WAAW,CAAC,QAAQ,CAAC;CAqC1C"}
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
import { logger } from '@libp2p/logger';
|
|
2
|
-
import { TimeoutController } from 'timeout-abort-controller';
|
|
3
|
-
import { setMaxListeners } from 'events';
|
|
4
|
-
const log = logger('libp2p:dialer:auto-dialer');
|
|
5
|
-
export class AutoDialer {
|
|
6
|
-
constructor(components, init) {
|
|
7
|
-
this.components = components;
|
|
8
|
-
this.enabled = init.enabled;
|
|
9
|
-
this.minConnections = init.minConnections;
|
|
10
|
-
this.dialTimeout = init.dialTimeout;
|
|
11
|
-
}
|
|
12
|
-
handle(evt) {
|
|
13
|
-
const { detail: peer } = evt;
|
|
14
|
-
if (!this.enabled) {
|
|
15
|
-
return;
|
|
16
|
-
}
|
|
17
|
-
const connections = this.components.getConnectionManager().getConnections(peer.id);
|
|
18
|
-
// If auto dialing is on and we have no connection to the peer, check if we should dial
|
|
19
|
-
if (connections.length === 0) {
|
|
20
|
-
const minConnections = this.minConnections ?? 0;
|
|
21
|
-
const allConnections = this.components.getConnectionManager().getConnections();
|
|
22
|
-
if (minConnections > allConnections.length) {
|
|
23
|
-
log('auto-dialing discovered peer %p with timeout %d', peer.id, this.dialTimeout);
|
|
24
|
-
const controller = new TimeoutController(this.dialTimeout);
|
|
25
|
-
try {
|
|
26
|
-
// fails on node < 15.4
|
|
27
|
-
setMaxListeners?.(Infinity, controller.signal);
|
|
28
|
-
}
|
|
29
|
-
catch { }
|
|
30
|
-
void this.components.getConnectionManager().openConnection(peer.id, {
|
|
31
|
-
signal: controller.signal
|
|
32
|
-
})
|
|
33
|
-
.catch(err => {
|
|
34
|
-
log.error('could not connect to discovered peer %p with %o', peer.id, err);
|
|
35
|
-
})
|
|
36
|
-
.finally(() => {
|
|
37
|
-
controller.clear();
|
|
38
|
-
});
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
//# sourceMappingURL=auto-dialer.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"auto-dialer.js","sourceRoot":"","sources":["../../../../src/connection-manager/dialer/auto-dialer.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AAEvC,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAA;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,QAAQ,CAAA;AAExC,MAAM,GAAG,GAAG,MAAM,CAAC,2BAA2B,CAAC,CAAA;AAQ/C,MAAM,OAAO,UAAU;IAMrB,YAAa,UAAsB,EAAE,IAAoB;QACvD,IAAI,CAAC,UAAU,GAAG,UAAU,CAAA;QAC5B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAA;QAC3B,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAA;QACzC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAA;IACrC,CAAC;IAEM,MAAM,CAAE,GAA0B;QACvC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,GAAG,CAAA;QAE5B,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;YACjB,OAAM;SACP;QAED,MAAM,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,oBAAoB,EAAE,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QAElF,uFAAuF;QACvF,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE;YAC5B,MAAM,cAAc,GAAG,IAAI,CAAC,cAAc,IAAI,CAAC,CAAA;YAE/C,MAAM,cAAc,GAAG,IAAI,CAAC,UAAU,CAAC,oBAAoB,EAAE,CAAC,cAAc,EAAE,CAAA;YAE9E,IAAI,cAAc,GAAG,cAAc,CAAC,MAAM,EAAE;gBAC1C,GAAG,CAAC,iDAAiD,EAAE,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC,CAAA;gBAEjF,MAAM,UAAU,GAAG,IAAI,iBAAiB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;gBAE1D,IAAI;oBACF,uBAAuB;oBACvB,eAAe,EAAE,CAAC,QAAQ,EAAE,UAAU,CAAC,MAAM,CAAC,CAAA;iBAC/C;gBAAC,MAAM,GAAE;gBAEV,KAAK,IAAI,CAAC,UAAU,CAAC,oBAAoB,EAAE,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,EAAE;oBAClE,MAAM,EAAE,UAAU,CAAC,MAAM;iBAC1B,CAAC;qBACC,KAAK,CAAC,GAAG,CAAC,EAAE;oBACX,GAAG,CAAC,KAAK,CAAC,iDAAiD,EAAE,IAAI,CAAC,EAAE,EAAE,GAAG,CAAC,CAAA;gBAC5E,CAAC,CAAC;qBACD,OAAO,CAAC,GAAG,EAAE;oBACZ,UAAU,CAAC,KAAK,EAAE,CAAA;gBACpB,CAAC,CAAC,CAAA;aACL;SACF;IACH,CAAC;CACF"}
|
|
@@ -1,65 +0,0 @@
|
|
|
1
|
-
import type { PeerInfo } from '@libp2p/interface-peer-info'
|
|
2
|
-
import { logger } from '@libp2p/logger'
|
|
3
|
-
import type { Components } from '@libp2p/components'
|
|
4
|
-
import { TimeoutController } from 'timeout-abort-controller'
|
|
5
|
-
import { setMaxListeners } from 'events'
|
|
6
|
-
|
|
7
|
-
const log = logger('libp2p:dialer:auto-dialer')
|
|
8
|
-
|
|
9
|
-
export interface AutoDialerInit {
|
|
10
|
-
enabled: boolean
|
|
11
|
-
minConnections: number
|
|
12
|
-
dialTimeout: number
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
export class AutoDialer {
|
|
16
|
-
private readonly components: Components
|
|
17
|
-
private readonly enabled: boolean
|
|
18
|
-
private readonly minConnections: number
|
|
19
|
-
private readonly dialTimeout: number
|
|
20
|
-
|
|
21
|
-
constructor (components: Components, init: AutoDialerInit) {
|
|
22
|
-
this.components = components
|
|
23
|
-
this.enabled = init.enabled
|
|
24
|
-
this.minConnections = init.minConnections
|
|
25
|
-
this.dialTimeout = init.dialTimeout
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
public handle (evt: CustomEvent<PeerInfo>) {
|
|
29
|
-
const { detail: peer } = evt
|
|
30
|
-
|
|
31
|
-
if (!this.enabled) {
|
|
32
|
-
return
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
const connections = this.components.getConnectionManager().getConnections(peer.id)
|
|
36
|
-
|
|
37
|
-
// If auto dialing is on and we have no connection to the peer, check if we should dial
|
|
38
|
-
if (connections.length === 0) {
|
|
39
|
-
const minConnections = this.minConnections ?? 0
|
|
40
|
-
|
|
41
|
-
const allConnections = this.components.getConnectionManager().getConnections()
|
|
42
|
-
|
|
43
|
-
if (minConnections > allConnections.length) {
|
|
44
|
-
log('auto-dialing discovered peer %p with timeout %d', peer.id, this.dialTimeout)
|
|
45
|
-
|
|
46
|
-
const controller = new TimeoutController(this.dialTimeout)
|
|
47
|
-
|
|
48
|
-
try {
|
|
49
|
-
// fails on node < 15.4
|
|
50
|
-
setMaxListeners?.(Infinity, controller.signal)
|
|
51
|
-
} catch {}
|
|
52
|
-
|
|
53
|
-
void this.components.getConnectionManager().openConnection(peer.id, {
|
|
54
|
-
signal: controller.signal
|
|
55
|
-
})
|
|
56
|
-
.catch(err => {
|
|
57
|
-
log.error('could not connect to discovered peer %p with %o', peer.id, err)
|
|
58
|
-
})
|
|
59
|
-
.finally(() => {
|
|
60
|
-
controller.clear()
|
|
61
|
-
})
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
}
|