Move LoadAddrman from init to addrdb

Init should only concern itself with the initialization order, not the
detailed initialization logic of every module.

Also, inlining logic into a method that is ~800 lines of code, makes it
impossible to unit test on its own.
This commit is contained in:
MarcoFalke
2021-08-21 13:49:16 +02:00
parent e4aa9b15b9
commit fa5aeec80c
3 changed files with 25 additions and 12 deletions

View File

@@ -10,12 +10,14 @@
#include <net_types.h> // For banmap_t
#include <univalue.h>
#include <optional>
#include <vector>
class ArgsManager;
class CAddrMan;
class CAddress;
class CDataStream;
struct bilingual_str;
bool DumpPeerAddresses(const ArgsManager& args, const CAddrMan& addr);
bool ReadPeerAddresses(const ArgsManager& args, CAddrMan& addr);
@@ -46,6 +48,9 @@ public:
bool Read(banmap_t& banSet);
};
/** Returns an error string on failure */
std::optional<bilingual_str> LoadAddrman(const std::vector<bool>& asmap, const ArgsManager& args, std::unique_ptr<CAddrMan>& addrman);
/**
* Dump the anchor IP address database (anchors.dat)
*