#include <transaction_packet_handler.hpp>
|
| TransactionPacketHandler (const FullNodeConfig &conf, std::shared_ptr< PeersState > peers_state, std::shared_ptr< TimePeriodPacketsStats > packets_stats, std::shared_ptr< TransactionManager > trx_mgr, const addr_t &node_addr, const std::string &logs_prefix="TRANSACTION_PH") |
|
void | sendTransactions (std::shared_ptr< TaraxaPeer > peer, std::pair< SharedTransactions, std::vector< trx_hash_t >> &&transactions) |
| Send transactions. More...
|
|
void | periodicSendTransactions (std::vector< SharedTransactions > &&transactions) |
| Sends batch of transactions to all connected peers. More...
|
|
Public Member Functions inherited from taraxa::network::tarcap::PacketHandler |
| PacketHandler (const FullNodeConfig &conf, std::shared_ptr< PeersState > peers_state, std::shared_ptr< TimePeriodPacketsStats > packets_stats, const addr_t &node_addr, const std::string &log_channel_name) |
|
virtual | ~PacketHandler ()=default |
|
| PacketHandler (const PacketHandler &)=default |
|
| PacketHandler (PacketHandler &&)=default |
|
PacketHandler & | operator= (const PacketHandler &)=delete |
|
PacketHandler & | operator= (PacketHandler &&)=delete |
|
void | processPacket (const threadpool::PacketData &packet_data) |
| Packet processing function wrapper that logs packet stats and calls process function. More...
|
|
void | requestPbftNextVotesAtPeriodRound (const dev::p2p::NodeID &peerID, PbftPeriod pbft_period, PbftRound pbft_round) |
|
|
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 More...
|
|
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 More...
|
|
Protected Member Functions inherited from taraxa::network::tarcap::PacketHandler |
void | checkPacketRlpIsList (const threadpool::PacketData &packet_data) const |
| Checks if packet rlp is a list, if not it throws InvalidRlpItemsCountException. More...
|
|
bool | sealAndSend (const dev::p2p::NodeID &nodeID, SubprotocolPacketType packet_type, dev::RLPStream &&rlp) |
|
void | disconnect (const dev::p2p::NodeID &node_id, dev::p2p::DisconnectReason reason) |
|
◆ TransactionPacketHandler()
◆ periodicSendTransactions()
void taraxa::network::tarcap::TransactionPacketHandler::periodicSendTransactions |
( |
std::vector< SharedTransactions > && |
transactions | ) |
|
Sends batch of transactions to all connected peers.
- Note
- This method is used as periodic event to broadcast transactions to the other peers in network
- Parameters
-
◆ process()
|
inlineoverrideprivatevirtual |
◆ sendTransactions()
Send transactions.
- Parameters
-
peer | peer to send transactions to |
transactions | serialized transactions |
◆ transactionsToSendToPeer()
std::pair< uint32_t, std::pair< SharedTransactions, std::vector< trx_hash_t > > > taraxa::network::tarcap::TransactionPacketHandler::transactionsToSendToPeer |
( |
std::shared_ptr< TaraxaPeer > |
peer, |
|
|
const std::vector< SharedTransactions > & |
transactions, |
|
|
uint32_t |
account_start_index |
|
) |
| |
|
protected |
select which transactions and hashes to send to peer
- Parameters
-
peer | |
transactions | grouped per account to be sent |
account_start_index | which account to start with |
- Returns
- index of the next account to continue and selected transactions and hashes to be sent per peer
◆ transactionsToSendToPeers()
select which transactions and hashes to send to which connected peer
- Parameters
-
- Returns
- selected transactions and hashes to be sent per peer
◆ validatePacketRlpFormat()
void taraxa::network::tarcap::TransactionPacketHandler::validatePacketRlpFormat |
( |
const threadpool::PacketData & |
packet_data | ) |
const |
|
overrideprivatevirtual |
◆ kPacketType_
constexpr SubprotocolPacketType taraxa::network::tarcap::TransactionPacketHandler::kPacketType_ = SubprotocolPacketType::TransactionPacket |
|
staticconstexpr |
◆ kTransactionPacketItemCount
constexpr uint32_t taraxa::network::tarcap::TransactionPacketHandler::kTransactionPacketItemCount = 2 |
|
staticconstexpr |
◆ received_trx_count_
std::atomic<uint64_t> taraxa::network::tarcap::TransactionPacketHandler::received_trx_count_ {0} |
|
protected |
◆ trx_mgr_
std::shared_ptr<TransactionManager> taraxa::network::tarcap::TransactionPacketHandler::trx_mgr_ |
|
protected |
◆ unique_received_trx_count_
std::atomic<uint64_t> taraxa::network::tarcap::TransactionPacketHandler::unique_received_trx_count_ {0} |
|
protected |
The documentation for this class was generated from the following files: