ns-3
ns3::Ns2CalendarScheduler Class Reference

a calendar queue event scheduler More...

#include <ns2-calendar-scheduler.h>

Inheritance diagram for ns3::Ns2CalendarScheduler:
Collaboration diagram for ns3::Ns2CalendarScheduler:

List of all members.

Classes

struct  Bucket
struct  BucketItem

Public Member Functions

virtual void Insert (const Event &ev)
virtual bool IsEmpty (void) const
virtual Event PeekNext (void) const
virtual Event RemoveNext (void)
virtual void Remove (const Event &ev)

Static Public Member Functions

static TypeId GetTypeId (void)
 This method returns the TypeId associated to ns3::Ns2CalendarScheduler.

Detailed Description

a calendar queue event scheduler

This event scheduler is a copy/paste of the ns2.29 calendar scheduler.


Member Function Documentation

This method returns the TypeId associated to ns3::Ns2CalendarScheduler.

This object is accessible through the following paths with Config::Set and Config::Connect:

  • /NodeList/[i]/DeviceList/[i]/$ns3::AlohaNoackNetDevice/Phy/$ns3::Ns2CalendarScheduler
  • /NodeList/[i]/DeviceList/[i]/$ns3::AlohaNoackNetDevice/Phy/$ns3::Scheduler/$ns3::Ns2CalendarScheduler
  • /NodeList/[i]/DeviceList/[i]/$ns3::NonCommunicatingNetDevice/Phy/$ns3::Ns2CalendarScheduler
  • /NodeList/[i]/DeviceList/[i]/$ns3::NonCommunicatingNetDevice/Phy/$ns3::Scheduler/$ns3::Ns2CalendarScheduler

No Attributes defined for this type.
No TraceSources defined for this type.

Reimplemented from ns3::Scheduler.

References ns3::TypeId::SetParent().

void ns3::Ns2CalendarScheduler::Insert ( const Event ev) [virtual]
Parameters:
evevent to store in the event list

Implements ns3::Scheduler.

References NS_LOG_FUNCTION.

bool ns3::Ns2CalendarScheduler::IsEmpty ( void  ) const [virtual]
Returns:
true if the event list is empty and false otherwise.

Implements ns3::Scheduler.

Referenced by PeekNext(), Remove(), and RemoveNext().

Returns:
a pointer to the next earliest event. The caller takes ownership of the returned pointer.

This method cannot be invoked if the list is empty.

Implements ns3::Scheduler.

References IsEmpty(), NS_ASSERT, and NS_LOG_FUNCTION.

void ns3::Ns2CalendarScheduler::Remove ( const Event ev) [virtual]
Parameters:
evthe event to remove

This methods cannot be invoked if the list is empty.

Implements ns3::Scheduler.

References IsEmpty(), NS_ASSERT, and NS_LOG_DEBUG.

This method cannot be invoked if the list is empty. Remove the next earliest event from the event list.

Implements ns3::Scheduler.

References IsEmpty(), NS_ASSERT, and NS_LOG_FUNCTION.


The documentation for this class was generated from the following files: