From 57f1e40eff0c5bc2d0d8edeeccdf883594781b53 Mon Sep 17 00:00:00 2001 From: Derrick Hammer Date: Sat, 22 Jul 2023 10:28:31 -0400 Subject: [PATCH] fix: add endPeerOnError handler --- src/index.ts | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) 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; }