[move-only] Move things only referenced in net_processing out of header file
This commit is contained in:
parent
02bbc05310
commit
1d4df02b7e
3 changed files with 35 additions and 33 deletions
|
@ -36,6 +36,37 @@
|
||||||
# error "Bitcoin cannot be compiled without assertions."
|
# error "Bitcoin cannot be compiled without assertions."
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
/** Expiration time for orphan transactions in seconds */
|
||||||
|
static const int64_t ORPHAN_TX_EXPIRE_TIME = 20 * 60;
|
||||||
|
/** Minimum time between orphan transactions expire time checks in seconds */
|
||||||
|
static const int64_t ORPHAN_TX_EXPIRE_INTERVAL = 5 * 60;
|
||||||
|
/** Headers download timeout expressed in microseconds
|
||||||
|
* Timeout = base + per_header * (expected number of headers) */
|
||||||
|
static constexpr int64_t HEADERS_DOWNLOAD_TIMEOUT_BASE = 15 * 60 * 1000000; // 15 minutes
|
||||||
|
static constexpr int64_t HEADERS_DOWNLOAD_TIMEOUT_PER_HEADER = 1000; // 1ms/header
|
||||||
|
/** Protect at least this many outbound peers from disconnection due to slow/
|
||||||
|
* behind headers chain.
|
||||||
|
*/
|
||||||
|
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;
|
||||||
|
/** Minimum time an outbound-peer-eviction candidate must be connected for, in order to evict, in seconds */
|
||||||
|
static constexpr int64_t MINIMUM_CONNECT_TIME = 30;
|
||||||
|
|
||||||
|
static const uint64_t RANDOMIZER_ID_ADDRESS_RELAY = 0x3cac0035b5866b90ULL; // SHA256("main address relay")[0:8]
|
||||||
|
|
||||||
|
/// Age after which a stale block will no longer be served if requested as
|
||||||
|
/// protection against fingerprinting. Set to one month, denominated in seconds.
|
||||||
|
static const int STALE_RELAY_AGE_LIMIT = 30 * 24 * 60 * 60;
|
||||||
|
|
||||||
|
/// Age after which a block is considered historical for purposes of rate
|
||||||
|
/// limiting block relay. Set to one week, denominated in seconds.
|
||||||
|
static const int HISTORICAL_BLOCK_AGE = 7 * 24 * 60 * 60;
|
||||||
|
|
||||||
std::atomic<int64_t> nTimeBestReceived(0); // Used only to inform the wallet of when we last received a block
|
std::atomic<int64_t> nTimeBestReceived(0); // Used only to inform the wallet of when we last received a block
|
||||||
|
|
||||||
struct IteratorComparator
|
struct IteratorComparator
|
||||||
|
@ -57,20 +88,12 @@ static CCriticalSection g_cs_orphans;
|
||||||
std::map<uint256, COrphanTx> mapOrphanTransactions GUARDED_BY(g_cs_orphans);
|
std::map<uint256, COrphanTx> mapOrphanTransactions GUARDED_BY(g_cs_orphans);
|
||||||
std::map<COutPoint, std::set<std::map<uint256, COrphanTx>::iterator, IteratorComparator>> mapOrphanTransactionsByPrev GUARDED_BY(g_cs_orphans);
|
std::map<COutPoint, std::set<std::map<uint256, COrphanTx>::iterator, IteratorComparator>> mapOrphanTransactionsByPrev GUARDED_BY(g_cs_orphans);
|
||||||
void EraseOrphansFor(NodeId peer);
|
void EraseOrphansFor(NodeId peer);
|
||||||
|
/** Increase a node's misbehavior score. */
|
||||||
|
void Misbehaving(NodeId nodeid, int howmuch, const std::string& message="");
|
||||||
|
|
||||||
static size_t vExtraTxnForCompactIt GUARDED_BY(g_cs_orphans) = 0;
|
static size_t vExtraTxnForCompactIt GUARDED_BY(g_cs_orphans) = 0;
|
||||||
static std::vector<std::pair<uint256, CTransactionRef>> vExtraTxnForCompact GUARDED_BY(g_cs_orphans);
|
static std::vector<std::pair<uint256, CTransactionRef>> vExtraTxnForCompact GUARDED_BY(g_cs_orphans);
|
||||||
|
|
||||||
static const uint64_t RANDOMIZER_ID_ADDRESS_RELAY = 0x3cac0035b5866b90ULL; // SHA256("main address relay")[0:8]
|
|
||||||
|
|
||||||
/// Age after which a stale block will no longer be served if requested as
|
|
||||||
/// protection against fingerprinting. Set to one month, denominated in seconds.
|
|
||||||
static const int STALE_RELAY_AGE_LIMIT = 30 * 24 * 60 * 60;
|
|
||||||
|
|
||||||
/// Age after which a block is considered historical for purposes of rate
|
|
||||||
/// limiting block relay. Set to one week, denominated in seconds.
|
|
||||||
static const int HISTORICAL_BLOCK_AGE = 7 * 24 * 60 * 60;
|
|
||||||
|
|
||||||
// Internal stuff
|
// Internal stuff
|
||||||
namespace {
|
namespace {
|
||||||
/** Enable BIP61 (sending reject messages) */
|
/** Enable BIP61 (sending reject messages) */
|
||||||
|
|
|
@ -12,29 +12,8 @@
|
||||||
|
|
||||||
/** Default for -maxorphantx, maximum number of orphan transactions kept in memory */
|
/** Default for -maxorphantx, maximum number of orphan transactions kept in memory */
|
||||||
static const unsigned int DEFAULT_MAX_ORPHAN_TRANSACTIONS = 100;
|
static const unsigned int DEFAULT_MAX_ORPHAN_TRANSACTIONS = 100;
|
||||||
/** Expiration time for orphan transactions in seconds */
|
|
||||||
static const int64_t ORPHAN_TX_EXPIRE_TIME = 20 * 60;
|
|
||||||
/** Minimum time between orphan transactions expire time checks in seconds */
|
|
||||||
static const int64_t ORPHAN_TX_EXPIRE_INTERVAL = 5 * 60;
|
|
||||||
/** Default number of orphan+recently-replaced txn to keep around for block reconstruction */
|
/** Default number of orphan+recently-replaced txn to keep around for block reconstruction */
|
||||||
static const unsigned int DEFAULT_BLOCK_RECONSTRUCTION_EXTRA_TXN = 100;
|
static const unsigned int DEFAULT_BLOCK_RECONSTRUCTION_EXTRA_TXN = 100;
|
||||||
/** Headers download timeout expressed in microseconds
|
|
||||||
* Timeout = base + per_header * (expected number of headers) */
|
|
||||||
static constexpr int64_t HEADERS_DOWNLOAD_TIMEOUT_BASE = 15 * 60 * 1000000; // 15 minutes
|
|
||||||
static constexpr int64_t HEADERS_DOWNLOAD_TIMEOUT_PER_HEADER = 1000; // 1ms/header
|
|
||||||
/** Protect at least this many outbound peers from disconnection due to slow/
|
|
||||||
* behind headers chain.
|
|
||||||
*/
|
|
||||||
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;
|
|
||||||
/** Minimum time an outbound-peer-eviction candidate must be connected for, in order to evict, in seconds */
|
|
||||||
static constexpr int64_t MINIMUM_CONNECT_TIME = 30;
|
|
||||||
|
|
||||||
/** Default for BIP61 (sending reject messages) */
|
/** Default for BIP61 (sending reject messages) */
|
||||||
static constexpr bool DEFAULT_ENABLE_BIP61 = true;
|
static constexpr bool DEFAULT_ENABLE_BIP61 = true;
|
||||||
|
|
||||||
|
@ -97,7 +76,5 @@ struct CNodeStateStats {
|
||||||
|
|
||||||
/** Get statistics from node state */
|
/** Get statistics from node state */
|
||||||
bool GetNodeStateStats(NodeId nodeid, CNodeStateStats &stats);
|
bool GetNodeStateStats(NodeId nodeid, CNodeStateStats &stats);
|
||||||
/** Increase a node's misbehavior score. */
|
|
||||||
void Misbehaving(NodeId nodeid, int howmuch, const std::string& message="");
|
|
||||||
|
|
||||||
#endif // BITCOIN_NET_PROCESSING_H
|
#endif // BITCOIN_NET_PROCESSING_H
|
||||||
|
|
|
@ -24,6 +24,8 @@
|
||||||
extern bool AddOrphanTx(const CTransactionRef& tx, NodeId peer);
|
extern bool AddOrphanTx(const CTransactionRef& tx, NodeId peer);
|
||||||
extern void EraseOrphansFor(NodeId peer);
|
extern void EraseOrphansFor(NodeId peer);
|
||||||
extern unsigned int LimitOrphanTxSize(unsigned int nMaxOrphans);
|
extern unsigned int LimitOrphanTxSize(unsigned int nMaxOrphans);
|
||||||
|
extern void Misbehaving(NodeId nodeid, int howmuch, const std::string& message="");
|
||||||
|
|
||||||
struct COrphanTx {
|
struct COrphanTx {
|
||||||
CTransactionRef tx;
|
CTransactionRef tx;
|
||||||
NodeId fromPeer;
|
NodeId fromPeer;
|
||||||
|
|
Loading…
Reference in a new issue