21 #ifndef UPLINK_SCHEDULER_H 22 #define UPLINK_SCHEDULER_H 26 #include "ns3/nstime.h" 33 class BaseStationNetDevice;
36 class ServiceFlowRecord;
151 const uint32_t &allocationSize,
152 uint32_t &symbolsToAllocation,
153 uint32_t &availableSymbols) = 0;
171 uint32_t &symbolsToAllocation,
172 uint32_t &availableSymbols) = 0;
186 uint32_t &symbolsToAllocation,
187 uint32_t &availableSymbols) = 0;
202 uint32_t &symbolsToAllocation,
203 uint32_t &availableSymbols) = 0;
Simulation virtual time values and global simulation resolution.
Smart pointer class similar to boost::intrusive_ptr.
virtual void SetDcdTimeStamp(Time dcdTimeStamp)
Set DCD timestamp.
this class implements a structure to manage some parameters and statistics related to a service flow ...
static TypeId GetTypeId(void)
Get the type ID.
uint8_t m_nrIrOppsAllocated
number IR opps allocated
virtual uint8_t GetNrIrOppsAllocated(void) const
virtual void SetIsIrIntrvlAllocated(bool isIrIntrvlAllocated)
Set if the IR interval is allocated.
Time m_timeStampIrInterval
timestamp IR interval
virtual void AllocateInitialRangingInterval(uint32_t &symbolsToAllocation, uint32_t &availableSymbols)=0
Allocate initial ranging interval function.
virtual void ProcessBandwidthRequest(const BandwidthRequestHeader &bwRequestHdr)=0
Process bandwidth request function.
virtual void OnSetRequestedBandwidth(ServiceFlowRecord *sfr)=0
Set requested bandwidth.
Time m_dcdTimeStamp
DCD timestamp.
virtual void SetupServiceFlow(SSRecord *ssRecord, ServiceFlow *serviceFlow)=0
Setp service flow function.
SchedulingType
section 11.13.11 Service flow scheduling type, page 701
virtual void SetTimeStampIrInterval(Time timeStampIrInterval)
Set timestamp IR interval.
virtual Time GetTimeStampIrInterval(void)
virtual bool GetIsInvIrIntrvlAllocated(void) const
virtual void SetBs(Ptr< BaseStationNetDevice > bs)
Set base station device.
virtual Time GetDcdTimeStamp(void) const
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)
Set the number of IR opps allocated.
Ptr< BaseStationNetDevice > m_bs
the base station
virtual uint32_t CalculateAllocationStartTime(void)=0
virtual bool GetIsIrIntrvlAllocated(void) const
bool m_isIrIntrvlAllocated
is IR interval allocated
virtual void Schedule(void)=0
Schedule function.
virtual void AddUplinkAllocation(OfdmUlMapIe &ulMapIe, const uint32_t &allocationSize, uint32_t &symbolsToAllocation, uint32_t &availableSymbols)=0
Add uplink allocation.
Time m_ucdTimeStamp
UCD timestamp.
virtual void SetIsInvIrIntrvlAllocated(bool isInvIrIntrvlAllocated)
Set if the Inv IR interval is allocated.
Every class exported by the ns3 library is enclosed in the ns3 namespace.
This class implements the bandwidth-request mac Header as described by IEEE Standard for Local and me...
std::list< OfdmUlMapIe > m_uplinkAllocations
uplink allocations
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
Service bandwidth request function.
virtual Ptr< BaseStationNetDevice > GetBs(void)
bool m_isInvIrIntrvlAllocated
is Inv IR interval allocated
virtual ~UplinkScheduler(void)
virtual std::list< OfdmUlMapIe > GetUplinkAllocations(void) const
virtual void SetUcdTimeStamp(Time ucdTimeStamp)
Set UCD timestamp.
ModulationType
ModulationType enumeration.
virtual void InitOnce(void)=0
one time initialization function
virtual Time GetUcdTimeStamp(void) const
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
Service unsolicited grants function.
This class implements the UL-MAP_IE message as described by "IEEE Standard for Local and metropolitan...
a unique identifier for an interface.