A WifiPhy listener class for notifying the WifiRadioEnergyModel of Wifi radio state change. More...
#include "wifi-radio-energy-model.h"
Public Types | |
typedef Callback< void, double > | UpdateTxCurrentCallback |
Callback type for updating the transmit current based on the nominal tx power. More... | |
Public Member Functions | |
WifiRadioEnergyModelPhyListener () | |
virtual | ~WifiRadioEnergyModelPhyListener () |
void | NotifyMaybeCcaBusyStart (Time duration) |
void | NotifyRxEndError (void) |
Switches the WifiRadioEnergyModel back to IDLE state. More... | |
void | NotifyRxEndOk (void) |
Switches the WifiRadioEnergyModel back to IDLE state. More... | |
void | NotifyRxStart (Time duration) |
Switches the WifiRadioEnergyModel to RX state. More... | |
void | NotifySleep (void) |
Defined in ns3::WifiPhyListener. More... | |
void | NotifySwitchingStart (Time duration) |
void | NotifyTxStart (Time duration, double txPowerDbm) |
Switches the WifiRadioEnergyModel to TX state and switches back to IDLE after TX duration. More... | |
void | NotifyWakeup (void) |
Defined in ns3::WifiPhyListener. More... | |
void | SetChangeStateCallback (DeviceEnergyModel::ChangeStateCallback callback) |
Sets the change state callback. More... | |
void | SetUpdateTxCurrentCallback (UpdateTxCurrentCallback callback) |
Sets the update tx current callback. More... | |
Public Member Functions inherited from ns3::WifiPhyListener | |
virtual | ~WifiPhyListener () |
Private Member Functions | |
void | SwitchToIdle (void) |
A helper function that makes scheduling m_changeStateCallback possible. More... | |
Private Attributes | |
DeviceEnergyModel::ChangeStateCallback | m_changeStateCallback |
Change state callback used to notify the WifiRadioEnergyModel of a state change. More... | |
EventId | m_switchToIdleEvent |
switch to idle event More... | |
UpdateTxCurrentCallback | m_updateTxCurrentCallback |
Callback used to update the tx current stored in WifiRadioEnergyModel based on the nominal tx power used to transmit the current frame. More... | |
A WifiPhy listener class for notifying the WifiRadioEnergyModel of Wifi radio state change.
Definition at line 39 of file wifi-radio-energy-model.h.
typedef Callback<void, double> ns3::WifiRadioEnergyModelPhyListener::UpdateTxCurrentCallback |
Callback type for updating the transmit current based on the nominal tx power.
Definition at line 45 of file wifi-radio-energy-model.h.
ns3::WifiRadioEnergyModelPhyListener::WifiRadioEnergyModelPhyListener | ( | ) |
Definition at line 423 of file wifi-radio-energy-model.cc.
References m_changeStateCallback, m_updateTxCurrentCallback, NS_LOG_FUNCTION, and ns3::Callback< R, T1, T2, T3, T4, T5, T6, T7, T8, T9 >::Nullify().
|
virtual |
Definition at line 430 of file wifi-radio-energy-model.cc.
References NS_LOG_FUNCTION.
|
virtual |
duration | the expected busy duration. |
Defined in ns3::WifiPhyListener
Implements ns3::WifiPhyListener.
Definition at line 505 of file wifi-radio-energy-model.cc.
References ns3::EventId::Cancel(), ns3::WifiPhy::CCA_BUSY, ns3::Callback< R, T1, T2, T3, T4, T5, T6, T7, T8, T9 >::IsNull(), m_changeStateCallback, m_switchToIdleEvent, NS_FATAL_ERROR, NS_LOG_FUNCTION, ns3::Simulator::Schedule(), and SwitchToIdle().
|
virtual |
Switches the WifiRadioEnergyModel back to IDLE state.
Defined in ns3::WifiPhyListener
Note that for the WifiRadioEnergyModel, the behavior of the function is the same as NotifyRxEndOk.
Implements ns3::WifiPhyListener.
Definition at line 475 of file wifi-radio-energy-model.cc.
References ns3::WifiPhy::IDLE, ns3::Callback< R, T1, T2, T3, T4, T5, T6, T7, T8, T9 >::IsNull(), m_changeStateCallback, NS_FATAL_ERROR, and NS_LOG_FUNCTION.
|
virtual |
Switches the WifiRadioEnergyModel back to IDLE state.
Defined in ns3::WifiPhyListener
Note that for the WifiRadioEnergyModel, the behavior of the function is the same as NotifyRxEndError.
Implements ns3::WifiPhyListener.
Definition at line 464 of file wifi-radio-energy-model.cc.
References ns3::WifiPhy::IDLE, ns3::Callback< R, T1, T2, T3, T4, T5, T6, T7, T8, T9 >::IsNull(), m_changeStateCallback, NS_FATAL_ERROR, and NS_LOG_FUNCTION.
|
virtual |
Switches the WifiRadioEnergyModel to RX state.
duration | the expected duration of the packet reception. |
Defined in ns3::WifiPhyListener
Implements ns3::WifiPhyListener.
Definition at line 452 of file wifi-radio-energy-model.cc.
References ns3::EventId::Cancel(), ns3::Callback< R, T1, T2, T3, T4, T5, T6, T7, T8, T9 >::IsNull(), m_changeStateCallback, m_switchToIdleEvent, NS_FATAL_ERROR, NS_LOG_FUNCTION, and ns3::WifiPhy::RX.
|
virtual |
Defined in ns3::WifiPhyListener.
Implements ns3::WifiPhyListener.
Definition at line 533 of file wifi-radio-energy-model.cc.
References ns3::EventId::Cancel(), ns3::Callback< R, T1, T2, T3, T4, T5, T6, T7, T8, T9 >::IsNull(), m_changeStateCallback, m_switchToIdleEvent, NS_FATAL_ERROR, NS_LOG_FUNCTION, and ns3::WifiPhy::SLEEP.
|
virtual |
duration | the expected channel switching duration. |
Defined in ns3::WifiPhyListener
Implements ns3::WifiPhyListener.
Definition at line 519 of file wifi-radio-energy-model.cc.
References ns3::EventId::Cancel(), ns3::Callback< R, T1, T2, T3, T4, T5, T6, T7, T8, T9 >::IsNull(), m_changeStateCallback, m_switchToIdleEvent, NS_FATAL_ERROR, NS_LOG_FUNCTION, ns3::Simulator::Schedule(), ns3::WifiPhy::SWITCHING, and SwitchToIdle().
|
virtual |
Switches the WifiRadioEnergyModel to TX state and switches back to IDLE after TX duration.
duration | the expected transmission duration. |
txPowerDbm | the nominal tx power in dBm |
Defined in ns3::WifiPhyListener
Implements ns3::WifiPhyListener.
Definition at line 486 of file wifi-radio-energy-model.cc.
References ns3::EventId::Cancel(), ns3::Callback< R, T1, T2, T3, T4, T5, T6, T7, T8, T9 >::IsNull(), m_changeStateCallback, m_switchToIdleEvent, m_updateTxCurrentCallback, NS_FATAL_ERROR, NS_LOG_FUNCTION, ns3::Simulator::Schedule(), SwitchToIdle(), and ns3::WifiPhy::TX.
|
virtual |
Defined in ns3::WifiPhyListener.
Implements ns3::WifiPhyListener.
Definition at line 545 of file wifi-radio-energy-model.cc.
References ns3::WifiPhy::IDLE, ns3::Callback< R, T1, T2, T3, T4, T5, T6, T7, T8, T9 >::IsNull(), m_changeStateCallback, NS_FATAL_ERROR, and NS_LOG_FUNCTION.
void ns3::WifiRadioEnergyModelPhyListener::SetChangeStateCallback | ( | DeviceEnergyModel::ChangeStateCallback | callback | ) |
Sets the change state callback.
Used by helper class.
callback | Change state callback. |
Definition at line 436 of file wifi-radio-energy-model.cc.
References ns3::Callback< R, T1, T2, T3, T4, T5, T6, T7, T8, T9 >::IsNull(), m_changeStateCallback, NS_ASSERT, and NS_LOG_FUNCTION.
Referenced by ns3::WifiRadioEnergyModel::WifiRadioEnergyModel().
void ns3::WifiRadioEnergyModelPhyListener::SetUpdateTxCurrentCallback | ( | UpdateTxCurrentCallback | callback | ) |
Sets the update tx current callback.
callback | Update tx current callback. |
Definition at line 444 of file wifi-radio-energy-model.cc.
References ns3::Callback< R, T1, T2, T3, T4, T5, T6, T7, T8, T9 >::IsNull(), m_updateTxCurrentCallback, NS_ASSERT, and NS_LOG_FUNCTION.
Referenced by ns3::WifiRadioEnergyModel::WifiRadioEnergyModel().
|
private |
A helper function that makes scheduling m_changeStateCallback possible.
Definition at line 560 of file wifi-radio-energy-model.cc.
References ns3::WifiPhy::IDLE, ns3::Callback< R, T1, T2, T3, T4, T5, T6, T7, T8, T9 >::IsNull(), m_changeStateCallback, NS_FATAL_ERROR, and NS_LOG_FUNCTION.
Referenced by NotifyMaybeCcaBusyStart(), NotifySwitchingStart(), and NotifyTxStart().
|
private |
Change state callback used to notify the WifiRadioEnergyModel of a state change.
Definition at line 139 of file wifi-radio-energy-model.h.
Referenced by NotifyMaybeCcaBusyStart(), NotifyRxEndError(), NotifyRxEndOk(), NotifyRxStart(), NotifySleep(), NotifySwitchingStart(), NotifyTxStart(), NotifyWakeup(), SetChangeStateCallback(), SwitchToIdle(), and WifiRadioEnergyModelPhyListener().
|
private |
switch to idle event
Definition at line 147 of file wifi-radio-energy-model.h.
Referenced by NotifyMaybeCcaBusyStart(), NotifyRxStart(), NotifySleep(), NotifySwitchingStart(), and NotifyTxStart().
|
private |
Callback used to update the tx current stored in WifiRadioEnergyModel based on the nominal tx power used to transmit the current frame.
Definition at line 145 of file wifi-radio-energy-model.h.
Referenced by NotifyTxStart(), SetUpdateTxCurrentCallback(), and WifiRadioEnergyModelPhyListener().