#include <taraxa_capability.hpp>
|
using | InitPacketsHandlers = std::function< std::shared_ptr< PacketsHandler >(const std::string &logs_prefix, const FullNodeConfig &config, const h256 &genesis_hash, const std::shared_ptr< PeersState > &peers_state, const std::shared_ptr< PbftSyncingState > &pbft_syncing_state, const std::shared_ptr< tarcap::TimePeriodPacketsStats > &packets_stats, const std::shared_ptr< DbStorage > &db, const std::shared_ptr< PbftManager > &pbft_mgr, const std::shared_ptr< PbftChain > &pbft_chain, const std::shared_ptr< VoteManager > &vote_mgr, const std::shared_ptr< DagManager > &dag_mgr, const std::shared_ptr< TransactionManager > &trx_mgr, const std::shared_ptr< SlashingManager > &slashing_manager, const std::shared_ptr< pillar_chain::PillarChainManager > &pillar_chain_mgr, TarcapVersion version, const addr_t &node_addr)> |
| Function signature for creating taraxa capability packets handlers. More...
|
|
|
| TaraxaCapability (TarcapVersion version, const FullNodeConfig &conf, const h256 &genesis_hash, std::weak_ptr< dev::p2p::Host > host, const dev::KeyPair &key, std::shared_ptr< network::threadpool::PacketsThreadPool > threadpool, std::shared_ptr< TimePeriodPacketsStats > packets_stats, std::shared_ptr< PbftSyncingState > syncing_state, std::shared_ptr< DbStorage > db, std::shared_ptr< PbftManager > pbft_mgr, std::shared_ptr< PbftChain > pbft_chain, std::shared_ptr< VoteManager > vote_mgr, std::shared_ptr< DagManager > dag_mgr, std::shared_ptr< TransactionManager > trx_mgr, std::shared_ptr< SlashingManager > slashing_manager, std::shared_ptr< pillar_chain::PillarChainManager > pillar_chain_mgr, InitPacketsHandlers init_packets_handlers=kInitLatestVersionHandlers) |
|
virtual | ~TaraxaCapability ()=default |
|
| TaraxaCapability (const TaraxaCapability &ro)=delete |
|
TaraxaCapability & | operator= (const TaraxaCapability &ro)=delete |
|
| TaraxaCapability (TaraxaCapability &&ro)=delete |
|
TaraxaCapability & | operator= (TaraxaCapability &&ro)=delete |
|
std::string | name () const override |
| Subprotocol name, used in negotiating common capabilities with the peers. More...
|
|
TarcapVersion | version () const override |
|
unsigned | messageCount () const override |
| Number of messages supported by the subprotocol version. More...
|
|
void | onConnect (std::weak_ptr< dev::p2p::Session > session, u256 const &) override |
|
void | onDisconnect (dev::p2p::NodeID const &_nodeID) override |
|
void | interpretCapabilityPacket (std::weak_ptr< dev::p2p::Session > session, unsigned _id, dev::RLP const &_r) override |
|
std::string | packetTypeToString (unsigned _packetType) const override |
| Convert supplied packet type to string - used for logging purposes. More...
|
|
const std::shared_ptr< PeersState > & | getPeersState () |
|
template<typename PacketHandlerType > |
std::shared_ptr< PacketHandlerType > | getSpecificHandler () const |
|
virtual | ~CapabilityFace ()=default |
|
◆ InitPacketsHandlers
using taraxa::network::tarcap::TaraxaCapability::InitPacketsHandlers = std::function<std::shared_ptr<PacketsHandler>( const std::string &logs_prefix, const FullNodeConfig &config, const h256 &genesis_hash, const std::shared_ptr<PeersState> &peers_state, const std::shared_ptr<PbftSyncingState> &pbft_syncing_state, const std::shared_ptr<tarcap::TimePeriodPacketsStats> &packets_stats, const std::shared_ptr<DbStorage> &db, const std::shared_ptr<PbftManager> &pbft_mgr, const std::shared_ptr<PbftChain> &pbft_chain, const std::shared_ptr<VoteManager> &vote_mgr, const std::shared_ptr<DagManager> &dag_mgr, const std::shared_ptr<TransactionManager> &trx_mgr, const std::shared_ptr<SlashingManager> &slashing_manager, const std::shared_ptr<pillar_chain::PillarChainManager> &pillar_chain_mgr, TarcapVersion version, const addr_t &node_addr)> |
Function signature for creating taraxa capability packets handlers.
◆ TaraxaCapability() [1/3]
taraxa::network::tarcap::TaraxaCapability::TaraxaCapability |
( |
TarcapVersion |
version, |
|
|
const FullNodeConfig & |
conf, |
|
|
const h256 & |
genesis_hash, |
|
|
std::weak_ptr< dev::p2p::Host > |
host, |
|
|
const dev::KeyPair & |
key, |
|
|
std::shared_ptr< network::threadpool::PacketsThreadPool > |
threadpool, |
|
|
std::shared_ptr< TimePeriodPacketsStats > |
packets_stats, |
|
|
std::shared_ptr< PbftSyncingState > |
syncing_state, |
|
|
std::shared_ptr< DbStorage > |
db, |
|
|
std::shared_ptr< PbftManager > |
pbft_mgr, |
|
|
std::shared_ptr< PbftChain > |
pbft_chain, |
|
|
std::shared_ptr< VoteManager > |
vote_mgr, |
|
|
std::shared_ptr< DagManager > |
dag_mgr, |
|
|
std::shared_ptr< TransactionManager > |
trx_mgr, |
|
|
std::shared_ptr< SlashingManager > |
slashing_manager, |
|
|
std::shared_ptr< pillar_chain::PillarChainManager > |
pillar_chain_mgr, |
|
|
InitPacketsHandlers |
init_packets_handlers = kInitLatestVersionHandlers |
|
) |
| |
◆ ~TaraxaCapability()
virtual taraxa::network::tarcap::TaraxaCapability::~TaraxaCapability |
( |
| ) |
|
|
virtualdefault |
◆ TaraxaCapability() [2/3]
taraxa::network::tarcap::TaraxaCapability::TaraxaCapability |
( |
const TaraxaCapability & |
ro | ) |
|
|
delete |
◆ TaraxaCapability() [3/3]
taraxa::network::tarcap::TaraxaCapability::TaraxaCapability |
( |
TaraxaCapability && |
ro | ) |
|
|
delete |
◆ filterSyncIrrelevantPackets()
bool taraxa::network::tarcap::TaraxaCapability::filterSyncIrrelevantPackets |
( |
SubprotocolPacketType |
packet_type | ) |
const |
|
inlineprivate |
◆ getPeersState()
const std::shared_ptr< PeersState > & taraxa::network::tarcap::TaraxaCapability::getPeersState |
( |
| ) |
|
◆ getSpecificHandler()
template<typename PacketHandlerType >
std::shared_ptr< PacketHandlerType > taraxa::network::tarcap::TaraxaCapability::getSpecificHandler |
◆ handlePacketQueueOverLimit()
void taraxa::network::tarcap::TaraxaCapability::handlePacketQueueOverLimit |
( |
std::shared_ptr< dev::p2p::Host > |
host, |
|
|
dev::p2p::NodeID |
node_id, |
|
|
size_t |
tp_queue_size |
|
) |
| |
|
private |
◆ interpretCapabilityPacket()
void taraxa::network::tarcap::TaraxaCapability::interpretCapabilityPacket |
( |
std::weak_ptr< dev::p2p::Session > |
session, |
|
|
unsigned |
packet_type, |
|
|
dev::RLP const & |
payload |
|
) |
| |
|
overridevirtual |
Called by the Host when the messaege is received from the peer
- Returns
- true if the message was interpreted, false if the message had not supported type.
Implements dev::p2p::CapabilityFace.
◆ messageCount()
unsigned taraxa::network::tarcap::TaraxaCapability::messageCount |
( |
| ) |
const |
|
overridevirtual |
◆ name()
std::string taraxa::network::tarcap::TaraxaCapability::name |
( |
| ) |
const |
|
overridevirtual |
◆ onConnect()
void taraxa::network::tarcap::TaraxaCapability::onConnect |
( |
std::weak_ptr< dev::p2p::Session > |
session, |
|
|
u256 const & |
_peerCapabilityVersion |
|
) |
| |
|
overridevirtual |
Called by the Host when new peer is connected. Guaranteed to be called first before any interpretCapabilityPacket for this peer.
Implements dev::p2p::CapabilityFace.
◆ onDisconnect()
void taraxa::network::tarcap::TaraxaCapability::onDisconnect |
( |
dev::p2p::NodeID const & |
_nodeID | ) |
|
|
overridevirtual |
Called by the Host when the peer is disconnected. Guaranteed to be called last after any interpretCapabilityPacket for this peer.
Implements dev::p2p::CapabilityFace.
◆ operator=() [1/2]
◆ operator=() [2/2]
◆ packetTypeToString()
std::string taraxa::network::tarcap::TaraxaCapability::packetTypeToString |
( |
unsigned |
_packetType | ) |
const |
|
overridevirtual |
◆ version()
TarcapVersion taraxa::network::tarcap::TaraxaCapability::version |
( |
| ) |
const |
|
overridevirtual |
◆ all_packets_stats_
◆ kConf
const FullNodeConfig& taraxa::network::tarcap::TaraxaCapability::kConf |
|
private |
◆ kInitLatestVersionHandlers
Default InitPacketsHandlers function definition with the latest version of packets handlers.
◆ kInitV3Handlers
◆ last_ddos_disconnect_time_
std::chrono::system_clock::time_point taraxa::network::tarcap::TaraxaCapability::last_ddos_disconnect_time_ = {} |
|
private |
◆ last_disconnect_number_of_peers_
uint32_t taraxa::network::tarcap::TaraxaCapability::last_disconnect_number_of_peers_ = 0 |
|
private |
◆ packets_handlers_
std::shared_ptr<PacketsHandler> taraxa::network::tarcap::TaraxaCapability::packets_handlers_ |
|
private |
◆ pbft_syncing_state_
std::shared_ptr<PbftSyncingState> taraxa::network::tarcap::TaraxaCapability::pbft_syncing_state_ |
|
private |
◆ peers_state_
std::shared_ptr<PeersState> taraxa::network::tarcap::TaraxaCapability::peers_state_ |
|
private |
◆ queue_over_limit_
bool taraxa::network::tarcap::TaraxaCapability::queue_over_limit_ = false |
|
private |
◆ queue_over_limit_start_time_
std::chrono::system_clock::time_point taraxa::network::tarcap::TaraxaCapability::queue_over_limit_start_time_ = {} |
|
private |
◆ thread_pool_
◆ version_
TarcapVersion taraxa::network::tarcap::TaraxaCapability::version_ |
|
private |
The documentation for this class was generated from the following files: