A Discrete-Event Network Simulator
API
ns3::WifiMacQueueElem Struct Reference

Type of elements stored in a WifiMacQueue container. More...

#include "wifi-mac-queue-elem.h"

+ Collaboration diagram for ns3::WifiMacQueueElem:

Public Member Functions

 WifiMacQueueElem (Ptr< WifiMpdu > item)
 Constructor. More...
 
 ~WifiMacQueueElem ()
 

Public Attributes

AcIndex ac {AC_UNDEF}
 the Access Category associated with the queue storing this element (set by WifiMacQueue) More...
 
Callback< void, Ptr< WifiMpdu > > deleter
 reset the iterator stored by the MPDU More...
 
bool expired {false}
 whether this MPDU has been marked as expired More...
 
Time expiryTime {0}
 expiry time of the MPDU (set by WifiMacQueue) More...
 
std::map< uint8_t, Ptr< WifiMpdu > > inflights
 map of MPDUs in-flight on each link More...
 
Ptr< WifiMpdumpdu
 MPDU stored by this element. More...
 

Detailed Description

Type of elements stored in a WifiMacQueue container.

Such elements can be accessed by the WifiMacQueue (via iterators) and by the WifiMpdu itself (via the iterator it stores).

Data frames transmitted by an 11be MLD must include link addresses as (RA, TA) which are different than the MLD addresses seen by the upper layer. In order to keep the original version of the data frame, we create an alias when a data frame is sent over a link. Aliases are stored in the map of in-flight MPDUs, which is indexed by the ID of the link over which the alias is in-flight. For consistency, also data frame transmitted by non-MLDs have an alias, which is simply a pointer to the original version of the data frame.

Definition at line 50 of file wifi-mac-queue-elem.h.

Constructor & Destructor Documentation

◆ WifiMacQueueElem()

ns3::WifiMacQueueElem::WifiMacQueueElem ( Ptr< WifiMpdu item)

Constructor.

Parameters
itemthe MPDU stored by this queue element

Definition at line 27 of file wifi-mac-queue-elem.cc.

◆ ~WifiMacQueueElem()

ns3::WifiMacQueueElem::~WifiMacQueueElem ( )

Definition at line 35 of file wifi-mac-queue-elem.cc.

References deleter, inflights, and mpdu.

Member Data Documentation

◆ ac

AcIndex ns3::WifiMacQueueElem::ac {AC_UNDEF}

the Access Category associated with the queue storing this element (set by WifiMacQueue)

Definition at line 54 of file wifi-mac-queue-elem.h.

◆ deleter

Callback<void, Ptr<WifiMpdu> > ns3::WifiMacQueueElem::deleter

reset the iterator stored by the MPDU

Definition at line 58 of file wifi-mac-queue-elem.h.

Referenced by ~WifiMacQueueElem().

◆ expired

bool ns3::WifiMacQueueElem::expired {false}

whether this MPDU has been marked as expired

Definition at line 56 of file wifi-mac-queue-elem.h.

◆ expiryTime

Time ns3::WifiMacQueueElem::expiryTime {0}

expiry time of the MPDU (set by WifiMacQueue)

Definition at line 53 of file wifi-mac-queue-elem.h.

◆ inflights

std::map<uint8_t, Ptr<WifiMpdu> > ns3::WifiMacQueueElem::inflights

map of MPDUs in-flight on each link

Definition at line 57 of file wifi-mac-queue-elem.h.

Referenced by ~WifiMacQueueElem().

◆ mpdu

Ptr<WifiMpdu> ns3::WifiMacQueueElem::mpdu

MPDU stored by this element.

Definition at line 52 of file wifi-mac-queue-elem.h.

Referenced by ~WifiMacQueueElem().


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