func (s *Server) handlePeerNotify(conn *Conn, msg *protocol.Message) { peers := msg.GetPeerNotify().Peers for _, peer := range peers { if _, ok := s.Peers[peer.Id]; !ok { s.Peers[peer.Id] = nil s.Connect(peer.Id) } } }
func (s *Server) handlePeerNotify(conn *Conn, msg *protocol.Message) { conn.peerRequest <- true s.Printf("PeerNotify %+v", conn) peers := msg.GetPeerNotify().Peers for _, peer := range peers { if _, ok := s.Peers[peer.Id]; !ok { s.Peers[peer.Id] = nil s.Connect(peer.Id) } } }
func (s *Server) handlePeerNotify(conn *Conn, msg *protocol.Message) { conn.peerRequest <- true peers := msg.GetPeerNotify().Peers for _, peer := range peers { s.peersLock.RLock() _, ok := s.Peers[peer.Id] s.peersLock.RUnlock() if ok { continue } s.peersLock.Lock() s.Peers[peer.Id] = nil s.peersLock.Unlock() if err := s.Connect(peer.Id); err != nil { s.Printf("ERR failed to connect to peer %s", err) } } }