122 template <
typename FN>
132 template <
typename MEM_PTR,
typename OBJ_PTR>
141 template <
typename T1>
149 template <
typename T1,
typename T2>
158 template <
typename T1,
typename T2,
typename T3>
168 template <
typename T1,
typename T2,
typename T3,
typename T4>
179 template <
typename T1,
typename T2,
typename T3,
typename T4,
typename T5>
191 template <
typename T1,
typename T2,
typename T3,
typename T4,
typename T5,
typename T6>
192 void SetArguments (T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6);
307 template <
typename FN>
314 template <
typename MEM_PTR,
typename OBJ_PTR>
322 template <
typename T1>
328 NS_FATAL_ERROR (
"You cannot set the arguments of a Timer before setting its function.");
333 template <
typename T1,
typename T2>
339 NS_FATAL_ERROR (
"You cannot set the arguments of a Timer before setting its function.");
345 template <
typename T1,
typename T2,
typename T3>
351 NS_FATAL_ERROR (
"You cannot set the arguments of a Timer before setting its function.");
357 template <
typename T1,
typename T2,
typename T3,
typename T4>
363 NS_FATAL_ERROR (
"You cannot set the arguments of a Timer before setting its function.");
369 template <
typename T1,
typename T2,
typename T3,
typename T4,
typename T5>
375 NS_FATAL_ERROR (
"You cannot set the arguments of a Timer before setting its function.");
381 template <
typename T1,
typename T2,
typename T3,
typename T4,
typename T5,
typename T6>
387 NS_FATAL_ERROR (
"You cannot set the arguments of a Timer before setting its function.");
NS_FATAL_x macro definitions.
Simulation virtual time values and global simulation resolution.
TimerImpl * MakeTimerImpl(FN fn)
Make a TimerImpl from a function pointer taking varying numbers of arguments.
Timer()
Create a timer with a default event lifetime management policy:
Timer is currently running.
Time GetDelayLeft(void) const
bool IsSuspended(void) const
#define NS_FATAL_ERROR(msg)
Report a fatal error with a message and terminate.
Time m_delay
The delay configured for this Timer.
This policy enforces a check from the destructor of the Timer to verify that the timer has already ex...
void Schedule(void)
Schedule a new event using the currently-configured delay, function, and arguments.
void Remove(void)
Remove from the simulation event-list the currently-running event if there is one.
InternalSuspended
Internal bit marking the suspended state.
Time m_delayLeft
The amount of time left on the Timer while it is suspended.
Declaration of classes ns3::Time and ns3::TimeWithUnit, and the TimeValue implementation classes...
ns3::IntToType template class.
void SetDelay(const Time &delay)
int m_flags
Bitfield for Timer State, DestroyPolicy and InternalSuspended.
This policy cancels the event from the destructor of the Timer to verify that the event has already e...
This policy removes the event from the simulation event list when the destructor of the Timer is invo...
Every class exported by the ns3 library is enclosed in the ns3 namespace.
void Resume(void)
Restart the timer to expire within the amount of time left saved during Suspend.
State
The possible states of the Timer.
The timer implementation underlying Timer and Watchdog.
bool IsRunning(void) const
Timer has already expired.
An identifier for simulation events.
enum Timer::State GetState(void) const
TimerImpl * m_impl
The timer implementation, which contains the bound callback function and arguments.
EventId m_event
The future event scheduled to expire the timer.
void Cancel(void)
Cancel the currently-running event if there is one.
DestroyPolicy
The policy to use to manager the internal timer when an instance of the Timer class is destroyed...
void Suspend(void)
Cancel the timer and save the amount of time left until it was set to expire.
void SetArgs(T1 a1)
Set the arguments to be used when invoking the expire function.
Time GetDelay(void) const
ns3::TimerImpl declaration and implementation.
bool IsExpired(void) const
ns3::EventId declarations.