shuffle peers when limiting px set

This commit is contained in:
vyzo 2019-12-05 21:01:37 +02:00
parent 17fd85f02c
commit 0dec90571b

View File

@ -384,6 +384,7 @@ func (gs *GossipSubRouter) addBackoff(p peer.ID, topic string) {
func (gs *GossipSubRouter) pxConnect(peers []*pb.PeerInfo) {
if len(peers) > GossipSubPrunePeers {
shufflePeerInfo(peers)
peers = peers[:GossipSubPrunePeers]
}
@ -1003,3 +1004,10 @@ func shufflePeerInfo(peers []*pb.PeerInfo) {
peers[i], peers[j] = peers[j], peers[i]
}
}
func shufflePeerInfo(peers []*pb.PeerInfo) {
for i := range peers {
j := rand.Intn(i + 1)
peers[i], peers[j] = peers[j], peers[i]
}
}