From 2d914251d2b563299f4a6dd71a315fcecebb52b1 Mon Sep 17 00:00:00 2001 From: SionoiS Date: Thu, 26 Mar 2026 07:37:45 -0400 Subject: [PATCH] kad loop interval conf --- vendor/nim-libp2p | 2 +- waku/discovery/waku_kademlia.nim | 12 +++++++----- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/vendor/nim-libp2p b/vendor/nim-libp2p index 687bbb64d..571abb728 160000 --- a/vendor/nim-libp2p +++ b/vendor/nim-libp2p @@ -1 +1 @@ -Subproject commit 687bbb64d48b976fd63dc4f3df4cd7f562cff586 +Subproject commit 571abb7285a645085b50cffbedcf83d91cf8fab9 diff --git a/waku/discovery/waku_kademlia.nim b/waku/discovery/waku_kademlia.nim index 88076dbb2..26f987439 100644 --- a/waku/discovery/waku_kademlia.nim +++ b/waku/discovery/waku_kademlia.nim @@ -24,6 +24,7 @@ const DefaultKademliaDiscoveryInterval* = chronos.seconds(10) type WakuKademlia* = ref object protocol*: KademliaDiscovery peerManager: PeerManager + loopInterval: Duration walkIntervalFut: Future[void] proc toRemotePeerInfo(record: ExtendedPeerRecord): Option[RemotePeerInfo] = @@ -128,6 +129,7 @@ proc new*( peerManager: PeerManager, bootstrapNodes: seq[(PeerId, seq[MultiAddress])], providedServices: var seq[ServiceInfo], + loopInterval: Duration = DefaultKademliaDiscoveryInterval, ): T = if bootstrapNodes.len == 0: debug "creating kademlia discovery as seed node (no bootstrap nodes)" @@ -141,11 +143,11 @@ proc new*( services = providedServices, ) - return WakuKademlia(protocol: kademlia, peerManager: peerManager) + return WakuKademlia( + protocol: kademlia, peerManager: peerManager, loopInterval: loopInterval + ) -proc start*( - self: WakuKademlia, interval: Duration = DefaultKademliaDiscoveryInterval -) {.async.} = +proc start*(self: WakuKademlia) {.async.} = if self.protocol.started: warn "Starting waku kad twice" return @@ -154,7 +156,7 @@ proc start*( await self.protocol.start() - self.walkIntervalFut = self.runDiscoveryLoop(interval) + self.walkIntervalFut = self.runDiscoveryLoop(self.loopInterval) info "Waku Kademlia Started"