Skip to content

Commit d3d02d5

Browse files
committed
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.
1 parent 52c3f34 commit d3d02d5

File tree

1 file changed

+3
-0
lines changed

1 file changed

+3
-0
lines changed

src/main.cpp

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5713,6 +5713,9 @@ bool SendMessages(CNode* pto)
57135713
pto->vAddrToSend.clear();
57145714
if (!vAddr.empty())
57155715
pto->PushMessage(NetMsgType::ADDR, vAddr);
5716+
// we only send the big addr message once
5717+
if (pto->vAddrToSend.capacity() > 40)
5718+
pto->vAddrToSend.shrink_to_fit();
57165719
}
57175720

57185721
CNodeState &state = *State(pto->GetId());

0 commit comments

Comments
 (0)