Merge bitcoin/bitcoin#25607: [kernel 3d/n] Misc ChainstateManager::Options fixups

ce8b0f971b Use designated initializers for ChainstateManager::Options (Carl Dong)
3837700267 Move ChainstateManagerOpts into kernel:: namespace (Carl Dong)

Pull request description:

  This is part of the `libbitcoinkernel` project: #24303, https://github.com/bitcoin/bitcoin/projects/18

  This PR is **_NOT_** dependent on any other PRs.

  -----

  Places `ChainstateManager::Options` into the `kernel::` namespace and use designated initializers for construction.

ACKs for top commit:
  ryanofsky:
    Code review ACK ce8b0f971b

Tree-SHA512: 16a11b5051a2432ca4b6fa7b253376606fef619ace499dfe64d033c8fbe3e1a1875a7c946d7cd54bd908363886244ddf3a192e2f0c801ffbed40d60aad65e442
This commit is contained in:
MacroFake 2022-07-14 17:20:47 +02:00
commit 02ede4f1fd
No known key found for this signature in database
GPG Key ID: CE2B75697E69A548
6 changed files with 13 additions and 9 deletions

View File

@ -78,8 +78,8 @@ int main(int argc, char* argv[])
// SETUP: Chainstate
const ChainstateManager::Options chainman_opts{
chainparams,
static_cast<int64_t(*)()>(GetTime),
.chainparams = chainparams,
.adjusted_time_callback = static_cast<int64_t (*)()>(GetTime),
};
ChainstateManager chainman{chainman_opts};

View File

@ -1440,8 +1440,8 @@ bool AppInitMain(NodeContext& node, interfaces::BlockAndHeaderTipInfo* tip_info)
node.mempool = std::make_unique<CTxMemPool>(mempool_opts);
const ChainstateManager::Options chainman_opts{
chainparams,
GetAdjustedTime,
.chainparams = chainparams,
.adjusted_time_callback = GetAdjustedTime,
};
node.chainman = std::make_unique<ChainstateManager>(chainman_opts);
ChainstateManager& chainman = *node.chainman;

View File

@ -10,6 +10,8 @@
class CChainParams;
namespace kernel {
/**
* An options struct for `ChainstateManager`, more ergonomically referred to as
* `ChainstateManager::Options` due to the using-declaration in
@ -20,4 +22,6 @@ struct ChainstateManagerOpts {
const std::function<int64_t()> adjusted_time_callback{nullptr};
};
} // namespace kernel
#endif // BITCOIN_KERNEL_CHAINSTATEMANAGER_OPTS_H

View File

@ -183,8 +183,8 @@ ChainTestingSetup::ChainTestingSetup(const std::string& chainName, const std::ve
m_cache_sizes = CalculateCacheSizes(m_args);
const ChainstateManager::Options chainman_opts{
chainparams,
GetAdjustedTime,
.chainparams = chainparams,
.adjusted_time_callback = GetAdjustedTime,
};
m_node.chainman = std::make_unique<ChainstateManager>(chainman_opts);
m_node.chainman->m_blockman.m_block_tree_db = std::make_unique<CBlockTreeDB>(m_cache_sizes.block_tree_db, true);

View File

@ -24,8 +24,8 @@ BOOST_FIXTURE_TEST_SUITE(validation_chainstate_tests, TestingSetup)
BOOST_AUTO_TEST_CASE(validation_chainstate_resize_caches)
{
const ChainstateManager::Options chainman_opts{
Params(),
GetAdjustedTime,
.chainparams = Params(),
.adjusted_time_callback = GetAdjustedTime,
};
ChainstateManager manager{chainman_opts};

View File

@ -834,7 +834,7 @@ private:
friend CChainState;
public:
using Options = ChainstateManagerOpts;
using Options = kernel::ChainstateManagerOpts;
explicit ChainstateManager(const Options& opts)
: m_chainparams{opts.chainparams},