19 #ifndef REALTIME_SIMULATOR_IMPL_H
20 #define REALTIME_SIMULATOR_IMPL_H
60 virtual void Stop (
void);
61 virtual void Stop (
Time const &time);
69 virtual void Run (
void);
92 uint64_t
NextTs (
void)
const;
void ProcessOneEvent(void)
void ScheduleRealtimeNowWithContext(uint32_t context, EventImpl *event)
void SetSynchronizationMode(RealtimeSimulatorImpl::SynchronizationMode mode)
Simulation virtual time values and global simulation resolution.
Ptr< Synchronizer > m_synchronizer
Smart pointer class similar to boost::intrusive_ptr.
ns3::EventImpl declarations.
uint64_t NextTs(void) const
virtual EventId ScheduleNow(EventImpl *event)
Schedule an event to run at the current virtual time.
Make a best effort to keep synced to real-time.
virtual EventId Schedule(Time const &time, EventImpl *event)
Schedule a future event execution (in the same context).
SystemThread::ThreadId m_main
System-independent thread class ns3::SystemThread declaration.
Smart pointer implementation.
SynchronizationMode
Enumeration of the types of packets supported in the class.
void ScheduleRealtimeNow(EventImpl *event)
Time RealtimeNow(void) const
virtual Time GetMaximumSimulationTime(void) const
Get the maximum representable simulation time.
Time m_hardLimit
The maximum allowable drift from real-time in SYNC_HARD_LIMIT mode.
Time GetHardLimit(void) const
SynchronizationMode m_synchronizationMode
The policy to use if the simulation cannot keep synchronized to real-time.
void ScheduleRealtimeWithContext(uint32_t context, Time const &time, EventImpl *event)
DestroyEvents m_destroyEvents
virtual void DoDispose(void)
Destructor implementation.
virtual EventId ScheduleDestroy(EventImpl *event)
Schedule an event to run at the end of the simulation, after the Stop() time or condition has been re...
virtual void ScheduleWithContext(uint32_t context, Time const &time, EventImpl *event)
Schedule a future event execution (in a different context).
Ptr< Scheduler > m_events
RealtimeSimulatorImpl::SynchronizationMode GetSynchronizationMode(void) const
System-independent mutex primitive, ns3::SystemMutex, and ns3::CriticalSection.
static TypeId GetTypeId(void)
ns3::Scheduler abstract base class, ns3::Scheduler::Event and ns3::Scheduler::EventKey declarations...
virtual Time Now(void) const
Return the current simulation virtual time.
virtual void Run(void)
Run the simulation.
virtual void Destroy()
Execute the events scheduled with ScheduleDestroy().
pthread_t ThreadId
Type alias for the system-dependent thread object.
std::list< EventId > DestroyEvents
virtual void Cancel(const EventId &id)
Set the cancel bit on this event: the event's associated function will not be invoked when it expires...
Introspection did not find any typical Config paths.
virtual bool IsExpired(const EventId &id) const
Check if an event has already run or been cancelled.
virtual Time GetDelayLeft(const EventId &id) const
Get the remaining time until this event will execute.
Every class exported by the ns3 library is enclosed in the ns3 namespace.
virtual void Remove(const EventId &id)
Remove an event from the event list.
virtual uint32_t GetSystemId(void) const
Get the system id of this simulator.
void SetHardLimit(Time limit)
A class which provides a relatively platform-independent Mutual Exclusion thread synchronization prim...
ns3::Synchronizer declaration.
virtual void SetScheduler(ObjectFactory schedulerFactory)
Set the Scheduler to be used to manage the event list.
Instantiate subclasses of ns3::Object.
An identifier for simulation events.
bool Realtime(void) const
virtual uint32_t GetContext(void) const
Get the current simulation context.
virtual void Stop(void)
Tell the Simulator the calling event should be the last one executed.
void ScheduleRealtime(Time const &time, EventImpl *event)
virtual bool IsFinished(void) const
Check if the simulation should finish.
a unique identifier for an interface.
uint32_t m_currentContext
The SimulatorImpl base class.