33 #ifndef EMANEMODELSTDMAPACKETSTATUSPUBLISHERIMPL_HEADER_ 34 #define EMANEMODELSTDMAPACKETSTATUSPUBLISHERIMPL_HEADER_ 88 enum {QUEUE_COUNT = 5};
90 using PacketAcceptInfo = std::map<
NEMId,std::tuple<std::uint64_t,
93 using PacketDropInfo = std::map<
NEMId,std::tuple<std::uint64_t,
106 using TableArray = std::array<StatisticTable<NEMId> *,QUEUE_COUNT>;
108 TableArray broadcastAcceptTables_;
109 TableArray broadcastDropTables_;
111 TableArray unicastAcceptTables_;
112 TableArray unicastDropTables_;
114 using AcceptInfoArrary = std::array<PacketAcceptInfo,QUEUE_COUNT>;
115 using DropInfoArrary = std::array<PacketDropInfo,QUEUE_COUNT>;
117 AcceptInfoArrary broadcastAcceptInfos_;
118 DropInfoArrary broadcastDropInfos_;
120 AcceptInfoArrary unicastAcceptInfos_;
121 DropInfoArrary unicastDropInfos_;
123 std::mutex mutexBroadcastPacketAcceptTable_;
124 std::mutex mutexUnicastPacketAcceptTable_;
125 std::mutex mutexBroadcastPacketDropTable_;
126 std::mutex mutexUnicastPacketDropTable_;
132 #endif // EMANEMODELSTDMAPACKETSTATUSPUBLISHERIMPL_HEADER_
void outbound(NEMId src, NEMId dst, Priority priority, size_t size, OutboundAction action) override
void inbound(NEMId src, const MessageComponent &component, InboundAction action) override
The StatisticRegistrar allows NEM layers to register statistics and statistic tables. Statistics and Statistic tables are owned by the emulator framework and a borrowed reference is returned to the registering NEM layer.
std::list< MessageComponent > MessageComponents
~PacketStatusPublisherImpl()
Packet status interface used to publish statistics and tables showing accepted and rejected byte coun...
PacketStatusPublisherImpl()
Implementation of PacketStatusPublisher.
void registerStatistics(StatisticRegistrar ®istrar)
Holds a message component that may be all or part of a data or control message.