本文整理匯總了Golang中github.com/degdb/degdb/protocol.Message.GetPeerNotify方法的典型用法代碼示例。如果您正苦於以下問題:Golang Message.GetPeerNotify方法的具體用法?Golang Message.GetPeerNotify怎麽用?Golang Message.GetPeerNotify使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類github.com/degdb/degdb/protocol.Message
的用法示例。
在下文中一共展示了Message.GetPeerNotify方法的3個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Golang代碼示例。
示例1: handlePeerNotify
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)
}
}
}
示例2: handlePeerNotify
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)
}
}
}
示例3: handlePeerNotify
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)
}
}
}