actually shuffle peers more

This commit is contained in:
tycho garen
2022-06-14 16:15:20 -04:00
parent 8b5d2c0a61
commit ca1237667f

View File

@@ -876,6 +876,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
@@ -885,8 +886,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
@@ -895,6 +896,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]
})