actually shuffle peers more

This commit is contained in:
tycho garen
2022-06-14 16:15:20 -04:00
parent d83dc8931e
commit afae39c5af
+4 -2
View File
@@ -861,6 +861,7 @@ func (m *PeerManager) Advertise(peerID types.NodeID, limit uint16) []NodeAddress
addresses = append(addresses, m.options.SelfAddress)
}
OUTER:
for _, peer := range m.store.Ranked() {
if peer.ID == peerID {
continue
@@ -870,8 +871,8 @@ func (m *PeerManager) Advertise(peerID types.NodeID, limit uint16) []NodeAddress
}
for nodeAddr, addressInfo := range peer.AddressInfo {
if len(addresses) >= int(limit) {
return addresses
if len(addresses) >= int(limit)*2 {
break OUTER
}
// only add non-private NodeIDs
@@ -880,6 +881,7 @@ func (m *PeerManager) Advertise(peerID types.NodeID, limit uint16) []NodeAddress
}
}
}
rand.Shuffle(len(addresses), func(i, j int) {
addresses[i], addresses[j] = addresses[j], addresses[i]
})