PHY listener for OFDMA tests. More...
Public Member Functions | |
OfdmaTestPhyListener ()=default | |
Time | GetLastRxEndNotification () const |
Return the time at which the last RX end notification has been received. | |
Time | GetLastRxStartNotification () const |
Return the time at which the last RX start notification has been received. | |
uint32_t | GetNumRxEndNotifications () const |
Return the number of RX end notifications that has been received since the last reset. | |
uint32_t | GetNumRxStartNotifications () const |
Return the number of RX start notifications that has been received since the last reset. | |
bool | IsLastRxSuccess () const |
Return whether last RX has been successful. | |
void | NotifyCcaBusyStart (Time duration, WifiChannelListType channelType, const std::vector< Time > &) override |
void | NotifyOff () override |
Notify listeners that we went to switch off. | |
void | NotifyOn () override |
Notify listeners that we went to switch on. | |
void | NotifyRxEndError (const WifiTxVector &txVector) override |
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. | |
void | NotifyRxStart (Time duration) override |
void | NotifySleep () override |
Notify listeners that we went to sleep. | |
void | NotifySwitchingStart (Time duration) override |
void | NotifyTxStart (Time duration, dBm_u txPower) override |
void | NotifyWakeup () override |
Notify listeners that we woke up. | |
void | Reset () |
Reset function. | |
![]() | |
virtual | ~WifiPhyListener () |
Private Attributes | |
Time | m_lastRxEnd {Seconds(0)} |
last time a RX end notification has been received | |
Time | m_lastRxStart {Seconds(0)} |
last time a RX start notification has been received | |
bool | m_lastRxSuccess {false} |
flag whether last RX has been successful | |
uint32_t | m_notifyRxEnd {0} |
count number of RX end notifications | |
uint32_t | m_notifyRxStart {0} |
count number of RX start notifications | |
PHY listener for OFDMA tests.
Definition at line 3061 of file wifi-phy-ofdma-test.cc.
|
default |
|
inline |
Return the time at which the last RX end notification has been received.
Definition at line 3165 of file wifi-phy-ofdma-test.cc.
References m_lastRxEnd.
|
inline |
Return the time at which the last RX start notification has been received.
Definition at line 3156 of file wifi-phy-ofdma-test.cc.
References m_lastRxStart.
|
inline |
Return the number of RX end notifications that has been received since the last reset.
Definition at line 3147 of file wifi-phy-ofdma-test.cc.
References m_notifyRxEnd.
|
inline |
Return the number of RX start notifications that has been received since the last reset.
Definition at line 3138 of file wifi-phy-ofdma-test.cc.
References m_notifyRxStart.
|
inline |
Return whether last RX has been successful.
Definition at line 3174 of file wifi-phy-ofdma-test.cc.
References m_lastRxSuccess.
|
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 3095 of file wifi-phy-ofdma-test.cc.
References NS_LOG_FUNCTION.
|
inlineoverridevirtual |
Notify listeners that we went to switch off.
Implements ns3::WifiPhyListener.
Definition at line 3110 of file wifi-phy-ofdma-test.cc.
|
inlineoverridevirtual |
Notify listeners that we went to switch on.
Implements ns3::WifiPhyListener.
Definition at line 3118 of file wifi-phy-ofdma-test.cc.
|
inlineoverridevirtual |
txVector | the TXVECTOR used for transmission |
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 3082 of file wifi-phy-ofdma-test.cc.
References m_lastRxEnd, m_lastRxSuccess, m_notifyRxEnd, ns3::Simulator::Now(), 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 3074 of file wifi-phy-ofdma-test.cc.
References m_lastRxEnd, m_lastRxSuccess, m_notifyRxEnd, ns3::Simulator::Now(), 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 3066 of file wifi-phy-ofdma-test.cc.
References m_lastRxStart, m_lastRxSuccess, m_notifyRxStart, ns3::Simulator::Now(), and NS_LOG_FUNCTION.
|
inlineoverridevirtual |
Notify listeners that we went to sleep.
Implements ns3::WifiPhyListener.
Definition at line 3106 of file wifi-phy-ofdma-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 3102 of file wifi-phy-ofdma-test.cc.
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.
Implements ns3::WifiPhyListener.
Definition at line 3090 of file wifi-phy-ofdma-test.cc.
References NS_LOG_FUNCTION.
|
inlineoverridevirtual |
Notify listeners that we woke up.
Implements ns3::WifiPhyListener.
Definition at line 3114 of file wifi-phy-ofdma-test.cc.
|
inline |
Reset function.
Definition at line 3125 of file wifi-phy-ofdma-test.cc.
References m_lastRxEnd, m_lastRxStart, m_lastRxSuccess, m_notifyRxEnd, m_notifyRxStart, and ns3::Seconds().
Referenced by TestUlOfdmaPhyTransmission< LatestPhyEntityType >::ScheduleTest().
last time a RX end notification has been received
Definition at line 3183 of file wifi-phy-ofdma-test.cc.
Referenced by GetLastRxEndNotification(), NotifyRxEndError(), NotifyRxEndOk(), and Reset().
last time a RX start notification has been received
Definition at line 3182 of file wifi-phy-ofdma-test.cc.
Referenced by GetLastRxStartNotification(), NotifyRxStart(), and Reset().
|
private |
flag whether last RX has been successful
Definition at line 3184 of file wifi-phy-ofdma-test.cc.
Referenced by IsLastRxSuccess(), NotifyRxEndError(), NotifyRxEndOk(), NotifyRxStart(), and Reset().
|
private |
count number of RX end notifications
Definition at line 3181 of file wifi-phy-ofdma-test.cc.
Referenced by GetNumRxEndNotifications(), NotifyRxEndError(), NotifyRxEndOk(), and Reset().
|
private |
count number of RX start notifications
Definition at line 3180 of file wifi-phy-ofdma-test.cc.
Referenced by GetNumRxStartNotifications(), NotifyRxStart(), and Reset().