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
 
unsigned version () const override
 
p2p::CapDesc descriptor () const override
 
unsigned messageCount () const override
 
std::chrono::milliseconds backgroundWorkInterval () const override
 
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
 
void doBackgroundWork () 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 69 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 301 of file WarpCapability.cpp.

Member Function Documentation

◆ backgroundWorkInterval()

std::chrono::milliseconds dev::eth::WarpCapability::backgroundWorkInterval ( ) const
override

Definition at line 315 of file WarpCapability.cpp.

◆ capabilityHost()

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

Definition at line 90 of file WarpCapability.h.

◆ descriptor()

p2p::CapDesc dev::eth::WarpCapability::descriptor ( ) const
inlineoverride

Definition at line 78 of file WarpCapability.h.

◆ disablePeer()

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

Definition at line 572 of file WarpCapability.cpp.

◆ doBackgroundWork()

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

Definition at line 456 of file WarpCapability.cpp.

◆ interpretCapabilityPacket()

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

Definition at line 347 of file WarpCapability.cpp.

◆ messageCount()

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

Definition at line 79 of file WarpCapability.h.

◆ name()

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

Definition at line 76 of file WarpCapability.h.

◆ networkId()

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

Definition at line 82 of file WarpCapability.h.

◆ onConnect()

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

Definition at line 326 of file WarpCapability.cpp.

◆ onDisconnect()

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

Definition at line 450 of file WarpCapability.cpp.

◆ requestBlockHeaders()

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

Definition at line 482 of file WarpCapability.cpp.

◆ requestData()

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

Definition at line 510 of file WarpCapability.cpp.

◆ requestManifest()

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

Definition at line 497 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 470 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 538 of file WarpCapability.cpp.

◆ version()

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

Definition at line 77 of file WarpCapability.h.


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