mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-04-29 23:09:44 -04:00
clarify processing of mempool-msgs when NODE_BLOOM
Under which circumstances we process received 'mempool' P2P messages caused confusion in #27426. Rather than bikeshedding the formulation of the IF-statement, this adds a comment clarifing when we process the message. Also, correcting the comment of `m_send_mempool`. Co-authored-by: willcl-ark <will8clark@gmail.com>
This commit is contained in:
parent
da9f62f912
commit
4581a682d2
1 changed files with 4 additions and 1 deletions
|
@ -292,7 +292,8 @@ struct Peer {
|
||||||
* this does not have to be sorted. */
|
* this does not have to be sorted. */
|
||||||
std::set<uint256> m_tx_inventory_to_send GUARDED_BY(m_tx_inventory_mutex);
|
std::set<uint256> m_tx_inventory_to_send GUARDED_BY(m_tx_inventory_mutex);
|
||||||
/** Whether the peer has requested us to send our complete mempool. Only
|
/** Whether the peer has requested us to send our complete mempool. Only
|
||||||
* permitted if the peer has NetPermissionFlags::Mempool. See BIP35. */
|
* permitted if the peer has NetPermissionFlags::Mempool or we advertise
|
||||||
|
* NODE_BLOOM. See BIP35. */
|
||||||
bool m_send_mempool GUARDED_BY(m_tx_inventory_mutex){false};
|
bool m_send_mempool GUARDED_BY(m_tx_inventory_mutex){false};
|
||||||
/** The last time a BIP35 `mempool` request was serviced. */
|
/** The last time a BIP35 `mempool` request was serviced. */
|
||||||
std::atomic<std::chrono::seconds> m_last_mempool_req{0s};
|
std::atomic<std::chrono::seconds> m_last_mempool_req{0s};
|
||||||
|
@ -4600,6 +4601,8 @@ void PeerManagerImpl::ProcessMessage(CNode& pfrom, const std::string& msg_type,
|
||||||
}
|
}
|
||||||
|
|
||||||
if (msg_type == NetMsgType::MEMPOOL) {
|
if (msg_type == NetMsgType::MEMPOOL) {
|
||||||
|
// Only process received mempool messages if we advertise NODE_BLOOM
|
||||||
|
// or if the peer has mempool permissions.
|
||||||
if (!(peer->m_our_services & NODE_BLOOM) && !pfrom.HasPermission(NetPermissionFlags::Mempool))
|
if (!(peer->m_our_services & NODE_BLOOM) && !pfrom.HasPermission(NetPermissionFlags::Mempool))
|
||||||
{
|
{
|
||||||
if (!pfrom.HasPermission(NetPermissionFlags::NoBan))
|
if (!pfrom.HasPermission(NetPermissionFlags::NoBan))
|
||||||
|
|
Loading…
Add table
Reference in a new issue