Skip to content

Commit 4d96f5f

Browse files
committed
refactor: move DoMaintenance() inside Schedule()
1 parent e224991 commit 4d96f5f

File tree

3 files changed

+16
-20
lines changed

3 files changed

+16
-20
lines changed

src/governance/governance.cpp

Lines changed: 14 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -88,10 +88,23 @@ CGovernanceManager::~CGovernanceManager()
8888
m_db->Store(*this);
8989
}
9090

91-
void CGovernanceManager::Schedule(CScheduler& scheduler, PeerManager& peerman)
91+
void CGovernanceManager::Schedule(CScheduler& scheduler, CConnman& connman, PeerManager& peerman)
9292
{
9393
assert(IsValid());
9494

95+
scheduler.scheduleEvery(
96+
[this, &connman]() -> void {
97+
if (!m_mn_sync.IsSynced()) return;
98+
99+
// CHECK OBJECTS WE'VE ASKED FOR, REMOVE OLD ENTRIES
100+
CleanOrphanObjects();
101+
RequestOrphanObjects(connman);
102+
103+
// CHECK AND REMOVE - REPROCESS GOVERNANCE OBJECTS
104+
CheckAndRemove();
105+
},
106+
std::chrono::minutes{5});
107+
95108
scheduler.scheduleEvery(
96109
[this, &peerman]() -> void {
97110
LOCK(cs_relay);
@@ -652,20 +665,6 @@ struct sortProposalsByVotes {
652665
}
653666
};
654667

655-
void CGovernanceManager::DoMaintenance(CConnman& connman)
656-
{
657-
if (!IsValid()) return;
658-
if (!m_mn_sync.IsSynced()) return;
659-
if (ShutdownRequested()) return;
660-
661-
// CHECK OBJECTS WE'VE ASKED FOR, REMOVE OLD ENTRIES
662-
CleanOrphanObjects();
663-
RequestOrphanObjects(connman);
664-
665-
// CHECK AND REMOVE - REPROCESS GOVERNANCE OBJECTS
666-
CheckAndRemove();
667-
}
668-
669668
bool CGovernanceManager::ConfirmInventoryRequest(const CInv& inv)
670669
{
671670
// do not request objects until it's time to sync

src/governance/governance.h

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -281,7 +281,7 @@ class CGovernanceManager : public GovernanceStore, public GovernanceSignerParent
281281
const std::unique_ptr<CDeterministicMNManager>& dmnman, CMasternodeSync& mn_sync);
282282
~CGovernanceManager();
283283

284-
void Schedule(CScheduler& scheduler, PeerManager& peerman);
284+
void Schedule(CScheduler& scheduler, CConnman& connman, PeerManager& peerman);
285285

286286
bool LoadCache(bool load_cache);
287287

@@ -303,8 +303,6 @@ class CGovernanceManager : public GovernanceStore, public GovernanceSignerParent
303303
[[nodiscard]] MessageProcessingResult ProcessMessage(CNode& peer, CConnman& connman, std::string_view msg_type, CDataStream& vRecv)
304304
EXCLUSIVE_LOCKS_REQUIRED(!cs_relay);
305305

306-
void DoMaintenance(CConnman& connman);
307-
308306
const CGovernanceObject* FindConstGovernanceObject(const uint256& nHash) const EXCLUSIVE_LOCKS_REQUIRED(cs);
309307
CGovernanceObject* FindGovernanceObject(const uint256& nHash) override EXCLUSIVE_LOCKS_REQUIRED(!cs);
310308
CGovernanceObject* FindGovernanceObjectByDataHash(const uint256& nDataHash) override EXCLUSIVE_LOCKS_REQUIRED(!cs);

src/init.cpp

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2262,8 +2262,7 @@ bool AppInitMain(NodeContext& node, interfaces::BlockAndHeaderTipInfo* tip_info)
22622262
node.scheduler->scheduleEvery(std::bind(&CDeterministicMNManager::DoMaintenance, std::ref(*node.dmnman)), std::chrono::seconds{10});
22632263

22642264
if (node.govman->IsValid()) {
2265-
node.govman->Schedule(*node.scheduler, *node.peerman);
2266-
node.scheduler->scheduleEvery(std::bind(&CGovernanceManager::DoMaintenance, std::ref(*node.govman), std::ref(*node.connman)), std::chrono::minutes{5});
2265+
node.govman->Schedule(*node.scheduler, *node.connman, *node.peerman);
22672266
}
22682267

22692268
if (node.mn_activeman) {

0 commit comments

Comments
 (0)