Maintain the event list. More...
#include <scheduler.h>
Public Member Functions | |
virtual void | Insert (const EventId &id)=0 |
virtual bool | IsEmpty (void) const =0 |
virtual EventId | PeekNext (void) const =0 |
virtual EventId | RemoveNext (void)=0 |
virtual bool | Remove (const EventId &id)=0 |
Static Public Member Functions | |
static TypeId | GetTypeId (void) |
This method returns the TypeId associated to ns3::Scheduler. |
Maintain the event list.
This base class specifies the interface used to maintain the event list. If you want to provide a new event list scheduler, you need to create a subclass of this base class and implement all the pure virtual methods defined here. Namely:
static TypeId ns3::Scheduler::GetTypeId | ( | void | ) | [static] |
This method returns the TypeId associated to ns3::Scheduler.
/*! /*! /*! /*! /*!
No Attributes defined for this type.
No TraceSources defined for this type.
Reimplemented from ns3::Object.
virtual void ns3::Scheduler::Insert | ( | const EventId & | id | ) | [pure virtual] |
id | event to store in the event list |
This method takes ownership of the event pointer.
Implemented in ns3::HeapScheduler, ns3::ListScheduler, and ns3::MapScheduler.
virtual bool ns3::Scheduler::IsEmpty | ( | void | ) | const [pure virtual] |
Implemented in ns3::HeapScheduler, ns3::ListScheduler, and ns3::MapScheduler.
virtual EventId ns3::Scheduler::PeekNext | ( | void | ) | const [pure virtual] |
This method cannot be invoked if the list is empty.
Implemented in ns3::HeapScheduler, ns3::ListScheduler, and ns3::MapScheduler.
virtual bool ns3::Scheduler::Remove | ( | const EventId & | id | ) | [pure virtual] |
id | the id of the event to remove |
This methods cannot be invoked if the list is empty.
Implemented in ns3::HeapScheduler, ns3::ListScheduler, and ns3::MapScheduler.
virtual EventId ns3::Scheduler::RemoveNext | ( | void | ) | [pure virtual] |
This method cannot be invoked if the list is empty. Remove the next earliest event from the event list.
Implemented in ns3::HeapScheduler, ns3::ListScheduler, and ns3::MapScheduler.