Ethereum  PoC-8
The C++ Implementation of Ethereum
dev::eth::WarpCapability Class Reference

#include <WarpCapability.h>

Inheritance diagram for dev::eth::WarpCapability:

Public Member Functions

 WarpCapability (std::shared_ptr< p2p::CapabilityHostFace > _host, BlockChain const &_blockChain, u256 const &_networkId, boost::filesystem::path const &_snapshotDownloadPath, std::shared_ptr< SnapshotStorageFace > _snapshotStorage)
 
std::string name () const override
 
u256 version () const override
 
unsigned messageCount () const override
 
void onStarting () override
 
void onStopping () override
 
unsigned protocolVersion () const
 
u256 networkId () const
 
void onConnect (NodeID const &_peerID, u256 const &_peerCapabilityVersion) override
 
bool interpretCapabilityPacket (NodeID const &_peerID, unsigned _id, RLP const &) override
 
void onDisconnect (NodeID const &_peerID) override
 
p2p::CapabilityHostFace & capabilityHost ()
 
void requestStatus (NodeID const &_peerID, unsigned _hostProtocolVersion, u256 const &_hostNetworkId, u256 const &_chainTotalDifficulty, h256 const &_chainCurrentHash, h256 const &_chainGenesisHash, h256 const &_snapshotBlockHash, u256 const &_snapshotBlockNumber)
 
void requestBlockHeaders (NodeID const &_peerID, unsigned _startNumber, unsigned _count, unsigned _skip, bool _reverse)
 
void requestManifest (NodeID const &_peerID)
 
bool requestData (NodeID const &_peerID, h256 const &_chunkHash)
 
bool validateStatus (NodeID const &_peerID, h256 const &_genesisHash, std::vector< unsigned > const &_protocolVersions, u256 const &_networkId)
 Validates whether peer is able to communicate with the host, disables peer if not. More...
 
void disablePeer (NodeID const &_peerID, std::string const &_problem)
 

Detailed Description

Definition at line 82 of file WarpCapability.h.

Constructor & Destructor Documentation

◆ WarpCapability()

dev::eth::WarpCapability::WarpCapability ( std::shared_ptr< p2p::CapabilityHostFace >  _host,
BlockChain const &  _blockChain,
u256 const &  _networkId,
boost::filesystem::path const &  _snapshotDownloadPath,
std::shared_ptr< SnapshotStorageFace _snapshotStorage 
)

Definition at line 312 of file WarpCapability.cpp.

Member Function Documentation

◆ capabilityHost()

p2p::CapabilityHostFace& dev::eth::WarpCapability::capabilityHost ( )
inline

Definition at line 103 of file WarpCapability.h.

◆ disablePeer()

void dev::eth::WarpCapability::disablePeer ( NodeID const &  _peerID,
std::string const &  _problem 
)

Definition at line 593 of file WarpCapability.cpp.

◆ interpretCapabilityPacket()

bool dev::eth::WarpCapability::interpretCapabilityPacket ( NodeID const &  _peerID,
unsigned  _id,
RLP const &  _r 
)
override

Definition at line 381 of file WarpCapability.cpp.

◆ messageCount()

unsigned dev::eth::WarpCapability::messageCount ( ) const
inlineoverride

Definition at line 91 of file WarpCapability.h.

◆ name()

std::string dev::eth::WarpCapability::name ( ) const
inlineoverride

Definition at line 89 of file WarpCapability.h.

◆ networkId()

u256 dev::eth::WarpCapability::networkId ( ) const
inline

Definition at line 97 of file WarpCapability.h.

◆ onConnect()

void dev::eth::WarpCapability::onConnect ( NodeID const &  _peerID,
u256 const &  _peerCapabilityVersion 
)
override

Definition at line 360 of file WarpCapability.cpp.

◆ onDisconnect()

void dev::eth::WarpCapability::onDisconnect ( NodeID const &  _peerID)
override

Definition at line 484 of file WarpCapability.cpp.

◆ onStarting()

void dev::eth::WarpCapability::onStarting ( )
override

Definition at line 326 of file WarpCapability.cpp.

◆ onStopping()

void dev::eth::WarpCapability::onStopping ( )
override

Definition at line 332 of file WarpCapability.cpp.

◆ protocolVersion()

unsigned dev::eth::WarpCapability::protocolVersion ( ) const
inline

Definition at line 96 of file WarpCapability.h.

◆ requestBlockHeaders()

void dev::eth::WarpCapability::requestBlockHeaders ( NodeID const &  _peerID,
unsigned  _startNumber,
unsigned  _count,
unsigned  _skip,
bool  _reverse 
)

Definition at line 503 of file WarpCapability.cpp.

◆ requestData()

bool dev::eth::WarpCapability::requestData ( NodeID const &  _peerID,
h256 const &  _chunkHash 
)

Definition at line 531 of file WarpCapability.cpp.

◆ requestManifest()

void dev::eth::WarpCapability::requestManifest ( NodeID const &  _peerID)

Definition at line 518 of file WarpCapability.cpp.

◆ requestStatus()

void dev::eth::WarpCapability::requestStatus ( NodeID const &  _peerID,
unsigned  _hostProtocolVersion,
u256 const &  _hostNetworkId,
u256 const &  _chainTotalDifficulty,
h256 const &  _chainCurrentHash,
h256 const &  _chainGenesisHash,
h256 const &  _snapshotBlockHash,
u256 const &  _snapshotBlockNumber 
)

Definition at line 491 of file WarpCapability.cpp.

◆ validateStatus()

bool dev::eth::WarpCapability::validateStatus ( NodeID const &  _peerID,
h256 const &  _genesisHash,
std::vector< unsigned > const &  _protocolVersions,
u256 const &  _networkId 
)

Validates whether peer is able to communicate with the host, disables peer if not.

Definition at line 559 of file WarpCapability.cpp.

◆ version()

u256 dev::eth::WarpCapability::version ( ) const
inlineoverride

Definition at line 90 of file WarpCapability.h.


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