A Discrete-Event Network Simulator
API
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. More...
 
std::unique_ptr< WifiAcknowledgmentCopy (void) const override
 Clone this object. More...
 
void Print (std::ostream &os) const override
 Print the object contents. More...
 
- Public Member Functions inherited from ns3::WifiAcknowledgment
 WifiAcknowledgment (Method m)
 Constructor. More...
 
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. More...
 
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. More...
 

Public Attributes

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

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 201 of file wifi-acknowledgment.h.

Constructor & Destructor Documentation

◆ WifiDlMuBarBaSequence()

ns3::WifiDlMuBarBaSequence::WifiDlMuBarBaSequence ( )

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

Referenced by Copy().

+ Here is the caller graph for this function:

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 201 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 ( void  ) const
overridevirtual

Clone this object.

Returns
a pointer to the cloned object

Implements ns3::WifiAcknowledgment.

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

References WifiDlMuBarBaSequence().

+ Here is the call graph for this function:

◆ 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 231 of file wifi-acknowledgment.cc.

References stationsReplyingWithBlockAck, stationsReplyingWithNormalAck, and stationsSendBlockAckReqTo.

Member Data Documentation

◆ stationsReplyingWithBlockAck

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

◆ stationsReplyingWithNormalAck

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

◆ stationsSendBlockAckReqTo

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

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

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

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


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