TARAXA
pillar_vote_packet_handler.hpp
Go to the documentation of this file.
1 #pragma once
2 
4 
5 namespace taraxa::network::tarcap {
6 
8  public:
9  PillarVotePacketHandler(const FullNodeConfig& conf, std::shared_ptr<PeersState> peers_state,
10  std::shared_ptr<TimePeriodPacketsStats> packets_stats,
11  std::shared_ptr<pillar_chain::PillarChainManager> pillar_chain_manager,
12  const addr_t& node_addr, const std::string& logs_prefix);
13 
14  void onNewPillarVote(const std::shared_ptr<PillarVote>& vote, bool rebroadcast = false);
15  void sendPillarVote(const std::shared_ptr<TaraxaPeer>& peer, const std::shared_ptr<PillarVote>& vote);
16 
17  // Packet type that is processed by this handler
19 
20  private:
21  virtual void validatePacketRlpFormat(const threadpool::PacketData& packet_data) const override;
22  virtual void process(const threadpool::PacketData& packet_data, const std::shared_ptr<TaraxaPeer>& peer) override;
23 };
24 
25 } // namespace taraxa::network::tarcap
Definition: FixedHash.h:35
Definition: ext_pillar_vote_packet_handler.hpp:21
Definition: pillar_vote_packet_handler.hpp:7
virtual void process(const threadpool::PacketData &packet_data, const std::shared_ptr< TaraxaPeer > &peer) override
Main packet processing function.
Definition: pillar_vote_packet_handler.cpp:21
void onNewPillarVote(const std::shared_ptr< PillarVote > &vote, bool rebroadcast=false)
Definition: pillar_vote_packet_handler.cpp:36
virtual void validatePacketRlpFormat(const threadpool::PacketData &packet_data) const override
Validates packet rlp format - items count.
Definition: pillar_vote_packet_handler.cpp:14
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)
Definition: pillar_vote_packet_handler.cpp:7
void sendPillarVote(const std::shared_ptr< TaraxaPeer > &peer, const std::shared_ptr< PillarVote > &vote)
Definition: pillar_vote_packet_handler.cpp:52
static constexpr SubprotocolPacketType kPacketType_
Definition: pillar_vote_packet_handler.hpp:18
Definition: packet_data.hpp:12
Definition: vote_manager.hpp:23
SubprotocolPacketType
SubprotocolPacketType is used in networking layer to differentiate packet types.
Definition: packet_types.hpp:12
@ PillarVotePacket
Definition: packet_types.hpp:32
Definition: config.hpp:24