ns3::PacketScheduler Class Reference

#include <packet-scheduler.h>

Inheritance diagram for ns3::PacketScheduler:
Inheritance graph
[legend]
Collaboration diagram for ns3::PacketScheduler:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 PacketScheduler (Ptr< EnbNetDevice > enb)
virtual void DoDispose (void)
void SetDevice (Ptr< EnbNetDevice > enb)
 Set the device where the scheduler works.
Ptr< EnbNetDeviceGetDevice ()
 Get the device where the scheduler works.
void SetMacEntity (Ptr< MacEntity > mac)
 Set the MAC entity of the device where the scheduler works.
Ptr< MacEntityGetMacEntity (void)
 Get the MAC entity of the device where the scheduler works.
void RunPacketScheduler (void)
 run the scheduling algorithm
virtual void DoRunPacketScheduler (void)=0
 run a particular scheduling strategy for both uplink and downlink

Static Public Member Functions

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

Detailed Description

This class represents the basic implementation of the LTE packet scheduler


Constructor & Destructor Documentation

ns3::PacketScheduler::PacketScheduler ( Ptr< EnbNetDevice enb  ) 

Create a packet scheduler

Parameters:
enb the device where the packet scheduler works

Member Function Documentation

virtual void ns3::PacketScheduler::DoDispose ( void   )  [virtual]

This method is called by Object::Dispose or by the object's destructor, whichever comes first.

Subclasses are expected to implement their real destruction code in an overriden version of this method and chain up to their parent's implementation once they are done. i.e., for simplicity, the destructor of every subclass should be empty and its content should be moved to the associated DoDispose method.

It is safe to call GetObject from within this method.

Reimplemented from ns3::Object.

Ptr<EnbNetDevice> ns3::PacketScheduler::GetDevice (  ) 

Get the device where the scheduler works.

Returns:
the pointer to the device where the scheduler works
Ptr<MacEntity> ns3::PacketScheduler::GetMacEntity ( void   ) 

Get the MAC entity of the device where the scheduler works.

Returns:
the pointer to the mac the mac entity
static TypeId ns3::PacketScheduler::GetTypeId ( void   )  [static]

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

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

  • /NodeList/[i]/DeviceList/[i]/$ns3::AlohaNoackNetDevice/Phy/$ns3::PacketScheduler
  • /NodeList/[i]/DeviceList/[i]/$ns3::BaseStationNetDevice/BsIpcsPacketClassifier/$ns3::PacketScheduler
  • /NodeList/[i]/DeviceList/[i]/$ns3::BaseStationNetDevice/LinkManager/$ns3::PacketScheduler
  • /NodeList/[i]/DeviceList/[i]/$ns3::BaseStationNetDevice/SSManager/$ns3::PacketScheduler
  • /NodeList/[i]/DeviceList/[i]/$ns3::BaseStationNetDevice/ServiceFlowManager/$ns3::PacketScheduler
  • /NodeList/[i]/DeviceList/[i]/$ns3::NonCommunicatingNetDevice/Phy/$ns3::PacketScheduler
  • /NodeList/[i]/DeviceList/[i]/$ns3::SubscriberStationNetDevice/Classifier/$ns3::PacketScheduler
  • /NodeList/[i]/DeviceList/[i]/$ns3::SubscriberStationNetDevice/LinkManager/$ns3::PacketScheduler
  • /NodeList/[i]/DeviceList/[i]/$ns3::SubscriberStationNetDevice/SSScheduler/$ns3::PacketScheduler
  • /NodeList/[i]/DeviceList/[i]/$ns3::UanNetDevice/Channel/NoiseModel/$ns3::PacketScheduler
  • /NodeList/[i]/DeviceList/[i]/$ns3::UanNetDevice/Channel/PropagationModel/$ns3::PacketScheduler
  • /NodeList/[i]/DeviceList/[i]/$ns3::UanNetDevice/Mac/$ns3::PacketScheduler
  • /NodeList/[i]/DeviceList/[i]/$ns3::UanNetDevice/Phy/$ns3::PacketScheduler
  • /NodeList/[i]/DeviceList/[i]/$ns3::UanNetDevice/Transducer/$ns3::PacketScheduler
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/$ns3::BaseStationNetDevice/BsIpcsPacketClassifier/$ns3::PacketScheduler
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/$ns3::BaseStationNetDevice/LinkManager/$ns3::PacketScheduler
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/$ns3::BaseStationNetDevice/SSManager/$ns3::PacketScheduler
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/$ns3::BaseStationNetDevice/ServiceFlowManager/$ns3::PacketScheduler
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/$ns3::SubscriberStationNetDevice/Classifier/$ns3::PacketScheduler
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/$ns3::SubscriberStationNetDevice/LinkManager/$ns3::PacketScheduler
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/$ns3::SubscriberStationNetDevice/SSScheduler/$ns3::PacketScheduler
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/BandwidthManager/$ns3::PacketScheduler
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/BurstProfileManager/$ns3::PacketScheduler
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/Channel/$ns3::UanChannel/NoiseModel/$ns3::PacketScheduler
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/Channel/$ns3::UanChannel/PropagationModel/$ns3::PacketScheduler
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/ConnectionManager/$ns3::PacketScheduler
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/Phy/Channel/$ns3::UanChannel/NoiseModel/$ns3::PacketScheduler
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/Phy/Channel/$ns3::UanChannel/PropagationModel/$ns3::PacketScheduler

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

Reimplemented from ns3::Object.

Reimplemented in ns3::SimplePacketScheduler.

void ns3::PacketScheduler::SetDevice ( Ptr< EnbNetDevice enb  ) 

Set the device where the scheduler works.

Parameters:
enb the device where the scheduler works
void ns3::PacketScheduler::SetMacEntity ( Ptr< MacEntity mac  ) 

Set the MAC entity of the device where the scheduler works.

Parameters:
mac the mac entity

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

Generated on 6 Jan 2011 for NS-3 by  doxygen 1.6.1