21 #ifndef DEFAULT_SIMULATOR_IMPL_H
22 #define DEFAULT_SIMULATOR_IMPL_H
28 #include "ns3/system-mutex.h"
49 virtual void Stop (
void);
50 virtual void Stop (
Time const &time);
58 virtual void Run (
void);
keep track of time values and allow control of global simulation resolution
EventsWithContext m_eventsWithContext
smart pointer class similar to boost::intrusive_ptr
Ptr< Scheduler > m_events
virtual void DoDispose(void)
This method is called by Object::Dispose or by the object's destructor, whichever comes first...
virtual Time GetMaximumSimulationTime(void) const
virtual void SetScheduler(ObjectFactory schedulerFactory)
DestroyEvents m_destroyEvents
SystemMutex m_eventsWithContextMutex
virtual EventId ScheduleNow(EventImpl *event)
virtual uint32_t GetSystemId(void) const
static TypeId GetTypeId(void)
virtual void Remove(const EventId &ev)
Remove an event from the event list.
virtual Time Now(void) const
Return the "current simulation time".
uint32_t m_currentContext
virtual bool IsExpired(const EventId &ev) const
This method has O(1) complexity.
virtual Time GetDelayLeft(const EventId &id) const
virtual EventId ScheduleDestroy(EventImpl *event)
std::list< struct EventWithContext > EventsWithContext
virtual void Cancel(const EventId &ev)
Set the cancel bit on this event: the event's associated function will not be invoked when it expires...
virtual void Stop(void)
If an event invokes this method, it will be the last event scheduled by the Simulator::Run method bef...
virtual uint32_t GetContext(void) const
A class which provides a relatively platform-independent Mutual Exclusion thread synchronization prim...
Doxygen introspection did not find any typical Config paths.
virtual void ScheduleWithContext(uint32_t context, Time const &time, EventImpl *event)
virtual EventId Schedule(Time const &time, EventImpl *event)
instantiate subclasses of ns3::Object.
virtual bool IsFinished(void) const
If there are no more events lefts to be scheduled, or if simulation time has already reached the "sto...
virtual void Run(void)
Run the simulation until one of:
an identifier for simulation events.
virtual void Destroy()
This method is typically invoked at the end of a simulation to avoid false-positive reports by a leak...
SystemThread::ThreadId m_main
std::list< EventId > DestroyEvents
void ProcessOneEvent(void)
bool m_eventsWithContextEmpty
a unique identifier for an interface.
Doxygen introspection did not find any typical Config paths.
void ProcessEventsWithContext(void)