21 #ifndef WIFI_ACKNOWLEDGMENT_H 22 #define WIFI_ACKNOWLEDGMENT_H 24 #include "ns3/nstime.h" 92 virtual void Print (std::ostream &os)
const = 0;
126 void Print (std::ostream &os)
const override;
141 void Print (std::ostream &os)
const override;
158 void Print (std::ostream &os)
const;
176 void Print (std::ostream &os)
const;
198 void Print (std::ostream &os)
const override;
242 void Print (std::ostream &os)
const override;
273 void Print (std::ostream &os)
const override;
std::map< Mac48Address, BlockAckInfo > stationsReplyingWithBlockAck
Simulation virtual time values and global simulation resolution.
bool CheckQosAckPolicy(Mac48Address receiver, uint8_t tid, WifiMacHeader::QosAckPolicy ackPolicy) const
Check whether the given QoS Ack policy can be used for the MPDUs addressed to the given receiver and ...
WifiAcknowledgment(Method m)
Constructor.
This class mimics the TXVECTOR which is to be passed to the PHY in order to define the parameters whi...
information related to a BlockAckReq frame sent to a station Set of stations replying with an Ack fra...
virtual void Print(std::ostream &os) const =0
Print the object contents.
WifiTxVector blockAckTxVector
TXVECTOR for the BlockAck frame.
Time acknowledgmentTime
time required by the acknowledgment method
WifiAcknowledgment is an abstract base struct.
WifiDlMuBarBaSequence specifies that a DL MU PPDU is acknowledged through a sequence of BlockAckReq a...
void Print(std::ostream &os) const override
Print the object contents.
uint16_t ulLength
the UL Length field of the MU-BAR Trigger Frames
WifiTxVector ackTxVector
Ack TXVECTOR.
virtual ~WifiAcknowledgment()
std::map< Mac48Address, BlockAckInfo > stationsReplyingWithBlockAck
std::map< std::pair< Mac48Address, uint8_t >, WifiMacHeader::QosAckPolicy > m_ackPolicy
Qos Ack Policy to set for MPDUs addressed to a given receiver and having a given TID.
void Print(std::ostream &os) const
Print the object contents.
virtual bool CheckQosAckPolicy(Mac48Address receiver, uint8_t tid, WifiMacHeader::QosAckPolicy ackPolicy) const =0
Check whether the given QoS Ack policy can be used for the MPDUs addressed to the given receiver and ...
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 ...
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 give...
The different BlockAckRequest variants.
WifiTxVector blockAckReqTxVector
BlockAckReq TXVECTOR.
void Print(std::ostream &os) const override
Print the object contents.
const Method method
acknowledgment method
WifiTxVector muBarTxVector
TXVECTOR used to transmit the MU-BAR Trigger Frame.
BlockAckType baType
BlockAck type.
WifiTxVector blockAckTxVector
TXVECTOR for the BlockAck frame.
information related to a BlockAck frame sent by a station Set of stations replying with a BlockAck fr...
BlockAckType baType
BlockAck type.
std::ostream & operator<<(std::ostream &os, const Angles &a)
information related to a BlockAck frame sent by a station
WifiTxVector blockAckTxVector
TXVECTOR for the BlockAck frame.
CtrlBAckRequestHeader barHeader
BlockAckReq header.
std::map< Mac48Address, BlockAckInfo > stationsReplyingWithBlockAck
Set of stations receiving a BlockAckReq frame and replying with a BlockAck frame. ...
Method
Available acknowledgment methods.
void Print(std::ostream &os) const
Print the object contents.
std::list< BlockAckReqType > barTypes
BAR types.
WifiTxVector blockAckTxVector
BlockAck TXVECTOR.
WifiNoAck specifies that no acknowledgment is required.
void Print(std::ostream &os) const override
Print the object contents.
void Print(std::ostream &os) const override
Print the object contents.
WifiTxVector blockAckTxVector
TXVECTOR for the BlockAck frame.
void Print(std::ostream &os) const override
Print the object contents.
Every class exported by the ns3 library is enclosed in the ns3 namespace.
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 ...
WifiTxVector blockAckTxVector
BlockAck TXVECTOR.
WifiBarBlockAck specifies that a BlockAckReq is sent to solicit a Block Ack response.
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 ...
BlockAckType baType
BlockAck type.
WifiBlockAck specifies that acknowledgment via Block Ack is required.
uint32_t muBarSize
size in bytes of a MU-BAR Trigger Frame
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 ...
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 ...
bool CheckQosAckPolicy(Mac48Address receiver, uint8_t tid, WifiMacHeader::QosAckPolicy ackPolicy) const
Check whether the given QoS Ack policy can be used for the MPDUs addressed to the given receiver and ...
The different BlockAck variants.
WifiTxVector blockAckReqTxVector
TXVECTOR for the BlockAckReq frame.
information related to a BlockAck frame sent by a station Set of stations replying with a BlockAck fr...
BlockAckType baType
BlockAck type.
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 give...
uint16_t ulLength
the UL Length field of the MU-BAR Trigger Frame
WifiTxVector ackTxVector
TXVECTOR for the Ack frame.
BlockAckType baType
BlockAck type.
BlockAckReqType barType
BlockAckReq type.
WifiDlMuAggregateTf specifies that a DL MU PPDU made of PSDUs including each a MU-BAR Trigger Frame i...
BlockAckType baType
BlockAck type.
information related to an Ack frame sent by a station
CtrlBAckRequestHeader barHeader
BlockAckReq header.
BlockAckReqType barType
BlockAckReq type.
WifiNormalAck specifies that acknowledgment via Normal Ack is required.
WifiDlMuTfMuBar specifies that a DL MU PPDU is followed after a SIFS duration by a MU-BAR Trigger Fra...
std::map< Mac48Address, BlockAckReqInfo > stationsSendBlockAckReqTo
std::map< Mac48Address, AckInfo > stationsReplyingWithNormalAck
Set of stations replying with a BlockAck frame (no more than one)