receive notifications about PHY events. More...
#include "wifi-phy-listener.h"
Public Member Functions | |
virtual | ~WifiPhyListener () |
virtual void | NotifyCcaBusyStart (Time duration, WifiChannelListType channelType, const std::vector< Time > &per20MhzDurations)=0 |
virtual void | NotifyOff ()=0 |
Notify listeners that we went to switch off. | |
virtual void | NotifyOn ()=0 |
Notify listeners that we went to switch on. | |
virtual void | NotifyRxEndError ()=0 |
We have received the last bit of a packet for which NotifyRxStart was invoked first and, the packet has not been successfully received. | |
virtual void | NotifyRxEndOk ()=0 |
We have received the last bit of a packet for which NotifyRxStart was invoked first and, the packet has been successfully received. | |
virtual void | NotifyRxStart (Time duration)=0 |
virtual void | NotifySleep ()=0 |
Notify listeners that we went to sleep. | |
virtual void | NotifySwitchingStart (Time duration)=0 |
virtual void | NotifyTxStart (Time duration, dBm_u txPower)=0 |
virtual void | NotifyWakeup ()=0 |
Notify listeners that we woke up. | |
receive notifications about PHY events.
Definition at line 23 of file wifi-phy-listener.h.
|
inlinevirtual |
Definition at line 30 of file wifi-phy-listener.h.
|
pure virtual |
duration | the expected busy duration. |
channelType | the channel type for which the CCA busy state is reported. |
per20MhzDurations | vector that indicates for how long each 20 MHz subchannel (corresponding to the index of the element in the vector) is busy and where a zero duration indicates that the subchannel is idle. The vector is non-empty if the PHY supports 802.11ax or later and if the operational channel width is larger than 20 MHz. |
This method does not really report a real state change as opposed to the other methods in this class. It merely reports that, unless the medium is reported busy through NotifyTxStart or NotifyRxStart/End, it will be busy as defined by the currently selected CCA mode.
Typical client code which wants to have a clear picture of the CCA state will need to keep track of the time at which the last NotifyCcaBusyStart method is called and what duration it reported.
Implemented in CcaTestPhyListener, ns3::PhyListener, ns3::WifiRadioEnergyModelPhyListener, OfdmaTestPhyListener, and TestPhyListener.
Referenced by ns3::WifiPhyStateHelper::SwitchFromRxAbort(), and ns3::WifiPhyStateHelper::SwitchMaybeToCcaBusy().
|
pure virtual |
Notify listeners that we went to switch off.
Implemented in CcaTestPhyListener, ns3::PhyListener, ns3::WifiRadioEnergyModelPhyListener, OfdmaTestPhyListener, and TestPhyListener.
Referenced by ns3::WifiPhyStateHelper::SwitchToOff().
|
pure virtual |
Notify listeners that we went to switch on.
Implemented in CcaTestPhyListener, ns3::PhyListener, ns3::WifiRadioEnergyModelPhyListener, OfdmaTestPhyListener, and TestPhyListener.
Referenced by ns3::WifiPhyStateHelper::SwitchFromOff().
|
pure virtual |
We have received the last bit of a packet for which NotifyRxStart was invoked first and, the packet has not been successfully received.
Implemented in CcaTestPhyListener, ns3::PhyListener, ns3::WifiRadioEnergyModelPhyListener, OfdmaTestPhyListener, and TestPhyListener.
Referenced by ns3::WifiPhyStateHelper::SwitchFromRxEndError().
|
pure virtual |
We have received the last bit of a packet for which NotifyRxStart was invoked first and, the packet has been successfully received.
Implemented in CcaTestPhyListener, ns3::PhyListener, ns3::WifiRadioEnergyModelPhyListener, OfdmaTestPhyListener, and TestPhyListener.
Referenced by ns3::WifiPhyStateHelper::SwitchFromRxAbort(), and ns3::WifiPhyStateHelper::SwitchFromRxEndOk().
|
pure virtual |
duration | the expected duration of the packet reception. |
We have received the first bit of a packet. We decided that we could synchronize on this packet. It does not mean we will be able to successfully receive completely the whole packet. It means that we will report a BUSY status until one of the following happens:
Implemented in CcaTestPhyListener, ns3::PhyListener, ns3::WifiRadioEnergyModelPhyListener, OfdmaTestPhyListener, and TestPhyListener.
Referenced by ns3::WifiPhyStateHelper::SwitchToRx().
|
pure virtual |
Notify listeners that we went to sleep.
Implemented in CcaTestPhyListener, ns3::PhyListener, ns3::WifiRadioEnergyModelPhyListener, OfdmaTestPhyListener, and TestPhyListener.
Referenced by ns3::WifiPhyStateHelper::SwitchToSleep().
|
pure virtual |
duration | the expected channel switching duration. |
We do not send any event to notify the end of channel switching. Listeners should assume that the channel implicitly reverts to the idle or busy states.
Implemented in CcaTestPhyListener, ns3::PhyListener, ns3::WifiRadioEnergyModelPhyListener, OfdmaTestPhyListener, and TestPhyListener.
Referenced by ns3::WifiPhyStateHelper::SwitchToChannelSwitching().
duration | the expected transmission duration. |
txPower | the nominal TX power |
We are about to send the first bit of the packet. We do not send any event to notify the end of transmission. Listeners should assume that the channel implicitly reverts to the idle state unless they have received a CCA busy report.
Implemented in CcaTestPhyListener, ns3::PhyListener, ns3::WifiRadioEnergyModelPhyListener, OfdmaTestPhyListener, and TestPhyListener.
Referenced by ns3::WifiPhyStateHelper::SwitchToTx().
|
pure virtual |
Notify listeners that we woke up.
Implemented in CcaTestPhyListener, ns3::PhyListener, ns3::WifiRadioEnergyModelPhyListener, OfdmaTestPhyListener, and TestPhyListener.
Referenced by ns3::WifiPhyStateHelper::SwitchFromSleep().