Test Phy Listener. More...
Public Member Functions | |
TestPhyListener ()=default | |
Create a test PhyListener. More... | |
~TestPhyListener () override=default | |
void | NotifyCcaBusyStart (Time duration, WifiChannelListType channelType, const std::vector< Time > &) override |
void | NotifyOff () override |
Notify listeners that we went to switch off. More... | |
void | NotifyOn () override |
Notify listeners that we went to switch on. More... | |
void | NotifyRxEndError () override |
We have received the last bit of a packet for which NotifyRxStart was invoked first and, the packet has not been successfully received. More... | |
void | NotifyRxEndOk () override |
We have received the last bit of a packet for which NotifyRxStart was invoked first and, the packet has been successfully received. More... | |
void | NotifyRxStart (Time duration) override |
void | NotifySleep () override |
Notify listeners that we went to sleep. More... | |
void | NotifySwitchingStart (Time duration) override |
void | NotifyTxStart (Time duration, double txPowerDbm) override |
void | NotifyWakeup () override |
Notify listeners that we woke up. More... | |
void | Reset () |
Reset function. More... | |
Public Member Functions inherited from ns3::WifiPhyListener | |
virtual | ~WifiPhyListener () |
Public Attributes | |
Time | m_ccaBusyEnd {0} |
CCA_BUSY end time. More... | |
Time | m_ccaBusyStart {0} |
CCA_BUSY start time. More... | |
uint32_t | m_notifyMaybeCcaBusyStart {0} |
notify maybe CCA busy start More... | |
uint32_t | m_notifyRxEndError {0} |
notify receive end error More... | |
uint32_t | m_notifyRxEndOk {0} |
notify receive end OK More... | |
uint32_t | m_notifyRxStart {0} |
notify receive start More... | |
Test Phy Listener.
Definition at line 264 of file spectrum-wifi-phy-test.cc.
|
default |
Create a test PhyListener.
|
overridedefault |
|
inlineoverridevirtual |
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.
Implements ns3::WifiPhyListener.
Definition at line 296 of file spectrum-wifi-phy-test.cc.
References ns3::Time::IsStrictlyPositive(), m_ccaBusyEnd, m_ccaBusyStart, m_notifyMaybeCcaBusyStart, max, ns3::Now(), and NS_LOG_FUNCTION.
|
inlineoverridevirtual |
Notify listeners that we went to switch off.
Implements ns3::WifiPhyListener.
Definition at line 320 of file spectrum-wifi-phy-test.cc.
|
inlineoverridevirtual |
Notify listeners that we went to switch on.
Implements ns3::WifiPhyListener.
Definition at line 328 of file spectrum-wifi-phy-test.cc.
|
inlineoverridevirtual |
We have received the last bit of a packet for which NotifyRxStart was invoked first and, the packet has not been successfully received.
Implements ns3::WifiPhyListener.
Definition at line 285 of file spectrum-wifi-phy-test.cc.
References m_notifyRxEndError, and NS_LOG_FUNCTION.
|
inlineoverridevirtual |
We have received the last bit of a packet for which NotifyRxStart was invoked first and, the packet has been successfully received.
Implements ns3::WifiPhyListener.
Definition at line 279 of file spectrum-wifi-phy-test.cc.
References m_notifyRxEndOk, and NS_LOG_FUNCTION.
|
inlineoverridevirtual |
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:
Implements ns3::WifiPhyListener.
Definition at line 273 of file spectrum-wifi-phy-test.cc.
References m_notifyRxStart, and NS_LOG_FUNCTION.
|
inlineoverridevirtual |
Notify listeners that we went to sleep.
Implements ns3::WifiPhyListener.
Definition at line 316 of file spectrum-wifi-phy-test.cc.
|
inlineoverridevirtual |
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.
Implements ns3::WifiPhyListener.
Definition at line 312 of file spectrum-wifi-phy-test.cc.
|
inlineoverridevirtual |
duration | the expected transmission duration. |
txPowerDbm | the nominal TX power in dBm |
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.
Implements ns3::WifiPhyListener.
Definition at line 291 of file spectrum-wifi-phy-test.cc.
References NS_LOG_FUNCTION.
|
inlineoverridevirtual |
Notify listeners that we woke up.
Implements ns3::WifiPhyListener.
Definition at line 324 of file spectrum-wifi-phy-test.cc.
|
inline |
Reset function.
Definition at line 335 of file spectrum-wifi-phy-test.cc.
References m_ccaBusyEnd, m_ccaBusyStart, m_notifyMaybeCcaBusyStart, m_notifyRxEndError, m_notifyRxEndOk, m_notifyRxStart, NS_LOG_FUNCTION, and ns3::Seconds().
Time TestPhyListener::m_ccaBusyEnd {0} |
CCA_BUSY end time.
Definition at line 351 of file spectrum-wifi-phy-test.cc.
Referenced by NotifyCcaBusyStart(), and Reset().
Time TestPhyListener::m_ccaBusyStart {0} |
CCA_BUSY start time.
Definition at line 350 of file spectrum-wifi-phy-test.cc.
Referenced by NotifyCcaBusyStart(), and Reset().
uint32_t TestPhyListener::m_notifyMaybeCcaBusyStart {0} |
notify maybe CCA busy start
Definition at line 349 of file spectrum-wifi-phy-test.cc.
Referenced by NotifyCcaBusyStart(), and Reset().
uint32_t TestPhyListener::m_notifyRxEndError {0} |
notify receive end error
Definition at line 348 of file spectrum-wifi-phy-test.cc.
Referenced by NotifyRxEndError(), and Reset().
uint32_t TestPhyListener::m_notifyRxEndOk {0} |
notify receive end OK
Definition at line 347 of file spectrum-wifi-phy-test.cc.
Referenced by NotifyRxEndOk(), and Reset().
uint32_t TestPhyListener::m_notifyRxStart {0} |
notify receive start
Definition at line 346 of file spectrum-wifi-phy-test.cc.
Referenced by NotifyRxStart(), and Reset().