21 #ifndef UPLINK_SCHEDULER_SIMPLE_H
22 #define UPLINK_SCHEDULER_SIMPLE_H
25 #include "ul-mac-messages.h"
26 #include "ns3/nstime.h"
27 #include "wimax-phy.h"
28 #include "bs-uplink-scheduler.h"
29 #include "service-flow.h"
33 class BaseStationNetDevice;
47 static TypeId GetTypeId (
void);
49 std::list<OfdmUlMapIe> GetUplinkAllocations (
void)
const;
56 uint32_t CalculateAllocationStartTime (
void);
58 const uint32_t &allocationSize,
59 uint32_t &symbolsToAllocation,
60 uint32_t &availableSymbols);
62 void ServiceUnsolicitedGrants (
const SSRecord *ssRecord,
63 enum ServiceFlow::SchedulingType schedulingType,
65 const WimaxPhy::ModulationType modulationType,
66 uint32_t &symbolsToAllocation,
67 uint32_t &availableSymbols);
68 void ServiceBandwidthRequests (
const SSRecord *ssRecord,
69 enum ServiceFlow::SchedulingType schedulingType,
71 const WimaxPhy::ModulationType modulationType,
72 uint32_t &symbolsToAllocation,
73 uint32_t &availableSymbols);
74 bool ServiceBandwidthRequests (
ServiceFlow *serviceFlow,
75 enum ServiceFlow::SchedulingType schedulingType,
77 const WimaxPhy::ModulationType modulationType,
78 uint32_t &symbolsToAllocation,
79 uint32_t &availableSymbols);
80 void AllocateInitialRangingInterval (uint32_t &symbolsToAllocation, uint32_t &availableSymbols);
90 std::list<OfdmUlMapIe> m_uplinkAllocations;
smart pointer class similar to boost::intrusive_ptr
this class implements a structure to manage some parameters and statistics related to a service flow ...
void GetChannelDescriptorsToUpdate(bool &, bool &, bool &, bool &)
Determines if channel descriptors sent in the current frame are required to be updated.
Virtual class for uplink scheduler.
this class implements the bandwidth-request mac Header as described by IEEE Standard for Local and me...
This class is used by the base station to store some information related to subscriber station in the...
a unique identifier for an interface.