TARAXA
get_pillar_votes_bundle_packet_handler.hpp
Go to the documentation of this file.
1 #pragma once
2 
5 
6 namespace taraxa::network::tarcap {
7 
9  public:
10  GetPillarVotesBundlePacketHandler(const FullNodeConfig& conf, std::shared_ptr<PeersState> peers_state,
11  std::shared_ptr<TimePeriodPacketsStats> packets_stats,
12  std::shared_ptr<pillar_chain::PillarChainManager> pillar_chain_manager,
13  const addr_t& node_addr, const std::string& logs_prefix);
14 
15  void requestPillarVotesBundle(PbftPeriod period, const blk_hash_t& pillar_block_hash,
16  const std::shared_ptr<TaraxaPeer>& peer);
17 
18  // Packet type that is processed by this handler
20 
21  private:
22  virtual void validatePacketRlpFormat(const threadpool::PacketData& packet_data) const override;
23  virtual void process(const threadpool::PacketData& packet_data, const std::shared_ptr<TaraxaPeer>& peer) override;
24 
25  protected:
26  constexpr static size_t kGetPillarVotesBundlePacketSize{2};
27 
28  std::shared_ptr<pillar_chain::PillarChainManager> pillar_chain_manager_;
29 };
30 
31 } // namespace taraxa::network::tarcap
Definition: FixedHash.h:35
Definition: get_pillar_votes_bundle_packet_handler.hpp:8
GetPillarVotesBundlePacketHandler(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: get_pillar_votes_bundle_packet_handler.cpp:5
static constexpr SubprotocolPacketType kPacketType_
Definition: get_pillar_votes_bundle_packet_handler.hpp:19
void requestPillarVotesBundle(PbftPeriod period, const blk_hash_t &pillar_block_hash, const std::shared_ptr< TaraxaPeer > &peer)
Definition: get_pillar_votes_bundle_packet_handler.cpp:61
virtual void process(const threadpool::PacketData &packet_data, const std::shared_ptr< TaraxaPeer > &peer) override
Main packet processing function.
Definition: get_pillar_votes_bundle_packet_handler.cpp:21
constexpr static size_t kGetPillarVotesBundlePacketSize
Definition: get_pillar_votes_bundle_packet_handler.hpp:26
std::shared_ptr< pillar_chain::PillarChainManager > pillar_chain_manager_
Definition: get_pillar_votes_bundle_packet_handler.hpp:28
virtual void validatePacketRlpFormat(const threadpool::PacketData &packet_data) const override
Validates packet rlp format - items count.
Definition: get_pillar_votes_bundle_packet_handler.cpp:14
Packet handler base class that consists of shared state and some commonly used functions.
Definition: packet_handler.hpp:25
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
@ GetPillarVotesBundlePacket
Definition: packet_types.hpp:33
EthBlockNumber PbftPeriod
Definition: types.hpp:24
Definition: config.hpp:24