mirror of
https://github.com/logos-messaging/logos-messaging-nim.git
synced 2026-01-09 01:13:08 +00:00
deploy: a1eb88faabc46d3dbf1acb9bc76a6ed04cc2c1d6
This commit is contained in:
parent
16444ecd8b
commit
4efa4b6c1f
@ -28,9 +28,15 @@ proc keepAlive*(w: WakuRelay) {.async.} =
|
||||
|
||||
for topic in w.topics.keys:
|
||||
trace "Keepalive on topic", topic=topic
|
||||
let mpeers = w.mesh.getOrDefault(topic)
|
||||
let
|
||||
# Mesh peers for topic
|
||||
mpeers = toSeq(w.mesh.getOrDefault(topic))
|
||||
# Peers we're backing off from on topic
|
||||
backoffPeers = w.backingOff.getOrDefault(topic)
|
||||
# Only keep peers alive that we're not backing off from
|
||||
keepAlivePeers = mpeers.filterIt(not backoffPeers.hasKey(it.peerId))
|
||||
|
||||
w.broadcast(toSeq(mpeers), RPCMsg(control: some(ControlMessage(graft: @[ControlGraft(topicID: topic)]))))
|
||||
w.broadcast(keepAlivePeers, RPCMsg(control: some(ControlMessage(graft: @[ControlGraft(topicID: topic)]))))
|
||||
|
||||
await sleepAsync(DefaultKeepAlive)
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user