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

#include <bs-link-manager.h>

+ Inheritance diagram for ns3::BSLinkManager:
+ Collaboration diagram for ns3::BSLinkManager:

Public Member Functions

 BSLinkManager (Ptr< BaseStationNetDevice > bs)
 
 ~BSLinkManager (void)
 
uint8_t CalculateRangingOppsToAllocate (void)
 
void ProcessRangingRequest (Cid cid, RngReq rngreq)
 process a ranging request message More...
 
uint64_t SelectDlChannel (void)
 
void VerifyInvitedRanging (Cid cid, uint8_t uiuc)
 Verifies at the end of an invited ranging interval if SS sent ranging message in it or not. More...
 
- Public Member Functions inherited from ns3::Object
 Object ()
 
virtual ~Object ()
 
void AggregateObject (Ptr< Object > other)
 
void Dispose (void)
 Run the DoDispose methods of this object and all the objects aggregated to it. More...
 
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 Initialize (void)
 This method calls the virtual DoInitialize method on all the objects aggregated to this object. More...
 
- Public Member Functions inherited from ns3::SimpleRefCount< Object, ObjectBase, ObjectDeleter >
 SimpleRefCount ()
 Constructor. More...
 
 SimpleRefCount (const SimpleRefCount &o)
 Copy constructor. More...
 
uint32_t GetReferenceCount (void) const
 Get the reference count of the object. More...
 
SimpleRefCountoperator= (const SimpleRefCount &o)
 Assignment. More...
 
void Ref (void) const
 Increment the reference count. More...
 
void Unref (void) const
 Decrement the reference count. More...
 
- Public Member Functions inherited from ns3::ObjectBase
virtual ~ObjectBase ()
 Virtual destructor. More...
 
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)
 
- Static Public Member Functions inherited from ns3::Object
static TypeId GetTypeId (void)
 Register this type. More...
 
- Static Public Member Functions inherited from ns3::SimpleRefCount< Object, ObjectBase, ObjectDeleter >
static void Cleanup (void)
 Noop. More...
 
- Static Public Member Functions inherited from ns3::ObjectBase
static TypeId GetTypeId (void)
 Get the type ID. More...
 

Private Member Functions

 BSLinkManager (const BSLinkManager &)
 
void AbortRanging (Cid cid, RngRsp *rngrsp, SSRecord *ssRecord, bool isNewSS)
 
void AcceptRanging (Cid cid, RngRsp *rngrsp, SSRecord *ssRecord)
 
bool ChangeDlChannel (void)
 
void ContinueRanging (Cid cid, RngRsp *rngrsp, SSRecord *ssRecord)
 
void DeallocateCids (Cid cid)
 
uint32_t GetNewDlChannel (void)
 
uint8_t GetSignalQuality (void)
 
bool IsRangingAcceptable (void)
 
BSLinkManageroperator= (const BSLinkManager &)
 
void PerformInitialRanging (Cid cid, RngReq *rngreq, RngRsp *rngrsp)
 
void PerformInvitedRanging (Cid cid, RngRsp *rngrsp)
 
void PerformRanging (Cid cid, RngReq rngreq)
 
void ScheduleRngRspMessage (Cid cid, RngRsp *rngrsp)
 
void SetParametersToAdjust (RngRsp *rngrsp)
 

Private Attributes

Ptr< BaseStationNetDevicem_bs
 
uint32_t m_signalQuality
 
uint8_t m_signalQualityThreshold
 
int tries
 

Additional Inherited Members

- Protected Member Functions inherited from ns3::Object
 Object (const Object &o)
 
virtual void DoDispose (void)
 This method is called by Object::Dispose or by the object's destructor, whichever comes first. More...
 
virtual void DoInitialize (void)
 This method is called only once by Object::Initialize. More...
 
virtual void NotifyNewAggregate (void)
 This method is invoked whenever two sets of objects are aggregated together. More...
 
- Protected Member Functions inherited from ns3::ObjectBase
void ConstructSelf (const AttributeConstructionList &attributes)
 
virtual void NotifyConstructionCompleted (void)
 This method is invoked once all member attributes have been initialized. More...
 

Detailed Description

Config Paths

ns3::BSLinkManager is accessible through the following paths with Config::Set and Config::Connect:

  • /NodeList/[i]/DeviceList/[i]/$ns3::BaseStationNetDevice/LinkManager
  • /NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/$ns3::BaseStationNetDevice/LinkManager

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

Definition at line 38 of file bs-link-manager.h.

Constructor & Destructor Documentation

ns3::BSLinkManager::BSLinkManager ( Ptr< BaseStationNetDevice bs)

Definition at line 49 of file bs-link-manager.cc.

References tries.

ns3::BSLinkManager::~BSLinkManager ( void  )

Definition at line 57 of file bs-link-manager.cc.

References m_bs.

ns3::BSLinkManager::BSLinkManager ( const BSLinkManager )
private

Member Function Documentation

void ns3::BSLinkManager::AbortRanging ( Cid  cid,
RngRsp rngrsp,
SSRecord ssRecord,
bool  isNewSS 
)
private
void ns3::BSLinkManager::AcceptRanging ( Cid  cid,
RngRsp rngrsp,
SSRecord ssRecord 
)
private

Definition at line 286 of file bs-link-manager.cc.

References ns3::SSRecord::DisablePollForRanging(), ns3::WimaxNetDevice::RANGING_STATUS_SUCCESS, ScheduleRngRspMessage(), ns3::SSRecord::SetRangingStatus(), and ns3::RngRsp::SetRangStatus().

Referenced by PerformInitialRanging(), and PerformInvitedRanging().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

uint8_t ns3::BSLinkManager::CalculateRangingOppsToAllocate ( void  )
Returns
the ranging opportunities to allocate

Definition at line 63 of file bs-link-manager.cc.

bool ns3::BSLinkManager::ChangeDlChannel ( void  )
private

Definition at line 341 of file bs-link-manager.cc.

Referenced by PerformInitialRanging().

+ Here is the caller graph for this function:

void ns3::BSLinkManager::ContinueRanging ( Cid  cid,
RngRsp rngrsp,
SSRecord ssRecord 
)
private

Definition at line 300 of file bs-link-manager.cc.

References ns3::WimaxNetDevice::RANGING_STATUS_CONTINUE, ScheduleRngRspMessage(), ns3::SSRecord::SetRangingStatus(), and ns3::RngRsp::SetRangStatus().

Referenced by PerformInitialRanging(), and PerformInvitedRanging().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void ns3::BSLinkManager::DeallocateCids ( Cid  cid)
private

Definition at line 324 of file bs-link-manager.cc.

Referenced by AbortRanging().

+ Here is the caller graph for this function:

uint32_t ns3::BSLinkManager::GetNewDlChannel ( void  )
private

Definition at line 348 of file bs-link-manager.cc.

Referenced by PerformInitialRanging().

+ Here is the caller graph for this function:

uint8_t ns3::BSLinkManager::GetSignalQuality ( void  )
private

Definition at line 355 of file bs-link-manager.cc.

References m_signalQuality.

Referenced by IsRangingAcceptable().

+ Here is the caller graph for this function:

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

Definition at line 42 of file bs-link-manager.cc.

References ns3::TypeId::SetParent().

+ Here is the call graph for this function:

bool ns3::BSLinkManager::IsRangingAcceptable ( void  )
private

Definition at line 364 of file bs-link-manager.cc.

References GetSignalQuality(), and m_signalQualityThreshold.

Referenced by PerformInitialRanging(), and PerformInvitedRanging().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

BSLinkManager& ns3::BSLinkManager::operator= ( const BSLinkManager )
private
void ns3::BSLinkManager::PerformInvitedRanging ( Cid  cid,
RngRsp rngrsp 
)
private

Definition at line 219 of file bs-link-manager.cc.

References AbortRanging(), AcceptRanging(), ContinueRanging(), ns3::SSRecord::GetRangingCorrectionRetries(), ns3::SSRecord::IncrementRangingCorrectionRetries(), IsRangingAcceptable(), m_bs, and ns3::SSRecord::ResetInvitedRangingRetries().

Referenced by PerformRanging().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void ns3::BSLinkManager::PerformRanging ( Cid  cid,
RngReq  rngreq 
)
private
void ns3::BSLinkManager::ProcessRangingRequest ( Cid  cid,
RngReq  rngreq 
)

process a ranging request message

Parameters
cidthe connection identifier in which the ranging message was received
rngreqthe ranging request message

Definition at line 73 of file bs-link-manager.cc.

References ns3::BaseStationNetDevice::BS_STATE_UL_SUB_FRAME, m_bs, ns3::Simulator::Now(), NS_ASSERT_MSG, PerformRanging(), and tries.

+ Here is the call graph for this function:

void ns3::BSLinkManager::ScheduleRngRspMessage ( Cid  cid,
RngRsp rngrsp 
)
private
uint64_t ns3::BSLinkManager::SelectDlChannel ( void  )
Returns
an available downlink channel

Definition at line 330 of file bs-link-manager.cc.

References m_bs.

void ns3::BSLinkManager::SetParametersToAdjust ( RngRsp rngrsp)
private

Definition at line 262 of file bs-link-manager.cc.

References ns3::RngRsp::SetOffsetFreqAdjust(), ns3::RngRsp::SetPowerLevelAdjust(), and ns3::RngRsp::SetTimingAdjust().

Referenced by PerformRanging(), and ScheduleRngRspMessage().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void ns3::BSLinkManager::VerifyInvitedRanging ( Cid  cid,
uint8_t  uiuc 
)

Verifies at the end of an invited ranging interval if SS sent ranging message in it or not.

Definition at line 243 of file bs-link-manager.cc.

References AbortRanging(), ns3::SSRecord::GetBasicCid(), ns3::SSRecord::GetInvitedRangRetries(), ns3::SSRecord::IncrementInvitedRangingRetries(), m_bs, and ns3::OfdmUlBurstProfile::UIUC_INITIAL_RANGING.

+ Here is the call graph for this function:

Member Data Documentation

uint32_t ns3::BSLinkManager::m_signalQuality
private

Definition at line 86 of file bs-link-manager.h.

Referenced by GetSignalQuality().

uint8_t ns3::BSLinkManager::m_signalQualityThreshold
private

Definition at line 87 of file bs-link-manager.h.

Referenced by IsRangingAcceptable().

int ns3::BSLinkManager::tries
private

Definition at line 88 of file bs-link-manager.h.

Referenced by BSLinkManager(), PerformRanging(), and ProcessRangingRequest().


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