mirror of
https://github.com/bitcoin/bitcoin.git
synced 2026-06-09 22:28:51 +02:00
Merge bitcoin/bitcoin#27257: refactor, net: End friendship of CNode, CConnman and ConnmanTestMsg
3566aa7d49[net] Remove CNode friends (dergoegge)3eac5e7cd1[net] Add CNode helper for send byte accounting (dergoegge)60441a3432scripted-diff: [net] Rename CNode process queue members (dergoegge)6693c499f7[net] Make cs_vProcessMsg a non-recursive mutex (dergoegge)23d9352654[net] Make CNode msg process queue members private (dergoegge)897e342d6e[net] Encapsulate CNode message polling (dergoegge)cc5cdf8776[net] Deduplicate marking received message for processing (dergoegge)ad44aa5c64[net] Add connection type getter to CNode (dergoegge) Pull request description: We should define clear interfaces between CNode, CConnman and PeerManager. This PR makes a small step in that direction by ending the friendship of CNode, CConnman and ConnmanTestMsg. CNode's message processing queue is made private in the process and its mutex is turned into a non-recursive mutex. ACKs for top commit: jnewbery: utACK3566aa7d49vasild: ACK3566aa7d49theStack: re-ACK3566aa7d49brunoerg: re-ACK3566aa7d49Tree-SHA512: 26b87da5054e32401b693b2904e9c5f40e35a53937c0b6cf44b8597034ad07bacf27d87cdffc54d3e7ccfebde4231ef30a38d326f88cc18133bbb34688ead567
This commit is contained in:
@@ -66,18 +66,7 @@ void ConnmanTestMsg::NodeReceiveMsgBytes(CNode& node, Span<const uint8_t> msg_by
|
||||
{
|
||||
assert(node.ReceiveMsgBytes(msg_bytes, complete));
|
||||
if (complete) {
|
||||
size_t nSizeAdded = 0;
|
||||
for (const auto& msg : node.vRecvMsg) {
|
||||
// vRecvMsg contains only completed CNetMessage
|
||||
// the single possible partially deserialized message are held by TransportDeserializer
|
||||
nSizeAdded += msg.m_raw_message_size;
|
||||
}
|
||||
{
|
||||
LOCK(node.cs_vProcessMsg);
|
||||
node.vProcessMsg.splice(node.vProcessMsg.end(), node.vRecvMsg);
|
||||
node.nProcessQueueSize += nSizeAdded;
|
||||
node.fPauseRecv = node.nProcessQueueSize > nReceiveFloodSize;
|
||||
}
|
||||
node.MarkReceivedMsgsForProcessing(nReceiveFloodSize);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user