20template <
class PacketType>
22 return util::rlp_dec<PacketType>(packet_rlp);
25template <
class PacketType>
36 std::shared_ptr<TimePeriodPacketsStats> packets_stats,
const addr_t& node_addr,
37 const std::string& log_channel_name);
57 bool set_peer_as_malicious =
false);
Definition FixedHash.h:35
Base Packet handler base class that consists processPacket function.
Definition base_packet_handler.hpp:13
Packet handler base class that consists of shared state and some commonly used functions.
Definition packet_handler.hpp:33
PacketHandler(PacketHandler &&)=default
const FullNodeConfig & kConf
Definition packet_handler.hpp:70
std::shared_ptr< TimePeriodPacketsStats > packets_stats_
Definition packet_handler.hpp:75
void disconnect(const dev::p2p::NodeID &node_id, dev::p2p::DisconnectReason reason)
Definition packet_handler.cpp:115
PacketHandler(const PacketHandler &)=default
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)
Definition packet_handler.cpp:67
bool sealAndSend(const dev::p2p::NodeID &node_id, SubprotocolPacketType packet_type, dev::bytes &&rlp_bytes)
Definition packet_handler.cpp:81
std::shared_ptr< PeersState > peers_state_
Definition packet_handler.hpp:72
virtual ~PacketHandler()=default
void processPacket(const threadpool::PacketData &packet_data) override
Packet processing function wrapper that logs packet stats and calls process function.
Definition packet_handler.cpp:14
virtual void process(const threadpool::PacketData &packet_data, const std::shared_ptr< TaraxaPeer > &peer)=0
Main packet processing function.
PacketHandler & operator=(const PacketHandler &)=delete
PacketHandler & operator=(PacketHandler &&)=delete
Definition packet_data.hpp:12
#define LOG_OBJECTS_DEFINE
Definition logger.hpp:60
DisconnectReason
Definition Common.h:85
@ UserReason
Definition Common.h:98
std::vector<::byte > bytes
Definition Common.h:46
Definition vote_manager.hpp:23
dev::bytes encodePacketRlp(PacketType packet)
Definition packet_handler.hpp:26
PacketType decodePacketRlp(const dev::RLP &packet_rlp)
Definition packet_handler.hpp:21
SubprotocolPacketType
SubprotocolPacketType is used in networking layer to differentiate packet types.
Definition packet_types.hpp:12
dev::bytes const & rlp_enc(RLPEncoderRef encoder_to_reuse, T const &obj)
Definition encoding_rlp.hpp:193