diff --git a/src/net.cpp b/src/net.cpp index 16add4d89c652..b94233af0fe59 100644 --- a/src/net.cpp +++ b/src/net.cpp @@ -2311,8 +2311,6 @@ CNode::CNode(NodeId idIn, ServiceFlags nLocalServicesIn, int nMyStartingHeightIn filterInventoryKnown.reset(); fSendMempool = false; fGetAddr = false; - nNextLocalAddrSend = 0; - nNextAddrSend = 0; fRelayTxes = false; pfilter = std::make_unique(); timeLastMempoolReq = 0; diff --git a/src/net.h b/src/net.h index a8bafdd0eb0bd..549ef3aba159c 100644 --- a/src/net.h +++ b/src/net.h @@ -607,8 +607,8 @@ class CNode CRollingBloomFilter addrKnown; bool fGetAddr; std::set setKnown; - int64_t nNextAddrSend; - int64_t nNextLocalAddrSend; + std::chrono::microseconds m_next_addr_send GUARDED_BY(cs_sendProcessing){0}; + std::chrono::microseconds m_next_local_addr_send GUARDED_BY(cs_sendProcessing){0}; // inventory based relay CRollingBloomFilter filterInventoryKnown; diff --git a/src/net_processing.cpp b/src/net_processing.cpp index 79e0f79f05a70..0c3911e6fbbb7 100644 --- a/src/net_processing.cpp +++ b/src/net_processing.cpp @@ -2101,16 +2101,16 @@ bool PeerLogicValidation::SendMessages(CNode* pto, std::atomic& interruptM int64_t nNow = GetTimeMicros(); auto current_time = GetTime(); - if (!IsInitialBlockDownload() && pto->nNextLocalAddrSend < nNow) { + if (!IsInitialBlockDownload() && pto->m_next_local_addr_send < current_time) { AdvertiseLocal(pto); - pto->nNextLocalAddrSend = PoissonNextSend(nNow, AVG_LOCAL_ADDRESS_BROADCAST_INTERVAL); + pto->m_next_local_addr_send = PoissonNextSend(current_time, AVG_LOCAL_ADDRESS_BROADCAST_INTERVAL); } // // Message: addr // - if (pto->nNextAddrSend < nNow) { - pto->nNextAddrSend = PoissonNextSend(nNow, AVG_ADDRESS_BROADCAST_INTERVAL); + if (pto->m_next_addr_send < current_time) { + pto->m_next_addr_send = PoissonNextSend(current_time, AVG_ADDRESS_BROADCAST_INTERVAL); std::vector vAddr; vAddr.reserve(pto->vAddrToSend.size()); diff --git a/src/validation.h b/src/validation.h index 17835667058d1..598c65c49a061 100644 --- a/src/validation.h +++ b/src/validation.h @@ -103,10 +103,10 @@ static const unsigned int BLOCK_DOWNLOAD_WINDOW = 1024; static const unsigned int DATABASE_WRITE_INTERVAL = 60 * 60; /** Time to wait (in seconds) between flushing chainstate to disk. */ static const unsigned int DATABASE_FLUSH_INTERVAL = 24 * 60 * 60; -/** Average delay between local address broadcasts in seconds. */ -static const unsigned int AVG_LOCAL_ADDRESS_BROADCAST_INTERVAL = 24 * 24 * 60; -/** Average delay between peer address broadcasts in seconds. */ -static const unsigned int AVG_ADDRESS_BROADCAST_INTERVAL = 30; +/** Average delay between local address broadcasts */ +static constexpr std::chrono::hours AVG_LOCAL_ADDRESS_BROADCAST_INTERVAL{24}; +/** Average delay between peer address broadcasts */ +static constexpr std::chrono::seconds AVG_ADDRESS_BROADCAST_INTERVAL{30}; /** Default multiplier used in the computation for shielded txes min fee */ static const unsigned int DEFAULT_SHIELDEDTXFEE_K = 100; /** Enable bloom filter */