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

WifiDlMuBarBaSequence specifies that a DL MU PPDU is acknowledged through a sequence of BlockAckReq and BlockAck frames. More...

#include "wifi-acknowledgment.h"

+ Inheritance diagram for ns3::WifiDlMuBarBaSequence:
+ Collaboration diagram for ns3::WifiDlMuBarBaSequence:

Classes

struct  AckInfo
 information related to an Ack frame sent by a station More...
 
struct  BlockAckInfo
 information related to a BlockAck frame sent by a station More...
 
struct  BlockAckReqInfo
 information related to a BlockAckReq frame sent to a station More...
 

Public Member Functions

 WifiDlMuBarBaSequence ()
 
bool CheckQosAckPolicy (Mac48Address receiver, uint8_t tid, WifiMacHeader::QosAckPolicy ackPolicy) const override
 Check whether the given QoS Ack policy can be used for the MPDUs addressed to the given receiver and belonging to the given TID.
 
std::unique_ptr< WifiAcknowledgmentCopy () const override
 Clone this object.
 
void Print (std::ostream &os) const override
 Print the object contents.
 
- Public Member Functions inherited from ns3::WifiAcknowledgment
 WifiAcknowledgment (Method m)
 Constructor.
 
virtual ~WifiAcknowledgment ()
 
WifiMacHeader::QosAckPolicy GetQosAckPolicy (Mac48Address receiver, uint8_t tid) const
 Get the QoS Ack policy to use for the MPDUs addressed to the given receiver and belonging to the given TID.
 
void SetQosAckPolicy (Mac48Address receiver, uint8_t tid, WifiMacHeader::QosAckPolicy ackPolicy)
 Set the QoS Ack policy to use for the MPDUs addressed to the given receiver and belonging to the given TID.
 

Public Attributes

std::map< Mac48Address, BlockAckInfostationsReplyingWithBlockAck
 Set of stations replying with a BlockAck frame (no more than one)
 
std::map< Mac48Address, AckInfostationsReplyingWithNormalAck
 Set of stations replying with an Ack frame (no more than one)
 
std::map< Mac48Address, BlockAckReqInfostationsSendBlockAckReqTo
 Set of stations receiving a BlockAckReq frame and replying with a BlockAck frame.
 
- Public Attributes inherited from ns3::WifiAcknowledgment
std::optional< TimeacknowledgmentTime
 time required by the acknowledgment method
 
const Method method
 acknowledgment method
 

Additional Inherited Members

- Public Types inherited from ns3::WifiAcknowledgment
enum  Method {
  NONE = 0 , NORMAL_ACK , BLOCK_ACK , BAR_BLOCK_ACK ,
  DL_MU_BAR_BA_SEQUENCE , DL_MU_TF_MU_BAR , DL_MU_AGGREGATE_TF , UL_MU_MULTI_STA_BA ,
  ACK_AFTER_TB_PPDU
}
 Available acknowledgment methods. More...
 

Detailed Description

WifiDlMuBarBaSequence specifies that a DL MU PPDU is acknowledged through a sequence of BlockAckReq and BlockAck frames.

Only one station may be allowed to reply a SIFS after the DL MU PPDU by sending either a Normal Ack or a BlockAck.

Definition at line 196 of file wifi-acknowledgment.h.

Constructor & Destructor Documentation

◆ WifiDlMuBarBaSequence()

ns3::WifiDlMuBarBaSequence::WifiDlMuBarBaSequence ( )

Definition at line 169 of file wifi-acknowledgment.cc.

Member Function Documentation

◆ CheckQosAckPolicy()

bool ns3::WifiDlMuBarBaSequence::CheckQosAckPolicy ( Mac48Address receiver,
uint8_t tid,
WifiMacHeader::QosAckPolicy ackPolicy ) const
overridevirtual

Check whether the given QoS Ack policy can be used for the MPDUs addressed to the given receiver and belonging to the given TID.

Parameters
receiverthe MAC address of the receiver
tidthe TID
ackPolicythe QoS Ack policy to use
Returns
true if the given QoS Ack policy can be used, false otherwise

Implements ns3::WifiAcknowledgment.

Definition at line 181 of file wifi-acknowledgment.cc.

References ns3::WifiMacHeader::BLOCK_ACK, ns3::WifiMacHeader::NORMAL_ACK, stationsReplyingWithBlockAck, and stationsReplyingWithNormalAck.

◆ Copy()

std::unique_ptr< WifiAcknowledgment > ns3::WifiDlMuBarBaSequence::Copy ( ) const
overridevirtual

Clone this object.

Returns
a pointer to the cloned object

Implements ns3::WifiAcknowledgment.

Definition at line 175 of file wifi-acknowledgment.cc.

◆ Print()

void ns3::WifiDlMuBarBaSequence::Print ( std::ostream & os) const
overridevirtual

Print the object contents.

Parameters
osoutput stream in which the data should be printed.

Implements ns3::WifiAcknowledgment.

Definition at line 207 of file wifi-acknowledgment.cc.

References stationsReplyingWithBlockAck, stationsReplyingWithNormalAck, and stationsSendBlockAckReqTo.

Member Data Documentation

◆ stationsReplyingWithBlockAck

std::map<Mac48Address, BlockAckInfo> ns3::WifiDlMuBarBaSequence::stationsReplyingWithBlockAck

Set of stations replying with a BlockAck frame (no more than one)

Definition at line 231 of file wifi-acknowledgment.h.

Referenced by CheckQosAckPolicy(), ns3::WifiDefaultAckManager::GetAckInfoIfBarBaSequence(), and Print().

◆ stationsReplyingWithNormalAck

std::map<Mac48Address, AckInfo> ns3::WifiDlMuBarBaSequence::stationsReplyingWithNormalAck

Set of stations replying with an Ack frame (no more than one)

Definition at line 229 of file wifi-acknowledgment.h.

Referenced by CheckQosAckPolicy(), ns3::WifiDefaultAckManager::GetAckInfoIfBarBaSequence(), Print(), and ns3::MultiUserScheduler::RemoveRecipientsFromDlMu().

◆ stationsSendBlockAckReqTo

std::map<Mac48Address, BlockAckReqInfo> ns3::WifiDlMuBarBaSequence::stationsSendBlockAckReqTo

Set of stations receiving a BlockAckReq frame and replying with a BlockAck frame.

Definition at line 233 of file wifi-acknowledgment.h.

Referenced by ns3::WifiDefaultAckManager::GetAckInfoIfBarBaSequence(), and Print().


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