A Discrete-Event Network Simulator
API
Loading...
Searching...
No Matches
ns3::WifiContainerQueueId Struct Reference

Structure identifying a container queue. More...

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

Collaboration diagram for ns3::WifiContainerQueueId:

Public Member Functions

 WifiContainerQueueId (WifiContainerQueueType type, WifiRcvAddr addrType, std::optional< Mac48Address > addr1, std::optional< Mac48Address > addr2, std::optional< tid_t > tid)
 Constructor.
auto operator<=> (const WifiContainerQueueId &rhs) const =default
 Three-way comparison operator.

Public Attributes

std::optional< Mac48Addressaddr1
 the receiver address for unicast and groupcast queues, or nullopt otherwise
std::optional< Mac48Addressaddr2
 the transmitter address for broadcast and groupcast queues, or nullopt otherwise
WifiRcvAddr addrType
 the type of receiver address
std::optional< tid_ttid
 the TID for QoS data queues, or nullopt otherwise
WifiContainerQueueType type
 the container queue type

Detailed Description

Structure identifying a container queue.

  • for container queue types holding unicast frames, the Receiver Address (RA) of the frames stored in the queue needs to be specified. For 11be MLDs, it is expected that:
    • the RA of unicast management frames are link addresses (indicating the link on which they must be sent)
    • the RA of unicast QoS data frames are MLD addresses (indicating that they can be sent on any link)
    • if the RA of a unicast control frame is a link address, that control frame can only be sent on the corresponding link; if the RA is an MLD address, that control frame can be sent on any link
  • for container queue types holding broadcast frames, the Transmitter Address (TA) of the frames stored in the queue needs to be specified. For 11be MLDs, it is expected that:
    • the TA of broadcast management frames are link addresses (indicating the link on which they must be sent)
    • the TA of broadcast QoS data frames are MLD addresses (indicating that they can be sent on any link)
    • if the TA of a broadcast control frame is a link address, that control frame can only be sent on the corresponding link; if the TA is an MLD address, that control frame can be sent on any link
  • for container queue types holding groupcast frames, both the RA and TA of the frames stored in the queue need to be specified. The RA is used to identify the group address, while the TA is used to identify the link on which the frames must be sent (and is always a link address).

The TID is only specified for container queue types holding QoS data frames.

Definition at line 89 of file wifi-mac-queue-container.h.

Constructor & Destructor Documentation

◆ WifiContainerQueueId()

ns3::WifiContainerQueueId::WifiContainerQueueId ( WifiContainerQueueType type,
WifiRcvAddr addrType,
std::optional< Mac48Address > addr1,
std::optional< Mac48Address > addr2,
std::optional< tid_t > tid )
inline

Constructor.

Parameters
typethe container queue type
addrTypethe type of receiver address (unicast, broadcast, or groupcast)
addr1the RA for unicast and groupcast queues, or nullopt otherwise
addr2the TA for broadcast and groupcast queues, or nullopt otherwise
tidthe TID for QoS data queues, or nullopt otherwise

Definition at line 99 of file wifi-mac-queue-container.h.

References addr1, addr2, addrType, tid, and type.

Referenced by operator<=>().

Here is the caller graph for this function:

Member Function Documentation

◆ operator<=>()

auto ns3::WifiContainerQueueId::operator<=> ( const WifiContainerQueueId & rhs) const
default

Three-way comparison operator.

Parameters
rhsright hand side
Returns
deduced comparison type

References WifiContainerQueueId().

Here is the call graph for this function:

Member Data Documentation

◆ addr1

std::optional<Mac48Address> ns3::WifiContainerQueueId::addr1

the receiver address for unicast and groupcast queues, or nullopt otherwise

Definition at line 122 of file wifi-mac-queue-container.h.

Referenced by WifiContainerQueueId(), std::hash< ns3::WifiContainerQueueId >::operator()(), and ns3::operator<<().

◆ addr2

std::optional<Mac48Address> ns3::WifiContainerQueueId::addr2

the transmitter address for broadcast and groupcast queues, or nullopt otherwise

Definition at line 124 of file wifi-mac-queue-container.h.

Referenced by WifiContainerQueueId(), std::hash< ns3::WifiContainerQueueId >::operator()(), and ns3::operator<<().

◆ addrType

WifiRcvAddr ns3::WifiContainerQueueId::addrType

the type of receiver address

Definition at line 121 of file wifi-mac-queue-container.h.

Referenced by WifiContainerQueueId(), std::hash< ns3::WifiContainerQueueId >::operator()(), and ns3::operator<<().

◆ tid

std::optional<tid_t> ns3::WifiContainerQueueId::tid

the TID for QoS data queues, or nullopt otherwise

Definition at line 126 of file wifi-mac-queue-container.h.

Referenced by WifiContainerQueueId(), std::hash< ns3::WifiContainerQueueId >::operator()(), and ns3::operator<<().

◆ type

WifiContainerQueueType ns3::WifiContainerQueueId::type

the container queue type

Definition at line 120 of file wifi-mac-queue-container.h.

Referenced by WifiContainerQueueId(), std::hash< ns3::WifiContainerQueueId >::operator()(), and ns3::operator<<().


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