Uplink Scheduler - simplified. More...
#include "bs-uplink-scheduler-simple.h"
Inheritance diagram for ns3::UplinkSchedulerSimple:
Collaboration diagram for ns3::UplinkSchedulerSimple:Static Public Member Functions | |
| static TypeId | GetTypeId () |
| Get the type ID. | |
Static Public Member Functions inherited from ns3::UplinkScheduler | |
| 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 | |
| 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. | |
Uplink Scheduler - simplified.
ns3::UplinkSchedulerSimple 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 144 bytes (on a 64-bit architecture).
Definition at line 33 of file bs-uplink-scheduler-simple.h.
| ns3::UplinkSchedulerSimple::UplinkSchedulerSimple | ( | ) |
Definition at line 32 of file bs-uplink-scheduler-simple.cc.
References ns3::Simulator::Now(), ns3::Seconds(), ns3::UplinkScheduler::SetBs(), ns3::UplinkScheduler::SetDcdTimeStamp(), ns3::UplinkScheduler::SetIsInvIrIntrvlAllocated(), ns3::UplinkScheduler::SetIsIrIntrvlAllocated(), ns3::UplinkScheduler::SetNrIrOppsAllocated(), ns3::UplinkScheduler::SetTimeStampIrInterval(), and ns3::UplinkScheduler::SetUcdTimeStamp().
Here is the call graph for this function:| ns3::UplinkSchedulerSimple::UplinkSchedulerSimple | ( | Ptr< BaseStationNetDevice > | bs | ) |
Constructor.
| bs | base station device |
Definition at line 43 of file bs-uplink-scheduler-simple.cc.
References ns3::Create(), ns3::Simulator::Now(), ns3::Seconds(), ns3::UplinkScheduler::SetBs(), ns3::UplinkScheduler::SetDcdTimeStamp(), ns3::UplinkScheduler::SetIsInvIrIntrvlAllocated(), ns3::UplinkScheduler::SetIsIrIntrvlAllocated(), ns3::UplinkScheduler::SetNrIrOppsAllocated(), ns3::UplinkScheduler::SetTimeStampIrInterval(), and ns3::UplinkScheduler::SetUcdTimeStamp().
Here is the call graph for this function:
|
override |
Definition at line 54 of file bs-uplink-scheduler-simple.cc.
References m_uplinkAllocations, and ns3::UplinkScheduler::SetBs().
Here is the call graph for this function:
|
overridevirtual |
Add uplink allocation.
| ulMapIe | the UL map IE |
| allocationSize | the allocation size |
| symbolsToAllocation | the symbols to allocation |
| availableSymbols | the available symbols |
Implements ns3::UplinkScheduler.
Definition at line 147 of file bs-uplink-scheduler-simple.cc.
References ns3::Create(), and m_uplinkAllocations.
Referenced by AllocateInitialRangingInterval(), Schedule(), ServiceBandwidthRequests(), and ServiceUnsolicitedGrants().
Here is the call graph for this function:
Here is the caller graph for this function:
|
overridevirtual |
Allocate Initial Ranging Interval function.
| symbolsToAllocation | symbols to allocation for UpLink Subframe |
| availableSymbols | available symbols for rtPS flows |
Implements ns3::UplinkScheduler.
Definition at line 476 of file bs-uplink-scheduler-simple.cc.
References AddUplinkAllocation(), CalculateAllocationStartTime(), ns3::Create(), ns3::UplinkScheduler::GetBs(), ns3::UplinkScheduler::GetNrIrOppsAllocated(), ns3::UplinkScheduler::GetTimeStampIrInterval(), ns3::Simulator::Now(), NS_LOG_DEBUG, ns3::Seconds(), ns3::OfdmUlMapIe::SetCid(), ns3::UplinkScheduler::SetIsIrIntrvlAllocated(), ns3::UplinkScheduler::SetNrIrOppsAllocated(), ns3::UplinkScheduler::SetTimeStampIrInterval(), and ns3::OfdmUlBurstProfile::UIUC_INITIAL_RANGING.
Referenced by Schedule().
Here is the call graph for this function:
Here is the caller graph for this function:
|
overridevirtual |
Implements ns3::UplinkScheduler.
Definition at line 141 of file bs-uplink-scheduler-simple.cc.
References ns3::UplinkScheduler::GetBs().
Referenced by AllocateInitialRangingInterval().
Here is the call graph for this function:
Here is the caller graph for this function:
|
overridevirtual |
Determines if channel descriptors sent in the current frame are required to be updated.
| updateDcd | currently unused (assume true) | |
| updateUcd | currently unused (assume true) | |
| [out] | sendDcd | DCD must be updated |
| [out] | sendUcd | UCD must be updated |
Implements ns3::UplinkScheduler.
Definition at line 82 of file bs-uplink-scheduler-simple.cc.
References ns3::Create(), ns3::UplinkScheduler::GetBs(), ns3::UplinkScheduler::GetDcdTimeStamp(), ns3::UplinkScheduler::GetUcdTimeStamp(), ns3::Simulator::Now(), ns3::UplinkScheduler::SetDcdTimeStamp(), and ns3::UplinkScheduler::SetUcdTimeStamp().
Here is the call graph for this function:
|
static |
Get the type ID.
Definition at line 66 of file bs-uplink-scheduler-simple.cc.
References ns3::TypeId::SetParent().
Here is the call graph for this function:
|
overridevirtual |
Reimplemented from ns3::UplinkScheduler.
Definition at line 76 of file bs-uplink-scheduler-simple.cc.
References m_uplinkAllocations.
|
overridevirtual |
Init once function.
Implements ns3::UplinkScheduler.
Definition at line 61 of file bs-uplink-scheduler-simple.cc.
|
overridevirtual |
Set requested bandwidth function.
| sfr | the service flow record |
Implements ns3::UplinkScheduler.
Definition at line 579 of file bs-uplink-scheduler-simple.cc.
References ns3::Create().
Here is the call graph for this function:
|
overridevirtual |
Process bandwidth request function.
| bwRequestHdr | the bandwidth request header |
Implements ns3::UplinkScheduler.
Definition at line 572 of file bs-uplink-scheduler-simple.cc.
|
overridevirtual |
Schedule function.
Implements ns3::UplinkScheduler.
Definition at line 160 of file bs-uplink-scheduler-simple.cc.
References AddUplinkAllocation(), AllocateInitialRangingInterval(), ns3::Create(), ns3::WimaxNetDevice::DIRECTION_UPLINK, ns3::UplinkScheduler::GetBs(), ns3::Cid::InitialRanging(), m_uplinkAllocations, ns3::WimaxNetDevice::RANGING_STATUS_CONTINUE, ns3::WimaxNetDevice::RANGING_STATUS_SUCCESS, ServiceBandwidthRequests(), ServiceUnsolicitedGrants(), ns3::OfdmUlMapIe::SetCid(), ns3::UplinkScheduler::SetIsInvIrIntrvlAllocated(), ns3::UplinkScheduler::SetIsIrIntrvlAllocated(), ns3::ServiceFlow::SF_TYPE_BE, ns3::ServiceFlow::SF_TYPE_NRTPS, ns3::ServiceFlow::SF_TYPE_RTPS, ns3::ServiceFlow::SF_TYPE_UGS, ns3::OfdmUlBurstProfile::UIUC_END_OF_MAP, and ns3::OfdmUlBurstProfile::UIUC_INITIAL_RANGING.
Here is the call graph for this function:
|
overridevirtual |
Service Bandwidth Requests function.
| ssRecord | Subscriber station record |
| schedulingType | the scheduling type |
| ulMapIe | the UL map IE |
| modulationType | the modulation type |
| symbolsToAllocation | the symbols to allocation |
| availableSymbols | the available symbols |
Implements ns3::UplinkScheduler.
Definition at line 403 of file bs-uplink-scheduler-simple.cc.
References ns3::Create(), and ServiceBandwidthRequests().
Referenced by Schedule(), ServiceBandwidthRequests(), and ServiceUnsolicitedGrants().
Here is the call graph for this function:
Here is the caller graph for this function:
|
overridevirtual |
Service bandwidth requests 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 |
Implements ns3::UplinkScheduler.
Definition at line 427 of file bs-uplink-scheduler-simple.cc.
References AddUplinkAllocation(), ns3::Create(), ns3::UplinkScheduler::GetBs(), and ns3::ServiceFlow::SF_TYPE_NRTPS.
Here is the call graph for this function:
|
overridevirtual |
Service Unsolicited Grants function.
| ssRecord | Subscriber station record |
| schedulingType | the scheduling type |
| ulMapIe | the UL map IE |
| modulationType | the modulation type |
| symbolsToAllocation | the symbols to allocation |
| availableSymbols | the available symbols |
Implements ns3::UplinkScheduler.
Definition at line 330 of file bs-uplink-scheduler-simple.cc.
References AddUplinkAllocation(), ns3::Create(), ns3::UplinkScheduler::GetBs(), ns3::Simulator::Now(), NS_LOG_DEBUG, ns3::Seconds(), ServiceBandwidthRequests(), ns3::ServiceFlow::SF_TYPE_NRTPS, ns3::ServiceFlow::SF_TYPE_UGS, and ns3::OfdmUlBurstProfile::UIUC_REQ_REGION_FULL.
Referenced by Schedule().
Here is the call graph for this function:
Here is the caller graph for this function:
|
overridevirtual |
Setup service flow function.
| ssRecord | Subscriber station record |
| serviceFlow | the service flow |
Implements ns3::UplinkScheduler.
Definition at line 517 of file bs-uplink-scheduler-simple.cc.
References ns3::Create(), ns3::UplinkScheduler::GetBs(), NS_FATAL_ERROR, ns3::ServiceFlow::SF_TYPE_BE, ns3::ServiceFlow::SF_TYPE_NRTPS, ns3::ServiceFlow::SF_TYPE_RTPS, and ns3::ServiceFlow::SF_TYPE_UGS.
Here is the call graph for this function:
|
private |
uplink allocations
Definition at line 150 of file bs-uplink-scheduler-simple.h.
Referenced by ~UplinkSchedulerSimple(), AddUplinkAllocation(), GetUplinkAllocations(), and Schedule().