A Discrete-Event Network Simulator
API
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
ns3::WifiPhyStateHelper Class Reference

#include <wifi-phy-state-helper.h>

+ Inheritance diagram for ns3::WifiPhyStateHelper:

Public Member Functions

Time GetDelayUntilIdle (void)
 
Time GetLastRxStartTime (void) const
 
enum WifiPhy::State GetState (void)
 
Time GetStateDuration (void)
 
bool IsStateBusy (void)
 
bool IsStateCcaBusy (void)
 
bool IsStateIdle (void)
 
bool IsStateRx (void)
 
bool IsStateSensing (void)
 
bool IsStateSwitching (void)
 
bool IsStateTx (void)
 
void RegisterListener (WifiPhyListener *listener)
 
void SetReceiveErrorCallback (WifiPhy::RxErrorCallback callback)
 
void SetReceiveOkCallback (WifiPhy::RxOkCallback callback)
 
void SwitchFromRxEndError (Ptr< const Packet > packet, double snr)
 
void SwitchFromRxEndOk (Ptr< Packet > packet, double snr, WifiMode mode, enum WifiPreamble preamble)
 
void SwitchMaybeToCcaBusy (Time duration)
 
void SwitchToChannelSensing (Time sensingDuration)
 
void SwitchToChannelSwitching (Time switchingDuration, uint16_t toChannel)
 
void SwitchToRx (Time rxDuration)
 
void SwitchToTx (Time txDuration, Ptr< const Packet > packet, WifiMode txMode, WifiPreamble preamble, uint8_t txPower)
 
- Public Member Functions inherited from ns3::Object
void AggregateObject (Ptr< Object > other)
 
void Dispose (void)
 
AggregateIterator GetAggregateIterator (void) const
 
virtual TypeId GetInstanceTypeId (void) const
 
template<typename T >
Ptr< T > GetObject (void) const
 
template<typename T >
Ptr< T > GetObject (TypeId tid) const
 
void Initialize (void)
 
- Public Member Functions inherited from ns3::SimpleRefCount< Object, ObjectBase, ObjectDeleter >
 SimpleRefCount (const SimpleRefCount &o)
 
uint32_t GetReferenceCount (void) const
 
SimpleRefCountoperator= (const SimpleRefCount &o)
 
void Ref (void) const
 
void Unref (void) const
 
- Public Member Functions inherited from ns3::ObjectBase
void GetAttribute (std::string name, AttributeValue &value) const
 
bool GetAttributeFailSafe (std::string name, AttributeValue &attribute) const
 
void SetAttribute (std::string name, const AttributeValue &value)
 
bool SetAttributeFailSafe (std::string name, const AttributeValue &value)
 
bool TraceConnect (std::string name, std::string context, const CallbackBase &cb)
 
bool TraceConnectWithoutContext (std::string name, const CallbackBase &cb)
 
bool TraceDisconnect (std::string name, std::string context, const CallbackBase &cb)
 
bool TraceDisconnectWithoutContext (std::string name, const CallbackBase &cb)
 

Static Public Member Functions

static TypeId GetTypeId (void)
 
- Static Public Member Functions inherited from ns3::Object
static TypeId GetTypeId (void)
 
- Static Public Member Functions inherited from ns3::SimpleRefCount< Object, ObjectBase, ObjectDeleter >
static void Cleanup (void)
 
- Static Public Member Functions inherited from ns3::ObjectBase
static TypeId GetTypeId (void)
 

Public Attributes

TracedCallback< Time, Time,
enum WifiPhy::State
m_stateLogger
 

Private Types

typedef std::vector
< WifiPhyListener * > 
Listeners
 

Private Member Functions

void DoSwitchFromRx (void)
 
void LogPreviousIdleAndCcaBusyStates (void)
 
void NotifyMaybeCcaBusyStart (Time duration)
 
void NotifyRxEndError (void)
 
void NotifyRxEndOk (void)
 
void NotifyRxStart (Time duration)
 
void NotifySensingStart (Time duration)
 
void NotifySwitchingStart (Time duration, uint16_t toChannel)
 
void NotifyTxStart (Time duration)
 
void NotifyWakeup (void)
 

Private Attributes

Time m_endCcaBusy
 
Time m_endRx
 
Time m_endSensing
 
Time m_endSwitching
 
Time m_endTx
 
Listeners m_listeners
 
Time m_previousStateChangeTime
 
WifiPhy::RxErrorCallback m_rxErrorCallback
 
TracedCallback< Ptr< const
Packet >, double > 
m_rxErrorTrace
 
bool m_rxing
 
WifiPhy::RxOkCallback m_rxOkCallback
 
TracedCallback< Ptr< const
Packet >, double, WifiMode,
enum WifiPreamble
m_rxOkTrace
 
Time m_startCcaBusy
 
Time m_startRx
 
Time m_startSensing
 
Time m_startSwitching
 
Time m_startTx
 
TracedCallback< Ptr< const
Packet >, WifiMode,
WifiPreamble, uint8_t > 
m_txTrace
 

Additional Inherited Members

- Protected Member Functions inherited from ns3::Object
 Object (const Object &o)
 
virtual void DoDispose (void)
 
virtual void DoInitialize (void)
 
virtual void NotifyNewAggregate (void)
 
- Protected Member Functions inherited from ns3::ObjectBase
void ConstructSelf (const AttributeConstructionList &attributes)
 
virtual void NotifyConstructionCompleted (void)
 

Detailed Description

This objects implements the PHY state machine of the Wifi device.

Config Paths

ns3::WifiPhyStateHelper is accessible through the following paths with Config::Set and Config::Connect:

  • /NodeList/[i]/DeviceList/[i]/$ns3::WifiNetDevice/Phy/$ns3::YansWifiPhy/State

No Attributes are defined for this type.

TraceSources

  • State: The state of the PHY layer
  • RxOk: A packet has been received successfully.
  • RxError: A packet has been received unsuccessfully.
  • Tx: Packet transmission is starting.

Definition at line 35 of file wifi-phy-state-helper.h.


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