mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-11-12 23:18:14 +01:00
Merge #20228: addrman: Make addrman a top-level component
3fc06d3d7b[net] remove fUpdateConnectionTime from FinalizeNode (John Newbery)7c4cc67c0c[net] remove CConnman::AddNewAddresses (John Newbery)bcd7f30b79[net] remove CConnman::MarkAddressGood (John Newbery)8073673dbc[net] remove CConnman::SetServices (John Newbery)392a95d393[net_processing] Keep addrman reference in PeerManager (John Newbery)1c25adf6d2[net] Construct addrman outside connman (John Newbery) Pull request description: Addrman is currently a member variable of connman. Make it a top-level component with lifetime owned by node.context, and add a reference to addrman in peerman. This allows us to eliminate some functions in connman that are simply forwarding requests to addrman, and simplifies the connman-peerman interface. By constructing the addrman in init, we can also add parameters to the ctor, which allows us to test it better. See #20233, where we enable consistency checking for addrman in our functional tests. ACKs for top commit: MarcoFalke: re-ACK3fc06d3d7bonly change is squash 🏀 vasild: ACK3fc06d3d7bTree-SHA512: 17662c65cbedcd9bd1c194914bc4bb4216f4e3581a06222de78f026d6796f1da6fe3e0bf28c2d26a102a12ad4fbf13f815944a297f000e3acf46faea42855e07
This commit is contained in:
@@ -4,6 +4,7 @@
|
||||
|
||||
#include <node/context.h>
|
||||
|
||||
#include <addrman.h>
|
||||
#include <banman.h>
|
||||
#include <interfaces/chain.h>
|
||||
#include <net.h>
|
||||
|
||||
@@ -12,6 +12,7 @@
|
||||
|
||||
class ArgsManager;
|
||||
class BanMan;
|
||||
class CAddrMan;
|
||||
class CBlockPolicyEstimator;
|
||||
class CConnman;
|
||||
class CScheduler;
|
||||
@@ -35,6 +36,7 @@ class WalletClient;
|
||||
//! any member functions. It should just be a collection of references that can
|
||||
//! be used without pulling in unwanted dependencies or functionality.
|
||||
struct NodeContext {
|
||||
std::unique_ptr<CAddrMan> addrman;
|
||||
std::unique_ptr<CConnman> connman;
|
||||
std::unique_ptr<CTxMemPool> mempool;
|
||||
std::unique_ptr<CBlockPolicyEstimator> fee_estimator;
|
||||
|
||||
Reference in New Issue
Block a user