diff options
author | Antoine Riard <ariard@student.42.fr> | 2020-09-04 09:34:26 -0400 |
---|---|---|
committer | Antoine Riard <ariard@student.42.fr> | 2020-09-07 10:48:21 -0400 |
commit | ac71fe936da290adf5a3155fe8db5f78b485f1f1 (patch) | |
tree | 9859d1e2bf383df2699baa3add309f065b3afe11 /src | |
parent | a0a422c34cfd6514d0cc445bd784d3ee1a2d1749 (diff) | |
download | bitcoin-ac71fe936da290adf5a3155fe8db5f78b485f1f1.tar.xz |
[doc] Clarify scope of eviction protection of outbound block-relay peers
Block-relay-only peers were introduced by #15759. According to its
author, it was intented to make them only immune to outbound peer
rotation-based eviction and not from all eviction as modified comment
leans to think of.
Clearly indicate that outbound block-relay peers aren't protected
from eviction by the bad/lagging chain logic.
Diffstat (limited to 'src')
-rw-r--r-- | src/net_processing.cpp | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/src/net_processing.cpp b/src/net_processing.cpp index ce4ac3cd75..6762a94a6f 100644 --- a/src/net_processing.cpp +++ b/src/net_processing.cpp @@ -2018,11 +2018,12 @@ static void ProcessHeadersMessage(CNode& pfrom, CConnman& connman, ChainstateMan } } + // If this is an outbound full-relay peer, check to see if we should protect + // it from the bad/lagging chain logic. + // Note that outbound block-relay peers are excluded from this protection, and + // thus always subject to eviction under the bad/lagging chain logic. + // See ChainSyncTimeoutState. if (!pfrom.fDisconnect && pfrom.IsFullOutboundConn() && nodestate->pindexBestKnownBlock != nullptr) { - // If this is an outbound full-relay peer, check to see if we should protect - // it from the bad/lagging chain logic. - // Note that block-relay-only peers are already implicitly protected, so we - // only consider setting m_protect for the full-relay peers. if (g_outbound_peers_with_protect_from_disconnect < MAX_OUTBOUND_PEERS_TO_PROTECT_FROM_DISCONNECT && nodestate->pindexBestKnownBlock->nChainWork >= ::ChainActive().Tip()->nChainWork && !nodestate->m_chain_sync.m_protect) { LogPrint(BCLog::NET, "Protecting outbound peer=%d from eviction\n", pfrom.GetId()); nodestate->m_chain_sync.m_protect = true; |