Bitcoin ABC  0.26.3
P2P Digital Currency
Public Member Functions | Protected Member Functions | List of all members
NetEventsInterface Class Referenceabstract

Interface for message handling. More...

#include <net.h>

Inheritance diagram for NetEventsInterface:
[legend]

Public Member Functions

virtual void InitializeNode (const Config &config, CNode *pnode)=0
 Initialize a peer (setup state, queue any initial messages) More...
 
virtual void FinalizeNode (const Config &config, const CNode &node)=0
 Handle removal of a peer (clear state) More...
 
virtual bool ProcessMessages (const Config &config, CNode *pnode, std::atomic< bool > &interrupt)=0
 Process protocol messages received from a given node. More...
 
virtual bool SendMessages (const Config &config, CNode *pnode) EXCLUSIVE_LOCKS_REQUIRED(pnode -> cs_sendProcessing)=0
 Send queued protocol messages to a given node. More...
 

Protected Member Functions

 ~NetEventsInterface ()=default
 Protected destructor so that instances can only be deleted by derived classes. More...
 

Detailed Description

Interface for message handling.

Definition at line 879 of file net.h.

Constructor & Destructor Documentation

◆ ~NetEventsInterface()

NetEventsInterface::~NetEventsInterface ( )
protecteddefault

Protected destructor so that instances can only be deleted by derived classes.

If that restriction is no longer desired, this should be made public and virtual.

Member Function Documentation

◆ FinalizeNode()

virtual void NetEventsInterface::FinalizeNode ( const Config config,
const CNode node 
)
pure virtual

Handle removal of a peer (clear state)

◆ InitializeNode()

virtual void NetEventsInterface::InitializeNode ( const Config config,
CNode pnode 
)
pure virtual

Initialize a peer (setup state, queue any initial messages)

◆ ProcessMessages()

virtual bool NetEventsInterface::ProcessMessages ( const Config config,
CNode pnode,
std::atomic< bool > &  interrupt 
)
pure virtual

Process protocol messages received from a given node.

Parameters
[in]configThe applicable configuration object.
[in]pnodeThe node which we have received messages from.
[in]interruptInterrupt condition for processing threads
Returns
True if there is more work to be done

◆ SendMessages()

virtual bool NetEventsInterface::SendMessages ( const Config config,
CNode pnode 
) -> cs_sendProcessing)
pure virtual

Send queued protocol messages to a given node.

Parameters
[in]configThe applicable configuration object.
[in]pnodeThe node which we are sending messages to.
Returns
True if there is more work to be done

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