mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-01-11 12:22:39 -03:00
refactor: Move ChainstateManager options into m_options struct
Move ChainstateManager options into m_options struct to simplify class initialization, organize class members, and to name external option variables differently than internal state variables. This change was originally in #25862, but it was suggested to split off in https://github.com/bitcoin/bitcoin/pull/25862#discussion_r951459817 so it could be merged earlier and reduce conflicts with other PRs.
This commit is contained in:
parent
2bd9aa5a44
commit
7bc33a88f7
2 changed files with 8 additions and 10 deletions
|
@ -3608,7 +3608,7 @@ bool ChainstateManager::AcceptBlockHeader(const CBlockHeader& block, BlockValida
|
|||
LogPrint(BCLog::VALIDATION, "%s: %s prev block invalid\n", __func__, hash.ToString());
|
||||
return state.Invalid(BlockValidationResult::BLOCK_INVALID_PREV, "bad-prevblk");
|
||||
}
|
||||
if (!ContextualCheckBlockHeader(block, state, m_blockman, *this, pindexPrev, m_adjusted_time_callback())) {
|
||||
if (!ContextualCheckBlockHeader(block, state, m_blockman, *this, pindexPrev, m_options.adjusted_time_callback())) {
|
||||
LogPrint(BCLog::VALIDATION, "%s: Consensus::ContextualCheckBlockHeader: %s, %s\n", __func__, hash.ToString(), state.ToString());
|
||||
return false;
|
||||
}
|
||||
|
|
|
@ -838,10 +838,6 @@ private:
|
|||
|
||||
CBlockIndex* m_best_invalid GUARDED_BY(::cs_main){nullptr};
|
||||
|
||||
const CChainParams m_chainparams;
|
||||
|
||||
const std::function<NodeClock::time_point()> m_adjusted_time_callback;
|
||||
|
||||
//! Internal helper for ActivateSnapshot().
|
||||
[[nodiscard]] bool PopulateAndValidateSnapshot(
|
||||
CChainState& snapshot_chainstate,
|
||||
|
@ -861,12 +857,13 @@ private:
|
|||
public:
|
||||
using Options = kernel::ChainstateManagerOpts;
|
||||
|
||||
explicit ChainstateManager(const Options& opts)
|
||||
: m_chainparams{opts.chainparams},
|
||||
m_adjusted_time_callback{Assert(opts.adjusted_time_callback)} {};
|
||||
explicit ChainstateManager(Options options) : m_options{std::move(options)}
|
||||
{
|
||||
Assert(m_options.adjusted_time_callback);
|
||||
}
|
||||
|
||||
const CChainParams& GetParams() const { return m_chainparams; }
|
||||
const Consensus::Params& GetConsensus() const { return m_chainparams.GetConsensus(); }
|
||||
const CChainParams& GetParams() const { return m_options.chainparams; }
|
||||
const Consensus::Params& GetConsensus() const { return m_options.chainparams.GetConsensus(); }
|
||||
|
||||
/**
|
||||
* Alias for ::cs_main.
|
||||
|
@ -881,6 +878,7 @@ public:
|
|||
*/
|
||||
RecursiveMutex& GetMutex() const LOCK_RETURNED(::cs_main) { return ::cs_main; }
|
||||
|
||||
const Options m_options;
|
||||
std::thread m_load_block;
|
||||
//! A single BlockManager instance is shared across each constructed
|
||||
//! chainstate to avoid duplicating block metadata.
|
||||
|
|
Loading…
Reference in a new issue