A Discrete-Event Network Simulator
API
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
ns3::UplinkSchedulerSimple Class Reference

#include <bs-uplink-scheduler-simple.h>

+ Inheritance diagram for ns3::UplinkSchedulerSimple:
+ Collaboration diagram for ns3::UplinkSchedulerSimple:

Public Member Functions

 UplinkSchedulerSimple (void)
 UplinkSchedulerSimple (Ptr< BaseStationNetDevice > bs)
 ~UplinkSchedulerSimple (void)
void AddUplinkAllocation (OfdmUlMapIe &ulMapIe, const uint32_t &allocationSize, uint32_t &symbolsToAllocation, uint32_t &availableSymbols)
void AllocateInitialRangingInterval (uint32_t &symbolsToAllocation, uint32_t &availableSymbols)
uint32_t CalculateAllocationStartTime (void)
void GetChannelDescriptorsToUpdate (bool &, bool &, bool &, bool &)
 Determines if channel descriptors sent in the current frame are required to be updated.
std::list< OfdmUlMapIeGetUplinkAllocations (void) const
void InitOnce (void)
void OnSetRequestedBandwidth (ServiceFlowRecord *sfr)
void ProcessBandwidthRequest (const BandwidthRequestHeader &bwRequestHdr)
void Schedule (void)
void ServiceBandwidthRequests (const SSRecord *ssRecord, enum ServiceFlow::SchedulingType schedulingType, OfdmUlMapIe &ulMapIe, const WimaxPhy::ModulationType modulationType, uint32_t &symbolsToAllocation, uint32_t &availableSymbols)
bool ServiceBandwidthRequests (ServiceFlow *serviceFlow, enum ServiceFlow::SchedulingType schedulingType, OfdmUlMapIe &ulMapIe, const WimaxPhy::ModulationType modulationType, uint32_t &symbolsToAllocation, uint32_t &availableSymbols)
void ServiceUnsolicitedGrants (const SSRecord *ssRecord, enum ServiceFlow::SchedulingType schedulingType, OfdmUlMapIe &ulMapIe, const WimaxPhy::ModulationType modulationType, uint32_t &symbolsToAllocation, uint32_t &availableSymbols)
void SetupServiceFlow (SSRecord *ssRecord, ServiceFlow *serviceFlow)
- Public Member Functions inherited from ns3::Object
 Object ()
virtual ~Object ()
void AggregateObject (Ptr< Object > other)
void Dispose (void)
AggregateIterator GetAggregateIterator (void) const
virtual TypeId GetInstanceTypeId (void) const
template<typename T >
Ptr< T > GetObject (void) const
template<typename T >
Ptr< T > GetObject (TypeId tid) const
void Start (void)
- Public Member Functions inherited from ns3::SimpleRefCount< Object, ObjectBase, ObjectDeleter >
 SimpleRefCount ()
 SimpleRefCount (const SimpleRefCount &o)
uint32_t GetReferenceCount (void) const
SimpleRefCountoperator= (const SimpleRefCount &o)
void Ref (void) const
void Unref (void) const
- Public Member Functions inherited from ns3::ObjectBase
virtual ~ObjectBase ()
void GetAttribute (std::string name, AttributeValue &value) const
bool GetAttributeFailSafe (std::string name, AttributeValue &attribute) const
void SetAttribute (std::string name, const AttributeValue &value)
bool SetAttributeFailSafe (std::string name, const AttributeValue &value)
bool TraceConnect (std::string name, std::string context, const CallbackBase &cb)
bool TraceConnectWithoutContext (std::string name, const CallbackBase &cb)
bool TraceDisconnect (std::string name, std::string context, const CallbackBase &cb)
bool TraceDisconnectWithoutContext (std::string name, const CallbackBase &cb)

Static Public Member Functions

static TypeId GetTypeId (void)
 This method returns the TypeId associated to ns3::UplinkSchedulerSimple.

Private Attributes

std::list< OfdmUlMapIem_uplinkAllocations

Additional Inherited Members

- Protected Member Functions inherited from ns3::Object
 Object (const Object &o)
virtual void DoDispose (void)
virtual void DoStart (void)
virtual void NotifyNewAggregate (void)

Detailed Description

Definition at line 40 of file bs-uplink-scheduler-simple.h.

Constructor & Destructor Documentation

ns3::UplinkSchedulerSimple::~UplinkSchedulerSimple ( void  )

Definition at line 62 of file bs-uplink-scheduler-simple.cc.

References m_uplinkAllocations, and ns3::UplinkScheduler::SetBs().

+ Here is the call graph for this function:

Member Function Documentation

void ns3::UplinkSchedulerSimple::AddUplinkAllocation ( OfdmUlMapIe ulMapIe,
const uint32_t &  allocationSize,
uint32_t &  symbolsToAllocation,
uint32_t &  availableSymbols 
)
virtual

Implements ns3::UplinkScheduler.

Definition at line 153 of file bs-uplink-scheduler-simple.cc.

References m_uplinkAllocations, ns3::OfdmUlMapIe::SetDuration(), and ns3::OfdmUlMapIe::SetStartTime().

Referenced by AllocateInitialRangingInterval(), Schedule(), ServiceBandwidthRequests(), and ServiceUnsolicitedGrants().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

uint32_t ns3::UplinkSchedulerSimple::CalculateAllocationStartTime ( void  )
virtual

Implements ns3::UplinkScheduler.

Definition at line 147 of file bs-uplink-scheduler-simple.cc.

References ns3::UplinkScheduler::GetBs(), ns3::BaseStationNetDevice::GetNrDlSymbols(), ns3::WimaxNetDevice::GetPhy(), ns3::WimaxPhy::GetPsPerSymbol(), and ns3::WimaxNetDevice::GetTtg().

Referenced by AllocateInitialRangingInterval().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void ns3::UplinkSchedulerSimple::GetChannelDescriptorsToUpdate ( bool &  updateDcd,
bool &  updateUcd,
bool &  sendDcd,
bool &  sendUcd 
)
virtual

Determines if channel descriptors sent in the current frame are required to be updated.

Implements ns3::UplinkScheduler.

Definition at line 88 of file bs-uplink-scheduler-simple.cc.

References ns3::UplinkScheduler::GetBs(), ns3::UplinkScheduler::GetDcdTimeStamp(), ns3::UplinkScheduler::GetUcdTimeStamp(), ns3::Now(), ns3::Simulator::Now(), ns3::UplinkScheduler::SetDcdTimeStamp(), and ns3::UplinkScheduler::SetUcdTimeStamp().

+ Here is the call graph for this function:

TypeId ns3::UplinkSchedulerSimple::GetTypeId ( void  )
static

This method returns the TypeId associated to ns3::UplinkSchedulerSimple.

No Attributes defined for this type.
No TraceSources defined for this type.

Reimplemented from ns3::UplinkScheduler.

Definition at line 75 of file bs-uplink-scheduler-simple.cc.

References ns3::TypeId::SetParent().

+ Here is the call graph for this function:

std::list< OfdmUlMapIe > ns3::UplinkSchedulerSimple::GetUplinkAllocations ( void  ) const
virtual

Reimplemented from ns3::UplinkScheduler.

Definition at line 82 of file bs-uplink-scheduler-simple.cc.

References m_uplinkAllocations.

void ns3::UplinkSchedulerSimple::InitOnce ( void  )
virtual

Implements ns3::UplinkScheduler.

Definition at line 69 of file bs-uplink-scheduler-simple.cc.

void ns3::UplinkSchedulerSimple::OnSetRequestedBandwidth ( ServiceFlowRecord sfr)
virtual

Implements ns3::UplinkScheduler.

Definition at line 577 of file bs-uplink-scheduler-simple.cc.

References ns3::ServiceFlowRecord::SetGrantedBandwidth().

+ Here is the call graph for this function:

void ns3::UplinkSchedulerSimple::ProcessBandwidthRequest ( const BandwidthRequestHeader bwRequestHdr)
virtual

Implements ns3::UplinkScheduler.

Definition at line 570 of file bs-uplink-scheduler-simple.cc.

void ns3::UplinkSchedulerSimple::Schedule ( void  )
virtual
void ns3::UplinkSchedulerSimple::ServiceBandwidthRequests ( const SSRecord ssRecord,
enum ServiceFlow::SchedulingType  schedulingType,
OfdmUlMapIe ulMapIe,
const WimaxPhy::ModulationType  modulationType,
uint32_t &  symbolsToAllocation,
uint32_t &  availableSymbols 
)
virtual

Implements ns3::UplinkScheduler.

Definition at line 401 of file bs-uplink-scheduler-simple.cc.

References ns3::SSRecord::GetServiceFlows().

Referenced by Schedule(), and ServiceUnsolicitedGrants().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

bool ns3::UplinkSchedulerSimple::ServiceBandwidthRequests ( ServiceFlow serviceFlow,
enum ServiceFlow::SchedulingType  schedulingType,
OfdmUlMapIe ulMapIe,
const WimaxPhy::ModulationType  modulationType,
uint32_t &  symbolsToAllocation,
uint32_t &  availableSymbols 
)
virtual

Member Data Documentation

std::list<OfdmUlMapIe> ns3::UplinkSchedulerSimple::m_uplinkAllocations
private

The documentation for this class was generated from the following files: