deploy: b483ae4b0d7ba59ead3cb724e81a9e5217f00208

This commit is contained in:
jm-clius 2022-05-20 11:39:42 +00:00
parent 3c31b59c69
commit e85c43cef3
3 changed files with 12 additions and 5 deletions

View File

@ -26,9 +26,13 @@ procSuite "Peer Exchange":
node3 = WakuNode.new(nodeKey3, bindIp, Port(60003), sendSignedPeerRecord = true)
var
peerExchangeHandler: RoutingRecordsHandler
peerExchangeHandler, emptyHandler: RoutingRecordsHandler
completionFut = newFuture[bool]()
proc ignorePeerExchange(peer: PeerId, topic: string,
peers: seq[RoutingRecordsPair]) {.gcsafe, raises: [Defect].} =
discard
proc handlePeerExchange(peer: PeerId, topic: string,
peers: seq[RoutingRecordsPair]) {.gcsafe, raises: [Defect].} =
## Handle peers received via gossipsub peer exchange
@ -44,9 +48,10 @@ procSuite "Peer Exchange":
completionFut.complete(true)
peerExchangeHandler = handlePeerExchange
emptyHandler = ignorePeerExchange
node1.mountRelay()
node2.mountRelay()
node1.mountRelay(peerExchangeHandler = some(emptyHandler))
node2.mountRelay(peerExchangeHandler = some(emptyHandler))
node3.mountRelay(peerExchangeHandler = some(peerExchangeHandler))
# Ensure that node1 prunes all peers after the first connection

View File

@ -48,4 +48,5 @@ procSuite "Waku Keepalive":
check:
(await completionFut.withTimeout(5.seconds)) == true
await allFutures([node1.stop(), node2.stop()])
await node2.stop()
await node1.stop()

View File

@ -705,7 +705,8 @@ proc mountRelay*(node: WakuNode,
wakuRelay.defaultTopics = concat(@[defaultTopic], topics)
## Add peer exchange handler
if peerExchangeHandler.isSome():
if peerExchangeHandler.isSome():
wakuRelay.parameters.enablePX = true # Feature flag for peer exchange in nim-libp2p
wakuRelay.routingRecordsHandler.add(peerExchangeHandler.get())
node.switch.mount(wakuRelay, protocolMatcher(WakuRelayCodec))