libp2p 0.45.8 → 0.45.9-05abd49f
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 +1 -1
- package/dist/index.min.js +28 -28
- package/dist/src/address-manager/index.d.ts +5 -5
- package/dist/src/address-manager/index.d.ts.map +1 -1
- package/dist/src/autonat/index.d.ts +6 -6
- package/dist/src/autonat/index.d.ts.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 +3 -3
- package/dist/src/circuit-relay/server/advert-service.d.ts.map +1 -1
- package/dist/src/circuit-relay/server/advert-service.js +1 -1
- package/dist/src/circuit-relay/server/advert-service.js.map +1 -1
- package/dist/src/circuit-relay/server/index.d.ts +12 -7
- package/dist/src/circuit-relay/server/index.d.ts.map +1 -1
- package/dist/src/circuit-relay/server/index.js +10 -2
- package/dist/src/circuit-relay/server/index.js.map +1 -1
- package/dist/src/circuit-relay/server/reservation-store.d.ts +3 -3
- package/dist/src/circuit-relay/server/reservation-store.d.ts.map +1 -1
- package/dist/src/circuit-relay/server/reservation-voucher.d.ts +2 -2
- package/dist/src/circuit-relay/transport/discovery.d.ts +8 -8
- package/dist/src/circuit-relay/transport/discovery.d.ts.map +1 -1
- package/dist/src/circuit-relay/transport/discovery.js +3 -4
- package/dist/src/circuit-relay/transport/discovery.js.map +1 -1
- package/dist/src/circuit-relay/transport/index.d.ts +12 -12
- package/dist/src/circuit-relay/transport/index.d.ts.map +1 -1
- package/dist/src/circuit-relay/transport/index.js +5 -4
- package/dist/src/circuit-relay/transport/index.js.map +1 -1
- package/dist/src/circuit-relay/transport/listener.d.ts +2 -2
- package/dist/src/circuit-relay/transport/listener.d.ts.map +1 -1
- package/dist/src/circuit-relay/transport/listener.js +2 -2
- package/dist/src/circuit-relay/transport/listener.js.map +1 -1
- package/dist/src/circuit-relay/transport/reservation-store.d.ts +7 -7
- package/dist/src/circuit-relay/transport/reservation-store.d.ts.map +1 -1
- package/dist/src/circuit-relay/transport/reservation-store.js +1 -1
- package/dist/src/circuit-relay/transport/reservation-store.js.map +1 -1
- package/dist/src/circuit-relay/utils.d.ts +1 -1
- package/dist/src/components.d.ts +15 -14
- package/dist/src/components.d.ts.map +1 -1
- package/dist/src/components.js +2 -2
- package/dist/src/components.js.map +1 -1
- package/dist/src/config/connection-gater.browser.d.ts +1 -1
- package/dist/src/config/connection-gater.d.ts +1 -1
- package/dist/src/config.d.ts +1 -2
- package/dist/src/config.d.ts.map +1 -1
- package/dist/src/config.js +2 -2
- package/dist/src/config.js.map +1 -1
- package/dist/src/connection/index.d.ts +4 -4
- package/dist/src/connection/index.d.ts.map +1 -1
- package/dist/src/connection/index.js +3 -3
- package/dist/src/connection/index.js.map +1 -1
- package/dist/src/connection-manager/auto-dial.d.ts +5 -5
- package/dist/src/connection-manager/auto-dial.d.ts.map +1 -1
- package/dist/src/connection-manager/connection-pruner.d.ts +4 -4
- package/dist/src/connection-manager/connection-pruner.d.ts.map +1 -1
- package/dist/src/connection-manager/dial-queue.d.ts +7 -8
- package/dist/src/connection-manager/dial-queue.d.ts.map +1 -1
- package/dist/src/connection-manager/dial-queue.js +1 -1
- package/dist/src/connection-manager/dial-queue.js.map +1 -1
- package/dist/src/connection-manager/index.d.ts +10 -11
- package/dist/src/connection-manager/index.d.ts.map +1 -1
- package/dist/src/connection-manager/index.js +2 -2
- package/dist/src/connection-manager/index.js.map +1 -1
- package/dist/src/content-routing/index.d.ts +5 -5
- package/dist/src/content-routing/index.d.ts.map +1 -1
- package/dist/src/content-routing/index.js +1 -1
- package/dist/src/content-routing/index.js.map +1 -1
- package/dist/src/content-routing/utils.d.ts +2 -2
- package/dist/src/content-routing/utils.js +1 -1
- package/dist/src/content-routing/utils.js.map +1 -1
- package/dist/src/fetch/index.d.ts +5 -5
- package/dist/src/fetch/index.d.ts.map +1 -1
- package/dist/src/fetch/index.js +1 -1
- package/dist/src/fetch/index.js.map +1 -1
- package/dist/src/get-peer.d.ts +1 -1
- package/dist/src/get-peer.js +2 -2
- package/dist/src/get-peer.js.map +1 -1
- package/dist/src/identify/identify.d.ts +4 -4
- package/dist/src/identify/identify.d.ts.map +1 -1
- package/dist/src/identify/identify.js +1 -1
- package/dist/src/identify/identify.js.map +1 -1
- package/dist/src/identify/index.d.ts +7 -7
- package/dist/src/identify/index.d.ts.map +1 -1
- package/dist/src/index.d.ts +11 -12
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js.map +1 -1
- package/dist/src/insecure/index.d.ts +1 -1
- package/dist/src/insecure/index.js +1 -1
- package/dist/src/insecure/index.js.map +1 -1
- package/dist/src/libp2p.d.ts +11 -11
- 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.d.ts +5 -5
- package/dist/src/peer-routing.d.ts.map +1 -1
- package/dist/src/peer-routing.js +1 -1
- package/dist/src/peer-routing.js.map +1 -1
- package/dist/src/ping/index.d.ts +4 -4
- package/dist/src/ping/index.d.ts.map +1 -1
- package/dist/src/ping/index.js +1 -1
- package/dist/src/ping/index.js.map +1 -1
- package/dist/src/pnet/index.d.ts +1 -1
- package/dist/src/pnet/index.js +1 -1
- package/dist/src/pnet/index.js.map +1 -1
- package/dist/src/registrar.d.ts +7 -6
- package/dist/src/registrar.d.ts.map +1 -1
- package/dist/src/registrar.js +7 -11
- package/dist/src/registrar.js.map +1 -1
- package/dist/src/transport-manager.d.ts +9 -9
- package/dist/src/transport-manager.d.ts.map +1 -1
- package/dist/src/transport-manager.js +3 -3
- package/dist/src/transport-manager.js.map +1 -1
- package/dist/src/upgrader.d.ts +12 -12
- package/dist/src/upgrader.d.ts.map +1 -1
- package/dist/src/upgrader.js +8 -6
- package/dist/src/upgrader.js.map +1 -1
- package/dist/src/upnp-nat/index.d.ts +4 -4
- package/dist/src/upnp-nat/index.d.ts.map +1 -1
- package/dist/src/upnp-nat/index.js +1 -1
- package/dist/src/upnp-nat/index.js.map +1 -1
- package/dist/src/utils/peer-job-queue.d.ts +1 -1
- package/dist/src/utils/peer-job-queue.js +1 -1
- package/dist/src/utils/peer-job-queue.js.map +1 -1
- 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 +42 -71
- package/src/address-manager/index.ts +5 -5
- package/src/autonat/index.ts +9 -9
- package/src/circuit-relay/index.ts +1 -1
- package/src/circuit-relay/server/advert-service.ts +3 -3
- package/src/circuit-relay/server/index.ts +25 -10
- package/src/circuit-relay/server/reservation-store.ts +3 -3
- package/src/circuit-relay/server/reservation-voucher.ts +2 -2
- package/src/circuit-relay/transport/discovery.ts +10 -11
- package/src/circuit-relay/transport/index.ts +17 -17
- package/src/circuit-relay/transport/listener.ts +6 -6
- package/src/circuit-relay/transport/reservation-store.ts +8 -8
- package/src/circuit-relay/utils.ts +1 -1
- package/src/components.ts +16 -15
- package/src/config/connection-gater.browser.ts +1 -1
- package/src/config/connection-gater.ts +1 -1
- package/src/config.ts +3 -4
- package/src/connection/index.ts +6 -6
- package/src/connection-manager/auto-dial.ts +5 -5
- package/src/connection-manager/connection-pruner.ts +4 -4
- package/src/connection-manager/dial-queue.ts +8 -9
- package/src/connection-manager/index.ts +12 -13
- package/src/content-routing/index.ts +6 -6
- package/src/content-routing/utils.ts +3 -3
- package/src/fetch/index.ts +7 -7
- package/src/get-peer.ts +3 -3
- package/src/identify/identify.ts +10 -11
- package/src/identify/index.ts +7 -7
- package/src/index.ts +11 -12
- package/src/insecure/index.ts +3 -3
- package/src/libp2p.ts +14 -14
- package/src/peer-routing.ts +6 -6
- package/src/ping/index.ts +7 -7
- package/src/pnet/index.ts +2 -2
- package/src/registrar.ts +14 -17
- package/src/transport-manager.ts +11 -11
- package/src/upgrader.ts +22 -20
- package/src/upnp-nat/index.ts +5 -5
- package/src/utils/peer-job-queue.ts +2 -2
- package/src/version.ts +1 -1
- package/dist/src/pubsub/dummy-pubsub.d.ts +0 -18
- package/dist/src/pubsub/dummy-pubsub.d.ts.map +0 -1
- package/dist/src/pubsub/dummy-pubsub.js +0 -38
- package/dist/src/pubsub/dummy-pubsub.js.map +0 -1
- package/src/pubsub/dummy-pubsub.ts +0 -53
package/src/connection/index.ts
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { symbol } from '@libp2p/interface
|
|
2
|
-
import { OPEN, CLOSING, CLOSED } from '@libp2p/interface
|
|
3
|
-
import { CodeError } from '@libp2p/
|
|
1
|
+
import { symbol } from '@libp2p/interface/connection'
|
|
2
|
+
import { OPEN, CLOSING, CLOSED } from '@libp2p/interface/connection/status'
|
|
3
|
+
import { CodeError } from '@libp2p/interface/errors'
|
|
4
4
|
import { logger } from '@libp2p/logger'
|
|
5
|
-
import type {
|
|
6
|
-
import type {
|
|
7
|
-
import type {
|
|
5
|
+
import type { AbortOptions } from '@libp2p/interface'
|
|
6
|
+
import type { Connection, ConnectionStat, Stream } from '@libp2p/interface/connection'
|
|
7
|
+
import type { PeerId } from '@libp2p/interface/peer-id'
|
|
8
8
|
import type { Multiaddr } from '@multiformats/multiaddr'
|
|
9
9
|
|
|
10
10
|
const log = logger('libp2p:connection')
|
|
@@ -2,11 +2,11 @@ import { logger } from '@libp2p/logger'
|
|
|
2
2
|
import { PeerMap, PeerSet } from '@libp2p/peer-collections'
|
|
3
3
|
import { PeerJobQueue } from '../utils/peer-job-queue.js'
|
|
4
4
|
import { AUTO_DIAL_CONCURRENCY, AUTO_DIAL_INTERVAL, AUTO_DIAL_MAX_QUEUE_LENGTH, AUTO_DIAL_PRIORITY, MIN_CONNECTIONS } from './constants.js'
|
|
5
|
-
import type {
|
|
6
|
-
import type {
|
|
7
|
-
import type { PeerStore } from '@libp2p/interface
|
|
8
|
-
import type {
|
|
9
|
-
import type {
|
|
5
|
+
import type { Libp2pEvents } from '@libp2p/interface'
|
|
6
|
+
import type { EventEmitter } from '@libp2p/interface/events'
|
|
7
|
+
import type { PeerStore } from '@libp2p/interface/peer-store'
|
|
8
|
+
import type { Startable } from '@libp2p/interface/startable'
|
|
9
|
+
import type { ConnectionManager } from '@libp2p/interface-internal/connection-manager'
|
|
10
10
|
|
|
11
11
|
const log = logger('libp2p:connection-manager:auto-dial')
|
|
12
12
|
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { logger } from '@libp2p/logger'
|
|
2
2
|
import { PeerMap } from '@libp2p/peer-collections'
|
|
3
3
|
import { MAX_CONNECTIONS } from './constants.js'
|
|
4
|
-
import type {
|
|
5
|
-
import type {
|
|
6
|
-
import type { PeerStore } from '@libp2p/interface
|
|
7
|
-
import type {
|
|
4
|
+
import type { Libp2pEvents } from '@libp2p/interface'
|
|
5
|
+
import type { EventEmitter } from '@libp2p/interface/events'
|
|
6
|
+
import type { PeerStore } from '@libp2p/interface/peer-store'
|
|
7
|
+
import type { ConnectionManager } from '@libp2p/interface-internal/connection-manager'
|
|
8
8
|
import type { Multiaddr } from '@multiformats/multiaddr'
|
|
9
9
|
|
|
10
10
|
const log = logger('libp2p:connection-manager:connection-pruner')
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { setMaxListeners } from 'events'
|
|
2
|
-
import { AbortError, CodeError } from '@libp2p/
|
|
2
|
+
import { AbortError, CodeError } from '@libp2p/interface/errors'
|
|
3
3
|
import { logger } from '@libp2p/logger'
|
|
4
4
|
import { publicAddressesFirst } from '@libp2p/utils/address-sort'
|
|
5
5
|
import { type Multiaddr, type Resolver, resolvers } from '@multiformats/multiaddr'
|
|
@@ -16,14 +16,13 @@ import {
|
|
|
16
16
|
MAX_PEER_ADDRS_TO_DIAL
|
|
17
17
|
} from './constants.js'
|
|
18
18
|
import { combineSignals, resolveMultiaddrs } from './utils.js'
|
|
19
|
-
import type {
|
|
20
|
-
import type {
|
|
21
|
-
import type {
|
|
22
|
-
import type { Metric, Metrics } from '@libp2p/interface
|
|
23
|
-
import type { PeerId } from '@libp2p/interface
|
|
24
|
-
import type { Address, PeerStore } from '@libp2p/interface
|
|
25
|
-
import type { TransportManager } from '@libp2p/interface-transport'
|
|
26
|
-
import type { AbortOptions } from '@libp2p/interfaces'
|
|
19
|
+
import type { AddressSorter, AbortOptions } from '@libp2p/interface'
|
|
20
|
+
import type { Connection } from '@libp2p/interface/connection'
|
|
21
|
+
import type { ConnectionGater } from '@libp2p/interface/connection-gater'
|
|
22
|
+
import type { Metric, Metrics } from '@libp2p/interface/metrics'
|
|
23
|
+
import type { PeerId } from '@libp2p/interface/peer-id'
|
|
24
|
+
import type { Address, PeerStore } from '@libp2p/interface/peer-store'
|
|
25
|
+
import type { TransportManager } from '@libp2p/interface-internal/transport-manager'
|
|
27
26
|
|
|
28
27
|
const log = logger('libp2p:connection-manager:dial-queue')
|
|
29
28
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { CodeError } from '@libp2p/interface/errors'
|
|
2
|
+
import { KEEP_ALIVE } from '@libp2p/interface/peer-store/tags'
|
|
3
3
|
import { logger } from '@libp2p/logger'
|
|
4
4
|
import { PeerMap } from '@libp2p/peer-collections'
|
|
5
5
|
import { publicAddressesFirst } from '@libp2p/utils/address-sort'
|
|
@@ -12,17 +12,16 @@ import { AutoDial } from './auto-dial.js'
|
|
|
12
12
|
import { ConnectionPruner } from './connection-pruner.js'
|
|
13
13
|
import { AUTO_DIAL_CONCURRENCY, AUTO_DIAL_MAX_QUEUE_LENGTH, AUTO_DIAL_PRIORITY, DIAL_TIMEOUT, INBOUND_CONNECTION_THRESHOLD, MAX_CONNECTIONS, MAX_INCOMING_PENDING_CONNECTIONS, MAX_PARALLEL_DIALS, MAX_PEER_ADDRS_TO_DIAL, MIN_CONNECTIONS } from './constants.js'
|
|
14
14
|
import { DialQueue } from './dial-queue.js'
|
|
15
|
-
import type {
|
|
16
|
-
import type {
|
|
17
|
-
import type {
|
|
18
|
-
import type {
|
|
19
|
-
import type { Metrics } from '@libp2p/interface
|
|
20
|
-
import type { PeerId } from '@libp2p/interface
|
|
21
|
-
import type { Peer, PeerStore } from '@libp2p/interface
|
|
22
|
-
import type {
|
|
23
|
-
import type {
|
|
24
|
-
import type {
|
|
25
|
-
import type { Startable } from '@libp2p/interfaces/startable'
|
|
15
|
+
import type { PendingDial, AddressSorter, Libp2pEvents, AbortOptions } from '@libp2p/interface'
|
|
16
|
+
import type { Connection, MultiaddrConnection } from '@libp2p/interface/connection'
|
|
17
|
+
import type { ConnectionGater } from '@libp2p/interface/connection-gater'
|
|
18
|
+
import type { EventEmitter } from '@libp2p/interface/events'
|
|
19
|
+
import type { Metrics } from '@libp2p/interface/metrics'
|
|
20
|
+
import type { PeerId } from '@libp2p/interface/peer-id'
|
|
21
|
+
import type { Peer, PeerStore } from '@libp2p/interface/peer-store'
|
|
22
|
+
import type { Startable } from '@libp2p/interface/startable'
|
|
23
|
+
import type { ConnectionManager } from '@libp2p/interface-internal/connection-manager'
|
|
24
|
+
import type { TransportManager } from '@libp2p/interface-internal/transport-manager'
|
|
26
25
|
|
|
27
26
|
const log = logger('libp2p:connection-manager')
|
|
28
27
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { CodeError } from '@libp2p/
|
|
1
|
+
import { CodeError } from '@libp2p/interface/errors'
|
|
2
2
|
import merge from 'it-merge'
|
|
3
3
|
import { pipe } from 'it-pipe'
|
|
4
4
|
import { messages, codes } from '../errors.js'
|
|
@@ -7,11 +7,11 @@ import {
|
|
|
7
7
|
uniquePeers,
|
|
8
8
|
requirePeers
|
|
9
9
|
} from './utils.js'
|
|
10
|
-
import type {
|
|
11
|
-
import type {
|
|
12
|
-
import type {
|
|
13
|
-
import type {
|
|
14
|
-
import type { Startable } from '@libp2p/
|
|
10
|
+
import type { AbortOptions } from '@libp2p/interface'
|
|
11
|
+
import type { ContentRouting } from '@libp2p/interface/content-routing'
|
|
12
|
+
import type { PeerInfo } from '@libp2p/interface/peer-info'
|
|
13
|
+
import type { PeerStore } from '@libp2p/interface/peer-store'
|
|
14
|
+
import type { Startable } from '@libp2p/interface/startable'
|
|
15
15
|
import type { CID } from 'multiformats/cid'
|
|
16
16
|
|
|
17
17
|
export interface CompoundContentRoutingInit {
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { CodeError } from '@libp2p/
|
|
1
|
+
import { CodeError } from '@libp2p/interface/errors'
|
|
2
2
|
import filter from 'it-filter'
|
|
3
3
|
import map from 'it-map'
|
|
4
|
-
import type { PeerInfo } from '@libp2p/interface
|
|
5
|
-
import type { PeerStore } from '@libp2p/interface
|
|
4
|
+
import type { PeerInfo } from '@libp2p/interface/peer-info'
|
|
5
|
+
import type { PeerStore } from '@libp2p/interface/peer-store'
|
|
6
6
|
import type { Source } from 'it-stream-types'
|
|
7
7
|
|
|
8
8
|
/**
|
package/src/fetch/index.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { setMaxListeners } from 'events'
|
|
2
|
-
import { CodeError } from '@libp2p/
|
|
2
|
+
import { CodeError } from '@libp2p/interface/errors'
|
|
3
3
|
import { logger } from '@libp2p/logger'
|
|
4
4
|
import { abortableDuplex } from 'abortable-iterator'
|
|
5
5
|
import first from 'it-first'
|
|
@@ -10,12 +10,12 @@ import { toString as uint8arrayToString } from 'uint8arrays/to-string'
|
|
|
10
10
|
import { codes } from '../errors.js'
|
|
11
11
|
import { PROTOCOL_NAME, PROTOCOL_VERSION } from './constants.js'
|
|
12
12
|
import { FetchRequest, FetchResponse } from './pb/proto.js'
|
|
13
|
-
import type {
|
|
14
|
-
import type {
|
|
15
|
-
import type { PeerId } from '@libp2p/interface
|
|
16
|
-
import type {
|
|
17
|
-
import type {
|
|
18
|
-
import type {
|
|
13
|
+
import type { AbortOptions } from '@libp2p/interface'
|
|
14
|
+
import type { Stream } from '@libp2p/interface/connection'
|
|
15
|
+
import type { PeerId } from '@libp2p/interface/peer-id'
|
|
16
|
+
import type { Startable } from '@libp2p/interface/startable'
|
|
17
|
+
import type { ConnectionManager } from '@libp2p/interface-internal/connection-manager'
|
|
18
|
+
import type { IncomingStreamData, Registrar } from '@libp2p/interface-internal/registrar'
|
|
19
19
|
|
|
20
20
|
const log = logger('libp2p:fetch')
|
|
21
21
|
|
package/src/get-peer.ts
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { CodeError } from '@libp2p/interface/errors'
|
|
2
|
+
import { isPeerId } from '@libp2p/interface/peer-id'
|
|
3
3
|
import { logger } from '@libp2p/logger'
|
|
4
4
|
import { peerIdFromString } from '@libp2p/peer-id'
|
|
5
5
|
import { isMultiaddr } from '@multiformats/multiaddr'
|
|
6
6
|
import { codes } from './errors.js'
|
|
7
|
-
import type { PeerId } from '@libp2p/interface
|
|
7
|
+
import type { PeerId } from '@libp2p/interface/peer-id'
|
|
8
8
|
import type { Multiaddr } from '@multiformats/multiaddr'
|
|
9
9
|
|
|
10
10
|
const log = logger('libp2p:get-peer')
|
package/src/identify/identify.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { setMaxListeners } from 'events'
|
|
2
|
-
import { CodeError } from '@libp2p/
|
|
2
|
+
import { CodeError } from '@libp2p/interface/errors'
|
|
3
3
|
import { logger } from '@libp2p/logger'
|
|
4
4
|
import { peerIdFromKeys } from '@libp2p/peer-id'
|
|
5
5
|
import { RecordEnvelope, PeerRecord } from '@libp2p/peer-record'
|
|
@@ -24,16 +24,15 @@ import {
|
|
|
24
24
|
} from './consts.js'
|
|
25
25
|
import { Identify } from './pb/message.js'
|
|
26
26
|
import type { IdentifyServiceComponents, IdentifyServiceInit } from './index.js'
|
|
27
|
-
import type {
|
|
28
|
-
import type { Connection, Stream } from '@libp2p/interface
|
|
29
|
-
import type {
|
|
30
|
-
import type {
|
|
31
|
-
import type {
|
|
32
|
-
import type {
|
|
33
|
-
import type {
|
|
34
|
-
import type {
|
|
35
|
-
import type {
|
|
36
|
-
import type { Startable } from '@libp2p/interfaces/startable'
|
|
27
|
+
import type { Libp2pEvents, IdentifyResult, SignedPeerRecord, AbortOptions } from '@libp2p/interface'
|
|
28
|
+
import type { Connection, Stream } from '@libp2p/interface/connection'
|
|
29
|
+
import type { EventEmitter } from '@libp2p/interface/events'
|
|
30
|
+
import type { PeerId } from '@libp2p/interface/peer-id'
|
|
31
|
+
import type { Peer, PeerStore } from '@libp2p/interface/peer-store'
|
|
32
|
+
import type { Startable } from '@libp2p/interface/startable'
|
|
33
|
+
import type { AddressManager } from '@libp2p/interface-internal/address-manager'
|
|
34
|
+
import type { ConnectionManager } from '@libp2p/interface-internal/connection-manager'
|
|
35
|
+
import type { IncomingStreamData, Registrar } from '@libp2p/interface-internal/registrar'
|
|
37
36
|
|
|
38
37
|
const log = logger('libp2p:identify')
|
|
39
38
|
|
package/src/identify/index.ts
CHANGED
|
@@ -4,13 +4,13 @@ import {
|
|
|
4
4
|
} from './consts.js'
|
|
5
5
|
import { DefaultIdentifyService } from './identify.js'
|
|
6
6
|
import { Identify } from './pb/message.js'
|
|
7
|
-
import type {
|
|
8
|
-
import type {
|
|
9
|
-
import type {
|
|
10
|
-
import type {
|
|
11
|
-
import type {
|
|
12
|
-
import type {
|
|
13
|
-
import type {
|
|
7
|
+
import type { Libp2pEvents } from '@libp2p/interface'
|
|
8
|
+
import type { EventEmitter } from '@libp2p/interface/events'
|
|
9
|
+
import type { PeerId } from '@libp2p/interface/peer-id'
|
|
10
|
+
import type { PeerStore } from '@libp2p/interface/peer-store'
|
|
11
|
+
import type { AddressManager } from '@libp2p/interface-internal/address-manager'
|
|
12
|
+
import type { ConnectionManager } from '@libp2p/interface-internal/connection-manager'
|
|
13
|
+
import type { Registrar } from '@libp2p/interface-internal/registrar'
|
|
14
14
|
|
|
15
15
|
export interface IdentifyServiceInit {
|
|
16
16
|
/**
|
package/src/index.ts
CHANGED
|
@@ -19,18 +19,17 @@ import type { AddressManagerInit } from './address-manager/index.js'
|
|
|
19
19
|
import type { Components } from './components.js'
|
|
20
20
|
import type { ConnectionManagerInit } from './connection-manager/index.js'
|
|
21
21
|
import type { TransportManagerInit } from './transport-manager.js'
|
|
22
|
-
import type {
|
|
23
|
-
import type {
|
|
24
|
-
import type {
|
|
25
|
-
import type {
|
|
26
|
-
import type {
|
|
27
|
-
import type { Metrics } from '@libp2p/interface
|
|
28
|
-
import type { PeerDiscovery } from '@libp2p/interface
|
|
29
|
-
import type { PeerId } from '@libp2p/interface
|
|
30
|
-
import type { PeerRouting } from '@libp2p/interface
|
|
31
|
-
import type { StreamMuxerFactory } from '@libp2p/interface
|
|
32
|
-
import type { Transport } from '@libp2p/interface
|
|
33
|
-
import type { RecursivePartial } from '@libp2p/interfaces'
|
|
22
|
+
import type { Libp2p, ServiceMap, RecursivePartial } from '@libp2p/interface'
|
|
23
|
+
import type { ConnectionProtector } from '@libp2p/interface/connection'
|
|
24
|
+
import type { ConnectionEncrypter } from '@libp2p/interface/connection-encrypter'
|
|
25
|
+
import type { ConnectionGater } from '@libp2p/interface/connection-gater'
|
|
26
|
+
import type { ContentRouting } from '@libp2p/interface/content-routing'
|
|
27
|
+
import type { Metrics } from '@libp2p/interface/metrics'
|
|
28
|
+
import type { PeerDiscovery } from '@libp2p/interface/peer-discovery'
|
|
29
|
+
import type { PeerId } from '@libp2p/interface/peer-id'
|
|
30
|
+
import type { PeerRouting } from '@libp2p/interface/peer-routing'
|
|
31
|
+
import type { StreamMuxerFactory } from '@libp2p/interface/stream-muxer'
|
|
32
|
+
import type { Transport } from '@libp2p/interface/transport'
|
|
34
33
|
import type { KeyChainInit } from '@libp2p/keychain'
|
|
35
34
|
import type { PersistentPeerStoreInit } from '@libp2p/peer-store'
|
|
36
35
|
import type { Datastore } from 'interface-datastore'
|
package/src/insecure/index.ts
CHANGED
|
@@ -22,15 +22,15 @@
|
|
|
22
22
|
* ```
|
|
23
23
|
*/
|
|
24
24
|
|
|
25
|
-
import { UnexpectedPeerError, InvalidCryptoExchangeError } from '@libp2p/interface
|
|
25
|
+
import { UnexpectedPeerError, InvalidCryptoExchangeError } from '@libp2p/interface/errors'
|
|
26
26
|
import { logger } from '@libp2p/logger'
|
|
27
27
|
import { peerIdFromBytes, peerIdFromKeys } from '@libp2p/peer-id'
|
|
28
28
|
import { handshake } from 'it-handshake'
|
|
29
29
|
import * as lp from 'it-length-prefixed'
|
|
30
30
|
import map from 'it-map'
|
|
31
31
|
import { Exchange, KeyType } from './pb/proto.js'
|
|
32
|
-
import type { ConnectionEncrypter, SecuredConnection } from '@libp2p/interface
|
|
33
|
-
import type { PeerId } from '@libp2p/interface
|
|
32
|
+
import type { ConnectionEncrypter, SecuredConnection } from '@libp2p/interface/connection-encrypter'
|
|
33
|
+
import type { PeerId } from '@libp2p/interface/peer-id'
|
|
34
34
|
import type { Duplex, Source } from 'it-stream-types'
|
|
35
35
|
import type { Uint8ArrayList } from 'uint8arraylist'
|
|
36
36
|
|
package/src/libp2p.ts
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { setMaxListeners } from 'events'
|
|
2
2
|
import { unmarshalPublicKey } from '@libp2p/crypto/keys'
|
|
3
|
-
import { type ContentRouting, contentRouting } from '@libp2p/interface
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
3
|
+
import { type ContentRouting, contentRouting } from '@libp2p/interface/content-routing'
|
|
4
|
+
import { CodeError } from '@libp2p/interface/errors'
|
|
5
|
+
import { EventEmitter, CustomEvent } from '@libp2p/interface/events'
|
|
6
|
+
import { peerDiscovery } from '@libp2p/interface/peer-discovery'
|
|
7
|
+
import { type PeerRouting, peerRouting } from '@libp2p/interface/peer-routing'
|
|
8
8
|
import { DefaultKeyChain } from '@libp2p/keychain'
|
|
9
9
|
import { logger } from '@libp2p/logger'
|
|
10
10
|
import { PeerSet } from '@libp2p/peer-collections'
|
|
@@ -29,15 +29,15 @@ import { DefaultTransportManager } from './transport-manager.js'
|
|
|
29
29
|
import { DefaultUpgrader } from './upgrader.js'
|
|
30
30
|
import type { Components } from './components.js'
|
|
31
31
|
import type { Libp2p, Libp2pInit, Libp2pOptions } from './index.js'
|
|
32
|
-
import type {
|
|
33
|
-
import type {
|
|
34
|
-
import type {
|
|
35
|
-
import type { Metrics } from '@libp2p/interface
|
|
36
|
-
import type { PeerId } from '@libp2p/interface
|
|
37
|
-
import type { PeerInfo } from '@libp2p/interface
|
|
38
|
-
import type { PeerStore } from '@libp2p/interface
|
|
39
|
-
import type {
|
|
40
|
-
import type {
|
|
32
|
+
import type { Libp2pEvents, PendingDial, ServiceMap, AbortOptions } from '@libp2p/interface'
|
|
33
|
+
import type { Connection, Stream } from '@libp2p/interface/connection'
|
|
34
|
+
import type { KeyChain } from '@libp2p/interface/keychain'
|
|
35
|
+
import type { Metrics } from '@libp2p/interface/metrics'
|
|
36
|
+
import type { PeerId } from '@libp2p/interface/peer-id'
|
|
37
|
+
import type { PeerInfo } from '@libp2p/interface/peer-info'
|
|
38
|
+
import type { PeerStore } from '@libp2p/interface/peer-store'
|
|
39
|
+
import type { Topology } from '@libp2p/interface/topology'
|
|
40
|
+
import type { StreamHandler, StreamHandlerOptions } from '@libp2p/interface-internal/registrar'
|
|
41
41
|
import type { Datastore } from 'interface-datastore'
|
|
42
42
|
|
|
43
43
|
const log = logger('libp2p')
|
package/src/peer-routing.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { CodeError } from '@libp2p/
|
|
1
|
+
import { CodeError } from '@libp2p/interface/errors'
|
|
2
2
|
import { logger } from '@libp2p/logger'
|
|
3
3
|
import filter from 'it-filter'
|
|
4
4
|
import first from 'it-first'
|
|
@@ -10,11 +10,11 @@ import {
|
|
|
10
10
|
requirePeers
|
|
11
11
|
} from './content-routing/utils.js'
|
|
12
12
|
import { codes, messages } from './errors.js'
|
|
13
|
-
import type {
|
|
14
|
-
import type {
|
|
15
|
-
import type {
|
|
16
|
-
import type {
|
|
17
|
-
import type {
|
|
13
|
+
import type { AbortOptions } from '@libp2p/interface'
|
|
14
|
+
import type { PeerId } from '@libp2p/interface/peer-id'
|
|
15
|
+
import type { PeerInfo } from '@libp2p/interface/peer-info'
|
|
16
|
+
import type { PeerRouting } from '@libp2p/interface/peer-routing'
|
|
17
|
+
import type { PeerStore } from '@libp2p/interface/peer-store'
|
|
18
18
|
|
|
19
19
|
const log = logger('libp2p:peer-routing')
|
|
20
20
|
|
package/src/ping/index.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { setMaxListeners } from 'events'
|
|
2
2
|
import { randomBytes } from '@libp2p/crypto'
|
|
3
|
-
import { CodeError } from '@libp2p/
|
|
3
|
+
import { CodeError } from '@libp2p/interface/errors'
|
|
4
4
|
import { logger } from '@libp2p/logger'
|
|
5
5
|
import { abortableDuplex } from 'abortable-iterator'
|
|
6
6
|
import { anySignal } from 'any-signal'
|
|
@@ -9,12 +9,12 @@ import { pipe } from 'it-pipe'
|
|
|
9
9
|
import { equals as uint8ArrayEquals } from 'uint8arrays/equals'
|
|
10
10
|
import { codes } from '../errors.js'
|
|
11
11
|
import { PROTOCOL_PREFIX, PROTOCOL_NAME, PING_LENGTH, PROTOCOL_VERSION, TIMEOUT, MAX_INBOUND_STREAMS, MAX_OUTBOUND_STREAMS } from './constants.js'
|
|
12
|
-
import type {
|
|
13
|
-
import type {
|
|
14
|
-
import type { PeerId } from '@libp2p/interface
|
|
15
|
-
import type {
|
|
16
|
-
import type {
|
|
17
|
-
import type {
|
|
12
|
+
import type { AbortOptions } from '@libp2p/interface'
|
|
13
|
+
import type { Stream } from '@libp2p/interface/connection'
|
|
14
|
+
import type { PeerId } from '@libp2p/interface/peer-id'
|
|
15
|
+
import type { Startable } from '@libp2p/interface/startable'
|
|
16
|
+
import type { ConnectionManager } from '@libp2p/interface-internal/connection-manager'
|
|
17
|
+
import type { IncomingStreamData, Registrar } from '@libp2p/interface-internal/registrar'
|
|
18
18
|
import type { Multiaddr } from '@multiformats/multiaddr'
|
|
19
19
|
|
|
20
20
|
const log = logger('libp2p:ping')
|
package/src/pnet/index.ts
CHANGED
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
*/
|
|
24
24
|
|
|
25
25
|
import { randomBytes } from '@libp2p/crypto'
|
|
26
|
-
import { CodeError } from '@libp2p/
|
|
26
|
+
import { CodeError } from '@libp2p/interface/errors'
|
|
27
27
|
import { logger } from '@libp2p/logger'
|
|
28
28
|
import { handshake } from 'it-handshake'
|
|
29
29
|
import map from 'it-map'
|
|
@@ -37,7 +37,7 @@ import {
|
|
|
37
37
|
} from './crypto.js'
|
|
38
38
|
import * as Errors from './errors.js'
|
|
39
39
|
import { NONCE_LENGTH } from './key-generator.js'
|
|
40
|
-
import type { ConnectionProtector, MultiaddrConnection } from '@libp2p/interface
|
|
40
|
+
import type { ConnectionProtector, MultiaddrConnection } from '@libp2p/interface/connection'
|
|
41
41
|
|
|
42
42
|
const log = logger('libp2p:pnet')
|
|
43
43
|
|
package/src/registrar.ts
CHANGED
|
@@ -1,13 +1,14 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { CodeError } from '@libp2p/interfaces/errors'
|
|
1
|
+
import { CodeError } from '@libp2p/interface/errors'
|
|
3
2
|
import { logger } from '@libp2p/logger'
|
|
4
3
|
import merge from 'merge-options'
|
|
5
4
|
import { codes } from './errors.js'
|
|
6
|
-
import type {
|
|
7
|
-
import type {
|
|
8
|
-
import type { PeerId } from '@libp2p/interface
|
|
9
|
-
import type { PeerStore } from '@libp2p/interface
|
|
10
|
-
import type {
|
|
5
|
+
import type { Libp2pEvents, PeerUpdate } from '@libp2p/interface'
|
|
6
|
+
import type { EventEmitter } from '@libp2p/interface/events'
|
|
7
|
+
import type { PeerId } from '@libp2p/interface/peer-id'
|
|
8
|
+
import type { PeerStore } from '@libp2p/interface/peer-store'
|
|
9
|
+
import type { Topology } from '@libp2p/interface/topology'
|
|
10
|
+
import type { ConnectionManager } from '@libp2p/interface-internal/connection-manager'
|
|
11
|
+
import type { StreamHandlerOptions, StreamHandlerRecord, Registrar, StreamHandler } from '@libp2p/interface-internal/registrar'
|
|
11
12
|
|
|
12
13
|
const log = logger('libp2p:registrar')
|
|
13
14
|
|
|
@@ -116,9 +117,8 @@ export class DefaultRegistrar implements Registrar {
|
|
|
116
117
|
* Register handlers for a set of multicodecs given
|
|
117
118
|
*/
|
|
118
119
|
async register (protocol: string, topology: Topology): Promise<string> {
|
|
119
|
-
if (
|
|
120
|
-
|
|
121
|
-
throw new CodeError('topology must be an instance of interfaces/topology', codes.ERR_INVALID_PARAMETERS)
|
|
120
|
+
if (topology == null) {
|
|
121
|
+
throw new CodeError('invalid topology', codes.ERR_INVALID_PARAMETERS)
|
|
122
122
|
}
|
|
123
123
|
|
|
124
124
|
// Create topology
|
|
@@ -133,9 +133,6 @@ export class DefaultRegistrar implements Registrar {
|
|
|
133
133
|
|
|
134
134
|
topologies.set(id, topology)
|
|
135
135
|
|
|
136
|
-
// Set registrar
|
|
137
|
-
await topology.setRegistrar(this)
|
|
138
|
-
|
|
139
136
|
return id
|
|
140
137
|
}
|
|
141
138
|
|
|
@@ -171,7 +168,7 @@ export class DefaultRegistrar implements Registrar {
|
|
|
171
168
|
}
|
|
172
169
|
|
|
173
170
|
for (const topology of topologies.values()) {
|
|
174
|
-
topology.onDisconnect(remotePeer)
|
|
171
|
+
topology.onDisconnect?.(remotePeer)
|
|
175
172
|
}
|
|
176
173
|
}
|
|
177
174
|
})
|
|
@@ -211,7 +208,7 @@ export class DefaultRegistrar implements Registrar {
|
|
|
211
208
|
}
|
|
212
209
|
|
|
213
210
|
for (const topology of topologies.values()) {
|
|
214
|
-
topology.onConnect(remotePeer, connection)
|
|
211
|
+
topology.onConnect?.(remotePeer, connection)
|
|
215
212
|
}
|
|
216
213
|
}
|
|
217
214
|
})
|
|
@@ -242,7 +239,7 @@ export class DefaultRegistrar implements Registrar {
|
|
|
242
239
|
}
|
|
243
240
|
|
|
244
241
|
for (const topology of topologies.values()) {
|
|
245
|
-
topology.onDisconnect(peer.id)
|
|
242
|
+
topology.onDisconnect?.(peer.id)
|
|
246
243
|
}
|
|
247
244
|
}
|
|
248
245
|
|
|
@@ -260,7 +257,7 @@ export class DefaultRegistrar implements Registrar {
|
|
|
260
257
|
if (connection == null) {
|
|
261
258
|
continue
|
|
262
259
|
}
|
|
263
|
-
topology.onConnect(peer.id, connection)
|
|
260
|
+
topology.onConnect?.(peer.id, connection)
|
|
264
261
|
}
|
|
265
262
|
}
|
|
266
263
|
}
|
package/src/transport-manager.ts
CHANGED
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { CodeError } from '@libp2p/interface/errors'
|
|
2
|
+
import { trackedMap } from '@libp2p/interface/metrics/tracked-map'
|
|
3
|
+
import { FaultTolerance } from '@libp2p/interface/transport'
|
|
3
4
|
import { logger } from '@libp2p/logger'
|
|
4
|
-
import { trackedMap } from '@libp2p/tracked-map'
|
|
5
5
|
import { codes } from './errors.js'
|
|
6
|
-
import type {
|
|
7
|
-
import type { Connection } from '@libp2p/interface
|
|
8
|
-
import type {
|
|
9
|
-
import type { Metrics } from '@libp2p/interface
|
|
10
|
-
import type {
|
|
11
|
-
import type {
|
|
12
|
-
import type {
|
|
13
|
-
import type {
|
|
6
|
+
import type { Libp2pEvents, AbortOptions } from '@libp2p/interface'
|
|
7
|
+
import type { Connection } from '@libp2p/interface/connection'
|
|
8
|
+
import type { EventEmitter } from '@libp2p/interface/events'
|
|
9
|
+
import type { Metrics } from '@libp2p/interface/metrics'
|
|
10
|
+
import type { Startable } from '@libp2p/interface/startable'
|
|
11
|
+
import type { Listener, Transport, Upgrader } from '@libp2p/interface/transport'
|
|
12
|
+
import type { AddressManager } from '@libp2p/interface-internal/address-manager'
|
|
13
|
+
import type { TransportManager } from '@libp2p/interface-internal/transport-manager'
|
|
14
14
|
import type { Multiaddr } from '@multiformats/multiaddr'
|
|
15
15
|
|
|
16
16
|
const log = logger('libp2p:transports')
|
package/src/upgrader.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { setMaxListeners } from 'events'
|
|
2
|
-
import { CodeError } from '@libp2p/
|
|
2
|
+
import { CodeError } from '@libp2p/interface/errors'
|
|
3
3
|
import { logger } from '@libp2p/logger'
|
|
4
4
|
import * as mss from '@libp2p/multistream-select'
|
|
5
5
|
import { peerIdFromString } from '@libp2p/peer-id'
|
|
@@ -9,19 +9,18 @@ import { createConnection } from './connection/index.js'
|
|
|
9
9
|
import { INBOUND_UPGRADE_TIMEOUT } from './connection-manager/constants.js'
|
|
10
10
|
import { codes } from './errors.js'
|
|
11
11
|
import { DEFAULT_MAX_INBOUND_STREAMS, DEFAULT_MAX_OUTBOUND_STREAMS } from './registrar.js'
|
|
12
|
-
import type {
|
|
13
|
-
import type {
|
|
14
|
-
import type {
|
|
15
|
-
import type {
|
|
16
|
-
import type {
|
|
17
|
-
import type { Metrics } from '@libp2p/interface
|
|
18
|
-
import type { PeerId } from '@libp2p/interface
|
|
19
|
-
import type { PeerStore } from '@libp2p/interface
|
|
20
|
-
import type {
|
|
21
|
-
import type {
|
|
22
|
-
import type {
|
|
23
|
-
import type {
|
|
24
|
-
import type { EventEmitter } from '@libp2p/interfaces/events'
|
|
12
|
+
import type { Libp2pEvents, AbortOptions } from '@libp2p/interface'
|
|
13
|
+
import type { MultiaddrConnection, Connection, Stream, ConnectionProtector, NewStreamOptions } from '@libp2p/interface/connection'
|
|
14
|
+
import type { ConnectionEncrypter, SecuredConnection } from '@libp2p/interface/connection-encrypter'
|
|
15
|
+
import type { ConnectionGater } from '@libp2p/interface/connection-gater'
|
|
16
|
+
import type { EventEmitter } from '@libp2p/interface/events'
|
|
17
|
+
import type { Metrics } from '@libp2p/interface/metrics'
|
|
18
|
+
import type { PeerId } from '@libp2p/interface/peer-id'
|
|
19
|
+
import type { PeerStore } from '@libp2p/interface/peer-store'
|
|
20
|
+
import type { StreamMuxer, StreamMuxerFactory } from '@libp2p/interface/stream-muxer'
|
|
21
|
+
import type { ConnectionManager } from '@libp2p/interface-internal/connection-manager'
|
|
22
|
+
import type { Registrar } from '@libp2p/interface-internal/registrar'
|
|
23
|
+
import type { Upgrader, UpgraderOptions } from '@libp2p/interface-internal/upgrader'
|
|
25
24
|
import type { Duplex, Source } from 'it-stream-types'
|
|
26
25
|
|
|
27
26
|
const log = logger('libp2p:upgrader')
|
|
@@ -70,17 +69,20 @@ function findIncomingStreamLimit (protocol: string, registrar: Registrar): numbe
|
|
|
70
69
|
return DEFAULT_MAX_INBOUND_STREAMS
|
|
71
70
|
}
|
|
72
71
|
|
|
73
|
-
function findOutgoingStreamLimit (protocol: string, registrar: Registrar): number
|
|
72
|
+
function findOutgoingStreamLimit (protocol: string, registrar: Registrar, options: NewStreamOptions = {}): number {
|
|
74
73
|
try {
|
|
75
74
|
const { options } = registrar.getHandler(protocol)
|
|
76
|
-
|
|
75
|
+
|
|
76
|
+
if (options.maxOutboundStreams != null) {
|
|
77
|
+
return options.maxOutboundStreams
|
|
78
|
+
}
|
|
77
79
|
} catch (err: any) {
|
|
78
80
|
if (err.code !== codes.ERR_NO_HANDLER_FOR_PROTOCOL) {
|
|
79
81
|
throw err
|
|
80
82
|
}
|
|
81
83
|
}
|
|
82
84
|
|
|
83
|
-
return DEFAULT_MAX_OUTBOUND_STREAMS
|
|
85
|
+
return options.maxOutboundStreams ?? DEFAULT_MAX_OUTBOUND_STREAMS
|
|
84
86
|
}
|
|
85
87
|
|
|
86
88
|
function countStreams (protocol: string, direction: 'inbound' | 'outbound', connection: Connection): number {
|
|
@@ -428,7 +430,7 @@ export class DefaultUpgrader implements Upgrader {
|
|
|
428
430
|
}
|
|
429
431
|
})
|
|
430
432
|
|
|
431
|
-
newStream = async (protocols: string[], options:
|
|
433
|
+
newStream = async (protocols: string[], options: NewStreamOptions = {}): Promise<Stream> => {
|
|
432
434
|
if (muxer == null) {
|
|
433
435
|
throw new CodeError('Stream is not multiplexed', codes.ERR_MUXER_UNAVAILABLE)
|
|
434
436
|
}
|
|
@@ -450,10 +452,10 @@ export class DefaultUpgrader implements Upgrader {
|
|
|
450
452
|
|
|
451
453
|
const { stream, protocol } = await mss.select(muxedStream, protocols, options)
|
|
452
454
|
|
|
453
|
-
const outgoingLimit = findOutgoingStreamLimit(protocol, this.components.registrar)
|
|
455
|
+
const outgoingLimit = findOutgoingStreamLimit(protocol, this.components.registrar, options)
|
|
454
456
|
const streamCount = countStreams(protocol, 'outbound', connection)
|
|
455
457
|
|
|
456
|
-
if (streamCount
|
|
458
|
+
if (streamCount >= outgoingLimit) {
|
|
457
459
|
const err = new CodeError(`Too many outbound protocol streams for protocol "${protocol}" - limit ${outgoingLimit}`, codes.ERR_TOO_MANY_OUTBOUND_PROTOCOL_STREAMS)
|
|
458
460
|
muxedStream.abort(err)
|
|
459
461
|
|