Skip to content

Commit 4b8c0a6

Browse files
authored
fix: increase signal listeners (#3101)
Silences `MaxListenersExceededWarning` for shutdown controller signals they are expected because they are used a lot.
1 parent a5a33af commit 4b8c0a6

File tree

4 files changed

+8
-4
lines changed

4 files changed

+8
-4
lines changed

packages/transport-circuit-relay-v2/src/transport/transport.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { DialError, InvalidMessageError, serviceCapabilities, serviceDependencies, start, stop, transportSymbol } from '@libp2p/interface'
1+
import { DialError, InvalidMessageError, serviceCapabilities, serviceDependencies, setMaxListeners, start, stop, transportSymbol } from '@libp2p/interface'
22
import { peerFilter } from '@libp2p/peer-collections'
33
import { peerIdFromMultihash, peerIdFromString } from '@libp2p/peer-id'
44
import { streamToMaConnection } from '@libp2p/utils/stream-to-ma-conn'
@@ -129,6 +129,7 @@ export class CircuitRelayTransport implements Transport<CircuitRelayDialEvents>
129129

130130
async start (): Promise<void> {
131131
this.shutdownController = new AbortController()
132+
setMaxListeners(Infinity, this.shutdownController.signal)
132133

133134
await this.registrar.handle(RELAY_V2_STOP_CODEC, (data) => {
134135
const signal = this.upgrader.createInboundAbortSignal(this.shutdownController.signal)

packages/transport-memory/src/listener.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { ListenError, TypedEventEmitter } from '@libp2p/interface'
1+
import { ListenError, TypedEventEmitter, setMaxListeners } from '@libp2p/interface'
22
import { multiaddr } from '@multiformats/multiaddr'
33
import { nanoid } from 'nanoid'
44
import { MemoryConnection, connections } from './connections.js'
@@ -23,6 +23,7 @@ export class MemoryTransportListener extends TypedEventEmitter<ListenerEvents> i
2323
this.components = components
2424
this.init = init
2525
this.shutdownController = new AbortController()
26+
setMaxListeners(Infinity, this.shutdownController.signal)
2627
}
2728

2829
async listen (ma: Multiaddr): Promise<void> {

packages/transport-webrtc/src/private-to-public/listener.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import { isIPv4 } from '@chainsafe/is-ip'
2-
import { InvalidParametersError, TypedEventEmitter } from '@libp2p/interface'
2+
import { InvalidParametersError, TypedEventEmitter, setMaxListeners } from '@libp2p/interface'
33
import { getThinWaistAddresses } from '@libp2p/utils/get-thin-waist-addresses'
44
import { multiaddr, fromStringTuples } from '@multiformats/multiaddr'
55
import { WebRTCDirect } from '@multiformats/multiaddr-matcher'
@@ -71,6 +71,7 @@ export class WebRTCDirectListener extends TypedEventEmitter<ListenerEvents> impl
7171
this.connections = new Map()
7272
this.log = components.logger.forComponent('libp2p:webrtc-direct:listener')
7373
this.shutdownController = new AbortController()
74+
setMaxListeners(Infinity, this.shutdownController.signal)
7475
this.certificate = init.certificate
7576

7677
if (components.metrics != null) {

packages/transport-websockets/src/listener.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import http from 'node:http'
22
import https from 'node:https'
33
import net from 'node:net'
4-
import { TypedEventEmitter } from '@libp2p/interface'
4+
import { TypedEventEmitter, setMaxListeners } from '@libp2p/interface'
55
import { getThinWaistAddresses } from '@libp2p/utils/get-thin-waist-addresses'
66
import { ipPortToMultiaddr as toMultiaddr } from '@libp2p/utils/ip-port-to-multiaddr'
77
import { multiaddr } from '@multiformats/multiaddr'
@@ -64,6 +64,7 @@ export class WebSocketListener extends TypedEventEmitter<ListenerEvents> impleme
6464
this.httpsOptions = init.https ?? init.http
6565
this.sockets = new Set()
6666
this.shutdownController = new AbortController()
67+
setMaxListeners(Infinity, this.shutdownController.signal)
6768

6869
this.wsServer = new ws.WebSocketServer({
6970
noServer: true

0 commit comments

Comments
 (0)