TARAXA
taraxa::network::threadpool::PacketsBlockingMask Class Reference

#include <packets_blocking_mask.hpp>

Collaboration diagram for taraxa::network::threadpool::PacketsBlockingMask:

Public Member Functions

void markPacketAsHardBlocked (const PacketData &blocking_packet, SubprotocolPacketType packet_type_to_block)
 
void markPacketAsHardUnblocked (const PacketData &blocking_packet, SubprotocolPacketType packet_type_to_unblock)
 
void markPacketAsPeerOrderBlocked (const PacketData &blocking_packet, SubprotocolPacketType packet_type_to_block)
 
void markPacketAsPeerOrderUnblocked (const PacketData &blocking_packet, SubprotocolPacketType packet_type_to_unblock)
 
void setDagBlockLevelBeingProcessed (const PacketData &packet)
 
void unsetDagBlockLevelBeingProcessed (const PacketData &packet)
 
void setDagBlockBeingProcessed (const PacketData &packet)
 
void unsetDagBlockBeingProcessed (const PacketData &packet)
 
bool isPacketBlocked (const PacketData &packet_data) const
 

Private Member Functions

bool isPacketHardBlocked (const PacketData &packet_data) const
 
bool isPacketPeerOrderBlocked (const PacketData &packet_data) const
 
bool isDagBlockPacketBlockedByLevel (const PacketData &packet_data) const
 
bool isDagBlockPacketBlockedBySameDagBlock (const PacketData &packet_data) const
 
dev::RLP dagBlockFromDagPacket (const PacketData &packet_data) const
 
std::optional< taraxa::level_tgetSmallestDagLevelBeingProcessed () const
 

Private Attributes

std::unordered_map< SubprotocolPacketType, std::unordered_set< PacketData::PacketId > > hard_blocked_packet_types_
 
std::unordered_map< SubprotocolPacketType, std::unordered_map< dev::p2p::NodeID, std::set< PacketData::PacketId > > > peer_order_blocked_packet_types_
 
std::map< taraxa::level_t, std::unordered_set< PacketData::PacketId > > processing_dag_levels_
 
std::map< taraxa::sig_t, PacketData::PacketIdprocessing_dag_blocks_
 

Static Private Attributes

static constexpr size_t kRequiredDagPacketSizeV3 = 2
 
static constexpr size_t kDagBlockPosV3 = 1
 
static constexpr size_t kRequiredDagPacketSizeV2 = 8
 

Member Function Documentation

◆ dagBlockFromDagPacket()

dev::RLP taraxa::network::threadpool::PacketsBlockingMask::dagBlockFromDagPacket ( const PacketData packet_data) const
private

◆ getSmallestDagLevelBeingProcessed()

std::optional< taraxa::level_t > taraxa::network::threadpool::PacketsBlockingMask::getSmallestDagLevelBeingProcessed ( ) const
private

◆ isDagBlockPacketBlockedByLevel()

bool taraxa::network::threadpool::PacketsBlockingMask::isDagBlockPacketBlockedByLevel ( const PacketData packet_data) const
private

◆ isDagBlockPacketBlockedBySameDagBlock()

bool taraxa::network::threadpool::PacketsBlockingMask::isDagBlockPacketBlockedBySameDagBlock ( const PacketData packet_data) const
private

◆ isPacketBlocked()

bool taraxa::network::threadpool::PacketsBlockingMask::isPacketBlocked ( const PacketData packet_data) const

◆ isPacketHardBlocked()

bool taraxa::network::threadpool::PacketsBlockingMask::isPacketHardBlocked ( const PacketData packet_data) const
private

◆ isPacketPeerOrderBlocked()

bool taraxa::network::threadpool::PacketsBlockingMask::isPacketPeerOrderBlocked ( const PacketData packet_data) const
private

◆ markPacketAsHardBlocked()

void taraxa::network::threadpool::PacketsBlockingMask::markPacketAsHardBlocked ( const PacketData blocking_packet,
SubprotocolPacketType  packet_type_to_block 
)

◆ markPacketAsHardUnblocked()

void taraxa::network::threadpool::PacketsBlockingMask::markPacketAsHardUnblocked ( const PacketData blocking_packet,
SubprotocolPacketType  packet_type_to_unblock 
)

◆ markPacketAsPeerOrderBlocked()

void taraxa::network::threadpool::PacketsBlockingMask::markPacketAsPeerOrderBlocked ( const PacketData blocking_packet,
SubprotocolPacketType  packet_type_to_block 
)

◆ markPacketAsPeerOrderUnblocked()

void taraxa::network::threadpool::PacketsBlockingMask::markPacketAsPeerOrderUnblocked ( const PacketData blocking_packet,
SubprotocolPacketType  packet_type_to_unblock 
)

◆ setDagBlockBeingProcessed()

void taraxa::network::threadpool::PacketsBlockingMask::setDagBlockBeingProcessed ( const PacketData packet)

◆ setDagBlockLevelBeingProcessed()

void taraxa::network::threadpool::PacketsBlockingMask::setDagBlockLevelBeingProcessed ( const PacketData packet)

◆ unsetDagBlockBeingProcessed()

void taraxa::network::threadpool::PacketsBlockingMask::unsetDagBlockBeingProcessed ( const PacketData packet)

◆ unsetDagBlockLevelBeingProcessed()

void taraxa::network::threadpool::PacketsBlockingMask::unsetDagBlockLevelBeingProcessed ( const PacketData packet)

Member Data Documentation

◆ hard_blocked_packet_types_

std::unordered_map<SubprotocolPacketType, std::unordered_set<PacketData::PacketId> > taraxa::network::threadpool::PacketsBlockingMask::hard_blocked_packet_types_
private

◆ kDagBlockPosV3

constexpr size_t taraxa::network::threadpool::PacketsBlockingMask::kDagBlockPosV3 = 1
staticconstexprprivate

◆ kRequiredDagPacketSizeV2

constexpr size_t taraxa::network::threadpool::PacketsBlockingMask::kRequiredDagPacketSizeV2 = 8
staticconstexprprivate

◆ kRequiredDagPacketSizeV3

constexpr size_t taraxa::network::threadpool::PacketsBlockingMask::kRequiredDagPacketSizeV3 = 2
staticconstexprprivate

◆ peer_order_blocked_packet_types_

std::unordered_map<SubprotocolPacketType, std::unordered_map<dev::p2p::NodeID, std::set<PacketData::PacketId> > > taraxa::network::threadpool::PacketsBlockingMask::peer_order_blocked_packet_types_
private

◆ processing_dag_blocks_

std::map<taraxa::sig_t, PacketData::PacketId> taraxa::network::threadpool::PacketsBlockingMask::processing_dag_blocks_
private

◆ processing_dag_levels_

std::map<taraxa::level_t, std::unordered_set<PacketData::PacketId> > taraxa::network::threadpool::PacketsBlockingMask::processing_dag_levels_
private

The documentation for this class was generated from the following files: