|
A Discrete-Event Network Simulator
|
API
|
Go to the documentation of this file.
21 #ifndef WIFI_ACKNOWLEDGMENT_H
22 #define WIFI_ACKNOWLEDGMENT_H
24 #include "ns3/nstime.h"
74 virtual std::unique_ptr<WifiAcknowledgment>
Copy (
void)
const = 0;
101 virtual void Print (std::ostream &os)
const = 0;
133 std::unique_ptr<WifiAcknowledgment>
Copy (
void)
const override;
135 void Print (std::ostream &os)
const override;
148 std::unique_ptr<WifiAcknowledgment>
Copy (
void)
const override;
150 void Print (std::ostream &os)
const override;
165 std::unique_ptr<WifiAcknowledgment>
Copy (
void)
const override;
167 void Print (std::ostream &os)
const override;
183 std::unique_ptr<WifiAcknowledgment>
Copy (
void)
const override;
185 void Print (std::ostream &os)
const override;
205 std::unique_ptr<WifiAcknowledgment>
Copy (
void)
const override;
207 void Print (std::ostream &os)
const override;
249 std::unique_ptr<WifiAcknowledgment>
Copy (
void)
const override;
251 void Print (std::ostream &os)
const override;
280 std::unique_ptr<WifiAcknowledgment>
Copy (
void)
const override;
282 void Print (std::ostream &os)
const override;
309 std::unique_ptr<WifiAcknowledgment>
Copy (
void)
const override;
311 void Print (std::ostream &os)
const override;
334 std::unique_ptr<WifiAcknowledgment>
Copy (
void)
const override;
336 void Print (std::ostream &os)
const override;
information related to a BlockAck frame sent by a station
std::unique_ptr< WifiAcknowledgment > Copy(void) const override
Clone this object.
WifiUlMuMultiStaBa specifies that a Basic Trigger Frame is being sent to solicit TB PPDUs that will b...
Time acknowledgmentTime
time required by the acknowledgment method
void Print(std::ostream &os) const override
Print the object contents.
std::unique_ptr< WifiAcknowledgment > Copy(void) const override
Clone this object.
WifiTxVector blockAckTxVector
TXVECTOR for the BlockAck frame.
void Print(std::ostream &os) const override
Print the object contents.
void Print(std::ostream &os) const override
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 ...
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 ...
WifiBlockAck specifies that acknowledgment via Block Ack is required.
std::map< Mac48Address, BlockAckReqInfo > stationsSendBlockAckReqTo
Set of stations receiving a BlockAckReq frame and replying with a BlockAck frame.
std::map< Mac48Address, BlockAckInfo > stationsReplyingWithBlockAck
Set of stations replying with a BlockAck frame.
information related to an Ack frame sent by a station
WifiAcknowledgment(Method m)
Constructor.
information related to a BlockAckReq frame sent to a station
void Print(std::ostream &os) const override
Print the object contents.
std::list< BlockAckReqType > barTypes
BAR types.
std::map< Mac48Address, BlockAckInfo > stationsReplyingWithBlockAck
Set of stations replying with a BlockAck frame (no more than one)
WifiDlMuAggregateTf specifies that a DL MU PPDU made of PSDUs including each a MU-BAR Trigger Frame i...
WifiAckAfterTbPpdu is used when a station prepares a TB PPDU to send in response to a Basic Trigger F...
This class mimics the TXVECTOR which is to be passed to the PHY in order to define the parameters whi...
void Print(std::ostream &os) const override
Print the object contents.
WifiTxVector ackTxVector
Ack TXVECTOR.
BlockAckReqType barType
BlockAckReq type.
std::unique_ptr< WifiAcknowledgment > Copy(void) const override
Clone this object.
BlockAckType baType
BlockAck type.
void Print(std::ostream &os) const override
Print the object contents.
virtual ~WifiAcknowledgment()
WifiTxVector ackTxVector
TXVECTOR for the Ack frame.
std::unique_ptr< WifiAcknowledgment > Copy(void) const override
Clone this object.
BlockAckType baType
BlockAck type.
WifiBarBlockAck specifies that a BlockAckReq is sent to solicit a Block Ack response.
CtrlBAckRequestHeader barHeader
BlockAckReq header.
uint32_t muBarSize
size in bytes of a MU-BAR Trigger Frame
WifiTxVector blockAckReqTxVector
TXVECTOR for the BlockAckReq frame.
The different BlockAckRequest variants.
void Print(std::ostream &os) const override
Print the object contents.
std::unique_ptr< WifiAcknowledgment > Copy(void) const override
Clone this object.
BlockAckReqType barType
BlockAckReq type.
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 ...
WifiDlMuTfMuBar specifies that a DL MU PPDU is followed after a SIFS duration by a MU-BAR Trigger Fra...
The different BlockAck variants.
WifiNormalAck specifies that acknowledgment via Normal Ack is required.
WifiTxVector muBarTxVector
TXVECTOR used to transmit the MU-BAR Trigger Frame.
std::unique_ptr< WifiAcknowledgment > Copy(void) const override
Clone this object.
void Print(std::ostream &os) const override
Print the object contents.
std::unique_ptr< WifiAcknowledgment > Copy(void) const override
Clone this object.
WifiTxVector tbPpduTxVector
TXVECTOR for a TB PPDU.
Simulation virtual time values and global simulation resolution.
uint16_t ulLength
the UL Length field of the MU-BAR Trigger Frame
information related to a BlockAck frame sent by a station
virtual std::unique_ptr< WifiAcknowledgment > Copy(void) const =0
Clone this object.
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 ...
std::map< Mac48Address, BlockAckInfo > stationsReplyingWithBlockAck
Set of stations replying with a BlockAck frame.
std::unique_ptr< WifiAcknowledgment > Copy(void) const override
Clone this object.
WifiDlMuBarBaSequence specifies that a DL MU PPDU is acknowledged through a sequence of BlockAckReq a...
WifiTxVector blockAckReqTxVector
BlockAckReq TXVECTOR.
information related to a BlockAck frame sent by a station
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.
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 ...
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...
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.
WifiAcknowledgment is an abstract base struct.
WifiNoAck specifies that no acknowledgment is required.
WifiTxVector multiStaBaTxVector
TXVECTOR for the Multi-STA BlockAck.
CtrlBAckRequestHeader barHeader
BlockAckReq header.
virtual void Print(std::ostream &os) const =0
Print the object contents.
WifiTxVector blockAckTxVector
TXVECTOR for the BlockAck frame.
std::map< Mac48Address, AckInfo > stationsReplyingWithNormalAck
Set of stations replying with an Ack frame (no more than one)
WifiTxVector blockAckTxVector
TXVECTOR for the BlockAck 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 ...
Method
Available acknowledgment methods.
std::unique_ptr< WifiAcknowledgment > Copy(void) const override
Clone this object.
std::map< std::pair< Mac48Address, uint8_t >, std::size_t > stationsReceivingMultiStaBa
Map (originator, tid) pairs to the their index in baType.
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.
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...
WifiTxVector blockAckTxVector
TXVECTOR for the BlockAck frame.
const Method method
acknowledgment method
std::ostream & operator<<(std::ostream &os, const Angles &a)
BlockAckType baType
BlockAck type.
BlockAckType baType
BlockAck type.
WifiTxVector blockAckTxVector
BlockAck TXVECTOR.
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 ...
uint16_t ulLength
the UL Length field of the MU-BAR Trigger Frames
BlockAckType baType
BlockAck type.
void Print(std::ostream &os) const override
Print the object contents.
BlockAckType baType
BlockAck type.