TARAXA
Loading...
Searching...
No Matches
get_pbft_sync_packet_handler.hpp
Go to the documentation of this file.
1#pragma once
2
5
6namespace taraxa {
7class PbftChain;
8class PbftManager;
9class DbStorage;
10class VoteManager;
11} // namespace taraxa
12
14
15class PbftSyncingState;
16
18 public:
19 GetPbftSyncPacketHandler(const FullNodeConfig& conf, std::shared_ptr<PeersState> peers_state,
20 std::shared_ptr<TimePeriodPacketsStats> packets_stats,
21 std::shared_ptr<PbftSyncingState> pbft_syncing_state, std::shared_ptr<PbftManager> pbft_mgr,
22 std::shared_ptr<PbftChain> pbft_chain, std::shared_ptr<VoteManager> vote_mgr,
23 std::shared_ptr<DbStorage> db, const std::string& logs_prefix = "");
24
25 // Packet type that is processed by this handler
27
28 private:
29 virtual void process(const threadpool::PacketData& packet_data, const std::shared_ptr<TaraxaPeer>& peer) override;
30
31 protected:
32 virtual void sendPbftBlocks(const std::shared_ptr<TaraxaPeer>& peer, PbftPeriod from_period,
33 size_t blocks_to_transfer, bool pbft_chain_synced);
34
35 std::shared_ptr<PbftSyncingState> pbft_syncing_state_;
36 std::shared_ptr<PbftManager> pbft_mgr_;
37 std::shared_ptr<PbftChain> pbft_chain_;
38 std::shared_ptr<VoteManager> vote_mgr_;
39 std::shared_ptr<DbStorage> db_;
40};
41
42} // namespace taraxa::network::tarcap
Definition get_pbft_sync_packet_handler.hpp:17
std::shared_ptr< DbStorage > db_
Definition get_pbft_sync_packet_handler.hpp:39
virtual void sendPbftBlocks(const std::shared_ptr< TaraxaPeer > &peer, PbftPeriod from_period, size_t blocks_to_transfer, bool pbft_chain_synced)
Definition get_pbft_sync_packet_handler.cpp:92
std::shared_ptr< PbftChain > pbft_chain_
Definition get_pbft_sync_packet_handler.hpp:37
virtual void process(const threadpool::PacketData &packet_data, const std::shared_ptr< TaraxaPeer > &peer) override
Main packet processing function.
Definition get_pbft_sync_packet_handler.cpp:30
std::shared_ptr< PbftSyncingState > pbft_syncing_state_
Definition get_pbft_sync_packet_handler.hpp:35
std::shared_ptr< VoteManager > vote_mgr_
Definition get_pbft_sync_packet_handler.hpp:38
std::shared_ptr< PbftManager > pbft_mgr_
Definition get_pbft_sync_packet_handler.hpp:36
static constexpr SubprotocolPacketType kPacketType_
Definition get_pbft_sync_packet_handler.hpp:26
Packet handler base class that consists of shared state and some commonly used functions.
Definition packet_handler.hpp:33
Definition packet_data.hpp:12
Definition vote_manager.hpp:24
SubprotocolPacketType
SubprotocolPacketType is used in networking layer to differentiate packet types.
Definition packet_types.hpp:12
@ kGetPbftSyncPacket
Definition packet_types.hpp:29
Definition app.hpp:16
EthBlockNumber PbftPeriod
Definition types.hpp:25
Definition config.hpp:41