aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAmiti Uttarwar <amiti@uttarwar.org>2021-08-17 17:31:23 +0100
committerAmiti Uttarwar <amiti@uttarwar.org>2021-08-26 11:56:13 -0700
commit7dc443a62d3c98d8d0849d83060e940356fe32a3 (patch)
tree822fe0c0751a53c8db98f9bd049d6a0417a68342
parenta65053f1d44c72c43754a5d5aeb684fc1fca0300 (diff)
downloadbitcoin-7dc443a62d3c98d8d0849d83060e940356fe32a3.tar.xz
[addrman] Change addrman #define constants to be constexprs
Co-authored-by: John Newbery <john@johnnewbery.com>
-rw-r--r--src/addrman.cpp4
-rw-r--r--src/addrman.h32
2 files changed, 18 insertions, 18 deletions
diff --git a/src/addrman.cpp b/src/addrman.cpp
index ed5fd06288..93f7cf6980 100644
--- a/src/addrman.cpp
+++ b/src/addrman.cpp
@@ -237,14 +237,14 @@ void CAddrMan::Unserialize(Stream& s_)
if (nNew > ADDRMAN_NEW_BUCKET_COUNT * ADDRMAN_BUCKET_SIZE || nNew < 0) {
throw std::ios_base::failure(
- strprintf("Corrupt CAddrMan serialization: nNew=%d, should be in [0, %u]",
+ strprintf("Corrupt CAddrMan serialization: nNew=%d, should be in [0, %d]",
nNew,
ADDRMAN_NEW_BUCKET_COUNT * ADDRMAN_BUCKET_SIZE));
}
if (nTried > ADDRMAN_TRIED_BUCKET_COUNT * ADDRMAN_BUCKET_SIZE || nTried < 0) {
throw std::ios_base::failure(
- strprintf("Corrupt CAddrMan serialization: nTried=%d, should be in [0, %u]",
+ strprintf("Corrupt CAddrMan serialization: nTried=%d, should be in [0, %d]",
nTried,
ADDRMAN_TRIED_BUCKET_COUNT * ADDRMAN_BUCKET_SIZE));
}
diff --git a/src/addrman.h b/src/addrman.h
index d4cee52268..ed7e4c4c5b 100644
--- a/src/addrman.h
+++ b/src/addrman.h
@@ -132,48 +132,48 @@ public:
*/
//! total number of buckets for tried addresses
-#define ADDRMAN_TRIED_BUCKET_COUNT_LOG2 8
+static constexpr int32_t ADDRMAN_TRIED_BUCKET_COUNT_LOG2{8};
//! total number of buckets for new addresses
-#define ADDRMAN_NEW_BUCKET_COUNT_LOG2 10
+static constexpr int32_t ADDRMAN_NEW_BUCKET_COUNT_LOG2{10};
//! maximum allowed number of entries in buckets for new and tried addresses
-#define ADDRMAN_BUCKET_SIZE_LOG2 6
+static constexpr int32_t ADDRMAN_BUCKET_SIZE_LOG2{6};
//! over how many buckets entries with tried addresses from a single group (/16 for IPv4) are spread
-#define ADDRMAN_TRIED_BUCKETS_PER_GROUP 8
+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
-#define ADDRMAN_NEW_BUCKETS_PER_SOURCE_GROUP 64
+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
-#define ADDRMAN_NEW_BUCKETS_PER_ADDRESS 8
+static constexpr int32_t ADDRMAN_NEW_BUCKETS_PER_ADDRESS{8};
//! how old addresses can maximally be
-#define ADDRMAN_HORIZON_DAYS 30
+static constexpr int64_t ADDRMAN_HORIZON_DAYS{30};
//! after how many failed attempts we give up on a new node
-#define ADDRMAN_RETRIES 3
+static constexpr int32_t ADDRMAN_RETRIES{3};
//! how many successive failures are allowed ...
-#define ADDRMAN_MAX_FAILURES 10
+static constexpr int32_t ADDRMAN_MAX_FAILURES{10};
//! ... in at least this many days
-#define ADDRMAN_MIN_FAIL_DAYS 7
+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
-#define ADDRMAN_REPLACEMENT_HOURS 4
+static constexpr int64_t ADDRMAN_REPLACEMENT_HOURS{4};
//! Convenience
-#define ADDRMAN_TRIED_BUCKET_COUNT (1 << ADDRMAN_TRIED_BUCKET_COUNT_LOG2)
-#define ADDRMAN_NEW_BUCKET_COUNT (1 << ADDRMAN_NEW_BUCKET_COUNT_LOG2)
-#define ADDRMAN_BUCKET_SIZE (1 << ADDRMAN_BUCKET_SIZE_LOG2)
+static constexpr int ADDRMAN_TRIED_BUCKET_COUNT{1 << ADDRMAN_TRIED_BUCKET_COUNT_LOG2};
+static constexpr int ADDRMAN_NEW_BUCKET_COUNT{1 << ADDRMAN_NEW_BUCKET_COUNT_LOG2};
+static constexpr int ADDRMAN_BUCKET_SIZE{1 << ADDRMAN_BUCKET_SIZE_LOG2};
//! the maximum number of tried addr collisions to store
-#define ADDRMAN_SET_TRIED_COLLISION_SIZE 10
+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 const int64_t ADDRMAN_TEST_WINDOW = 40*60; // 40 minutes
+static constexpr int64_t ADDRMAN_TEST_WINDOW{40*60}; // 40 minutes
/**
* Stochastical (IP) address manager