Skip to content

Commit a93f8ae

Browse files
kwvgUdjinM6
andcommitted
refactor: keep base DKG handler lightweight, follow IWYU
Co-authored-by: UdjinM6 <[email protected]>
1 parent 70e6372 commit a93f8ae

File tree

5 files changed

+50
-43
lines changed

5 files changed

+50
-43
lines changed

src/active/dkgsessionhandler.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,7 @@ ActiveDKGSessionHandler::ActiveDKGSessionHandler(
2424
llmq::CDKGDebugManager& dkgdbgman, llmq::CDKGSessionManager& qdkgsman, llmq::CQuorumBlockProcessor& qblockman,
2525
llmq::CQuorumSnapshotManager& qsnapman, const CActiveMasternodeManager& mn_activeman, const ChainstateManager& chainman,
2626
const CSporkManager& sporkman, const Consensus::LLMQParams& llmq_params, bool quorums_watch, int quorums_idx) :
27-
llmq::CDKGSessionHandler(bls_worker, dmnman, dkgdbgman, qdkgsman, qsnapman, chainman, llmq_params, quorums_watch,
28-
quorums_idx),
27+
llmq::CDKGSessionHandler(llmq_params),
2928
m_bls_worker{bls_worker},
3029
m_dmnman{dmnman},
3130
m_mn_metaman{mn_metaman},
@@ -36,7 +35,8 @@ ActiveDKGSessionHandler::ActiveDKGSessionHandler(
3635
m_mn_activeman{mn_activeman},
3736
m_chainman{chainman},
3837
m_sporkman{sporkman},
39-
m_quorums_watch{quorums_watch}
38+
m_quorums_watch{quorums_watch},
39+
quorumIndex{quorums_idx}
4040
{
4141
}
4242

src/active/dkgsessionhandler.h

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,33 @@
99

1010
#include <gsl/pointers.h>
1111

12+
#include <atomic>
13+
#include <functional>
14+
#include <memory>
15+
#include <optional>
16+
#include <string>
17+
#include <thread>
18+
19+
class CActiveMasternodeManager;
20+
class CBLSWorker;
21+
class CBlockIndex;
22+
class CConnman;
23+
class ChainstateManager;
24+
class CDeterministicMNManager;
25+
class CMasternodeMetaMan;
26+
class CSporkManager;
27+
class PeerManager;
28+
namespace Consensus {
29+
struct LLMQParams;
30+
} // namespace Consensus
31+
namespace llmq {
32+
class CDKGSession;
33+
class CDKGDebugManager;
34+
class CDKGSessionManager;
35+
class CQuorumBlockProcessor;
36+
class CQuorumSnapshotManager;
37+
} // namespace llmq
38+
1239
namespace llmq {
1340
class ActiveDKGSessionHandler final : public llmq::CDKGSessionHandler
1441
{
@@ -27,12 +54,14 @@ class ActiveDKGSessionHandler final : public llmq::CDKGSessionHandler
2754
const ChainstateManager& m_chainman;
2855
const CSporkManager& m_sporkman;
2956
const bool m_quorums_watch{false};
57+
const int quorumIndex;
3058

3159
private:
3260
std::atomic<bool> stopRequested{false};
3361
std::atomic<int> currentHeight{-1};
3462
std::string m_thread_name;
3563
std::thread phaseHandlerThread;
64+
std::unique_ptr<CDKGSession> curSession{nullptr};
3665

3766
mutable Mutex cs_phase_qhash;
3867
QuorumPhase phase GUARDED_BY(cs_phase_qhash){QuorumPhase::Idle};

src/llmq/dkgsessionhandler.cpp

Lines changed: 6 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -4,27 +4,15 @@
44

55
#include <llmq/dkgsessionhandler.h>
66

7-
#include <evo/deterministicmns.h>
8-
#include <llmq/commitment.h>
9-
#include <llmq/debug.h>
10-
#include <llmq/dkgsession.h>
11-
#include <llmq/options.h>
12-
#include <llmq/utils.h>
13-
#include <util/underlying.h>
14-
15-
#include <deploymentstatus.h>
16-
#include <chainparams.h>
17-
#include <net_processing.h>
18-
#include <validation.h>
19-
#include <util/thread.h>
7+
#include <hash.h>
8+
#include <logging.h>
9+
#include <span.h>
10+
11+
#include <stdexcept>
2012

2113
namespace llmq {
22-
CDKGSessionHandler::CDKGSessionHandler(CBLSWorker& _blsWorker, CDeterministicMNManager& dmnman,
23-
CDKGDebugManager& _dkgDebugManager, CDKGSessionManager& _dkgManager,
24-
CQuorumSnapshotManager& qsnapman, const ChainstateManager& chainman,
25-
const Consensus::LLMQParams& _params, bool quorums_watch, int _quorumIndex) :
14+
CDKGSessionHandler::CDKGSessionHandler(const Consensus::LLMQParams& _params) :
2615
params{_params},
27-
quorumIndex{_quorumIndex},
2816
// we allow size*2 messages as we need to make sure we see bad behavior (double messages)
2917
pendingContributions{(size_t)_params.size * 2, MSG_QUORUM_CONTRIB},
3018
pendingComplaints{(size_t)_params.size * 2, MSG_QUORUM_COMPLAINT},

src/llmq/dkgsessionhandler.h

Lines changed: 10 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -9,39 +9,34 @@
99

1010
#include <net.h> // for NodeId
1111
#include <net_processing.h>
12+
#include <protocol.h>
13+
#include <serialize.h>
14+
#include <streams.h>
15+
#include <sync.h>
16+
#include <uint256.h>
1217

13-
#include <atomic>
1418
#include <list>
1519
#include <map>
1620
#include <memory>
17-
#include <optional>
1821
#include <set>
19-
#include <string>
2022
#include <string_view>
21-
#include <thread>
2223
#include <vector>
2324

24-
class CActiveMasternodeManager;
25-
class CBLSWorker;
2625
class CBlockIndex;
2726
class CConnman;
28-
class ChainstateManager;
29-
class CDeterministicMNManager;
30-
class CMasternodeMetaMan;
31-
class CSporkManager;
3227
class PeerManager;
3328

29+
namespace Consensus {
30+
struct LLMQParams;
31+
} // namespace Consensus
32+
3433
namespace llmq
3534
{
3635
class CDKGContribution;
3736
class CDKGComplaint;
3837
class CDKGJustification;
3938
class CDKGPrematureCommitment;
40-
class CDKGDebugManager;
41-
class CDKGSession;
4239
class CDKGSessionManager;
43-
class CQuorumBlockProcessor;
44-
class CQuorumSnapshotManager;
4540

4641
enum class QuorumPhase {
4742
Initialized = 1,
@@ -131,9 +126,7 @@ class CDKGSessionHandler
131126
friend class CDKGSessionManager;
132127

133128
protected:
134-
std::unique_ptr<CDKGSession> curSession{nullptr};
135129
const Consensus::LLMQParams& params;
136-
const int quorumIndex;
137130

138131
// Do not guard these, they protect their internals themselves
139132
CDKGPendingMessages pendingContributions;
@@ -142,9 +135,7 @@ class CDKGSessionHandler
142135
CDKGPendingMessages pendingPrematureCommitments;
143136

144137
public:
145-
CDKGSessionHandler(CBLSWorker& _blsWorker, CDeterministicMNManager& dmnman, CDKGDebugManager& _dkgDebugManager,
146-
CDKGSessionManager& _dkgManager, CQuorumSnapshotManager& qsnapman, const ChainstateManager& chainman,
147-
const Consensus::LLMQParams& _params, bool quorums_watch, int _quorumIndex);
138+
explicit CDKGSessionHandler(const Consensus::LLMQParams& _params);
148139
virtual ~CDKGSessionHandler();
149140

150141
[[nodiscard]] MessageProcessingResult ProcessMessage(NodeId from, std::string_view msg_type, CDataStream& vRecv);

src/llmq/observer/context.cpp

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -26,9 +26,8 @@ ObserverContext::ObserverContext(CBLSWorker& bls_worker, CConnman& connman, CDet
2626
sync_map, quorums_recovery)}
2727
{
2828
qdkgsman->InitializeHandlers([&](const Consensus::LLMQParams& llmq_params,
29-
int quorum_idx) -> std::unique_ptr<llmq::CDKGSessionHandler> {
30-
return std::make_unique<llmq::CDKGSessionHandler>(bls_worker, dmnman, *dkgdbgman, *qdkgsman, qsnapman, chainman,
31-
llmq_params, /*quorums_watch=*/true, quorum_idx);
29+
[[maybe_unused]] int quorum_idx) -> std::unique_ptr<llmq::CDKGSessionHandler> {
30+
return std::make_unique<llmq::CDKGSessionHandler>(llmq_params);
3231
});
3332
m_qman.ConnectManagers(qman_handler.get(), qdkgsman.get());
3433
}

0 commit comments

Comments
 (0)