Loading...
Searching...
No Matches
ns3::SatBstpController Class Reference

SatBstpController class is responsible of enabling and disabling configurable spot-beams defined by a Beam Switching Time Plan (BSTP). More...

#include "satellite-bstp-controller.h"

Inheritance diagram for ns3::SatBstpController:
Collaboration diagram for ns3::SatBstpController:

Public Types

enum  BeamHoppingType_t { BH_UNKNOWN = 0 , BH_STATIC = 1 , BH_DYNAMIC = 2 }
typedef Callback< void, bool > ToggleCallback
 Callback to fetch queue statistics.

Public Member Functions

 SatBstpController ()
 Default constructor.
virtual ~SatBstpController ()
 Destructor for SatRequestManager.
void AddNetDeviceCallback (uint32_t beamId, uint32_t userFreqId, uint32_t feederFreqId, uint32_t gwId, SatBstpController::ToggleCallback cb)
 Add a callback to the SatNetDevice of GW matching to a certain beam id.
virtual void DoDispose ()
 Dispose of this class instance.
void Initialize ()
 Initialize the beam hopping configurations.
virtual void NotifyConstructionCompleted () override
 Notifier called once the ObjectBase is fully constructed.

Static Public Member Functions

static TypeId GetTypeId (void)
 inherited from Object

Protected Member Functions

void DoBstpConfiguration ()
 Periodical method to enable/disable certain beam ids related to the scheduling and transmission of BB frames.

Private Types

typedef std::map< uint32_t, ToggleCallbackCallbackContainer_t

Private Attributes

BeamHoppingType_t m_bhMode
std::string m_configFileName
CallbackContainer_t m_gwNdCallbacks
Ptr< SatStaticBstpm_staticBstp
 Beam switching time plan.
Time m_superFrameDuration
 Superframe duration in Time.

Detailed Description

SatBstpController class is responsible of enabling and disabling configurable spot-beams defined by a Beam Switching Time Plan (BSTP).

Currently the SatBstpController supports only static beam hopping patterns, where the BSTP is defined by SatStaticBstp class by means of external configuration file. SatBstpController use ideal callbacks to GW's SatNetDevice Toggle method, which enables or disables the MAC layer of the GW.

Definition at line 48 of file satellite-bstp-controller.h.

Member Typedef Documentation

◆ CallbackContainer_t

typedef std::map<uint32_t, ToggleCallback> ns3::SatBstpController::CallbackContainer_t
private

Definition at line 121 of file satellite-bstp-controller.h.

◆ ToggleCallback

typedef Callback<void, bool> ns3::SatBstpController::ToggleCallback

Callback to fetch queue statistics.

Definition at line 96 of file satellite-bstp-controller.h.

Member Enumeration Documentation

◆ BeamHoppingType_t

Enumerator
BH_UNKNOWN 
BH_STATIC 
BH_DYNAMIC 

Definition at line 51 of file satellite-bstp-controller.h.

Constructor & Destructor Documentation

◆ SatBstpController()

ns3::SatBstpController::SatBstpController ( )

Default constructor.

Definition at line 44 of file satellite-bstp-controller.cc.

References SatBstpController(), BH_STATIC, m_bhMode, m_configFileName, m_gwNdCallbacks, m_staticBstp, and m_superFrameDuration.

Referenced by SatBstpController().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ~SatBstpController()

ns3::SatBstpController::~SatBstpController ( )
virtual

Destructor for SatRequestManager.

Definition at line 71 of file satellite-bstp-controller.cc.

References m_staticBstp.

Member Function Documentation

◆ AddNetDeviceCallback()

void ns3::SatBstpController::AddNetDeviceCallback ( uint32_t beamId,
uint32_t userFreqId,
uint32_t feederFreqId,
uint32_t gwId,
SatBstpController::ToggleCallback cb )

Add a callback to the SatNetDevice of GW matching to a certain beam id.

Parameters
beamIdBeam id
userFreqIdUser frequency id
feederFreqIdFeeder frequency id
gwIdGateway id
cbCallback to the toggle method of ND

userFreqId, feederFreqId and gwId are basically given here just for validity check purposes.

Definition at line 133 of file satellite-bstp-controller.cc.

References m_gwNdCallbacks, and m_staticBstp.

◆ DoBstpConfiguration()

void ns3::SatBstpController::DoBstpConfiguration ( )
protected

Periodical method to enable/disable certain beam ids related to the scheduling and transmission of BB frames.

Try to find the enabled beam id from the next BSTP configuration! If found, enable it, if not, disable it. Note, search from the second item of the vector, since the first column is the validity!

Next BSTP configuration time is the validity * superframe duration

Definition at line 158 of file satellite-bstp-controller.cc.

References DoBstpConfiguration(), m_gwNdCallbacks, m_staticBstp, and m_superFrameDuration.

Referenced by DoBstpConfiguration(), and Initialize().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ DoDispose()

void ns3::SatBstpController::DoDispose ( )
virtual

Dispose of this class instance.

Definition at line 119 of file satellite-bstp-controller.cc.

References m_gwNdCallbacks.

◆ GetTypeId()

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

inherited from Object

Definition at line 90 of file satellite-bstp-controller.cc.

References BH_DYNAMIC, BH_STATIC, m_bhMode, m_configFileName, and m_superFrameDuration.

◆ Initialize()

void ns3::SatBstpController::Initialize ( )

Initialize the beam hopping configurations.

Definition at line 77 of file satellite-bstp-controller.cc.

References DoBstpConfiguration(), and m_staticBstp.

Here is the call graph for this function:

◆ NotifyConstructionCompleted()

void ns3::SatBstpController::NotifyConstructionCompleted ( )
overridevirtual

Notifier called once the ObjectBase is fully constructed.

This method is invoked once all member attributes have been initialized. Subclasses can override this method to be notified of this event but if they do this, they must chain up to their parent's NotifyConstructionCompleted method.

Definition at line 55 of file satellite-bstp-controller.cc.

References BH_DYNAMIC, BH_STATIC, m_bhMode, m_configFileName, and m_staticBstp.

Member Data Documentation

◆ m_bhMode

BeamHoppingType_t ns3::SatBstpController::m_bhMode
private

◆ m_configFileName

std::string ns3::SatBstpController::m_configFileName
private

◆ m_gwNdCallbacks

CallbackContainer_t ns3::SatBstpController::m_gwNdCallbacks
private

◆ m_staticBstp

Ptr<SatStaticBstp> ns3::SatBstpController::m_staticBstp
private

◆ m_superFrameDuration

Time ns3::SatBstpController::m_superFrameDuration
private

Superframe duration in Time.

This is a simple way of modeling the DVB-S2x superframe, since it affects only to the beam hopping configuration.

Definition at line 132 of file satellite-bstp-controller.h.

Referenced by SatBstpController(), DoBstpConfiguration(), and GetTypeId().


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