148 static void Run (
void);
158 static void Stop (
void);
169 static void Stop (
const Time &delay);
191 template <
typename MEM,
typename OBJ>
205 template <
typename MEM,
typename OBJ,
typename T1>
221 template <
typename MEM,
typename OBJ,
typename T1,
typename T2>
239 template <
typename MEM,
typename OBJ,
240 typename T1,
typename T2,
typename T3>
260 template <
typename MEM,
typename OBJ,
261 typename T1,
typename T2,
typename T3,
typename T4>
262 static EventId Schedule (
Time const &delay, MEM mem_ptr, OBJ obj, T1 a1, T2 a2, T3 a3, T4 a4);
283 template <
typename MEM,
typename OBJ,
284 typename T1,
typename T2,
typename T3,
typename T4,
typename T5>
286 T1 a1, T2 a2, T3 a3, T4 a4, T5 a5);
310 template <
typename U1,
typename T1>
325 template <
typename U1,
typename U2,
326 typename T1,
typename T2>
344 template <
typename U1,
typename U2,
typename U3,
345 typename T1,
typename T2,
typename T3>
366 template <
typename U1,
typename U2,
typename U3,
typename U4,
367 typename T1,
typename T2,
typename T3,
typename T4>
368 static EventId Schedule (
Time const &delay,
void (*
f)(U1,U2,U3,U4), T1 a1, T2 a2, T3 a3, T4 a4);
391 template <
typename U1,
typename U2,
typename U3,
typename U4,
typename U5,
392 typename T1,
typename T2,
typename T3,
typename T4,
typename T5>
393 static EventId Schedule (
Time const &delay,
void (*
f)(U1,U2,U3,U4,U5), T1 a1, T2 a2, T3 a3, T4 a4, T5 a5);
416 template <
typename MEM,
typename OBJ>
430 template <
typename MEM,
typename OBJ,
typename T1>
446 template <
typename MEM,
typename OBJ,
typename T1,
typename T2>
464 template <
typename MEM,
typename OBJ,
465 typename T1,
typename T2,
typename T3>
466 static void ScheduleWithContext (uint32_t context,
Time const &delay, MEM mem_ptr, OBJ obj, T1 a1, T2 a2, T3 a3);
485 template <
typename MEM,
typename OBJ,
486 typename T1,
typename T2,
typename T3,
typename T4>
487 static void ScheduleWithContext (uint32_t context,
Time const &delay, MEM mem_ptr, OBJ obj, T1 a1, T2 a2, T3 a3, T4 a4);
508 template <
typename MEM,
typename OBJ,
509 typename T1,
typename T2,
typename T3,
typename T4,
typename T5>
511 T1 a1, T2 a2, T3 a3, T4 a4, T5 a5);
536 template <
typename U1,
552 template <
typename U1,
typename U2,
553 typename T1,
typename T2>
571 template <
typename U1,
typename U2,
typename U3,
572 typename T1,
typename T2,
typename T3>
593 template <
typename U1,
typename U2,
typename U3,
typename U4,
594 typename T1,
typename T2,
typename T3,
typename T4>
595 static void ScheduleWithContext (uint32_t context,
Time const &delay,
void (*
f)(U1,U2,U3,U4), T1 a1, T2 a2, T3 a3, T4 a4);
618 template <
typename U1,
typename U2,
typename U3,
typename U4,
typename U5,
619 typename T1,
typename T2,
typename T3,
typename T4,
typename T5>
620 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);
639 template <
typename MEM,
typename OBJ>
652 template <
typename MEM,
typename OBJ,
668 template <
typename MEM,
typename OBJ,
669 typename T1,
typename T2>
686 template <
typename MEM,
typename OBJ,
687 typename T1,
typename T2,
typename T3>
706 template <
typename MEM,
typename OBJ,
707 typename T1,
typename T2,
typename T3,
typename T4>
709 T1 a1, T2 a2, T3 a3, T4 a4);
728 template <
typename MEM,
typename OBJ,
729 typename T1,
typename T2,
typename T3,
typename T4,
typename T5>
731 T1 a1, T2 a2, T3 a3, T4 a4, T5 a5);
750 template <
typename U1,
765 template <
typename U1,
typename U2,
766 typename T1,
typename T2>
783 template <
typename U1,
typename U2,
typename U3,
784 typename T1,
typename T2,
typename T3>
804 template <
typename U1,
typename U2,
typename U3,
typename U4,
805 typename T1,
typename T2,
typename T3,
typename T4>
828 template <
typename U1,
typename U2,
typename U3,
typename U4,
typename U5,
829 typename T1,
typename T2,
typename T3,
typename T4,
typename T5>
850 template <
typename MEM,
typename OBJ>
863 template <
typename MEM,
typename OBJ,
879 template <
typename MEM,
typename OBJ,
880 typename T1,
typename T2>
897 template <
typename MEM,
typename OBJ,
898 typename T1,
typename T2,
typename T3>
917 template <
typename MEM,
typename OBJ,
918 typename T1,
typename T2,
typename T3,
typename T4>
920 T1 a1, T2 a2, T3 a3, T4 a4);
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);
960 template <
typename U1,
975 template <
typename U1,
typename U2,
976 typename T1,
typename T2>
993 template <
typename U1,
typename U2,
typename U3,
994 typename T1,
typename T2,
typename T3>
1014 template <
typename U1,
typename U2,
typename U3,
typename U4,
1015 typename T1,
typename T2,
typename T3,
typename T4>
1038 template <
typename U1,
typename U2,
typename U3,
typename U4,
typename U5,
1039 typename T1,
typename T2,
typename T3,
typename T4,
typename T5>
1220 template <
typename MEM,
typename OBJ>
1227 template <
typename MEM,
typename OBJ,
1234 template <
typename MEM,
typename OBJ,
1235 typename T1,
typename T2>
1241 template <
typename MEM,
typename OBJ,
1242 typename T1,
typename T2,
typename T3>
1248 template <
typename MEM,
typename OBJ,
1249 typename T1,
typename T2,
typename T3,
typename T4>
1255 template <
typename MEM,
typename OBJ,
1256 typename T1,
typename T2,
typename T3,
typename T4,
typename T5>
1258 T1 a1, T2 a2, T3 a3, T4 a4, T5 a5)
1263 template <
typename U1,
1270 template <
typename U1,
typename U2,
1271 typename T1,
typename T2>
1277 template <
typename U1,
typename U2,
typename U3,
1278 typename T1,
typename T2,
typename T3>
1284 template <
typename U1,
typename U2,
typename U3,
typename U4,
1285 typename T1,
typename T2,
typename T3,
typename T4>
1291 template <
typename U1,
typename U2,
typename U3,
typename U4,
typename U5,
1292 typename T1,
typename T2,
typename T3,
typename T4,
typename T5>
1293 EventId Simulator::Schedule (
Time const &delay,
void (*
f)(U1,U2,U3,U4,U5), T1 a1, T2 a2, T3 a3, T4 a4, T5 a5)
1301 template <
typename MEM,
typename OBJ>
1308 template <
typename MEM,
typename OBJ,
1315 template <
typename MEM,
typename OBJ,
1316 typename T1,
typename T2>
1322 template <
typename MEM,
typename OBJ,
1323 typename T1,
typename T2,
typename T3>
1329 template <
typename MEM,
typename OBJ,
1330 typename T1,
typename T2,
typename T3,
typename T4>
1336 template <
typename MEM,
typename OBJ,
1337 typename T1,
typename T2,
typename T3,
typename T4,
typename T5>
1339 T1 a1, T2 a2, T3 a3, T4 a4, T5 a5)
1344 template <
typename U1,
1351 template <
typename U1,
typename U2,
1352 typename T1,
typename T2>
1358 template <
typename U1,
typename U2,
typename U3,
1359 typename T1,
typename T2,
typename T3>
1365 template <
typename U1,
typename U2,
typename U3,
typename U4,
1366 typename T1,
typename T2,
typename T3,
typename T4>
1372 template <
typename U1,
typename U2,
typename U3,
typename U4,
typename U5,
1373 typename T1,
typename T2,
typename T3,
typename T4,
typename T5>
1374 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)
1382 template <
typename MEM,
typename OBJ>
1390 template <
typename MEM,
typename OBJ,
1398 template <
typename MEM,
typename OBJ,
1399 typename T1,
typename T2>
1406 template <
typename MEM,
typename OBJ,
1407 typename T1,
typename T2,
typename T3>
1414 template <
typename MEM,
typename OBJ,
1415 typename T1,
typename T2,
typename T3,
typename T4>
1422 template <
typename MEM,
typename OBJ,
1423 typename T1,
typename T2,
typename T3,
typename T4,
typename T5>
1426 T1 a1, T2 a2, T3 a3, T4 a4, T5 a5)
1431 template <
typename U1,
1439 template <
typename U1,
typename U2,
1440 typename T1,
typename T2>
1447 template <
typename U1,
typename U2,
typename U3,
1448 typename T1,
typename T2,
typename T3>
1455 template <
typename U1,
typename U2,
typename U3,
typename U4,
1456 typename T1,
typename T2,
typename T3,
typename T4>
1463 template <
typename U1,
typename U2,
typename U3,
typename U4,
typename U5,
1464 typename T1,
typename T2,
typename T3,
typename T4,
typename T5>
1473 template <
typename MEM,
typename OBJ>
1481 template <
typename MEM,
typename OBJ,
1489 template <
typename MEM,
typename OBJ,
1490 typename T1,
typename T2>
1497 template <
typename MEM,
typename OBJ,
1498 typename T1,
typename T2,
typename T3>
1505 template <
typename MEM,
typename OBJ,
1506 typename T1,
typename T2,
typename T3,
typename T4>
1513 template <
typename MEM,
typename OBJ,
1514 typename T1,
typename T2,
typename T3,
typename T4,
typename T5>
1517 T1 a1, T2 a2, T3 a3, T4 a4, T5 a5)
1522 template <
typename U1,
1530 template <
typename U1,
typename U2,
1531 typename T1,
typename T2>
1538 template <
typename U1,
typename U2,
typename U3,
1539 typename T1,
typename T2,
typename T3>
1546 template <
typename U1,
typename U2,
typename U3,
typename U4,
1547 typename T1,
typename T2,
typename T3,
typename T4>
1554 template <
typename U1,
typename U2,
typename U3,
typename U4,
typename U5,
1555 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...
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.
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.
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.