drop vAddrToSend after sending big addr message
We send a newly-accepted peer a 1000-entry addr message, and then only use vAddrToSend for small messages. Deallocate vAddrToSend after it's been used for the big message to save about 40 kB per connected inbound peer.
This commit is contained in:
parent
52c3f348be
commit
d3d02d5145
1 changed files with 3 additions and 0 deletions
|
@ -5713,6 +5713,9 @@ bool SendMessages(CNode* pto)
|
|||
pto->vAddrToSend.clear();
|
||||
if (!vAddr.empty())
|
||||
pto->PushMessage(NetMsgType::ADDR, vAddr);
|
||||
// we only send the big addr message once
|
||||
if (pto->vAddrToSend.capacity() > 40)
|
||||
pto->vAddrToSend.shrink_to_fit();
|
||||
}
|
||||
|
||||
CNodeState &state = *State(pto->GetId());
|
||||
|
|
Loading…
Reference in a new issue