Skip to content

Commit 8a2cb1f

Browse files
committed
[net processing] Move fPreferHeaders from CNodeState to Peer
1 parent 3605011 commit 8a2cb1f

File tree

1 file changed

+6
-6
lines changed

1 file changed

+6
-6
lines changed

src/net_processing.cpp

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -391,6 +391,9 @@ struct Peer {
391391
/** When to potentially disconnect peer for stalling headers download */
392392
std::chrono::microseconds m_headers_sync_timeout GUARDED_BY(NetEventsInterface::g_msgproc_mutex){0us};
393393

394+
/** Whether this peer wants invs or headers (when possible) for block announcements */
395+
bool fPreferHeaders GUARDED_BY(NetEventsInterface::g_msgproc_mutex){false};
396+
394397
explicit Peer(NodeId id, ServiceFlags our_services)
395398
: m_id{id}
396399
, m_our_services{our_services}
@@ -430,8 +433,6 @@ struct CNodeState {
430433
int nBlocksInFlight{0};
431434
//! Whether we consider this a preferred download peer.
432435
bool fPreferredDownload{false};
433-
//! Whether this peer wants invs or headers (when possible) for block announcements.
434-
bool fPreferHeaders GUARDED_BY(NetEventsInterface::g_msgproc_mutex){false};
435436
/** Whether this peer wants invs or cmpctblocks (when possible) for block announcements. */
436437
bool m_requested_hb_cmpctblocks{false};
437438
/** Whether this peer will send us cmpctblocks if we request them. */
@@ -3447,8 +3448,7 @@ void PeerManagerImpl::ProcessMessage(CNode& pfrom, const std::string& msg_type,
34473448
}
34483449

34493450
if (msg_type == NetMsgType::SENDHEADERS) {
3450-
LOCK(cs_main);
3451-
State(pfrom.GetId())->fPreferHeaders = true;
3451+
peer->fPreferHeaders = true;
34523452
return;
34533453
}
34543454

@@ -5454,7 +5454,7 @@ bool PeerManagerImpl::SendMessages(CNode* pto)
54545454
// add all to the inv queue.
54555455
LOCK(peer->m_block_inv_mutex);
54565456
std::vector<CBlock> vHeaders;
5457-
bool fRevertToInv = ((!state.fPreferHeaders &&
5457+
bool fRevertToInv = ((!peer->fPreferHeaders &&
54585458
(!state.m_requested_hb_cmpctblocks || peer->m_blocks_for_headers_relay.size() > 1)) ||
54595459
peer->m_blocks_for_headers_relay.size() > MAX_BLOCKS_TO_ANNOUNCE);
54605460
const CBlockIndex *pBestIndex = nullptr; // last header queued for delivery
@@ -5531,7 +5531,7 @@ bool PeerManagerImpl::SendMessages(CNode* pto)
55315531
m_connman.PushMessage(pto, msgMaker.Make(NetMsgType::CMPCTBLOCK, cmpctblock));
55325532
}
55335533
state.pindexBestHeaderSent = pBestIndex;
5534-
} else if (state.fPreferHeaders) {
5534+
} else if (peer->fPreferHeaders) {
55355535
if (vHeaders.size() > 1) {
55365536
LogPrint(BCLog::NET, "%s: %u headers, range (%s, %s), to peer=%d\n", __func__,
55375537
vHeaders.size(),

0 commit comments

Comments
 (0)