Fabcoin Core  0.16.2
P2P Digital Currency
Public Member Functions | Protected Member Functions | Private Attributes | Friends | List of all members
dev::p2p::HostCapabilityFace Class Referenceabstract

#include <HostCapability.h>

Inheritance diagram for dev::p2p::HostCapabilityFace:
[legend]
Collaboration diagram for dev::p2p::HostCapabilityFace:
[legend]

Public Member Functions

 HostCapabilityFace ()
 
virtual ~HostCapabilityFace ()
 
Hosthost () const
 
std::vector< std::pair< std::shared_ptr< SessionFace >, std::shared_ptr< Peer > > > peerSessions () const
 
std::vector< std::pair< std::shared_ptr< SessionFace >, std::shared_ptr< Peer > > > peerSessions (u256 const &_version) const
 

Protected Member Functions

virtual std::string name () const =0
 
virtual u256 version () const =0
 
CapDesc capDesc () const
 
virtual unsigned messageCount () const =0
 
virtual std::shared_ptr< CapabilitynewPeerCapability (std::shared_ptr< SessionFace > const &_s, unsigned _idOffset, CapDesc const &_cap, uint16_t _capID)=0
 
virtual void onStarting ()
 
virtual void onStopping ()
 

Private Attributes

Hostm_host = nullptr
 

Friends

class Host
 
template<class T >
class HostCapability
 
class Capability
 
class Session
 

Detailed Description

Definition at line 37 of file HostCapability.h.

Constructor & Destructor Documentation

dev::p2p::HostCapabilityFace::HostCapabilityFace ( )
inline

Definition at line 45 of file HostCapability.h.

virtual dev::p2p::HostCapabilityFace::~HostCapabilityFace ( )
inlinevirtual

Definition at line 46 of file HostCapability.h.

Member Function Documentation

CapDesc dev::p2p::HostCapabilityFace::capDesc ( ) const
inlineprotected

Definition at line 56 of file HostCapability.h.

Here is the call graph for this function:

Host* dev::p2p::HostCapabilityFace::host ( ) const
inline

Definition at line 48 of file HostCapability.h.

Here is the call graph for this function:

Here is the caller graph for this function:

virtual unsigned dev::p2p::HostCapabilityFace::messageCount ( ) const
protectedpure virtual

Implemented in dev::p2p::HostCapability< PeerCap >, dev::p2p::HostCapability< TestCap >, dev::p2p::HostCapability< TestCapability >, dev::p2p::HostCapability< EthereumPeer >, and MockHostCapability.

Here is the caller graph for this function:

virtual std::string dev::p2p::HostCapabilityFace::name ( ) const
protectedpure virtual

Implemented in dev::p2p::HostCapability< PeerCap >, dev::p2p::HostCapability< TestCap >, dev::p2p::HostCapability< TestCapability >, dev::p2p::HostCapability< EthereumPeer >, and MockHostCapability.

Here is the caller graph for this function:

virtual std::shared_ptr<Capability> dev::p2p::HostCapabilityFace::newPeerCapability ( std::shared_ptr< SessionFace > const &  _s,
unsigned  _idOffset,
CapDesc const &  _cap,
uint16_t  _capID 
)
protectedpure virtual

Implemented in dev::p2p::HostCapability< PeerCap >, dev::p2p::HostCapability< TestCap >, dev::p2p::HostCapability< TestCapability >, and dev::p2p::HostCapability< EthereumPeer >.

Here is the caller graph for this function:

virtual void dev::p2p::HostCapabilityFace::onStarting ( )
inlineprotectedvirtual

Reimplemented in dev::eth::EthereumHost.

Definition at line 60 of file HostCapability.h.

virtual void dev::p2p::HostCapabilityFace::onStopping ( )
inlineprotectedvirtual

Reimplemented in dev::eth::EthereumHost.

Definition at line 61 of file HostCapability.h.

std::vector< std::pair< std::shared_ptr< SessionFace >, std::shared_ptr< Peer > > > HostCapabilityFace::peerSessions ( ) const

Definition at line 30 of file HostCapability.cpp.

Here is the call graph for this function:

Here is the caller graph for this function:

std::vector< std::pair< std::shared_ptr< SessionFace >, std::shared_ptr< Peer > > > HostCapabilityFace::peerSessions ( u256 const &  _version) const

Definition at line 35 of file HostCapability.cpp.

virtual u256 dev::p2p::HostCapabilityFace::version ( ) const
protectedpure virtual

Implemented in dev::p2p::HostCapability< PeerCap >, dev::p2p::HostCapability< TestCap >, dev::p2p::HostCapability< TestCapability >, dev::p2p::HostCapability< EthereumPeer >, and MockHostCapability.

Here is the caller graph for this function:

Friends And Related Function Documentation

friend class Capability
friend

Definition at line 41 of file HostCapability.h.

friend class Host
friend

Definition at line 39 of file HostCapability.h.

template<class T >
friend class HostCapability
friend

Definition at line 40 of file HostCapability.h.

friend class Session
friend

Definition at line 42 of file HostCapability.h.

Member Data Documentation

Host* dev::p2p::HostCapabilityFace::m_host = nullptr
private

Definition at line 64 of file HostCapability.h.


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