diff options
author | Amiti Uttarwar <amiti@uttarwar.org> | 2021-08-17 13:55:11 -0700 |
---|---|---|
committer | Amiti Uttarwar <amiti@uttarwar.org> | 2021-08-26 11:56:13 -0700 |
commit | af9638a0fbb79bec743f4d2275b89e9573cfdc0a (patch) | |
tree | c93be21a68ce47eda0b541fea4ddd04876d7084c /src/addrman.cpp | |
parent | 7dc443a62d3c98d8d0849d83060e940356fe32a3 (diff) | |
download | bitcoin-af9638a0fbb79bec743f4d2275b89e9573cfdc0a.tar.xz |
[move-only] Extract constants from addrman .h to .cpp
Reviewer hint: use `git diff --color-moved=dimmed-zebra
--color-moved-ws=ignore-all-space`
Co-authored-by: John Newbery <john@johnnewbery.com>
Diffstat (limited to 'src/addrman.cpp')
-rw-r--r-- | src/addrman.cpp | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/src/addrman.cpp b/src/addrman.cpp index 93f7cf6980..ec1c6c975f 100644 --- a/src/addrman.cpp +++ b/src/addrman.cpp @@ -15,6 +15,37 @@ #include <unordered_map> #include <unordered_set> +//! over how many buckets entries with tried addresses from a single group (/16 for IPv4) are spread +static constexpr uint32_t ADDRMAN_TRIED_BUCKETS_PER_GROUP{8}; + +//! over how many buckets entries with new addresses originating from a single group are spread +static constexpr uint32_t ADDRMAN_NEW_BUCKETS_PER_SOURCE_GROUP{64}; + +//! in how many buckets for entries with new addresses a single address may occur +static constexpr int32_t ADDRMAN_NEW_BUCKETS_PER_ADDRESS{8}; + +//! how old addresses can maximally be +static constexpr int64_t ADDRMAN_HORIZON_DAYS{30}; + +//! after how many failed attempts we give up on a new node +static constexpr int32_t ADDRMAN_RETRIES{3}; + +//! how many successive failures are allowed ... +static constexpr int32_t ADDRMAN_MAX_FAILURES{10}; + +//! ... in at least this many days +static constexpr int64_t ADDRMAN_MIN_FAIL_DAYS{7}; + +//! how recent a successful connection should be before we allow an address to be evicted from tried +static constexpr int64_t ADDRMAN_REPLACEMENT_HOURS{4}; + +//! the maximum number of tried addr collisions to store +static constexpr size_t ADDRMAN_SET_TRIED_COLLISION_SIZE{10}; + +//! the maximum time we'll spend trying to resolve a tried table collision, in seconds +static constexpr int64_t ADDRMAN_TEST_WINDOW{40*60}; // 40 minutes + + int CAddrInfo::GetTriedBucket(const uint256& nKey, const std::vector<bool> &asmap) const { uint64_t hash1 = (CHashWriter(SER_GETHASH, 0) << nKey << GetKey()).GetCheapHash(); |