diff options
author | Shashwat <svangani239@gmail.com> | 2021-12-17 17:19:56 +0530 |
---|---|---|
committer | Shashwat <svangani239@gmail.com> | 2021-12-20 11:32:37 +0530 |
commit | 92082ea0bb62ab6ec723b57ca4f2b2c5f6b28469 (patch) | |
tree | 8972f9792c9cc2b9c7b316b4dc5ac9318d2a888f /src | |
parent | 8c0bd871fcf6c5ff5851ccb18a7bc7554a0484b0 (diff) |
Change time variable type to std::chrono::seconds in src/net_processing.cpp
- This commit is a followup to commit: 60b579
- This changes the remaining time variable in net_processing.cpp from
int64_t to std::chrono
Diffstat (limited to 'src')
-rw-r--r-- | src/net_processing.cpp | 32 |
1 files changed, 17 insertions, 15 deletions
diff --git a/src/net_processing.cpp b/src/net_processing.cpp index d4f0e94056..dfce78f1fd 100644 --- a/src/net_processing.cpp +++ b/src/net_processing.cpp @@ -39,6 +39,8 @@ #include <validation.h> #include <algorithm> +#include <atomic> +#include <chrono> #include <memory> #include <optional> #include <typeinfo> @@ -57,10 +59,10 @@ static constexpr auto HEADERS_DOWNLOAD_TIMEOUT_PER_HEADER = 1ms; static constexpr int32_t MAX_OUTBOUND_PEERS_TO_PROTECT_FROM_DISCONNECT = 4; /** Timeout for (unprotected) outbound peers to sync to our chainwork, in seconds */ static constexpr int64_t CHAIN_SYNC_TIMEOUT = 20 * 60; // 20 minutes -/** How frequently to check for stale tips, in seconds */ -static constexpr int64_t STALE_CHECK_INTERVAL = 10 * 60; // 10 minutes -/** How frequently to check for extra outbound peers and disconnect, in seconds */ -static constexpr int64_t EXTRA_PEER_CHECK_INTERVAL = 45; +/** How frequently to check for stale tips */ +static constexpr auto STALE_CHECK_INTERVAL{10min}; +/** How frequently to check for extra outbound peers and disconnect */ +static constexpr auto EXTRA_PEER_CHECK_INTERVAL{45s}; /** Minimum time an outbound-peer-eviction candidate must be connected for, in order to evict */ static constexpr std::chrono::seconds MINIMUM_CONNECT_TIME{30}; /** SHA256("main address relay")[0:8] */ @@ -422,7 +424,7 @@ private: std::atomic<int> m_best_height{-1}; /** Next time to check for stale tip */ - int64_t m_stale_tip_check_time{0}; + std::chrono::seconds m_stale_tip_check_time{0s}; /** Whether this node is running in blocks only mode */ const bool m_ignore_incoming_txs; @@ -541,7 +543,7 @@ private: std::map<uint256, std::pair<NodeId, std::list<QueuedBlock>::iterator> > mapBlocksInFlight GUARDED_BY(cs_main); /** When our tip was last updated. */ - std::atomic<int64_t> m_last_tip_update{0}; + std::atomic<std::chrono::seconds> m_last_tip_update{0s}; /** Determine whether or not a peer can request a transaction, and return it (or nullptr if not found or not allowed). */ CTransactionRef FindTxForGetData(const CNode& peer, const GenTxid& gtxid, const std::chrono::seconds mempool_req, const std::chrono::seconds now) LOCKS_EXCLUDED(cs_main); @@ -947,10 +949,10 @@ bool PeerManagerImpl::TipMayBeStale() { AssertLockHeld(cs_main); const Consensus::Params& consensusParams = m_chainparams.GetConsensus(); - if (m_last_tip_update == 0) { - m_last_tip_update = GetTime(); + if (count_seconds(m_last_tip_update) == 0) { + m_last_tip_update = GetTime<std::chrono::seconds>(); } - return m_last_tip_update < GetTime() - consensusParams.nPowTargetSpacing * 3 && mapBlocksInFlight.empty(); + return count_seconds(m_last_tip_update) < GetTime() - consensusParams.nPowTargetSpacing * 3 && mapBlocksInFlight.empty(); } bool PeerManagerImpl::CanDirectFetch() @@ -1505,7 +1507,7 @@ void PeerManagerImpl::StartScheduledTasks(CScheduler& scheduler) void PeerManagerImpl::BlockConnected(const std::shared_ptr<const CBlock>& pblock, const CBlockIndex* pindex) { m_orphanage.EraseForBlock(*pblock); - m_last_tip_update = GetTime(); + m_last_tip_update = GetTime<std::chrono::seconds>(); { LOCK(m_recent_confirmed_transactions_mutex); @@ -4335,20 +4337,20 @@ void PeerManagerImpl::CheckForStaleTipAndEvictPeers() { LOCK(cs_main); - int64_t time_in_seconds = GetTime(); + auto now{GetTime<std::chrono::seconds>()}; - EvictExtraOutboundPeers(std::chrono::seconds{time_in_seconds}); + EvictExtraOutboundPeers(now); - if (time_in_seconds > m_stale_tip_check_time) { + if (now > m_stale_tip_check_time) { // Check whether our tip is stale, and if so, allow using an extra // outbound peer if (!fImporting && !fReindex && m_connman.GetNetworkActive() && m_connman.GetUseAddrmanOutgoing() && TipMayBeStale()) { - LogPrintf("Potential stale tip detected, will try using extra outbound peer (last tip update: %d seconds ago)\n", time_in_seconds - m_last_tip_update); + LogPrintf("Potential stale tip detected, will try using extra outbound peer (last tip update: %d seconds ago)\n", count_seconds(now) - count_seconds(m_last_tip_update)); m_connman.SetTryNewOutboundPeer(true); } else if (m_connman.GetTryNewOutboundPeer()) { m_connman.SetTryNewOutboundPeer(false); } - m_stale_tip_check_time = time_in_seconds + STALE_CHECK_INTERVAL; + m_stale_tip_check_time = now + STALE_CHECK_INTERVAL; } if (!m_initial_sync_finished && CanDirectFetch()) { |