TARAXA
Loading...
Searching...
No Matches
transaction_packet_handler.hpp
Go to the documentation of this file.
1#pragma once
2
5
7
9 public:
10 ITransactionPacketHandler(const FullNodeConfig& conf, std::shared_ptr<PeersState> peers_state,
11 std::shared_ptr<TimePeriodPacketsStats> packets_stats, const std::string& log_channel_name);
12
19 void periodicSendTransactions(std::vector<SharedTransactions>&& transactions);
20
28 virtual void sendTransactions(std::shared_ptr<TaraxaPeer> peer,
29 std::pair<SharedTransactions, std::vector<trx_hash_t>>&& transactions) = 0;
30
37 std::vector<std::pair<std::shared_ptr<TaraxaPeer>, std::pair<SharedTransactions, std::vector<trx_hash_t>>>>
38 transactionsToSendToPeers(std::vector<SharedTransactions>&& transactions);
39
40 private:
49 std::pair<uint32_t, std::pair<SharedTransactions, std::vector<trx_hash_t>>> transactionsToSendToPeer(
50 std::shared_ptr<TaraxaPeer> peer, const std::vector<SharedTransactions>& transactions,
51 uint32_t account_start_index);
52};
53
54} // namespace taraxa::network::tarcap
Definition transaction_packet_handler.hpp:8
std::vector< std::pair< std::shared_ptr< TaraxaPeer >, std::pair< SharedTransactions, std::vector< trx_hash_t > > > > transactionsToSendToPeers(std::vector< SharedTransactions > &&transactions)
select which transactions and hashes to send to which connected peer
Definition transaction_packet_handler.cpp:25
virtual void sendTransactions(std::shared_ptr< TaraxaPeer > peer, std::pair< SharedTransactions, std::vector< trx_hash_t > > &&transactions)=0
Send transactions.
std::pair< uint32_t, std::pair< SharedTransactions, std::vector< trx_hash_t > > > transactionsToSendToPeer(std::shared_ptr< TaraxaPeer > peer, const std::vector< SharedTransactions > &transactions, uint32_t account_start_index)
select which transactions and hashes to send to peer
Definition transaction_packet_handler.cpp:56
void periodicSendTransactions(std::vector< SharedTransactions > &&transactions)
Sends batch of transactions to all connected peers.
Definition transaction_packet_handler.cpp:11
Packet handler base class that consists of shared state and some commonly used functions.
Definition packet_handler.hpp:33
Definition vote_manager.hpp:24
std::vector< SharedTransaction > SharedTransactions
Definition transaction.hpp:86
Definition config.hpp:41