TARAXA
taraxa::network::tarcap::PillarVotePacketHandler Class Reference

#include <pillar_vote_packet_handler.hpp>

Collaboration diagram for taraxa::network::tarcap::PillarVotePacketHandler:

Public Member Functions

 PillarVotePacketHandler (const FullNodeConfig &conf, std::shared_ptr< PeersState > peers_state, std::shared_ptr< TimePeriodPacketsStats > packets_stats, std::shared_ptr< pillar_chain::PillarChainManager > pillar_chain_manager, const addr_t &node_addr, const std::string &logs_prefix)
 
void onNewPillarVote (const std::shared_ptr< PillarVote > &vote, bool rebroadcast=false)
 
void sendPillarVote (const std::shared_ptr< TaraxaPeer > &peer, const std::shared_ptr< PillarVote > &vote)
 
- Public Member Functions inherited from taraxa::network::tarcap::ExtPillarVotePacketHandler
 ExtPillarVotePacketHandler (const FullNodeConfig &conf, std::shared_ptr< PeersState > peers_state, std::shared_ptr< TimePeriodPacketsStats > packets_stats, std::shared_ptr< pillar_chain::PillarChainManager > pillar_chain_manager, const addr_t &node_addr, const std::string &log_channel)
 
- Public Member Functions inherited from taraxa::network::tarcap::PacketHandler
 PacketHandler (const FullNodeConfig &conf, std::shared_ptr< PeersState > peers_state, std::shared_ptr< TimePeriodPacketsStats > packets_stats, const addr_t &node_addr, const std::string &log_channel_name)
 
virtual ~PacketHandler ()=default
 
 PacketHandler (const PacketHandler &)=default
 
 PacketHandler (PacketHandler &&)=default
 
PacketHandleroperator= (const PacketHandler &)=delete
 
PacketHandleroperator= (PacketHandler &&)=delete
 
void processPacket (const threadpool::PacketData &packet_data)
 Packet processing function wrapper that logs packet stats and calls process function. More...
 
void requestPbftNextVotesAtPeriodRound (const dev::p2p::NodeID &peerID, PbftPeriod pbft_period, PbftRound pbft_round)
 

Static Public Attributes

static constexpr SubprotocolPacketType kPacketType_ = SubprotocolPacketType::PillarVotePacket
 

Private Member Functions

virtual void validatePacketRlpFormat (const threadpool::PacketData &packet_data) const override
 Validates packet rlp format - items count. More...
 
virtual void process (const threadpool::PacketData &packet_data, const std::shared_ptr< TaraxaPeer > &peer) override
 Main packet processing function. More...
 

Additional Inherited Members

- Protected Member Functions inherited from taraxa::network::tarcap::ExtPillarVotePacketHandler
bool processPillarVote (const std::shared_ptr< PillarVote > &vote, const std::shared_ptr< TaraxaPeer > &peer)
 
- Protected Member Functions inherited from taraxa::network::tarcap::PacketHandler
void checkPacketRlpIsList (const threadpool::PacketData &packet_data) const
 Checks if packet rlp is a list, if not it throws InvalidRlpItemsCountException. More...
 
bool sealAndSend (const dev::p2p::NodeID &nodeID, SubprotocolPacketType packet_type, dev::RLPStream &&rlp)
 
void disconnect (const dev::p2p::NodeID &node_id, dev::p2p::DisconnectReason reason)
 
- Protected Attributes inherited from taraxa::network::tarcap::ExtPillarVotePacketHandler
std::shared_ptr< pillar_chain::PillarChainManagerpillar_chain_manager_
 
- Protected Attributes inherited from taraxa::network::tarcap::PacketHandler
const FullNodeConfigkConf
 
std::shared_ptr< PeersStatepeers_state_ {nullptr}
 
std::shared_ptr< TimePeriodPacketsStatspackets_stats_
 

Constructor & Destructor Documentation

◆ PillarVotePacketHandler()

taraxa::network::tarcap::PillarVotePacketHandler::PillarVotePacketHandler ( const FullNodeConfig conf,
std::shared_ptr< PeersState peers_state,
std::shared_ptr< TimePeriodPacketsStats packets_stats,
std::shared_ptr< pillar_chain::PillarChainManager pillar_chain_manager,
const addr_t node_addr,
const std::string &  logs_prefix 
)

Member Function Documentation

◆ onNewPillarVote()

void taraxa::network::tarcap::PillarVotePacketHandler::onNewPillarVote ( const std::shared_ptr< PillarVote > &  vote,
bool  rebroadcast = false 
)

◆ process()

void taraxa::network::tarcap::PillarVotePacketHandler::process ( const threadpool::PacketData packet_data,
const std::shared_ptr< TaraxaPeer > &  peer 
)
overrideprivatevirtual

Main packet processing function.

Implements taraxa::network::tarcap::PacketHandler.

◆ sendPillarVote()

void taraxa::network::tarcap::PillarVotePacketHandler::sendPillarVote ( const std::shared_ptr< TaraxaPeer > &  peer,
const std::shared_ptr< PillarVote > &  vote 
)

◆ validatePacketRlpFormat()

void taraxa::network::tarcap::PillarVotePacketHandler::validatePacketRlpFormat ( const threadpool::PacketData packet_data) const
overrideprivatevirtual

Validates packet rlp format - items count.

Exceptions
InvalidRlpItemsCountExceptionexception

Implements taraxa::network::tarcap::PacketHandler.

Member Data Documentation

◆ kPacketType_

constexpr SubprotocolPacketType taraxa::network::tarcap::PillarVotePacketHandler::kPacketType_ = SubprotocolPacketType::PillarVotePacket
staticconstexpr

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