TARAXA
Loading...
Searching...
No Matches
ext_syncing_packet_handler.hpp
Go to the documentation of this file.
1#pragma once
2
3#include "dag/dag_manager.hpp"
5#include "packet_handler.hpp"
6#include "pbft/pbft_chain.hpp"
8
9namespace taraxa {
10class PbftManager;
11} // namespace taraxa
12
14
20 public:
21 ExtSyncingPacketHandler(const FullNodeConfig &conf, std::shared_ptr<PeersState> peers_state,
22 std::shared_ptr<TimePeriodPacketsStats> packets_stats,
23 std::shared_ptr<PbftSyncingState> pbft_syncing_state, std::shared_ptr<PbftChain> pbft_chain,
24 std::shared_ptr<PbftManager> pbft_mgr, std::shared_ptr<DagManager> dag_mgr,
25 std::shared_ptr<DbStorage> db, const std::string &log_channel_name);
26
27 virtual ~ExtSyncingPacketHandler() = default;
30
31 void requestDagBlocks(const dev::p2p::NodeID &_nodeID, std::vector<blk_hash_t> &&blocks, PbftPeriod period);
32 void requestPendingDagBlocks(std::shared_ptr<TaraxaPeer> peer = nullptr);
33
34 protected:
35 std::shared_ptr<PbftSyncingState> pbft_syncing_state_{nullptr};
36
37 std::shared_ptr<PbftChain> pbft_chain_{nullptr};
38 std::shared_ptr<PbftManager> pbft_mgr_{nullptr};
39 std::shared_ptr<DagManager> dag_mgr_{nullptr};
40 std::shared_ptr<DbStorage> db_{nullptr};
41};
42
43} // namespace taraxa::network::tarcap
ExtSyncingPacketHandler is extended abstract PacketHandler with added functions that are used in pack...
Definition ext_syncing_packet_handler.hpp:19
std::shared_ptr< DbStorage > db_
Definition ext_syncing_packet_handler.hpp:40
std::shared_ptr< PbftSyncingState > pbft_syncing_state_
Definition ext_syncing_packet_handler.hpp:35
std::shared_ptr< DagManager > dag_mgr_
Definition ext_syncing_packet_handler.hpp:39
void requestDagBlocks(const dev::p2p::NodeID &_nodeID, std::vector< blk_hash_t > &&blocks, PbftPeriod period)
Definition ext_syncing_packet_handler.cpp:71
std::shared_ptr< PbftManager > pbft_mgr_
Definition ext_syncing_packet_handler.hpp:38
ExtSyncingPacketHandler & operator=(const ExtSyncingPacketHandler &)=delete
std::shared_ptr< PbftChain > pbft_chain_
Definition ext_syncing_packet_handler.hpp:37
ExtSyncingPacketHandler & operator=(ExtSyncingPacketHandler &&)=delete
void requestPendingDagBlocks(std::shared_ptr< TaraxaPeer > peer=nullptr)
Definition ext_syncing_packet_handler.cpp:25
Packet handler base class that consists of shared state and some commonly used functions.
Definition packet_handler.hpp:33
Definition vote_manager.hpp:24
Definition app.hpp:16
EthBlockNumber PbftPeriod
Definition types.hpp:25
Definition config.hpp:41