TARAXA
Loading...
Searching...
No Matches
get_dag_sync_packet_handler.hpp
Go to the documentation of this file.
1#pragma once
2
6
7namespace taraxa {
8class DagManager;
9class DbStorage;
10class TransactionManager;
11} // namespace taraxa
12
14
16 public:
17 GetDagSyncPacketHandler(const FullNodeConfig& conf, std::shared_ptr<PeersState> peers_state,
18 std::shared_ptr<TimePeriodPacketsStats> packets_stats,
19 std::shared_ptr<TransactionManager> trx_mgr, std::shared_ptr<DagManager> dag_mgr,
20 std::shared_ptr<DbStorage> db, const std::string& logs_prefix = "");
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 process(const threadpool::PacketData& packet_data, const std::shared_ptr<TaraxaPeer>& peer) override;
30
31 protected:
32 std::shared_ptr<TransactionManager> trx_mgr_;
33 std::shared_ptr<DagManager> dag_mgr_;
34 std::shared_ptr<DbStorage> db_;
35};
36
37} // namespace taraxa::network::tarcap
Definition get_dag_sync_packet_handler.hpp:15
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:61
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:19
std::shared_ptr< DagManager > dag_mgr_
Definition get_dag_sync_packet_handler.hpp:33
std::shared_ptr< DbStorage > db_
Definition get_dag_sync_packet_handler.hpp:34
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:32
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
@ kGetDagSyncPacket
Definition packet_types.hpp:31
Definition app.hpp:16
EthBlockNumber PbftPeriod
Definition types.hpp:25
std::vector< SharedTransaction > SharedTransactions
Definition transaction.hpp:86
Definition config.hpp:41