146 static void Run (
void);
156 static void Stop (
void);
167 static void Stop (
const Time &delay);
215 template <
typename MEM,
typename OBJ>
229 template <
typename MEM,
typename OBJ,
typename T1>
245 template <
typename MEM,
typename OBJ,
typename T1,
typename T2>
263 template <
typename MEM,
typename OBJ,
264 typename T1,
typename T2,
typename T3>
284 template <
typename MEM,
typename OBJ,
285 typename T1,
typename T2,
typename T3,
typename T4>
286 static EventId Schedule (
Time const &delay, MEM mem_ptr, OBJ obj, T1 a1, T2 a2, T3 a3, T4 a4);
307 template <
typename MEM,
typename OBJ,
308 typename T1,
typename T2,
typename T3,
typename T4,
typename T5>
310 T1 a1, T2 a2, T3 a3, T4 a4, T5 a5);
334 template <
typename U1,
typename T1>
349 template <
typename U1,
typename U2,
350 typename T1,
typename T2>
368 template <
typename U1,
typename U2,
typename U3,
369 typename T1,
typename T2,
typename T3>
390 template <
typename U1,
typename U2,
typename U3,
typename U4,
391 typename T1,
typename T2,
typename T3,
typename T4>
392 static EventId Schedule (
Time const &delay,
void (*
f)(U1,U2,U3,U4), T1 a1, T2 a2, T3 a3, T4 a4);
415 template <
typename U1,
typename U2,
typename U3,
typename U4,
typename U5,
416 typename T1,
typename T2,
typename T3,
typename T4,
typename T5>
417 static EventId Schedule (
Time const &delay,
void (*
f)(U1,U2,U3,U4,U5), T1 a1, T2 a2, T3 a3, T4 a4, T5 a5);
440 template <
typename MEM,
typename OBJ>
454 template <
typename MEM,
typename OBJ,
typename T1>
470 template <
typename MEM,
typename OBJ,
typename T1,
typename T2>
488 template <
typename MEM,
typename OBJ,
489 typename T1,
typename T2,
typename T3>
490 static void ScheduleWithContext (uint32_t context,
Time const &delay, MEM mem_ptr, OBJ obj, T1 a1, T2 a2, T3 a3);
509 template <
typename MEM,
typename OBJ,
510 typename T1,
typename T2,
typename T3,
typename T4>
511 static void ScheduleWithContext (uint32_t context,
Time const &delay, MEM mem_ptr, OBJ obj, T1 a1, T2 a2, T3 a3, T4 a4);
532 template <
typename MEM,
typename OBJ,
533 typename T1,
typename T2,
typename T3,
typename T4,
typename T5>
535 T1 a1, T2 a2, T3 a3, T4 a4, T5 a5);
560 template <
typename U1,
576 template <
typename U1,
typename U2,
577 typename T1,
typename T2>
595 template <
typename U1,
typename U2,
typename U3,
596 typename T1,
typename T2,
typename T3>
617 template <
typename U1,
typename U2,
typename U3,
typename U4,
618 typename T1,
typename T2,
typename T3,
typename T4>
619 static void ScheduleWithContext (uint32_t context,
Time const &delay,
void (*
f)(U1,U2,U3,U4), T1 a1, T2 a2, T3 a3, T4 a4);
642 template <
typename U1,
typename U2,
typename U3,
typename U4,
typename U5,
643 typename T1,
typename T2,
typename T3,
typename T4,
typename T5>
644 static void ScheduleWithContext (uint32_t context,
Time const &delay,
void (*
f)(U1,U2,U3,U4,U5), T1 a1, T2 a2, T3 a3, T4 a4, T5 a5);
663 template <
typename MEM,
typename OBJ>
676 template <
typename MEM,
typename OBJ,
692 template <
typename MEM,
typename OBJ,
693 typename T1,
typename T2>
710 template <
typename MEM,
typename OBJ,
711 typename T1,
typename T2,
typename T3>
730 template <
typename MEM,
typename OBJ,
731 typename T1,
typename T2,
typename T3,
typename T4>
733 T1 a1, T2 a2, T3 a3, T4 a4);
752 template <
typename MEM,
typename OBJ,
753 typename T1,
typename T2,
typename T3,
typename T4,
typename T5>
755 T1 a1, T2 a2, T3 a3, T4 a4, T5 a5);
774 template <
typename U1,
789 template <
typename U1,
typename U2,
790 typename T1,
typename T2>
807 template <
typename U1,
typename U2,
typename U3,
808 typename T1,
typename T2,
typename T3>
828 template <
typename U1,
typename U2,
typename U3,
typename U4,
829 typename T1,
typename T2,
typename T3,
typename T4>
852 template <
typename U1,
typename U2,
typename U3,
typename U4,
typename U5,
853 typename T1,
typename T2,
typename T3,
typename T4,
typename T5>
874 template <
typename MEM,
typename OBJ>
887 template <
typename MEM,
typename OBJ,
903 template <
typename MEM,
typename OBJ,
904 typename T1,
typename T2>
921 template <
typename MEM,
typename OBJ,
922 typename T1,
typename T2,
typename T3>
941 template <
typename MEM,
typename OBJ,
942 typename T1,
typename T2,
typename T3,
typename T4>
944 T1 a1, T2 a2, T3 a3, T4 a4);
963 template <
typename MEM,
typename OBJ,
964 typename T1,
typename T2,
typename T3,
typename T4,
typename T5>
966 T1 a1, T2 a2, T3 a3, T4 a4, T5 a5);
984 template <
typename U1,
999 template <
typename U1,
typename U2,
1000 typename T1,
typename T2>
1017 template <
typename U1,
typename U2,
typename U3,
1018 typename T1,
typename T2,
typename T3>
1038 template <
typename U1,
typename U2,
typename U3,
typename U4,
1039 typename T1,
typename T2,
typename T3,
typename T4>
1062 template <
typename U1,
typename U2,
typename U3,
typename U4,
typename U5,
1063 typename T1,
typename T2,
typename T3,
typename T4,
typename T5>
1237 template <
typename MEM,
typename OBJ>
1244 template <
typename MEM,
typename OBJ,
1251 template <
typename MEM,
typename OBJ,
1252 typename T1,
typename T2>
1258 template <
typename MEM,
typename OBJ,
1259 typename T1,
typename T2,
typename T3>
1265 template <
typename MEM,
typename OBJ,
1266 typename T1,
typename T2,
typename T3,
typename T4>
1272 template <
typename MEM,
typename OBJ,
1273 typename T1,
typename T2,
typename T3,
typename T4,
typename T5>
1275 T1 a1, T2 a2, T3 a3, T4 a4, T5 a5)
1280 template <
typename U1,
1287 template <
typename U1,
typename U2,
1288 typename T1,
typename T2>
1294 template <
typename U1,
typename U2,
typename U3,
1295 typename T1,
typename T2,
typename T3>
1301 template <
typename U1,
typename U2,
typename U3,
typename U4,
1302 typename T1,
typename T2,
typename T3,
typename T4>
1308 template <
typename U1,
typename U2,
typename U3,
typename U4,
typename U5,
1309 typename T1,
typename T2,
typename T3,
typename T4,
typename T5>
1310 EventId Simulator::Schedule (
Time const &delay,
void (*
f)(U1,U2,U3,U4,U5), T1 a1, T2 a2, T3 a3, T4 a4, T5 a5)
1318 template <
typename MEM,
typename OBJ>
1325 template <
typename MEM,
typename OBJ,
1332 template <
typename MEM,
typename OBJ,
1333 typename T1,
typename T2>
1339 template <
typename MEM,
typename OBJ,
1340 typename T1,
typename T2,
typename T3>
1346 template <
typename MEM,
typename OBJ,
1347 typename T1,
typename T2,
typename T3,
typename T4>
1353 template <
typename MEM,
typename OBJ,
1354 typename T1,
typename T2,
typename T3,
typename T4,
typename T5>
1356 T1 a1, T2 a2, T3 a3, T4 a4, T5 a5)
1361 template <
typename U1,
1368 template <
typename U1,
typename U2,
1369 typename T1,
typename T2>
1375 template <
typename U1,
typename U2,
typename U3,
1376 typename T1,
typename T2,
typename T3>
1382 template <
typename U1,
typename U2,
typename U3,
typename U4,
1383 typename T1,
typename T2,
typename T3,
typename T4>
1389 template <
typename U1,
typename U2,
typename U3,
typename U4,
typename U5,
1390 typename T1,
typename T2,
typename T3,
typename T4,
typename T5>
1391 void Simulator::ScheduleWithContext (uint32_t context,
Time const &delay,
void (*
f)(U1,U2,U3,U4,U5), T1 a1, T2 a2, T3 a3, T4 a4, T5 a5)
1399 template <
typename MEM,
typename OBJ>
1407 template <
typename MEM,
typename OBJ,
1415 template <
typename MEM,
typename OBJ,
1416 typename T1,
typename T2>
1423 template <
typename MEM,
typename OBJ,
1424 typename T1,
typename T2,
typename T3>
1431 template <
typename MEM,
typename OBJ,
1432 typename T1,
typename T2,
typename T3,
typename T4>
1439 template <
typename MEM,
typename OBJ,
1440 typename T1,
typename T2,
typename T3,
typename T4,
typename T5>
1443 T1 a1, T2 a2, T3 a3, T4 a4, T5 a5)
1448 template <
typename U1,
1456 template <
typename U1,
typename U2,
1457 typename T1,
typename T2>
1464 template <
typename U1,
typename U2,
typename U3,
1465 typename T1,
typename T2,
typename T3>
1472 template <
typename U1,
typename U2,
typename U3,
typename U4,
1473 typename T1,
typename T2,
typename T3,
typename T4>
1480 template <
typename U1,
typename U2,
typename U3,
typename U4,
typename U5,
1481 typename T1,
typename T2,
typename T3,
typename T4,
typename T5>
1490 template <
typename MEM,
typename OBJ>
1498 template <
typename MEM,
typename OBJ,
1506 template <
typename MEM,
typename OBJ,
1507 typename T1,
typename T2>
1514 template <
typename MEM,
typename OBJ,
1515 typename T1,
typename T2,
typename T3>
1522 template <
typename MEM,
typename OBJ,
1523 typename T1,
typename T2,
typename T3,
typename T4>
1530 template <
typename MEM,
typename OBJ,
1531 typename T1,
typename T2,
typename T3,
typename T4,
typename T5>
1534 T1 a1, T2 a2, T3 a3, T4 a4, T5 a5)
1539 template <
typename U1,
1547 template <
typename U1,
typename U2,
1548 typename T1,
typename T2>
1555 template <
typename U1,
typename U2,
typename U3,
1556 typename T1,
typename T2,
typename T3>
1563 template <
typename U1,
typename U2,
typename U3,
typename U4,
1564 typename T1,
typename T2,
typename T3,
typename T4>
1571 template <
typename U1,
typename U2,
typename U3,
typename U4,
typename U5,
1572 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 void Cancel(const EventId &id)
Set the cancel bit on this event: the event's associated function will not be invoked when it expires...
void(* Time)(Time oldValue, Time newValue)
TracedValue callback signature for Time.
static EventId Schedule(Time const &delay, MEM mem_ptr, OBJ obj)
Schedule an event to expire after delay.
ns3::MakeEvent function declarations and template implementation.
Declaration of classes ns3::Time and ns3::TimeWithUnit, and the TimeValue implementation classes...
static EventId DoSchedule(Time const &delay, EventImpl *event)
Implementation of the various Schedule methods.
static void Destroy(void)
Execute the events scheduled with ScheduleDestroy().
double f(double x, void *params)
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)
Set the scheduler type with an ObjectFactory.
static Time Now(void)
Return the current simulation virtual time.
Flag for events not associated with any particular context.
Instantiate subclasses of ns3::Object.
static void ScheduleWithContext(uint32_t context, Time const &delay, MEM mem_ptr, OBJ obj)
Schedule an event with the given context.
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 when Simulator::Destroy is called.
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.