A Discrete-Event Network Simulator
API
ns3::WifiRadioEnergyModelPhyListener Class Reference

A WifiPhy listener class for notifying the WifiRadioEnergyModel of Wifi radio state change. More...

#include "wifi-radio-energy-model.h"

+ Inheritance diagram for ns3::WifiRadioEnergyModelPhyListener:
+ Collaboration diagram for ns3::WifiRadioEnergyModelPhyListener:

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) override
 
void NotifyOff (void) override
 Defined in ns3::WifiPhyListener. More...
 
void NotifyOn (void) override
 Defined in ns3::WifiPhyListener. More...
 
void NotifyRxEndError (void) override
 Switches the WifiRadioEnergyModel back to IDLE state. More...
 
void NotifyRxEndOk (void) override
 Switches the WifiRadioEnergyModel back to IDLE state. More...
 
void NotifyRxStart (Time duration) override
 Switches the WifiRadioEnergyModel to RX state. More...
 
void NotifySleep (void) override
 Defined in ns3::WifiPhyListener. More...
 
void NotifySwitchingStart (Time duration) override
 
void NotifyTxStart (Time duration, double txPowerDbm) override
 Switches the WifiRadioEnergyModel to TX state and switches back to IDLE after TX duration. More...
 
void NotifyWakeup (void) override
 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...
 

Detailed Description

A WifiPhy listener class for notifying the WifiRadioEnergyModel of Wifi radio state change.

Definition at line 42 of file wifi-radio-energy-model.h.

Member Typedef Documentation

◆ UpdateTxCurrentCallback

Callback type for updating the transmit current based on the nominal TX power.

Definition at line 48 of file wifi-radio-energy-model.h.

Constructor & Destructor Documentation

◆ WifiRadioEnergyModelPhyListener()

ns3::WifiRadioEnergyModelPhyListener::WifiRadioEnergyModelPhyListener ( )

◆ ~WifiRadioEnergyModelPhyListener()

ns3::WifiRadioEnergyModelPhyListener::~WifiRadioEnergyModelPhyListener ( )
virtual

Definition at line 469 of file wifi-radio-energy-model.cc.

References NS_LOG_FUNCTION.

Member Function Documentation

◆ NotifyMaybeCcaBusyStart()

void ns3::WifiRadioEnergyModelPhyListener::NotifyMaybeCcaBusyStart ( Time  duration)
overridevirtual

◆ NotifyOff()

void ns3::WifiRadioEnergyModelPhyListener::NotifyOff ( void  )
overridevirtual

◆ NotifyOn()

void ns3::WifiRadioEnergyModelPhyListener::NotifyOn ( void  )
overridevirtual

◆ NotifyRxEndError()

void ns3::WifiRadioEnergyModelPhyListener::NotifyRxEndError ( void  )
overridevirtual

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 514 of file wifi-radio-energy-model.cc.

References IDLE, ns3::Callback< R, T1, T2, T3, T4, T5, T6, T7, T8, T9 >::IsNull(), m_changeStateCallback, NS_FATAL_ERROR, and NS_LOG_FUNCTION.

+ Here is the call graph for this function:

◆ NotifyRxEndOk()

void ns3::WifiRadioEnergyModelPhyListener::NotifyRxEndOk ( void  )
overridevirtual

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 503 of file wifi-radio-energy-model.cc.

References IDLE, ns3::Callback< R, T1, T2, T3, T4, T5, T6, T7, T8, T9 >::IsNull(), m_changeStateCallback, NS_FATAL_ERROR, and NS_LOG_FUNCTION.

+ Here is the call graph for this function:

◆ NotifyRxStart()

void ns3::WifiRadioEnergyModelPhyListener::NotifyRxStart ( Time  duration)
overridevirtual

Switches the WifiRadioEnergyModel to RX state.

Parameters
durationthe expected duration of the packet reception.

Defined in ns3::WifiPhyListener

Implements ns3::WifiPhyListener.

Definition at line 491 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 RX.

+ Here is the call graph for this function:

◆ NotifySleep()

void ns3::WifiRadioEnergyModelPhyListener::NotifySleep ( void  )
overridevirtual

◆ NotifySwitchingStart()

void ns3::WifiRadioEnergyModelPhyListener::NotifySwitchingStart ( Time  duration)
overridevirtual
Parameters
durationthe expected channel switching duration.

Defined in ns3::WifiPhyListener

Implements ns3::WifiPhyListener.

Definition at line 558 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(), SWITCHING, and SwitchToIdle().

+ Here is the call graph for this function:

◆ NotifyTxStart()

void ns3::WifiRadioEnergyModelPhyListener::NotifyTxStart ( Time  duration,
double  txPowerDbm 
)
overridevirtual

Switches the WifiRadioEnergyModel to TX state and switches back to IDLE after TX duration.

Parameters
durationthe expected transmission duration.
txPowerDbmthe nominal TX power in dBm

Defined in ns3::WifiPhyListener

Implements ns3::WifiPhyListener.

Definition at line 525 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 TX.

+ Here is the call graph for this function:

◆ NotifyWakeup()

void ns3::WifiRadioEnergyModelPhyListener::NotifyWakeup ( void  )
overridevirtual

◆ SetChangeStateCallback()

void ns3::WifiRadioEnergyModelPhyListener::SetChangeStateCallback ( DeviceEnergyModel::ChangeStateCallback  callback)

Sets the change state callback.

Used by helper class.

Parameters
callbackChange state callback.

Definition at line 475 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().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ SetUpdateTxCurrentCallback()

void ns3::WifiRadioEnergyModelPhyListener::SetUpdateTxCurrentCallback ( UpdateTxCurrentCallback  callback)

Sets the update TX current callback.

Parameters
callbackUpdate TX current callback.

Definition at line 483 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().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ SwitchToIdle()

void ns3::WifiRadioEnergyModelPhyListener::SwitchToIdle ( void  )
private

A helper function that makes scheduling m_changeStateCallback possible.

Definition at line 618 of file wifi-radio-energy-model.cc.

References 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().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

Member Data Documentation

◆ m_changeStateCallback

◆ m_switchToIdleEvent

EventId ns3::WifiRadioEnergyModelPhyListener::m_switchToIdleEvent
private

◆ m_updateTxCurrentCallback

UpdateTxCurrentCallback ns3::WifiRadioEnergyModelPhyListener::m_updateTxCurrentCallback
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 158 of file wifi-radio-energy-model.h.

Referenced by WifiRadioEnergyModelPhyListener(), NotifyTxStart(), and SetUpdateTxCurrentCallback().


The documentation for this class was generated from the following files: