118 static void Run (
void);
125 static void Stop (
void);
134 static void Stop (
Time const &time);
150 template <
typename MEM,
typename OBJ>
160 template <
typename MEM,
typename OBJ,
typename T1>
171 template <
typename MEM,
typename OBJ,
typename T1,
typename T2>
183 template <
typename MEM,
typename OBJ,
184 typename T1,
typename T2,
typename T3>
197 template <
typename MEM,
typename OBJ,
198 typename T1,
typename T2,
typename T3,
typename T4>
199 static EventId Schedule (
Time const &time, MEM mem_ptr, OBJ obj, T1 a1, T2 a2, T3 a3, T4 a4);
212 template <
typename MEM,
typename OBJ,
213 typename T1,
typename T2,
typename T3,
typename T4,
typename T5>
215 T1 a1, T2 a2, T3 a3, T4 a4, T5 a5);
229 template <
typename U1,
typename T1>
239 template <
typename U1,
typename U2,
typename T1,
typename T2>
250 template <
typename U1,
typename U2,
typename U3,
typename T1,
typename T2,
typename T3>
262 template <
typename U1,
typename U2,
typename U3,
typename U4,
263 typename T1,
typename T2,
typename T3,
typename T4>
264 static EventId Schedule (
Time const &time,
void (*f)(U1,U2,U3,U4), T1 a1, T2 a2, T3 a3, T4 a4);
276 template <
typename U1,
typename U2,
typename U3,
typename U4,
typename U5,
277 typename T1,
typename T2,
typename T3,
typename T4,
typename T5>
278 static EventId Schedule (
Time const &time,
void (*f)(U1,U2,U3,U4,U5), T1 a1, T2 a2, T3 a3, T4 a4, T5 a5);
290 template <
typename MEM,
typename OBJ>
302 template <
typename MEM,
typename OBJ,
typename T1>
315 template <
typename MEM,
typename OBJ,
typename T1,
typename T2>
329 template <
typename MEM,
typename OBJ,
330 typename T1,
typename T2,
typename T3>
331 static void ScheduleWithContext (uint32_t context,
Time const &time, MEM mem_ptr, OBJ obj, T1 a1, T2 a2, T3 a3);
345 template <
typename MEM,
typename OBJ,
346 typename T1,
typename T2,
typename T3,
typename T4>
347 static void ScheduleWithContext (uint32_t context,
Time const &time, MEM mem_ptr, OBJ obj, T1 a1, T2 a2, T3 a3, T4 a4);
362 template <
typename MEM,
typename OBJ,
363 typename T1,
typename T2,
typename T3,
typename T4,
typename T5>
365 T1 a1, T2 a2, T3 a3, T4 a4, T5 a5);
383 template <
typename U1,
typename T1>
395 template <
typename U1,
typename U2,
typename T1,
typename T2>
408 template <
typename U1,
typename U2,
typename U3,
typename T1,
typename T2,
typename T3>
409 static void ScheduleWithContext (uint32_t context,
Time const &time,
void (*f)(U1,U2,U3), T1 a1, T2 a2, T3 a3);
422 template <
typename U1,
typename U2,
typename U3,
typename U4,
423 typename T1,
typename T2,
typename T3,
typename T4>
424 static void ScheduleWithContext (uint32_t context,
Time const &time,
void (*f)(U1,U2,U3,U4), T1 a1, T2 a2, T3 a3, T4 a4);
438 template <
typename U1,
typename U2,
typename U3,
typename U4,
typename U5,
439 typename T1,
typename T2,
typename T3,
typename T4,
typename T5>
440 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);
450 template <
typename MEM,
typename OBJ>
458 template <
typename MEM,
typename OBJ,
468 template <
typename MEM,
typename OBJ,
469 typename T1,
typename T2>
479 template <
typename MEM,
typename OBJ,
480 typename T1,
typename T2,
typename T3>
491 template <
typename MEM,
typename OBJ,
492 typename T1,
typename T2,
typename T3,
typename T4>
494 T1 a1, T2 a2, T3 a3, T4 a4);
504 template <
typename MEM,
typename OBJ,
505 typename T1,
typename T2,
typename T3,
typename T4,
typename T5>
507 T1 a1, T2 a2, T3 a3, T4 a4, T5 a5);
517 template <
typename U1,
526 template <
typename U1,
typename U2,
527 typename T1,
typename T2>
536 template <
typename U1,
typename U2,
typename U3,
537 typename T1,
typename T2,
typename T3>
547 template <
typename U1,
typename U2,
typename U3,
typename U4,
548 typename T1,
typename T2,
typename T3,
typename T4>
559 template <
typename U1,
typename U2,
typename U3,
typename U4,
typename U5,
560 typename T1,
typename T2,
typename T3,
typename T4,
typename T5>
561 static EventId ScheduleNow (
void (*f)(U1,U2,U3,U4,U5), T1 a1, T2 a2, T3 a3, T4 a4, T5 a5);
572 template <
typename MEM,
typename OBJ>
580 template <
typename MEM,
typename OBJ,
590 template <
typename MEM,
typename OBJ,
591 typename T1,
typename T2>
601 template <
typename MEM,
typename OBJ,
602 typename T1,
typename T2,
typename T3>
613 template <
typename MEM,
typename OBJ,
614 typename T1,
typename T2,
typename T3,
typename T4>
616 T1 a1, T2 a2, T3 a3, T4 a4);
626 template <
typename MEM,
typename OBJ,
627 typename T1,
typename T2,
typename T3,
typename T4,
typename T5>
629 T1 a1, T2 a2, T3 a3, T4 a4, T5 a5);
639 template <
typename U1,
648 template <
typename U1,
typename U2,
649 typename T1,
typename T2>
658 template <
typename U1,
typename U2,
typename U3,
659 typename T1,
typename T2,
typename T3>
669 template <
typename U1,
typename U2,
typename U3,
typename U4,
670 typename T1,
typename T2,
typename T3,
typename T4>
681 template <
typename U1,
typename U2,
typename U3,
typename U4,
typename U5,
682 typename T1,
typename T2,
typename T3,
typename T4,
typename T5>
824 template <
typename MEM,
typename OBJ>
831 template <
typename MEM,
typename OBJ,
838 template <
typename MEM,
typename OBJ,
839 typename T1,
typename T2>
845 template <
typename MEM,
typename OBJ,
846 typename T1,
typename T2,
typename T3>
852 template <
typename MEM,
typename OBJ,
853 typename T1,
typename T2,
typename T3,
typename T4>
859 template <
typename MEM,
typename OBJ,
860 typename T1,
typename T2,
typename T3,
typename T4,
typename T5>
862 T1 a1, T2 a2, T3 a3, T4 a4, T5 a5)
867 template <
typename U1,
typename T1>
873 template <
typename U1,
typename U2,
874 typename T1,
typename T2>
880 template <
typename U1,
typename U2,
typename U3,
881 typename T1,
typename T2,
typename T3>
887 template <
typename U1,
typename U2,
typename U3,
typename U4,
888 typename T1,
typename T2,
typename T3,
typename T4>
894 template <
typename U1,
typename U2,
typename U3,
typename U4,
typename U5,
895 typename T1,
typename T2,
typename T3,
typename T4,
typename T5>
896 EventId Simulator::Schedule (
Time const &time,
void (*f)(U1,U2,U3,U4,U5), T1 a1, T2 a2, T3 a3, T4 a4, T5 a5)
904 template <
typename MEM,
typename OBJ>
911 template <
typename MEM,
typename OBJ,
918 template <
typename MEM,
typename OBJ,
919 typename T1,
typename T2>
925 template <
typename MEM,
typename OBJ,
926 typename T1,
typename T2,
typename T3>
932 template <
typename MEM,
typename OBJ,
933 typename T1,
typename T2,
typename T3,
typename T4>
939 template <
typename MEM,
typename OBJ,
940 typename T1,
typename T2,
typename T3,
typename T4,
typename T5>
942 T1 a1, T2 a2, T3 a3, T4 a4, T5 a5)
947 template <
typename U1,
typename T1>
953 template <
typename U1,
typename U2,
954 typename T1,
typename T2>
960 template <
typename U1,
typename U2,
typename U3,
961 typename T1,
typename T2,
typename T3>
967 template <
typename U1,
typename U2,
typename U3,
typename U4,
968 typename T1,
typename T2,
typename T3,
typename T4>
974 template <
typename U1,
typename U2,
typename U3,
typename U4,
typename U5,
975 typename T1,
typename T2,
typename T3,
typename T4,
typename T5>
976 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)
984 template <
typename MEM,
typename OBJ>
992 template <
typename MEM,
typename OBJ,
1000 template <
typename MEM,
typename OBJ,
1001 typename T1,
typename T2>
1008 template <
typename MEM,
typename OBJ,
1009 typename T1,
typename T2,
typename T3>
1016 template <
typename MEM,
typename OBJ,
1017 typename T1,
typename T2,
typename T3,
typename T4>
1024 template <
typename MEM,
typename OBJ,
1025 typename T1,
typename T2,
typename T3,
typename T4,
typename T5>
1028 T1 a1, T2 a2, T3 a3, T4 a4, T5 a5)
1033 template <
typename U1,
1041 template <
typename U1,
typename U2,
1042 typename T1,
typename T2>
1049 template <
typename U1,
typename U2,
typename U3,
1050 typename T1,
typename T2,
typename T3>
1057 template <
typename U1,
typename U2,
typename U3,
typename U4,
1058 typename T1,
typename T2,
typename T3,
typename T4>
1065 template <
typename U1,
typename U2,
typename U3,
typename U4,
typename U5,
1066 typename T1,
typename T2,
typename T3,
typename T4,
typename T5>
1075 template <
typename MEM,
typename OBJ>
1083 template <
typename MEM,
typename OBJ,
1091 template <
typename MEM,
typename OBJ,
1092 typename T1,
typename T2>
1099 template <
typename MEM,
typename OBJ,
1100 typename T1,
typename T2,
typename T3>
1107 template <
typename MEM,
typename OBJ,
1108 typename T1,
typename T2,
typename T3,
typename T4>
1115 template <
typename MEM,
typename OBJ,
1116 typename T1,
typename T2,
typename T3,
typename T4,
typename T5>
1119 T1 a1, T2 a2, T3 a3, T4 a4, T5 a5)
1124 template <
typename U1,
1132 template <
typename U1,
typename U2,
1133 typename T1,
typename T2>
1140 template <
typename U1,
typename U2,
typename U3,
1141 typename T1,
typename T2,
typename T3>
1148 template <
typename U1,
typename U2,
typename U3,
typename U4,
1149 typename T1,
typename T2,
typename T3,
typename T4>
1156 template <
typename U1,
typename U2,
typename U3,
typename U4,
typename U5,
1157 typename T1,
typename T2,
typename T3,
typename T4,
typename T5>
static Time GetDelayLeft(const EventId &id)
Simulation virtual time values and global simulation resolution.
smart pointer class similar to boost::intrusive_ptr
Control the scheduling of simulation events.
static void SetImplementation(Ptr< SimulatorImpl > impl)
static EventId DoScheduleDestroy(EventImpl *event)
static Ptr< SimulatorImpl > GetImplementation(void)
static uint32_t GetSystemId(void)
static uint32_t GetContext(void)
static void Run(void)
Run the simulation until one of:
static EventId DoSchedule(Time const &time, EventImpl *event)
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.
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)
Every event scheduled by the Simulator::insertAtDestroy method is invoked.
static void Remove(const EventId &id)
Remove an event from the event list.
static bool IsExpired(const EventId &id)
This method has O(1) complexity.
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 time".
instantiate subclasses of ns3::Object.
static EventId DoScheduleNow(EventImpl *event)
an identifier for simulation events.
static void Stop(void)
If an event invokes this method, it will be the last event scheduled by the Simulator::run method bef...
Time Now(void)
create an ns3::Time instance which contains the current simulation time.
static bool IsFinished(void)
If there are no more events lefts to be scheduled, or if simulation time has already reached the "sto...
EventImpl * MakeEvent(void(*f)(void))
static EventId ScheduleDestroy(MEM mem_ptr, OBJ obj)
Schedule an event to expire at Destroy time.
static Time GetMaximumSimulationTime(void)