TARAXA
Loading...
Searching...
No Matches
pbft_blocks_bundle_packet_handler.hpp
Go to the documentation of this file.
1#pragma once
2
4
5namespace taraxa {
6class PbftManager;
7namespace final_chain {
8class FinalChain;
9}
10
11} // namespace taraxa
12
14
15class PbftSyncingState;
16
18 public:
19 PbftBlocksBundlePacketHandler(const FullNodeConfig& conf, std::shared_ptr<PeersState> peers_state,
20 std::shared_ptr<TimePeriodPacketsStats> packets_stats,
21 std::shared_ptr<PbftManager> pbft_mgr,
22 std::shared_ptr<final_chain::FinalChain> final_chain,
23 std::shared_ptr<PbftSyncingState> syncing_state, const addr_t& node_addr,
24 const std::string& logs_prefix = "");
25
26 // Packet type that is processed by this handler
28 static constexpr size_t kMaxBlocksInPacket = 10;
29
30 private:
31 virtual void process(const threadpool::PacketData& packet_data, const std::shared_ptr<TaraxaPeer>& peer) override;
32
33 std::shared_ptr<PbftManager> pbft_mgr_;
34 std::shared_ptr<final_chain::FinalChain> final_chain_;
35 std::shared_ptr<PbftSyncingState> pbft_syncing_state_;
36};
37
38} // namespace taraxa::network::tarcap
Definition FixedHash.h:35
Packet handler base class that consists of shared state and some commonly used functions.
Definition packet_handler.hpp:33
Definition pbft_blocks_bundle_packet_handler.hpp:17
std::shared_ptr< PbftManager > pbft_mgr_
Definition pbft_blocks_bundle_packet_handler.hpp:33
std::shared_ptr< final_chain::FinalChain > final_chain_
Definition pbft_blocks_bundle_packet_handler.hpp:34
static constexpr SubprotocolPacketType kPacketType_
Definition pbft_blocks_bundle_packet_handler.hpp:27
virtual void process(const threadpool::PacketData &packet_data, const std::shared_ptr< TaraxaPeer > &peer) override
Main packet processing function.
Definition pbft_blocks_bundle_packet_handler.cpp:23
std::shared_ptr< PbftSyncingState > pbft_syncing_state_
Definition pbft_blocks_bundle_packet_handler.hpp:35
static constexpr size_t kMaxBlocksInPacket
Definition pbft_blocks_bundle_packet_handler.hpp:28
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
@ kPbftBlocksBundlePacket
Definition packet_types.hpp:35
Definition app.hpp:16
Definition config.hpp:40