diff --git a/gossipsub.go b/gossipsub.go index 43a82ca..ffa4610 100644 --- a/gossipsub.go +++ b/gossipsub.go @@ -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] + } +}