9#ifndef UPLINK_SCHEDULER_SIMPLE_H
10#define UPLINK_SCHEDULER_SIMPLE_H
17#include "ns3/nstime.h"
24class BaseStationNetDevice;
66 bool& sendUcd)
override;
71 uint32_t& availableSymbols)
override;
87 uint32_t& availableSymbols)
override;
102 uint32_t& availableSymbols)
override;
118 uint32_t& availableSymbols)
override;
126 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 forLocal 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, 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 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 ServiceUnsolicitedGrants(const SSRecord *ssRecord, ServiceFlow::SchedulingType schedulingType, OfdmUlMapIe &ulMapIe, const WimaxPhy::ModulationType modulationType, uint32_t &symbolsToAllocation, uint32_t &availableSymbols) override
Service Unsolicited Grants function.
void InitOnce() override
Init once function.
ModulationType
ModulationType enumeration.
Every class exported by the ns3 library is enclosed in the ns3 namespace.