Skip to content

Commit 17fa0eb

Browse files
committed
Masternode-sync: Only mark tier two messages sync requests as fulfilled if the messages are broadcast.
e.g: do not mark them as fulfilled before fail for a timeout. Github-Pull: #2560 Rebased-From: 88704c4
1 parent 2f98acf commit 17fa0eb

File tree

1 file changed

+11
-8
lines changed

1 file changed

+11
-8
lines changed

src/masternode-sync.cpp

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -343,9 +343,6 @@ bool CMasternodeSync::SyncWithNode(CNode* pnode, bool fLegacyMnObsolete)
343343
return false;
344344
}
345345

346-
if (pnode->HasFulfilledRequest("mnsync")) return true;
347-
pnode->FulfilledRequest("mnsync");
348-
349346
// timeout
350347
if (lastMasternodeList == 0 &&
351348
(RequestedMasternodeAttempt >= MASTERNODE_SYNC_THRESHOLD * 3 || GetTime() - nAssetSyncStarted > MASTERNODE_SYNC_TIMEOUT * 5)) {
@@ -363,6 +360,10 @@ bool CMasternodeSync::SyncWithNode(CNode* pnode, bool fLegacyMnObsolete)
363360

364361
if (RequestedMasternodeAttempt >= MASTERNODE_SYNC_THRESHOLD * 3) return false;
365362

363+
// Request mnb sync if we haven't requested it yet.
364+
if (pnode->HasFulfilledRequest("mnsync")) return true;
365+
pnode->FulfilledRequest("mnsync");
366+
366367
mnodeman.DsegUpdate(pnode);
367368
RequestedMasternodeAttempt++;
368369
return false;
@@ -379,9 +380,6 @@ bool CMasternodeSync::SyncWithNode(CNode* pnode, bool fLegacyMnObsolete)
379380
return false;
380381
}
381382

382-
if (pnode->HasFulfilledRequest("mnwsync")) return true;
383-
pnode->FulfilledRequest("mnwsync");
384-
385383
// timeout
386384
if (lastMasternodeWinner == 0 &&
387385
(RequestedMasternodeAttempt >= MASTERNODE_SYNC_THRESHOLD * 3 || GetTime() - nAssetSyncStarted > MASTERNODE_SYNC_TIMEOUT * 5)) {
@@ -399,6 +397,10 @@ bool CMasternodeSync::SyncWithNode(CNode* pnode, bool fLegacyMnObsolete)
399397

400398
if (RequestedMasternodeAttempt >= MASTERNODE_SYNC_THRESHOLD * 3) return false;
401399

400+
// Request mnw sync if we haven't requested it yet.
401+
if (pnode->HasFulfilledRequest("mnwsync")) return true;
402+
pnode->FulfilledRequest("mnwsync");
403+
402404
int nMnCount = mnodeman.CountEnabled();
403405
g_connman->PushMessage(pnode, msgMaker.Make(NetMsgType::GETMNWINNERS, nMnCount)); //sync payees
404406
RequestedMasternodeAttempt++;
@@ -425,11 +427,12 @@ bool CMasternodeSync::SyncWithNode(CNode* pnode, bool fLegacyMnObsolete)
425427
return false;
426428
}
427429

430+
if (RequestedMasternodeAttempt >= MASTERNODE_SYNC_THRESHOLD * 3) return false;
431+
432+
// Request bud sync if we haven't requested it yet.
428433
if (pnode->HasFulfilledRequest("busync")) return true;
429434
pnode->FulfilledRequest("busync");
430435

431-
if (RequestedMasternodeAttempt >= MASTERNODE_SYNC_THRESHOLD * 3) return false;
432-
433436
uint256 n;
434437
g_connman->PushMessage(pnode, msgMaker.Make(NetMsgType::BUDGETVOTESYNC, n)); //sync masternode votes
435438
RequestedMasternodeAttempt++;

0 commit comments

Comments
 (0)