[net processing] Remove PushBlockInventory and PushBlockHash
PushBlockInventory() and PushBlockHash() are functions that can be replaced with single-line statements. This also eliminates the single place that cs_inventory is taken recursively.
This commit is contained in:
1 parent
879acc681a
commit
344e831de5
2 files changed
+5
-16
No files matched your search
@@ -982,18 +982,6 @@ public:
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void PushBlockInventory(const uint256& hash)
|
|
||||||
{
|
|
||||||
LOCK(cs_inventory);
|
|
||||||
vInventoryBlockToSend.push_back(hash);
|
|
||||||
}
|
|
||||||
|
|
||||||
void PushBlockHash(const uint256 &hash)
|
|
||||||
{
|
|
||||||
LOCK(cs_inventory);
|
|
||||||
vBlockHashesToAnnounce.push_back(hash);
|
|
||||||
}
|
|
||||||
|
|
||||||
void CloseSocketDisconnect();
|
void CloseSocketDisconnect();
|
||||||
|
|
||||||
void copyStats(CNodeStats &stats, const std::vector<bool> &m_asmap);
|
void copyStats(CNodeStats &stats, const std::vector<bool> &m_asmap);
|
||||||
|
|||||||
@@ -1328,9 +1328,10 @@ void PeerLogicValidation::UpdatedBlockTip(const CBlockIndex *pindexNew, const CB
|
|||||||
}
|
}
|
||||||
// Relay inventory, but don't relay old inventory during initial block download.
|
// Relay inventory, but don't relay old inventory during initial block download.
|
||||||
connman->ForEachNode([nNewHeight, &vHashes](CNode* pnode) {
|
connman->ForEachNode([nNewHeight, &vHashes](CNode* pnode) {
|
||||||
|
LOCK(pnode->cs_inventory);
|
||||||
if (nNewHeight > (pnode->nStartingHeight != -1 ? pnode->nStartingHeight - 2000 : 0)) {
|
if (nNewHeight > (pnode->nStartingHeight != -1 ? pnode->nStartingHeight - 2000 : 0)) {
|
||||||
for (const uint256& hash : reverse_iterate(vHashes)) {
|
for (const uint256& hash : reverse_iterate(vHashes)) {
|
||||||
pnode->PushBlockHash(hash);
|
pnode->vBlockHashesToAnnounce.push_back(hash);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
@@ -1607,7 +1608,7 @@ void static ProcessGetBlockData(CNode& pfrom, const CChainParams& chainparams, c
|
|||||||
// Trigger the peer node to send a getblocks request for the next batch of inventory
|
// Trigger the peer node to send a getblocks request for the next batch of inventory
|
||||||
if (inv.hash == pfrom.hashContinue)
|
if (inv.hash == pfrom.hashContinue)
|
||||||
{
|
{
|
||||||
// Bypass PushBlockInventory, this must send even if redundant,
|
// Send immediately. This must send even if redundant,
|
||||||
// and we want it right after the last block so they don't
|
// and we want it right after the last block so they don't
|
||||||
// wait for other stuff first.
|
// wait for other stuff first.
|
||||||
std::vector<CInv> vInv;
|
std::vector<CInv> vInv;
|
||||||
@@ -2666,7 +2667,7 @@ void ProcessMessage(
|
|||||||
LogPrint(BCLog::NET, " getblocks stopping, pruned or too old block at %d %s\n", pindex->nHeight, pindex->GetBlockHash().ToString());
|
LogPrint(BCLog::NET, " getblocks stopping, pruned or too old block at %d %s\n", pindex->nHeight, pindex->GetBlockHash().ToString());
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
pfrom.PushBlockInventory(pindex->GetBlockHash());
|
WITH_LOCK(pfrom.cs_inventory, pfrom.vInventoryBlockToSend.push_back(pindex->GetBlockHash()));
|
||||||
if (--nLimit <= 0)
|
if (--nLimit <= 0)
|
||||||
{
|
{
|
||||||
// When this block is requested, we'll send an inv that'll
|
// When this block is requested, we'll send an inv that'll
|
||||||
@@ -4083,7 +4084,7 @@ bool PeerLogicValidation::SendMessages(CNode* pto)
|
|||||||
|
|
||||||
// If the peer's chain has this block, don't inv it back.
|
// If the peer's chain has this block, don't inv it back.
|
||||||
if (!PeerHasHeader(&state, pindex)) {
|
if (!PeerHasHeader(&state, pindex)) {
|
||||||
pto->PushBlockInventory(hashToAnnounce);
|
pto->vInventoryBlockToSend.push_back(hashToAnnounce);
|
||||||
LogPrint(BCLog::NET, "%s: sending inv peer=%d hash=%s\n", __func__,
|
LogPrint(BCLog::NET, "%s: sending inv peer=%d hash=%s\n", __func__,
|
||||||
pto->GetId(), hashToAnnounce.ToString());
|
pto->GetId(), hashToAnnounce.ToString());
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in new issue
Block a user