20 #ifndef UPLINK_SCHEDULER_SIMPLE_H
21 #define UPLINK_SCHEDULER_SIMPLE_H
28 #include "ns3/nstime.h"
35 class BaseStationNetDevice;
77 bool& sendUcd)
override;
80 const uint32_t& allocationSize,
81 uint32_t& symbolsToAllocation,
82 uint32_t& availableSymbols)
override;
97 uint32_t& symbolsToAllocation,
98 uint32_t& availableSymbols)
override;
112 uint32_t& symbolsToAllocation,
113 uint32_t& availableSymbols)
override;
128 uint32_t& symbolsToAllocation,
129 uint32_t& availableSymbols)
override;
137 uint32_t& availableSymbols)
override;
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.
Uplink Scheduler - simplified.
void SetupServiceFlow(SSRecord *ssRecord, ServiceFlow *serviceFlow) override
Setup service flow function.
void OnSetRequestedBandwidth(ServiceFlowRecord *sfr) override
Set requested bandwidth function.
void AddUplinkAllocation(OfdmUlMapIe &ulMapIe, const uint32_t &allocationSize, uint32_t &symbolsToAllocation, uint32_t &availableSymbols) override
Add uplink allocation.
uint32_t CalculateAllocationStartTime() override
std::list< OfdmUlMapIe > m_uplinkAllocations
uplink allocations
~UplinkSchedulerSimple() override
void ServiceBandwidthRequests(const SSRecord *ssRecord, enum ServiceFlow::SchedulingType schedulingType, OfdmUlMapIe &ulMapIe, const WimaxPhy::ModulationType modulationType, uint32_t &symbolsToAllocation, uint32_t &availableSymbols) override
Service Bandwidth Requests function.
std::list< OfdmUlMapIe > GetUplinkAllocations() const override
static TypeId GetTypeId()
Get the type ID.
void ServiceUnsolicitedGrants(const SSRecord *ssRecord, enum ServiceFlow::SchedulingType schedulingType, OfdmUlMapIe &ulMapIe, const WimaxPhy::ModulationType modulationType, uint32_t &symbolsToAllocation, uint32_t &availableSymbols) override
Service Unsolicited Grants function.
void AllocateInitialRangingInterval(uint32_t &symbolsToAllocation, uint32_t &availableSymbols) override
Allocate Initial Ranging Interval function.
void ProcessBandwidthRequest(const BandwidthRequestHeader &bwRequestHdr) override
Process bandwidth request function.
void Schedule() override
Schedule function.
void GetChannelDescriptorsToUpdate(bool &updateDcd, bool &updateUcd, bool &sendDcd, bool &sendUcd) override
Determines if channel descriptors sent in the current frame are required to be updated.
void InitOnce() override
Init once function.
ModulationType
ModulationType enumeration.
Every class exported by the ns3 library is enclosed in the ns3 namespace.