mirror of
https://github.com/tendermint/tendermint.git
synced 2026-09-13 11:34:17 +00:00
Stop peer routines upon connection failure
This commit is contained in:
+4
-4
@@ -287,7 +287,7 @@ FOR_LOOP:
|
||||
}
|
||||
if err != nil {
|
||||
log.Warn("Connection failed @ sendRoutine", "connection", c, "error", err)
|
||||
c.Stop()
|
||||
c.stopForError(err)
|
||||
break FOR_LOOP
|
||||
}
|
||||
}
|
||||
@@ -382,7 +382,7 @@ FOR_LOOP:
|
||||
if err != nil {
|
||||
if atomic.LoadUint32(&c.stopped) != 1 {
|
||||
log.Warn("Connection failed @ recvRoutine", "connection", c, "error", err)
|
||||
c.Stop()
|
||||
c.stopForError(err)
|
||||
}
|
||||
break FOR_LOOP
|
||||
}
|
||||
@@ -400,8 +400,8 @@ FOR_LOOP:
|
||||
c.recvMonitor.Update(int(*n))
|
||||
if *err != nil {
|
||||
if atomic.LoadUint32(&c.stopped) != 1 {
|
||||
log.Warn(Fmt("%v failed @ recvRoutine", c))
|
||||
c.Stop()
|
||||
log.Warn("Connection failed @ recvRoutine", "connection", c, "error", *err)
|
||||
c.stopForError(*err)
|
||||
}
|
||||
break FOR_LOOP
|
||||
}
|
||||
|
||||
+2
-2
@@ -197,7 +197,7 @@ func (sw *Switch) Peers() IPeerSet {
|
||||
// Disconnect from a peer due to external error.
|
||||
// TODO: make record depending on reason.
|
||||
func (sw *Switch) StopPeerForError(peer *Peer, reason interface{}) {
|
||||
log.Info(Fmt("- %v !! reason: %v", peer, reason))
|
||||
log.Info("Stopping peer for error", "peer", peer, "error", reason)
|
||||
sw.peers.Remove(peer)
|
||||
peer.stop()
|
||||
|
||||
@@ -208,7 +208,7 @@ func (sw *Switch) StopPeerForError(peer *Peer, reason interface{}) {
|
||||
// Disconnect from a peer gracefully.
|
||||
// TODO: handle graceful disconnects.
|
||||
func (sw *Switch) StopPeerGracefully(peer *Peer) {
|
||||
log.Info(Fmt("- %v", peer))
|
||||
log.Info("Stopping peer gracefully")
|
||||
sw.peers.Remove(peer)
|
||||
peer.stop()
|
||||
|
||||
|
||||
Reference in New Issue
Block a user