mirror of
https://github.com/logos-messaging/logos-messaging-nim.git
synced 2026-01-07 00:13:06 +00:00
adding discv5 debug logs
This commit is contained in:
parent
4f181abe0d
commit
17a95cc2c7
@ -219,12 +219,14 @@ proc findRandomPeers*(
|
||||
wd: WakuDiscoveryV5, overridePred = none(WakuDiscv5Predicate)
|
||||
): Future[seq[waku_enr.Record]] {.async.} =
|
||||
## Find random peers to connect to using Discovery v5
|
||||
|
||||
echo "---------------- findRandomPeers 1"
|
||||
let discoveredNodes = await wd.protocol.queryRandom()
|
||||
|
||||
var discoveredRecords = discoveredNodes.mapIt(it.record)
|
||||
|
||||
when defined(debugDiscv5):
|
||||
logDiscv5FoundPeers(discoveredRecords)
|
||||
echo "---------------- findRandomPeers 2"
|
||||
logDiscv5FoundPeers(discoveredRecords)
|
||||
|
||||
# Filter out nodes that do not match the predicate
|
||||
if overridePred.isSome():
|
||||
@ -245,7 +247,7 @@ proc searchLoop(wd: WakuDiscoveryV5) {.async.} =
|
||||
info "Starting discovery v5 search"
|
||||
|
||||
while wd.listening:
|
||||
trace "running discv5 discovery loop"
|
||||
echo "---------------running discv5 discovery loop"
|
||||
let discoveredRecords = await wd.findRandomPeers()
|
||||
|
||||
var discoveredPeers: seq[RemotePeerInfo]
|
||||
@ -261,11 +263,12 @@ proc searchLoop(wd: WakuDiscoveryV5) {.async.} =
|
||||
|
||||
discoveredPeers.add(peerInfo)
|
||||
|
||||
trace "discv5 discovered peers",
|
||||
echo "----------------- discv5 discovered peers"
|
||||
info "discv5 discovered peers",
|
||||
num_discovered_peers = discoveredPeers.len,
|
||||
peers = toSeq(discoveredPeers.mapIt(shortLog(it.peerId)))
|
||||
|
||||
trace "discv5 discarded wrong records",
|
||||
info "discv5 discarded wrong records",
|
||||
wrong_records =
|
||||
wrongRecordsReasons.mapIt("(" & it.record & "," & it.errorDescription & ")")
|
||||
|
||||
@ -410,6 +413,7 @@ proc setupDiscoveryV5*(
|
||||
for enr in discv5BootstrapEnrs:
|
||||
let peerInfoRes = enr.toRemotePeerInfo()
|
||||
if peerInfoRes.isOk():
|
||||
echo "------------ adding discv5 bootstrap node"
|
||||
nodePeerManager.addPeer(peerInfoRes.get(), PeerOrigin.Discv5)
|
||||
else:
|
||||
debug "could not convert discv5 bootstrap node to peerInfo, not adding peer to Peer Store",
|
||||
|
||||
@ -471,6 +471,9 @@ proc startNode*(
|
||||
#
|
||||
# Use px to periodically get peers if discv5 is disabled, as discv5 nodes have their own
|
||||
# periodic loop to find peers and px returned peers actually come from discv5
|
||||
|
||||
echo "------------ conf.peerExchange: ", conf.peerExchange
|
||||
echo "------------ conf.discv5Conf.isSome(): ", conf.discv5Conf.isSome()
|
||||
if conf.peerExchange and not conf.discv5Conf.isSome():
|
||||
node.startPeerExchangeLoop()
|
||||
|
||||
|
||||
@ -369,8 +369,10 @@ proc startWaku*(waku: ptr Waku): Future[Result[void, string]] {.async.} =
|
||||
updateWaku(waku).isOkOr:
|
||||
return err("Error in updateApp: " & $error)
|
||||
|
||||
echo "--------- before conf.discv5Conf.isSome"
|
||||
## Discv5
|
||||
if conf.discv5Conf.isSome:
|
||||
echo "--------- conf.discv5Conf.isSome is true"
|
||||
waku[].wakuDiscV5 = waku_discv5.setupDiscoveryV5(
|
||||
waku.node.enr,
|
||||
waku.node.peerManager,
|
||||
@ -383,6 +385,7 @@ proc startWaku*(waku: ptr Waku): Future[Result[void, string]] {.async.} =
|
||||
conf.portsShift,
|
||||
)
|
||||
|
||||
echo "------------- starting discv5"
|
||||
(await waku.wakuDiscV5.start()).isOkOr:
|
||||
return err("failed to start waku discovery v5: " & $error)
|
||||
|
||||
|
||||
@ -366,14 +366,13 @@ proc connectToNodes*(
|
||||
let combined = zip(connectedPeers, futConns)
|
||||
connectedPeers = combined.filterIt(it[1].read() == true).mapIt(it[0])
|
||||
|
||||
when defined(debugDiscv5):
|
||||
let peerIds = connectedPeers.mapIt(it.peerId)
|
||||
let origin = connectedPeers.mapIt(it.origin)
|
||||
if peerIds.len > 0:
|
||||
notice "established connections with found peers",
|
||||
peerIds = peerIds.mapIt(shortLog(it)), origin = origin
|
||||
else:
|
||||
notice "could not connect to new peers", attempted = nodes.len
|
||||
let peerIds = connectedPeers.mapIt(it.peerId)
|
||||
let origin = connectedPeers.mapIt(it.origin)
|
||||
if peerIds.len > 0:
|
||||
notice "established connections with found peers",
|
||||
peerIds = peerIds.mapIt(shortLog(it)), origin = origin
|
||||
else:
|
||||
notice "could not connect to new peers", attempted = nodes.len
|
||||
|
||||
info "Finished dialing multiple peers",
|
||||
successfulConns = connectedPeers.len, attempted = nodes.len
|
||||
@ -570,6 +569,7 @@ proc updateOnlineState*(pm: PeerManager) {.async.} =
|
||||
pm.online = await checkInternetConnectivity(pm.dnsNameServers)
|
||||
|
||||
proc connectToRelayPeers*(pm: PeerManager) {.async.} =
|
||||
echo "------------ connectToRelayPeers 1"
|
||||
# only attempt if current node is online
|
||||
if not pm.isOnline():
|
||||
error "connectToRelayPeers: won't attempt new connections - node is offline"
|
||||
@ -578,6 +578,12 @@ proc connectToRelayPeers*(pm: PeerManager) {.async.} =
|
||||
var (inRelayPeers, outRelayPeers) = pm.connectedPeers(WakuRelayCodec)
|
||||
let totalRelayPeers = inRelayPeers.len + outRelayPeers.len
|
||||
|
||||
echo "------------- pm.inRelayPeersTarget: ", pm.inRelayPeersTarget
|
||||
echo "------------- inRelayPeers.len ", inRelayPeers.len
|
||||
echo "------------- pm.inRelayPeersTarget ", pm.inRelayPeersTarget
|
||||
echo "------------- outRelayPeers.len ", outRelayPeers.len
|
||||
echo "------------- pm.outRelayPeersTarget ", pm.outRelayPeersTarget
|
||||
|
||||
if inRelayPeers.len > pm.inRelayPeersTarget:
|
||||
await pm.pruneInRelayConns(inRelayPeers.len - pm.inRelayPeersTarget)
|
||||
|
||||
@ -588,6 +594,9 @@ proc connectToRelayPeers*(pm: PeerManager) {.async.} =
|
||||
|
||||
var outsideBackoffPeers = notConnectedPeers.filterIt(pm.canBeConnected(it.peerId))
|
||||
|
||||
echo "------------- notConnectedPeers ", notConnectedPeers.len
|
||||
echo "------------- outsideBackoffPeers ", outsideBackoffPeers.len
|
||||
|
||||
shuffle(outsideBackoffPeers)
|
||||
|
||||
var index = 0
|
||||
@ -595,7 +604,9 @@ proc connectToRelayPeers*(pm: PeerManager) {.async.} =
|
||||
min(outsideBackoffPeers.len, pm.outRelayPeersTarget - outRelayPeers.len)
|
||||
## number of outstanding connection requests
|
||||
|
||||
echo "----------- numPendingConnReqs: ", numPendingConnReqs
|
||||
while numPendingConnReqs > 0 and outRelayPeers.len < pm.outRelayPeersTarget:
|
||||
echo "--------- connecting to peers!"
|
||||
let numPeersToConnect = min(numPendingConnReqs, MaxParallelDials)
|
||||
await pm.connectToNodes(outsideBackoffPeers[index ..< (index + numPeersToConnect)])
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user