TARAXA
Loading...
Searching...
No Matches
taraxa::network::tarcap::PacketHandler Class Referenceabstract

Packet handler base class that consists of shared state and some commonly used functions. More...

#include <packet_handler.hpp>

Collaboration diagram for taraxa::network::tarcap::PacketHandler:

Public Member Functions

 PacketHandler (const FullNodeConfig &conf, std::shared_ptr< PeersState > peers_state, std::shared_ptr< TimePeriodPacketsStats > packets_stats, 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) override
 Packet processing function wrapper that logs packet stats and calls process function.
 
- Public Member Functions inherited from taraxa::network::tarcap::BasePacketHandler
 BasePacketHandler ()=default
 
virtual ~BasePacketHandler ()=default
 
 BasePacketHandler (const BasePacketHandler &)=default
 
 BasePacketHandler (BasePacketHandler &&)=default
 
BasePacketHandleroperator= (const BasePacketHandler &)=default
 
BasePacketHandleroperator= (BasePacketHandler &&)=default
 

Protected Member Functions

bool sealAndSend (const dev::p2p::NodeID &node_id, SubprotocolPacketType packet_type, dev::bytes &&rlp_bytes)
 
void disconnect (const dev::p2p::NodeID &node_id, dev::p2p::DisconnectReason reason)
 

Protected Attributes

const FullNodeConfigkConf
 
std::shared_ptr< PeersStatepeers_state_ {nullptr}
 
std::shared_ptr< TimePeriodPacketsStatspackets_stats_
 
logger::Logger logger_
 

Private Member Functions

void handle_caught_exception (std::string_view exception_msg, const threadpool::PacketData &packet_data, const dev::p2p::NodeID &peer, dev::p2p::DisconnectReason disconnect_reason=dev::p2p::DisconnectReason::UserReason, bool set_peer_as_malicious=false)
 
virtual void process (const threadpool::PacketData &packet_data, const std::shared_ptr< TaraxaPeer > &peer)=0
 Main packet processing function.
 

Detailed Description

Packet handler base class that consists of shared state and some commonly used functions.

Constructor & Destructor Documentation

◆ PacketHandler() [1/3]

taraxa::network::tarcap::PacketHandler::PacketHandler ( const FullNodeConfig conf,
std::shared_ptr< PeersState peers_state,
std::shared_ptr< TimePeriodPacketsStats packets_stats,
const std::string &  log_channel_name 
)

◆ ~PacketHandler()

virtual taraxa::network::tarcap::PacketHandler::~PacketHandler ( )
virtualdefault

◆ PacketHandler() [2/3]

taraxa::network::tarcap::PacketHandler::PacketHandler ( const PacketHandler )
default

◆ PacketHandler() [3/3]

taraxa::network::tarcap::PacketHandler::PacketHandler ( PacketHandler &&  )
default

Member Function Documentation

◆ disconnect()

void taraxa::network::tarcap::PacketHandler::disconnect ( const dev::p2p::NodeID node_id,
dev::p2p::DisconnectReason  reason 
)
protected

◆ handle_caught_exception()

void taraxa::network::tarcap::PacketHandler::handle_caught_exception ( std::string_view  exception_msg,
const threadpool::PacketData packet_data,
const dev::p2p::NodeID peer,
dev::p2p::DisconnectReason  disconnect_reason = dev::p2p::DisconnectReason::UserReason,
bool  set_peer_as_malicious = false 
)
private

◆ operator=() [1/2]

PacketHandler & taraxa::network::tarcap::PacketHandler::operator= ( const PacketHandler )
delete

◆ operator=() [2/2]

PacketHandler & taraxa::network::tarcap::PacketHandler::operator= ( PacketHandler &&  )
delete

◆ process()

◆ processPacket()

void taraxa::network::tarcap::PacketHandler::processPacket ( const threadpool::PacketData packet_data)
overridevirtual

Packet processing function wrapper that logs packet stats and calls process function.

Parameters
packet_data

Implements taraxa::network::tarcap::BasePacketHandler.

◆ sealAndSend()

bool taraxa::network::tarcap::PacketHandler::sealAndSend ( const dev::p2p::NodeID node_id,
SubprotocolPacketType  packet_type,
dev::bytes &&  rlp_bytes 
)
protected

Member Data Documentation

◆ kConf

const FullNodeConfig& taraxa::network::tarcap::PacketHandler::kConf
protected

◆ logger_

logger::Logger taraxa::network::tarcap::PacketHandler::logger_
protected

◆ packets_stats_

std::shared_ptr<TimePeriodPacketsStats> taraxa::network::tarcap::PacketHandler::packets_stats_
protected

◆ peers_state_

std::shared_ptr<PeersState> taraxa::network::tarcap::PacketHandler::peers_state_ {nullptr}
protected

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