diff --git a/packages/libp2p-daemon-client/src/index.ts b/packages/libp2p-daemon-client/src/index.ts index 88723c05..e67565a7 100644 --- a/packages/libp2p-daemon-client/src/index.ts +++ b/packages/libp2p-daemon-client/src/index.ts @@ -45,11 +45,12 @@ class Client implements DaemonClient { * @async * @returns {MultiaddrConnection} */ - async connectDaemon (): Promise { + async connectDaemon (signal?: AbortSignal): Promise { // @ts-expect-error because we use a passthrough upgrader, // this is actually a MultiaddrConnection and not a Connection return this.tcp.dial(this.multiaddr, { - upgrader: new PassThroughUpgrader() + upgrader: new PassThroughUpgrader(), + signal: signal ?? AbortSignal.timeout(10_000) }) } diff --git a/packages/libp2p-daemon-server/src/index.ts b/packages/libp2p-daemon-server/src/index.ts index c5b6d2fc..ad7c3c32 100644 --- a/packages/libp2p-daemon-server/src/index.ts +++ b/packages/libp2p-daemon-server/src/index.ts @@ -148,7 +148,8 @@ export class Server implements Libp2pServer { // @ts-expect-error because we use a passthrough upgrader, // this is actually a MultiaddrConnection and not a Connection conn = await this.tcp.dial(addr, { - upgrader: new PassThroughUpgrader() + upgrader: new PassThroughUpgrader(), + signal: AbortSignal.timeout(10_000) }) const message = StreamInfo.encode({