22 #ifndef BS_SCHEDULER_H
23 #define BS_SCHEDULER_H
29 #include "ns3/packet-burst.h"
30 #include "ns3/packet.h"
37 class BaseStationNetDevice;
38 class GenericMacHeader;
39 class WimaxConnection;
70 virtual std::list<std::pair<OfdmDlMapIe*, Ptr<PacketBurst>>>*
GetDownlinkBursts()
const = 0;
104 uint32_t availableSymbols) = 0;
125 int availableSymbols,
virtual void Schedule()=0
the scheduling function for the downlink subframe.
virtual Ptr< BaseStationNetDevice > GetBs()
Get the base station.
virtual void SetBs(Ptr< BaseStationNetDevice > bs)
Set the base station.
virtual bool SelectConnection(Ptr< WimaxConnection > &connection)=0
Selects a connection from the list of connections having packets to be sent .
Ptr< BaseStationNetDevice > m_bs
base station
virtual void AddDownlinkBurst(Ptr< const WimaxConnection > connection, uint8_t diuc, WimaxPhy::ModulationType modulationType, Ptr< PacketBurst > burst)=0
This function adds a downlink burst to the list of downlink bursts scheduled for the next downlink su...
static TypeId GetTypeId()
Get the type ID.
virtual Ptr< PacketBurst > CreateUgsBurst(ServiceFlow *serviceFlow, WimaxPhy::ModulationType modulationType, uint32_t availableSymbols)=0
Creates a downlink UGS burst.
std::list< std::pair< OfdmDlMapIe *, Ptr< PacketBurst > > > * m_downlinkBursts
down link bursts
virtual std::list< std::pair< OfdmDlMapIe *, Ptr< PacketBurst > > > * GetDownlinkBursts() const =0
This function returns all the downlink bursts scheduled for the next downlink sub-frame.
bool CheckForFragmentation(Ptr< WimaxConnection > connection, int availableSymbols, WimaxPhy::ModulationType modulationType)
Check if the packet fragmentation is possible for transport connection.
A base class which provides memory management and object aggregation.
Smart pointer class similar to boost::intrusive_ptr.
This class implements service flows as described by the IEEE-802.16 standard.
a unique identifier for an interface.
ModulationType
ModulationType enumeration.
Every class exported by the ns3 library is enclosed in the ns3 namespace.