25 #include "ns3/event-id.h"
26 #include "ns3/nstime.h"
336 typedef std::vector<Ptr<DcfState> >
States;
void NotifyWakeupNow(void)
Notify the DCF that the device has been resumed from sleep mode.
Simulation virtual time values and global simulation resolution.
Time GetBackoffStartFor(Ptr< DcfState > state)
Return the time when the backoff procedure started for the given DcfState.
bool m_lastRxReceivedOk
the last receive OK
bool m_off
flag whether it is in off state
Time m_eifsNoDifs
EIFS no DIFS time.
Time m_lastBusyStart
the last busy start time
Time m_lastAckTimeoutEnd
the last ACK timeout end time
void UpdateBackoff(void)
Update backoff slots for all DcfStates.
Time m_lastCtsTimeoutEnd
the last CTS timeout end time
Time m_lastSwitchingDuration
the last switching duration time
Time GetBackoffEndFor(Ptr< DcfState > state)
Return the time when the backoff procedure ended (or will ended) for the given DcfState.
void DoGrantAccess(void)
Grant access to DCF.
void NotifyNavResetNow(Time duration)
void NotifyCtsTimeoutStartNow(Time duration)
Notify that CTS timer has started for the given duration.
std::vector< Ptr< DcfState > > States
typedef for a vector of DcfStates
void NotifyRxEndOkNow(void)
Notify the DCF that a packet reception was just completed successfully.
PhyListener * m_phyListener
the phy listener
Time GetAccessGrantStart(void) const
Access will never be granted to the medium before the time returned by this method.
void NotifyTxStartNow(Time duration)
void RemovePhyListener(Ptr< WifiPhy > phy)
Remove current registered listener for Phy events.
void NotifyAckTimeoutStartNow(Time duration)
Notify that ACK timer has started for the given duration.
void SetupPhyListener(Ptr< WifiPhy > phy)
Set up listener for Phy events.
Manage a set of ns3::DcfStateHandle a set of independent ns3::DcfState, each of which represents a si...
void SetupLow(Ptr< MacLow > low)
Set up listener for MacLow events.
Time m_lastBusyDuration
the last busy duration time
double f(double x, void *params)
Every class exported by the ns3 library is enclosed in the ns3 namespace.
void Add(Ptr< DcfState > dcf)
void NotifyRxEndErrorNow(void)
Notify the DCF that a packet reception was just completed unsuccessfully.
Time m_lastSwitchingStart
the last switching start time
void SetEifsNoDifs(Time eifsNoDifs)
bool m_sleeping
flag whether it is in sleeping state
Time m_lastRxEnd
the last receive end time
void NotifyMaybeCcaBusyStartNow(Time duration)
void AccessTimeout(void)
Called when access timeout should occur (e.g.
Time m_lastNavStart
the last NAV start time
Time m_lastNavDuration
the last NAV duration time
void SetSlot(Time slotTime)
void NotifyAckTimeoutResetNow()
Notify that ACK timer has resetted.
void DoDispose(void)
Destructor implementation.
void NotifyOnNow(void)
Notify the DCF that the device has been resumed from off mode.
void NotifyNavStartNow(Time duration)
An identifier for simulation events.
void NotifyRxStartNow(Time duration)
bool m_rxing
flag whether it is in receiving state
Time GetEifsNoDifs() const
void RequestAccess(Ptr< DcfState > state)
void NotifySleepNow(void)
Notify the DCF that the device has been put in sleep mode.
void NotifyCtsTimeoutResetNow()
Notify that CTS timer has resetted.
States m_states
the DCF states
bool IsBusy(void) const
Check if the device is busy sending or receiving, or NAV or CCA busy.
Time m_lastTxDuration
the last transmit duration time
void DoRestartAccessTimeoutIfNeeded(void)
EventId m_accessTimeout
the access timeout ID
A base class which provides memory management and object aggregation.
Time m_lastTxStart
the last transmit start time
void NotifyOffNow(void)
Notify the DCF that the device has been put in off mode.
bool IsWithinAifs(Ptr< DcfState > state) const
Check if the device is between frames (in DIFS or AIFS interval)
void NotifySwitchingStartNow(Time duration)
uint32_t m_slotTimeUs
the slot time in microseconds
Time MostRecent(Time a, Time b) const
Return the most recent time.
Time m_lastRxDuration
the last receive duration time
Time m_lastRxStart
the last receive start time