Bitcoin ABC  0.24.10
P2P Digital Currency
Classes | Public Member Functions | Public Attributes | Protected Member Functions | Protected Attributes | Private Member Functions | Private Attributes | Friends | List of all members
CNode Class Reference

Information about a peer. More...

#include <net.h>

Collaboration diagram for CNode:
[legend]

Classes

class  AvalancheState
 
struct  ProofRelay
 
struct  TxRelay
 

Public Member Functions

SOCKET hSocket GUARDED_BY (cs_hSocket)
 
uint64_t nSendBytes GUARDED_BY (cs_vSend)
 
std::deque< std::vector< uint8_t > > vSendMsg GUARDED_BY (cs_vSend)
 
std::list< CNetMessage > vProcessMsg GUARDED_BY (cs_vProcessMsg)
 
uint64_t nRecvBytes GUARDED_BY (cs_vRecv)
 
std::string cleanSubVer GUARDED_BY (cs_SubVer)
 
bool HasPermission (NetPermissionFlags permission) const
 
bool IsOutboundOrBlockRelayConn () const
 
bool IsFullOutboundConn () const
 
bool IsManualConn () const
 
bool IsBlockOnlyConn () const
 
bool IsFeelerConn () const
 
bool IsAddrFetchConn () const
 
bool IsInboundConn () const
 
bool RelayAddrsWithConn () const
 
bool ExpectServicesFromConn () const
 
Network ConnectedThroughNetwork () const
 Get network the peer connected through. More...
 
std::chrono::microseconds m_next_addr_send GUARDED_BY (cs_sendProcessing)
 
std::chrono::microseconds m_next_local_addr_send GUARDED_BY (cs_sendProcessing)
 
 CNode (NodeId id, ServiceFlags nLocalServicesIn, SOCKET hSocketIn, const CAddress &addrIn, uint64_t nKeyedNetGroupIn, uint64_t nLocalHostNonceIn, uint64_t nLocalExtraEntropyIn, const CAddress &addrBindIn, const std::string &addrNameIn, ConnectionType conn_type_in, bool inbound_onion=false)
 
 ~CNode ()
 
 CNode (const CNode &)=delete
 
CNodeoperator= (const CNode &)=delete
 
void PongReceived (std::chrono::microseconds ping_time)
 A ping-pong round trip has completed successfully. More...
 
NodeId GetId () const
 
uint64_t GetLocalNonce () const
 
uint64_t GetLocalExtraEntropy () const
 
int GetRefCount () const
 
bool ReceiveMsgBytes (const Config &config, Span< const char > msg_bytes, bool &complete)
 Receive bytes from the buffer and deserialize them into messages. More...
 
void SetCommonVersion (int greatest_common_version)
 
int GetCommonVersion () const
 
CService GetAddrLocal () const
 
void SetAddrLocal (const CService &addrLocalIn)
 May not be called more than once. More...
 
CNodeAddRef ()
 
void Release ()
 
void AddAddressKnown (const CAddress &_addr)
 
void PushAddress (const CAddress &_addr, FastRandomContext &insecure_rand)
 
void AddKnownTx (const TxId &txid)
 
void PushTxInventory (const TxId &txid)
 
void AddKnownProof (const avalanche::ProofId &proofid)
 
void PushProofInventory (const avalanche::ProofId &proofid)
 
void CloseSocketDisconnect ()
 
void copyStats (CNodeStats &stats)
 
ServiceFlags GetLocalServices () const
 
std::string GetAddrName () const
 
void MaybeSetAddrName (const std::string &addrNameIn)
 Sets the addrName only if it was not previously set. More...
 
std::string ConnectionTypeAsString () const
 

Public Attributes

std::unique_ptr< TransportDeserializerm_deserializer
 
std::unique_ptr< TransportSerializerm_serializer
 
std::atomic< ServiceFlagsnServices {NODE_NONE}
 
size_t nSendSize {0}
 
size_t nSendOffset {0}
 
Mutex cs_vSend
 
Mutex cs_hSocket
 
Mutex cs_vRecv
 
RecursiveMutex cs_vProcessMsg
 
size_t nProcessQueueSize {0}
 
RecursiveMutex cs_sendProcessing
 
std::atomic< int64_t > nLastSend {0}
 
std::atomic< int64_t > nLastRecv {0}
 
const int64_t nTimeConnected
 
std::atomic< int64_t > nTimeOffset {0}
 
const CAddress addr
 
const CAddress addrBind
 
std::atomic< int > nVersion {0}
 
uint64_t nRemoteHostNonce {0}
 
uint64_t nRemoteExtraEntropy {0}
 
RecursiveMutex cs_SubVer
 cleanSubVer is a sanitized string of the user agent byte array we read from the wire. More...
 
bool m_prefer_evict {false}
 
bool m_legacyWhitelisted {false}
 
bool fClient {false}
 
bool m_limited_node {false}
 
std::atomic_bool m_wants_addrv2 {false}
 Whether the peer has signaled support for receiving ADDRv2 (BIP155) messages, implying a preference to receive ADDRv2 instead of ADDR ones. More...
 
std::atomic_bool fSuccessfullyConnected {false}
 
std::atomic_bool fDisconnect {false}
 
bool fSentAddr {false}
 
CSemaphoreGrant grantOutbound
 
std::atomic< int > nRefCount {0}
 
const uint64_t nKeyedNetGroup
 
std::atomic_bool fPauseRecv {false}
 
std::atomic_bool fPauseSend {false}
 
std::vector< CAddressvAddrToSend
 
std::unique_ptr< CRollingBloomFilterm_addr_known = nullptr
 
bool fGetAddr {false}
 
std::unique_ptr< TxRelaym_tx_relay
 
std::unique_ptr< ProofRelaym_proof_relay
 
std::unique_ptr< AvalancheStatem_avalanche_state
 
std::atomic< int64_t > nLastBlockTime {0}
 UNIX epoch time of the last block received from this peer that we had not yet seen (e.g. More...
 
std::atomic< int64_t > nLastTXTime {0}
 UNIX epoch time of the last transaction received from this peer that we had not yet seen (e.g. More...
 
std::atomic< int64_t > nLastProofTime {0}
 UNIX epoch time of the last proof received from this peer that we had not yet seen (e.g. More...
 
std::atomic< std::chrono::microseconds > m_last_ping_time {0us}
 Last measured round-trip time. More...
 
std::atomic< std::chrono::microseconds > m_min_ping_time
 Lowest measured round-trip time. More...
 

Protected Member Functions

mapMsgCmdSize mapRecvBytesPerMsgCmd GUARDED_BY (cs_vRecv)
 

Protected Attributes

mapMsgCmdSize mapSendBytesPerMsgCmd
 

Private Member Functions

std::string addrName GUARDED_BY (cs_addrName)
 
CService addrLocal GUARDED_BY (cs_addrLocal)
 

Private Attributes

const NodeId id
 
const uint64_t nLocalHostNonce
 
const uint64_t nLocalExtraEntropy
 
const ConnectionType m_conn_type
 
std::atomic< int > m_greatest_common_version {INIT_PROTO_VERSION}
 
const ServiceFlags nLocalServices
 Services offered to this peer. More...
 
NetPermissionFlags m_permissionFlags {PF_NONE}
 
std::list< CNetMessagevRecvMsg
 
RecursiveMutex cs_addrName
 
RecursiveMutex cs_addrLocal
 
const bool m_inbound_onion {false}
 Whether this peer connected via our Tor onion service. More...
 

Friends

class CConnman
 
struct ConnmanTestMsg
 

Detailed Description

Information about a peer.

Definition at line 452 of file net.h.

Constructor & Destructor Documentation

◆ CNode() [1/2]

CNode::CNode ( NodeId  id,
ServiceFlags  nLocalServicesIn,
SOCKET  hSocketIn,
const CAddress addrIn,
uint64_t  nKeyedNetGroupIn,
uint64_t  nLocalHostNonceIn,
uint64_t  nLocalExtraEntropyIn,
const CAddress addrBindIn,
const std::string &  addrNameIn,
ConnectionType  conn_type_in,
bool  inbound_onion = false 
)

Definition at line 3330 of file net.cpp.

Here is the call graph for this function:

◆ ~CNode()

CNode::~CNode ( )

Definition at line 3376 of file net.cpp.

Here is the call graph for this function:

◆ CNode() [2/2]

CNode::CNode ( const CNode )
delete

Member Function Documentation

◆ AddAddressKnown()

void CNode::AddAddressKnown ( const CAddress _addr)
inline

Definition at line 840 of file net.h.

Here is the call graph for this function:

◆ AddKnownProof()

void CNode::AddKnownProof ( const avalanche::ProofId proofid)
inline

Definition at line 884 of file net.h.

Here is the caller graph for this function:

◆ AddKnownTx()

void CNode::AddKnownTx ( const TxId txid)
inline

Definition at line 867 of file net.h.

◆ AddRef()

CNode* CNode::AddRef ( )
inline

Definition at line 833 of file net.h.

Here is the caller graph for this function:

◆ CloseSocketDisconnect()

void CNode::CloseSocketDisconnect ( )

Definition at line 521 of file net.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ConnectedThroughNetwork()

Network CNode::ConnectedThroughNetwork ( ) const

Get network the peer connected through.

Returns Network::NET_ONION for inbound onion connections, and CNetAddr::GetNetClass() otherwise. The latter cannot be used directly because it doesn't detect the former, and it's not the responsibility of the CNetAddr class to know the actual network a peer is connected through.

Returns
network the peer connected through.

Definition at line 586 of file net.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ConnectionTypeAsString()

std::string CNode::ConnectionTypeAsString ( ) const

Definition at line 539 of file net.cpp.

Here is the caller graph for this function:

◆ copyStats()

void CNode::copyStats ( CNodeStats stats)

Definition at line 590 of file net.cpp.

Here is the call graph for this function:

◆ ExpectServicesFromConn()

bool CNode::ExpectServicesFromConn ( ) const
inline

Definition at line 569 of file net.h.

◆ GetAddrLocal()

CService CNode::GetAddrLocal ( ) const

Definition at line 570 of file net.cpp.

Here is the caller graph for this function:

◆ GetAddrName()

std::string CNode::GetAddrName ( ) const

Definition at line 558 of file net.cpp.

Here is the caller graph for this function:

◆ GetCommonVersion()

int CNode::GetCommonVersion ( ) const
inline

Definition at line 827 of file net.h.

Here is the caller graph for this function:

◆ GetId()

NodeId CNode::GetId ( ) const
inline

Definition at line 801 of file net.h.

Here is the caller graph for this function:

◆ GetLocalExtraEntropy()

uint64_t CNode::GetLocalExtraEntropy ( ) const
inline

Definition at line 804 of file net.h.

Here is the caller graph for this function:

◆ GetLocalNonce()

uint64_t CNode::GetLocalNonce ( ) const
inline

Definition at line 803 of file net.h.

Here is the caller graph for this function:

◆ GetLocalServices()

ServiceFlags CNode::GetLocalServices ( ) const
inline

Definition at line 906 of file net.h.

Here is the caller graph for this function:

◆ GetRefCount()

int CNode::GetRefCount ( ) const
inline

Definition at line 806 of file net.h.

◆ GUARDED_BY() [1/11]

CService addrLocal CNode::GUARDED_BY ( cs_addrLocal  )
private

◆ GUARDED_BY() [2/11]

std::string addrName CNode::GUARDED_BY ( cs_addrName  )
private

◆ GUARDED_BY() [3/11]

SOCKET hSocket CNode::GUARDED_BY ( cs_hSocket  )

◆ GUARDED_BY() [4/11]

std::chrono::microseconds m_next_addr_send CNode::GUARDED_BY ( cs_sendProcessing  )
inline

Definition at line 606 of file net.h.

◆ GUARDED_BY() [5/11]

std::chrono::microseconds m_next_local_addr_send CNode::GUARDED_BY ( cs_sendProcessing  )
inline

Definition at line 608 of file net.h.

◆ GUARDED_BY() [6/11]

std::string cleanSubVer CNode::GUARDED_BY ( cs_SubVer  )
inline

Definition at line 499 of file net.h.

◆ GUARDED_BY() [7/11]

std::list<CNetMessage> vProcessMsg CNode::GUARDED_BY ( cs_vProcessMsg  )

◆ GUARDED_BY() [8/11]

uint64_t nRecvBytes CNode::GUARDED_BY ( cs_vRecv  )
inline

Definition at line 479 of file net.h.

◆ GUARDED_BY() [9/11]

mapMsgCmdSize mapRecvBytesPerMsgCmd CNode::GUARDED_BY ( cs_vRecv  )
protected

◆ GUARDED_BY() [10/11]

uint64_t nSendBytes CNode::GUARDED_BY ( cs_vSend  )
inline

Definition at line 467 of file net.h.

◆ GUARDED_BY() [11/11]

std::deque<std::vector<uint8_t> > vSendMsg CNode::GUARDED_BY ( cs_vSend  )

◆ HasPermission()

bool CNode::HasPermission ( NetPermissionFlags  permission) const
inline

Definition at line 502 of file net.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ IsAddrFetchConn()

bool CNode::IsAddrFetchConn ( ) const
inline

Definition at line 556 of file net.h.

◆ IsBlockOnlyConn()

bool CNode::IsBlockOnlyConn ( ) const
inline

Definition at line 550 of file net.h.

◆ IsFeelerConn()

bool CNode::IsFeelerConn ( ) const
inline

Definition at line 554 of file net.h.

◆ IsFullOutboundConn()

bool CNode::IsFullOutboundConn ( ) const
inline

Definition at line 544 of file net.h.

◆ IsInboundConn()

bool CNode::IsInboundConn ( ) const
inline

Definition at line 560 of file net.h.

Here is the caller graph for this function:

◆ IsManualConn()

bool CNode::IsManualConn ( ) const
inline

Definition at line 548 of file net.h.

Here is the caller graph for this function:

◆ IsOutboundOrBlockRelayConn()

bool CNode::IsOutboundOrBlockRelayConn ( ) const
inline

Definition at line 529 of file net.h.

◆ MaybeSetAddrName()

void CNode::MaybeSetAddrName ( const std::string &  addrNameIn)

Sets the addrName only if it was not previously set.

Definition at line 563 of file net.cpp.

Here is the caller graph for this function:

◆ operator=()

CNode& CNode::operator= ( const CNode )
delete

◆ PongReceived()

void CNode::PongReceived ( std::chrono::microseconds  ping_time)
inline

A ping-pong round trip has completed successfully.

Update latest and minimum ping times.

Definition at line 757 of file net.h.

◆ PushAddress()

void CNode::PushAddress ( const CAddress _addr,
FastRandomContext insecure_rand 
)
inline

Definition at line 845 of file net.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ PushProofInventory()

void CNode::PushProofInventory ( const avalanche::ProofId proofid)
inline

Definition at line 891 of file net.h.

Here is the caller graph for this function:

◆ PushTxInventory()

void CNode::PushTxInventory ( const TxId txid)
inline

Definition at line 874 of file net.h.

Here is the caller graph for this function:

◆ ReceiveMsgBytes()

bool CNode::ReceiveMsgBytes ( const Config config,
Span< const char >  msg_bytes,
bool &  complete 
)

Receive bytes from the buffer and deserialize them into messages.

Parameters
[in]msg_bytesThe raw data
[out]completeSet True if at least one message has been deserialized and is ready to be processed
Returns
True if the peer should stay connected, False if the peer should be disconnected from.

Definition at line 647 of file net.cpp.

Here is the call graph for this function:

◆ RelayAddrsWithConn()

bool CNode::RelayAddrsWithConn ( ) const
inline

Definition at line 565 of file net.h.

Here is the caller graph for this function:

◆ Release()

void CNode::Release ( )
inline

Definition at line 838 of file net.h.

◆ SetAddrLocal()

void CNode::SetAddrLocal ( const CService addrLocalIn)

May not be called more than once.

Definition at line 575 of file net.cpp.

Here is the call graph for this function:

◆ SetCommonVersion()

void CNode::SetCommonVersion ( int  greatest_common_version)
inline

Definition at line 823 of file net.h.

Friends And Related Function Documentation

◆ CConnman

friend class CConnman
friend

Definition at line 453 of file net.h.

◆ ConnmanTestMsg

friend struct ConnmanTestMsg
friend

Definition at line 454 of file net.h.

Member Data Documentation

◆ addr

const CAddress CNode::addr

Definition at line 486 of file net.h.

◆ addrBind

const CAddress CNode::addrBind

Definition at line 488 of file net.h.

◆ cs_addrLocal

RecursiveMutex CNode::cs_addrLocal
mutableprivate

Definition at line 795 of file net.h.

◆ cs_addrName

RecursiveMutex CNode::cs_addrName
mutableprivate

Definition at line 790 of file net.h.

◆ cs_hSocket

Mutex CNode::cs_hSocket

Definition at line 470 of file net.h.

◆ cs_sendProcessing

RecursiveMutex CNode::cs_sendProcessing

Definition at line 477 of file net.h.

◆ cs_SubVer

RecursiveMutex CNode::cs_SubVer

cleanSubVer is a sanitized string of the user agent byte array we read from the wire.

This cleaned string can safely be logged or displayed.

Definition at line 498 of file net.h.

◆ cs_vProcessMsg

RecursiveMutex CNode::cs_vProcessMsg

Definition at line 473 of file net.h.

◆ cs_vRecv

Mutex CNode::cs_vRecv

Definition at line 471 of file net.h.

◆ cs_vSend

Mutex CNode::cs_vSend

Definition at line 469 of file net.h.

◆ fClient

bool CNode::fClient {false}

Definition at line 509 of file net.h.

◆ fDisconnect

std::atomic_bool CNode::fDisconnect {false}

Definition at line 520 of file net.h.

◆ fGetAddr

bool CNode::fGetAddr {false}

Definition at line 605 of file net.h.

◆ fPauseRecv

std::atomic_bool CNode::fPauseRecv {false}

Definition at line 526 of file net.h.

◆ fPauseSend

std::atomic_bool CNode::fPauseSend {false}

Definition at line 527 of file net.h.

◆ fSentAddr

bool CNode::fSentAddr {false}

Definition at line 521 of file net.h.

◆ fSuccessfullyConnected

std::atomic_bool CNode::fSuccessfullyConnected {false}

Definition at line 517 of file net.h.

◆ grantOutbound

CSemaphoreGrant CNode::grantOutbound

Definition at line 522 of file net.h.

◆ id

const NodeId CNode::id
private

Definition at line 763 of file net.h.

◆ m_addr_known

std::unique_ptr<CRollingBloomFilter> CNode::m_addr_known = nullptr

Definition at line 604 of file net.h.

◆ m_avalanche_state

std::unique_ptr<AvalancheState> CNode::m_avalanche_state

Definition at line 707 of file net.h.

◆ m_conn_type

const ConnectionType CNode::m_conn_type
private

Definition at line 766 of file net.h.

◆ m_deserializer

std::unique_ptr<TransportDeserializer> CNode::m_deserializer

Definition at line 457 of file net.h.

◆ m_greatest_common_version

std::atomic<int> CNode::m_greatest_common_version {INIT_PROTO_VERSION}
private

Definition at line 767 of file net.h.

◆ m_inbound_onion

const bool CNode::m_inbound_onion {false}
private

Whether this peer connected via our Tor onion service.

Definition at line 798 of file net.h.

◆ m_last_ping_time

std::atomic<std::chrono::microseconds> CNode::m_last_ping_time {0us}

Last measured round-trip time.

Used only for RPC/GUI stats/debugging.

Definition at line 735 of file net.h.

◆ m_legacyWhitelisted

bool CNode::m_legacyWhitelisted {false}

Definition at line 507 of file net.h.

◆ m_limited_node

bool CNode::m_limited_node {false}

Definition at line 511 of file net.h.

◆ m_min_ping_time

std::atomic<std::chrono::microseconds> CNode::m_min_ping_time
Initial value:
{
std::chrono::microseconds::max()}

Lowest measured round-trip time.

Used as an inbound peer eviction criterium in CConnman::AttemptToEvictConnection.

Definition at line 741 of file net.h.

◆ m_permissionFlags

NetPermissionFlags CNode::m_permissionFlags {PF_NONE}
private

Definition at line 786 of file net.h.

◆ m_prefer_evict

bool CNode::m_prefer_evict {false}

Definition at line 501 of file net.h.

◆ m_proof_relay

std::unique_ptr<ProofRelay> CNode::m_proof_relay

Definition at line 655 of file net.h.

◆ m_serializer

std::unique_ptr<TransportSerializer> CNode::m_serializer

Definition at line 458 of file net.h.

◆ m_tx_relay

std::unique_ptr<TxRelay> CNode::m_tx_relay

Definition at line 642 of file net.h.

◆ m_wants_addrv2

std::atomic_bool CNode::m_wants_addrv2 {false}

Whether the peer has signaled support for receiving ADDRv2 (BIP155) messages, implying a preference to receive ADDRv2 instead of ADDR ones.

Definition at line 516 of file net.h.

◆ mapSendBytesPerMsgCmd

mapMsgCmdSize CNode::mapSendBytesPerMsgCmd
protected

Definition at line 598 of file net.h.

◆ nKeyedNetGroup

const uint64_t CNode::nKeyedNetGroup

Definition at line 525 of file net.h.

◆ nLastBlockTime

std::atomic<int64_t> CNode::nLastBlockTime {0}

UNIX epoch time of the last block received from this peer that we had not yet seen (e.g.

not already received from another peer), that passed preliminary validity checks and was saved to disk, even if we don't connect the block or it eventually fails connection. Used as an inbound peer eviction criterium in CConnman::AttemptToEvictConnection.

Definition at line 716 of file net.h.

◆ nLastProofTime

std::atomic<int64_t> CNode::nLastProofTime {0}

UNIX epoch time of the last proof received from this peer that we had not yet seen (e.g.

not already received from another peer) and that was accepted into our proof pool. Used as an inbound peer eviction criterium in CConnman::AttemptToEvictConnection.

Definition at line 732 of file net.h.

◆ nLastRecv

std::atomic<int64_t> CNode::nLastRecv {0}

Definition at line 482 of file net.h.

◆ nLastSend

std::atomic<int64_t> CNode::nLastSend {0}

Definition at line 481 of file net.h.

◆ nLastTXTime

std::atomic<int64_t> CNode::nLastTXTime {0}

UNIX epoch time of the last transaction received from this peer that we had not yet seen (e.g.

not already received from another peer) and that was accepted into our mempool. Used as an inbound peer eviction criterium in CConnman::AttemptToEvictConnection.

Definition at line 724 of file net.h.

◆ nLocalExtraEntropy

const uint64_t CNode::nLocalExtraEntropy
private

Definition at line 765 of file net.h.

◆ nLocalHostNonce

const uint64_t CNode::nLocalHostNonce
private

Definition at line 764 of file net.h.

◆ nLocalServices

const ServiceFlags CNode::nLocalServices
private

Services offered to this peer.

This is supplied by the parent CConnman during peer connection (CConnman::ConnectNode()) from its attribute of the same name.

This is const because there is no protocol defined for renegotiating services initially offered to a peer. The set of local services we offer should not change after initialization.

An interesting example of this is NODE_NETWORK and initial block download: a node which starts up from scratch doesn't have any blocks to serve, but still advertises NODE_NETWORK because it will eventually fulfill this role after IBD completes. P2P code is written in such a way that it can gracefully handle peers who don't make good on their service advertisements.

Definition at line 784 of file net.h.

◆ nProcessQueueSize

size_t CNode::nProcessQueueSize {0}

Definition at line 475 of file net.h.

◆ nRefCount

std::atomic<int> CNode::nRefCount {0}

Definition at line 523 of file net.h.

◆ nRemoteExtraEntropy

uint64_t CNode::nRemoteExtraEntropy {0}

Definition at line 493 of file net.h.

◆ nRemoteHostNonce

uint64_t CNode::nRemoteHostNonce {0}

Definition at line 491 of file net.h.

◆ nSendOffset

size_t CNode::nSendOffset {0}

Definition at line 466 of file net.h.

◆ nSendSize

size_t CNode::nSendSize {0}

Definition at line 464 of file net.h.

◆ nServices

std::atomic<ServiceFlags> CNode::nServices {NODE_NONE}

Definition at line 461 of file net.h.

◆ nTimeConnected

const int64_t CNode::nTimeConnected

Definition at line 483 of file net.h.

◆ nTimeOffset

std::atomic<int64_t> CNode::nTimeOffset {0}

Definition at line 484 of file net.h.

◆ nVersion

std::atomic<int> CNode::nVersion {0}

Definition at line 489 of file net.h.

◆ vAddrToSend

std::vector<CAddress> CNode::vAddrToSend

Definition at line 603 of file net.h.

◆ vRecvMsg

std::list<CNetMessage> CNode::vRecvMsg
private

Definition at line 788 of file net.h.


The documentation for this class was generated from the following files: