#include <packet-scheduler.h>
Public Member Functions | |
PacketScheduler (Ptr< EnbNetDevice > enb) | |
virtual void | DoDispose (void) |
void | SetDevice (Ptr< EnbNetDevice > enb) |
Set the device where the scheduler works. | |
Ptr< EnbNetDevice > | GetDevice () |
Get the device where the scheduler works. | |
void | SetMacEntity (Ptr< MacEntity > mac) |
Set the MAC entity of the device where the scheduler works. | |
Ptr< MacEntity > | GetMacEntity (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. |
This class represents the basic implementation of the LTE packet scheduler
ns3::PacketScheduler::PacketScheduler | ( | Ptr< EnbNetDevice > | enb | ) |
Create a packet scheduler
enb | the device where the packet scheduler works |
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.
Get the MAC entity of the device where the scheduler works.
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:
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.
enb | the device where the scheduler works |
Set the MAC entity of the device where the scheduler works.
mac | the mac entity |