From ab6f3089f667f38172d9b45936206f0b4bc6f215 Mon Sep 17 00:00:00 2001 From: Wilmer Paulino Date: Thu, 10 Oct 2019 12:10:52 -0400 Subject: [PATCH] server: mark address as connected within handleAddPeerMsg We do this to ensure the address manager contains live addresses. Previously, addresses with which we established connections with would not be marked as connected because it would be done once we disconnect peers. Given that we don't process all of the disconnect logic when we're shutting down, addresses of stable and good peers would never be marked as connected unless the connection was lost during operation. --- server.go | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/server.go b/server.go index 7d5da9c1..eaaa1133 100644 --- a/server.go +++ b/server.go @@ -1651,6 +1651,12 @@ func (s *server) handleAddPeerMsg(state *peerState, sp *serverPeer) bool { } } + // Update the address' last seen time if the peer has acknowledged + // our version and has sent us its version as well. + if sp.VerAckReceived() && sp.VersionKnown() && sp.NA() != nil { + s.addrManager.Connected(sp.NA()) + } + return true } @@ -1681,12 +1687,6 @@ func (s *server) handleDonePeerMsg(state *peerState, sp *serverPeer) { s.connManager.Disconnect(sp.connReq.ID()) } - // Update the address' last seen time if the peer has acknowledged - // our version and has sent us its version as well. - if sp.VerAckReceived() && sp.VersionKnown() && sp.NA() != nil { - s.addrManager.Connected(sp.NA()) - } - // If we get here it means that either we didn't know about the peer // or we purposefully deleted it. }