TARAXA
get_dag_sync_packet_handler.hpp
Go to the documentation of this file.
1 #pragma once
2 
5 
6 namespace taraxa {
7 class DagManager;
8 class DbStorage;
9 class TransactionManager;
10 } // namespace taraxa
11 
12 namespace taraxa::network::tarcap {
13 
15  public:
16  GetDagSyncPacketHandler(const FullNodeConfig& conf, std::shared_ptr<PeersState> peers_state,
17  std::shared_ptr<TimePeriodPacketsStats> packets_stats,
18  std::shared_ptr<TransactionManager> trx_mgr, std::shared_ptr<DagManager> dag_mgr,
19  std::shared_ptr<DbStorage> db, const addr_t& node_addr,
20  const std::string& logs_prefix = "GET_DAG_SYNC_PH");
21 
22  void sendBlocks(const dev::p2p::NodeID& peer_id, std::vector<std::shared_ptr<DagBlock>>&& blocks,
23  SharedTransactions&& transactions, PbftPeriod request_period, PbftPeriod period);
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  protected:
33  std::shared_ptr<TransactionManager> trx_mgr_;
34  std::shared_ptr<DagManager> dag_mgr_;
35  std::shared_ptr<DbStorage> db_;
36 };
37 
38 } // namespace taraxa::network::tarcap
Definition: FixedHash.h:35
Definition: get_dag_sync_packet_handler.hpp:14
void sendBlocks(const dev::p2p::NodeID &peer_id, std::vector< std::shared_ptr< DagBlock >> &&blocks, SharedTransactions &&transactions, PbftPeriod request_period, PbftPeriod period)
Definition: get_dag_sync_packet_handler.cpp:65
virtual void process(const threadpool::PacketData &packet_data, const std::shared_ptr< TaraxaPeer > &peer) override
Main packet processing function.
Definition: get_dag_sync_packet_handler.cpp:24
GetDagSyncPacketHandler(const FullNodeConfig &conf, std::shared_ptr< PeersState > peers_state, std::shared_ptr< TimePeriodPacketsStats > packets_stats, std::shared_ptr< TransactionManager > trx_mgr, std::shared_ptr< DagManager > dag_mgr, std::shared_ptr< DbStorage > db, const addr_t &node_addr, const std::string &logs_prefix="GET_DAG_SYNC_PH")
Definition: get_dag_sync_packet_handler.cpp:8
std::shared_ptr< DagManager > dag_mgr_
Definition: get_dag_sync_packet_handler.hpp:34
virtual void validatePacketRlpFormat(const threadpool::PacketData &packet_data) const override
Validates packet rlp format - items count.
Definition: get_dag_sync_packet_handler.cpp:18
std::shared_ptr< DbStorage > db_
Definition: get_dag_sync_packet_handler.hpp:35
static constexpr SubprotocolPacketType kPacketType_
Definition: get_dag_sync_packet_handler.hpp:26
std::shared_ptr< TransactionManager > trx_mgr_
Definition: get_dag_sync_packet_handler.hpp:33
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
@ GetDagSyncPacket
Definition: packet_types.hpp:31
Definition: config.hpp:8
EthBlockNumber PbftPeriod
Definition: types.hpp:24
std::vector< SharedTransaction > SharedTransactions
Definition: transaction.hpp:81
Definition: config.hpp:24