@@ -573,7 +573,10 @@ CNode* CConnman::ConnectNode(CAddress addrConnect, const char *pszDest, bool fCo
573573 pszDest ? pszDest : " " ,
574574 conn_type,
575575 /* inbound_onion=*/ false ,
576- CNodeOptions{ .i2p_sam_session = std::move (i2p_transient_session) });
576+ CNodeOptions{
577+ .i2p_sam_session = std::move (i2p_transient_session),
578+ .recv_flood_size = nReceiveFloodSize,
579+ });
577580 pnode->AddRef ();
578581
579582 // We're making a new connection, harvest entropy from the time (and our peer count)
@@ -1051,8 +1054,9 @@ void CConnman::CreateNodeFromAcceptedSocket(std::unique_ptr<Sock>&& sock,
10511054 ConnectionType::INBOUND,
10521055 inbound_onion,
10531056 CNodeOptions{
1054- .permission_flags = permission_flags,
1055- .prefer_evict = discouraged,
1057+ .permission_flags = permission_flags,
1058+ .prefer_evict = discouraged,
1059+ .recv_flood_size = nReceiveFloodSize,
10561060 });
10571061 pnode->AddRef ();
10581062 m_msgproc->InitializeNode (*pnode, nodeServices);
@@ -1328,7 +1332,7 @@ void CConnman::SocketHandlerConnected(const std::vector<CNode*>& nodes,
13281332 }
13291333 RecordBytesRecv (nBytes);
13301334 if (notify) {
1331- pnode->MarkReceivedMsgsForProcessing (nReceiveFloodSize );
1335+ pnode->MarkReceivedMsgsForProcessing ();
13321336 WakeMessageHandler ();
13331337 }
13341338 }
@@ -2754,8 +2758,6 @@ ServiceFlags CConnman::GetLocalServices() const
27542758 return nLocalServices;
27552759}
27562760
2757- unsigned int CConnman::GetReceiveFloodSize () const { return nReceiveFloodSize; }
2758-
27592761CNode::CNode (NodeId idIn,
27602762 std::shared_ptr<Sock> sock,
27612763 const CAddress& addrIn,
@@ -2780,6 +2782,7 @@ CNode::CNode(NodeId idIn,
27802782 m_conn_type{conn_type_in},
27812783 id{idIn},
27822784 nLocalHostNonce{nLocalHostNonceIn},
2785+ m_recv_flood_size{node_opts.recv_flood_size },
27832786 m_i2p_sam_session{std::move (node_opts.i2p_sam_session )}
27842787{
27852788 if (inbound_onion) assert (conn_type_in == ConnectionType::INBOUND);
@@ -2795,7 +2798,7 @@ CNode::CNode(NodeId idIn,
27952798 }
27962799}
27972800
2798- void CNode::MarkReceivedMsgsForProcessing (unsigned int recv_flood_size )
2801+ void CNode::MarkReceivedMsgsForProcessing ()
27992802{
28002803 AssertLockNotHeld (m_msg_process_queue_mutex);
28012804
@@ -2809,10 +2812,10 @@ void CNode::MarkReceivedMsgsForProcessing(unsigned int recv_flood_size)
28092812 LOCK (m_msg_process_queue_mutex);
28102813 m_msg_process_queue.splice (m_msg_process_queue.end (), vRecvMsg);
28112814 m_msg_process_queue_size += nSizeAdded;
2812- fPauseRecv = m_msg_process_queue_size > recv_flood_size ;
2815+ fPauseRecv = m_msg_process_queue_size > m_recv_flood_size ;
28132816}
28142817
2815- std::optional<std::pair<CNetMessage, bool >> CNode::PollMessage (size_t recv_flood_size )
2818+ std::optional<std::pair<CNetMessage, bool >> CNode::PollMessage ()
28162819{
28172820 LOCK (m_msg_process_queue_mutex);
28182821 if (m_msg_process_queue.empty ()) return std::nullopt ;
@@ -2821,7 +2824,7 @@ std::optional<std::pair<CNetMessage, bool>> CNode::PollMessage(size_t recv_flood
28212824 // Just take one message
28222825 msgs.splice (msgs.begin (), m_msg_process_queue, m_msg_process_queue.begin ());
28232826 m_msg_process_queue_size -= msgs.front ().m_raw_message_size ;
2824- fPauseRecv = m_msg_process_queue_size > recv_flood_size ;
2827+ fPauseRecv = m_msg_process_queue_size > m_recv_flood_size ;
28252828
28262829 return std::make_pair (std::move (msgs.front ()), !m_msg_process_queue.empty ());
28272830}
0 commit comments