33 : m_reason (NOT_RUNNING),
82 FOO (NORMAL_ACK_AFTER_DL_MU_PPDU);
83 FOO (BLOCK_ACKS_IN_TB_PPDU);
84 FOO (TB_PPDU_AFTER_BASIC_TF);
85 FOO (QOS_NULL_AFTER_BSRP_TF);
86 FOO (BLOCK_ACK_AFTER_TB_PPDU);
151 std::size_t nTotalStations)
bool IsNull(void) const
Check for null implementation.
bool IsRunning(void) const
This method is syntactic sugar for !IsExpired().
void Cancel(void)
This method is syntactic sugar for the ns3::Simulator::Cancel method.
static EventId Schedule(Time const &delay, FUNC f, Ts &&... args)
Schedule an event to expire after delay.
static Time GetDelayLeft(const EventId &id)
Get the remaining time until this event will execute.
Simulation virtual time values and global simulation resolution.
TimeWithUnit As(const enum Unit unit=Time::AUTO) const
Attach a unit to a Time, to facilitate output in a specific unit.
Reason GetReason(void) const
Get the reason why the timer was started.
Time GetDelayLeft(void) const
Get the remaining time until the timer will expire.
bool IsRunning(void) const
Return true if the timer is running.
Ptr< EventImpl > m_endRxEvent
event to schedule upon RXSTART.indication
Reason
The reason why the timer was started.
MpduResponseTimeout m_mpduResponseTimeoutCallback
the MPDU response timeout callback
void FeedTraceSource(Ptr< WifiMacQueueItem > item, WifiTxVector txVector)
This method is called when the timer expires to feed the MPDU response timeout callback.
void Cancel(void)
Cancel the timer.
PsduMapResponseTimeout m_psduMapResponseTimeoutCallback
the PSDU map response timeout callback
Reason m_reason
the reason why the timer was started
void SetPsduMapResponseTimeoutCallback(PsduMapResponseTimeout callback) const
Set the callback to invoke when the TX timer following the transmission of a PSDU map expires.
WifiTxTimer()
Default constructor.
PsduResponseTimeout m_psduResponseTimeoutCallback
the PSDU response timeout callback
std::string GetReasonString(Reason reason) const
Get a string associated with the given reason.
void SetMpduResponseTimeoutCallback(MpduResponseTimeout callback) const
Set the callback to invoke when the TX timer following the transmission of an MPDU expires.
void SetPsduResponseTimeoutCallback(PsduResponseTimeout callback) const
Set the callback to invoke when the TX timer following the transmission of a PSDU expires.
void Reschedule(const Time &delay)
Reschedule the timer to time out the given amount of time from the moment this function is called.
bool m_rescheduled
whether the timer has been already rescheduled
EventId m_timeoutEvent
the timeout event after a missing response
This class mimics the TXVECTOR which is to be passed to the PHY in order to define the parameters whi...
#define NS_ASSERT(condition)
At runtime, in debugging builds, if this condition is not true, the program prints the source file,...
#define NS_ABORT_MSG(msg)
Unconditional abnormal program termination with a message.
#define NS_LOG_COMPONENT_DEFINE(name)
Define a Log component with a specific name.
#define NS_LOG_DEBUG(msg)
Use NS_LOG to output a message of level LOG_DEBUG.
#define NS_LOG_FUNCTION(parameters)
If log level LOG_FUNCTION is enabled, this macro will output all input parameters separated by ",...
Every class exported by the ns3 library is enclosed in the ns3 namespace.
std::unordered_map< uint16_t, Ptr< WifiPsdu > > WifiPsduMap
Map of PSDUs indexed by STA-ID.