From 64d35994d16ca5aaf001c47a07804fc049806eba Mon Sep 17 00:00:00 2001 From: vyzo Date: Tue, 20 Feb 2018 14:00:33 +0200 Subject: [PATCH] shuffle peers --- gossipsub.go | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/gossipsub.go b/gossipsub.go index bf20a09..0eb3910 100644 --- a/gossipsub.go +++ b/gossipsub.go @@ -2,6 +2,7 @@ package floodsub import ( "context" + "math/rand" "time" pb "github.com/libp2p/go-floodsub/pb" @@ -350,7 +351,7 @@ func (gs *GossipSubRouter) heartbeat() { } } - // do we have too many peers + // do we have too many peers? if len(peers) > GossipSubDhi { idontneed := len(peers) - GossipSubD plst := peerMapToList(peers) @@ -526,7 +527,6 @@ func (gs *GossipSubRouter) getPeers(topic string, filter func(peer.ID) bool) []p } shufflePeers(peers) - return peers } @@ -547,5 +547,8 @@ func peerMapToList(peers map[peer.ID]struct{}) []peer.ID { } func shufflePeers(peers []peer.ID) { - // TODO + for i := range peers { + j := rand.Intn(i + 1) + peers[i], peers[j] = peers[j], peers[i] + } }