Skip to content

Commit 1efd219

Browse files
committed
refactor: remove llmq::CQuorumBlockProcessor global, move to LLMQContext
We used to store an alias to the `CQuorumBlockProcessor` instance present in the global state in `LLMQContext` but handled construction and destruction of the instance in `LLMQContext`. As direct global usage no longer exists, we can fully subsume it into `LLMQContext`.
1 parent 1d3afe7 commit 1efd219

File tree

4 files changed

+2
-15
lines changed

4 files changed

+2
-15
lines changed

src/llmq/blockprocessor.cpp

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -38,9 +38,6 @@ static void PreComputeQuorumMembers(CDeterministicMNManager& dmnman, const CBloc
3838

3939
namespace llmq
4040
{
41-
42-
std::unique_ptr<CQuorumBlockProcessor> quorumBlockProcessor;
43-
4441
static const std::string DB_MINED_COMMITMENT = "q_mc";
4542
static const std::string DB_MINED_COMMITMENT_BY_INVERSED_HEIGHT = "q_mcih";
4643
static const std::string DB_MINED_COMMITMENT_BY_INVERSED_HEIGHT_Q_INDEXED = "q_mcihi";

src/llmq/blockprocessor.h

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -79,9 +79,6 @@ class CQuorumBlockProcessor
7979
size_t GetNumCommitmentsRequired(const Consensus::LLMQParams& llmqParams, int nHeight) const EXCLUSIVE_LOCKS_REQUIRED(cs_main);
8080
static uint256 GetQuorumBlockHash(const Consensus::LLMQParams& llmqParams, int nHeight, int quorumIndex) EXCLUSIVE_LOCKS_REQUIRED(cs_main);
8181
};
82-
83-
extern std::unique_ptr<CQuorumBlockProcessor> quorumBlockProcessor;
84-
8582
} // namespace llmq
8683

8784
#endif // BITCOIN_LLMQ_BLOCKPROCESSOR_H

src/llmq/context.cpp

Lines changed: 1 addition & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -24,11 +24,7 @@ LLMQContext::LLMQContext(CChainState& chainstate, CConnman& connman, CDeterminis
2424
is_masternode{mn_activeman != nullptr},
2525
bls_worker{std::make_shared<CBLSWorker>()},
2626
dkg_debugman{std::make_unique<llmq::CDKGDebugManager>()},
27-
quorum_block_processor{[&]() -> llmq::CQuorumBlockProcessor* const {
28-
assert(llmq::quorumBlockProcessor == nullptr);
29-
llmq::quorumBlockProcessor = std::make_unique<llmq::CQuorumBlockProcessor>(chainstate, dmnman, evo_db, peerman);
30-
return llmq::quorumBlockProcessor.get();
31-
}()},
27+
quorum_block_processor{std::make_unique<llmq::CQuorumBlockProcessor>(chainstate, dmnman, evo_db, peerman)},
3228
qdkgsman{std::make_unique<llmq::CDKGSessionManager>(*bls_worker, chainstate, connman, dmnman, *dkg_debugman, mn_metaman, *quorum_block_processor, mn_activeman, sporkman, peerman, unit_tests, wipe)},
3329
qman{[&]() -> llmq::CQuorumManager* const {
3430
assert(llmq::quorumManager == nullptr);
@@ -59,7 +55,6 @@ LLMQContext::~LLMQContext() {
5955
llmq::quorumInstantSendManager.reset();
6056
llmq::chainLocksHandler.reset();
6157
llmq::quorumManager.reset();
62-
llmq::quorumBlockProcessor.reset();
6358
}
6459

6560
void LLMQContext::Interrupt() {
@@ -71,7 +66,6 @@ void LLMQContext::Interrupt() {
7166
}
7267

7368
void LLMQContext::Start() {
74-
assert(quorum_block_processor == llmq::quorumBlockProcessor.get());
7569
assert(qman == llmq::quorumManager.get());
7670
assert(clhandler == llmq::chainLocksHandler.get());
7771
assert(isman == llmq::quorumInstantSendManager.get());
@@ -90,7 +84,6 @@ void LLMQContext::Start() {
9084
}
9185

9286
void LLMQContext::Stop() {
93-
assert(quorum_block_processor == llmq::quorumBlockProcessor.get());
9487
assert(qman == llmq::quorumManager.get());
9588
assert(clhandler == llmq::chainLocksHandler.get());
9689
assert(isman == llmq::quorumInstantSendManager.get());

src/llmq/context.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ struct LLMQContext {
6262
*/
6363
const std::shared_ptr<CBLSWorker> bls_worker;
6464
const std::unique_ptr<llmq::CDKGDebugManager> dkg_debugman;
65-
llmq::CQuorumBlockProcessor* const quorum_block_processor;
65+
const std::unique_ptr<llmq::CQuorumBlockProcessor> quorum_block_processor;
6666
const std::unique_ptr<llmq::CDKGSessionManager> qdkgsman;
6767
llmq::CQuorumManager* const qman;
6868
const std::unique_ptr<llmq::CSigningManager> sigman;

0 commit comments

Comments
 (0)