21 #ifndef UPLINK_SCHEDULER_H
22 #define UPLINK_SCHEDULER_H
26 #include "ns3/nstime.h"
33 class BaseStationNetDevice;
36 class ServiceFlowRecord;
80 const uint32_t &allocationSize,
81 uint32_t &symbolsToAllocation,
82 uint32_t &availableSymbols) = 0;
88 uint32_t &symbolsToAllocation,
89 uint32_t &availableSymbols) = 0;
94 uint32_t &symbolsToAllocation,
95 uint32_t &availableSymbols) = 0;
100 uint32_t &symbolsToAllocation,
101 uint32_t &availableSymbols) = 0;
keep track of time values and allow control of global simulation resolution
smart pointer class similar to boost::intrusive_ptr
virtual void SetDcdTimeStamp(Time dcdTimeStamp)
virtual Time GetUcdTimeStamp(void) const
this class implements a structure to manage some parameters and statistics related to a service flow ...
static TypeId GetTypeId(void)
uint8_t m_nrIrOppsAllocated
virtual void SetIsIrIntrvlAllocated(bool isIrIntrvlAllocated)
Time m_timeStampIrInterval
virtual void AllocateInitialRangingInterval(uint32_t &symbolsToAllocation, uint32_t &availableSymbols)=0
virtual void ProcessBandwidthRequest(const BandwidthRequestHeader &bwRequestHdr)=0
virtual void OnSetRequestedBandwidth(ServiceFlowRecord *sfr)=0
virtual void SetupServiceFlow(SSRecord *ssRecord, ServiceFlow *serviceFlow)=0
virtual void SetTimeStampIrInterval(Time timeStampIrInterval)
virtual Time GetTimeStampIrInterval(void)
virtual void SetBs(Ptr< BaseStationNetDevice > bs)
Virtual class for uplink scheduler.
virtual void GetChannelDescriptorsToUpdate(bool &, bool &, bool &, bool &)=0
Determines if channel descriptors sent in the current frame are required to be updated.
virtual void SetNrIrOppsAllocated(uint8_t nrIrOppsAllocated)
Ptr< BaseStationNetDevice > m_bs
virtual uint32_t CalculateAllocationStartTime(void)=0
bool m_isIrIntrvlAllocated
virtual void Schedule(void)=0
virtual void AddUplinkAllocation(OfdmUlMapIe &ulMapIe, const uint32_t &allocationSize, uint32_t &symbolsToAllocation, uint32_t &availableSymbols)=0
virtual bool GetIsIrIntrvlAllocated(void) const
virtual void SetIsInvIrIntrvlAllocated(bool isInvIrIntrvlAllocated)
this class implements the bandwidth-request mac Header as described by IEEE Standard for Local and me...
virtual uint8_t GetNrIrOppsAllocated(void) const
std::list< OfdmUlMapIe > m_uplinkAllocations
This class implements service flows as described by the IEEE-802.16 standard.
virtual void ServiceBandwidthRequests(const SSRecord *ssRecord, enum ServiceFlow::SchedulingType schedulingType, OfdmUlMapIe &ulMapIe, const WimaxPhy::ModulationType modulationType, uint32_t &symbolsToAllocation, uint32_t &availableSymbols)=0
virtual Ptr< BaseStationNetDevice > GetBs(void)
bool m_isInvIrIntrvlAllocated
virtual ~UplinkScheduler(void)
virtual void SetUcdTimeStamp(Time ucdTimeStamp)
virtual void InitOnce(void)=0
This class is used by the base station to store some information related to subscriber station in the...
a base class which provides memory management and object aggregation
virtual void ServiceUnsolicitedGrants(const SSRecord *ssRecord, enum ServiceFlow::SchedulingType schedulingType, OfdmUlMapIe &ulMapIe, const WimaxPhy::ModulationType modulationType, uint32_t &symbolsToAllocation, uint32_t &availableSymbols)=0
virtual Time GetDcdTimeStamp(void) const
a unique identifier for an interface.
virtual bool GetIsInvIrIntrvlAllocated(void) const
virtual std::list< OfdmUlMapIe > GetUplinkAllocations(void) const