A Discrete-Event Network Simulator
API
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
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 Member Functions

 WifiRadioEnergyModelPhyListener ()
 
virtual ~WifiRadioEnergyModelPhyListener ()
 
virtual void NotifyMaybeCcaBusyStart (Time duration)
 
virtual void NotifyRxEndError (void)
 Switches the WifiRadioEnergyModel back to IDLE state. More...
 
virtual void NotifyRxEndOk (void)
 Switches the WifiRadioEnergyModel back to IDLE state. More...
 
virtual void NotifyRxStart (Time duration)
 Switches the WifiRadioEnergyModel to RX state. More...
 
virtual void NotifySwitchingStart (Time duration)
 
virtual void NotifyTxStart (Time duration)
 Switches the WifiRadioEnergyModel to TX state and switches back to IDLE after TX duration. More...
 
void SetChangeStateCallback (DeviceEnergyModel::ChangeStateCallback callback)
 Sets the change state 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
 

Detailed Description

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

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

Constructor & Destructor Documentation

ns3::WifiRadioEnergyModelPhyListener::WifiRadioEnergyModelPhyListener ( )

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

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

+ Here is the call graph for this function:

ns3::WifiRadioEnergyModelPhyListener::~WifiRadioEnergyModelPhyListener ( )
virtual

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

References NS_LOG_FUNCTION.

Member Function Documentation

void ns3::WifiRadioEnergyModelPhyListener::NotifyMaybeCcaBusyStart ( Time  duration)
virtual
void ns3::WifiRadioEnergyModelPhyListener::NotifyRxEndError ( void  )
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 375 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.

+ Here is the call graph for this function:

void ns3::WifiRadioEnergyModelPhyListener::NotifyRxEndOk ( void  )
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 364 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.

+ Here is the call graph for this function:

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

Switches the WifiRadioEnergyModel to RX state.

Parameters
durationthe expected duration of the packet reception.

Defined in ns3::WifiPhyListener

Implements ns3::WifiPhyListener.

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

+ Here is the call graph for this function:

void ns3::WifiRadioEnergyModelPhyListener::NotifySwitchingStart ( Time  duration)
virtual
void ns3::WifiRadioEnergyModelPhyListener::NotifyTxStart ( Time  duration)
virtual

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

Parameters
durationthe expected transmission duration.

Defined in ns3::WifiPhyListener

Implements ns3::WifiPhyListener.

Definition at line 386 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(), SwitchToIdle(), and ns3::WifiPhy::TX.

+ Here is the call graph for this function:

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

Sets the change state callback.

Used by helper class.

Parameters
callbackChange state callback.

Definition at line 344 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:

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

A helper function that makes scheduling m_changeStateCallback possible.

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

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

Member Data Documentation

DeviceEnergyModel::ChangeStateCallback ns3::WifiRadioEnergyModelPhyListener::m_changeStateCallback
private
EventId ns3::WifiRadioEnergyModelPhyListener::m_switchToIdleEvent
private

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