Skip to content

Commit b6ec8ab

Browse files
committed
merge bitcoin#22950: Pimpl AddrMan to abstract implementation details
1 parent 236cf36 commit b6ec8ab

21 files changed

+893
-731
lines changed

src/Makefile.am

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -133,6 +133,7 @@ BITCOIN_CORE_H = \
133133
addressindex.h \
134134
spentindex.h \
135135
addrman.h \
136+
addrman_impl.h \
136137
attributes.h \
137138
banman.h \
138139
base58.h \

src/addrdb.cpp

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -171,21 +171,21 @@ bool CBanDB::Read(banmap_t& banSet)
171171
return true;
172172
}
173173

174-
bool DumpPeerAddresses(const ArgsManager& args, const CAddrMan& addr)
174+
bool DumpPeerAddresses(const ArgsManager& args, const AddrMan& addr)
175175
{
176176
const auto pathAddr = GetDataDir() / "peers.dat";
177177
return SerializeFileDB("peers", pathAddr, addr, CLIENT_VERSION);
178178
}
179179

180-
void ReadFromStream(CAddrMan& addr, CDataStream& ssPeers)
180+
void ReadFromStream(AddrMan& addr, CDataStream& ssPeers)
181181
{
182182
DeserializeDB(ssPeers, addr, false);
183183
}
184184

185-
std::optional<bilingual_str> LoadAddrman(const std::vector<bool>& asmap, const ArgsManager& args, std::unique_ptr<CAddrMan>& addrman)
185+
std::optional<bilingual_str> LoadAddrman(const std::vector<bool>& asmap, const ArgsManager& args, std::unique_ptr<AddrMan>& addrman)
186186
{
187187
auto check_addrman = std::clamp<int32_t>(args.GetArg("-checkaddrman", DEFAULT_ADDRMAN_CONSISTENCY_CHECKS), 0, 1000000);
188-
addrman = std::make_unique<CAddrMan>(asmap, /* deterministic */ false, /* consistency_check_ratio */ check_addrman);
188+
addrman = std::make_unique<AddrMan>(asmap, /* deterministic */ false, /* consistency_check_ratio */ check_addrman);
189189

190190
int64_t nStart = GetTimeMillis();
191191
const auto path_addr{GetDataDir() / "peers.dat"};
@@ -194,7 +194,7 @@ std::optional<bilingual_str> LoadAddrman(const std::vector<bool>& asmap, const A
194194
LogPrintf("Loaded %i addresses from peers.dat %dms\n", addrman->size(), GetTimeMillis() - nStart);
195195
} catch (const DbNotFoundError&) {
196196
// Addrman can be in an inconsistent state after failure, reset it
197-
addrman = std::make_unique<CAddrMan>(asmap, /* deterministic */ false, /* consistency_check_ratio */ check_addrman);
197+
addrman = std::make_unique<AddrMan>(asmap, /* deterministic */ false, /* consistency_check_ratio */ check_addrman);
198198
LogPrintf("Creating peers.dat because the file was not found (%s)\n", path_addr);
199199
DumpPeerAddresses(args, *addrman);
200200
} catch (const std::exception& e) {

src/addrdb.h

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,14 +14,14 @@
1414
#include <vector>
1515

1616
class ArgsManager;
17-
class CAddrMan;
17+
class AddrMan;
1818
class CAddress;
1919
class CDataStream;
2020
struct bilingual_str;
2121

22-
bool DumpPeerAddresses(const ArgsManager& args, const CAddrMan& addr);
22+
bool DumpPeerAddresses(const ArgsManager& args, const AddrMan& addr);
2323
/** Only used by tests. */
24-
void ReadFromStream(CAddrMan& addr, CDataStream& ssPeers);
24+
void ReadFromStream(AddrMan& addr, CDataStream& ssPeers);
2525

2626
/** Access to the banlist database (banlist.json) */
2727
class CBanDB
@@ -48,7 +48,7 @@ class CBanDB
4848
};
4949

5050
/** Returns an error string on failure */
51-
std::optional<bilingual_str> LoadAddrman(const std::vector<bool>& asmap, const ArgsManager& args, std::unique_ptr<CAddrMan>& addrman);
51+
std::optional<bilingual_str> LoadAddrman(const std::vector<bool>& asmap, const ArgsManager& args, std::unique_ptr<AddrMan>& addrman);
5252

5353
/**
5454
* Dump the anchor IP address database (anchors.dat)

0 commit comments

Comments
 (0)