@@ 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",