TARAXA
votes_bundle_packet_handler.hpp
Go to the documentation of this file.
1 #pragma once
2 
4 
5 namespace taraxa::network::tarcap {
6 
8  public:
9  VotesBundlePacketHandler(const FullNodeConfig& conf, std::shared_ptr<PeersState> peers_state,
10  std::shared_ptr<TimePeriodPacketsStats> packets_stats, std::shared_ptr<PbftManager> pbft_mgr,
11  std::shared_ptr<PbftChain> pbft_chain, std::shared_ptr<VoteManager> vote_mgr,
12  std::shared_ptr<SlashingManager> slashing_manager, const addr_t& node_addr,
13  const std::string& logs_prefix = "");
14 
22  void onNewPbftVotesBundle(const std::vector<std::shared_ptr<PbftVote>>& votes, bool rebroadcast = false,
23  const std::optional<dev::p2p::NodeID>& exclude_node = {});
24 
25  // Packet type that is processed by this handler
27 
28  private:
29  virtual void validatePacketRlpFormat(const threadpool::PacketData& packet_data) const override;
30  virtual void process(const threadpool::PacketData& packet_data, const std::shared_ptr<TaraxaPeer>& peer) override;
31 };
32 
33 } // namespace taraxa::network::tarcap
Definition: FixedHash.h:35
ExtVotesPacketHandler is extended abstract PacketHandler with added functions that are used in packet...
Definition: ext_votes_packet_handler.hpp:20
Definition: votes_bundle_packet_handler.hpp:7
virtual void process(const threadpool::PacketData &packet_data, const std::shared_ptr< TaraxaPeer > &peer) override
Main packet processing function.
Definition: votes_bundle_packet_handler.cpp:33
void onNewPbftVotesBundle(const std::vector< std::shared_ptr< PbftVote >> &votes, bool rebroadcast=false, const std::optional< dev::p2p::NodeID > &exclude_node={})
Sends pbft votes bundle to connected peers.
Definition: votes_bundle_packet_handler.cpp:100
static constexpr SubprotocolPacketType kPacketType_
Definition: votes_bundle_packet_handler.hpp:26
VotesBundlePacketHandler(const FullNodeConfig &conf, std::shared_ptr< PeersState > peers_state, std::shared_ptr< TimePeriodPacketsStats > packets_stats, std::shared_ptr< PbftManager > pbft_mgr, std::shared_ptr< PbftChain > pbft_chain, std::shared_ptr< VoteManager > vote_mgr, std::shared_ptr< SlashingManager > slashing_manager, const addr_t &node_addr, const std::string &logs_prefix="")
Definition: votes_bundle_packet_handler.cpp:9
virtual void validatePacketRlpFormat(const threadpool::PacketData &packet_data) const override
Validates packet rlp format - items count.
Definition: votes_bundle_packet_handler.cpp:20
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
@ VotesBundlePacket
Definition: packet_types.hpp:17
Definition: config.hpp:24