#include <default-simulator-impl.h>
Public Member Functions | |
DefaultSimulatorImpl () | |
~DefaultSimulatorImpl () | |
virtual void | Destroy () |
virtual bool | IsFinished (void) const |
virtual Time | Next (void) const |
virtual void | Stop (void) |
virtual EventId | Schedule (Time const &time, EventImpl *event) |
virtual EventId | ScheduleNow (EventImpl *event) |
virtual EventId | ScheduleDestroy (EventImpl *event) |
virtual void | Remove (const EventId &ev) |
virtual void | Cancel (const EventId &ev) |
virtual bool | IsExpired (const EventId &ev) const |
virtual void | Run (void) |
virtual void | RunOneEvent (void) |
virtual Time | Now (void) const |
virtual Time | GetDelayLeft (const EventId &id) const |
virtual Time | GetMaximumSimulationTime (void) const |
virtual void | SetScheduler (Ptr< Scheduler > scheduler) |
virtual Ptr< Scheduler > | GetScheduler (void) const |
Static Public Member Functions | |
static TypeId | GetTypeId (void) |
This method returns the TypeId associated to ns3::DefaultSimulatorImpl. | |
Private Types | |
typedef std::list< EventId > | DestroyEvents |
Private Member Functions | |
void | ProcessOneEvent (void) |
uint64_t | NextTs (void) const |
Private Attributes | |
DestroyEvents | m_destroyEvents |
bool | m_stop |
Ptr< Scheduler > | m_events |
uint32_t | m_uid |
uint32_t | m_currentUid |
uint64_t | m_currentTs |
int | m_unscheduledEvents |
Definition at line 36 of file default-simulator-impl.h.
typedef std::list<EventId> ns3::DefaultSimulatorImpl::DestroyEvents [private] |
Definition at line 66 of file default-simulator-impl.h.
ns3::DefaultSimulatorImpl::DefaultSimulatorImpl | ( | ) |
Definition at line 49 of file default-simulator-impl.cc.
References m_currentTs, m_currentUid, m_stop, m_uid, and m_unscheduledEvents.
ns3::DefaultSimulatorImpl::~DefaultSimulatorImpl | ( | ) |
Definition at line 63 of file default-simulator-impl.cc.
References ns3::Scheduler::Event::impl, m_events, and ns3::EventImpl::Unref().
void ns3::DefaultSimulatorImpl::Cancel | ( | const EventId & | ev | ) | [virtual] |
Implements ns3::SimulatorImpl.
Definition at line 265 of file default-simulator-impl.cc.
References IsExpired().
void ns3::DefaultSimulatorImpl::Destroy | ( | void | ) | [virtual] |
Implements ns3::SimulatorImpl.
Definition at line 74 of file default-simulator-impl.cc.
References m_destroyEvents, and NS_LOG_LOGIC.
Implements ns3::SimulatorImpl.
Definition at line 220 of file default-simulator-impl.cc.
References IsExpired(), m_currentTs, and ns3::TimeStep().
Time ns3::DefaultSimulatorImpl::GetMaximumSimulationTime | ( | void | ) | const [virtual] |
Implements ns3::SimulatorImpl.
Definition at line 303 of file default-simulator-impl.cc.
References ns3::TimeStep().
Implements ns3::SimulatorImpl.
Definition at line 103 of file default-simulator-impl.cc.
References m_events.
TypeId ns3::DefaultSimulatorImpl::GetTypeId | ( | void | ) | [static] |
This method returns the TypeId associated to ns3::DefaultSimulatorImpl.
No Attributes defined for this type.
No TraceSources defined for this type.
Reimplemented from ns3::Object.
Definition at line 40 of file default-simulator-impl.cc.
References ns3::TypeId::SetParent().
bool ns3::DefaultSimulatorImpl::IsExpired | ( | const EventId & | ev | ) | const [virtual] |
Implements ns3::SimulatorImpl.
Definition at line 274 of file default-simulator-impl.cc.
References ns3::EventId::GetTs(), ns3::EventId::GetUid(), ns3::EventImpl::IsCancelled(), m_currentTs, m_currentUid, m_destroyEvents, and ns3::EventId::PeekEventImpl().
Referenced by Cancel(), GetDelayLeft(), and Remove().
bool ns3::DefaultSimulatorImpl::IsFinished | ( | void | ) | const [virtual] |
Implements ns3::SimulatorImpl.
Definition at line 125 of file default-simulator-impl.cc.
References m_events.
Time ns3::DefaultSimulatorImpl::Next | ( | void | ) | const [virtual] |
Implements ns3::SimulatorImpl.
Definition at line 139 of file default-simulator-impl.cc.
References NextTs(), and ns3::TimeStep().
uint64_t ns3::DefaultSimulatorImpl::NextTs | ( | void | ) | const [private] |
Definition at line 131 of file default-simulator-impl.cc.
References m_events, and NS_ASSERT.
Referenced by Next().
Time ns3::DefaultSimulatorImpl::Now | ( | void | ) | const [virtual] |
Implements ns3::SimulatorImpl.
Definition at line 214 of file default-simulator-impl.cc.
References m_currentTs, and ns3::TimeStep().
Referenced by Schedule().
void ns3::DefaultSimulatorImpl::ProcessOneEvent | ( | void | ) | [private] |
Definition at line 110 of file default-simulator-impl.cc.
References ns3::Scheduler::Event::impl, ns3::EventImpl::Invoke(), ns3::Scheduler::Event::key, m_currentTs, m_currentUid, m_events, m_unscheduledEvents, NS_ASSERT, NS_LOG_LOGIC, and ns3::EventImpl::Unref().
Referenced by Run(), and RunOneEvent().
void ns3::DefaultSimulatorImpl::Remove | ( | const EventId & | ev | ) | [virtual] |
Implements ns3::SimulatorImpl.
Definition at line 233 of file default-simulator-impl.cc.
References IsExpired(), m_destroyEvents, m_events, and m_unscheduledEvents.
void ns3::DefaultSimulatorImpl::Run | ( | void | ) | [virtual] |
Implements ns3::SimulatorImpl.
Definition at line 145 of file default-simulator-impl.cc.
References m_events, m_stop, m_unscheduledEvents, NS_ASSERT, and ProcessOneEvent().
void ns3::DefaultSimulatorImpl::RunOneEvent | ( | void | ) | [virtual] |
Implements ns3::SimulatorImpl.
Definition at line 159 of file default-simulator-impl.cc.
References ProcessOneEvent().
Implements ns3::SimulatorImpl.
Definition at line 175 of file default-simulator-impl.cc.
References ns3::TimeUnit< 1 >::GetTimeStep(), ns3::Scheduler::Event::impl, ns3::TimeUnit< 1 >::IsPositive(), ns3::Scheduler::Event::key, m_currentTs, m_events, m_uid, m_unscheduledEvents, Now(), NS_ASSERT, and ns3::TimeStep().
Implements ns3::SimulatorImpl.
Definition at line 205 of file default-simulator-impl.cc.
References m_currentTs, m_destroyEvents, and m_uid.
Implements ns3::SimulatorImpl.
Definition at line 192 of file default-simulator-impl.cc.
References ns3::Scheduler::Event::impl, ns3::Scheduler::Event::key, m_currentTs, m_events, m_uid, and m_unscheduledEvents.
Implements ns3::SimulatorImpl.
Definition at line 89 of file default-simulator-impl.cc.
References m_events.
void ns3::DefaultSimulatorImpl::Stop | ( | void | ) | [virtual] |
Implements ns3::SimulatorImpl.
Definition at line 165 of file default-simulator-impl.cc.
References m_stop.
uint64_t ns3::DefaultSimulatorImpl::m_currentTs [private] |
Definition at line 72 of file default-simulator-impl.h.
Referenced by DefaultSimulatorImpl(), GetDelayLeft(), IsExpired(), Now(), ProcessOneEvent(), Schedule(), ScheduleDestroy(), and ScheduleNow().
uint32_t ns3::DefaultSimulatorImpl::m_currentUid [private] |
Definition at line 71 of file default-simulator-impl.h.
Referenced by DefaultSimulatorImpl(), IsExpired(), and ProcessOneEvent().
Definition at line 67 of file default-simulator-impl.h.
Referenced by Destroy(), IsExpired(), Remove(), and ScheduleDestroy().
Ptr<Scheduler> ns3::DefaultSimulatorImpl::m_events [private] |
Definition at line 69 of file default-simulator-impl.h.
Referenced by GetScheduler(), IsFinished(), NextTs(), ProcessOneEvent(), Remove(), Run(), Schedule(), ScheduleNow(), SetScheduler(), and ~DefaultSimulatorImpl().
bool ns3::DefaultSimulatorImpl::m_stop [private] |
Definition at line 68 of file default-simulator-impl.h.
Referenced by DefaultSimulatorImpl(), Run(), and Stop().
uint32_t ns3::DefaultSimulatorImpl::m_uid [private] |
Definition at line 70 of file default-simulator-impl.h.
Referenced by DefaultSimulatorImpl(), Schedule(), ScheduleDestroy(), and ScheduleNow().
int ns3::DefaultSimulatorImpl::m_unscheduledEvents [private] |
Definition at line 75 of file default-simulator-impl.h.
Referenced by DefaultSimulatorImpl(), ProcessOneEvent(), Remove(), Run(), Schedule(), and ScheduleNow().