Virtual class for uplink scheduler. More...
#include "bs-uplink-scheduler.h"
Inheritance diagram for ns3::UplinkScheduler:
Collaboration diagram for ns3::UplinkScheduler:Static Public Member Functions | |
| static TypeId | GetTypeId () |
| Get the type ID. | |
Static Public Member Functions inherited from ns3::Object | |
| static TypeId | GetTypeId () |
| Register this type. | |
Static Public Member Functions inherited from ns3::ObjectBase | |
| static TypeId | GetTypeId () |
| Get the type ID. | |
Private Attributes | |
| Ptr< BaseStationNetDevice > | m_bs |
| the base station | |
| Time | m_dcdTimeStamp |
| DCD timestamp. | |
| bool | m_isInvIrIntrvlAllocated |
| is Inv IR interval allocated | |
| bool | m_isIrIntrvlAllocated |
| is IR interval allocated | |
| uint8_t | m_nrIrOppsAllocated |
| number IR opps allocated | |
| Time | m_timeStampIrInterval |
| timestamp IR interval | |
| Time | m_ucdTimeStamp |
| UCD timestamp. | |
| std::list< OfdmUlMapIe > | m_uplinkAllocations |
| uplink allocations | |
Additional Inherited Members | |
Protected Member Functions inherited from ns3::Object | |
| Object (const Object &o) | |
| Copy an Object. | |
| virtual void | DoDispose () |
| Destructor implementation. | |
| virtual void | DoInitialize () |
| Initialize() implementation. | |
| virtual void | NotifyNewAggregate () |
| Notify all Objects aggregated to this one of a new Object being aggregated. | |
Protected Member Functions inherited from ns3::ObjectBase | |
| void | ConstructSelf (const AttributeConstructionList &attributes) |
| Complete construction of ObjectBase; invoked by derived classes. | |
| virtual void | NotifyConstructionCompleted () |
| Notifier called once the ObjectBase is fully constructed. | |
Related Symbols inherited from ns3::ObjectBase | |
| static TypeId | GetObjectIid () |
| Ensure the TypeId for ObjectBase gets fully configured to anchor the inheritance tree properly. | |
Virtual class for uplink scheduler.
ns3::UplinkScheduler is accessible through the following paths with Config::Set and Config::Connect:
No Attributes are defined for this type.
No TraceSources are defined for this type.
Group: Wimax
Size of this type is 120 bytes (on a 64-bit architecture).
Definition at line 33 of file bs-uplink-scheduler.h.
| ns3::UplinkScheduler::UplinkScheduler | ( | ) |
Definition at line 32 of file bs-uplink-scheduler.cc.
| ns3::UplinkScheduler::UplinkScheduler | ( | Ptr< BaseStationNetDevice > | bs | ) |
|
override |
Definition at line 54 of file bs-uplink-scheduler.cc.
References m_bs, and m_uplinkAllocations.
|
pure virtual |
Add uplink allocation.
| ulMapIe | the UL map IE |
| allocationSize | the allocation size |
| symbolsToAllocation | the symbols to allocation |
| availableSymbols | the available symbols |
Implemented in ns3::UplinkSchedulerMBQoS, ns3::UplinkSchedulerRtps, and ns3::UplinkSchedulerSimple.
|
pure virtual |
Allocate initial ranging interval function.
| symbolsToAllocation | the symbols to allocation |
| availableSymbols | the available symbols |
Implemented in ns3::UplinkSchedulerMBQoS, ns3::UplinkSchedulerRtps, and ns3::UplinkSchedulerSimple.
Implemented in ns3::UplinkSchedulerMBQoS, ns3::UplinkSchedulerRtps, and ns3::UplinkSchedulerSimple.
|
virtual |
Definition at line 151 of file bs-uplink-scheduler.cc.
References m_bs.
Referenced by ns3::UplinkSchedulerMBQoS::AllocateInitialRangingInterval(), ns3::UplinkSchedulerRtps::AllocateInitialRangingInterval(), ns3::UplinkSchedulerSimple::AllocateInitialRangingInterval(), ns3::UplinkSchedulerMBQoS::CalculateAllocationStartTime(), ns3::UplinkSchedulerRtps::CalculateAllocationStartTime(), ns3::UplinkSchedulerSimple::CalculateAllocationStartTime(), ns3::UplinkSchedulerMBQoS::CheckDeadline(), ns3::UplinkSchedulerMBQoS::CheckMinimumBandwidth(), ns3::UplinkSchedulerMBQoS::CountSymbolsJobs(), ns3::UplinkSchedulerMBQoS::GetChannelDescriptorsToUpdate(), ns3::UplinkSchedulerRtps::GetChannelDescriptorsToUpdate(), ns3::UplinkSchedulerSimple::GetChannelDescriptorsToUpdate(), ns3::UplinkSchedulerMBQoS::ProcessBandwidthRequest(), ns3::UplinkSchedulerMBQoS::Schedule(), ns3::UplinkSchedulerRtps::Schedule(), ns3::UplinkSchedulerSimple::Schedule(), ns3::UplinkSchedulerMBQoS::ServiceBandwidthRequests(), ns3::UplinkSchedulerRtps::ServiceBandwidthRequests(), ns3::UplinkSchedulerSimple::ServiceBandwidthRequests(), ns3::UplinkSchedulerMBQoS::ServiceBandwidthRequestsBytes(), ns3::UplinkSchedulerMBQoS::ServiceUnsolicitedGrants(), ns3::UplinkSchedulerRtps::ServiceUnsolicitedGrants(), ns3::UplinkSchedulerSimple::ServiceUnsolicitedGrants(), ns3::UplinkSchedulerMBQoS::SetupServiceFlow(), ns3::UplinkSchedulerRtps::SetupServiceFlow(), ns3::UplinkSchedulerSimple::SetupServiceFlow(), ns3::UplinkSchedulerRtps::ULSchedulerRTPSConnection(), and ns3::UplinkSchedulerMBQoS::UplinkSchedWindowTimer().
Here is the caller graph for this function:
|
pure virtual |
Determines if channel descriptors sent in the current frame are required to be updated.
Implemented in ns3::UplinkSchedulerMBQoS, ns3::UplinkSchedulerRtps, and ns3::UplinkSchedulerSimple.
|
virtual |
Definition at line 109 of file bs-uplink-scheduler.cc.
References m_dcdTimeStamp.
Referenced by ns3::UplinkSchedulerMBQoS::GetChannelDescriptorsToUpdate(), ns3::UplinkSchedulerRtps::GetChannelDescriptorsToUpdate(), and ns3::UplinkSchedulerSimple::GetChannelDescriptorsToUpdate().
Here is the caller graph for this function:
|
virtual |
Definition at line 97 of file bs-uplink-scheduler.cc.
References m_isInvIrIntrvlAllocated.
|
virtual |
Definition at line 85 of file bs-uplink-scheduler.cc.
References m_isIrIntrvlAllocated.
|
virtual |
Definition at line 73 of file bs-uplink-scheduler.cc.
References m_nrIrOppsAllocated.
Referenced by ns3::UplinkSchedulerMBQoS::AllocateInitialRangingInterval(), ns3::UplinkSchedulerRtps::AllocateInitialRangingInterval(), and ns3::UplinkSchedulerSimple::AllocateInitialRangingInterval().
Here is the caller graph for this function:
|
virtual |
Definition at line 139 of file bs-uplink-scheduler.cc.
References m_timeStampIrInterval.
Referenced by ns3::UplinkSchedulerMBQoS::AllocateInitialRangingInterval(), ns3::UplinkSchedulerRtps::AllocateInitialRangingInterval(), and ns3::UplinkSchedulerSimple::AllocateInitialRangingInterval().
Here is the caller graph for this function:
|
static |
Get the type ID.
Definition at line 66 of file bs-uplink-scheduler.cc.
References ns3::TypeId::SetParent().
Here is the call graph for this function:
|
virtual |
Definition at line 121 of file bs-uplink-scheduler.cc.
References m_ucdTimeStamp.
Referenced by ns3::UplinkSchedulerMBQoS::GetChannelDescriptorsToUpdate(), ns3::UplinkSchedulerRtps::GetChannelDescriptorsToUpdate(), and ns3::UplinkSchedulerSimple::GetChannelDescriptorsToUpdate().
Here is the caller graph for this function:
|
virtual |
Reimplemented in ns3::UplinkSchedulerMBQoS, ns3::UplinkSchedulerRtps, and ns3::UplinkSchedulerSimple.
Definition at line 133 of file bs-uplink-scheduler.cc.
References m_uplinkAllocations.
|
pure virtual |
one time initialization function
Implemented in ns3::UplinkSchedulerMBQoS, ns3::UplinkSchedulerRtps, and ns3::UplinkSchedulerSimple.
Definition at line 61 of file bs-uplink-scheduler.cc.
|
pure virtual |
Set requested bandwidth.
| sfr | service flow record |
Implemented in ns3::UplinkSchedulerMBQoS, ns3::UplinkSchedulerRtps, and ns3::UplinkSchedulerSimple.
|
pure virtual |
Process bandwidth request function.
| bwRequestHdr |
Implemented in ns3::UplinkSchedulerMBQoS, ns3::UplinkSchedulerRtps, and ns3::UplinkSchedulerSimple.
Schedule function.
Implemented in ns3::UplinkSchedulerMBQoS, ns3::UplinkSchedulerRtps, and ns3::UplinkSchedulerSimple.
|
pure virtual |
Service bandwidth request function.
| ssRecord | the SS record |
| schedulingType | the scheduling type |
| ulMapIe | the UL map IE |
| modulationType | the modulation type |
| symbolsToAllocation | the symbols to allocation |
| availableSymbols | the available symbols |
Implemented in ns3::UplinkSchedulerMBQoS, ns3::UplinkSchedulerRtps, and ns3::UplinkSchedulerSimple.
|
pure virtual |
Service bandwidth request function.
| serviceFlow | the service flow |
| schedulingType | the scheduling type |
| ulMapIe | the UL map IE |
| modulationType | the modulation type |
| symbolsToAllocation | the symbols to allocation |
| availableSymbols | the available symbols |
Implemented in ns3::UplinkSchedulerMBQoS, ns3::UplinkSchedulerRtps, and ns3::UplinkSchedulerSimple.
|
pure virtual |
Service unsolicited grants function.
| ssRecord | the SS record |
| schedulingType | the scheduling type |
| ulMapIe | the UL map IE |
| modulationType | the modulation type |
| symbolsToAllocation | the symbols to allocation |
| availableSymbols | the available symbols |
Implemented in ns3::UplinkSchedulerMBQoS, ns3::UplinkSchedulerRtps, and ns3::UplinkSchedulerSimple.
|
virtual |
Set base station device.
| bs |
Definition at line 157 of file bs-uplink-scheduler.cc.
References ns3::Create(), and m_bs.
Referenced by ns3::UplinkSchedulerRtps::UplinkSchedulerRtps(), ns3::UplinkSchedulerRtps::UplinkSchedulerRtps(), ns3::UplinkSchedulerSimple::UplinkSchedulerSimple(), ns3::UplinkSchedulerSimple::UplinkSchedulerSimple(), ns3::UplinkSchedulerMBQoS::~UplinkSchedulerMBQoS(), ns3::UplinkSchedulerRtps::~UplinkSchedulerRtps(), and ns3::UplinkSchedulerSimple::~UplinkSchedulerSimple().
Here is the call graph for this function:
Here is the caller graph for this function:Set DCD timestamp.
| dcdTimeStamp |
Definition at line 115 of file bs-uplink-scheduler.cc.
References ns3::Create(), and m_dcdTimeStamp.
Referenced by ns3::UplinkSchedulerRtps::UplinkSchedulerRtps(), ns3::UplinkSchedulerRtps::UplinkSchedulerRtps(), ns3::UplinkSchedulerSimple::UplinkSchedulerSimple(), ns3::UplinkSchedulerSimple::UplinkSchedulerSimple(), ns3::UplinkSchedulerMBQoS::GetChannelDescriptorsToUpdate(), ns3::UplinkSchedulerRtps::GetChannelDescriptorsToUpdate(), and ns3::UplinkSchedulerSimple::GetChannelDescriptorsToUpdate().
Here is the call graph for this function:
Here is the caller graph for this function:
|
virtual |
Set if the Inv IR interval is allocated.
| isInvIrIntrvlAllocated |
Definition at line 103 of file bs-uplink-scheduler.cc.
References ns3::Create(), and m_isInvIrIntrvlAllocated.
Referenced by ns3::UplinkSchedulerRtps::UplinkSchedulerRtps(), ns3::UplinkSchedulerRtps::UplinkSchedulerRtps(), ns3::UplinkSchedulerSimple::UplinkSchedulerSimple(), ns3::UplinkSchedulerSimple::UplinkSchedulerSimple(), ns3::UplinkSchedulerMBQoS::Schedule(), ns3::UplinkSchedulerRtps::Schedule(), and ns3::UplinkSchedulerSimple::Schedule().
Here is the call graph for this function:
Here is the caller graph for this function:
|
virtual |
Set if the IR interval is allocated.
| isIrIntrvlAllocated |
Definition at line 91 of file bs-uplink-scheduler.cc.
References ns3::Create(), and m_isIrIntrvlAllocated.
Referenced by ns3::UplinkSchedulerRtps::UplinkSchedulerRtps(), ns3::UplinkSchedulerRtps::UplinkSchedulerRtps(), ns3::UplinkSchedulerSimple::UplinkSchedulerSimple(), ns3::UplinkSchedulerSimple::UplinkSchedulerSimple(), ns3::UplinkSchedulerMBQoS::AllocateInitialRangingInterval(), ns3::UplinkSchedulerRtps::AllocateInitialRangingInterval(), ns3::UplinkSchedulerSimple::AllocateInitialRangingInterval(), ns3::UplinkSchedulerMBQoS::Schedule(), ns3::UplinkSchedulerRtps::Schedule(), and ns3::UplinkSchedulerSimple::Schedule().
Here is the call graph for this function:
Here is the caller graph for this function:
|
virtual |
Set the number of IR opps allocated.
| nrIrOppsAllocated | number of IR opps allocated |
Definition at line 79 of file bs-uplink-scheduler.cc.
References ns3::Create(), and m_nrIrOppsAllocated.
Referenced by ns3::UplinkSchedulerRtps::UplinkSchedulerRtps(), ns3::UplinkSchedulerRtps::UplinkSchedulerRtps(), ns3::UplinkSchedulerSimple::UplinkSchedulerSimple(), ns3::UplinkSchedulerSimple::UplinkSchedulerSimple(), ns3::UplinkSchedulerMBQoS::AllocateInitialRangingInterval(), ns3::UplinkSchedulerRtps::AllocateInitialRangingInterval(), and ns3::UplinkSchedulerSimple::AllocateInitialRangingInterval().
Here is the call graph for this function:
Here is the caller graph for this function:Set timestamp IR interval.
| timeStampIrInterval |
Definition at line 145 of file bs-uplink-scheduler.cc.
References ns3::Create(), and m_timeStampIrInterval.
Referenced by ns3::UplinkSchedulerRtps::UplinkSchedulerRtps(), ns3::UplinkSchedulerRtps::UplinkSchedulerRtps(), ns3::UplinkSchedulerSimple::UplinkSchedulerSimple(), ns3::UplinkSchedulerSimple::UplinkSchedulerSimple(), ns3::UplinkSchedulerMBQoS::AllocateInitialRangingInterval(), ns3::UplinkSchedulerRtps::AllocateInitialRangingInterval(), and ns3::UplinkSchedulerSimple::AllocateInitialRangingInterval().
Here is the call graph for this function:
Here is the caller graph for this function:Set UCD timestamp.
| ucdTimeStamp |
Definition at line 127 of file bs-uplink-scheduler.cc.
References ns3::Create(), and m_ucdTimeStamp.
Referenced by ns3::UplinkSchedulerRtps::UplinkSchedulerRtps(), ns3::UplinkSchedulerRtps::UplinkSchedulerRtps(), ns3::UplinkSchedulerSimple::UplinkSchedulerSimple(), ns3::UplinkSchedulerSimple::UplinkSchedulerSimple(), ns3::UplinkSchedulerMBQoS::GetChannelDescriptorsToUpdate(), ns3::UplinkSchedulerRtps::GetChannelDescriptorsToUpdate(), and ns3::UplinkSchedulerSimple::GetChannelDescriptorsToUpdate().
Here is the call graph for this function:
Here is the caller graph for this function:
|
pure virtual |
Setp service flow function.
| ssRecord | the SS record |
| serviceFlow | the service flow |
Implemented in ns3::UplinkSchedulerMBQoS, ns3::UplinkSchedulerRtps, and ns3::UplinkSchedulerSimple.
|
private |
the base station
Definition at line 226 of file bs-uplink-scheduler.h.
Referenced by ~UplinkScheduler(), GetBs(), and SetBs().
|
private |
DCD timestamp.
Definition at line 232 of file bs-uplink-scheduler.h.
Referenced by GetDcdTimeStamp(), and SetDcdTimeStamp().
|
private |
is Inv IR interval allocated
Definition at line 231 of file bs-uplink-scheduler.h.
Referenced by GetIsInvIrIntrvlAllocated(), and SetIsInvIrIntrvlAllocated().
|
private |
is IR interval allocated
Definition at line 230 of file bs-uplink-scheduler.h.
Referenced by GetIsIrIntrvlAllocated(), and SetIsIrIntrvlAllocated().
|
private |
number IR opps allocated
Definition at line 229 of file bs-uplink-scheduler.h.
Referenced by GetNrIrOppsAllocated(), and SetNrIrOppsAllocated().
|
private |
timestamp IR interval
Definition at line 228 of file bs-uplink-scheduler.h.
Referenced by GetTimeStampIrInterval(), and SetTimeStampIrInterval().
|
private |
UCD timestamp.
Definition at line 233 of file bs-uplink-scheduler.h.
Referenced by GetUcdTimeStamp(), and SetUcdTimeStamp().
|
private |
uplink allocations
Definition at line 227 of file bs-uplink-scheduler.h.
Referenced by ~UplinkScheduler(), and GetUplinkAllocations().