WifiDlMuBarBaSequence specifies that a DL MU PPDU is acknowledged through a sequence of BlockAckReq and BlockAck frames. More...
#include "wifi-acknowledgment.h"
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< WifiAcknowledgment > | Copy () 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, BlockAckInfo > | stationsReplyingWithBlockAck |
Set of stations replying with a BlockAck frame (no more than one) | |
std::map< Mac48Address, AckInfo > | stationsReplyingWithNormalAck |
Set of stations replying with an Ack frame (no more than one) | |
std::map< Mac48Address, BlockAckReqInfo > | stationsSendBlockAckReqTo |
Set of stations receiving a BlockAckReq frame and replying with a BlockAck frame. | |
Public Attributes inherited from ns3::WifiAcknowledgment | |
std::optional< Time > | acknowledgmentTime |
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... | |
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.
ns3::WifiDlMuBarBaSequence::WifiDlMuBarBaSequence | ( | ) |
Definition at line 169 of file wifi-acknowledgment.cc.
|
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.
receiver | the MAC address of the receiver |
tid | the TID |
ackPolicy | the QoS Ack policy to use |
Implements ns3::WifiAcknowledgment.
Definition at line 181 of file wifi-acknowledgment.cc.
References ns3::WifiMacHeader::BLOCK_ACK, ns3::WifiMacHeader::NORMAL_ACK, stationsReplyingWithBlockAck, and stationsReplyingWithNormalAck.
|
overridevirtual |
Clone this object.
Implements ns3::WifiAcknowledgment.
Definition at line 175 of file wifi-acknowledgment.cc.
|
overridevirtual |
Print the object contents.
os | output 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.
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().
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().
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().