9#ifndef DEFAULT_POWER_SAVE_MANAGER_H
10#define DEFAULT_POWER_SAVE_MANAGER_H
void DoNotifyReceivedFrameAfterPsPoll(Ptr< const WifiMpdu > mpdu, linkId_t linkId) override
Notify subclasses of the reception of a frame in response to a PS-Poll frame on the given link.
void DoNotifyRequestAccess(Ptr< Txop > txop, linkId_t linkId) override
Notify subclasses that the given TXOP is requesting channel access on the given link.
std::map< linkId_t, EventId > m_sleepEvents
events scheduled to set PHYs to sleep
std::map< linkId_t, EventId > m_wakeUpEvents
events scheduled to wake up PHYs
Time m_listenAdvance
the amount of time the STA wakes up in advance prior to the TBTT
void DoNotifyDisassociation() override
Notify subclasses that the non-AP STA/MLD has disassociated.
void DoNotifyReceivedGroupcast(Ptr< const WifiMpdu > mpdu, linkId_t linkId) override
Notify subclasses of the reception of a groupcast frame (possibly after a DTIM) on the given link.
void DoNotifyPmModeChanged(WifiPowerManagementMode pmMode, linkId_t linkId) override
Notify subclasses that the Power Management mode of the non-AP STA operating on the given link has ch...
DefaultPowerSaveManager()
void DoNotifyAssocCompleted() override
Notify subclasses that the non-AP STA/MLD has completed association with an AP.
void DoNotifyReceivedBeacon(const MgtBeaconHeader &beacon, linkId_t linkId) override
Notify subclasses that a Beacon frame has been received from the associated AP on the given link.
void GoToSleepIfPossible(linkId_t linkId)
Put the PHY operating on the given link to sleep, if no reason to stay awake.
void DoTxDropped(WifiMacDropReason reason, Ptr< const WifiMpdu > mpdu) override
Notify subclasses that the given MPDU has been discarded for the given reason.
static TypeId GetTypeId()
Get the type ID.
void DoNotifyChannelReleased(Ptr< Txop > txop, linkId_t linkId) override
Notify subclasses that the given TXOP is releasing the channel on the given link.
~DefaultPowerSaveManager() override
Time m_psmTimeout
the extra time during which the PHY is kept in active state before being put to sleep state
PowerSaveManager is an abstract base class.
Smart pointer class similar to boost::intrusive_ptr.
Simulation virtual time values and global simulation resolution.
a unique identifier for an interface.
WifiMacDropReason
The reason why an MPDU was dropped.
WifiPowerManagementMode
Enumeration for power management modes.
Every class exported by the ns3 library is enclosed in the ns3 namespace.
uint8_t linkId_t
IEEE 802.11be D7.0 Figure 9-207e—Link ID Info field format.