|
|
@ -5510,7 +5510,7 @@ bool SendMessages(CNode* pto, bool fSendTrickle) |
|
|
|
vInvWait.reserve(pto->vInventoryToSend.size()); |
|
|
|
vInvWait.reserve(pto->vInventoryToSend.size()); |
|
|
|
BOOST_FOREACH(const CInv& inv, pto->vInventoryToSend) |
|
|
|
BOOST_FOREACH(const CInv& inv, pto->vInventoryToSend) |
|
|
|
{ |
|
|
|
{ |
|
|
|
if (pto->filterInventoryKnown.contains(inv.hash)) |
|
|
|
if (inv.type == MSG_TX && pto->filterInventoryKnown.contains(inv.hash)) |
|
|
|
continue; |
|
|
|
continue; |
|
|
|
|
|
|
|
|
|
|
|
// trickle out tx inv to protect privacy
|
|
|
|
// trickle out tx inv to protect privacy
|
|
|
@ -5531,9 +5531,8 @@ bool SendMessages(CNode* pto, bool fSendTrickle) |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
if (!pto->filterInventoryKnown.contains(inv.hash)) |
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
pto->filterInventoryKnown.insert(inv.hash); |
|
|
|
pto->filterInventoryKnown.insert(inv.hash); |
|
|
|
|
|
|
|
|
|
|
|
vInv.push_back(inv); |
|
|
|
vInv.push_back(inv); |
|
|
|
if (vInv.size() >= 1000) |
|
|
|
if (vInv.size() >= 1000) |
|
|
|
{ |
|
|
|
{ |
|
|
@ -5541,7 +5540,6 @@ bool SendMessages(CNode* pto, bool fSendTrickle) |
|
|
|
vInv.clear(); |
|
|
|
vInv.clear(); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
pto->vInventoryToSend = vInvWait; |
|
|
|
pto->vInventoryToSend = vInvWait; |
|
|
|
} |
|
|
|
} |
|
|
|
if (!vInv.empty()) |
|
|
|
if (!vInv.empty()) |
|
|
|