aboutsummaryrefslogtreecommitdiff
path: root/src/addrman.cpp
diff options
context:
space:
mode:
authorJohn Newbery <john@johnnewbery.com>2021-07-19 12:57:16 +0100
committerJohn Newbery <john@johnnewbery.com>2021-07-20 11:45:52 +0100
commit65332b1178c75e1f83415bad24918996a1524866 (patch)
tree44128681db330ad8f011763c11f702c8c0c7ea36 /src/addrman.cpp
parent201c5e4aec5210b258644ff96379cda0ca7273ab (diff)
downloadbitcoin-65332b1178c75e1f83415bad24918996a1524866.tar.xz
[addrman] Remove RemoveInvalid()
Instead of deserializing addresses, placing them in the buckets, and then removing them if they're invalid, check first and don't place in the buckets if they're invalid.
Diffstat (limited to 'src/addrman.cpp')
-rw-r--r--src/addrman.cpp32
1 files changed, 0 insertions, 32 deletions
diff --git a/src/addrman.cpp b/src/addrman.cpp
index 8192b4eba6..8f702b5a8c 100644
--- a/src/addrman.cpp
+++ b/src/addrman.cpp
@@ -77,38 +77,6 @@ double CAddrInfo::GetChance(int64_t nNow) const
return fChance;
}
-void CAddrMan::RemoveInvalid()
-{
- for (size_t bucket = 0; bucket < ADDRMAN_NEW_BUCKET_COUNT; ++bucket) {
- for (size_t i = 0; i < ADDRMAN_BUCKET_SIZE; ++i) {
- const auto id = vvNew[bucket][i];
- if (id != -1 && !mapInfo[id].IsValid()) {
- ClearNew(bucket, i);
- }
- }
- }
-
- for (size_t bucket = 0; bucket < ADDRMAN_TRIED_BUCKET_COUNT; ++bucket) {
- for (size_t i = 0; i < ADDRMAN_BUCKET_SIZE; ++i) {
- const auto id = vvTried[bucket][i];
- if (id == -1) {
- continue;
- }
- const auto& addr_info = mapInfo[id];
- if (addr_info.IsValid()) {
- continue;
- }
- vvTried[bucket][i] = -1;
- --nTried;
- SwapRandom(addr_info.nRandomPos, vRandom.size() - 1);
- vRandom.pop_back();
- mapAddr.erase(addr_info);
- mapInfo.erase(id);
- m_tried_collisions.erase(id);
- }
- }
-}
-
CAddrInfo* CAddrMan::Find(const CNetAddr& addr, int* pnId)
{
AssertLockHeld(cs);