117 static void Run (
void);
124 static void Stop (
void);
133 static void Stop (
Time const &time);
149 template <
typename MEM,
typename OBJ>
159 template <
typename MEM,
typename OBJ,
typename T1>
170 template <
typename MEM,
typename OBJ,
typename T1,
typename T2>
182 template <
typename MEM,
typename OBJ,
183 typename T1,
typename T2,
typename T3>
196 template <
typename MEM,
typename OBJ,
197 typename T1,
typename T2,
typename T3,
typename T4>
198 static EventId Schedule (
Time const &time, MEM mem_ptr, OBJ obj, T1 a1, T2 a2, T3 a3, T4 a4);
211 template <
typename MEM,
typename OBJ,
212 typename T1,
typename T2,
typename T3,
typename T4,
typename T5>
214 T1 a1, T2 a2, T3 a3, T4 a4, T5 a5);
228 template <
typename U1,
typename T1>
238 template <
typename U1,
typename U2,
typename T1,
typename T2>
249 template <
typename U1,
typename U2,
typename U3,
typename T1,
typename T2,
typename T3>
261 template <
typename U1,
typename U2,
typename U3,
typename U4,
262 typename T1,
typename T2,
typename T3,
typename T4>
263 static EventId Schedule (
Time const &time,
void (*f)(U1,U2,U3,U4), T1 a1, T2 a2, T3 a3, T4 a4);
275 template <
typename U1,
typename U2,
typename U3,
typename U4,
typename U5,
276 typename T1,
typename T2,
typename T3,
typename T4,
typename T5>
277 static EventId Schedule (
Time const &time,
void (*f)(U1,U2,U3,U4,U5), T1 a1, T2 a2, T3 a3, T4 a4, T5 a5);
289 template <
typename MEM,
typename OBJ>
301 template <
typename MEM,
typename OBJ,
typename T1>
314 template <
typename MEM,
typename OBJ,
typename T1,
typename T2>
328 template <
typename MEM,
typename OBJ,
329 typename T1,
typename T2,
typename T3>
330 static void ScheduleWithContext (uint32_t context,
Time const &time, MEM mem_ptr, OBJ obj, T1 a1, T2 a2, T3 a3);
344 template <
typename MEM,
typename OBJ,
345 typename T1,
typename T2,
typename T3,
typename T4>
346 static void ScheduleWithContext (uint32_t context,
Time const &time, MEM mem_ptr, OBJ obj, T1 a1, T2 a2, T3 a3, T4 a4);
361 template <
typename MEM,
typename OBJ,
362 typename T1,
typename T2,
typename T3,
typename T4,
typename T5>
364 T1 a1, T2 a2, T3 a3, T4 a4, T5 a5);
382 template <
typename U1,
typename T1>
394 template <
typename U1,
typename U2,
typename T1,
typename T2>
407 template <
typename U1,
typename U2,
typename U3,
typename T1,
typename T2,
typename T3>
408 static void ScheduleWithContext (uint32_t context,
Time const &time,
void (*f)(U1,U2,U3), T1 a1, T2 a2, T3 a3);
421 template <
typename U1,
typename U2,
typename U3,
typename U4,
422 typename T1,
typename T2,
typename T3,
typename T4>
423 static void ScheduleWithContext (uint32_t context,
Time const &time,
void (*f)(U1,U2,U3,U4), T1 a1, T2 a2, T3 a3, T4 a4);
437 template <
typename U1,
typename U2,
typename U3,
typename U4,
typename U5,
438 typename T1,
typename T2,
typename T3,
typename T4,
typename T5>
439 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);
449 template <
typename MEM,
typename OBJ>
457 template <
typename MEM,
typename OBJ,
467 template <
typename MEM,
typename OBJ,
468 typename T1,
typename T2>
478 template <
typename MEM,
typename OBJ,
479 typename T1,
typename T2,
typename T3>
490 template <
typename MEM,
typename OBJ,
491 typename T1,
typename T2,
typename T3,
typename T4>
493 T1 a1, T2 a2, T3 a3, T4 a4);
503 template <
typename MEM,
typename OBJ,
504 typename T1,
typename T2,
typename T3,
typename T4,
typename T5>
506 T1 a1, T2 a2, T3 a3, T4 a4, T5 a5);
516 template <
typename U1,
525 template <
typename U1,
typename U2,
526 typename T1,
typename T2>
535 template <
typename U1,
typename U2,
typename U3,
536 typename T1,
typename T2,
typename T3>
546 template <
typename U1,
typename U2,
typename U3,
typename U4,
547 typename T1,
typename T2,
typename T3,
typename T4>
558 template <
typename U1,
typename U2,
typename U3,
typename U4,
typename U5,
559 typename T1,
typename T2,
typename T3,
typename T4,
typename T5>
560 static EventId ScheduleNow (
void (*f)(U1,U2,U3,U4,U5), T1 a1, T2 a2, T3 a3, T4 a4, T5 a5);
571 template <
typename MEM,
typename OBJ>
579 template <
typename MEM,
typename OBJ,
589 template <
typename MEM,
typename OBJ,
590 typename T1,
typename T2>
600 template <
typename MEM,
typename OBJ,
601 typename T1,
typename T2,
typename T3>
612 template <
typename MEM,
typename OBJ,
613 typename T1,
typename T2,
typename T3,
typename T4>
615 T1 a1, T2 a2, T3 a3, T4 a4);
625 template <
typename MEM,
typename OBJ,
626 typename T1,
typename T2,
typename T3,
typename T4,
typename T5>
628 T1 a1, T2 a2, T3 a3, T4 a4, T5 a5);
638 template <
typename U1,
647 template <
typename U1,
typename U2,
648 typename T1,
typename T2>
657 template <
typename U1,
typename U2,
typename U3,
658 typename T1,
typename T2,
typename T3>
668 template <
typename U1,
typename U2,
typename U3,
typename U4,
669 typename T1,
typename T2,
typename T3,
typename T4>
680 template <
typename U1,
typename U2,
typename U3,
typename U4,
typename U5,
681 typename T1,
typename T2,
typename T3,
typename T4,
typename T5>
823 template <
typename MEM,
typename OBJ>
830 template <
typename MEM,
typename OBJ,
837 template <
typename MEM,
typename OBJ,
838 typename T1,
typename T2>
844 template <
typename MEM,
typename OBJ,
845 typename T1,
typename T2,
typename T3>
851 template <
typename MEM,
typename OBJ,
852 typename T1,
typename T2,
typename T3,
typename T4>
858 template <
typename MEM,
typename OBJ,
859 typename T1,
typename T2,
typename T3,
typename T4,
typename T5>
861 T1 a1, T2 a2, T3 a3, T4 a4, T5 a5)
866 template <
typename U1,
typename T1>
872 template <
typename U1,
typename U2,
873 typename T1,
typename T2>
879 template <
typename U1,
typename U2,
typename U3,
880 typename T1,
typename T2,
typename T3>
886 template <
typename U1,
typename U2,
typename U3,
typename U4,
887 typename T1,
typename T2,
typename T3,
typename T4>
893 template <
typename U1,
typename U2,
typename U3,
typename U4,
typename U5,
894 typename T1,
typename T2,
typename T3,
typename T4,
typename T5>
895 EventId Simulator::Schedule (
Time const &time,
void (*f)(U1,U2,U3,U4,U5), T1 a1, T2 a2, T3 a3, T4 a4, T5 a5)
903 template <
typename MEM,
typename OBJ>
910 template <
typename MEM,
typename OBJ,
917 template <
typename MEM,
typename OBJ,
918 typename T1,
typename T2>
924 template <
typename MEM,
typename OBJ,
925 typename T1,
typename T2,
typename T3>
931 template <
typename MEM,
typename OBJ,
932 typename T1,
typename T2,
typename T3,
typename T4>
938 template <
typename MEM,
typename OBJ,
939 typename T1,
typename T2,
typename T3,
typename T4,
typename T5>
941 T1 a1, T2 a2, T3 a3, T4 a4, T5 a5)
946 template <
typename U1,
typename T1>
952 template <
typename U1,
typename U2,
953 typename T1,
typename T2>
959 template <
typename U1,
typename U2,
typename U3,
960 typename T1,
typename T2,
typename T3>
966 template <
typename U1,
typename U2,
typename U3,
typename U4,
967 typename T1,
typename T2,
typename T3,
typename T4>
973 template <
typename U1,
typename U2,
typename U3,
typename U4,
typename U5,
974 typename T1,
typename T2,
typename T3,
typename T4,
typename T5>
975 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)
983 template <
typename MEM,
typename OBJ>
991 template <
typename MEM,
typename OBJ,
999 template <
typename MEM,
typename OBJ,
1000 typename T1,
typename T2>
1007 template <
typename MEM,
typename OBJ,
1008 typename T1,
typename T2,
typename T3>
1015 template <
typename MEM,
typename OBJ,
1016 typename T1,
typename T2,
typename T3,
typename T4>
1023 template <
typename MEM,
typename OBJ,
1024 typename T1,
typename T2,
typename T3,
typename T4,
typename T5>
1027 T1 a1, T2 a2, T3 a3, T4 a4, T5 a5)
1032 template <
typename U1,
1040 template <
typename U1,
typename U2,
1041 typename T1,
typename T2>
1048 template <
typename U1,
typename U2,
typename U3,
1049 typename T1,
typename T2,
typename T3>
1056 template <
typename U1,
typename U2,
typename U3,
typename U4,
1057 typename T1,
typename T2,
typename T3,
typename T4>
1064 template <
typename U1,
typename U2,
typename U3,
typename U4,
typename U5,
1065 typename T1,
typename T2,
typename T3,
typename T4,
typename T5>
1074 template <
typename MEM,
typename OBJ>
1082 template <
typename MEM,
typename OBJ,
1090 template <
typename MEM,
typename OBJ,
1091 typename T1,
typename T2>
1098 template <
typename MEM,
typename OBJ,
1099 typename T1,
typename T2,
typename T3>
1106 template <
typename MEM,
typename OBJ,
1107 typename T1,
typename T2,
typename T3,
typename T4>
1114 template <
typename MEM,
typename OBJ,
1115 typename T1,
typename T2,
typename T3,
typename T4,
typename T5>
1118 T1 a1, T2 a2, T3 a3, T4 a4, T5 a5)
1123 template <
typename U1,
1131 template <
typename U1,
typename U2,
1132 typename T1,
typename T2>
1139 template <
typename U1,
typename U2,
typename U3,
1140 typename T1,
typename T2,
typename T3>
1147 template <
typename U1,
typename U2,
typename U3,
typename U4,
1148 typename T1,
typename T2,
typename T3,
typename T4>
1155 template <
typename U1,
typename U2,
typename U3,
typename U4,
typename U5,
1156 typename T1,
typename T2,
typename T3,
typename T4,
typename T5>
static Time GetDelayLeft(const EventId &id)
keep track of time values and allow control of 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)