This objects implements the PHY state machine of the Wifi device. More...
#include "wifi-phy-state-helper.h"
Inheritance diagram for ns3::WifiPhyStateHelper:
Collaboration diagram for ns3::WifiPhyStateHelper:Public Types | |
| typedef void(* | RxEndErrorTracedCallback) (Ptr< const Packet > packet, double snr) |
| TracedCallback signature for receive end error event. More... | |
| typedef void(* | RxOkTracedCallback) (Ptr< const Packet > packet, double snr, WifiMode mode, WifiPreamble preamble) |
| TracedCallback signature for receive end ok event. More... | |
| typedef void(* | StateTracedCallback) (Time start, Time duration, WifiPhy::State state) |
| TracedCallback signature for state changes. More... | |
| typedef void(* | TxTracedCallback) (Ptr< const Packet > packet, WifiMode mode, WifiPreamble preamble, uint8_t power) |
| TracedCallback signature for transmit event. More... | |
Public Member Functions | |
| WifiPhyStateHelper () | |
| Time | GetDelayUntilIdle (void) |
| Return the time before the state is back to IDLE. More... | |
| Time | GetLastRxStartTime (void) const |
| Return the time the last RX start. More... | |
| enum WifiPhy::State | GetState (void) |
| Return the current state of WifiPhy. More... | |
| Time | GetStateDuration (void) |
| Return the elapsed time of the current state. More... | |
| bool | IsStateBusy (void) |
| Check whether the current state is not IDLE. More... | |
| bool | IsStateCcaBusy (void) |
| Check whether the current state is CCA busy. More... | |
| bool | IsStateIdle (void) |
| Check whether the current state is IDLE. More... | |
| bool | IsStateRx (void) |
| Check whether the current state is RX. More... | |
| bool | IsStateSleep (void) |
| Check whether the current state is SLEEP. More... | |
| bool | IsStateSwitching (void) |
| Check whether the current state is SWITCHING. More... | |
| bool | IsStateTx (void) |
| Check whether the current state is TX. More... | |
| void | RegisterListener (WifiPhyListener *listener) |
| Register WifiPhyListener to this WifiPhyStateHelper. More... | |
| void | SetReceiveErrorCallback (WifiPhy::RxErrorCallback callback) |
| Set a callback for a failed reception. More... | |
| void | SetReceiveOkCallback (WifiPhy::RxOkCallback callback) |
| Set a callback for a successful reception. More... | |
| void | SwitchFromRxEndError (Ptr< Packet > packet, double snr) |
| Switch from RX after the reception failed. More... | |
| void | SwitchFromRxEndOk (Ptr< Packet > packet, double snr, WifiTxVector txVector, enum WifiPreamble preamble) |
| Switch from RX after the reception was successful. More... | |
| void | SwitchFromSleep (Time duration) |
| Switch from sleep mode. More... | |
| void | SwitchMaybeToCcaBusy (Time duration) |
| Switch to CCA busy. More... | |
| void | SwitchToChannelSwitching (Time switchingDuration) |
| Switch state to channel switching for the given duration. More... | |
| void | SwitchToRx (Time rxDuration) |
| Switch state to RX for the given duration. More... | |
| void | SwitchToSleep (void) |
| Switch to sleep mode. More... | |
| void | SwitchToTx (Time txDuration, Ptr< const Packet > packet, double txPowerDbm, WifiTxVector txVector, WifiPreamble preamble) |
| Switch state to TX for the given duration. More... | |
| void | UnregisterListener (WifiPhyListener *listener) |
| Remove WifiPhyListener from this WifiPhyStateHelper. More... | |
Public Member Functions inherited from ns3::Object | |
| Object () | |
| Constructor. More... | |
| virtual | ~Object () |
| Destructor. More... | |
| void | AggregateObject (Ptr< Object > other) |
| Aggregate two Objects together. More... | |
| void | Dispose (void) |
| Dispose of this Object. More... | |
| AggregateIterator | GetAggregateIterator (void) const |
| Get an iterator to the Objects aggregated to this one. More... | |
| virtual TypeId | GetInstanceTypeId (void) const |
| Implement the GetInstanceTypeId method defined in ObjectBase. More... | |
| template<typename T > | |
| Ptr< T > | GetObject (void) const |
| Get a pointer to the requested aggregated Object. More... | |
| template<typename T > | |
| Ptr< T > | GetObject (TypeId tid) const |
| Get a pointer to the requested aggregated Object by TypeId. More... | |
| void | Initialize (void) |
| Invoke DoInitialize on all Objects aggregated to this one. More... | |
| bool | IsInitialized (void) const |
| Check if the object has been initialized. More... | |
Public Member Functions inherited from ns3::SimpleRefCount< Object, ObjectBase, ObjectDeleter > | |
| SimpleRefCount () | |
| Constructor. More... | |
| SimpleRefCount (const SimpleRefCount &o) | |
| Copy constructor. More... | |
| uint32_t | GetReferenceCount (void) const |
| Get the reference count of the object. More... | |
| SimpleRefCount & | operator= (const SimpleRefCount &o) |
| Assignment. More... | |
| void | Ref (void) const |
| Increment the reference count. More... | |
| void | Unref (void) const |
| Decrement the reference count. More... | |
Public Member Functions inherited from ns3::ObjectBase | |
| virtual | ~ObjectBase () |
| Virtual destructor. More... | |
| void | GetAttribute (std::string name, AttributeValue &value) const |
| Get the value of an attribute, raising fatal errors if unsuccessful. More... | |
| bool | GetAttributeFailSafe (std::string name, AttributeValue &value) const |
| Get the value of an attribute without raising erros. More... | |
| void | SetAttribute (std::string name, const AttributeValue &value) |
| Set a single attribute, raising fatal errors if unsuccessful. More... | |
| bool | SetAttributeFailSafe (std::string name, const AttributeValue &value) |
| Set a single attribute without raising errors. More... | |
| bool | TraceConnect (std::string name, std::string context, const CallbackBase &cb) |
| Connect a TraceSource to a Callback with a context. More... | |
| bool | TraceConnectWithoutContext (std::string name, const CallbackBase &cb) |
| Connect a TraceSource to a Callback without a context. More... | |
| bool | TraceDisconnect (std::string name, std::string context, const CallbackBase &cb) |
| Disconnect from a TraceSource a Callback previously connected with a context. More... | |
| bool | TraceDisconnectWithoutContext (std::string name, const CallbackBase &cb) |
| Disconnect from a TraceSource a Callback previously connected without a context. More... | |
Static Public Member Functions | |
| static TypeId | GetTypeId (void) |
Static Public Member Functions inherited from ns3::Object | |
| static TypeId | GetTypeId (void) |
| Register this type. More... | |
Static Public Member Functions inherited from ns3::SimpleRefCount< Object, ObjectBase, ObjectDeleter > | |
| static void | Cleanup (void) |
| Noop. More... | |
Static Public Member Functions inherited from ns3::ObjectBase | |
| static TypeId | GetTypeId (void) |
| Get the type ID. More... | |
Public Attributes | |
| TracedCallback< Time, Time, enum WifiPhy::State > | m_stateLogger |
Private Types | |
| typedef std::vector< WifiPhyListener * > | Listeners |
| typedef for a list of WifiPhyListeners More... | |
| typedef std::vector< WifiPhyListener * >::iterator | ListenersI |
Private Member Functions | |
| void | DoSwitchFromRx (void) |
| Switch the state from RX. More... | |
| void | LogPreviousIdleAndCcaBusyStates (void) |
| Log the ideal and CCA states. More... | |
| void | NotifyMaybeCcaBusyStart (Time duration) |
| Notify all WifiPhyListener that the CCA has started for the given duration. More... | |
| void | NotifyRxEndError (void) |
| Notify all WifiPhyListener that the reception was not successful. More... | |
| void | NotifyRxEndOk (void) |
| Notify all WifiPhyListener that the reception was successful. More... | |
| void | NotifyRxStart (Time duration) |
| Notify all WifiPhyListener that the reception has started for the given duration. More... | |
| void | NotifySleep (void) |
| Notify all WifiPhyListener that we are going to sleep. More... | |
| void | NotifySwitchingStart (Time duration) |
| Notify all WifiPhyListener that we are switching channel with the given channel switching delay. More... | |
| void | NotifyTxStart (Time duration, double txPowerDbm) |
| Notify all WifiPhyListener that the transmission has started for the given duration. More... | |
| void | NotifyWakeup (void) |
| Notify all WifiPhyListener that we woke up. More... | |
Private Attributes | |
| Time | m_endCcaBusy |
| Time | m_endRx |
| 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 |
| bool | m_sleeping |
| Time | m_startCcaBusy |
| Time | m_startRx |
| Time | m_startSleep |
| 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) | |
| Copy an Object. More... | |
| virtual void | DoDispose (void) |
| Destructor implementation. More... | |
| virtual void | DoInitialize (void) |
| Initialize() implementation. More... | |
| virtual void | NotifyNewAggregate (void) |
| Notify all Objects aggregated to this one of a new Object being aggregated. More... | |
Protected Member Functions inherited from ns3::ObjectBase | |
| void | ConstructSelf (const AttributeConstructionList &attributes) |
| Complete construction of ObjectBase; invoked by derived classes. More... | |
| virtual void | NotifyConstructionCompleted (void) |
| Notifier called once the ObjectBase is fully constructed. More... | |
Related Functions inherited from ns3::ObjectBase | |
| static TypeId | GetObjectIid (void) |
| Ensure the TypeId for ObjectBase gets fully configured to anchor the inheritance tree properly. More... | |
This objects implements the PHY state machine of the Wifi device.
ns3::WifiPhyStateHelper is accessible through the following paths with Config::Set and Config::Connect:
No Attributes are defined for this type.
Size of this type is 224 bytes (on a 64-bit architecture).
Definition at line 36 of file wifi-phy-state-helper.h.
|
private |
typedef for a list of WifiPhyListeners
Definition at line 240 of file wifi-phy-state-helper.h.
|
private |
Definition at line 241 of file wifi-phy-state-helper.h.
| typedef void(* ns3::WifiPhyStateHelper::RxEndErrorTracedCallback) (Ptr< const Packet > packet, double snr) |
TracedCallback signature for receive end error event.
| [in] | packet | The received packet. |
| [in] | snr | The SNR of the received packet. |
Definition at line 221 of file wifi-phy-state-helper.h.
| typedef void(* ns3::WifiPhyStateHelper::RxOkTracedCallback) (Ptr< const Packet > packet, double snr, WifiMode mode, WifiPreamble preamble) |
TracedCallback signature for receive end ok event.
| [in] | packet | The received packet. |
| [in] | snr | The SNR of the received packet. |
| [in] | mode | The transmission mode of the packet. |
| [in] | preamble | The preamble of the packet. |
Definition at line 212 of file wifi-phy-state-helper.h.
| typedef void(* ns3::WifiPhyStateHelper::StateTracedCallback) (Time start, Time duration, WifiPhy::State state) |
TracedCallback signature for state changes.
| [in] | start | Time when the state started. |
| [in] | duration | Amount of time we've been in (or will be in) the state. |
| [in] | state | The state. |
Definition at line 201 of file wifi-phy-state-helper.h.
| typedef void(* ns3::WifiPhyStateHelper::TxTracedCallback) (Ptr< const Packet > packet, WifiMode mode, WifiPreamble preamble, uint8_t power) |
TracedCallback signature for transmit event.
| [in] | packet | The received packet. |
| [in] | mode | The transmission mode of the packet. |
| [in] | preamble | The preamble of the packet. |
| [in] | power | The transmit power level. |
Definition at line 232 of file wifi-phy-state-helper.h.
| ns3::WifiPhyStateHelper::WifiPhyStateHelper | ( | ) |
Definition at line 59 of file wifi-phy-state-helper.cc.
References NS_LOG_FUNCTION.
|
private |
Switch the state from RX.
Definition at line 457 of file wifi-phy-state-helper.cc.
References IsStateCcaBusy(), IsStateIdle(), IsStateRx(), m_previousStateChangeTime, m_rxing, m_startRx, m_stateLogger, ns3::Simulator::Now(), NS_ASSERT, and ns3::WifiPhy::RX.
Referenced by SwitchFromRxEndError(), and SwitchFromRxEndOk().
Here is the call graph for this function:
Here is the caller graph for this function:| Time ns3::WifiPhyStateHelper::GetDelayUntilIdle | ( | void | ) |
Return the time before the state is back to IDLE.
Definition at line 153 of file wifi-phy-state-helper.cc.
References ns3::WifiPhy::CCA_BUSY, GetState(), ns3::WifiPhy::IDLE, m_endCcaBusy, m_endRx, m_endSwitching, m_endTx, ns3::Max(), ns3::Simulator::Now(), NS_FATAL_ERROR, ns3::WifiPhy::RX, ns3::Seconds(), ns3::WifiPhy::SLEEP, ns3::WifiPhy::SWITCHING, and ns3::WifiPhy::TX.
Here is the call graph for this function:| Time ns3::WifiPhyStateHelper::GetLastRxStartTime | ( | void | ) | const |
Return the time the last RX start.
Definition at line 188 of file wifi-phy-state-helper.cc.
References m_startRx.
| enum WifiPhy::State ns3::WifiPhyStateHelper::GetState | ( | void | ) |
Return the current state of WifiPhy.
Definition at line 194 of file wifi-phy-state-helper.cc.
References ns3::WifiPhy::CCA_BUSY, ns3::WifiPhy::IDLE, m_endCcaBusy, m_endSwitching, m_endTx, m_rxing, m_sleeping, ns3::Simulator::Now(), ns3::WifiPhy::RX, ns3::WifiPhy::SLEEP, ns3::WifiPhy::SWITCHING, and ns3::WifiPhy::TX.
Referenced by GetDelayUntilIdle(), IsStateBusy(), IsStateCcaBusy(), IsStateIdle(), IsStateRx(), IsStateSleep(), IsStateSwitching(), IsStateTx(), SwitchMaybeToCcaBusy(), SwitchToChannelSwitching(), SwitchToRx(), SwitchToSleep(), and SwitchToTx().
Here is the call graph for this function:
Here is the caller graph for this function:| Time ns3::WifiPhyStateHelper::GetStateDuration | ( | void | ) |
Return the elapsed time of the current state.
Definition at line 147 of file wifi-phy-state-helper.cc.
References m_previousStateChangeTime, and ns3::Simulator::Now().
Here is the call graph for this function:
|
static |
Definition at line 34 of file wifi-phy-state-helper.cc.
References m_rxErrorTrace, m_rxOkTrace, m_stateLogger, m_txTrace, ns3::MakeTraceSourceAccessor(), and ns3::TypeId::SetParent().
Here is the call graph for this function:| bool ns3::WifiPhyStateHelper::IsStateBusy | ( | void | ) |
Check whether the current state is not IDLE.
Definition at line 111 of file wifi-phy-state-helper.cc.
References GetState(), and ns3::WifiPhy::IDLE.
Here is the call graph for this function:| bool ns3::WifiPhyStateHelper::IsStateCcaBusy | ( | void | ) |
Check whether the current state is CCA busy.
Definition at line 117 of file wifi-phy-state-helper.cc.
References ns3::WifiPhy::CCA_BUSY, and GetState().
Referenced by DoSwitchFromRx(), and SwitchToRx().
Here is the call graph for this function:
Here is the caller graph for this function:| bool ns3::WifiPhyStateHelper::IsStateIdle | ( | void | ) |
Check whether the current state is IDLE.
Definition at line 105 of file wifi-phy-state-helper.cc.
References GetState(), and ns3::WifiPhy::IDLE.
Referenced by DoSwitchFromRx(), and SwitchToRx().
Here is the call graph for this function:
Here is the caller graph for this function:| bool ns3::WifiPhyStateHelper::IsStateRx | ( | void | ) |
Check whether the current state is RX.
Definition at line 123 of file wifi-phy-state-helper.cc.
References GetState(), and ns3::WifiPhy::RX.
Referenced by DoSwitchFromRx(), and SwitchToRx().
Here is the call graph for this function:
Here is the caller graph for this function:| bool ns3::WifiPhyStateHelper::IsStateSleep | ( | void | ) |
Check whether the current state is SLEEP.
Definition at line 141 of file wifi-phy-state-helper.cc.
References GetState(), and ns3::WifiPhy::SLEEP.
Referenced by SwitchFromSleep(), and SwitchToSleep().
Here is the call graph for this function:
Here is the caller graph for this function:| bool ns3::WifiPhyStateHelper::IsStateSwitching | ( | void | ) |
Check whether the current state is SWITCHING.
Definition at line 135 of file wifi-phy-state-helper.cc.
References GetState(), and ns3::WifiPhy::SWITCHING.
Referenced by SwitchToChannelSwitching().
Here is the call graph for this function:
Here is the caller graph for this function:| bool ns3::WifiPhyStateHelper::IsStateTx | ( | void | ) |
Check whether the current state is TX.
Definition at line 129 of file wifi-phy-state-helper.cc.
References GetState(), and ns3::WifiPhy::TX.
Here is the call graph for this function:
|
private |
Log the ideal and CCA states.
Definition at line 295 of file wifi-phy-state-helper.cc.
References ns3::WifiPhy::CCA_BUSY, ns3::WifiPhy::IDLE, m_endCcaBusy, m_endRx, m_endSwitching, m_endTx, m_startCcaBusy, m_stateLogger, ns3::Max(), ns3::Simulator::Now(), and NS_ASSERT.
Referenced by SwitchMaybeToCcaBusy(), SwitchToChannelSwitching(), SwitchToRx(), SwitchToSleep(), and SwitchToTx().
Here is the call graph for this function:
Here is the caller graph for this function:
|
private |
Notify all WifiPhyListener that the CCA has started for the given duration.
| duration | the duration of the CCA state |
Definition at line 259 of file wifi-phy-state-helper.cc.
References m_listeners.
Referenced by SwitchFromSleep(), and SwitchMaybeToCcaBusy().
Here is the caller graph for this function:
|
private |
Notify all WifiPhyListener that the reception was not successful.
Definition at line 250 of file wifi-phy-state-helper.cc.
References m_listeners.
Referenced by SwitchFromRxEndError().
Here is the caller graph for this function:
|
private |
Notify all WifiPhyListener that the reception was successful.
Definition at line 241 of file wifi-phy-state-helper.cc.
References m_listeners.
Referenced by SwitchFromRxEndOk().
Here is the caller graph for this function:
|
private |
Notify all WifiPhyListener that the reception has started for the given duration.
| duration | the duration of the reception |
Definition at line 232 of file wifi-phy-state-helper.cc.
References m_listeners.
Referenced by SwitchToRx().
Here is the caller graph for this function:
|
private |
Notify all WifiPhyListener that we are going to sleep.
Definition at line 277 of file wifi-phy-state-helper.cc.
References m_listeners.
Referenced by SwitchToSleep().
Here is the caller graph for this function:
|
private |
Notify all WifiPhyListener that we are switching channel with the given channel switching delay.
| duration | the delay to switch the channel |
Definition at line 268 of file wifi-phy-state-helper.cc.
References m_listeners.
Referenced by SwitchToChannelSwitching().
Here is the caller graph for this function:
|
private |
Notify all WifiPhyListener that the transmission has started for the given duration.
| duration | the duration of the transmission |
| txPowerDbm | the nominal tx power in dBm |
Definition at line 223 of file wifi-phy-state-helper.cc.
References m_listeners.
Referenced by SwitchToTx().
Here is the caller graph for this function:
|
private |
Notify all WifiPhyListener that we woke up.
Definition at line 286 of file wifi-phy-state-helper.cc.
References m_listeners.
Referenced by SwitchFromSleep().
Here is the caller graph for this function:| void ns3::WifiPhyStateHelper::RegisterListener | ( | WifiPhyListener * | listener | ) |
Register WifiPhyListener to this WifiPhyStateHelper.
| listener |
Definition at line 89 of file wifi-phy-state-helper.cc.
References m_listeners.
| void ns3::WifiPhyStateHelper::SetReceiveErrorCallback | ( | WifiPhy::RxErrorCallback | callback | ) |
Set a callback for a failed reception.
| callback |
Definition at line 83 of file wifi-phy-state-helper.cc.
References m_rxErrorCallback.
| void ns3::WifiPhyStateHelper::SetReceiveOkCallback | ( | WifiPhy::RxOkCallback | callback | ) |
Set a callback for a successful reception.
| callback |
Definition at line 77 of file wifi-phy-state-helper.cc.
References m_rxOkCallback.
Switch from RX after the reception failed.
| packet | the packet that we failed to received |
| snr | the SNR of the received packet |
Definition at line 445 of file wifi-phy-state-helper.cc.
References DoSwitchFromRx(), ns3::Callback< R, T1, T2, T3, T4, T5, T6, T7, T8, T9 >::IsNull(), m_rxErrorCallback, m_rxErrorTrace, and NotifyRxEndError().
Here is the call graph for this function:| void ns3::WifiPhyStateHelper::SwitchFromRxEndOk | ( | Ptr< Packet > | packet, |
| double | snr, | ||
| WifiTxVector | txVector, | ||
| enum WifiPreamble | preamble | ||
| ) |
Switch from RX after the reception was successful.
| packet | the successfully received packet |
| snr | the SNR of the received packet |
| txVector | TXVECTOR of the packet |
| preamble | the preamble of the received packet |
Definition at line 432 of file wifi-phy-state-helper.cc.
References DoSwitchFromRx(), ns3::WifiTxVector::GetMode(), ns3::Callback< R, T1, T2, T3, T4, T5, T6, T7, T8, T9 >::IsNull(), m_rxOkCallback, m_rxOkTrace, and NotifyRxEndOk().
Here is the call graph for this function:| void ns3::WifiPhyStateHelper::SwitchFromSleep | ( | Time | duration | ) |
Switch from sleep mode.
| duration | the duration of CCA busy state |
Definition at line 529 of file wifi-phy-state-helper.cc.
References IsStateSleep(), m_endCcaBusy, m_previousStateChangeTime, m_sleeping, m_startSleep, m_stateLogger, max, NotifyMaybeCcaBusyStart(), NotifyWakeup(), ns3::Simulator::Now(), NS_ASSERT, and ns3::WifiPhy::SLEEP.
Here is the call graph for this function:| void ns3::WifiPhyStateHelper::SwitchMaybeToCcaBusy | ( | Time | duration | ) |
Switch to CCA busy.
| duration | the duration of CCA busy state |
Definition at line 471 of file wifi-phy-state-helper.cc.
References ns3::WifiPhy::CCA_BUSY, GetState(), ns3::WifiPhy::IDLE, LogPreviousIdleAndCcaBusyStates(), m_endCcaBusy, m_startCcaBusy, max, NotifyMaybeCcaBusyStart(), ns3::Simulator::Now(), ns3::WifiPhy::RX, ns3::WifiPhy::SLEEP, ns3::WifiPhy::SWITCHING, and ns3::WifiPhy::TX.
Here is the call graph for this function:| void ns3::WifiPhyStateHelper::SwitchToChannelSwitching | ( | Time | switchingDuration | ) |
Switch state to channel switching for the given duration.
| switchingDuration | the duration of required to switch the channel |
Definition at line 387 of file wifi-phy-state-helper.cc.
References ns3::WifiPhy::CCA_BUSY, GetState(), ns3::WifiPhy::IDLE, IsStateSwitching(), LogPreviousIdleAndCcaBusyStates(), m_endCcaBusy, m_endRx, m_endSwitching, m_endTx, m_previousStateChangeTime, m_rxing, m_startCcaBusy, m_startRx, m_startSwitching, m_stateLogger, ns3::Max(), NotifySwitchingStart(), ns3::Simulator::Now(), NS_ASSERT, NS_FATAL_ERROR, ns3::WifiPhy::RX, ns3::WifiPhy::SLEEP, ns3::WifiPhy::SWITCHING, and ns3::WifiPhy::TX.
Here is the call graph for this function:| void ns3::WifiPhyStateHelper::SwitchToRx | ( | Time | rxDuration | ) |
Switch state to RX for the given duration.
| rxDuration | the duration of the RX |
Definition at line 354 of file wifi-phy-state-helper.cc.
References ns3::WifiPhy::CCA_BUSY, GetState(), ns3::WifiPhy::IDLE, IsStateCcaBusy(), IsStateIdle(), IsStateRx(), LogPreviousIdleAndCcaBusyStates(), m_endRx, m_endSwitching, m_endTx, m_previousStateChangeTime, m_rxing, m_startCcaBusy, m_startRx, m_stateLogger, ns3::Max(), NotifyRxStart(), ns3::Simulator::Now(), NS_ASSERT, NS_FATAL_ERROR, ns3::WifiPhy::RX, ns3::WifiPhy::SLEEP, ns3::WifiPhy::SWITCHING, and ns3::WifiPhy::TX.
Here is the call graph for this function:| void ns3::WifiPhyStateHelper::SwitchToSleep | ( | void | ) |
Switch to sleep mode.
Definition at line 499 of file wifi-phy-state-helper.cc.
References ns3::WifiPhy::CCA_BUSY, GetState(), ns3::WifiPhy::IDLE, IsStateSleep(), LogPreviousIdleAndCcaBusyStates(), m_endRx, m_endSwitching, m_endTx, m_previousStateChangeTime, m_sleeping, m_startCcaBusy, m_startSleep, m_stateLogger, ns3::Max(), NotifySleep(), ns3::Simulator::Now(), NS_ASSERT, NS_FATAL_ERROR, ns3::WifiPhy::RX, ns3::WifiPhy::SLEEP, ns3::WifiPhy::SWITCHING, and ns3::WifiPhy::TX.
Here is the call graph for this function:| void ns3::WifiPhyStateHelper::SwitchToTx | ( | Time | txDuration, |
| Ptr< const Packet > | packet, | ||
| double | txPowerDbm, | ||
| WifiTxVector | txVector, | ||
| WifiPreamble | preamble | ||
| ) |
Switch state to TX for the given duration.
| txDuration | the duration of the TX |
| packet | the packet |
| txPowerDbm | the nominal tx power in dBm |
| txVector | the tx vector of the packet |
| preamble | the preamble of the packet |
Definition at line 315 of file wifi-phy-state-helper.cc.
References ns3::WifiPhy::CCA_BUSY, ns3::WifiTxVector::GetMode(), GetState(), ns3::WifiTxVector::GetTxPowerLevel(), ns3::WifiPhy::IDLE, LogPreviousIdleAndCcaBusyStates(), m_endRx, m_endSwitching, m_endTx, m_previousStateChangeTime, m_rxing, m_startCcaBusy, m_startRx, m_startTx, m_stateLogger, m_txTrace, ns3::Max(), NotifyTxStart(), ns3::Simulator::Now(), NS_FATAL_ERROR, ns3::WifiPhy::RX, ns3::WifiPhy::SLEEP, ns3::WifiPhy::SWITCHING, and ns3::WifiPhy::TX.
Here is the call graph for this function:| void ns3::WifiPhyStateHelper::UnregisterListener | ( | WifiPhyListener * | listener | ) |
Remove WifiPhyListener from this WifiPhyStateHelper.
| listener |
Definition at line 95 of file wifi-phy-state-helper.cc.
References m_listeners.
|
private |
Definition at line 299 of file wifi-phy-state-helper.h.
Referenced by GetDelayUntilIdle(), GetState(), LogPreviousIdleAndCcaBusyStates(), SwitchFromSleep(), SwitchMaybeToCcaBusy(), and SwitchToChannelSwitching().
|
private |
Definition at line 298 of file wifi-phy-state-helper.h.
Referenced by GetDelayUntilIdle(), LogPreviousIdleAndCcaBusyStates(), SwitchToChannelSwitching(), SwitchToRx(), SwitchToSleep(), and SwitchToTx().
|
private |
Definition at line 300 of file wifi-phy-state-helper.h.
Referenced by GetDelayUntilIdle(), GetState(), LogPreviousIdleAndCcaBusyStates(), SwitchToChannelSwitching(), SwitchToRx(), SwitchToSleep(), and SwitchToTx().
|
private |
Definition at line 297 of file wifi-phy-state-helper.h.
Referenced by GetDelayUntilIdle(), GetState(), LogPreviousIdleAndCcaBusyStates(), SwitchToChannelSwitching(), SwitchToRx(), SwitchToSleep(), and SwitchToTx().
|
private |
Definition at line 308 of file wifi-phy-state-helper.h.
Referenced by NotifyMaybeCcaBusyStart(), NotifyRxEndError(), NotifyRxEndOk(), NotifyRxStart(), NotifySleep(), NotifySwitchingStart(), NotifyTxStart(), NotifyWakeup(), RegisterListener(), and UnregisterListener().
|
private |
Definition at line 306 of file wifi-phy-state-helper.h.
Referenced by DoSwitchFromRx(), GetStateDuration(), SwitchFromSleep(), SwitchToChannelSwitching(), SwitchToRx(), SwitchToSleep(), and SwitchToTx().
|
private |
Definition at line 313 of file wifi-phy-state-helper.h.
Referenced by SetReceiveErrorCallback(), and SwitchFromRxEndError().
|
private |
Definition at line 310 of file wifi-phy-state-helper.h.
Referenced by GetTypeId(), and SwitchFromRxEndError().
|
private |
Definition at line 295 of file wifi-phy-state-helper.h.
Referenced by DoSwitchFromRx(), GetState(), SwitchToChannelSwitching(), SwitchToRx(), and SwitchToTx().
|
private |
Definition at line 312 of file wifi-phy-state-helper.h.
Referenced by SetReceiveOkCallback(), and SwitchFromRxEndOk().
|
private |
Definition at line 309 of file wifi-phy-state-helper.h.
Referenced by GetTypeId(), and SwitchFromRxEndOk().
|
private |
Definition at line 296 of file wifi-phy-state-helper.h.
Referenced by GetState(), SwitchFromSleep(), and SwitchToSleep().
|
private |
Definition at line 303 of file wifi-phy-state-helper.h.
Referenced by LogPreviousIdleAndCcaBusyStates(), SwitchMaybeToCcaBusy(), SwitchToChannelSwitching(), SwitchToRx(), SwitchToSleep(), and SwitchToTx().
|
private |
Definition at line 302 of file wifi-phy-state-helper.h.
Referenced by DoSwitchFromRx(), GetLastRxStartTime(), SwitchToChannelSwitching(), SwitchToRx(), and SwitchToTx().
|
private |
Definition at line 305 of file wifi-phy-state-helper.h.
Referenced by SwitchFromSleep(), and SwitchToSleep().
|
private |
Definition at line 304 of file wifi-phy-state-helper.h.
Referenced by SwitchToChannelSwitching().
|
private |
Definition at line 301 of file wifi-phy-state-helper.h.
Referenced by SwitchToTx().
| TracedCallback<Time, Time, enum WifiPhy::State> ns3::WifiPhyStateHelper::m_stateLogger |
Definition at line 190 of file wifi-phy-state-helper.h.
Referenced by DoSwitchFromRx(), GetTypeId(), LogPreviousIdleAndCcaBusyStates(), SwitchFromSleep(), SwitchToChannelSwitching(), SwitchToRx(), SwitchToSleep(), and SwitchToTx().
|
private |
Definition at line 311 of file wifi-phy-state-helper.h.
Referenced by GetTypeId(), and SwitchToTx().