TARAXA
Loading...
Searching...
No Matches
taraxa::network::tarcap::TransactionPacketHandler Class Reference

#include <transaction_packet_handler.hpp>

Collaboration diagram for taraxa::network::tarcap::TransactionPacketHandler:

Public Member Functions

 TransactionPacketHandler (const FullNodeConfig &conf, std::shared_ptr< PeersState > peers_state, std::shared_ptr< TimePeriodPacketsStats > packets_stats, std::shared_ptr< TransactionManager > trx_mgr, const std::string &logs_prefix="")
 
void sendTransactions (std::shared_ptr< TaraxaPeer > peer, std::pair< SharedTransactions, std::vector< trx_hash_t > > &&transactions) override
 Send transactions.
 
- Public Member Functions inherited from taraxa::network::tarcap::ITransactionPacketHandler
 ITransactionPacketHandler (const FullNodeConfig &conf, std::shared_ptr< PeersState > peers_state, std::shared_ptr< TimePeriodPacketsStats > packets_stats, const std::string &log_channel_name)
 
void periodicSendTransactions (std::vector< SharedTransactions > &&transactions)
 Sends batch of transactions to all connected peers.
 
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
 
- 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 std::string &log_channel_name)
 
virtual ~PacketHandler ()=default
 
 PacketHandler (const PacketHandler &)=default
 
 PacketHandler (PacketHandler &&)=default
 
PacketHandleroperator= (const PacketHandler &)=delete
 
PacketHandleroperator= (PacketHandler &&)=delete
 
void processPacket (const threadpool::PacketData &packet_data) override
 Packet processing function wrapper that logs packet stats and calls process function.
 
- Public Member Functions inherited from taraxa::network::tarcap::BasePacketHandler
 BasePacketHandler ()=default
 
virtual ~BasePacketHandler ()=default
 
 BasePacketHandler (const BasePacketHandler &)=default
 
 BasePacketHandler (BasePacketHandler &&)=default
 
BasePacketHandleroperator= (const BasePacketHandler &)=default
 
BasePacketHandleroperator= (BasePacketHandler &&)=default
 

Static Public Attributes

static constexpr SubprotocolPacketType kPacketType_ = SubprotocolPacketType::kTransactionPacket
 

Protected Attributes

std::shared_ptr< TransactionManagertrx_mgr_
 
std::atomic< uint64_t > received_trx_count_ {0}
 
std::atomic< uint64_t > unique_received_trx_count_ {0}
 
- Protected Attributes inherited from taraxa::network::tarcap::PacketHandler
const FullNodeConfigkConf
 
std::shared_ptr< PeersStatepeers_state_ {nullptr}
 
std::shared_ptr< TimePeriodPacketsStatspackets_stats_
 
logger::Logger logger_
 

Private Member Functions

virtual void process (const threadpool::PacketData &packet_data, const std::shared_ptr< TaraxaPeer > &peer) override
 Main packet processing function.
 

Additional Inherited Members

- Protected Member Functions inherited from taraxa::network::tarcap::PacketHandler
bool sealAndSend (const dev::p2p::NodeID &node_id, SubprotocolPacketType packet_type, dev::bytes &&rlp_bytes)
 
void disconnect (const dev::p2p::NodeID &node_id, dev::p2p::DisconnectReason reason)
 

Constructor & Destructor Documentation

◆ TransactionPacketHandler()

taraxa::network::tarcap::TransactionPacketHandler::TransactionPacketHandler ( const FullNodeConfig conf,
std::shared_ptr< PeersState peers_state,
std::shared_ptr< TimePeriodPacketsStats packets_stats,
std::shared_ptr< TransactionManager trx_mgr,
const std::string &  logs_prefix = "" 
)

Member Function Documentation

◆ process()

void taraxa::network::tarcap::TransactionPacketHandler::process ( const threadpool::PacketData packet_data,
const std::shared_ptr< TaraxaPeer > &  peer 
)
inlineoverrideprivatevirtual

Main packet processing function.

Implements taraxa::network::tarcap::PacketHandler.

◆ sendTransactions()

void taraxa::network::tarcap::TransactionPacketHandler::sendTransactions ( std::shared_ptr< TaraxaPeer peer,
std::pair< SharedTransactions, std::vector< trx_hash_t > > &&  transactions 
)
overridevirtual

Send transactions.

Parameters
peerpeer to send transactions to
transactionsserialized transactions

Implements taraxa::network::tarcap::ITransactionPacketHandler.

Member Data Documentation

◆ kPacketType_

constexpr SubprotocolPacketType taraxa::network::tarcap::TransactionPacketHandler::kPacketType_ = SubprotocolPacketType::kTransactionPacket
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: