36 : m_flags (CHECK_ON_DESTROY),
45 : m_flags (destroyPolicy),
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.
void Remove(void)
This method is syntactic sugar for the ns3::Simulator::Remove method.
bool IsExpired(void) const
This method is syntactic sugar for the ns3::Simulator::IsExpired method.
static Time GetDelayLeft(const EventId &id)
Get the remaining time until this event will execute.
Simulation virtual time values and global simulation resolution.
void SetDelay(const Time &delay)
void Suspend(void)
Pause the timer and save the amount of time left until it was set to expire.
bool IsExpired(void) const
void Remove(void)
Remove from the simulation event-list the currently-running event if there is one.
TimerImpl * m_impl
The timer implementation, which contains the bound callback function and arguments.
Timer()
Create a timer with a default event lifetime management policy:
EventId m_event
The future event scheduled to expire the timer.
bool IsRunning(void) const
int m_flags
Bitfield for Timer State, DestroyPolicy and InternalSuspended.
DestroyPolicy
The policy to use to manager the internal timer when an instance of the Timer class is destroyed or s...
@ CANCEL_ON_DESTROY
This policy cancels the event from the destructor of the Timer or from Suspend().
@ CHECK_ON_DESTROY
This policy enforces a check from the destructor of the Timer to verify that the timer has already ex...
@ REMOVE_ON_DESTROY
This policy removes the event from the simulation event list when the destructor of the Timer is invo...
State
The possible states of the Timer.
@ RUNNING
Timer is currently running.
@ EXPIRED
Timer has already expired.
@ SUSPENDED
Timer is suspended.
enum Timer::State GetState(void) const
Time GetDelayLeft(void) const
void Resume(void)
Restart the timer to expire within the amount of time left saved during Suspend.
void Schedule(void)
Schedule a new event using the currently-configured delay, function, and arguments.
void Cancel(void)
Cancel the currently-running event if there is one.
Time GetDelay(void) const
Time m_delay
The delay configured for this Timer.
Time m_delayLeft
The amount of time left on the Timer while it is suspended.
bool IsSuspended(void) const
virtual EventId Schedule(const Time &delay)=0
Schedule the callback for a future time.
#define NS_ASSERT(condition)
At runtime, in debugging builds, if this condition is not true, the program prints the source file,...
#define NS_FATAL_ERROR(msg)
Report a fatal error with a message and terminate.
#define NS_LOG_COMPONENT_DEFINE(name)
Define a Log component with a specific name.
#define NS_LOG_FUNCTION(parameters)
If log level LOG_FUNCTION is enabled, this macro will output all input parameters separated by ",...
Time FemtoSeconds(uint64_t value)
Construct a Time in the indicated unit.
Every class exported by the ns3 library is enclosed in the ns3 namespace.
ns3::SimulationSingleton declaration and template implementation.
ns3::Simulator declaration.
ns3::Timer class declaration.