libp2p 0.44.0 → 0.45.0-08d4c261
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/dist/index.min.js +32 -32
- package/dist/src/address-manager/index.d.ts +9 -5
- package/dist/src/address-manager/index.d.ts.map +1 -1
- package/dist/src/address-manager/index.js +44 -7
- package/dist/src/address-manager/index.js.map +1 -1
- package/dist/src/address-manager/utils.d.ts +2 -0
- package/dist/src/address-manager/utils.d.ts.map +1 -0
- package/dist/src/address-manager/utils.js +12 -0
- package/dist/src/address-manager/utils.js.map +1 -0
- package/dist/src/autonat/constants.d.ts +16 -2
- package/dist/src/autonat/constants.d.ts.map +1 -1
- package/dist/src/autonat/constants.js +16 -2
- package/dist/src/autonat/constants.js.map +1 -1
- package/dist/src/autonat/index.d.ts +12 -33
- package/dist/src/autonat/index.d.ts.map +1 -1
- package/dist/src/autonat/index.js +48 -33
- package/dist/src/autonat/index.js.map +1 -1
- package/dist/src/circuit-relay/index.d.ts +1 -1
- package/dist/src/circuit-relay/index.d.ts.map +1 -1
- package/dist/src/circuit-relay/server/advert-service.d.ts +2 -2
- package/dist/src/circuit-relay/server/advert-service.d.ts.map +1 -1
- package/dist/src/circuit-relay/server/advert-service.js +8 -4
- package/dist/src/circuit-relay/server/advert-service.js.map +1 -1
- package/dist/src/circuit-relay/server/index.d.ts +8 -8
- package/dist/src/circuit-relay/server/index.d.ts.map +1 -1
- package/dist/src/circuit-relay/server/index.js +32 -12
- package/dist/src/circuit-relay/server/index.js.map +1 -1
- package/dist/src/circuit-relay/server/reservation-store.d.ts +5 -5
- package/dist/src/circuit-relay/server/reservation-store.d.ts.map +1 -1
- package/dist/src/circuit-relay/server/reservation-store.js +10 -3
- package/dist/src/circuit-relay/server/reservation-store.js.map +1 -1
- package/dist/src/circuit-relay/server/reservation-voucher.d.ts.map +1 -1
- package/dist/src/circuit-relay/server/reservation-voucher.js +5 -2
- package/dist/src/circuit-relay/server/reservation-voucher.js.map +1 -1
- package/dist/src/circuit-relay/transport/discovery.d.ts +4 -4
- package/dist/src/circuit-relay/transport/discovery.d.ts.map +1 -1
- package/dist/src/circuit-relay/transport/discovery.js +13 -5
- package/dist/src/circuit-relay/transport/discovery.js.map +1 -1
- package/dist/src/circuit-relay/transport/index.d.ts +10 -8
- package/dist/src/circuit-relay/transport/index.d.ts.map +1 -1
- package/dist/src/circuit-relay/transport/index.js +26 -18
- package/dist/src/circuit-relay/transport/index.js.map +1 -1
- package/dist/src/circuit-relay/transport/listener.d.ts +1 -1
- package/dist/src/circuit-relay/transport/listener.d.ts.map +1 -1
- package/dist/src/circuit-relay/transport/listener.js +43 -43
- package/dist/src/circuit-relay/transport/listener.js.map +1 -1
- package/dist/src/circuit-relay/transport/reservation-store.d.ts +8 -7
- package/dist/src/circuit-relay/transport/reservation-store.d.ts.map +1 -1
- package/dist/src/circuit-relay/transport/reservation-store.js +65 -52
- package/dist/src/circuit-relay/transport/reservation-store.js.map +1 -1
- package/dist/src/circuit-relay/utils.d.ts.map +1 -1
- package/dist/src/circuit-relay/utils.js +3 -3
- package/dist/src/circuit-relay/utils.js.map +1 -1
- package/dist/src/components.d.ts +10 -67
- package/dist/src/components.d.ts.map +1 -1
- package/dist/src/components.js +61 -165
- package/dist/src/components.js.map +1 -1
- package/dist/src/config/connection-gater.browser.d.ts +8 -0
- package/dist/src/config/connection-gater.browser.d.ts.map +1 -0
- package/dist/src/config/connection-gater.browser.js +27 -0
- package/dist/src/config/connection-gater.browser.js.map +1 -0
- package/dist/src/config/connection-gater.d.ts +6 -0
- package/dist/src/config/connection-gater.d.ts.map +1 -0
- package/dist/src/config/connection-gater.js +18 -0
- package/dist/src/config/connection-gater.js.map +1 -0
- package/dist/src/config.d.ts +2 -1
- package/dist/src/config.d.ts.map +1 -1
- package/dist/src/config.js +4 -66
- package/dist/src/config.js.map +1 -1
- package/dist/src/connection/index.d.ts +3 -3
- package/dist/src/connection/index.d.ts.map +1 -1
- package/dist/src/connection/index.js +38 -8
- package/dist/src/connection/index.js.map +1 -1
- package/dist/src/connection-manager/auto-dial.d.ts +4 -1
- package/dist/src/connection-manager/auto-dial.d.ts.map +1 -1
- package/dist/src/connection-manager/auto-dial.js +44 -13
- package/dist/src/connection-manager/auto-dial.js.map +1 -1
- package/dist/src/connection-manager/connection-pruner.d.ts +4 -0
- package/dist/src/connection-manager/connection-pruner.d.ts.map +1 -1
- package/dist/src/connection-manager/connection-pruner.js +28 -8
- package/dist/src/connection-manager/connection-pruner.js.map +1 -1
- package/dist/src/connection-manager/dial-queue.d.ts +7 -6
- package/dist/src/connection-manager/dial-queue.d.ts.map +1 -1
- package/dist/src/connection-manager/dial-queue.js +59 -23
- package/dist/src/connection-manager/dial-queue.js.map +1 -1
- package/dist/src/connection-manager/index.d.ts +16 -15
- package/dist/src/connection-manager/index.d.ts.map +1 -1
- package/dist/src/connection-manager/index.js +44 -41
- package/dist/src/connection-manager/index.js.map +1 -1
- package/dist/src/connection-manager/utils.d.ts +2 -3
- package/dist/src/connection-manager/utils.d.ts.map +1 -1
- package/dist/src/connection-manager/utils.js +3 -3
- package/dist/src/connection-manager/utils.js.map +1 -1
- package/dist/src/content-routing/index.d.ts +2 -12
- package/dist/src/content-routing/index.d.ts.map +1 -1
- package/dist/src/content-routing/index.js +12 -44
- 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/content-routing/utils.js +3 -1
- package/dist/src/content-routing/utils.js.map +1 -1
- package/dist/src/fetch/index.d.ts +15 -37
- package/dist/src/fetch/index.d.ts.map +1 -1
- package/dist/src/fetch/index.js +19 -16
- package/dist/src/fetch/index.js.map +1 -1
- package/dist/src/get-peer.d.ts +1 -1
- package/dist/src/get-peer.d.ts.map +1 -1
- package/dist/src/get-peer.js +3 -3
- package/dist/src/get-peer.js.map +1 -1
- package/dist/src/identify/identify.d.ts +53 -0
- package/dist/src/identify/identify.d.ts.map +1 -0
- package/dist/src/identify/identify.js +417 -0
- package/dist/src/identify/identify.js.map +1 -0
- package/dist/src/identify/index.d.ts +14 -59
- package/dist/src/identify/index.d.ts.map +1 -1
- package/dist/src/identify/index.js +5 -388
- package/dist/src/identify/index.js.map +1 -1
- package/dist/src/index.d.ts +28 -79
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +2 -1
- package/dist/src/index.js.map +1 -1
- package/dist/src/insecure/index.js +6 -8
- package/dist/src/insecure/index.js.map +1 -1
- package/dist/src/libp2p.d.ts +16 -47
- package/dist/src/libp2p.d.ts.map +1 -1
- package/dist/src/libp2p.js +141 -201
- package/dist/src/libp2p.js.map +1 -1
- package/dist/src/peer-routing.d.ts +3 -40
- package/dist/src/peer-routing.d.ts.map +1 -1
- package/dist/src/peer-routing.js +8 -65
- package/dist/src/peer-routing.js.map +1 -1
- package/dist/src/ping/constants.d.ts +4 -0
- package/dist/src/ping/constants.d.ts.map +1 -1
- package/dist/src/ping/constants.js +10 -0
- package/dist/src/ping/constants.js.map +1 -1
- package/dist/src/ping/index.d.ts +11 -28
- package/dist/src/ping/index.d.ts.map +1 -1
- package/dist/src/ping/index.js +31 -28
- package/dist/src/ping/index.js.map +1 -1
- package/dist/src/pnet/crypto.js +3 -3
- package/dist/src/pnet/crypto.js.map +1 -1
- package/dist/src/pnet/index.d.ts.map +1 -1
- package/dist/src/pnet/index.js +9 -6
- package/dist/src/pnet/index.js.map +1 -1
- package/dist/src/pnet/key-generator.js +1 -1
- package/dist/src/pnet/key-generator.js.map +1 -1
- package/dist/src/pubsub/dummy-pubsub.d.ts.map +1 -1
- package/dist/src/pubsub/dummy-pubsub.js +2 -5
- package/dist/src/pubsub/dummy-pubsub.js.map +1 -1
- package/dist/src/registrar.d.ts +6 -4
- package/dist/src/registrar.d.ts.map +1 -1
- package/dist/src/registrar.js +33 -28
- package/dist/src/registrar.js.map +1 -1
- package/dist/src/transport-manager.d.ts +14 -7
- package/dist/src/transport-manager.d.ts.map +1 -1
- package/dist/src/transport-manager.js +27 -13
- package/dist/src/transport-manager.js.map +1 -1
- package/dist/src/upgrader.d.ts +20 -15
- package/dist/src/upgrader.d.ts.map +1 -1
- package/dist/src/upgrader.js +49 -53
- package/dist/src/upgrader.js.map +1 -1
- package/dist/src/{nat-manager.d.ts → upnp-nat/index.d.ts} +12 -15
- package/dist/src/upnp-nat/index.d.ts.map +1 -0
- package/dist/src/{nat-manager.js → upnp-nat/index.js} +23 -10
- package/dist/src/upnp-nat/index.js.map +1 -0
- package/dist/src/version.d.ts +1 -1
- package/dist/src/version.d.ts.map +1 -1
- package/dist/src/version.js +1 -1
- package/dist/src/version.js.map +1 -1
- package/package.json +62 -47
- package/src/address-manager/index.ts +52 -10
- package/src/address-manager/utils.ts +14 -0
- package/src/autonat/constants.ts +17 -2
- package/src/autonat/index.ts +65 -57
- package/src/circuit-relay/index.ts +1 -1
- package/src/circuit-relay/server/advert-service.ts +5 -5
- package/src/circuit-relay/server/index.ts +28 -20
- package/src/circuit-relay/server/reservation-store.ts +5 -5
- package/src/circuit-relay/server/reservation-voucher.ts +1 -1
- package/src/circuit-relay/transport/discovery.ts +12 -10
- package/src/circuit-relay/transport/index.ts +26 -26
- package/src/circuit-relay/transport/listener.ts +43 -33
- package/src/circuit-relay/transport/reservation-store.ts +42 -28
- package/src/circuit-relay/utils.ts +6 -6
- package/src/components.ts +75 -238
- package/src/config/connection-gater.browser.ts +31 -0
- package/src/config/connection-gater.ts +19 -0
- package/src/config.ts +9 -70
- package/src/connection/index.ts +6 -10
- package/src/connection-manager/auto-dial.ts +46 -17
- package/src/connection-manager/connection-pruner.ts +30 -10
- package/src/connection-manager/dial-queue.ts +56 -35
- package/src/connection-manager/index.ts +45 -57
- package/src/connection-manager/utils.ts +4 -5
- package/src/content-routing/index.ts +11 -59
- package/src/content-routing/utils.ts +4 -2
- package/src/fetch/index.ts +63 -26
- package/src/get-peer.ts +4 -4
- package/src/identify/identify.ts +519 -0
- package/src/identify/index.ts +19 -509
- package/src/index.ts +25 -88
- package/src/insecure/index.ts +10 -10
- package/src/libp2p.ts +158 -279
- package/src/peer-routing.ts +10 -110
- package/src/ping/constants.ts +11 -0
- package/src/ping/index.ts +43 -39
- package/src/pnet/crypto.ts +3 -3
- package/src/pnet/index.ts +6 -6
- package/src/pnet/key-generator.ts +1 -1
- package/src/pubsub/dummy-pubsub.ts +2 -2
- package/src/registrar.ts +34 -31
- package/src/transport-manager.ts +33 -19
- package/src/upgrader.ts +75 -71
- package/src/{nat-manager.ts → upnp-nat/index.ts} +23 -24
- package/src/version.ts +1 -1
- package/dist/src/dht/dht-content-routing.d.ts +0 -17
- package/dist/src/dht/dht-content-routing.d.ts.map +0 -1
- package/dist/src/dht/dht-content-routing.js +0 -32
- package/dist/src/dht/dht-content-routing.js.map +0 -1
- package/dist/src/dht/dht-peer-routing.d.ts +0 -15
- package/dist/src/dht/dht-peer-routing.d.ts.map +0 -1
- package/dist/src/dht/dht-peer-routing.js +0 -26
- package/dist/src/dht/dht-peer-routing.js.map +0 -1
- package/dist/src/dht/dummy-dht.d.ts +0 -20
- package/dist/src/dht/dummy-dht.d.ts.map +0 -1
- package/dist/src/dht/dummy-dht.js +0 -46
- package/dist/src/dht/dummy-dht.js.map +0 -1
- package/dist/src/nat-manager.d.ts.map +0 -1
- package/dist/src/nat-manager.js.map +0 -1
- package/dist/src/peer-record-updater.d.ts +0 -24
- package/dist/src/peer-record-updater.d.ts.map +0 -1
- package/dist/src/peer-record-updater.js +0 -44
- package/dist/src/peer-record-updater.js.map +0 -1
- package/dist/typedoc-urls.json +0 -41
- package/src/dht/dht-content-routing.ts +0 -44
- package/src/dht/dht-peer-routing.ts +0 -36
- package/src/dht/dummy-dht.ts +0 -60
- package/src/peer-record-updater.ts +0 -65
package/dist/src/registrar.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { logger } from '@libp2p/logger';
|
|
2
|
-
import { CodeError } from '@libp2p/interfaces/errors';
|
|
3
|
-
import { codes } from './errors.js';
|
|
4
1
|
import { isTopology } from '@libp2p/interface-registrar';
|
|
2
|
+
import { CodeError } from '@libp2p/interfaces/errors';
|
|
3
|
+
import { logger } from '@libp2p/logger';
|
|
5
4
|
import merge from 'merge-options';
|
|
5
|
+
import { codes } from './errors.js';
|
|
6
6
|
const log = logger('libp2p:registrar');
|
|
7
7
|
export const DEFAULT_MAX_INBOUND_STREAMS = 32;
|
|
8
8
|
export const DEFAULT_MAX_OUTBOUND_STREAMS = 64;
|
|
@@ -10,21 +10,22 @@ export const DEFAULT_MAX_OUTBOUND_STREAMS = 64;
|
|
|
10
10
|
* Responsible for notifying registered protocols of events in the network.
|
|
11
11
|
*/
|
|
12
12
|
export class DefaultRegistrar {
|
|
13
|
+
topologies;
|
|
14
|
+
handlers;
|
|
15
|
+
components;
|
|
13
16
|
constructor(components) {
|
|
14
17
|
this.topologies = new Map();
|
|
15
18
|
this.handlers = new Map();
|
|
16
19
|
this.components = components;
|
|
17
20
|
this._onDisconnect = this._onDisconnect.bind(this);
|
|
18
|
-
this.
|
|
21
|
+
this._onPeerUpdate = this._onPeerUpdate.bind(this);
|
|
19
22
|
this._onConnect = this._onConnect.bind(this);
|
|
20
|
-
this.components.
|
|
21
|
-
this.components.
|
|
22
|
-
|
|
23
|
-
this.components.peerStore.addEventListener('change:protocols', this._onProtocolChange);
|
|
23
|
+
this.components.events.addEventListener('connection:close', this._onDisconnect);
|
|
24
|
+
this.components.events.addEventListener('connection:open', this._onConnect);
|
|
25
|
+
this.components.events.addEventListener('peer:update', this._onPeerUpdate);
|
|
24
26
|
}
|
|
25
27
|
getProtocols() {
|
|
26
28
|
return Array.from(new Set([
|
|
27
|
-
...this.topologies.keys(),
|
|
28
29
|
...this.handlers.keys()
|
|
29
30
|
])).sort();
|
|
30
31
|
}
|
|
@@ -59,8 +60,10 @@ export class DefaultRegistrar {
|
|
|
59
60
|
handler,
|
|
60
61
|
options
|
|
61
62
|
});
|
|
62
|
-
// Add new
|
|
63
|
-
await this.components.peerStore.
|
|
63
|
+
// Add new protocol to self protocols in the peer store
|
|
64
|
+
await this.components.peerStore.merge(this.components.peerId, {
|
|
65
|
+
protocols: [protocol]
|
|
66
|
+
});
|
|
64
67
|
}
|
|
65
68
|
/**
|
|
66
69
|
* Removes the handler for each protocol. The protocol
|
|
@@ -71,8 +74,10 @@ export class DefaultRegistrar {
|
|
|
71
74
|
protocolList.forEach(protocol => {
|
|
72
75
|
this.handlers.delete(protocol);
|
|
73
76
|
});
|
|
74
|
-
//
|
|
75
|
-
await this.components.peerStore.
|
|
77
|
+
// Update self protocols in the peer store
|
|
78
|
+
await this.components.peerStore.patch(this.components.peerId, {
|
|
79
|
+
protocols: protocolList
|
|
80
|
+
});
|
|
76
81
|
}
|
|
77
82
|
/**
|
|
78
83
|
* Register handlers for a set of multicodecs given
|
|
@@ -112,9 +117,9 @@ export class DefaultRegistrar {
|
|
|
112
117
|
*/
|
|
113
118
|
_onDisconnect(evt) {
|
|
114
119
|
const connection = evt.detail;
|
|
115
|
-
void this.components.peerStore.
|
|
116
|
-
.then(
|
|
117
|
-
for (const protocol of
|
|
120
|
+
void this.components.peerStore.get(connection.remotePeer)
|
|
121
|
+
.then(peer => {
|
|
122
|
+
for (const protocol of peer.protocols) {
|
|
118
123
|
const topologies = this.topologies.get(protocol);
|
|
119
124
|
if (topologies == null) {
|
|
120
125
|
// no topologies are interested in this protocol
|
|
@@ -126,7 +131,7 @@ export class DefaultRegistrar {
|
|
|
126
131
|
}
|
|
127
132
|
})
|
|
128
133
|
.catch(err => {
|
|
129
|
-
log.error(err);
|
|
134
|
+
log.error('could not inform topologies of disconnecting peer %p', connection.remotePeer, err);
|
|
130
135
|
});
|
|
131
136
|
}
|
|
132
137
|
/**
|
|
@@ -135,9 +140,9 @@ export class DefaultRegistrar {
|
|
|
135
140
|
*/
|
|
136
141
|
_onConnect(evt) {
|
|
137
142
|
const connection = evt.detail;
|
|
138
|
-
void this.components.peerStore.
|
|
139
|
-
.then(
|
|
140
|
-
for (const protocol of
|
|
143
|
+
void this.components.peerStore.get(connection.remotePeer)
|
|
144
|
+
.then(peer => {
|
|
145
|
+
for (const protocol of peer.protocols) {
|
|
141
146
|
const topologies = this.topologies.get(protocol);
|
|
142
147
|
if (topologies == null) {
|
|
143
148
|
// no topologies are interested in this protocol
|
|
@@ -149,16 +154,16 @@ export class DefaultRegistrar {
|
|
|
149
154
|
}
|
|
150
155
|
})
|
|
151
156
|
.catch(err => {
|
|
152
|
-
log.error(err);
|
|
157
|
+
log.error('could not inform topologies of connecting peer %p', connection.remotePeer, err);
|
|
153
158
|
});
|
|
154
159
|
}
|
|
155
160
|
/**
|
|
156
161
|
* Check if a new peer support the multicodecs for this topology
|
|
157
162
|
*/
|
|
158
|
-
|
|
159
|
-
const {
|
|
160
|
-
const removed =
|
|
161
|
-
const added = protocols.filter(protocol => !
|
|
163
|
+
_onPeerUpdate(evt) {
|
|
164
|
+
const { peer, previous } = evt.detail;
|
|
165
|
+
const removed = (previous?.protocols ?? []).filter(protocol => !peer.protocols.includes(protocol));
|
|
166
|
+
const added = peer.protocols.filter(protocol => !(previous?.protocols ?? []).includes(protocol));
|
|
162
167
|
for (const protocol of removed) {
|
|
163
168
|
const topologies = this.topologies.get(protocol);
|
|
164
169
|
if (topologies == null) {
|
|
@@ -166,7 +171,7 @@ export class DefaultRegistrar {
|
|
|
166
171
|
continue;
|
|
167
172
|
}
|
|
168
173
|
for (const topology of topologies.values()) {
|
|
169
|
-
topology.onDisconnect(
|
|
174
|
+
topology.onDisconnect(peer.id);
|
|
170
175
|
}
|
|
171
176
|
}
|
|
172
177
|
for (const protocol of added) {
|
|
@@ -176,11 +181,11 @@ export class DefaultRegistrar {
|
|
|
176
181
|
continue;
|
|
177
182
|
}
|
|
178
183
|
for (const topology of topologies.values()) {
|
|
179
|
-
const connection = this.components.connectionManager.getConnections(
|
|
184
|
+
const connection = this.components.connectionManager.getConnections(peer.id)[0];
|
|
180
185
|
if (connection == null) {
|
|
181
186
|
continue;
|
|
182
187
|
}
|
|
183
|
-
topology.onConnect(
|
|
188
|
+
topology.onConnect(peer.id, connection);
|
|
184
189
|
}
|
|
185
190
|
}
|
|
186
191
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registrar.js","sourceRoot":"","sources":["../../src/registrar.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"registrar.js","sourceRoot":"","sources":["../../src/registrar.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
import { FaultTolerance } from '@libp2p/interface-transport';
|
|
2
|
-
import type {
|
|
3
|
-
import type { Multiaddr } from '@multiformats/multiaddr';
|
|
2
|
+
import type { AddressManager } from '@libp2p/interface-address-manager';
|
|
4
3
|
import type { Connection } from '@libp2p/interface-connection';
|
|
4
|
+
import type { Libp2pEvents } from '@libp2p/interface-libp2p';
|
|
5
|
+
import type { Metrics } from '@libp2p/interface-metrics';
|
|
6
|
+
import type { Listener, Transport, TransportManager, Upgrader } from '@libp2p/interface-transport';
|
|
5
7
|
import type { AbortOptions } from '@libp2p/interfaces';
|
|
6
|
-
import { EventEmitter } from '@libp2p/interfaces/events';
|
|
8
|
+
import type { EventEmitter } from '@libp2p/interfaces/events';
|
|
7
9
|
import type { Startable } from '@libp2p/interfaces/startable';
|
|
8
|
-
import type {
|
|
9
|
-
import type { AddressManager } from '@libp2p/interface-address-manager';
|
|
10
|
+
import type { Multiaddr } from '@multiformats/multiaddr';
|
|
10
11
|
export interface TransportManagerInit {
|
|
11
12
|
faultTolerance?: FaultTolerance;
|
|
12
13
|
}
|
|
@@ -14,8 +15,9 @@ export interface DefaultTransportManagerComponents {
|
|
|
14
15
|
metrics?: Metrics;
|
|
15
16
|
addressManager: AddressManager;
|
|
16
17
|
upgrader: Upgrader;
|
|
18
|
+
events: EventEmitter<Libp2pEvents>;
|
|
17
19
|
}
|
|
18
|
-
export declare class DefaultTransportManager
|
|
20
|
+
export declare class DefaultTransportManager implements TransportManager, Startable {
|
|
19
21
|
private readonly components;
|
|
20
22
|
private readonly transports;
|
|
21
23
|
private readonly listeners;
|
|
@@ -27,7 +29,8 @@ export declare class DefaultTransportManager extends EventEmitter<TransportManag
|
|
|
27
29
|
*/
|
|
28
30
|
add(transport: Transport): void;
|
|
29
31
|
isStarted(): boolean;
|
|
30
|
-
start():
|
|
32
|
+
start(): void;
|
|
33
|
+
afterStart(): Promise<void>;
|
|
31
34
|
/**
|
|
32
35
|
* Stops all listeners
|
|
33
36
|
*/
|
|
@@ -44,6 +47,10 @@ export declare class DefaultTransportManager extends EventEmitter<TransportManag
|
|
|
44
47
|
* Returns all the transports instances
|
|
45
48
|
*/
|
|
46
49
|
getTransports(): Transport[];
|
|
50
|
+
/**
|
|
51
|
+
* Returns all the listener instances
|
|
52
|
+
*/
|
|
53
|
+
getListeners(): Listener[];
|
|
47
54
|
/**
|
|
48
55
|
* Finds a transport that matches the given Multiaddr
|
|
49
56
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transport-manager.d.ts","sourceRoot":"","sources":["../../src/transport-manager.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"transport-manager.d.ts","sourceRoot":"","sources":["../../src/transport-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAA;AAK5D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAA;AACvE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAA;AAC9D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAC5D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAA;AACxD,OAAO,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAA;AAClG,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACtD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AAC7D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAA;AAC7D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AAIxD,MAAM,WAAW,oBAAoB;IACnC,cAAc,CAAC,EAAE,cAAc,CAAA;CAChC;AAED,MAAM,WAAW,iCAAiC;IAChD,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,cAAc,EAAE,cAAc,CAAA;IAC9B,QAAQ,EAAE,QAAQ,CAAA;IAClB,MAAM,EAAE,YAAY,CAAC,YAAY,CAAC,CAAA;CACnC;AAED,qBAAa,uBAAwB,YAAW,gBAAgB,EAAE,SAAS;IACzE,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAmC;IAC9D,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAwB;IACnD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAyB;IACnD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAgB;IAC/C,OAAO,CAAC,OAAO,CAAS;gBAEX,UAAU,EAAE,iCAAiC,EAAE,IAAI,GAAE,oBAAyB;IAW3F;;OAEG;IACH,GAAG,CAAE,SAAS,EAAE,SAAS,GAAG,IAAI;IAoBhC,SAAS,IAAK,OAAO;IAIrB,KAAK,IAAK,IAAI;IAIR,UAAU,IAAK,OAAO,CAAC,IAAI,CAAC;IAOlC;;OAEG;IACG,IAAI,IAAK,OAAO,CAAC,IAAI,CAAC;IAwB5B;;OAEG;IACG,IAAI,CAAE,EAAE,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,UAAU,CAAC;IAqBvE;;OAEG;IACH,QAAQ,IAAK,SAAS,EAAE;IAUxB;;OAEG;IACH,aAAa,IAAK,SAAS,EAAE;IAI7B;;OAEG;IACH,YAAY,IAAK,QAAQ,EAAE;IAI3B;;OAEG;IACH,qBAAqB,CAAE,EAAE,EAAE,SAAS,GAAG,SAAS,GAAG,SAAS;IAU5D;;OAEG;IACG,MAAM,CAAE,KAAK,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IA6EhD;;;OAGG;IACG,MAAM,CAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAYzC;;;;;OAKG;IACG,SAAS,IAAK,OAAO,CAAC,IAAI,CAAC;CAQlC"}
|
|
@@ -1,13 +1,16 @@
|
|
|
1
|
-
import { logger } from '@libp2p/logger';
|
|
2
|
-
import { codes } from './errors.js';
|
|
3
|
-
import { CodeError } from '@libp2p/interfaces/errors';
|
|
4
1
|
import { FaultTolerance } from '@libp2p/interface-transport';
|
|
5
|
-
import {
|
|
2
|
+
import { CodeError } from '@libp2p/interfaces/errors';
|
|
3
|
+
import { logger } from '@libp2p/logger';
|
|
6
4
|
import { trackedMap } from '@libp2p/tracked-map';
|
|
5
|
+
import { codes } from './errors.js';
|
|
7
6
|
const log = logger('libp2p:transports');
|
|
8
|
-
export class DefaultTransportManager
|
|
7
|
+
export class DefaultTransportManager {
|
|
8
|
+
components;
|
|
9
|
+
transports;
|
|
10
|
+
listeners;
|
|
11
|
+
faultTolerance;
|
|
12
|
+
started;
|
|
9
13
|
constructor(components, init = {}) {
|
|
10
|
-
super();
|
|
11
14
|
this.components = components;
|
|
12
15
|
this.started = false;
|
|
13
16
|
this.transports = new Map();
|
|
@@ -37,11 +40,13 @@ export class DefaultTransportManager extends EventEmitter {
|
|
|
37
40
|
isStarted() {
|
|
38
41
|
return this.started;
|
|
39
42
|
}
|
|
40
|
-
|
|
43
|
+
start() {
|
|
44
|
+
this.started = true;
|
|
45
|
+
}
|
|
46
|
+
async afterStart() {
|
|
41
47
|
// Listen on the provided transports for the provided addresses
|
|
42
48
|
const addrs = this.components.addressManager.getListenAddrs();
|
|
43
49
|
await this.listen(addrs);
|
|
44
|
-
this.started = true;
|
|
45
50
|
}
|
|
46
51
|
/**
|
|
47
52
|
* Stops all listeners
|
|
@@ -104,6 +109,12 @@ export class DefaultTransportManager extends EventEmitter {
|
|
|
104
109
|
getTransports() {
|
|
105
110
|
return Array.of(...this.transports.values());
|
|
106
111
|
}
|
|
112
|
+
/**
|
|
113
|
+
* Returns all the listener instances
|
|
114
|
+
*/
|
|
115
|
+
getListeners() {
|
|
116
|
+
return Array.of(...this.listeners.values()).flat();
|
|
117
|
+
}
|
|
107
118
|
/**
|
|
108
119
|
* Finds a transport that matches the given Multiaddr
|
|
109
120
|
*/
|
|
@@ -133,7 +144,7 @@ export class DefaultTransportManager extends EventEmitter {
|
|
|
133
144
|
const listener = transport.createListener({
|
|
134
145
|
upgrader: this.components.upgrader
|
|
135
146
|
});
|
|
136
|
-
let listeners = this.listeners.get(key);
|
|
147
|
+
let listeners = this.listeners.get(key) ?? [];
|
|
137
148
|
if (listeners == null) {
|
|
138
149
|
listeners = [];
|
|
139
150
|
this.listeners.set(key, listeners);
|
|
@@ -141,14 +152,17 @@ export class DefaultTransportManager extends EventEmitter {
|
|
|
141
152
|
listeners.push(listener);
|
|
142
153
|
// Track listen/close events
|
|
143
154
|
listener.addEventListener('listening', () => {
|
|
144
|
-
this.
|
|
155
|
+
this.components.events.safeDispatchEvent('transport:listening', {
|
|
145
156
|
detail: listener
|
|
146
|
-
})
|
|
157
|
+
});
|
|
147
158
|
});
|
|
148
159
|
listener.addEventListener('close', () => {
|
|
149
|
-
|
|
160
|
+
const index = listeners.findIndex(l => l === listener);
|
|
161
|
+
// remove the listener
|
|
162
|
+
listeners.splice(index, 1);
|
|
163
|
+
this.components.events.safeDispatchEvent('transport:close', {
|
|
150
164
|
detail: listener
|
|
151
|
-
})
|
|
165
|
+
});
|
|
152
166
|
});
|
|
153
167
|
// We need to attempt to listen on everything
|
|
154
168
|
tasks.push(listener.listen(addr));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transport-manager.js","sourceRoot":"","sources":["../../src/transport-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"transport-manager.js","sourceRoot":"","sources":["../../src/transport-manager.ts"],"names":[],"mappings":"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"}
|
package/dist/src/upgrader.d.ts
CHANGED
|
@@ -1,20 +1,21 @@
|
|
|
1
|
-
import { EventEmitter } from '@libp2p/interfaces/events';
|
|
2
1
|
import type { MultiaddrConnection, Connection, Stream, ConnectionProtector } from '@libp2p/interface-connection';
|
|
3
2
|
import type { ConnectionEncrypter, SecuredConnection } from '@libp2p/interface-connection-encrypter';
|
|
4
|
-
import type {
|
|
5
|
-
import type { PeerId } from '@libp2p/interface-peer-id';
|
|
6
|
-
import type { Upgrader, UpgraderEvents, UpgraderOptions } from '@libp2p/interface-transport';
|
|
7
|
-
import type { Duplex } from 'it-stream-types';
|
|
8
|
-
import type { Registrar } from '@libp2p/interface-registrar';
|
|
9
|
-
import type { Metrics } from '@libp2p/interface-metrics';
|
|
3
|
+
import type { ConnectionGater } from '@libp2p/interface-connection-gater';
|
|
10
4
|
import type { ConnectionManager } from '@libp2p/interface-connection-manager';
|
|
5
|
+
import type { Libp2pEvents } from '@libp2p/interface-libp2p';
|
|
6
|
+
import type { Metrics } from '@libp2p/interface-metrics';
|
|
7
|
+
import type { PeerId } from '@libp2p/interface-peer-id';
|
|
11
8
|
import type { PeerStore } from '@libp2p/interface-peer-store';
|
|
12
|
-
import type {
|
|
13
|
-
|
|
9
|
+
import type { Registrar } from '@libp2p/interface-registrar';
|
|
10
|
+
import type { StreamMuxerFactory } from '@libp2p/interface-stream-muxer';
|
|
11
|
+
import type { Upgrader, UpgraderOptions } from '@libp2p/interface-transport';
|
|
12
|
+
import type { EventEmitter } from '@libp2p/interfaces/events';
|
|
13
|
+
import type { Duplex, Source } from 'it-stream-types';
|
|
14
|
+
interface CreateConnectionOptions {
|
|
14
15
|
cryptoProtocol: string;
|
|
15
16
|
direction: 'inbound' | 'outbound';
|
|
16
17
|
maConn: MultiaddrConnection;
|
|
17
|
-
upgradedConn: Duplex<Uint8Array
|
|
18
|
+
upgradedConn: Duplex<AsyncGenerator<Uint8Array>, Source<Uint8Array>, Promise<void>>;
|
|
18
19
|
remotePeer: PeerId;
|
|
19
20
|
muxerFactory?: StreamMuxerFactory;
|
|
20
21
|
}
|
|
@@ -43,13 +44,17 @@ export interface DefaultUpgraderComponents {
|
|
|
43
44
|
connectionProtector?: ConnectionProtector;
|
|
44
45
|
registrar: Registrar;
|
|
45
46
|
peerStore: PeerStore;
|
|
47
|
+
events: EventEmitter<Libp2pEvents>;
|
|
46
48
|
}
|
|
47
|
-
|
|
49
|
+
type ConnectionDeniedType = keyof Pick<ConnectionGater, 'denyOutboundConnection' | 'denyInboundEncryptedConnection' | 'denyOutboundEncryptedConnection' | 'denyInboundUpgradedConnection' | 'denyOutboundUpgradedConnection'>;
|
|
50
|
+
export declare class DefaultUpgrader implements Upgrader {
|
|
48
51
|
private readonly components;
|
|
49
52
|
private readonly connectionEncryption;
|
|
50
53
|
private readonly muxers;
|
|
51
54
|
private readonly inboundUpgradeTimeout;
|
|
55
|
+
private readonly events;
|
|
52
56
|
constructor(components: DefaultUpgraderComponents, init: UpgraderInit);
|
|
57
|
+
shouldBlockConnection(remotePeer: PeerId, maConn: MultiaddrConnection, connectionType: ConnectionDeniedType): Promise<void>;
|
|
53
58
|
/**
|
|
54
59
|
* Upgrades an inbound connection
|
|
55
60
|
*/
|
|
@@ -61,7 +66,7 @@ export declare class DefaultUpgrader extends EventEmitter<UpgraderEvents> implem
|
|
|
61
66
|
/**
|
|
62
67
|
* A convenience method for generating a new `Connection`
|
|
63
68
|
*/
|
|
64
|
-
_createConnection(opts:
|
|
69
|
+
_createConnection(opts: CreateConnectionOptions): Connection;
|
|
65
70
|
/**
|
|
66
71
|
* Routes incoming streams to the correct handler
|
|
67
72
|
*/
|
|
@@ -69,7 +74,7 @@ export declare class DefaultUpgrader extends EventEmitter<UpgraderEvents> implem
|
|
|
69
74
|
/**
|
|
70
75
|
* Attempts to encrypt the incoming `connection` with the provided `cryptos`
|
|
71
76
|
*/
|
|
72
|
-
_encryptInbound(connection: Duplex<Uint8Array
|
|
77
|
+
_encryptInbound(connection: Duplex<AsyncGenerator<Uint8Array>, Source<Uint8Array>>): Promise<CryptoResult>;
|
|
73
78
|
/**
|
|
74
79
|
* Attempts to encrypt the given `connection` with the provided connection encrypters.
|
|
75
80
|
* The first `ConnectionEncrypter` module to succeed will be used
|
|
@@ -80,7 +85,7 @@ export declare class DefaultUpgrader extends EventEmitter<UpgraderEvents> implem
|
|
|
80
85
|
* muxer will be used for all future streams on the connection.
|
|
81
86
|
*/
|
|
82
87
|
_multiplexOutbound(connection: MultiaddrConnection, muxers: Map<string, StreamMuxerFactory>): Promise<{
|
|
83
|
-
stream: Duplex<Uint8Array
|
|
88
|
+
stream: Duplex<AsyncGenerator<Uint8Array>, Source<Uint8Array>, Promise<void>>;
|
|
84
89
|
muxerFactory?: StreamMuxerFactory;
|
|
85
90
|
}>;
|
|
86
91
|
/**
|
|
@@ -88,7 +93,7 @@ export declare class DefaultUpgrader extends EventEmitter<UpgraderEvents> implem
|
|
|
88
93
|
* selected muxer will be used for all future streams on the connection.
|
|
89
94
|
*/
|
|
90
95
|
_multiplexInbound(connection: MultiaddrConnection, muxers: Map<string, StreamMuxerFactory>): Promise<{
|
|
91
|
-
stream: Duplex<Uint8Array
|
|
96
|
+
stream: Duplex<AsyncGenerator<Uint8Array>, Source<Uint8Array>, Promise<void>>;
|
|
92
97
|
muxerFactory?: StreamMuxerFactory;
|
|
93
98
|
}>;
|
|
94
99
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"upgrader.d.ts","sourceRoot":"","sources":["../../src/upgrader.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"upgrader.d.ts","sourceRoot":"","sources":["../../src/upgrader.ts"],"names":[],"mappings":"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"}
|