@@ -601,7 +601,7 @@ bool CNode::ReceiveMsgBytes(const char *pch, unsigned int nBytes, bool& complete
601
601
if (i == mapRecvBytesPerMsgCmd.end ())
602
602
i = mapRecvBytesPerMsgCmd.find (NET_MESSAGE_COMMAND_OTHER);
603
603
assert (i != mapRecvBytesPerMsgCmd.end ());
604
- i->second += m_deserializer-> hdr . nMessageSize + CMessageHeader::HEADER_SIZE ;
604
+ i->second += msg. m_raw_message_size ;
605
605
606
606
// push the message to the process queue,
607
607
vRecvMsg.push_back (std::move (msg));
@@ -707,6 +707,7 @@ CNetMessage TransportDeserializer::GetMessage(const CMessageHeader::MessageStart
707
707
// store command string, payload size
708
708
msg.m_command = hdr.GetCommand ();
709
709
msg.m_message_size = hdr.nMessageSize ;
710
+ msg.m_raw_message_size = hdr.nMessageSize + CMessageHeader::HEADER_SIZE;
710
711
711
712
msg.m_valid_checksum = (memcmp (hash.begin (), hdr.pchChecksum , CMessageHeader::CHECKSUM_SIZE) == 0 );
712
713
if (!msg.m_valid_checksum ) {
@@ -1377,7 +1378,7 @@ void CConnman::SocketHandler()
1377
1378
for (; it != pnode->vRecvMsg .end (); ++it) {
1378
1379
// vRecvMsg contains only completed CNetMessage
1379
1380
// the single possible partially deserialized message are held by TransportDeserializer
1380
- nSizeAdded += it->m_recv . size () + CMessageHeader::HEADER_SIZE ;
1381
+ nSizeAdded += it->m_raw_message_size ;
1381
1382
}
1382
1383
{
1383
1384
LOCK (pnode->cs_vProcessMsg );
0 commit comments