Skip to content

Commit

Permalink
Disable optimistic sending when pushing sig share related messages
Browse files Browse the repository at this point in the history
And instead let the network thread do the actual sending.
  • Loading branch information
codablock committed Feb 15, 2019
1 parent acb8789 commit c03480d
Showing 1 changed file with 12 additions and 3 deletions.
15 changes: 12 additions & 3 deletions src/llmq/quorums_signing_shares.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -896,6 +896,8 @@ void CSigSharesManager::SendMessages()
CollectSigSharesToAnnounce(sigSharesToAnnounce);
}

bool didSend = false;

g_connman->ForEachNode([&](CNode* pnode) {
CNetMsgMaker msgMaker(pnode->GetSendVersion());

Expand All @@ -905,7 +907,8 @@ void CSigSharesManager::SendMessages()
assert(p.second.CountSet() != 0);
LogPrint("llmq", "CSigSharesManager::SendMessages -- QGETSIGSHARES inv={%s}, node=%d\n",
p.second.ToString(), pnode->id);
g_connman->PushMessage(pnode, msgMaker.Make(NetMsgType::QGETSIGSHARES, p.second));
g_connman->PushMessage(pnode, msgMaker.Make(NetMsgType::QGETSIGSHARES, p.second), false);
didSend = true;
}
}

Expand All @@ -915,7 +918,8 @@ void CSigSharesManager::SendMessages()
assert(!p.second.sigShares.empty());
LogPrint("llmq", "CSigSharesManager::SendMessages -- QBSIGSHARES inv={%s}, node=%d\n",
p.second.ToInv().ToString(), pnode->id);
g_connman->PushMessage(pnode, msgMaker.Make(NetMsgType::QBSIGSHARES, p.second));
g_connman->PushMessage(pnode, msgMaker.Make(NetMsgType::QBSIGSHARES, p.second), false);
didSend = true;
}
}

Expand All @@ -925,12 +929,17 @@ void CSigSharesManager::SendMessages()
assert(p.second.CountSet() != 0);
LogPrint("llmq", "CSigSharesManager::SendMessages -- QSIGSHARESINV inv={%s}, node=%d\n",
p.second.ToString(), pnode->id);
g_connman->PushMessage(pnode, msgMaker.Make(NetMsgType::QSIGSHARESINV, p.second));
g_connman->PushMessage(pnode, msgMaker.Make(NetMsgType::QSIGSHARESINV, p.second), false);
didSend = true;
}
}

return true;
});

if (didSend) {
g_connman->WakeSelect();
}
}

void CSigSharesManager::Cleanup()
Expand Down

0 comments on commit c03480d

Please sign in to comment.