diff --git a/src/index.ts b/src/index.ts index dd0a7d8..ab6a583 100644 --- a/src/index.ts +++ b/src/index.ts @@ -1,6 +1,10 @@ import { addHandler, handleMessage } from "@lumeweb/libkernel/module"; import type { ActiveQuery } from "@lumeweb/libkernel/module"; -import { createClient, SwarmClient } from "@lumeweb/kernel-swarm-client"; +import { + createClient, + Socket, + SwarmClient, +} from "@lumeweb/kernel-swarm-client"; import { RpcNetwork, RpcQueryOptions, setupStream } from "@lumeweb/rpc-client"; import type { RPCRequest, RPCResponse } from "@lumeweb/interface-relay"; @@ -102,6 +106,12 @@ async function createNetwork(def = true): Promise { dhtInstance.swarm.on("setup", async (peer: any) => setupStream(peer)); + dhtInstance.endPeerOnError = async (peer: Socket) => { + const listeners = (await peer.getListeners()) as string[]; + + return listeners.length <= 1; + }; + return id; }