| 4091 | } |
| 4092 | |
| 4093 | void CNode::MarkReceivedMsgsForProcessing() |
| 4094 | { |
| 4095 | AssertLockNotHeld(m_msg_process_queue_mutex); |
| 4096 | |
| 4097 | size_t nSizeAdded = 0; |
| 4098 | for (const auto& msg : vRecvMsg) { |
| 4099 | // vRecvMsg contains only completed CNetMessage |
| 4100 | // the single possible partially deserialized message are held by TransportDeserializer |
| 4101 | nSizeAdded += msg.GetMemoryUsage(); |
| 4102 | } |
| 4103 | |
| 4104 | LOCK(m_msg_process_queue_mutex); |
| 4105 | m_msg_process_queue.splice(m_msg_process_queue.end(), vRecvMsg); |
| 4106 | m_msg_process_queue_size += nSizeAdded; |
| 4107 | fPauseRecv = m_msg_process_queue_size > m_recv_flood_size; |
| 4108 | } |
| 4109 | |
| 4110 | std::optional<std::pair<CNetMessage, bool>> CNode::PollMessage() |
| 4111 | { |