148 static void Run (
void);
158 static void Stop (
void);
169 static void Stop (
Time const &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);
307 template <
typename U1,
typename T1>
322 template <
typename U1,
typename U2,
323 typename T1,
typename T2>
341 template <
typename U1,
typename U2,
typename U3,
342 typename T1,
typename T2,
typename T3>
363 template <
typename U1,
typename U2,
typename U3,
typename U4,
364 typename T1,
typename T2,
typename T3,
typename T4>
365 static EventId Schedule (
Time const &delay,
void (*f)(U1,U2,U3,U4), T1 a1, T2 a2, T3 a3, T4 a4);
388 template <
typename U1,
typename U2,
typename U3,
typename U4,
typename U5,
389 typename T1,
typename T2,
typename T3,
typename T4,
typename T5>
390 static EventId Schedule (
Time const &delay,
void (*f)(U1,U2,U3,U4,U5), T1 a1, T2 a2, T3 a3, T4 a4, T5 a5);
413 template <
typename MEM,
typename OBJ>
427 template <
typename MEM,
typename OBJ,
typename T1>
443 template <
typename MEM,
typename OBJ,
typename T1,
typename T2>
461 template <
typename MEM,
typename OBJ,
462 typename T1,
typename T2,
typename T3>
463 static void ScheduleWithContext (uint32_t context,
Time const &delay, MEM mem_ptr, OBJ obj, T1 a1, T2 a2, T3 a3);
482 template <
typename MEM,
typename OBJ,
483 typename T1,
typename T2,
typename T3,
typename T4>
484 static void ScheduleWithContext (uint32_t context,
Time const &delay, MEM mem_ptr, OBJ obj, T1 a1, T2 a2, T3 a3, T4 a4);
505 template <
typename MEM,
typename OBJ,
506 typename T1,
typename T2,
typename T3,
typename T4,
typename T5>
508 T1 a1, T2 a2, T3 a3, T4 a4, T5 a5);
531 template <
typename U1,
547 template <
typename U1,
typename U2,
548 typename T1,
typename T2>
566 template <
typename U1,
typename U2,
typename U3,
567 typename T1,
typename T2,
typename T3>
568 static void ScheduleWithContext (uint32_t context,
Time const &delay,
void (*f)(U1,U2,U3), T1 a1, T2 a2, T3 a3);
588 template <
typename U1,
typename U2,
typename U3,
typename U4,
589 typename T1,
typename T2,
typename T3,
typename T4>
590 static void ScheduleWithContext (uint32_t context,
Time const &delay,
void (*f)(U1,U2,U3,U4), T1 a1, T2 a2, T3 a3, T4 a4);
613 template <
typename U1,
typename U2,
typename U3,
typename U4,
typename U5,
614 typename T1,
typename T2,
typename T3,
typename T4,
typename T5>
615 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);
634 template <
typename MEM,
typename OBJ>
647 template <
typename MEM,
typename OBJ,
663 template <
typename MEM,
typename OBJ,
664 typename T1,
typename T2>
681 template <
typename MEM,
typename OBJ,
682 typename T1,
typename T2,
typename T3>
701 template <
typename MEM,
typename OBJ,
702 typename T1,
typename T2,
typename T3,
typename T4>
704 T1 a1, T2 a2, T3 a3, T4 a4);
723 template <
typename MEM,
typename OBJ,
724 typename T1,
typename T2,
typename T3,
typename T4,
typename T5>
726 T1 a1, T2 a2, T3 a3, T4 a4, T5 a5);
745 template <
typename U1,
760 template <
typename U1,
typename U2,
761 typename T1,
typename T2>
778 template <
typename U1,
typename U2,
typename U3,
779 typename T1,
typename T2,
typename T3>
799 template <
typename U1,
typename U2,
typename U3,
typename U4,
800 typename T1,
typename T2,
typename T3,
typename T4>
823 template <
typename U1,
typename U2,
typename U3,
typename U4,
typename U5,
824 typename T1,
typename T2,
typename T3,
typename T4,
typename T5>
825 static EventId ScheduleNow (
void (*f)(U1,U2,U3,U4,U5), T1 a1, T2 a2, T3 a3, T4 a4, T5 a5);
845 template <
typename MEM,
typename OBJ>
858 template <
typename MEM,
typename OBJ,
874 template <
typename MEM,
typename OBJ,
875 typename T1,
typename T2>
892 template <
typename MEM,
typename OBJ,
893 typename T1,
typename T2,
typename T3>
912 template <
typename MEM,
typename OBJ,
913 typename T1,
typename T2,
typename T3,
typename T4>
915 T1 a1, T2 a2, T3 a3, T4 a4);
934 template <
typename MEM,
typename OBJ,
935 typename T1,
typename T2,
typename T3,
typename T4,
typename T5>
937 T1 a1, T2 a2, T3 a3, T4 a4, T5 a5);
955 template <
typename U1,
970 template <
typename U1,
typename U2,
971 typename T1,
typename T2>
988 template <
typename U1,
typename U2,
typename U3,
989 typename T1,
typename T2,
typename T3>
1009 template <
typename U1,
typename U2,
typename U3,
typename U4,
1010 typename T1,
typename T2,
typename T3,
typename T4>
1033 template <
typename U1,
typename U2,
typename U3,
typename U4,
typename U5,
1034 typename T1,
typename T2,
typename T3,
typename T4,
typename T5>
1215 template <
typename MEM,
typename OBJ>
1222 template <
typename MEM,
typename OBJ,
1229 template <
typename MEM,
typename OBJ,
1230 typename T1,
typename T2>
1236 template <
typename MEM,
typename OBJ,
1237 typename T1,
typename T2,
typename T3>
1243 template <
typename MEM,
typename OBJ,
1244 typename T1,
typename T2,
typename T3,
typename T4>
1250 template <
typename MEM,
typename OBJ,
1251 typename T1,
typename T2,
typename T3,
typename T4,
typename T5>
1253 T1 a1, T2 a2, T3 a3, T4 a4, T5 a5)
1258 template <
typename U1,
1265 template <
typename U1,
typename U2,
1266 typename T1,
typename T2>
1272 template <
typename U1,
typename U2,
typename U3,
1273 typename T1,
typename T2,
typename T3>
1279 template <
typename U1,
typename U2,
typename U3,
typename U4,
1280 typename T1,
typename T2,
typename T3,
typename T4>
1286 template <
typename U1,
typename U2,
typename U3,
typename U4,
typename U5,
1287 typename T1,
typename T2,
typename T3,
typename T4,
typename T5>
1288 EventId Simulator::Schedule (
Time const &delay,
void (*f)(U1,U2,U3,U4,U5), T1 a1, T2 a2, T3 a3, T4 a4, T5 a5)
1296 template <
typename MEM,
typename OBJ>
1303 template <
typename MEM,
typename OBJ,
1310 template <
typename MEM,
typename OBJ,
1311 typename T1,
typename T2>
1317 template <
typename MEM,
typename OBJ,
1318 typename T1,
typename T2,
typename T3>
1324 template <
typename MEM,
typename OBJ,
1325 typename T1,
typename T2,
typename T3,
typename T4>
1331 template <
typename MEM,
typename OBJ,
1332 typename T1,
typename T2,
typename T3,
typename T4,
typename T5>
1334 T1 a1, T2 a2, T3 a3, T4 a4, T5 a5)
1339 template <
typename U1,
1346 template <
typename U1,
typename U2,
1347 typename T1,
typename T2>
1353 template <
typename U1,
typename U2,
typename U3,
1354 typename T1,
typename T2,
typename T3>
1360 template <
typename U1,
typename U2,
typename U3,
typename U4,
1361 typename T1,
typename T2,
typename T3,
typename T4>
1367 template <
typename U1,
typename U2,
typename U3,
typename U4,
typename U5,
1368 typename T1,
typename T2,
typename T3,
typename T4,
typename T5>
1369 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)
1377 template <
typename MEM,
typename OBJ>
1385 template <
typename MEM,
typename OBJ,
1393 template <
typename MEM,
typename OBJ,
1394 typename T1,
typename T2>
1401 template <
typename MEM,
typename OBJ,
1402 typename T1,
typename T2,
typename T3>
1409 template <
typename MEM,
typename OBJ,
1410 typename T1,
typename T2,
typename T3,
typename T4>
1417 template <
typename MEM,
typename OBJ,
1418 typename T1,
typename T2,
typename T3,
typename T4,
typename T5>
1421 T1 a1, T2 a2, T3 a3, T4 a4, T5 a5)
1426 template <
typename U1,
1434 template <
typename U1,
typename U2,
1435 typename T1,
typename T2>
1442 template <
typename U1,
typename U2,
typename U3,
1443 typename T1,
typename T2,
typename T3>
1450 template <
typename U1,
typename U2,
typename U3,
typename U4,
1451 typename T1,
typename T2,
typename T3,
typename T4>
1458 template <
typename U1,
typename U2,
typename U3,
typename U4,
typename U5,
1459 typename T1,
typename T2,
typename T3,
typename T4,
typename T5>
1468 template <
typename MEM,
typename OBJ>
1476 template <
typename MEM,
typename OBJ,
1484 template <
typename MEM,
typename OBJ,
1485 typename T1,
typename T2>
1492 template <
typename MEM,
typename OBJ,
1493 typename T1,
typename T2,
typename T3>
1500 template <
typename MEM,
typename OBJ,
1501 typename T1,
typename T2,
typename T3,
typename T4>
1508 template <
typename MEM,
typename OBJ,
1509 typename T1,
typename T2,
typename T3,
typename T4,
typename T5>
1512 T1 a1, T2 a2, T3 a3, T4 a4, T5 a5)
1517 template <
typename U1,
1525 template <
typename U1,
typename U2,
1526 typename T1,
typename T2>
1533 template <
typename U1,
typename U2,
typename U3,
1534 typename T1,
typename T2,
typename T3>
1541 template <
typename U1,
typename U2,
typename U3,
typename U4,
1542 typename T1,
typename T2,
typename T3,
typename T4>
1549 template <
typename U1,
typename U2,
typename U3,
typename U4,
typename U5,
1550 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().
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.
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.