diff options
author | Riccardo Spagni <ric@spagni.net> | 2017-03-03 14:29:23 +0200 |
---|---|---|
committer | Riccardo Spagni <ric@spagni.net> | 2017-03-03 14:29:23 +0200 |
commit | 11f8e0d33f4a2c0ed854ab1e486bda23a719aa64 (patch) | |
tree | f6940f35f7fddaf410c1f11b6c738ca377f314a1 /src/p2p/net_peerlist.h | |
parent | Merge pull request #1814 (diff) | |
parent | Make gray peer selection uniform (diff) | |
download | monero-11f8e0d33f4a2c0ed854ab1e486bda23a719aa64.tar.xz |
Merge pull request #1687
1a7e18bf Make gray peer selection uniform (Miguel Herranz)
f3be9991 Make get_random_gray_peer distribution uniform (Miguel Herranz)
Diffstat (limited to 'src/p2p/net_peerlist.h')
-rw-r--r-- | src/p2p/net_peerlist.h | 7 |
1 files changed, 2 insertions, 5 deletions
diff --git a/src/p2p/net_peerlist.h b/src/p2p/net_peerlist.h index 6b999207b..11d995995 100644 --- a/src/p2p/net_peerlist.h +++ b/src/p2p/net_peerlist.h @@ -408,13 +408,10 @@ namespace nodetool return false; } - size_t x = crypto::rand<size_t>() % (m_peers_gray.size() + 1); - size_t res = (x * x * x) / (m_peers_gray.size() * m_peers_gray.size()); //parabola \/ - - LOG_PRINT_L3("Random gray peer index=" << res << "(x="<< x << ", max_index=" << m_peers_gray.size() << ")"); + size_t random_index = crypto::rand<size_t>() % m_peers_gray.size(); peers_indexed::index<by_time>::type& by_time_index = m_peers_gray.get<by_time>(); - pe = *epee::misc_utils::move_it_backward(--by_time_index.end(), res); + pe = *epee::misc_utils::move_it_backward(--by_time_index.end(), random_index); return true; |