libp2p 2.10.0-8484de8a2 → 2.10.0-87bc8d4fb
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 +17 -13
- package/dist/index.min.js.map +4 -4
- package/dist/src/address-manager/dns-mappings.d.ts +2 -1
- package/dist/src/address-manager/dns-mappings.d.ts.map +1 -1
- package/dist/src/address-manager/dns-mappings.js +43 -39
- package/dist/src/address-manager/dns-mappings.js.map +1 -1
- package/dist/src/address-manager/index.d.ts.map +1 -1
- package/dist/src/address-manager/index.js +14 -31
- package/dist/src/address-manager/index.js.map +1 -1
- package/dist/src/address-manager/ip-mappings.d.ts +0 -1
- package/dist/src/address-manager/ip-mappings.d.ts.map +1 -1
- package/dist/src/address-manager/ip-mappings.js +40 -51
- package/dist/src/address-manager/ip-mappings.js.map +1 -1
- package/dist/src/address-manager/observed-addresses.d.ts.map +1 -1
- package/dist/src/address-manager/observed-addresses.js +3 -1
- package/dist/src/address-manager/observed-addresses.js.map +1 -1
- package/dist/src/address-manager/transport-addresses.d.ts.map +1 -1
- package/dist/src/address-manager/transport-addresses.js +8 -6
- package/dist/src/address-manager/transport-addresses.js.map +1 -1
- package/dist/src/config/connection-gater.browser.d.ts.map +1 -1
- package/dist/src/config/connection-gater.browser.js +9 -3
- package/dist/src/config/connection-gater.browser.js.map +1 -1
- package/dist/src/config.js +1 -1
- package/dist/src/config.js.map +1 -1
- package/dist/src/connection-manager/address-sorter.d.ts.map +1 -1
- package/dist/src/connection-manager/address-sorter.js +2 -1
- package/dist/src/connection-manager/address-sorter.js.map +1 -1
- package/dist/src/connection-manager/connection-pruner.d.ts.map +1 -1
- package/dist/src/connection-manager/connection-pruner.js +3 -7
- package/dist/src/connection-manager/connection-pruner.js.map +1 -1
- package/dist/src/connection-manager/constants.defaults.d.ts +0 -4
- package/dist/src/connection-manager/constants.defaults.d.ts.map +1 -1
- package/dist/src/connection-manager/constants.defaults.js +0 -4
- package/dist/src/connection-manager/constants.defaults.js.map +1 -1
- package/dist/src/connection-manager/dial-queue.d.ts +2 -2
- package/dist/src/connection-manager/dial-queue.d.ts.map +1 -1
- package/dist/src/connection-manager/dial-queue.js +23 -11
- package/dist/src/connection-manager/dial-queue.js.map +1 -1
- package/dist/src/connection-manager/index.d.ts +2 -10
- package/dist/src/connection-manager/index.d.ts.map +1 -1
- package/dist/src/connection-manager/index.js +26 -44
- package/dist/src/connection-manager/index.js.map +1 -1
- package/dist/src/connection-manager/reconnect-queue.js +1 -1
- package/dist/src/connection-manager/reconnect-queue.js.map +1 -1
- package/dist/src/connection-manager/utils.d.ts +3 -31
- package/dist/src/connection-manager/utils.d.ts.map +1 -1
- package/dist/src/connection-manager/utils.js +18 -99
- package/dist/src/connection-manager/utils.js.map +1 -1
- package/dist/src/connection-monitor.d.ts +1 -1
- package/dist/src/connection-monitor.d.ts.map +1 -1
- package/dist/src/connection-monitor.js +3 -2
- package/dist/src/connection-monitor.js.map +1 -1
- package/dist/src/connection.d.ts +9 -13
- package/dist/src/connection.d.ts.map +1 -1
- package/dist/src/connection.js +138 -87
- package/dist/src/connection.js.map +1 -1
- package/dist/src/get-peer.js +3 -3
- package/dist/src/get-peer.js.map +1 -1
- package/dist/src/index.d.ts +2 -2
- package/dist/src/index.js +2 -2
- package/dist/src/libp2p.d.ts.map +1 -1
- package/dist/src/libp2p.js +5 -5
- package/dist/src/libp2p.js.map +1 -1
- package/dist/src/peer-routing.js +1 -1
- package/dist/src/peer-routing.js.map +1 -1
- package/dist/src/random-walk.d.ts.map +1 -1
- package/dist/src/random-walk.js +3 -13
- package/dist/src/random-walk.js.map +1 -1
- package/dist/src/registrar.d.ts +3 -3
- package/dist/src/registrar.d.ts.map +1 -1
- package/dist/src/registrar.js +41 -50
- package/dist/src/registrar.js.map +1 -1
- package/dist/src/transport-manager.js +2 -15
- package/dist/src/transport-manager.js.map +1 -1
- package/dist/src/upgrader.d.ts +16 -26
- package/dist/src/upgrader.d.ts.map +1 -1
- package/dist/src/upgrader.js +122 -88
- package/dist/src/upgrader.js.map +1 -1
- package/dist/src/version.d.ts +1 -1
- package/dist/src/version.js +1 -1
- package/package.json +30 -27
- package/src/address-manager/dns-mappings.ts +50 -50
- package/src/address-manager/index.ts +17 -37
- package/src/address-manager/ip-mappings.ts +44 -64
- package/src/address-manager/observed-addresses.ts +3 -1
- package/src/address-manager/transport-addresses.ts +9 -7
- package/src/config/connection-gater.browser.ts +12 -3
- package/src/config.ts +1 -1
- package/src/connection-manager/address-sorter.ts +2 -1
- package/src/connection-manager/connection-pruner.ts +3 -8
- package/src/connection-manager/constants.defaults.ts +0 -5
- package/src/connection-manager/dial-queue.ts +27 -12
- package/src/connection-manager/index.ts +28 -61
- package/src/connection-manager/reconnect-queue.ts +1 -1
- package/src/connection-manager/utils.ts +21 -129
- package/src/connection-monitor.ts +4 -3
- package/src/connection.ts +185 -111
- package/src/get-peer.ts +3 -3
- package/src/index.ts +2 -2
- package/src/libp2p.ts +6 -5
- package/src/peer-routing.ts +1 -1
- package/src/random-walk.ts +3 -13
- package/src/registrar.ts +54 -67
- package/src/transport-manager.ts +2 -18
- package/src/upgrader.ts +149 -132
- package/src/version.ts +1 -1
- package/dist/src/utils.d.ts +0 -3
- package/dist/src/utils.d.ts.map +0 -1
- package/dist/src/utils.js +0 -25
- package/dist/src/utils.js.map +0 -1
- package/src/utils.ts +0 -31
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import { ConnectionClosedError, InvalidMultiaddrError, InvalidParametersError, InvalidPeerIdError, NotStartedError, start, stop } from '@libp2p/interface';
|
|
2
2
|
import { PeerMap } from '@libp2p/peer-collections';
|
|
3
|
-
import {
|
|
3
|
+
import { RateLimiter } from '@libp2p/utils/rate-limiter';
|
|
4
4
|
import { multiaddr } from '@multiformats/multiaddr';
|
|
5
|
-
import { pEvent } from 'p-event';
|
|
6
5
|
import { CustomProgressEvent } from 'progress-events';
|
|
7
6
|
import { getPeerAddress } from '../get-peer.js';
|
|
8
7
|
import { ConnectionPruner } from './connection-pruner.js';
|
|
@@ -10,7 +9,7 @@ import { DIAL_TIMEOUT, INBOUND_CONNECTION_THRESHOLD, MAX_CONNECTIONS, MAX_DIAL_Q
|
|
|
10
9
|
import { DialQueue } from './dial-queue.js';
|
|
11
10
|
import { ReconnectQueue } from './reconnect-queue.js';
|
|
12
11
|
import { dnsaddrResolver } from "./resolvers/index.js";
|
|
13
|
-
import {
|
|
12
|
+
import { multiaddrToIpNet } from './utils.js';
|
|
14
13
|
export const DEFAULT_DIAL_PRIORITY = 50;
|
|
15
14
|
const defaultOptions = {
|
|
16
15
|
maxConnections: MAX_CONNECTIONS,
|
|
@@ -56,8 +55,8 @@ export class DefaultConnectionManager {
|
|
|
56
55
|
this.onConnect = this.onConnect.bind(this);
|
|
57
56
|
this.onDisconnect = this.onDisconnect.bind(this);
|
|
58
57
|
// allow/deny lists
|
|
59
|
-
this.allow = (init.allow ?? []).map(str => multiaddrToIpNet(
|
|
60
|
-
this.deny = (init.deny ?? []).map(str => multiaddrToIpNet(
|
|
58
|
+
this.allow = (init.allow ?? []).map(str => multiaddrToIpNet(str));
|
|
59
|
+
this.deny = (init.deny ?? []).map(str => multiaddrToIpNet(str));
|
|
61
60
|
this.incomingPendingConnections = 0;
|
|
62
61
|
this.maxIncomingPendingConnections = init.maxIncomingPendingConnections ?? defaultOptions.maxIncomingPendingConnections;
|
|
63
62
|
this.outboundPendingConnections = 0;
|
|
@@ -181,17 +180,14 @@ export class DefaultConnectionManager {
|
|
|
181
180
|
const tasks = [];
|
|
182
181
|
for (const connectionList of this.connections.values()) {
|
|
183
182
|
for (const connection of connectionList) {
|
|
184
|
-
tasks.push(
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
}
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
}
|
|
191
|
-
|
|
192
|
-
.catch(err => {
|
|
193
|
-
connection.abort(err);
|
|
194
|
-
}));
|
|
183
|
+
tasks.push((async () => {
|
|
184
|
+
try {
|
|
185
|
+
await connection.close();
|
|
186
|
+
}
|
|
187
|
+
catch (err) {
|
|
188
|
+
this.log.error(err);
|
|
189
|
+
}
|
|
190
|
+
})());
|
|
195
191
|
}
|
|
196
192
|
}
|
|
197
193
|
this.log('closing %d connections', tasks.length);
|
|
@@ -266,7 +262,7 @@ export class DefaultConnectionManager {
|
|
|
266
262
|
this.log.trace('peer %p disconnected, removing connection map entry', peerId);
|
|
267
263
|
this.connections.delete(peerId);
|
|
268
264
|
// broadcast disconnect event
|
|
269
|
-
this.events.safeDispatchEvent('peer:disconnect', { detail:
|
|
265
|
+
this.events.safeDispatchEvent('peer:disconnect', { detail: connection.remotePeer });
|
|
270
266
|
}
|
|
271
267
|
}
|
|
272
268
|
getConnections(peerId) {
|
|
@@ -289,15 +285,16 @@ export class DefaultConnectionManager {
|
|
|
289
285
|
this.outboundPendingConnections++;
|
|
290
286
|
try {
|
|
291
287
|
options.signal?.throwIfAborted();
|
|
292
|
-
const { peerId
|
|
288
|
+
const { peerId } = getPeerAddress(peerIdOrMultiaddr);
|
|
293
289
|
if (this.peerId.equals(peerId)) {
|
|
294
290
|
throw new InvalidPeerIdError('Can not dial self');
|
|
295
291
|
}
|
|
296
292
|
if (peerId != null && options.force !== true) {
|
|
297
293
|
this.log('dial %p', peerId);
|
|
298
|
-
const existingConnection =
|
|
294
|
+
const existingConnection = this.getConnections(peerId)
|
|
295
|
+
.find(conn => conn.limits == null);
|
|
299
296
|
if (existingConnection != null) {
|
|
300
|
-
this.log('had an existing connection to %p as %a', peerId, existingConnection.remoteAddr);
|
|
297
|
+
this.log('had an existing non-limited connection to %p as %a', peerId, existingConnection.remoteAddr);
|
|
301
298
|
options.onProgress?.(new CustomProgressEvent('dial-queue:already-connected'));
|
|
302
299
|
return existingConnection;
|
|
303
300
|
}
|
|
@@ -338,32 +335,21 @@ export class DefaultConnectionManager {
|
|
|
338
335
|
this.outboundPendingConnections--;
|
|
339
336
|
}
|
|
340
337
|
}
|
|
341
|
-
async openStream(peerIdOrMultiaddr, protocol, options = {}) {
|
|
342
|
-
const connection = await this.openConnection(peerIdOrMultiaddr, options);
|
|
343
|
-
return connection.newStream(protocol, options);
|
|
344
|
-
}
|
|
345
338
|
async closeConnections(peerId, options = {}) {
|
|
346
339
|
const connections = this.connections.get(peerId) ?? [];
|
|
347
340
|
await Promise.all(connections.map(async (connection) => {
|
|
348
341
|
try {
|
|
349
|
-
await
|
|
350
|
-
pEvent(connection, 'close', options),
|
|
351
|
-
connection.close(options)
|
|
352
|
-
]);
|
|
342
|
+
await connection.close(options);
|
|
353
343
|
}
|
|
354
344
|
catch (err) {
|
|
355
345
|
connection.abort(err);
|
|
356
346
|
}
|
|
357
347
|
}));
|
|
358
348
|
}
|
|
359
|
-
acceptIncomingConnection(maConn) {
|
|
349
|
+
async acceptIncomingConnection(maConn) {
|
|
360
350
|
// check deny list
|
|
361
|
-
const denyConnection = this.deny.some(
|
|
362
|
-
|
|
363
|
-
const config = getNetConfig(maConn.remoteAddr);
|
|
364
|
-
return ipNet.contains(config.host);
|
|
365
|
-
}
|
|
366
|
-
return false;
|
|
351
|
+
const denyConnection = this.deny.some(ma => {
|
|
352
|
+
return ma.contains(maConn.remoteAddr.nodeAddress().address);
|
|
367
353
|
});
|
|
368
354
|
if (denyConnection) {
|
|
369
355
|
this.log('connection from %a refused - connection remote address was in deny list', maConn.remoteAddr);
|
|
@@ -371,11 +357,7 @@ export class DefaultConnectionManager {
|
|
|
371
357
|
}
|
|
372
358
|
// check allow list
|
|
373
359
|
const allowConnection = this.allow.some(ipNet => {
|
|
374
|
-
|
|
375
|
-
const config = getNetConfig(maConn.remoteAddr);
|
|
376
|
-
return ipNet.contains(config.host);
|
|
377
|
-
}
|
|
378
|
-
return true;
|
|
360
|
+
return ipNet.contains(maConn.remoteAddr.nodeAddress().address);
|
|
379
361
|
});
|
|
380
362
|
if (allowConnection) {
|
|
381
363
|
this.incomingPendingConnections++;
|
|
@@ -386,13 +368,13 @@ export class DefaultConnectionManager {
|
|
|
386
368
|
this.log('connection from %a refused - incomingPendingConnections exceeded by host', maConn.remoteAddr);
|
|
387
369
|
return false;
|
|
388
370
|
}
|
|
389
|
-
if (
|
|
390
|
-
const
|
|
371
|
+
if (maConn.remoteAddr.isThinWaistAddress()) {
|
|
372
|
+
const host = maConn.remoteAddr.nodeAddress().address;
|
|
391
373
|
try {
|
|
392
|
-
this.inboundConnectionRateLimiter.consume(
|
|
374
|
+
await this.inboundConnectionRateLimiter.consume(host, 1);
|
|
393
375
|
}
|
|
394
376
|
catch {
|
|
395
|
-
this.log('connection from %a refused - inboundConnectionThreshold exceeded by host %s', maConn.remoteAddr,
|
|
377
|
+
this.log('connection from %a refused - inboundConnectionThreshold exceeded by host %s', maConn.remoteAddr, host);
|
|
396
378
|
return false;
|
|
397
379
|
}
|
|
398
380
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/connection-manager/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/connection-manager/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reconnect-queue.js","sourceRoot":"","sources":["../../../src/connection-manager/reconnect-queue.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"reconnect-queue.js","sourceRoot":"","sources":["../../../src/connection-manager/reconnect-queue.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,42 +1,14 @@
|
|
|
1
|
-
import { IpNet } from '@chainsafe/netmask';
|
|
2
|
-
import type { Connection, AbortOptions, PeerId } from '@libp2p/interface';
|
|
1
|
+
import type { IpNet } from '@chainsafe/netmask';
|
|
3
2
|
import type { Multiaddr } from '@multiformats/multiaddr';
|
|
4
|
-
export interface SafelyCloseConnectionOptions extends AbortOptions {
|
|
5
|
-
/**
|
|
6
|
-
* Only close the stream if it either has no protocol streams open or only
|
|
7
|
-
* ones in this list.
|
|
8
|
-
*
|
|
9
|
-
* @default ['/ipfs/id/1.0.0']
|
|
10
|
-
*/
|
|
11
|
-
closableProtocols?: string[];
|
|
12
|
-
}
|
|
13
|
-
/**
|
|
14
|
-
* Close the passed connection if it has no streams, or only closable protocol
|
|
15
|
-
* streams, falling back to aborting the connection if closing it cleanly fails.
|
|
16
|
-
*/
|
|
17
|
-
export declare function safelyCloseConnectionIfUnused(connection?: Connection, options?: SafelyCloseConnectionOptions): Promise<void>;
|
|
18
3
|
/**
|
|
19
4
|
* Converts a multiaddr string or object to an IpNet object.
|
|
20
5
|
* If the multiaddr doesn't include /ipcidr, it will encapsulate with the appropriate CIDR:
|
|
21
6
|
* - /ipcidr/32 for IPv4
|
|
22
7
|
* - /ipcidr/128 for IPv6
|
|
23
8
|
*
|
|
24
|
-
* @param {string | Multiaddr} ma - The multiaddr object to convert.
|
|
9
|
+
* @param {string | Multiaddr} ma - The multiaddr string or object to convert.
|
|
25
10
|
* @returns {IpNet} The converted IpNet object.
|
|
26
11
|
* @throws {Error} Throws an error if the multiaddr is not valid.
|
|
27
12
|
*/
|
|
28
|
-
export declare function multiaddrToIpNet(ma: Multiaddr): IpNet;
|
|
29
|
-
/**
|
|
30
|
-
* Returns true if the passed multiaddr would result in a direct connection to
|
|
31
|
-
* the peer.
|
|
32
|
-
*
|
|
33
|
-
* Currently only circuit relay addresses are supported as indirect connections.
|
|
34
|
-
*/
|
|
35
|
-
export declare function isDirect(ma: Multiaddr): boolean;
|
|
36
|
-
/**
|
|
37
|
-
* If there is an existing non-limited connection to the remote peer return it,
|
|
38
|
-
* unless it is indirect and at least one of the passed dial addresses would
|
|
39
|
-
* result in a direct connection
|
|
40
|
-
*/
|
|
41
|
-
export declare function findExistingConnection(peerId?: PeerId, connections?: Connection[], dialAddresses?: Multiaddr[]): Connection | undefined;
|
|
13
|
+
export declare function multiaddrToIpNet(ma: string | Multiaddr): IpNet;
|
|
42
14
|
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/connection-manager/utils.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/connection-manager/utils.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAA;AAC/C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AAExD;;;;;;;;;GASG;AACH,wBAAgB,gBAAgB,CAAE,EAAE,EAAE,MAAM,GAAG,SAAS,GAAG,KAAK,CAsB/D"}
|
|
@@ -1,116 +1,35 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import { getNetConfig } from '@libp2p/utils';
|
|
4
|
-
import { Circuit } from '@multiformats/multiaddr-matcher';
|
|
5
|
-
/**
|
|
6
|
-
* These are speculative protocols that are run automatically on connection open
|
|
7
|
-
* so are usually not the reason the connection was opened.
|
|
8
|
-
*
|
|
9
|
-
* Consequently when requested it should be safe to close connections that only
|
|
10
|
-
* have these protocol streams open.
|
|
11
|
-
*/
|
|
12
|
-
const DEFAULT_CLOSABLE_PROTOCOLS = [
|
|
13
|
-
// identify
|
|
14
|
-
'/ipfs/id/1.0.0',
|
|
15
|
-
// identify-push
|
|
16
|
-
'/ipfs/id/push/1.0.0',
|
|
17
|
-
// autonat
|
|
18
|
-
'/libp2p/autonat/1.0.0',
|
|
19
|
-
// dcutr
|
|
20
|
-
'/libp2p/dcutr'
|
|
21
|
-
];
|
|
22
|
-
/**
|
|
23
|
-
* Close the passed connection if it has no streams, or only closable protocol
|
|
24
|
-
* streams, falling back to aborting the connection if closing it cleanly fails.
|
|
25
|
-
*/
|
|
26
|
-
export async function safelyCloseConnectionIfUnused(connection, options) {
|
|
27
|
-
const streamProtocols = connection?.streams?.map(stream => stream.protocol) ?? [];
|
|
28
|
-
const closableProtocols = options?.closableProtocols ?? DEFAULT_CLOSABLE_PROTOCOLS;
|
|
29
|
-
// if the connection has protocols not in the closable protocols list, do not
|
|
30
|
-
// close the connection
|
|
31
|
-
if (streamProtocols.filter(proto => proto != null && !closableProtocols.includes(proto)).length > 0) {
|
|
32
|
-
return;
|
|
33
|
-
}
|
|
34
|
-
try {
|
|
35
|
-
await connection?.close(options);
|
|
36
|
-
}
|
|
37
|
-
catch (err) {
|
|
38
|
-
connection?.abort(err);
|
|
39
|
-
}
|
|
40
|
-
}
|
|
1
|
+
import { multiaddr } from '@multiformats/multiaddr';
|
|
2
|
+
import { convertToIpNet } from '@multiformats/multiaddr/convert';
|
|
41
3
|
/**
|
|
42
4
|
* Converts a multiaddr string or object to an IpNet object.
|
|
43
5
|
* If the multiaddr doesn't include /ipcidr, it will encapsulate with the appropriate CIDR:
|
|
44
6
|
* - /ipcidr/32 for IPv4
|
|
45
7
|
* - /ipcidr/128 for IPv6
|
|
46
8
|
*
|
|
47
|
-
* @param {string | Multiaddr} ma - The multiaddr object to convert.
|
|
9
|
+
* @param {string | Multiaddr} ma - The multiaddr string or object to convert.
|
|
48
10
|
* @returns {IpNet} The converted IpNet object.
|
|
49
11
|
* @throws {Error} Throws an error if the multiaddr is not valid.
|
|
50
12
|
*/
|
|
51
13
|
export function multiaddrToIpNet(ma) {
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
}
|
|
57
|
-
// Check if /ipcidr is already present
|
|
58
|
-
if (mask == null) {
|
|
59
|
-
switch (config.type) {
|
|
60
|
-
case 'ip4': {
|
|
61
|
-
mask = 32;
|
|
62
|
-
break;
|
|
63
|
-
}
|
|
64
|
-
case 'ip6': {
|
|
65
|
-
mask = 128;
|
|
66
|
-
break;
|
|
67
|
-
}
|
|
68
|
-
default: {
|
|
69
|
-
throw new InvalidParametersError(`Multiaddr ${ma} was not an IPv4 or IPv6 address`);
|
|
70
|
-
}
|
|
14
|
+
try {
|
|
15
|
+
let parsedMa;
|
|
16
|
+
if (typeof ma === 'string') {
|
|
17
|
+
parsedMa = multiaddr(ma);
|
|
71
18
|
}
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
}
|
|
75
|
-
/**
|
|
76
|
-
* Returns true if the passed multiaddr would result in a direct connection to
|
|
77
|
-
* the peer.
|
|
78
|
-
*
|
|
79
|
-
* Currently only circuit relay addresses are supported as indirect connections.
|
|
80
|
-
*/
|
|
81
|
-
export function isDirect(ma) {
|
|
82
|
-
return !Circuit.exactMatch(ma);
|
|
83
|
-
}
|
|
84
|
-
/**
|
|
85
|
-
* If there is an existing non-limited connection to the remote peer return it,
|
|
86
|
-
* unless it is indirect and at least one of the passed dial addresses would
|
|
87
|
-
* result in a direct connection
|
|
88
|
-
*/
|
|
89
|
-
export function findExistingConnection(peerId, connections, dialAddresses) {
|
|
90
|
-
if (peerId == null || connections == null) {
|
|
91
|
-
return;
|
|
92
|
-
}
|
|
93
|
-
const existingConnection = connections
|
|
94
|
-
.sort((a, b) => {
|
|
95
|
-
if (a.direct) {
|
|
96
|
-
return -1;
|
|
19
|
+
else {
|
|
20
|
+
parsedMa = ma;
|
|
97
21
|
}
|
|
98
|
-
|
|
99
|
-
|
|
22
|
+
const protoNames = new Set([...parsedMa.getComponents().map(component => component.name)]);
|
|
23
|
+
// Check if /ipcidr is already present
|
|
24
|
+
if (!protoNames.has('ipcidr')) {
|
|
25
|
+
const isIPv6 = protoNames.has('ip6');
|
|
26
|
+
const cidr = isIPv6 ? '/ipcidr/128' : '/ipcidr/32';
|
|
27
|
+
parsedMa = parsedMa.encapsulate(cidr);
|
|
100
28
|
}
|
|
101
|
-
return
|
|
102
|
-
})
|
|
103
|
-
.find(con => con.limits == null);
|
|
104
|
-
if (existingConnection == null || existingConnection.direct || dialAddresses == null) {
|
|
105
|
-
return existingConnection;
|
|
29
|
+
return convertToIpNet(parsedMa);
|
|
106
30
|
}
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
// the attempt to upgrade to a direct connection
|
|
110
|
-
const wouldUpgradeToDirect = dialAddresses.some(ma => isDirect(ma));
|
|
111
|
-
if (wouldUpgradeToDirect) {
|
|
112
|
-
return;
|
|
31
|
+
catch (error) {
|
|
32
|
+
throw new Error(`Can't convert to IpNet, Invalid multiaddr format: ${ma}`);
|
|
113
33
|
}
|
|
114
|
-
return existingConnection;
|
|
115
34
|
}
|
|
116
35
|
//# sourceMappingURL=utils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/connection-manager/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/connection-manager/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAA;AAIhE;;;;;;;;;GASG;AACH,MAAM,UAAU,gBAAgB,CAAE,EAAsB;IACtD,IAAI,CAAC;QACH,IAAI,QAAmB,CAAA;QACvB,IAAI,OAAO,EAAE,KAAK,QAAQ,EAAE,CAAC;YAC3B,QAAQ,GAAG,SAAS,CAAC,EAAE,CAAC,CAAA;QAC1B,CAAC;aAAM,CAAC;YACN,QAAQ,GAAG,EAAE,CAAA;QACf,CAAC;QAED,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,QAAQ,CAAC,aAAa,EAAE,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QAE1F,sCAAsC;QACtC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC9B,MAAM,MAAM,GAAG,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;YACpC,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,YAAY,CAAA;YAClD,QAAQ,GAAG,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,CAAA;QACvC,CAAC;QAED,OAAO,cAAc,CAAC,QAAQ,CAAC,CAAA;IACjC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CAAC,qDAAqD,EAAE,EAAE,CAAC,CAAA;IAC5E,CAAC;AACH,CAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { serviceCapabilities } from '@libp2p/interface';
|
|
2
2
|
import type { ComponentLogger, Metrics, Startable } from '@libp2p/interface';
|
|
3
3
|
import type { ConnectionManager } from '@libp2p/interface-internal';
|
|
4
|
-
import type { AdaptiveTimeoutInit } from '@libp2p/utils';
|
|
4
|
+
import type { AdaptiveTimeoutInit } from '@libp2p/utils/adaptive-timeout';
|
|
5
5
|
export interface ConnectionMonitorInit {
|
|
6
6
|
/**
|
|
7
7
|
* Whether the connection monitor is enabled
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connection-monitor.d.ts","sourceRoot":"","sources":["../../src/connection-monitor.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAA;
|
|
1
|
+
{"version":3,"file":"connection-monitor.d.ts","sourceRoot":"","sources":["../../src/connection-monitor.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAA;AAIvD,OAAO,KAAK,EAAE,eAAe,EAAU,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AACpF,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAA;AACnE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAA;AASzE,MAAM,WAAW,qBAAqB;IACpC;;;;OAIG;IACH,OAAO,CAAC,EAAE,OAAO,CAAA;IAEjB;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,CAAA;IAErB;;;;;;OAMG;IACH,WAAW,CAAC,EAAE,IAAI,CAAC,mBAAmB,EAAE,aAAa,GAAG,SAAS,CAAC,CAAA;IAElE;;;;OAIG;IACH,4BAA4B,CAAC,EAAE,OAAO,CAAA;IAEtC;;;;OAIG;IACH,cAAc,CAAC,EAAE,MAAM,CAAA;CACxB;AAED,MAAM,WAAW,2BAA2B;IAC1C,MAAM,EAAE,eAAe,CAAA;IACvB,iBAAiB,EAAE,iBAAiB,CAAA;IACpC,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB;AAED,qBAAa,iBAAkB,YAAW,SAAS;IACjD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAQ;IACjC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA6B;IACxD,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAQ;IAC5B,OAAO,CAAC,iBAAiB,CAAC,CAAgC;IAC1D,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAQ;IACvC,OAAO,CAAC,eAAe,CAAC,CAAiB;IACzC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAiB;IACzC,OAAO,CAAC,QAAQ,CAAC,4BAA4B,CAAS;gBAEzC,UAAU,EAAE,2BAA2B,EAAE,IAAI,GAAE,qBAA0B;IActF,QAAQ,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,gCAA+B;IAE5D,QAAQ,CAAC,CAAC,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAEvC;IAED,KAAK,IAAK,IAAI;IA4Dd,IAAI,IAAK,IAAI;CAOd"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { randomBytes } from '@libp2p/crypto';
|
|
2
2
|
import { serviceCapabilities } from '@libp2p/interface';
|
|
3
|
-
import { AdaptiveTimeout
|
|
3
|
+
import { AdaptiveTimeout } from '@libp2p/utils/adaptive-timeout';
|
|
4
|
+
import { byteStream } from 'it-byte-stream';
|
|
4
5
|
import { setMaxListeners } from 'main-event';
|
|
5
6
|
const DEFAULT_PING_INTERVAL_MS = 10000;
|
|
6
7
|
const PROTOCOL_VERSION = '1.0.0';
|
|
@@ -60,7 +61,7 @@ export class ConnectionMonitor {
|
|
|
60
61
|
})
|
|
61
62
|
]);
|
|
62
63
|
conn.rtt = Date.now() - start;
|
|
63
|
-
await
|
|
64
|
+
await bs.unwrap().close({
|
|
64
65
|
signal
|
|
65
66
|
});
|
|
66
67
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connection-monitor.js","sourceRoot":"","sources":["../../src/connection-monitor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAC5C,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAA;AACvD,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"connection-monitor.js","sourceRoot":"","sources":["../../src/connection-monitor.ts"],"names":[],"mappings":"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"}
|
package/dist/src/connection.d.ts
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { connectionSymbol } from '@libp2p/interface';
|
|
2
|
-
import {
|
|
3
|
-
import type { AbortOptions, Logger, MessageStreamDirection, Connection as ConnectionInterface, Stream, NewStreamOptions, PeerId, ConnectionLimits, StreamMuxer, Metrics, PeerStore, MultiaddrConnection, MessageStreamEvents, MultiaddrConnectionTimeline, ConnectionStatus, MessageStream } from '@libp2p/interface';
|
|
2
|
+
import type { AbortOptions, Logger, Direction, Connection as ConnectionInterface, Stream, ConnectionTimeline, ConnectionStatus, NewStreamOptions, PeerId, ConnectionLimits, StreamMuxerFactory, Metrics, PeerStore, MultiaddrConnection } from '@libp2p/interface';
|
|
4
3
|
import type { Registrar } from '@libp2p/interface-internal';
|
|
5
4
|
import type { Multiaddr } from '@multiformats/multiaddr';
|
|
6
5
|
export interface ConnectionComponents {
|
|
@@ -11,42 +10,39 @@ export interface ConnectionComponents {
|
|
|
11
10
|
export interface ConnectionInit {
|
|
12
11
|
id: string;
|
|
13
12
|
maConn: MultiaddrConnection;
|
|
14
|
-
stream: MessageStream;
|
|
15
13
|
remotePeer: PeerId;
|
|
16
|
-
direction?:
|
|
17
|
-
|
|
18
|
-
|
|
14
|
+
direction?: Direction;
|
|
15
|
+
muxerFactory?: StreamMuxerFactory;
|
|
16
|
+
encryption?: string;
|
|
19
17
|
limits?: ConnectionLimits;
|
|
20
18
|
outboundStreamProtocolNegotiationTimeout?: number;
|
|
21
19
|
inboundStreamProtocolNegotiationTimeout?: number;
|
|
22
|
-
closeTimeout?: number;
|
|
23
20
|
}
|
|
24
21
|
/**
|
|
25
22
|
* An implementation of the js-libp2p connection.
|
|
26
23
|
* Any libp2p transport should use an upgrader to return this connection.
|
|
27
24
|
*/
|
|
28
|
-
export declare class Connection
|
|
25
|
+
export declare class Connection implements ConnectionInterface {
|
|
29
26
|
readonly id: string;
|
|
30
27
|
readonly remoteAddr: Multiaddr;
|
|
31
28
|
readonly remotePeer: PeerId;
|
|
32
|
-
direction:
|
|
33
|
-
timeline:
|
|
34
|
-
direct: boolean;
|
|
29
|
+
direction: Direction;
|
|
30
|
+
timeline: ConnectionTimeline;
|
|
35
31
|
multiplexer?: string;
|
|
36
32
|
encryption?: string;
|
|
33
|
+
status: ConnectionStatus;
|
|
37
34
|
limits?: ConnectionLimits;
|
|
38
35
|
readonly log: Logger;
|
|
36
|
+
tags: string[];
|
|
39
37
|
private readonly maConn;
|
|
40
38
|
private readonly muxer?;
|
|
41
39
|
private readonly components;
|
|
42
40
|
private readonly outboundStreamProtocolNegotiationTimeout;
|
|
43
41
|
private readonly inboundStreamProtocolNegotiationTimeout;
|
|
44
|
-
private readonly closeTimeout;
|
|
45
42
|
constructor(components: ConnectionComponents, init: ConnectionInit);
|
|
46
43
|
readonly [Symbol.toStringTag] = "Connection";
|
|
47
44
|
readonly [connectionSymbol] = true;
|
|
48
45
|
get streams(): Stream[];
|
|
49
|
-
get status(): ConnectionStatus;
|
|
50
46
|
/**
|
|
51
47
|
* Create a new stream over this connection
|
|
52
48
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connection.d.ts","sourceRoot":"","sources":["../../src/connection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,
|
|
1
|
+
{"version":3,"file":"connection.d.ts","sourceRoot":"","sources":["../../src/connection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAkJ,MAAM,mBAAmB,CAAA;AAMpM,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,SAAS,EAAE,UAAU,IAAI,mBAAmB,EAAE,MAAM,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,EAAE,gBAAgB,EAAE,kBAAkB,EAAe,OAAO,EAAE,SAAS,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAA;AAC/Q,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAA;AAC3D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AAIxD,MAAM,WAAW,oBAAoB;IACnC,SAAS,EAAE,SAAS,CAAA;IACpB,SAAS,EAAE,SAAS,CAAA;IACpB,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB;AAED,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAA;IACV,MAAM,EAAE,mBAAmB,CAAA;IAC3B,UAAU,EAAE,MAAM,CAAA;IAClB,SAAS,CAAC,EAAE,SAAS,CAAA;IACrB,YAAY,CAAC,EAAE,kBAAkB,CAAA;IACjC,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,MAAM,CAAC,EAAE,gBAAgB,CAAA;IACzB,wCAAwC,CAAC,EAAE,MAAM,CAAA;IACjD,uCAAuC,CAAC,EAAE,MAAM,CAAA;CACjD;AAED;;;GAGG;AACH,qBAAa,UAAW,YAAW,mBAAmB;IACpD,SAAgB,EAAE,EAAE,MAAM,CAAA;IAC1B,SAAgB,UAAU,EAAE,SAAS,CAAA;IACrC,SAAgB,UAAU,EAAE,MAAM,CAAA;IAC3B,SAAS,EAAE,SAAS,CAAA;IACpB,QAAQ,EAAE,kBAAkB,CAAA;IAC5B,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,MAAM,EAAE,gBAAgB,CAAA;IACxB,MAAM,CAAC,EAAE,gBAAgB,CAAA;IAChC,SAAgB,GAAG,EAAE,MAAM,CAAA;IACpB,IAAI,EAAE,MAAM,EAAE,CAAA;IAErB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAqB;IAC5C,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAa;IACpC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAsB;IACjD,OAAO,CAAC,QAAQ,CAAC,wCAAwC,CAAQ;IACjE,OAAO,CAAC,QAAQ,CAAC,uCAAuC,CAAQ;gBAEnD,UAAU,EAAE,oBAAoB,EAAE,IAAI,EAAE,cAAc;IA4CnE,QAAQ,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,gBAAe;IAE5C,QAAQ,CAAC,CAAC,gBAAgB,CAAC,QAAO;IAElC,IAAI,OAAO,IAAK,MAAM,EAAE,CAEvB;IAED;;OAEG;IACH,SAAS,GAAU,WAAW,MAAM,EAAE,EAAE,UAAS,gBAAqB,KAAG,OAAO,CAAC,MAAM,CAAC,CAsGvF;IAED,OAAO,CAAC,gBAAgB;IAwExB;;OAEG;IACG,KAAK,CAAE,OAAO,GAAE,YAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;IAsCvD,KAAK,CAAE,GAAG,EAAE,KAAK,GAAG,IAAI;CAkBzB;AAED,wBAAgB,gBAAgB,CAAE,UAAU,EAAE,oBAAoB,EAAE,IAAI,EAAE,cAAc,GAAG,mBAAmB,CAE7G"}
|