Bitcoin Core  27.99.0
P2P Digital Currency
server_util.h
Go to the documentation of this file.
1 // Copyright (c) 2021-2022 The Bitcoin Core developers
2 // Distributed under the MIT software license, see the accompanying
3 // file COPYING or http://www.opensource.org/licenses/mit-license.php.
4 
5 #ifndef BITCOIN_RPC_SERVER_UTIL_H
6 #define BITCOIN_RPC_SERVER_UTIL_H
7 
8 #include <any>
9 
10 class AddrMan;
11 class ArgsManager;
13 class CConnman;
14 class CTxMemPool;
15 class ChainstateManager;
16 class PeerManager;
17 class BanMan;
18 namespace node {
19 struct NodeContext;
20 } // namespace node
21 
22 node::NodeContext& EnsureAnyNodeContext(const std::any& context);
24 CTxMemPool& EnsureAnyMemPool(const std::any& context);
26 BanMan& EnsureAnyBanman(const std::any& context);
28 ArgsManager& EnsureAnyArgsman(const std::any& context);
30 ChainstateManager& EnsureAnyChainman(const std::any& context);
32 CBlockPolicyEstimator& EnsureAnyFeeEstimator(const std::any& context);
36 AddrMan& EnsureAnyAddrman(const std::any& context);
37 
38 #endif // BITCOIN_RPC_SERVER_UTIL_H
Stochastic address manager.
Definition: addrman.h:88
Definition: banman.h:59
The BlockPolicyEstimator is used for estimating the feerate needed for a transaction to be included i...
Definition: fees.h:149
Definition: net.h:1036
CTxMemPool stores valid-according-to-the-current-best-chain transactions that may be included in the ...
Definition: txmempool.h:302
Provides an interface for creating and interacting with one or two chainstates: an IBD chainstate gen...
Definition: validation.h:850
Definition: init.h:25
CConnman & EnsureConnman(const node::NodeContext &node)
Definition: server_util.cpp:96
CBlockPolicyEstimator & EnsureFeeEstimator(const node::NodeContext &node)
Definition: server_util.cpp:83
ArgsManager & EnsureAnyArgsman(const std::any &context)
Definition: server_util.cpp:65
AddrMan & EnsureAnyAddrman(const std::any &context)
ChainstateManager & EnsureAnyChainman(const std::any &context)
Definition: server_util.cpp:78
BanMan & EnsureAnyBanman(const std::any &context)
Definition: server_util.cpp:52
PeerManager & EnsurePeerman(const node::NodeContext &node)
ArgsManager & EnsureArgsman(const node::NodeContext &node)
Definition: server_util.cpp:57
CTxMemPool & EnsureAnyMemPool(const std::any &context)
Definition: server_util.cpp:38
CTxMemPool & EnsureMemPool(const node::NodeContext &node)
Definition: server_util.cpp:30
CBlockPolicyEstimator & EnsureAnyFeeEstimator(const std::any &context)
Definition: server_util.cpp:91
AddrMan & EnsureAddrman(const node::NodeContext &node)
BanMan & EnsureBanman(const node::NodeContext &node)
Definition: server_util.cpp:44
node::NodeContext & EnsureAnyNodeContext(const std::any &context)
Definition: server_util.cpp:21
ChainstateManager & EnsureChainman(const node::NodeContext &node)
Definition: server_util.cpp:70
NodeContext struct containing references to chain state and connection state.
Definition: context.h:49