diff options
author | Wladimir J. van der Laan <laanwj@protonmail.com> | 2019-10-02 16:55:03 +0200 |
---|---|---|
committer | Wladimir J. van der Laan <laanwj@protonmail.com> | 2019-10-02 16:55:36 +0200 |
commit | ccaef6c28b1997bd40faad2e1c66e22cdda11edc (patch) | |
tree | bec38b34fad46cea3a4102299a38ae6032dd7456 /src/net_processing.cpp | |
parent | 19ba43ae2d00d00fde280b43fba4af98d863f547 (diff) | |
parent | faec689bed7a5b66e2a7675853d10205b933cec8 (diff) |
Merge #16908: txmempool: Make entry time type-safe (std::chrono)
faec689bed7a5b66e2a7675853d10205b933cec8 txmempool: Make entry time type-safe (std::chrono) (MarcoFalke)
faaa1f01daba94b021ca77515266a16d27f0364e util: Add count_seconds time helper (MarcoFalke)
1111170f2f0141084b5b4ed565b2f07eba48599a test: mempool entry time is persisted (MarcoFalke)
Pull request description:
This changes the type of the entry time of txs into the mempool from `int64_t` to `std::chrono::seconds`.
The benefits:
* Documents the type for developers
* Type violations result in compile errors
* After compilation, the two are equivalent (at no run time cost)
ACKs for top commit:
ajtowns:
utACK faec689bed7a5b66e2a7675853d10205b933cec8
laanwj:
ACK faec689bed7a5b66e2a7675853d10205b933cec8
Tree-SHA512: d958e058755d1a1d54cef536a8b30a11cc502b7df0d6ecf84a0ab1d38bc8105a67668a99cd5087a444f6de2421238111c5fca133cdf8e2e2273cb12cb6957845
Diffstat (limited to 'src/net_processing.cpp')
-rw-r--r-- | src/net_processing.cpp | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/src/net_processing.cpp b/src/net_processing.cpp index 34d349e8e9..e345af604c 100644 --- a/src/net_processing.cpp +++ b/src/net_processing.cpp @@ -1541,11 +1541,11 @@ void static ProcessGetData(CNode* pfrom, const CChainParams& chainparams, CConnm if (mi != mapRelay.end()) { connman->PushMessage(pfrom, msgMaker.Make(nSendFlags, NetMsgType::TX, *mi->second)); push = true; - } else if (pfrom->m_tx_relay->timeLastMempoolReq) { + } else if (pfrom->m_tx_relay->m_last_mempool_req.load().count()) { auto txinfo = mempool.info(inv.hash); // To protect privacy, do not answer getdata using the mempool when // that TX couldn't have been INVed in reply to a MEMPOOL request. - if (txinfo.tx && txinfo.nTime <= pfrom->m_tx_relay->timeLastMempoolReq) { + if (txinfo.tx && txinfo.m_time <= pfrom->m_tx_relay->m_last_mempool_req.load()) { connman->PushMessage(pfrom, msgMaker.Make(nSendFlags, NetMsgType::TX, *txinfo.tx)); push = true; } @@ -3873,7 +3873,7 @@ bool PeerLogicValidation::SendMessages(CNode* pto) vInv.clear(); } } - pto->m_tx_relay->timeLastMempoolReq = GetTime(); + pto->m_tx_relay->m_last_mempool_req = GetTime<std::chrono::seconds>(); } // Determine transactions to relay |