chore: naming connectPeer procedure (#3157)

This commit is contained in:
gabrielmer 2024-10-29 18:37:07 +02:00 committed by GitHub
parent 90b8b59e4d
commit f3af7fa37e
11 changed files with 53 additions and 59 deletions

View File

@ -272,7 +272,7 @@ suite "Waku Peer Exchange with discv5":
# node2 can be connected, so will be returned by peer exchange
require (
await node1.peerManager.connectRelay(node2.switch.peerInfo.toRemotePeerInfo())
await node1.peerManager.connectPeer(node2.switch.peerInfo.toRemotePeerInfo())
)
# Mount peer exchange

View File

@ -37,7 +37,7 @@ import
./testlib/wakunode
procSuite "Peer Manager":
asyncTest "connectRelay() works":
asyncTest "connectPeer() works":
# Create 2 nodes
let nodes = toSeq(0 ..< 2).mapIt(
newTestWakuNode(generateSecp256k1Key(), ValidIpAddress.init("0.0.0.0"), Port(0))
@ -45,7 +45,7 @@ procSuite "Peer Manager":
await allFutures(nodes.mapIt(it.start()))
let connOk =
await nodes[0].peerManager.connectRelay(nodes[1].peerInfo.toRemotePeerInfo())
await nodes[0].peerManager.connectPeer(nodes[1].peerInfo.toRemotePeerInfo())
await sleepAsync(chronos.milliseconds(500))
check:
@ -178,7 +178,7 @@ procSuite "Peer Manager":
let nonExistentPeer = nonExistentPeerRes.value
require:
(await nodes[0].peerManager.connectRelay(nonExistentPeer)) == false
(await nodes[0].peerManager.connectPeer(nonExistentPeer)) == false
await sleepAsync(chronos.milliseconds(500))
check:
@ -188,7 +188,7 @@ procSuite "Peer Manager":
# Successful connection
require:
(await nodes[0].peerManager.connectRelay(nodes[1].peerInfo.toRemotePeerInfo())) ==
(await nodes[0].peerManager.connectPeer(nodes[1].peerInfo.toRemotePeerInfo())) ==
true
await sleepAsync(chronos.milliseconds(500))
@ -229,7 +229,7 @@ procSuite "Peer Manager":
nodes[0].peerManager.backoffFactor = 2
# try to connect to peer that doesnt exist
let conn1Ok = await nodes[0].peerManager.connectRelay(nonExistentPeer)
let conn1Ok = await nodes[0].peerManager.connectPeer(nonExistentPeer)
check:
# Cannot connect to node2
nodes[0].peerManager.wakuPeerStore.connectedness(nonExistentPeer.peerId) ==
@ -256,7 +256,7 @@ procSuite "Peer Manager":
nodes[0].peerManager.wakuPeerStore[NumberFailedConnBook][nodes[1].peerInfo.peerId] =
4
let conn2Ok =
await nodes[0].peerManager.connectRelay(nodes[1].peerInfo.toRemotePeerInfo())
await nodes[0].peerManager.connectPeer(nodes[1].peerInfo.toRemotePeerInfo())
check:
conn2Ok == true
nodes[0].peerManager.wakuPeerStore[NumberFailedConnBook][nodes[1].peerInfo.peerId] ==
@ -286,7 +286,7 @@ procSuite "Peer Manager":
var remotePeerInfo2 = peerInfo2.toRemotePeerInfo()
remotePeerInfo2.enr = some(node2.enr)
let is12Connected = await node1.peerManager.connectRelay(remotePeerInfo2)
let is12Connected = await node1.peerManager.connectPeer(remotePeerInfo2)
assert is12Connected == true, "Node 1 and 2 not connected"
check:
@ -356,7 +356,7 @@ procSuite "Peer Manager":
var remotePeerInfo2 = peerInfo2.toRemotePeerInfo()
remotePeerInfo2.enr = some(node2.enr)
let is12Connected = await node1.peerManager.connectRelay(remotePeerInfo2)
let is12Connected = await node1.peerManager.connectPeer(remotePeerInfo2)
assert is12Connected == true, "Node 1 and 2 not connected"
check:
@ -485,7 +485,7 @@ procSuite "Peer Manager":
node2.wakuRelay.codec = betaCodec
require:
(await node1.peerManager.connectRelay(peerInfo2.toRemotePeerInfo())) == true
(await node1.peerManager.connectPeer(peerInfo2.toRemotePeerInfo())) == true
check:
# Currently connected to node2
node1.peerManager.wakuPeerStore.peers().len == 1
@ -682,9 +682,9 @@ procSuite "Peer Manager":
# all nodes connect to peer 0
require:
(await nodes[1].peerManager.connectRelay(peerInfos[0])) == true
(await nodes[2].peerManager.connectRelay(peerInfos[0])) == true
(await nodes[3].peerManager.connectRelay(peerInfos[0])) == true
(await nodes[1].peerManager.connectPeer(peerInfos[0])) == true
(await nodes[2].peerManager.connectPeer(peerInfos[0])) == true
(await nodes[3].peerManager.connectPeer(peerInfos[0])) == true
await sleepAsync(chronos.milliseconds(500))
@ -810,9 +810,9 @@ procSuite "Peer Manager":
# create some connections/streams
check:
# some relay connections
(await nodes[0].peerManager.connectRelay(pInfos[1])) == true
(await nodes[0].peerManager.connectRelay(pInfos[2])) == true
(await nodes[1].peerManager.connectRelay(pInfos[2])) == true
(await nodes[0].peerManager.connectPeer(pInfos[1])) == true
(await nodes[0].peerManager.connectPeer(pInfos[2])) == true
(await nodes[1].peerManager.connectPeer(pInfos[2])) == true
(await nodes[0].peerManager.dialPeer(pInfos[1], WakuFilterSubscribeCodec)).isSome() ==
true
@ -1129,16 +1129,16 @@ procSuite "Peer Manager":
nodes[0].peerManager.colocationLimit = 1
# 2 in connections
discard await nodes[1].peerManager.connectRelay(pInfos[0])
discard await nodes[2].peerManager.connectRelay(pInfos[0])
discard await nodes[1].peerManager.connectPeer(pInfos[0])
discard await nodes[2].peerManager.connectPeer(pInfos[0])
await sleepAsync(chronos.milliseconds(500))
# but one is pruned
check nodes[0].peerManager.switch.connManager.getConnections().len == 1
# 2 out connections
discard await nodes[0].peerManager.connectRelay(pInfos[3])
discard await nodes[0].peerManager.connectRelay(pInfos[4])
discard await nodes[0].peerManager.connectPeer(pInfos[3])
discard await nodes[0].peerManager.connectPeer(pInfos[4])
await sleepAsync(chronos.milliseconds(500))
# they are also prunned

View File

@ -138,10 +138,10 @@ suite "WakuNode":
await node3.mountRelay()
discard
await node1.peerManager.connectRelay(node2.switch.peerInfo.toRemotePeerInfo())
await node1.peerManager.connectPeer(node2.switch.peerInfo.toRemotePeerInfo())
await sleepAsync(3.seconds)
discard
await node1.peerManager.connectRelay(node3.switch.peerInfo.toRemotePeerInfo())
await node1.peerManager.connectPeer(node3.switch.peerInfo.toRemotePeerInfo())
check:
# Verify that only the first connection succeeded

View File

@ -120,7 +120,7 @@ suite "Waku Peer Exchange":
# node2 can be connected, so will be returned by peer exchange
require (
await node1.peerManager.connectRelay(node2.switch.peerInfo.toRemotePeerInfo())
await node1.peerManager.connectPeer(node2.switch.peerInfo.toRemotePeerInfo())
)
# Mount peer exchange

View File

@ -104,7 +104,7 @@ suite "Waku Relay":
await allFutures(otherSwitch.start(), otherNode.start())
let otherRemotePeerInfo = otherSwitch.peerInfo.toRemotePeerInfo()
check await peerManager.connectRelay(otherRemotePeerInfo)
check await peerManager.connectPeer(otherRemotePeerInfo)
var otherHandlerFuture = newPushHandlerFuture()
proc otherSimpleFutureHandler(
@ -165,7 +165,7 @@ suite "Waku Relay":
await allFutures(otherSwitch.start(), otherNode.start())
let otherRemotePeerInfo = otherSwitch.peerInfo.toRemotePeerInfo()
check await peerManager.connectRelay(otherRemotePeerInfo)
check await peerManager.connectPeer(otherRemotePeerInfo)
var otherHandlerFuture = newPushHandlerFuture()
proc otherSimpleFutureHandler(
@ -284,7 +284,7 @@ suite "Waku Relay":
await allFutures(otherSwitch.start(), otherNode.start())
let otherRemotePeerInfo = otherSwitch.peerInfo.toRemotePeerInfo()
check await peerManager.connectRelay(otherRemotePeerInfo)
check await peerManager.connectPeer(otherRemotePeerInfo)
var otherHandlerFuture = newPushHandlerFuture()
proc otherSimpleFutureHandler(
@ -374,7 +374,7 @@ suite "Waku Relay":
await allFutures(otherSwitch.start(), otherNode.start())
let otherRemotePeerInfo = otherSwitch.peerInfo.toRemotePeerInfo()
check await peerManager.connectRelay(otherRemotePeerInfo)
check await peerManager.connectPeer(otherRemotePeerInfo)
var otherHandlerFuture = newPushHandlerFuture()
proc otherSimpleFutureHandler(
@ -456,8 +456,8 @@ suite "Waku Relay":
anotherPeerId = anotherRemotePeerInfo.peerId
check:
await peerManager.connectRelay(otherRemotePeerInfo)
await peerManager.connectRelay(anotherRemotePeerInfo)
await peerManager.connectPeer(otherRemotePeerInfo)
await peerManager.connectPeer(anotherRemotePeerInfo)
# Given the first node is subscribed to two pubsub topics
var handlerFuture2 = newPushHandlerFuture()
@ -673,7 +673,7 @@ suite "Waku Relay":
otherMsg6 == fromOtherNodeWakuMessage3
# Given anotherNode is reconnected, but to otherNode
check await anotherPeerManager.connectRelay(otherRemotePeerInfo)
check await anotherPeerManager.connectPeer(otherRemotePeerInfo)
check:
anotherPeerManager.switch.isConnected(otherPeerId)
otherPeerManager.switch.isConnected(anotherPeerId)
@ -848,7 +848,7 @@ suite "Waku Relay":
await allFutures(otherSwitch.start(), otherNode.start())
let otherRemotePeerInfo = otherSwitch.peerInfo.toRemotePeerInfo()
check await peerManager.connectRelay(otherRemotePeerInfo)
check await peerManager.connectPeer(otherRemotePeerInfo)
# Given both are subscribed to the same pubsub topic
var otherHandlerFuture = newPushHandlerFuture()
@ -1014,7 +1014,7 @@ suite "Waku Relay":
await allFutures(otherSwitch.start(), otherNode.start())
let otherRemotePeerInfo = otherSwitch.peerInfo.toRemotePeerInfo()
check await peerManager.connectRelay(otherRemotePeerInfo)
check await peerManager.connectPeer(otherRemotePeerInfo)
# Given both are subscribed to the same pubsub topic
var otherHandlerFuture = newPushHandlerFuture()
@ -1145,7 +1145,7 @@ suite "Waku Relay":
await allFutures(otherSwitch.start(), otherNode.start())
let otherRemotePeerInfo = otherSwitch.peerInfo.toRemotePeerInfo()
check await peerManager.connectRelay(otherRemotePeerInfo)
check await peerManager.connectPeer(otherRemotePeerInfo)
# Given both are subscribed to the same pubsub topic
# Create a different handler than the default to include messages in a seq
@ -1230,7 +1230,7 @@ suite "Waku Relay":
otherRemotePeerInfo = otherSwitch.peerInfo.toRemotePeerInfo()
otherPeerId = otherRemotePeerInfo.peerId
check await peerManager.connectRelay(otherRemotePeerInfo)
check await peerManager.connectPeer(otherRemotePeerInfo)
# Given both are subscribed to the same pubsub topic
var otherHandlerFuture = newPushHandlerFuture()
@ -1250,10 +1250,10 @@ suite "Waku Relay":
await otherSwitch.stop()
await otherSwitch.start()
check await peerManager.connectRelay(otherRemotePeerInfo)
check await peerManager.connectPeer(otherRemotePeerInfo)
# FIXME: Once stopped and started, nodes are not considered connected, nor do they reconnect after running connectRelay, as below
# check await otherPeerManager.connectRelay(otherRemotePeerInfo)
# FIXME: Once stopped and started, nodes are not considered connected, nor do they reconnect after running connectPeer, as below
# check await otherPeerManager.connectPeer(otherRemotePeerInfo)
# When sending a message from node
let msg1 = fakeWakuMessage(testMessage, pubsubTopic)
@ -1282,7 +1282,7 @@ suite "Waku Relay":
# Given node is stopped and restarted
await switch.stop()
await switch.start()
check await peerManager.connectRelay(otherRemotePeerInfo)
check await peerManager.connectPeer(otherRemotePeerInfo)
# When sending a message from node
handlerFuture = newPushHandlerFuture()
@ -1325,7 +1325,7 @@ suite "Waku Relay":
otherRemotePeerInfo = otherSwitch.peerInfo.toRemotePeerInfo()
otherPeerId = otherRemotePeerInfo.peerId
check await peerManager.connectRelay(otherRemotePeerInfo)
check await peerManager.connectPeer(otherRemotePeerInfo)
# Given both are subscribed to the same pubsub topic
var otherHandlerFuture = newPushHandlerFuture()

View File

@ -213,7 +213,7 @@ suite "WakuNode - Relay":
await allFutures(nodes.mapIt(it.mountRelay()))
# Connect nodes
let connOk = await nodes[0].peerManager.connectRelay(
let connOk = await nodes[0].peerManager.connectPeer(
nodes[1].switch.peerInfo.toRemotePeerInfo()
)
require:
@ -521,7 +521,7 @@ suite "WakuNode - Relay":
for j in 0 ..< 5:
if i == j:
continue
let connOk = await nodes[i].peerManager.connectRelay(
let connOk = await nodes[i].peerManager.connectPeer(
nodes[j].switch.peerInfo.toRemotePeerInfo()
)
require connOk

View File

@ -60,7 +60,7 @@ suite "WakuNode2 - Validators":
for j in 0 ..< 5:
if i == j:
continue
let connOk = await nodes[i].peerManager.connectRelay(
let connOk = await nodes[i].peerManager.connectPeer(
nodes[j].switch.peerInfo.toRemotePeerInfo()
)
require connOk
@ -150,7 +150,7 @@ suite "WakuNode2 - Validators":
for j in 0 ..< 5:
if i == j:
continue
let connOk = await nodes[i].peerManager.connectRelay(
let connOk = await nodes[i].peerManager.connectPeer(
nodes[j].switch.peerInfo.toRemotePeerInfo()
)
require connOk
@ -305,7 +305,7 @@ suite "WakuNode2 - Validators":
)
# nodes[0] is connected only to nodes[1]
let connOk1 = await nodes[0].peerManager.connectRelay(
let connOk1 = await nodes[0].peerManager.connectPeer(
nodes[1].switch.peerInfo.toRemotePeerInfo()
)
require connOk1
@ -315,7 +315,7 @@ suite "WakuNode2 - Validators":
for j in 1 ..< 5:
if i == j:
continue
let connOk2 = await nodes[i].peerManager.connectRelay(
let connOk2 = await nodes[i].peerManager.connectPeer(
nodes[j].switch.peerInfo.toRemotePeerInfo()
)
require connOk2

View File

@ -184,8 +184,8 @@ suite "Waku v2 Rest API - Admin":
node1.peerManager.addPeer(peerInfo3, PeerExchange)
# Connecting to both peers
let conn2 = await node1.peerManager.connectRelay(peerInfo2)
let conn3 = await node1.peerManager.connectRelay(peerInfo3)
let conn2 = await node1.peerManager.connectPeer(peerInfo2)
let conn3 = await node1.peerManager.connectPeer(peerInfo3)
# Check successful connections
check:

View File

@ -402,18 +402,12 @@ proc startNode*(
# Connect to configured static nodes
if conf.staticnodes.len > 0:
if not conf.relay:
return err("waku relay (--relay=true) should be set when configuring staticnodes")
try:
await connectToNodes(node, conf.staticnodes, "static")
except CatchableError:
return err("failed to connect to static nodes: " & getCurrentExceptionMsg())
if dynamicBootstrapNodes.len > 0:
if not conf.relay:
return err(
"waku relay (--relay=true) should be set when configuring dynamicBootstrapNodes"
)
info "Connecting to dynamic bootstrap peers"
try:
await connectToNodes(node, dynamicBootstrapNodes, "dynamic bootstrap")

View File

@ -279,7 +279,7 @@ proc pruneInRelayConns(pm: PeerManager, amount: int) {.async.}
# Connects to a given node. Note that this function uses `connect` and
# does not provide a protocol. Streams for relay (gossipsub) are created
# automatically without the needing to dial.
proc connectRelay*(
proc connectPeer*(
pm: PeerManager,
peer: RemotePeerInfo,
dialTimeout = DefaultDialTimeout,
@ -291,11 +291,11 @@ proc connectRelay*(
if peerId == pm.switch.peerInfo.peerId:
return false
if not pm.wakuPeerStore.hasPeer(peerId, WakuRelayCodec):
if not pm.wakuPeerStore.peerExists(peerId):
pm.addPeer(peer)
let failedAttempts = pm.wakuPeerStore[NumberFailedConnBook][peerId]
trace "Connecting to relay peer",
trace "Connecting to peer",
wireAddr = peer.addrs, peerId = peerId, failedAttempts = failedAttempts
var deadline = sleepAsync(dialTimeout)
@ -328,7 +328,7 @@ proc connectRelay*(
pm.wakuPeerStore[LastFailedConnBook][peerId] = Moment.init(getTime().toUnix, Second)
pm.wakuPeerStore[ConnectionBook][peerId] = CannotConnect
trace "Connecting relay peer failed",
trace "Connecting peer failed",
peerId = peerId,
reason = reasonFailed,
failedAttempts = pm.wakuPeerStore[NumberFailedConnBook][peerId]
@ -352,7 +352,7 @@ proc connectToNodes*(
for node in nodes:
let node = parsePeerInfo(node)
if node.isOk():
futConns.add(pm.connectRelay(node.value))
futConns.add(pm.connectPeer(node.value))
connectedPeers.add(node.value)
else:
error "Couldn't parse node info", error = node.error

View File

@ -140,7 +140,7 @@ proc installAdminV1PostPeersHandler(router: var RestRouter, node: WakuNode) =
let e = $error
return RestApiResponse.badRequest(fmt("Couldn't parse remote peer info: {e}"))
if not (await node.peerManager.connectRelay(peerInfo, source = "rest")):
if not (await node.peerManager.connectPeer(peerInfo, source = "rest")):
return RestApiResponse.badRequest(
fmt("Failed to connect to peer at index: {i} - {peer}")
)