From d2b1b9d17b17dbaadc20b58289c2a552d75c088c Mon Sep 17 00:00:00 2001 From: David Florness Date: Thu, 25 Jun 2020 19:55:53 -0600 Subject: [PATCH] Throw separate errors for connection failure and stream failure --- voter.go | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/voter.go b/voter.go index 49484ba..32c9104 100644 --- a/voter.go +++ b/voter.go @@ -208,19 +208,21 @@ func findPeers(closeElection <-chan int, election *Election, me *Me) { } fmt.Printf("found voter: %s\n", peer.ID) logger.Info("connecting to:", peer) - err = me.Connect(me.ctx, peer) - + if err != nil { + logger.Warn("couldn't connect to peer: ", err) + continue + } stream, err := me.NewStream(me.ctx, peer.ID, protocolID) - if err == nil { - writer := bufio.NewWriter(stream) - writer.WriteString("shake") - writer.Flush() - stream.Close() - election.remoteVoters[peer.ID] = &Voter{addrInfo: peer} - } else { - logger.Warning("connection failed:", err) + if err != nil { + logger.Warn("couldn't open stream with peer: ", err) + continue } + writer := bufio.NewWriter(stream) + writer.WriteString("shake") + writer.Flush() + stream.Close() + election.remoteVoters[peer.ID] = &Voter{addrInfo: peer} case numPeers = <-closeElection: if len(election.remoteVoters) > numPeers { logger.Fatalf("found more peers than master! %d > %d", -- 2.38.4