6 #include <boost/noncopyable.hpp>
Stats single packet type.
Definition: packet_stats.hpp:13
Stats for all packet types.
Definition: packets_stats.hpp:13
Definition: taraxa_peer.hpp:14
bool requestDagSyncingAllowed() const
Check if it is allowed to receive dag syncing request.
Definition: taraxa_peer.cpp:67
bool markPbftVoteAsKnown(const vote_hash_t &hash)
Mark pbft vote as known.
Definition: taraxa_peer.cpp:31
void resetPacketsStats()
Resets sent packets stats.
Definition: taraxa_peer.cpp:82
std::string address_
Definition: taraxa_peer.hpp:128
std::atomic_uint64_t peer_dag_synced_time_
Definition: taraxa_peer.hpp:122
std::atomic< PbftPeriod > pbft_chain_size_
Definition: taraxa_peer.hpp:117
bool dagSyncingAllowed() const
Check if it is allowed to send dag syncing request.
Definition: taraxa_peer.cpp:60
std::atomic< uint64_t > suspicious_packet_count_
Definition: taraxa_peer.hpp:143
const uint64_t kDagSyncingLimit
Definition: taraxa_peer.hpp:147
bool isPillarVoteKnown(const vote_hash_t &hash) const
Definition: taraxa_peer.cpp:43
ExpirationBlockNumberCache< trx_hash_t > known_transactions_
Definition: taraxa_peer.hpp:137
std::atomic_bool peer_dag_synced_
Definition: taraxa_peer.hpp:121
bool isPbftBlockKnown(const blk_hash_t &hash) const
Definition: taraxa_peer.cpp:39
ExpirationBlockNumberCache< vote_hash_t > known_votes_
Definition: taraxa_peer.hpp:140
bool markDagBlockAsKnown(const blk_hash_t &hash)
Mark dag block as known.
Definition: taraxa_peer.cpp:19
ExpirationBlockNumberCache< blk_hash_t > known_dag_blocks_
Definition: taraxa_peer.hpp:136
ExpirationBlockNumberCache< blk_hash_t > known_pbft_blocks_
Definition: taraxa_peer.hpp:139
std::atomic_uint64_t peer_requested_dag_syncing_time_
Definition: taraxa_peer.hpp:125
std::atomic_bool peer_light_node
Definition: taraxa_peer.hpp:126
std::atomic< bool > syncing_
Definition: taraxa_peer.hpp:115
bool markPbftBlockAsKnown(const blk_hash_t &hash)
Mark pbft block as known.
Definition: taraxa_peer.cpp:35
bool isTransactionKnown(const trx_hash_t &hash) const
Definition: taraxa_peer.cpp:29
dev::p2p::NodeID id_
Definition: taraxa_peer.hpp:134
void resetKnownCaches()
Resets known caches - used for testing.
Definition: taraxa_peer.cpp:84
std::atomic< uint64_t > dag_level_
Definition: taraxa_peer.hpp:116
const dev::p2p::NodeID & getId() const
Definition: taraxa_peer.cpp:45
std::atomic_bool peer_requested_dag_syncing_
Definition: taraxa_peer.hpp:124
void addSentPacket(const std::string &packet_type, const PacketStats &packet)
Adds packet to the stats.
Definition: taraxa_peer.cpp:74
std::pair< std::chrono::system_clock::time_point, PacketStats > getAllPacketsStatsCopy() const
Definition: taraxa_peer.cpp:78
bool reportSuspiciousPacket()
Reports suspicious pacet.
Definition: taraxa_peer.cpp:47
const uint64_t kMaxSuspiciousPacketPerMinute
Definition: taraxa_peer.hpp:144
bool markPillarVoteAsKnown(const vote_hash_t &hash)
Mark pillar block vote as known.
Definition: taraxa_peer.cpp:41
std::atomic< PbftRound > pbft_round_
Definition: taraxa_peer.hpp:119
std::atomic< PbftPeriod > last_status_pbft_chain_size_
Definition: taraxa_peer.hpp:120
bool markTransactionAsKnown(const trx_hash_t &hash)
Mark transaction as known.
Definition: taraxa_peer.cpp:25
PacketsStats sent_packets_stats_
Definition: taraxa_peer.hpp:150
std::atomic< uint64_t > timestamp_suspicious_packet_
Definition: taraxa_peer.hpp:142
boost::shared_mutex mutex_for_sending_dag_blocks_
Definition: taraxa_peer.hpp:131
std::atomic< PbftPeriod > peer_light_node_history
Definition: taraxa_peer.hpp:127
std::atomic< PbftPeriod > pbft_period_
Definition: taraxa_peer.hpp:118
std::atomic_bool peer_dag_syncing_
Definition: taraxa_peer.hpp:123
TaraxaPeer()
Definition: taraxa_peer.cpp:5
bool isPbftVoteKnown(const vote_hash_t &hash) const
Definition: taraxa_peer.cpp:33
bool isDagBlockKnown(const blk_hash_t &hash) const
Definition: taraxa_peer.cpp:23
Definition: vote_manager.hpp:23