a std::map event scheduler More...
#include <map-scheduler.h>
Public Member Functions | |
MapScheduler () | |
virtual | ~MapScheduler () |
virtual void | Insert (const Event &ev) |
virtual bool | IsEmpty (void) const |
virtual Event | PeekNext (void) const |
virtual void | Remove (const Event &ev) |
virtual Event | RemoveNext (void) |
![]() | |
virtual | ~Scheduler ()=0 |
![]() | |
Object () | |
virtual | ~Object () |
void | AggregateObject (Ptr< Object > other) |
void | Dispose (void) |
AggregateIterator | GetAggregateIterator (void) const |
virtual TypeId | GetInstanceTypeId (void) const |
template<typename T > | |
Ptr< T > | GetObject (void) const |
template<typename T > | |
Ptr< T > | GetObject (TypeId tid) const |
void | Initialize (void) |
![]() | |
SimpleRefCount () | |
SimpleRefCount (const SimpleRefCount &o) | |
uint32_t | GetReferenceCount (void) const |
SimpleRefCount & | operator= (const SimpleRefCount &o) |
void | Ref (void) const |
void | Unref (void) const |
![]() | |
virtual | ~ObjectBase () |
void | GetAttribute (std::string name, AttributeValue &value) const |
bool | GetAttributeFailSafe (std::string name, AttributeValue &attribute) const |
void | SetAttribute (std::string name, const AttributeValue &value) |
bool | SetAttributeFailSafe (std::string name, const AttributeValue &value) |
bool | TraceConnect (std::string name, std::string context, const CallbackBase &cb) |
bool | TraceConnectWithoutContext (std::string name, const CallbackBase &cb) |
bool | TraceDisconnect (std::string name, std::string context, const CallbackBase &cb) |
bool | TraceDisconnectWithoutContext (std::string name, const CallbackBase &cb) |
Static Public Member Functions | |
static TypeId | GetTypeId (void) |
![]() | |
static TypeId | GetTypeId (void) |
![]() | |
static TypeId | GetTypeId (void) |
![]() | |
static void | Cleanup (void) |
![]() | |
static TypeId | GetTypeId (void) |
Private Types | |
typedef std::map < Scheduler::EventKey, EventImpl * > | EventMap |
typedef std::map < Scheduler::EventKey, EventImpl * >::const_iterator | EventMapCI |
typedef std::map < Scheduler::EventKey, EventImpl * >::iterator | EventMapI |
Private Attributes | |
EventMap | m_list |
Additional Inherited Members | |
![]() | |
Object (const Object &o) | |
virtual void | DoDispose (void) |
virtual void | DoInitialize (void) |
virtual void | NotifyNewAggregate (void) |
![]() | |
void | ConstructSelf (const AttributeConstructionList &attributes) |
virtual void | NotifyConstructionCompleted (void) |
a std::map event scheduler
This class implements the an event scheduler using an std::map data structure.
Doxygen introspection did not find any typical Config paths.
No Attributes are defined for this type.
No TraceSources are defined for this type.
Definition at line 38 of file map-scheduler.h.
|
private |
Definition at line 52 of file map-scheduler.h.
|
private |
Definition at line 54 of file map-scheduler.h.
|
private |
Definition at line 53 of file map-scheduler.h.
ns3::MapScheduler::MapScheduler | ( | ) |
Definition at line 44 of file map-scheduler.cc.
References NS_LOG_FUNCTION.
|
virtual |
Definition at line 48 of file map-scheduler.cc.
References NS_LOG_FUNCTION.
|
static |
Definition at line 35 of file map-scheduler.cc.
References ns3::TypeId::SetParent().
|
virtual |
ev | event to store in the event list |
Implements ns3::Scheduler.
Definition at line 54 of file map-scheduler.cc.
References ns3::Scheduler::Event::impl, ns3::Scheduler::Event::key, m_list, ns3::Scheduler::EventKey::m_ts, ns3::Scheduler::EventKey::m_uid, NS_ASSERT, and NS_LOG_FUNCTION.
|
virtual |
Implements ns3::Scheduler.
Definition at line 63 of file map-scheduler.cc.
References m_list, and NS_LOG_FUNCTION.
|
virtual |
This method cannot be invoked if the list is empty.
Implements ns3::Scheduler.
Definition at line 70 of file map-scheduler.cc.
References ns3::Scheduler::Event::impl, m_list, NS_ASSERT, NS_LOG_DEBUG, and NS_LOG_FUNCTION.
|
virtual |
ev | the event to remove |
This methods cannot be invoked if the list is empty.
Implements ns3::Scheduler.
Definition at line 97 of file map-scheduler.cc.
References ns3::Scheduler::Event::impl, ns3::Scheduler::Event::key, m_list, ns3::Scheduler::EventKey::m_ts, ns3::Scheduler::EventKey::m_uid, NS_ASSERT, and NS_LOG_FUNCTION.
|
virtual |
This method cannot be invoked if the list is empty. Remove the next earliest event from the event list.
Implements ns3::Scheduler.
Definition at line 83 of file map-scheduler.cc.
References ns3::Scheduler::Event::impl, m_list, NS_ASSERT, NS_LOG_DEBUG, and NS_LOG_FUNCTION.
|
private |
Definition at line 57 of file map-scheduler.h.
Referenced by Insert(), IsEmpty(), PeekNext(), Remove(), and RemoveNext().