@@ -210,16 +210,15 @@ bool CQuorum::ReadContributions(const CDBWrapper& db)
210210 return true ;
211211}
212212
213- CQuorumManager::CQuorumManager (CBLSWorker& _blsWorker, CChainState& chainstate, CConnman& _connman ,
214- CDeterministicMNManager& dmnman, CDKGSessionManager& _dkgManager, CEvoDB& _evoDb,
213+ CQuorumManager::CQuorumManager (CBLSWorker& _blsWorker, CChainState& chainstate, CDeterministicMNManager& dmnman ,
214+ CDKGSessionManager& _dkgManager, CEvoDB& _evoDb,
215215 CQuorumBlockProcessor& _quorumBlockProcessor,
216216 const CActiveMasternodeManager* const mn_activeman, const CMasternodeSync& mn_sync,
217217 const CSporkManager& sporkman, bool unit_tests, bool wipe) :
218218 db (std::make_unique<CDBWrapper>(unit_tests ? " " : (gArgs .GetDataDirNet() / " llmq" / " quorumdb" ), 1 << 20 ,
219219 unit_tests, wipe)),
220220 blsWorker (_blsWorker),
221221 m_chainstate (chainstate),
222- connman (_connman),
223222 m_dmnman (dmnman),
224223 dkgManager (_dkgManager),
225224 quorumBlockProcessor (_quorumBlockProcessor),
@@ -249,7 +248,7 @@ void CQuorumManager::Stop()
249248 workerPool.stop (true );
250249}
251250
252- void CQuorumManager::TriggerQuorumDataRecoveryThreads (const CBlockIndex* pIndex) const
251+ void CQuorumManager::TriggerQuorumDataRecoveryThreads (CConnman& connman, const CBlockIndex* pIndex) const
253252{
254253 if ((m_mn_activeman == nullptr && !IsWatchQuorumsEnabled ()) || !QuorumDataRecoveryEnabled () || pIndex == nullptr ) {
255254 return ;
@@ -296,17 +295,17 @@ void CQuorumManager::TriggerQuorumDataRecoveryThreads(const CBlockIndex* pIndex)
296295 }
297296
298297 // Finally start the thread which triggers the requests for this quorum
299- StartQuorumDataRecoveryThread (pQuorum, pIndex, nDataMask);
298+ StartQuorumDataRecoveryThread (connman, pQuorum, pIndex, nDataMask);
300299 }
301300 }
302301}
303302
304- void CQuorumManager::UpdatedBlockTip (const CBlockIndex* pindexNew, bool fInitialDownload ) const
303+ void CQuorumManager::UpdatedBlockTip (const CBlockIndex* pindexNew, CConnman& connman, bool fInitialDownload ) const
305304{
306305 if (!m_mn_sync.IsBlockchainSynced ()) return ;
307306
308307 for (const auto & params : Params ().GetConsensus ().llmqs ) {
309- CheckQuorumConnections (params, pindexNew);
308+ CheckQuorumConnections (connman, params, pindexNew);
310309 }
311310
312311 if (m_mn_activeman != nullptr || IsWatchQuorumsEnabled ()) {
@@ -322,11 +321,12 @@ void CQuorumManager::UpdatedBlockTip(const CBlockIndex* pindexNew, bool fInitial
322321 }
323322 }
324323
325- TriggerQuorumDataRecoveryThreads (pindexNew);
324+ TriggerQuorumDataRecoveryThreads (connman, pindexNew);
326325 StartCleanupOldQuorumDataThread (pindexNew);
327326}
328327
329- void CQuorumManager::CheckQuorumConnections (const Consensus::LLMQParams& llmqParams, const CBlockIndex* pindexNew) const
328+ void CQuorumManager::CheckQuorumConnections (CConnman& connman, const Consensus::LLMQParams& llmqParams,
329+ const CBlockIndex* pindexNew) const
330330{
331331 if (m_mn_activeman == nullptr && !IsWatchQuorumsEnabled ()) return ;
332332
@@ -469,7 +469,9 @@ bool CQuorumManager::HasQuorum(Consensus::LLMQType llmqType, const CQuorumBlockP
469469 return quorum_block_processor.HasMinedCommitment (llmqType, quorumHash);
470470}
471471
472- bool CQuorumManager::RequestQuorumData (CNode* pfrom, Consensus::LLMQType llmqType, const CBlockIndex* pQuorumBaseBlockIndex, uint16_t nDataMask, const uint256& proTxHash) const
472+ bool CQuorumManager::RequestQuorumData (CNode* pfrom, CConnman& connman, Consensus::LLMQType llmqType,
473+ const CBlockIndex* pQuorumBaseBlockIndex, uint16_t nDataMask,
474+ const uint256& proTxHash) const
473475{
474476 if (pfrom == nullptr ) {
475477 LogPrint (BCLog::LLMQ, " CQuorumManager::%s -- Invalid pfrom: nullptr\n " , __func__);
@@ -697,7 +699,7 @@ size_t CQuorumManager::GetQuorumRecoveryStartOffset(const CQuorumCPtr pQuorum, c
697699 return nIndex % pQuorum->qc ->validMembers .size ();
698700}
699701
700- PeerMsgRet CQuorumManager::ProcessMessage (CNode& pfrom, const std::string& msg_type, CDataStream& vRecv)
702+ PeerMsgRet CQuorumManager::ProcessMessage (CNode& pfrom, CConnman& connman, const std::string& msg_type, CDataStream& vRecv)
701703{
702704 auto strFunc = __func__;
703705 auto errorHandler = [&](const std::string& strError, int nScore = 10 ) -> PeerMsgRet {
@@ -709,7 +711,6 @@ PeerMsgRet CQuorumManager::ProcessMessage(CNode& pfrom, const std::string& msg_t
709711 };
710712
711713 if (msg_type == NetMsgType::QGETDATA) {
712-
713714 if (m_mn_activeman == nullptr || (pfrom.GetVerifiedProRegTxHash ().IsNull () && !pfrom.qwatch )) {
714715 return errorHandler (" Not a verified masternode or a qwatch connection" );
715716 }
@@ -912,7 +913,8 @@ void CQuorumManager::StartCachePopulatorThread(const CQuorumCPtr pQuorum) const
912913 });
913914}
914915
915- void CQuorumManager::StartQuorumDataRecoveryThread (const CQuorumCPtr pQuorum, const CBlockIndex* pIndex, uint16_t nDataMaskIn) const
916+ void CQuorumManager::StartQuorumDataRecoveryThread (CConnman& connman, const CQuorumCPtr pQuorum,
917+ const CBlockIndex* pIndex, uint16_t nDataMaskIn) const
916918{
917919 assert (m_mn_activeman);
918920
@@ -922,7 +924,7 @@ void CQuorumManager::StartQuorumDataRecoveryThread(const CQuorumCPtr pQuorum, co
922924 }
923925 pQuorum->fQuorumDataRecoveryThreadRunning = true ;
924926
925- workerPool.push ([pQuorum, pIndex, nDataMaskIn, this ](int threadId) {
927+ workerPool.push ([&connman, pQuorum, pIndex, nDataMaskIn, this ](int threadId) {
926928 size_t nTries{0 };
927929 uint16_t nDataMask{nDataMaskIn};
928930 int64_t nTimeLastSuccess{0 };
@@ -958,7 +960,6 @@ void CQuorumManager::StartQuorumDataRecoveryThread(const CQuorumCPtr pQuorum, co
958960 printLog (" Try to request" );
959961
960962 while (nDataMask > 0 && !quorumThreadInterrupt) {
961-
962963 if (nDataMask & llmq::CQuorumDataRequest::QUORUM_VERIFICATION_VECTOR &&
963964 pQuorum->HasVerificationVector ()) {
964965 nDataMask &= ~llmq::CQuorumDataRequest::QUORUM_VERIFICATION_VECTOR;
@@ -1005,7 +1006,8 @@ void CQuorumManager::StartQuorumDataRecoveryThread(const CQuorumCPtr pQuorum, co
10051006 return ;
10061007 }
10071008
1008- if (RequestQuorumData (pNode, pQuorum->qc ->llmqType , pQuorum->m_quorum_base_block_index , nDataMask, proTxHash)) {
1009+ if (RequestQuorumData (pNode, connman, pQuorum->qc ->llmqType , pQuorum->m_quorum_base_block_index ,
1010+ nDataMask, proTxHash)) {
10091011 nTimeLastSuccess = GetTime<std::chrono::seconds>().count ();
10101012 printLog (" Requested" );
10111013 } else {
0 commit comments