From 1f3d3647ffb49943f485c9a663f0644ca7d110de Mon Sep 17 00:00:00 2001 From: Gavin Andresen Date: Tue, 27 Aug 2013 16:12:43 +1000 Subject: [PATCH] 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. --- src/main.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/main.cpp b/src/main.cpp index 01a1babc7f..6ffbc5a44e 100644 --- a/src/main.cpp +++ b/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)) || (!pfrom->pfilter)) vInv.push_back(inv); - if (vInv.size() == MAX_INV_SZ) - break; + if (vInv.size() == MAX_INV_SZ) { + pfrom->PushMessage("inv", vInv); + vInv.clear(); + } } if (vInv.size() > 0) pfrom->PushMessage("inv", vInv);