aboutsummaryrefslogtreecommitdiff
path: root/src/p2p/net_peerlist.h
diff options
context:
space:
mode:
authormoneromooo <moneromoo@nowhere.nowhere.nowhere>2020-12-02 19:36:08 +0000
committermoneromooo-monero <moneromooo-monero@users.noreply.github.com>2020-12-04 01:55:22 +0000
commit89e984d93bac087e3a84013fc006690177cdad5f (patch)
treeb686316454ebde3311e712478d8f63f7f94ddd55 /src/p2p/net_peerlist.h
parentprotocol: drop peers that decrease claimed height (diff)
downloadmonero-89e984d93bac087e3a84013fc006690177cdad5f.tar.xz
keep only the last seen node on a given host in the white list
Diffstat (limited to '')
-rw-r--r--src/p2p/net_peerlist.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/p2p/net_peerlist.h b/src/p2p/net_peerlist.h
index 992462d0b..c794b0f3b 100644
--- a/src/p2p/net_peerlist.h
+++ b/src/p2p/net_peerlist.h
@@ -109,6 +109,7 @@ namespace nodetool
bool get_white_peer_by_index(peerlist_entry& p, size_t i);
bool get_gray_peer_by_index(peerlist_entry& p, size_t i);
template<typename F> bool foreach(bool white, const F &f);
+ void evict_host_from_white_peerlist(const peerlist_entry& pr);
bool append_with_peer_white(const peerlist_entry& pr);
bool append_with_peer_gray(const peerlist_entry& pr);
bool append_with_peer_anchor(const anchor_peerlist_entry& ple);
@@ -345,6 +346,7 @@ namespace nodetool
if(by_addr_it_wt == m_peers_white.get<by_addr>().end())
{
//put new record into white list
+ evict_host_from_white_peerlist(ple);
m_peers_white.insert(ple);
trim_white_peerlist();
}else