|
A Discrete-Event Network Simulator
|
API
|
Go to the documentation of this file.
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;
a unique identifier for an interface.
Time m_dcdTimeStamp
DCD timestamp.
virtual Time GetUcdTimeStamp(void) const
virtual ~UplinkScheduler(void)
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...
virtual uint32_t CalculateAllocationStartTime(void)=0
virtual Time GetDcdTimeStamp(void) const
virtual bool GetIsIrIntrvlAllocated(void) const
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.
virtual void AllocateInitialRangingInterval(uint32_t &symbolsToAllocation, uint32_t &availableSymbols)=0
Allocate initial ranging interval function.
virtual void InitOnce(void)=0
one time initialization function
this class implements a structure to manage some parameters and statistics related to a service flow
Ptr< BaseStationNetDevice > m_bs
the base station
static TypeId GetTypeId(void)
Get the type ID.
Smart pointer class similar to boost::intrusive_ptr.
virtual void OnSetRequestedBandwidth(ServiceFlowRecord *sfr)=0
Set requested bandwidth.
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.
ModulationType
ModulationType enumeration.
virtual void SetUcdTimeStamp(Time ucdTimeStamp)
Set UCD timestamp.
virtual std::list< OfdmUlMapIe > GetUplinkAllocations(void) const
virtual uint8_t GetNrIrOppsAllocated(void) const
A base class which provides memory management and object aggregation.
This class implements the UL-MAP_IE message as described by "IEEE Standard for Local and metropolitan...
This class is used by the base station to store some information related to subscriber station in the...
virtual void SetTimeStampIrInterval(Time timeStampIrInterval)
Set timestamp IR interval.
virtual Ptr< BaseStationNetDevice > GetBs(void)
bool m_isInvIrIntrvlAllocated
is Inv IR interval allocated
bool m_isIrIntrvlAllocated
is IR interval allocated
Time m_timeStampIrInterval
timestamp IR interval
Simulation virtual time values and global simulation resolution.
virtual void SetupServiceFlow(SSRecord *ssRecord, ServiceFlow *serviceFlow)=0
Setp service flow function.
virtual void SetBs(Ptr< BaseStationNetDevice > bs)
Set base station device.
uint8_t m_nrIrOppsAllocated
number IR opps allocated
virtual void Schedule(void)=0
Schedule function.
virtual Time GetTimeStampIrInterval(void)
virtual void AddUplinkAllocation(OfdmUlMapIe &ulMapIe, const uint32_t &allocationSize, uint32_t &symbolsToAllocation, uint32_t &availableSymbols)=0
Add uplink allocation.
virtual bool GetIsInvIrIntrvlAllocated(void) const
SchedulingType
section 11.13.11 Service flow scheduling type, page 701
Time m_ucdTimeStamp
UCD timestamp.
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 service flows as described by the IEEE-802.16 standard.
std::list< OfdmUlMapIe > m_uplinkAllocations
uplink allocations
virtual void SetDcdTimeStamp(Time dcdTimeStamp)
Set DCD timestamp.
virtual void ProcessBandwidthRequest(const BandwidthRequestHeader &bwRequestHdr)=0
Process bandwidth request function.
virtual void SetIsIrIntrvlAllocated(bool isIrIntrvlAllocated)
Set if the IR interval is allocated.
virtual bool ServiceBandwidthRequests(ServiceFlow *serviceFlow, enum ServiceFlow::SchedulingType schedulingType, OfdmUlMapIe &ulMapIe, const WimaxPhy::ModulationType modulationType, uint32_t &symbolsToAllocation, uint32_t &availableSymbols)=0
Service bandwidth request function.
Virtual class for uplink scheduler.
virtual void SetIsInvIrIntrvlAllocated(bool isInvIrIntrvlAllocated)
Set if the Inv IR interval is allocated.