server: reorder short-circuit in peer termination watcher

This commit reorders logic in the peer termination
watcher such that we short circuit earlier if we
already have pending persistent connection requests.
Before, the debug statement may have indicated that
a reconnection was being attempted, even though it
may have exited before submitting the request to
the connection manager.
This commit is contained in:
Conner Fromknecht 2017-11-17 15:31:44 -08:00
parent 26ec569fca
commit 9713cd81fc
No known key found for this signature in database
GPG Key ID: 39DE78FBE6ACB0EF

@ -364,7 +364,6 @@ func newServer(listenAddrs []string, chanDB *channeldb.DB, cc *chainControl,
OnAccept: s.InboundPeerConnected,
RetryDuration: time.Second * 5,
TargetOutbound: 100,
GetNewAddress: nil,
Dial: noiseDial(s.identityPriv),
OnConnection: s.OutboundPeerConnected,
})
@ -1087,6 +1086,12 @@ func (s *server) peerTerminationWatcher(p *peer) {
pubStr := string(p.addr.IdentityKey.SerializeCompressed())
_, ok := s.persistentPeers[pubStr]
if ok {
// We'll only need to re-launch a connection request if one
// isn't already currently pending.
if _, ok := s.persistentConnReqs[pubStr]; ok {
return
}
srvrLog.Debugf("Attempting to re-establish persistent "+
"connection to peer %v", p)
@ -1098,12 +1103,6 @@ func (s *server) peerTerminationWatcher(p *peer) {
Permanent: true,
}
// We'll only need to re-launch a connection requests if one
// isn't already currently pending.
if _, ok := s.persistentConnReqs[pubStr]; ok {
return
}
// Otherwise, we'll launch a new connection requests in order
// to attempt to maintain a persistent connection with this
// peer.