9#ifndef ADVANCED_AP_EMLSR_MANAGER_H
10#define ADVANCED_AP_EMLSR_MANAGER_H
14#include "ns3/nstime.h"
AdvancedApEmlsrManager is an advanced AP EMLSR manager.
bool m_updateCwAfterFailedIcf
Whether the AP MLD shall double the CW upon CTS timeout.
bool m_reportFailedIcf
Whether the AP MLD shall report an ICF failure to the remote station manager when all the clients sol...
void DoSetWifiMac(Ptr< ApWifiMac > mac) override
Allow subclasses to take actions when the MAC is set.
void ReceivedMacHdr(uint8_t linkId, const WifiMacHeader &macHdr, const WifiTxVector &txVector, Time psduDuration)
Store information about the MAC header of the MPDU being received on the given link.
bool m_useNotifiedMacHdr
whether to use the information about the MAC header of the MPDU being received (if notified by the PH...
bool m_waitTransDelayOnPsduRxError
Whether the AP MLD waits for a response timeout after a PSDU reception error before starting the tran...
Time GetDelayOnTxPsduNotForEmlsr(Ptr< const WifiPsdu > psdu, const WifiTxVector &txVector, WifiPhyBand band) override
This method is intended to be called when the AP MLD starts transmitting an SU frame that is not addr...
std::set< uint8_t > m_blockedLinksOnMacHdrRx
links that have been blocked upon receiving a MAC header
bool UpdateCwAfterFailedIcf() const override
void NotifyPsduRxError(uint8_t linkId, Ptr< const WifiPsdu > psdu) override
This method is called when the reception of a PSDU fails on the given link.
void NotifyPsduRxOk(uint8_t linkId, Ptr< const WifiPsdu > psdu) override
This method is called when the reception of a PSDU succeeds on the given link.
~AdvancedApEmlsrManager() override
void DoDispose() override
Destructor implementation.
static TypeId GetTypeId()
Get the type ID.
bool ReportFailedIcf() const override
bool m_earlySwitchToListening
Whether the AP MLD assumes that an EMLSR client is able to detect at the end of the MAC header that a...
DefaultApEmlsrManager is the default AP EMLSR manager.
Smart pointer class similar to boost::intrusive_ptr.
Simulation virtual time values and global simulation resolution.
a unique identifier for an interface.
This class mimics the TXVECTOR which is to be passed to the PHY in order to define the parameters whi...
WifiPhyBand
Identifies the PHY band.
Every class exported by the ns3 library is enclosed in the ns3 namespace.