122 static void Run (
void);
125 static void Stop (
void);
128 static void Stop (
Time const &time);
148 template <
typename MEM,
typename OBJ>
158 template <
typename MEM,
typename OBJ,
typename T1>
169 template <
typename MEM,
typename OBJ,
typename T1,
typename T2>
181 template <
typename MEM,
typename OBJ,
182 typename T1,
typename T2,
typename T3>
195 template <
typename MEM,
typename OBJ,
196 typename T1,
typename T2,
typename T3,
typename T4>
197 static EventId Schedule (
Time const &time, MEM mem_ptr, OBJ obj, T1 a1, T2 a2, T3 a3, T4 a4);
210 template <
typename MEM,
typename OBJ,
211 typename T1,
typename T2,
typename T3,
typename T4,
typename T5>
213 T1 a1, T2 a2, T3 a3, T4 a4, T5 a5);
227 template <
typename U1,
typename T1>
237 template <
typename U1,
typename U2,
typename T1,
typename T2>
248 template <
typename U1,
typename U2,
typename U3,
typename T1,
typename T2,
typename T3>
260 template <
typename U1,
typename U2,
typename U3,
typename U4,
261 typename T1,
typename T2,
typename T3,
typename T4>
262 static EventId Schedule (
Time const &time,
void (*f)(U1,U2,U3,U4), T1 a1, T2 a2, T3 a3, T4 a4);
274 template <
typename U1,
typename U2,
typename U3,
typename U4,
typename U5,
275 typename T1,
typename T2,
typename T3,
typename T4,
typename T5>
276 static EventId Schedule (
Time const &time,
void (*f)(U1,U2,U3,U4,U5), T1 a1, T2 a2, T3 a3, T4 a4, T5 a5);
296 template <
typename MEM,
typename OBJ>
308 template <
typename MEM,
typename OBJ,
typename T1>
321 template <
typename MEM,
typename OBJ,
typename T1,
typename T2>
335 template <
typename MEM,
typename OBJ,
336 typename T1,
typename T2,
typename T3>
337 static void ScheduleWithContext (uint32_t context,
Time const &time, MEM mem_ptr, OBJ obj, T1 a1, T2 a2, T3 a3);
351 template <
typename MEM,
typename OBJ,
352 typename T1,
typename T2,
typename T3,
typename T4>
353 static void ScheduleWithContext (uint32_t context,
Time const &time, MEM mem_ptr, OBJ obj, T1 a1, T2 a2, T3 a3, T4 a4);
368 template <
typename MEM,
typename OBJ,
369 typename T1,
typename T2,
typename T3,
typename T4,
typename T5>
371 T1 a1, T2 a2, T3 a3, T4 a4, T5 a5);
389 template <
typename U1,
typename T1>
401 template <
typename U1,
typename U2,
typename T1,
typename T2>
414 template <
typename U1,
typename U2,
typename U3,
typename T1,
typename T2,
typename T3>
415 static void ScheduleWithContext (uint32_t context,
Time const &time,
void (*f)(U1,U2,U3), T1 a1, T2 a2, T3 a3);
428 template <
typename U1,
typename U2,
typename U3,
typename U4,
429 typename T1,
typename T2,
typename T3,
typename T4>
430 static void ScheduleWithContext (uint32_t context,
Time const &time,
void (*f)(U1,U2,U3,U4), T1 a1, T2 a2, T3 a3, T4 a4);
444 template <
typename U1,
typename U2,
typename U3,
typename U4,
typename U5,
445 typename T1,
typename T2,
typename T3,
typename T4,
typename T5>
446 static void ScheduleWithContext (uint32_t context,
Time const &time,
void (*f)(U1,U2,U3,U4,U5), T1 a1, T2 a2, T3 a3, T4 a4, T5 a5);
463 template <
typename MEM,
typename OBJ>
472 template <
typename MEM,
typename OBJ,
483 template <
typename MEM,
typename OBJ,
484 typename T1,
typename T2>
495 template <
typename MEM,
typename OBJ,
496 typename T1,
typename T2,
typename T3>
508 template <
typename MEM,
typename OBJ,
509 typename T1,
typename T2,
typename T3,
typename T4>
511 T1 a1, T2 a2, T3 a3, T4 a4);
522 template <
typename MEM,
typename OBJ,
523 typename T1,
typename T2,
typename T3,
typename T4,
typename T5>
525 T1 a1, T2 a2, T3 a3, T4 a4, T5 a5);
537 template <
typename U1,
547 template <
typename U1,
typename U2,
548 typename T1,
typename T2>
558 template <
typename U1,
typename U2,
typename U3,
559 typename T1,
typename T2,
typename T3>
570 template <
typename U1,
typename U2,
typename U3,
typename U4,
571 typename T1,
typename T2,
typename T3,
typename T4>
583 template <
typename U1,
typename U2,
typename U3,
typename U4,
typename U5,
584 typename T1,
typename T2,
typename T3,
typename T4,
typename T5>
585 static EventId ScheduleNow (
void (*f)(U1,U2,U3,U4,U5), T1 a1, T2 a2, T3 a3, T4 a4, T5 a5);
603 template <
typename MEM,
typename OBJ>
612 template <
typename MEM,
typename OBJ,
623 template <
typename MEM,
typename OBJ,
624 typename T1,
typename T2>
635 template <
typename MEM,
typename OBJ,
636 typename T1,
typename T2,
typename T3>
648 template <
typename MEM,
typename OBJ,
649 typename T1,
typename T2,
typename T3,
typename T4>
651 T1 a1, T2 a2, T3 a3, T4 a4);
662 template <
typename MEM,
typename OBJ,
663 typename T1,
typename T2,
typename T3,
typename T4,
typename T5>
665 T1 a1, T2 a2, T3 a3, T4 a4, T5 a5);
677 template <
typename U1,
687 template <
typename U1,
typename U2,
688 typename T1,
typename T2>
698 template <
typename U1,
typename U2,
typename U3,
699 typename T1,
typename T2,
typename T3>
710 template <
typename U1,
typename U2,
typename U3,
typename U4,
711 typename T1,
typename T2,
typename T3,
typename T4>
723 template <
typename U1,
typename U2,
typename U3,
typename U4,
typename U5,
724 typename T1,
typename T2,
typename T3,
typename T4,
typename T5>
818 template <
typename MEM,
typename OBJ>
825 template <
typename MEM,
typename OBJ,
832 template <
typename MEM,
typename OBJ,
833 typename T1,
typename T2>
839 template <
typename MEM,
typename OBJ,
840 typename T1,
typename T2,
typename T3>
846 template <
typename MEM,
typename OBJ,
847 typename T1,
typename T2,
typename T3,
typename T4>
853 template <
typename MEM,
typename OBJ,
854 typename T1,
typename T2,
typename T3,
typename T4,
typename T5>
856 T1 a1, T2 a2, T3 a3, T4 a4, T5 a5)
861 template <
typename U1,
typename T1>
867 template <
typename U1,
typename U2,
868 typename T1,
typename T2>
874 template <
typename U1,
typename U2,
typename U3,
875 typename T1,
typename T2,
typename T3>
881 template <
typename U1,
typename U2,
typename U3,
typename U4,
882 typename T1,
typename T2,
typename T3,
typename T4>
888 template <
typename U1,
typename U2,
typename U3,
typename U4,
typename U5,
889 typename T1,
typename T2,
typename T3,
typename T4,
typename T5>
890 EventId Simulator::Schedule (
Time const &time,
void (*f)(U1,U2,U3,U4,U5), T1 a1, T2 a2, T3 a3, T4 a4, T5 a5)
898 template <
typename MEM,
typename OBJ>
905 template <
typename MEM,
typename OBJ,
912 template <
typename MEM,
typename OBJ,
913 typename T1,
typename T2>
919 template <
typename MEM,
typename OBJ,
920 typename T1,
typename T2,
typename T3>
926 template <
typename MEM,
typename OBJ,
927 typename T1,
typename T2,
typename T3,
typename T4>
933 template <
typename MEM,
typename OBJ,
934 typename T1,
typename T2,
typename T3,
typename T4,
typename T5>
936 T1 a1, T2 a2, T3 a3, T4 a4, T5 a5)
941 template <
typename U1,
typename T1>
947 template <
typename U1,
typename U2,
948 typename T1,
typename T2>
954 template <
typename U1,
typename U2,
typename U3,
955 typename T1,
typename T2,
typename T3>
961 template <
typename U1,
typename U2,
typename U3,
typename U4,
962 typename T1,
typename T2,
typename T3,
typename T4>
968 template <
typename U1,
typename U2,
typename U3,
typename U4,
typename U5,
969 typename T1,
typename T2,
typename T3,
typename T4,
typename T5>
970 void Simulator::ScheduleWithContext (uint32_t context,
Time const &time,
void (*f)(U1,U2,U3,U4,U5), T1 a1, T2 a2, T3 a3, T4 a4, T5 a5)
978 template <
typename MEM,
typename OBJ>
986 template <
typename MEM,
typename OBJ,
994 template <
typename MEM,
typename OBJ,
995 typename T1,
typename T2>
1002 template <
typename MEM,
typename OBJ,
1003 typename T1,
typename T2,
typename T3>
1010 template <
typename MEM,
typename OBJ,
1011 typename T1,
typename T2,
typename T3,
typename T4>
1018 template <
typename MEM,
typename OBJ,
1019 typename T1,
typename T2,
typename T3,
typename T4,
typename T5>
1022 T1 a1, T2 a2, T3 a3, T4 a4, T5 a5)
1027 template <
typename U1,
1035 template <
typename U1,
typename U2,
1036 typename T1,
typename T2>
1043 template <
typename U1,
typename U2,
typename U3,
1044 typename T1,
typename T2,
typename T3>
1051 template <
typename U1,
typename U2,
typename U3,
typename U4,
1052 typename T1,
typename T2,
typename T3,
typename T4>
1059 template <
typename U1,
typename U2,
typename U3,
typename U4,
typename U5,
1060 typename T1,
typename T2,
typename T3,
typename T4,
typename T5>
1069 template <
typename MEM,
typename OBJ>
1077 template <
typename MEM,
typename OBJ,
1085 template <
typename MEM,
typename OBJ,
1086 typename T1,
typename T2>
1093 template <
typename MEM,
typename OBJ,
1094 typename T1,
typename T2,
typename T3>
1101 template <
typename MEM,
typename OBJ,
1102 typename T1,
typename T2,
typename T3,
typename T4>
1109 template <
typename MEM,
typename OBJ,
1110 typename T1,
typename T2,
typename T3,
typename T4,
typename T5>
1113 T1 a1, T2 a2, T3 a3, T4 a4, T5 a5)
1118 template <
typename U1,
1126 template <
typename U1,
typename U2,
1127 typename T1,
typename T2>
1134 template <
typename U1,
typename U2,
typename U3,
1135 typename T1,
typename T2,
typename T3>
1142 template <
typename U1,
typename U2,
typename U3,
typename U4,
1143 typename T1,
typename T2,
typename T3,
typename T4>
1150 template <
typename U1,
typename U2,
typename U3,
typename U4,
typename U5,
1151 typename T1,
typename T2,
typename T3,
typename T4,
typename T5>
static Time GetDelayLeft(const EventId &id)
Get the remaining time until this event will execute.
Simulation virtual time values and global simulation resolution.
Smart pointer class similar to boost::intrusive_ptr.
Control the scheduling of simulation events.
ns3::EventImpl declarations.
static void SetImplementation(Ptr< SimulatorImpl > impl)
static EventId DoScheduleDestroy(EventImpl *event)
Implementation of the various ScheduleDestroy methods.
static Ptr< SimulatorImpl > GetImplementation(void)
Get the SimulatorImpl singleton.
static uint32_t GetSystemId(void)
Get the system id of this simulator.
static uint32_t GetContext(void)
Get the current simulation context.
ns3::ObjectFactory class declaration.
static void Run(void)
Run the simulation.
static EventId DoSchedule(Time const &time, EventImpl *event)
Implementation of the various Schedule methods.
static void Cancel(const EventId &id)
Set the cancel bit on this event: the event's associated function will not be invoked when it expires...
static EventId Schedule(Time const &time, MEM mem_ptr, OBJ obj)
Schedule an event to expire at the relative time "time" is reached.
ns3::MakeEvent function declarations and template implementation.
static void ScheduleWithContext(uint32_t context, Time const &time, MEM mem_ptr, OBJ obj)
Schedule an event with the given context.
static void Destroy(void)
Execute the events scheduled with ScheduleDestroy().
static void Remove(const EventId &id)
Remove an event from the event list.
Every class exported by the ns3 library is enclosed in the ns3 namespace.
static bool IsExpired(const EventId &id)
Check if an event has already run or been cancelled.
Simulator()
Default constructor.
static EventId ScheduleNow(MEM mem_ptr, OBJ obj)
Schedule an event to expire Now.
static void SetScheduler(ObjectFactory schedulerFactory)
static Time Now(void)
Return the current simulation virtual time.
Instantiate subclasses of ns3::Object.
static EventId DoScheduleNow(EventImpl *event)
Implementation of the various ScheduleNow methods.
An identifier for simulation events.
static void Stop(void)
Tell the Simulator the calling event should be the last one executed.
static bool IsFinished(void)
Check if the simulation should finish.
static EventId ScheduleDestroy(MEM mem_ptr, OBJ obj)
Schedule an event to expire at Destroy time.
Time Now(void)
create an ns3::Time instance which contains the current simulation time.
ns3::EventId declarations.
static Time GetMaximumSimulationTime(void)
Get the maximum representable simulation time.
EventImpl * MakeEvent(void(*f)(void))
Make an EventImpl from a function pointer taking varying numbers of arguments.