EMANE  1.2.1
EMANE::Models::TDMA::PacketStatusPublisher Class Referenceabstract

Packet status interface used to publish statistics and tables showing accepted and rejected byte counts along with reasons. More...

#include <packetstatuspublisher.h>

Inheritance diagram for EMANE::Models::TDMA::PacketStatusPublisher:
EMANE::Models::TDMA::PacketStatusPublisherImpl

Public Types

enum  InboundAction {
  InboundAction::ACCEPT_GOOD, InboundAction::DROP_BAD_CONTROL, InboundAction::DROP_SLOT_NOT_RX, InboundAction::DROP_SLOT_MISSED_RX,
  InboundAction::DROP_MISS_FRAGMENT, InboundAction::DROP_SPECTRUM_SERVICE, InboundAction::DROP_SINR, InboundAction::DROP_REGISTRATION_ID,
  InboundAction::DROP_DESTINATION_MAC, InboundAction::DROP_TOO_LONG, InboundAction::DROP_FREQUENCY
}
 
enum  OutboundAction { OutboundAction::ACCEPT_GOOD, OutboundAction::DROP_TOO_BIG, OutboundAction::DROP_OVERFLOW, OutboundAction::DROP_FLOW_CONTROL }
 

Public Member Functions

virtual ~PacketStatusPublisher ()
 
virtual void inbound (NEMId src, const MessageComponent &component, InboundAction action)=0
 
virtual void inbound (NEMId src, const MessageComponents &components, InboundAction action)=0
 
virtual void inbound (NEMId src, NEMId dst, Priority priority, size_t size, InboundAction action)=0
 
virtual void outbound (NEMId src, NEMId dst, Priority priority, size_t size, OutboundAction action)=0
 
virtual void outbound (NEMId src, const MessageComponents &components, OutboundAction action)=0
 

Protected Member Functions

 PacketStatusPublisher ()
 

Detailed Description

Packet status interface used to publish statistics and tables showing accepted and rejected byte counts along with reasons.

Definition at line 51 of file packetstatuspublisher.h.

Member Enumeration Documentation

◆ InboundAction

Inbound packet (upstream) status codes

Enumerator
ACCEPT_GOOD 

Accepted and sent upstream

DROP_BAD_CONTROL 

Dropped bad control message

DROP_SLOT_NOT_RX 

Dropped received slot not rx slot

DROP_SLOT_MISSED_RX 

Dropped received late

DROP_MISS_FRAGMENT 

Dropped one or more fragments missing

DROP_SPECTRUM_SERVICE 

Dropped due to Spectrum service query error

DROP_SINR 

Dropped due to SINR

DROP_REGISTRATION_ID 

Dropped not for this radio model

DROP_DESTINATION_MAC 

Dropped not for this NEM

DROP_TOO_LONG 

Dropped packet propagation plus duration more than a slot

DROP_FREQUENCY 

Dropped packet frequency wrong for slot

Definition at line 62 of file packetstatuspublisher.h.

◆ OutboundAction

OUtbound packet (downstream> status codes

Enumerator
ACCEPT_GOOD 

Accepted and sent downstream

DROP_TOO_BIG 

Dropped too big and fragmentation disabled

DROP_OVERFLOW 

Dropped queue overflow

DROP_FLOW_CONTROL 

Dropped flow control error

Definition at line 80 of file packetstatuspublisher.h.

Constructor & Destructor Documentation

◆ ~PacketStatusPublisher()

virtual EMANE::Models::TDMA::PacketStatusPublisher::~PacketStatusPublisher ( )
inlinevirtual

Destroys an instance.

Definition at line 57 of file packetstatuspublisher.h.

◆ PacketStatusPublisher()

EMANE::Models::TDMA::PacketStatusPublisher::PacketStatusPublisher ( )
inlineprotected

Creates an instance

Definition at line 155 of file packetstatuspublisher.h.

Member Function Documentation

◆ inbound() [1/3]

virtual void EMANE::Models::TDMA::PacketStatusPublisher::inbound ( NEMId  src,
const MessageComponent component,
InboundAction  action 
)
pure virtual

Records status of inbound message components

Parameters
srcNEM message source
componentMessageComponent entry
actionAction status code

Implemented in EMANE::Models::TDMA::PacketStatusPublisherImpl.

◆ inbound() [2/3]

virtual void EMANE::Models::TDMA::PacketStatusPublisher::inbound ( NEMId  src,
const MessageComponents components,
InboundAction  action 
)
pure virtual

Records status of inbound message components

Parameters
srcNEM message source
componentsMessageComponent entries
actionAction status code

Implemented in EMANE::Models::TDMA::PacketStatusPublisherImpl.

◆ inbound() [3/3]

virtual void EMANE::Models::TDMA::PacketStatusPublisher::inbound ( NEMId  src,
NEMId  dst,
Priority  priority,
size_t  size,
InboundAction  action 
)
pure virtual

Records status of inbound message components

Parameters
srcNEM message source
dstNEM message destination
priorityMessage priority
sizeMessage size in bytes
actionAction status code

Implemented in EMANE::Models::TDMA::PacketStatusPublisherImpl.

◆ outbound() [1/2]

virtual void EMANE::Models::TDMA::PacketStatusPublisher::outbound ( NEMId  src,
NEMId  dst,
Priority  priority,
size_t  size,
OutboundAction  action 
)
pure virtual

Records status of outbound message components

Parameters
srcNEM message source
dstNEM message destination
priorityMessage priority
sizeMessage size in bytes
actionAction status code

Implemented in EMANE::Models::TDMA::PacketStatusPublisherImpl.

◆ outbound() [2/2]

virtual void EMANE::Models::TDMA::PacketStatusPublisher::outbound ( NEMId  src,
const MessageComponents components,
OutboundAction  action 
)
pure virtual

Records status of outbound message components

Parameters
srcNEM message source
componentsMessageComponent entries
actionAction status code

Implemented in EMANE::Models::TDMA::PacketStatusPublisherImpl.


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