21 #ifndef UPLINK_SCHEDULER_RTPS_H
22 #define UPLINK_SCHEDULER_RTPS_H
26 #include "ns3/nstime.h"
32 class BaseStationNetDevice;
99 const uint32_t &allocationSize,
100 uint32_t &symbolsToAllocation,
101 uint32_t &availableSymbols);
119 uint32_t &symbolsToAllocation,
120 uint32_t &availableSymbols);
134 uint32_t &symbolsToAllocation,
135 uint32_t &availableSymbols);
150 uint32_t &symbolsToAllocation,
151 uint32_t &availableSymbols);
This class implements the bandwidth-request mac Header as described by IEEE Standard for Local and me...
This class implements the UL-MAP_IE message as described by "IEEE Standard for Local and metropolitan...
Smart pointer class similar to boost::intrusive_ptr.
This class is used by the base station to store some information related to subscriber station in the...
This class implements service flows as described by the IEEE-802.16 standard.
SchedulingType
section 11.13.11 Service flow scheduling type, page 701
this class implements a structure to manage some parameters and statistics related to a service flow
a unique identifier for an interface.
Virtual class for uplink scheduler.
This class implements a simple uplink scheduler for rtPS flows.
std::list< OfdmUlMapIe > GetUplinkAllocations(void) const
Get uplink allocations.
void ServiceBandwidthRequests(const SSRecord *ssRecord, enum ServiceFlow::SchedulingType schedulingType, OfdmUlMapIe &ulMapIe, const WimaxPhy::ModulationType modulationType, uint32_t &symbolsToAllocation, uint32_t &availableSymbols)
Service Bandwidth Requests function.
static TypeId GetTypeId(void)
Get the type ID.
void Schedule(void)
Schedule function.
std::list< OfdmUlMapIe > m_uplinkAllocations
uplink allocations
void GetChannelDescriptorsToUpdate(bool &updateDcd, bool &updateUcd, bool &sendDcd, bool &sendUcd)
Determines if channel descriptors sent in the current frame are required to be updated.
void ProcessBandwidthRequest(const BandwidthRequestHeader &bwRequestHdr)
Process bandwidth requet function.
~UplinkSchedulerRtps(void)
void ServiceUnsolicitedGrants(const SSRecord *ssRecord, enum ServiceFlow::SchedulingType schedulingType, OfdmUlMapIe &ulMapIe, const WimaxPhy::ModulationType modulationType, uint32_t &symbolsToAllocation, uint32_t &availableSymbols)
Service Unsolicited Grants function.
void SetupServiceFlow(SSRecord *ssRecord, ServiceFlow *serviceFlow)
Setup service flow function.
uint32_t CalculateAllocationStartTime(void)
Calculate allocation start time function.
void InitOnce(void)
Init once function.
void OnSetRequestedBandwidth(ServiceFlowRecord *sfr)
Set requested bandwidth function.
void AllocateInitialRangingInterval(uint32_t &symbolsToAllocation, uint32_t &availableSymbols)
Allocate Initial Ranging Interval function.
void AddUplinkAllocation(OfdmUlMapIe &ulMapIe, const uint32_t &allocationSize, uint32_t &symbolsToAllocation, uint32_t &availableSymbols)
Add Uplink Allocation function.
void ULSchedulerRTPSConnection(uint32_t &symbolsToAllocation, uint32_t &availableSymbols)
Uplink Scheduler for rtPS connections.
ModulationType
ModulationType enumeration.
Every class exported by the ns3 library is enclosed in the ns3 namespace.