Skip to content

Commit

Permalink
server: mark address as connected within handleAddPeerMsg
Browse files Browse the repository at this point in the history
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.
  • Loading branch information
wpaulino committed Oct 10, 2019
1 parent 06baabe commit ab6f308
Showing 1 changed file with 6 additions and 6 deletions.
12 changes: 6 additions & 6 deletions server.go
Original file line number Diff line number Diff line change
Expand Up @@ -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
}

Expand Down Expand Up @@ -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.
}
Expand Down

0 comments on commit ab6f308

Please sign in to comment.