Browse Source

Send multiple inv messages if mempool.size > MAX_INV_SZ

Changes the response to the 'mempool' command so that if
the memory pool has more than MAX_INV_SZ transactions (50,000)
it will respond with multiple 'inv' messages.
0.10
Gavin Andresen 11 years ago
parent
commit
1f3d3647ff
  1. 6
      src/main.cpp

6
src/main.cpp

@ -3814,8 +3814,10 @@ bool static ProcessMessage(CNode* pfrom, string strCommand, CDataStream& vRecv)
if ((pfrom->pfilter && pfrom->pfilter->IsRelevantAndUpdate(mempool.lookup(hash), hash)) || if ((pfrom->pfilter && pfrom->pfilter->IsRelevantAndUpdate(mempool.lookup(hash), hash)) ||
(!pfrom->pfilter)) (!pfrom->pfilter))
vInv.push_back(inv); vInv.push_back(inv);
if (vInv.size() == MAX_INV_SZ) if (vInv.size() == MAX_INV_SZ) {
break; pfrom->PushMessage("inv", vInv);
vInv.clear();
}
} }
if (vInv.size() > 0) if (vInv.size() > 0)
pfrom->PushMessage("inv", vInv); pfrom->PushMessage("inv", vInv);

Loading…
Cancel
Save