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
|
@@ -12,19 +12,25 @@ import { handleStop } from './circuit/stop.js';
|
|
|
12
12
|
import { StreamHandler } from './circuit/stream-handler.js';
|
|
13
13
|
import { symbol } from '@libp2p/interface-transport';
|
|
14
14
|
import { peerIdFromString } from '@libp2p/peer-id';
|
|
15
|
-
import { Components } from '@libp2p/components';
|
|
16
15
|
import { abortableDuplex } from 'abortable-iterator';
|
|
17
16
|
import { TimeoutController } from 'timeout-abort-controller';
|
|
18
17
|
import { setMaxListeners } from 'events';
|
|
19
18
|
const log = logger('libp2p:circuit');
|
|
20
19
|
export class Circuit {
|
|
21
|
-
constructor(init) {
|
|
22
|
-
this.components = new Components();
|
|
20
|
+
constructor(components, init) {
|
|
23
21
|
this._init = init;
|
|
24
|
-
}
|
|
25
|
-
init(components) {
|
|
26
22
|
this.components = components;
|
|
27
|
-
|
|
23
|
+
this._started = false;
|
|
24
|
+
}
|
|
25
|
+
isStarted() {
|
|
26
|
+
return this._started;
|
|
27
|
+
}
|
|
28
|
+
async start() {
|
|
29
|
+
if (this._started) {
|
|
30
|
+
return;
|
|
31
|
+
}
|
|
32
|
+
this._started = true;
|
|
33
|
+
await this.components.registrar.handle(RELAY_CODEC, (data) => {
|
|
28
34
|
void this._onProtocol(data).catch(err => {
|
|
29
35
|
log.error(err);
|
|
30
36
|
});
|
|
@@ -33,6 +39,9 @@ export class Circuit {
|
|
|
33
39
|
log.error(err);
|
|
34
40
|
});
|
|
35
41
|
}
|
|
42
|
+
async stop() {
|
|
43
|
+
await this.components.registrar.unhandle(RELAY_CODEC);
|
|
44
|
+
}
|
|
36
45
|
hopEnabled() {
|
|
37
46
|
return true;
|
|
38
47
|
}
|
|
@@ -85,7 +94,7 @@ export class Circuit {
|
|
|
85
94
|
request,
|
|
86
95
|
streamHandler,
|
|
87
96
|
circuit: this,
|
|
88
|
-
connectionManager: this.components.
|
|
97
|
+
connectionManager: this.components.connectionManager
|
|
89
98
|
});
|
|
90
99
|
break;
|
|
91
100
|
}
|
|
@@ -120,7 +129,7 @@ export class Circuit {
|
|
|
120
129
|
});
|
|
121
130
|
const type = request.type === CircuitPB.Type.HOP ? 'relay' : 'inbound';
|
|
122
131
|
log('new %s connection %s', type, maConn.remoteAddr);
|
|
123
|
-
const conn = await this.components.
|
|
132
|
+
const conn = await this.components.upgrader.upgradeInbound(maConn);
|
|
124
133
|
log('%s connection %s upgraded', type, maConn.remoteAddr);
|
|
125
134
|
if (this.handler != null) {
|
|
126
135
|
this.handler(conn);
|
|
@@ -149,11 +158,11 @@ export class Circuit {
|
|
|
149
158
|
const relayPeer = peerIdFromString(relayId);
|
|
150
159
|
const destinationPeer = peerIdFromString(destinationId);
|
|
151
160
|
let disconnectOnFailure = false;
|
|
152
|
-
const relayConnections = this.components.
|
|
161
|
+
const relayConnections = this.components.connectionManager.getConnections(relayPeer);
|
|
153
162
|
let relayConnection = relayConnections[0];
|
|
154
163
|
if (relayConnection == null) {
|
|
155
|
-
await this.components.
|
|
156
|
-
relayConnection = await this.components.
|
|
164
|
+
await this.components.peerStore.addressBook.add(relayPeer, [relayAddr]);
|
|
165
|
+
relayConnection = await this.components.connectionManager.openConnection(relayPeer, options);
|
|
157
166
|
disconnectOnFailure = true;
|
|
158
167
|
}
|
|
159
168
|
try {
|
|
@@ -163,8 +172,8 @@ export class Circuit {
|
|
|
163
172
|
request: {
|
|
164
173
|
type: CircuitPB.Type.HOP,
|
|
165
174
|
srcPeer: {
|
|
166
|
-
id: this.components.
|
|
167
|
-
addrs: this.components.
|
|
175
|
+
id: this.components.peerId.toBytes(),
|
|
176
|
+
addrs: this.components.addressManager.getAddresses().map(addr => addr.bytes)
|
|
168
177
|
},
|
|
169
178
|
dstPeer: {
|
|
170
179
|
id: destinationPeer.toBytes(),
|
|
@@ -172,14 +181,14 @@ export class Circuit {
|
|
|
172
181
|
}
|
|
173
182
|
}
|
|
174
183
|
});
|
|
175
|
-
const localAddr = relayAddr.encapsulate(`/p2p-circuit/p2p/${this.components.
|
|
184
|
+
const localAddr = relayAddr.encapsulate(`/p2p-circuit/p2p/${this.components.peerId.toString()}`);
|
|
176
185
|
const maConn = streamToMaConnection({
|
|
177
186
|
stream: virtualConnection,
|
|
178
187
|
remoteAddr: ma,
|
|
179
188
|
localAddr
|
|
180
189
|
});
|
|
181
190
|
log('new outbound connection %s', maConn.remoteAddr);
|
|
182
|
-
return await this.components.
|
|
191
|
+
return await this.components.upgrader.upgradeOutbound(maConn);
|
|
183
192
|
}
|
|
184
193
|
catch (err) {
|
|
185
194
|
log.error('Circuit relay dial failed', err);
|
|
@@ -194,8 +203,8 @@ export class Circuit {
|
|
|
194
203
|
// Called on successful HOP and STOP requests
|
|
195
204
|
this.handler = options.handler;
|
|
196
205
|
return createListener({
|
|
197
|
-
connectionManager: this.components.
|
|
198
|
-
peerStore: this.components.
|
|
206
|
+
connectionManager: this.components.connectionManager,
|
|
207
|
+
peerStore: this.components.peerStore
|
|
199
208
|
});
|
|
200
209
|
}
|
|
201
210
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transport.js","sourceRoot":"","sources":["../../../src/circuit/transport.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AACvC,OAAO,OAAO,MAAM,UAAU,CAAA;AAC9B,OAAO,KAAK,KAAK,MAAM,qBAAqB,CAAA;AAE5C,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AACnD,OAAO,EAAE,YAAY,IAAI,SAAS,EAAE,MAAM,eAAe,CAAA;AACzD,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAA;AACpC,OAAO,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAA;AACtE,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAC9C,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;AAC/D,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAA;AAC3D,OAAO,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"transport.js","sourceRoot":"","sources":["../../../src/circuit/transport.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
import type { ConnectionGater, ConnectionProtector } from '@libp2p/interface-connection';
|
|
2
|
+
import type { ContentRouting } from '@libp2p/interface-content-routing';
|
|
3
|
+
import type { AddressManager } from '@libp2p/interface-address-manager';
|
|
4
|
+
import { Startable } from '@libp2p/interfaces/startable';
|
|
5
|
+
import type { Metrics } from '@libp2p/interface-metrics';
|
|
6
|
+
import type { PeerId } from '@libp2p/interface-peer-id';
|
|
7
|
+
import type { PeerRouting } from '@libp2p/interface-peer-routing';
|
|
8
|
+
import type { PeerStore } from '@libp2p/interface-peer-store';
|
|
9
|
+
import type { Registrar } from '@libp2p/interface-registrar';
|
|
10
|
+
import type { TransportManager, Upgrader } from '@libp2p/interface-transport';
|
|
11
|
+
import type { Datastore } from 'interface-datastore';
|
|
12
|
+
import type { PubSub } from '@libp2p/interface-pubsub';
|
|
13
|
+
import type { DualDHT } from '@libp2p/interface-dht';
|
|
14
|
+
import type { ConnectionManager, Dialer } from '@libp2p/interface-connection-manager';
|
|
15
|
+
export interface Components {
|
|
16
|
+
peerId: PeerId;
|
|
17
|
+
addressManager: AddressManager;
|
|
18
|
+
peerStore: PeerStore;
|
|
19
|
+
upgrader: Upgrader;
|
|
20
|
+
registrar: Registrar;
|
|
21
|
+
connectionManager: ConnectionManager;
|
|
22
|
+
transportManager: TransportManager;
|
|
23
|
+
connectionGater: ConnectionGater;
|
|
24
|
+
contentRouting: ContentRouting;
|
|
25
|
+
peerRouting: PeerRouting;
|
|
26
|
+
datastore: Datastore;
|
|
27
|
+
connectionProtector?: ConnectionProtector;
|
|
28
|
+
dialer: Dialer;
|
|
29
|
+
metrics?: Metrics;
|
|
30
|
+
dht?: DualDHT;
|
|
31
|
+
pubsub?: PubSub;
|
|
32
|
+
}
|
|
33
|
+
export interface ComponentsInit {
|
|
34
|
+
peerId?: PeerId;
|
|
35
|
+
addressManager?: AddressManager;
|
|
36
|
+
peerStore?: PeerStore;
|
|
37
|
+
upgrader?: Upgrader;
|
|
38
|
+
metrics?: Metrics;
|
|
39
|
+
registrar?: Registrar;
|
|
40
|
+
connectionManager?: ConnectionManager;
|
|
41
|
+
transportManager?: TransportManager;
|
|
42
|
+
connectionGater?: ConnectionGater;
|
|
43
|
+
contentRouting?: ContentRouting;
|
|
44
|
+
peerRouting?: PeerRouting;
|
|
45
|
+
datastore?: Datastore;
|
|
46
|
+
connectionProtector?: ConnectionProtector;
|
|
47
|
+
dht?: DualDHT;
|
|
48
|
+
pubsub?: PubSub;
|
|
49
|
+
dialer?: Dialer;
|
|
50
|
+
}
|
|
51
|
+
export declare class DefaultComponents implements Components, Startable {
|
|
52
|
+
private _peerId?;
|
|
53
|
+
private _addressManager?;
|
|
54
|
+
private _peerStore?;
|
|
55
|
+
private _upgrader?;
|
|
56
|
+
private _metrics?;
|
|
57
|
+
private _registrar?;
|
|
58
|
+
private _connectionManager?;
|
|
59
|
+
private _transportManager?;
|
|
60
|
+
private _connectionGater?;
|
|
61
|
+
private _contentRouting?;
|
|
62
|
+
private _peerRouting?;
|
|
63
|
+
private _datastore?;
|
|
64
|
+
private _connectionProtector?;
|
|
65
|
+
private _dht?;
|
|
66
|
+
private _pubsub?;
|
|
67
|
+
private _dialer?;
|
|
68
|
+
private _started;
|
|
69
|
+
constructor(init?: ComponentsInit);
|
|
70
|
+
isStarted(): boolean;
|
|
71
|
+
beforeStart(): Promise<void>;
|
|
72
|
+
start(): Promise<void>;
|
|
73
|
+
afterStart(): Promise<void>;
|
|
74
|
+
beforeStop(): Promise<void>;
|
|
75
|
+
stop(): Promise<void>;
|
|
76
|
+
afterStop(): Promise<void>;
|
|
77
|
+
get peerId(): PeerId;
|
|
78
|
+
set peerId(peerId: PeerId);
|
|
79
|
+
get addressManager(): AddressManager;
|
|
80
|
+
set addressManager(addressManager: AddressManager);
|
|
81
|
+
get peerStore(): PeerStore;
|
|
82
|
+
set peerStore(peerStore: PeerStore);
|
|
83
|
+
get upgrader(): Upgrader;
|
|
84
|
+
set upgrader(upgrader: Upgrader);
|
|
85
|
+
get registrar(): Registrar;
|
|
86
|
+
set registrar(registrar: Registrar);
|
|
87
|
+
get connectionManager(): ConnectionManager;
|
|
88
|
+
set connectionManager(connectionManager: ConnectionManager);
|
|
89
|
+
get transportManager(): TransportManager;
|
|
90
|
+
set transportManager(transportManager: TransportManager);
|
|
91
|
+
get connectionGater(): ConnectionGater;
|
|
92
|
+
set connectionGater(connectionGater: ConnectionGater);
|
|
93
|
+
get contentRouting(): ContentRouting;
|
|
94
|
+
set contentRouting(contentRouting: ContentRouting);
|
|
95
|
+
get peerRouting(): PeerRouting;
|
|
96
|
+
set peerRouting(peerRouting: PeerRouting);
|
|
97
|
+
get datastore(): Datastore;
|
|
98
|
+
set datastore(datastore: Datastore);
|
|
99
|
+
get connectionProtector(): ConnectionProtector | undefined;
|
|
100
|
+
set connectionProtector(connectionProtector: ConnectionProtector | undefined);
|
|
101
|
+
get dialer(): Dialer;
|
|
102
|
+
set dialer(dialer: Dialer);
|
|
103
|
+
get metrics(): Metrics | undefined;
|
|
104
|
+
set metrics(metrics: Metrics | undefined);
|
|
105
|
+
get dht(): DualDHT | undefined;
|
|
106
|
+
set dht(dht: DualDHT | undefined);
|
|
107
|
+
get pubsub(): PubSub | undefined;
|
|
108
|
+
set pubsub(pubsub: PubSub | undefined);
|
|
109
|
+
}
|
|
110
|
+
//# sourceMappingURL=components.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"components.d.ts","sourceRoot":"","sources":["../../src/components.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAA;AACxF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAA;AACvE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAA;AACvE,OAAO,EAAe,SAAS,EAAE,MAAM,8BAA8B,CAAA;AACrE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAA;AACxD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAA;AACvD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAA;AACjE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAA;AAC7D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAA;AAC5D,OAAO,KAAK,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAA;AAC7E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AACpD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAA;AACtD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAA;AACpD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,EAAE,MAAM,sCAAsC,CAAA;AAErF,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,MAAM,CAAA;IACd,cAAc,EAAE,cAAc,CAAA;IAC9B,SAAS,EAAE,SAAS,CAAA;IACpB,QAAQ,EAAE,QAAQ,CAAA;IAClB,SAAS,EAAE,SAAS,CAAA;IACpB,iBAAiB,EAAE,iBAAiB,CAAA;IACpC,gBAAgB,EAAE,gBAAgB,CAAA;IAClC,eAAe,EAAE,eAAe,CAAA;IAChC,cAAc,EAAE,cAAc,CAAA;IAC9B,WAAW,EAAE,WAAW,CAAA;IACxB,SAAS,EAAE,SAAS,CAAA;IACpB,mBAAmB,CAAC,EAAE,mBAAmB,CAAA;IACzC,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,GAAG,CAAC,EAAE,OAAO,CAAA;IACb,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED,MAAM,WAAW,cAAc;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,cAAc,CAAC,EAAE,cAAc,CAAA;IAC/B,SAAS,CAAC,EAAE,SAAS,CAAA;IACrB,QAAQ,CAAC,EAAE,QAAQ,CAAA;IACnB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,SAAS,CAAC,EAAE,SAAS,CAAA;IACrB,iBAAiB,CAAC,EAAE,iBAAiB,CAAA;IACrC,gBAAgB,CAAC,EAAE,gBAAgB,CAAA;IACnC,eAAe,CAAC,EAAE,eAAe,CAAA;IACjC,cAAc,CAAC,EAAE,cAAc,CAAA;IAC/B,WAAW,CAAC,EAAE,WAAW,CAAA;IACzB,SAAS,CAAC,EAAE,SAAS,CAAA;IACrB,mBAAmB,CAAC,EAAE,mBAAmB,CAAA;IACzC,GAAG,CAAC,EAAE,OAAO,CAAA;IACb,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED,qBAAa,iBAAkB,YAAW,UAAU,EAAE,SAAS;IAC7D,OAAO,CAAC,OAAO,CAAC,CAAQ;IACxB,OAAO,CAAC,eAAe,CAAC,CAAgB;IACxC,OAAO,CAAC,UAAU,CAAC,CAAW;IAC9B,OAAO,CAAC,SAAS,CAAC,CAAU;IAC5B,OAAO,CAAC,QAAQ,CAAC,CAAS;IAC1B,OAAO,CAAC,UAAU,CAAC,CAAW;IAC9B,OAAO,CAAC,kBAAkB,CAAC,CAAmB;IAC9C,OAAO,CAAC,iBAAiB,CAAC,CAAkB;IAC5C,OAAO,CAAC,gBAAgB,CAAC,CAAiB;IAC1C,OAAO,CAAC,eAAe,CAAC,CAAgB;IACxC,OAAO,CAAC,YAAY,CAAC,CAAa;IAClC,OAAO,CAAC,UAAU,CAAC,CAAW;IAC9B,OAAO,CAAC,oBAAoB,CAAC,CAAqB;IAClD,OAAO,CAAC,IAAI,CAAC,CAAS;IACtB,OAAO,CAAC,OAAO,CAAC,CAAQ;IACxB,OAAO,CAAC,OAAO,CAAC,CAAQ;IACxB,OAAO,CAAC,QAAQ,CAAQ;gBAEX,IAAI,GAAE,cAAmB;IAmBtC,SAAS;IAIH,WAAW;IAUX,KAAK;IAUL,UAAU;IAUV,UAAU;IAUV,IAAI;IAUJ,SAAS;IAUf,IAAI,MAAM,IAAK,MAAM,CAMpB;IAED,IAAI,MAAM,CAAE,MAAM,EAAE,MAAM,EAEzB;IAED,IAAI,cAAc,IAAK,cAAc,CAMpC;IAED,IAAI,cAAc,CAAE,cAAc,EAAE,cAAc,EAEjD;IAED,IAAI,SAAS,IAAK,SAAS,CAM1B;IAED,IAAI,SAAS,CAAE,SAAS,EAAE,SAAS,EAElC;IAED,IAAI,QAAQ,IAAK,QAAQ,CAMxB;IAED,IAAI,QAAQ,CAAE,QAAQ,EAAE,QAAQ,EAE/B;IAED,IAAI,SAAS,IAAK,SAAS,CAM1B;IAED,IAAI,SAAS,CAAE,SAAS,EAAE,SAAS,EAElC;IAED,IAAI,iBAAiB,IAAK,iBAAiB,CAM1C;IAED,IAAI,iBAAiB,CAAE,iBAAiB,EAAE,iBAAiB,EAE1D;IAED,IAAI,gBAAgB,IAAK,gBAAgB,CAMxC;IAED,IAAI,gBAAgB,CAAE,gBAAgB,EAAE,gBAAgB,EAEvD;IAED,IAAI,eAAe,IAAK,eAAe,CAMtC;IAED,IAAI,eAAe,CAAE,eAAe,EAAE,eAAe,EAEpD;IAED,IAAI,cAAc,IAAK,cAAc,CAMpC;IAED,IAAI,cAAc,CAAE,cAAc,EAAE,cAAc,EAEjD;IAED,IAAI,WAAW,IAAK,WAAW,CAM9B;IAED,IAAI,WAAW,CAAE,WAAW,EAAE,WAAW,EAExC;IAED,IAAI,SAAS,IAAK,SAAS,CAM1B;IAED,IAAI,SAAS,CAAE,SAAS,EAAE,SAAS,EAElC;IAED,IAAI,mBAAmB,IAAK,mBAAmB,GAAG,SAAS,CAE1D;IAED,IAAI,mBAAmB,CAAE,mBAAmB,EAAE,mBAAmB,GAAG,SAAS,EAE5E;IAED,IAAI,MAAM,IAAK,MAAM,CAMpB;IAED,IAAI,MAAM,CAAE,MAAM,EAAE,MAAM,EAEzB;IAED,IAAI,OAAO,IAAK,OAAO,GAAG,SAAS,CAElC;IAED,IAAI,OAAO,CAAE,OAAO,EAAE,OAAO,GAAG,SAAS,EAExC;IAED,IAAI,GAAG,IAAK,OAAO,GAAG,SAAS,CAE9B;IAED,IAAI,GAAG,CAAE,GAAG,EAAE,OAAO,GAAG,SAAS,EAEhC;IAED,IAAI,MAAM,IAAK,MAAM,GAAG,SAAS,CAEhC;IAED,IAAI,MAAM,CAAE,MAAM,EAAE,MAAM,GAAG,SAAS,EAErC;CACF"}
|
|
@@ -0,0 +1,199 @@
|
|
|
1
|
+
import errCode from 'err-code';
|
|
2
|
+
import { isStartable } from '@libp2p/interfaces/startable';
|
|
3
|
+
export class DefaultComponents {
|
|
4
|
+
constructor(init = {}) {
|
|
5
|
+
this._started = false;
|
|
6
|
+
this._peerId = init.peerId;
|
|
7
|
+
this._addressManager = init.addressManager;
|
|
8
|
+
this._peerStore = init.peerStore;
|
|
9
|
+
this._upgrader = init.upgrader;
|
|
10
|
+
this._metrics = init.metrics;
|
|
11
|
+
this._registrar = init.registrar;
|
|
12
|
+
this._connectionManager = init.connectionManager;
|
|
13
|
+
this._transportManager = init.transportManager;
|
|
14
|
+
this._connectionGater = init.connectionGater;
|
|
15
|
+
this._contentRouting = init.contentRouting;
|
|
16
|
+
this._peerRouting = init.peerRouting;
|
|
17
|
+
this._datastore = init.datastore;
|
|
18
|
+
this._connectionProtector = init.connectionProtector;
|
|
19
|
+
this._dht = init.dht;
|
|
20
|
+
this._pubsub = init.pubsub;
|
|
21
|
+
this._dialer = init.dialer;
|
|
22
|
+
}
|
|
23
|
+
isStarted() {
|
|
24
|
+
return this._started;
|
|
25
|
+
}
|
|
26
|
+
async beforeStart() {
|
|
27
|
+
await Promise.all(Object.values(this).filter(obj => isStartable(obj)).map(async (startable) => {
|
|
28
|
+
if (startable.beforeStart != null) {
|
|
29
|
+
await startable.beforeStart();
|
|
30
|
+
}
|
|
31
|
+
}));
|
|
32
|
+
}
|
|
33
|
+
async start() {
|
|
34
|
+
await Promise.all(Object.values(this).filter(obj => isStartable(obj)).map(async (startable) => {
|
|
35
|
+
await startable.start();
|
|
36
|
+
}));
|
|
37
|
+
this._started = true;
|
|
38
|
+
}
|
|
39
|
+
async afterStart() {
|
|
40
|
+
await Promise.all(Object.values(this).filter(obj => isStartable(obj)).map(async (startable) => {
|
|
41
|
+
if (startable.afterStart != null) {
|
|
42
|
+
await startable.afterStart();
|
|
43
|
+
}
|
|
44
|
+
}));
|
|
45
|
+
}
|
|
46
|
+
async beforeStop() {
|
|
47
|
+
await Promise.all(Object.values(this).filter(obj => isStartable(obj)).map(async (startable) => {
|
|
48
|
+
if (startable.beforeStop != null) {
|
|
49
|
+
await startable.beforeStop();
|
|
50
|
+
}
|
|
51
|
+
}));
|
|
52
|
+
}
|
|
53
|
+
async stop() {
|
|
54
|
+
await Promise.all(Object.values(this).filter(obj => isStartable(obj)).map(async (startable) => {
|
|
55
|
+
await startable.stop();
|
|
56
|
+
}));
|
|
57
|
+
this._started = false;
|
|
58
|
+
}
|
|
59
|
+
async afterStop() {
|
|
60
|
+
await Promise.all(Object.values(this).filter(obj => isStartable(obj)).map(async (startable) => {
|
|
61
|
+
if (startable.afterStop != null) {
|
|
62
|
+
await startable.afterStop();
|
|
63
|
+
}
|
|
64
|
+
}));
|
|
65
|
+
}
|
|
66
|
+
get peerId() {
|
|
67
|
+
if (this._peerId == null) {
|
|
68
|
+
throw errCode(new Error('peerId not set'), 'ERR_SERVICE_MISSING');
|
|
69
|
+
}
|
|
70
|
+
return this._peerId;
|
|
71
|
+
}
|
|
72
|
+
set peerId(peerId) {
|
|
73
|
+
this._peerId = peerId;
|
|
74
|
+
}
|
|
75
|
+
get addressManager() {
|
|
76
|
+
if (this._addressManager == null) {
|
|
77
|
+
throw errCode(new Error('addressManager not set'), 'ERR_SERVICE_MISSING');
|
|
78
|
+
}
|
|
79
|
+
return this._addressManager;
|
|
80
|
+
}
|
|
81
|
+
set addressManager(addressManager) {
|
|
82
|
+
this._addressManager = addressManager;
|
|
83
|
+
}
|
|
84
|
+
get peerStore() {
|
|
85
|
+
if (this._peerStore == null) {
|
|
86
|
+
throw errCode(new Error('peerStore not set'), 'ERR_SERVICE_MISSING');
|
|
87
|
+
}
|
|
88
|
+
return this._peerStore;
|
|
89
|
+
}
|
|
90
|
+
set peerStore(peerStore) {
|
|
91
|
+
this._peerStore = peerStore;
|
|
92
|
+
}
|
|
93
|
+
get upgrader() {
|
|
94
|
+
if (this._upgrader == null) {
|
|
95
|
+
throw errCode(new Error('upgrader not set'), 'ERR_SERVICE_MISSING');
|
|
96
|
+
}
|
|
97
|
+
return this._upgrader;
|
|
98
|
+
}
|
|
99
|
+
set upgrader(upgrader) {
|
|
100
|
+
this._upgrader = upgrader;
|
|
101
|
+
}
|
|
102
|
+
get registrar() {
|
|
103
|
+
if (this._registrar == null) {
|
|
104
|
+
throw errCode(new Error('registrar not set'), 'ERR_SERVICE_MISSING');
|
|
105
|
+
}
|
|
106
|
+
return this._registrar;
|
|
107
|
+
}
|
|
108
|
+
set registrar(registrar) {
|
|
109
|
+
this._registrar = registrar;
|
|
110
|
+
}
|
|
111
|
+
get connectionManager() {
|
|
112
|
+
if (this._connectionManager == null) {
|
|
113
|
+
throw errCode(new Error('connectionManager not set'), 'ERR_SERVICE_MISSING');
|
|
114
|
+
}
|
|
115
|
+
return this._connectionManager;
|
|
116
|
+
}
|
|
117
|
+
set connectionManager(connectionManager) {
|
|
118
|
+
this._connectionManager = connectionManager;
|
|
119
|
+
}
|
|
120
|
+
get transportManager() {
|
|
121
|
+
if (this._transportManager == null) {
|
|
122
|
+
throw errCode(new Error('transportManager not set'), 'ERR_SERVICE_MISSING');
|
|
123
|
+
}
|
|
124
|
+
return this._transportManager;
|
|
125
|
+
}
|
|
126
|
+
set transportManager(transportManager) {
|
|
127
|
+
this._transportManager = transportManager;
|
|
128
|
+
}
|
|
129
|
+
get connectionGater() {
|
|
130
|
+
if (this._connectionGater == null) {
|
|
131
|
+
throw errCode(new Error('connectionGater not set'), 'ERR_SERVICE_MISSING');
|
|
132
|
+
}
|
|
133
|
+
return this._connectionGater;
|
|
134
|
+
}
|
|
135
|
+
set connectionGater(connectionGater) {
|
|
136
|
+
this._connectionGater = connectionGater;
|
|
137
|
+
}
|
|
138
|
+
get contentRouting() {
|
|
139
|
+
if (this._contentRouting == null) {
|
|
140
|
+
throw errCode(new Error('contentRouting not set'), 'ERR_SERVICE_MISSING');
|
|
141
|
+
}
|
|
142
|
+
return this._contentRouting;
|
|
143
|
+
}
|
|
144
|
+
set contentRouting(contentRouting) {
|
|
145
|
+
this._contentRouting = contentRouting;
|
|
146
|
+
}
|
|
147
|
+
get peerRouting() {
|
|
148
|
+
if (this._peerRouting == null) {
|
|
149
|
+
throw errCode(new Error('peerRouting not set'), 'ERR_SERVICE_MISSING');
|
|
150
|
+
}
|
|
151
|
+
return this._peerRouting;
|
|
152
|
+
}
|
|
153
|
+
set peerRouting(peerRouting) {
|
|
154
|
+
this._peerRouting = peerRouting;
|
|
155
|
+
}
|
|
156
|
+
get datastore() {
|
|
157
|
+
if (this._datastore == null) {
|
|
158
|
+
throw errCode(new Error('datastore not set'), 'ERR_SERVICE_MISSING');
|
|
159
|
+
}
|
|
160
|
+
return this._datastore;
|
|
161
|
+
}
|
|
162
|
+
set datastore(datastore) {
|
|
163
|
+
this._datastore = datastore;
|
|
164
|
+
}
|
|
165
|
+
get connectionProtector() {
|
|
166
|
+
return this._connectionProtector;
|
|
167
|
+
}
|
|
168
|
+
set connectionProtector(connectionProtector) {
|
|
169
|
+
this._connectionProtector = connectionProtector;
|
|
170
|
+
}
|
|
171
|
+
get dialer() {
|
|
172
|
+
if (this._dialer == null) {
|
|
173
|
+
throw errCode(new Error('dialer not set'), 'ERR_SERVICE_MISSING');
|
|
174
|
+
}
|
|
175
|
+
return this._dialer;
|
|
176
|
+
}
|
|
177
|
+
set dialer(dialer) {
|
|
178
|
+
this._dialer = dialer;
|
|
179
|
+
}
|
|
180
|
+
get metrics() {
|
|
181
|
+
return this._metrics;
|
|
182
|
+
}
|
|
183
|
+
set metrics(metrics) {
|
|
184
|
+
this._metrics = metrics;
|
|
185
|
+
}
|
|
186
|
+
get dht() {
|
|
187
|
+
return this._dht;
|
|
188
|
+
}
|
|
189
|
+
set dht(dht) {
|
|
190
|
+
this._dht = dht;
|
|
191
|
+
}
|
|
192
|
+
get pubsub() {
|
|
193
|
+
return this._pubsub;
|
|
194
|
+
}
|
|
195
|
+
set pubsub(pubsub) {
|
|
196
|
+
this._pubsub = pubsub;
|
|
197
|
+
}
|
|
198
|
+
}
|
|
199
|
+
//# sourceMappingURL=components.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"components.js","sourceRoot":"","sources":["../../src/components.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,UAAU,CAAA;AAI9B,OAAO,EAAE,WAAW,EAAa,MAAM,8BAA8B,CAAA;AAkDrE,MAAM,OAAO,iBAAiB;IAmB5B,YAAa,OAAuB,EAAE;QAF9B,aAAQ,GAAG,KAAK,CAAA;QAGtB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,MAAM,CAAA;QAC1B,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,cAAc,CAAA;QAC1C,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,SAAS,CAAA;QAChC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAA;QAC9B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAA;QAC5B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,SAAS,CAAA;QAChC,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,iBAAiB,CAAA;QAChD,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,gBAAgB,CAAA;QAC9C,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,eAAe,CAAA;QAC5C,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,cAAc,CAAA;QAC1C,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,WAAW,CAAA;QACpC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,SAAS,CAAA;QAChC,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,mBAAmB,CAAA;QACpD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAA;QACpB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,MAAM,CAAA;QAC1B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,MAAM,CAAA;IAC5B,CAAC;IAED,SAAS;QACP,OAAO,IAAI,CAAC,QAAQ,CAAA;IACtB,CAAC;IAED,KAAK,CAAC,WAAW;QACf,MAAM,OAAO,CAAC,GAAG,CACf,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,SAAoB,EAAE,EAAE;YACrF,IAAI,SAAS,CAAC,WAAW,IAAI,IAAI,EAAE;gBACjC,MAAM,SAAS,CAAC,WAAW,EAAE,CAAA;aAC9B;QACH,CAAC,CAAC,CACH,CAAA;IACH,CAAC;IAED,KAAK,CAAC,KAAK;QACT,MAAM,OAAO,CAAC,GAAG,CACf,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,SAAoB,EAAE,EAAE;YACrF,MAAM,SAAS,CAAC,KAAK,EAAE,CAAA;QACzB,CAAC,CAAC,CACH,CAAA;QAED,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAA;IACtB,CAAC;IAED,KAAK,CAAC,UAAU;QACd,MAAM,OAAO,CAAC,GAAG,CACf,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,SAAoB,EAAE,EAAE;YACrF,IAAI,SAAS,CAAC,UAAU,IAAI,IAAI,EAAE;gBAChC,MAAM,SAAS,CAAC,UAAU,EAAE,CAAA;aAC7B;QACH,CAAC,CAAC,CACH,CAAA;IACH,CAAC;IAED,KAAK,CAAC,UAAU;QACd,MAAM,OAAO,CAAC,GAAG,CACf,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,SAAoB,EAAE,EAAE;YACrF,IAAI,SAAS,CAAC,UAAU,IAAI,IAAI,EAAE;gBAChC,MAAM,SAAS,CAAC,UAAU,EAAE,CAAA;aAC7B;QACH,CAAC,CAAC,CACH,CAAA;IACH,CAAC;IAED,KAAK,CAAC,IAAI;QACR,MAAM,OAAO,CAAC,GAAG,CACf,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,SAAoB,EAAE,EAAE;YACrF,MAAM,SAAS,CAAC,IAAI,EAAE,CAAA;QACxB,CAAC,CAAC,CACH,CAAA;QAED,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAA;IACvB,CAAC;IAED,KAAK,CAAC,SAAS;QACb,MAAM,OAAO,CAAC,GAAG,CACf,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,SAAoB,EAAE,EAAE;YACrF,IAAI,SAAS,CAAC,SAAS,IAAI,IAAI,EAAE;gBAC/B,MAAM,SAAS,CAAC,SAAS,EAAE,CAAA;aAC5B;QACH,CAAC,CAAC,CACH,CAAA;IACH,CAAC;IAED,IAAI,MAAM;QACR,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,EAAE;YACxB,MAAM,OAAO,CAAC,IAAI,KAAK,CAAC,gBAAgB,CAAC,EAAE,qBAAqB,CAAC,CAAA;SAClE;QAED,OAAO,IAAI,CAAC,OAAO,CAAA;IACrB,CAAC;IAED,IAAI,MAAM,CAAE,MAAc;QACxB,IAAI,CAAC,OAAO,GAAG,MAAM,CAAA;IACvB,CAAC;IAED,IAAI,cAAc;QAChB,IAAI,IAAI,CAAC,eAAe,IAAI,IAAI,EAAE;YAChC,MAAM,OAAO,CAAC,IAAI,KAAK,CAAC,wBAAwB,CAAC,EAAE,qBAAqB,CAAC,CAAA;SAC1E;QAED,OAAO,IAAI,CAAC,eAAe,CAAA;IAC7B,CAAC;IAED,IAAI,cAAc,CAAE,cAA8B;QAChD,IAAI,CAAC,eAAe,GAAG,cAAc,CAAA;IACvC,CAAC;IAED,IAAI,SAAS;QACX,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,EAAE;YAC3B,MAAM,OAAO,CAAC,IAAI,KAAK,CAAC,mBAAmB,CAAC,EAAE,qBAAqB,CAAC,CAAA;SACrE;QAED,OAAO,IAAI,CAAC,UAAU,CAAA;IACxB,CAAC;IAED,IAAI,SAAS,CAAE,SAAoB;QACjC,IAAI,CAAC,UAAU,GAAG,SAAS,CAAA;IAC7B,CAAC;IAED,IAAI,QAAQ;QACV,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,EAAE;YAC1B,MAAM,OAAO,CAAC,IAAI,KAAK,CAAC,kBAAkB,CAAC,EAAE,qBAAqB,CAAC,CAAA;SACpE;QAED,OAAO,IAAI,CAAC,SAAS,CAAA;IACvB,CAAC;IAED,IAAI,QAAQ,CAAE,QAAkB;QAC9B,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAA;IAC3B,CAAC;IAED,IAAI,SAAS;QACX,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,EAAE;YAC3B,MAAM,OAAO,CAAC,IAAI,KAAK,CAAC,mBAAmB,CAAC,EAAE,qBAAqB,CAAC,CAAA;SACrE;QAED,OAAO,IAAI,CAAC,UAAU,CAAA;IACxB,CAAC;IAED,IAAI,SAAS,CAAE,SAAoB;QACjC,IAAI,CAAC,UAAU,GAAG,SAAS,CAAA;IAC7B,CAAC;IAED,IAAI,iBAAiB;QACnB,IAAI,IAAI,CAAC,kBAAkB,IAAI,IAAI,EAAE;YACnC,MAAM,OAAO,CAAC,IAAI,KAAK,CAAC,2BAA2B,CAAC,EAAE,qBAAqB,CAAC,CAAA;SAC7E;QAED,OAAO,IAAI,CAAC,kBAAkB,CAAA;IAChC,CAAC;IAED,IAAI,iBAAiB,CAAE,iBAAoC;QACzD,IAAI,CAAC,kBAAkB,GAAG,iBAAiB,CAAA;IAC7C,CAAC;IAED,IAAI,gBAAgB;QAClB,IAAI,IAAI,CAAC,iBAAiB,IAAI,IAAI,EAAE;YAClC,MAAM,OAAO,CAAC,IAAI,KAAK,CAAC,0BAA0B,CAAC,EAAE,qBAAqB,CAAC,CAAA;SAC5E;QAED,OAAO,IAAI,CAAC,iBAAiB,CAAA;IAC/B,CAAC;IAED,IAAI,gBAAgB,CAAE,gBAAkC;QACtD,IAAI,CAAC,iBAAiB,GAAG,gBAAgB,CAAA;IAC3C,CAAC;IAED,IAAI,eAAe;QACjB,IAAI,IAAI,CAAC,gBAAgB,IAAI,IAAI,EAAE;YACjC,MAAM,OAAO,CAAC,IAAI,KAAK,CAAC,yBAAyB,CAAC,EAAE,qBAAqB,CAAC,CAAA;SAC3E;QAED,OAAO,IAAI,CAAC,gBAAgB,CAAA;IAC9B,CAAC;IAED,IAAI,eAAe,CAAE,eAAgC;QACnD,IAAI,CAAC,gBAAgB,GAAG,eAAe,CAAA;IACzC,CAAC;IAED,IAAI,cAAc;QAChB,IAAI,IAAI,CAAC,eAAe,IAAI,IAAI,EAAE;YAChC,MAAM,OAAO,CAAC,IAAI,KAAK,CAAC,wBAAwB,CAAC,EAAE,qBAAqB,CAAC,CAAA;SAC1E;QAED,OAAO,IAAI,CAAC,eAAe,CAAA;IAC7B,CAAC;IAED,IAAI,cAAc,CAAE,cAA8B;QAChD,IAAI,CAAC,eAAe,GAAG,cAAc,CAAA;IACvC,CAAC;IAED,IAAI,WAAW;QACb,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,EAAE;YAC7B,MAAM,OAAO,CAAC,IAAI,KAAK,CAAC,qBAAqB,CAAC,EAAE,qBAAqB,CAAC,CAAA;SACvE;QAED,OAAO,IAAI,CAAC,YAAY,CAAA;IAC1B,CAAC;IAED,IAAI,WAAW,CAAE,WAAwB;QACvC,IAAI,CAAC,YAAY,GAAG,WAAW,CAAA;IACjC,CAAC;IAED,IAAI,SAAS;QACX,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,EAAE;YAC3B,MAAM,OAAO,CAAC,IAAI,KAAK,CAAC,mBAAmB,CAAC,EAAE,qBAAqB,CAAC,CAAA;SACrE;QAED,OAAO,IAAI,CAAC,UAAU,CAAA;IACxB,CAAC;IAED,IAAI,SAAS,CAAE,SAAoB;QACjC,IAAI,CAAC,UAAU,GAAG,SAAS,CAAA;IAC7B,CAAC;IAED,IAAI,mBAAmB;QACrB,OAAO,IAAI,CAAC,oBAAoB,CAAA;IAClC,CAAC;IAED,IAAI,mBAAmB,CAAE,mBAAoD;QAC3E,IAAI,CAAC,oBAAoB,GAAG,mBAAmB,CAAA;IACjD,CAAC;IAED,IAAI,MAAM;QACR,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,EAAE;YACxB,MAAM,OAAO,CAAC,IAAI,KAAK,CAAC,gBAAgB,CAAC,EAAE,qBAAqB,CAAC,CAAA;SAClE;QAED,OAAO,IAAI,CAAC,OAAO,CAAA;IACrB,CAAC;IAED,IAAI,MAAM,CAAE,MAAc;QACxB,IAAI,CAAC,OAAO,GAAG,MAAM,CAAA;IACvB,CAAC;IAED,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,QAAQ,CAAA;IACtB,CAAC;IAED,IAAI,OAAO,CAAE,OAA4B;QACvC,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAA;IACzB,CAAC;IAED,IAAI,GAAG;QACL,OAAO,IAAI,CAAC,IAAI,CAAA;IAClB,CAAC;IAED,IAAI,GAAG,CAAE,GAAwB;QAC/B,IAAI,CAAC,IAAI,GAAG,GAAG,CAAA;IACjB,CAAC;IAED,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,OAAO,CAAA;IACrB,CAAC;IAED,IAAI,MAAM,CAAE,MAA0B;QACpC,IAAI,CAAC,OAAO,GAAG,MAAM,CAAA;IACvB,CAAC;CACF"}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import type { Startable } from '@libp2p/interfaces/startable';
|
|
2
|
-
import type {
|
|
2
|
+
import type { PeerId } from '@libp2p/interface-peer-id';
|
|
3
|
+
import type { ConnectionManager } from '@libp2p/interface-connection-manager';
|
|
4
|
+
import type { PeerStore } from '@libp2p/interface-peer-store';
|
|
3
5
|
export interface AutoDiallerInit {
|
|
4
6
|
/**
|
|
5
7
|
* Should preemptively guarantee connections are above the low watermark
|
|
@@ -14,6 +16,11 @@ export interface AutoDiallerInit {
|
|
|
14
16
|
*/
|
|
15
17
|
autoDialInterval?: number;
|
|
16
18
|
}
|
|
19
|
+
export interface AutoDiallerComponents {
|
|
20
|
+
peerId: PeerId;
|
|
21
|
+
connectionManager: ConnectionManager;
|
|
22
|
+
peerStore: PeerStore;
|
|
23
|
+
}
|
|
17
24
|
export declare class AutoDialler implements Startable {
|
|
18
25
|
private readonly components;
|
|
19
26
|
private readonly options;
|
|
@@ -24,7 +31,7 @@ export declare class AutoDialler implements Startable {
|
|
|
24
31
|
* It will keep the number of connections below the upper limit and sort
|
|
25
32
|
* the peers to connect based on wether we know their keys and protocols.
|
|
26
33
|
*/
|
|
27
|
-
constructor(components:
|
|
34
|
+
constructor(components: AutoDiallerComponents, init: AutoDiallerInit);
|
|
28
35
|
isStarted(): boolean;
|
|
29
36
|
/**
|
|
30
37
|
* Starts the auto dialer
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auto-dialler.d.ts","sourceRoot":"","sources":["../../../src/connection-manager/auto-dialler.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAA;AAC7D,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"auto-dialler.d.ts","sourceRoot":"","sources":["../../../src/connection-manager/auto-dialler.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAA;AAC7D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAA;AACvD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAA;AAC7E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAA;AAI7D,MAAM,WAAW,eAAe;IAC9B;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,CAAA;IAEjB;;OAEG;IACH,cAAc,CAAC,EAAE,MAAM,CAAA;IAEvB;;OAEG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAA;CAC1B;AAED,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,MAAM,CAAA;IACd,iBAAiB,EAAE,iBAAiB,CAAA;IACpC,SAAS,EAAE,SAAS,CAAA;CACrB;AAQD,qBAAa,WAAY,YAAW,SAAS;IAC3C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAuB;IAClD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA2B;IACnD,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,eAAe,CAAC,CAAqB;IAE7C;;;;OAIG;gBACU,UAAU,EAAE,qBAAqB,EAAE,IAAI,EAAE,eAAe;IASrE,SAAS;IAIT;;OAEG;IACG,KAAK;IAeX;;OAEG;IACG,IAAI;IAeJ,SAAS;CAyDhB"}
|
|
@@ -62,15 +62,15 @@ export class AutoDialler {
|
|
|
62
62
|
}
|
|
63
63
|
const minConnections = this.options.minConnections;
|
|
64
64
|
// Already has enough connections
|
|
65
|
-
if (this.components.
|
|
65
|
+
if (this.components.connectionManager.getConnections().length >= minConnections) {
|
|
66
66
|
this.autoDialTimeout = retimer(this._autoDial, this.options.autoDialInterval);
|
|
67
67
|
return;
|
|
68
68
|
}
|
|
69
69
|
// Sort peers on whether we know protocols or public keys for them
|
|
70
|
-
const allPeers = await this.components.
|
|
70
|
+
const allPeers = await this.components.peerStore.all();
|
|
71
71
|
const peers = await pipe(
|
|
72
72
|
// shuffle the peers
|
|
73
|
-
allPeers.sort(() => Math.random() > 0.5 ? 1 : -1), (source) => filter(source, (peer) => !peer.id.equals(this.components.
|
|
73
|
+
allPeers.sort(() => Math.random() > 0.5 ? 1 : -1), (source) => filter(source, (peer) => !peer.id.equals(this.components.peerId)), (source) => sort(source, (a, b) => {
|
|
74
74
|
if (b.protocols.length > a.protocols.length) {
|
|
75
75
|
return 1;
|
|
76
76
|
}
|
|
@@ -79,16 +79,16 @@ export class AutoDialler {
|
|
|
79
79
|
}
|
|
80
80
|
return -1;
|
|
81
81
|
}), async (source) => await all(source));
|
|
82
|
-
for (let i = 0; this.running && i < peers.length && this.components.
|
|
82
|
+
for (let i = 0; this.running && i < peers.length && this.components.connectionManager.getConnections().length < minConnections; i++) {
|
|
83
83
|
// Connection Manager was stopped during async dial
|
|
84
84
|
if (!this.running) {
|
|
85
85
|
return;
|
|
86
86
|
}
|
|
87
87
|
const peer = peers[i];
|
|
88
|
-
if (this.components.
|
|
88
|
+
if (this.components.connectionManager.getConnections(peer.id).length === 0) {
|
|
89
89
|
log('connecting to a peerStore stored peer %p', peer.id);
|
|
90
90
|
try {
|
|
91
|
-
await this.components.
|
|
91
|
+
await this.components.connectionManager.openConnection(peer.id);
|
|
92
92
|
}
|
|
93
93
|
catch (err) {
|
|
94
94
|
log.error('could not connect to peerStore stored peer', err);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auto-dialler.js","sourceRoot":"","sources":["../../../src/connection-manager/auto-dialler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AACvC,OAAO,YAAY,MAAM,eAAe,CAAA;AACxC,+CAA+C;AAC/C,OAAO,OAAO,MAAM,SAAS,CAAA;AAC7B,OAAO,GAAG,MAAM,QAAQ,CAAA;AACxB,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAA;AAC9B,OAAO,MAAM,MAAM,WAAW,CAAA;AAC9B,OAAO,IAAI,MAAM,SAAS,CAAA;
|
|
1
|
+
{"version":3,"file":"auto-dialler.js","sourceRoot":"","sources":["../../../src/connection-manager/auto-dialler.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import type { Multiaddr, Resolver } from '@multiformats/multiaddr';
|
|
2
2
|
import { TimeoutController } from 'timeout-abort-controller';
|
|
3
3
|
import { DialRequest } from './dial-request.js';
|
|
4
|
-
import type { Connection } from '@libp2p/interface-connection';
|
|
4
|
+
import type { Connection, ConnectionGater } from '@libp2p/interface-connection';
|
|
5
5
|
import type { AbortOptions } from '@libp2p/interfaces';
|
|
6
6
|
import type { Startable } from '@libp2p/interfaces/startable';
|
|
7
7
|
import type { PeerId } from '@libp2p/interface-peer-id';
|
|
8
|
-
import type {
|
|
9
|
-
import type {
|
|
10
|
-
import type { ComponentMetricsTracker } from '@libp2p/interface-metrics';
|
|
8
|
+
import type { AddressSorter, PeerStore } from '@libp2p/interface-peer-store';
|
|
9
|
+
import type { ComponentMetricsTracker, Metrics } from '@libp2p/interface-metrics';
|
|
11
10
|
import type { Dialer } from '@libp2p/interface-connection-manager';
|
|
11
|
+
import type { TransportManager } from '@libp2p/interface-transport';
|
|
12
12
|
export interface DialTarget {
|
|
13
13
|
id: string;
|
|
14
14
|
addrs: Multiaddr[];
|
|
@@ -50,6 +50,13 @@ export interface DialerInit {
|
|
|
50
50
|
resolvers?: Record<string, Resolver>;
|
|
51
51
|
metrics?: ComponentMetricsTracker;
|
|
52
52
|
}
|
|
53
|
+
export interface DefaultDialerComponents {
|
|
54
|
+
peerId: PeerId;
|
|
55
|
+
metrics?: Metrics;
|
|
56
|
+
peerStore: PeerStore;
|
|
57
|
+
transportManager: TransportManager;
|
|
58
|
+
connectionGater: ConnectionGater;
|
|
59
|
+
}
|
|
53
60
|
export declare class DefaultDialer implements Startable, Dialer {
|
|
54
61
|
private readonly components;
|
|
55
62
|
private readonly addressSorter;
|
|
@@ -60,7 +67,7 @@ export declare class DefaultDialer implements Startable, Dialer {
|
|
|
60
67
|
pendingDials: Map<string, PendingDial>;
|
|
61
68
|
pendingDialTargets: Map<string, PendingDialTarget>;
|
|
62
69
|
private started;
|
|
63
|
-
constructor(components:
|
|
70
|
+
constructor(components: DefaultDialerComponents, init?: DialerInit);
|
|
64
71
|
isStarted(): boolean;
|
|
65
72
|
start(): Promise<void>;
|
|
66
73
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/connection-manager/dialer/index.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAA;AAElE,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAA;AAI5D,OAAO,EAAc,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAU3D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/connection-manager/dialer/index.ts"],"names":[],"mappings":"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"}
|