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"
Public Types | |
enum | BeamHoppingType_t { BH_UNKNOWN = 0 , BH_STATIC = 1 , BH_DYNAMIC = 2 } |
typedef Callback< void, bool > | ToggleCallback |
Callback to fetch queue statistics. More... | |
Public Member Functions | |
SatBstpController () | |
Default constructor. More... | |
virtual | ~SatBstpController () |
Destructor for SatRequestManager. More... | |
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. More... | |
virtual void | DoDispose () |
Dispose of this class instance. More... | |
virtual TypeId | GetInstanceTypeId (void) const |
Get the type ID of instance. More... | |
void | Initialize () |
Initialize the beam hopping configurations. More... | |
Static Public Member Functions | |
static TypeId | GetTypeId (void) |
inherited from Object More... | |
Protected Member Functions | |
void | DoBstpConfiguration () |
Periodical method to enable/disable certain beam ids related to the scheduling and transmission of BB frames. More... | |
Private Types | |
typedef std::map< uint32_t, ToggleCallback > | CallbackContainer_t |
Private Attributes | |
BeamHoppingType_t | m_bhMode |
std::string | m_configFileName |
CallbackContainer_t | m_gwNdCallbacks |
Ptr< SatStaticBstp > | m_staticBstp |
Beam switching time plan. More... | |
Time | m_superFrameDuration |
Superframe duration in Time. More... | |
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.
|
private |
Definition at line 117 of file satellite-bstp-controller.h.
typedef Callback<void, bool> ns3::SatBstpController::ToggleCallback |
Callback to fetch queue statistics.
Definition at line 92 of file satellite-bstp-controller.h.
Enumerator | |
---|---|
BH_UNKNOWN | |
BH_STATIC | |
BH_DYNAMIC |
Definition at line 51 of file satellite-bstp-controller.h.
ns3::SatBstpController::SatBstpController | ( | ) |
Default constructor.
Definition at line 44 of file satellite-bstp-controller.cc.
References BH_DYNAMIC, BH_STATIC, m_bhMode, m_configFileName, and m_staticBstp.
|
virtual |
Destructor for SatRequestManager.
Definition at line 65 of file satellite-bstp-controller.cc.
References m_staticBstp.
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.
beamId | Beam id |
userFreqId | User frequency id |
feederFreqId | Feeder frequency id |
gwId | Gateway id |
cb | Callback to the toggle method of ND |
userFreqId, feederFreqId and gwId are basically given here just for validity check purposes.
Definition at line 135 of file satellite-bstp-controller.cc.
References m_gwNdCallbacks, and m_staticBstp.
|
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 160 of file satellite-bstp-controller.cc.
References m_gwNdCallbacks, m_staticBstp, and m_superFrameDuration.
Referenced by Initialize().
|
virtual |
Dispose of this class instance.
Definition at line 121 of file satellite-bstp-controller.cc.
References m_gwNdCallbacks.
|
virtual |
Get the type ID of instance.
Definition at line 113 of file satellite-bstp-controller.cc.
References GetTypeId().
|
static |
inherited from Object
Definition at line 84 of file satellite-bstp-controller.cc.
References BH_DYNAMIC, BH_STATIC, m_bhMode, m_configFileName, and m_superFrameDuration.
Referenced by GetInstanceTypeId().
void ns3::SatBstpController::Initialize | ( | ) |
Initialize the beam hopping configurations.
Definition at line 71 of file satellite-bstp-controller.cc.
References DoBstpConfiguration(), and m_staticBstp.
|
private |
Definition at line 120 of file satellite-bstp-controller.h.
Referenced by SatBstpController(), and GetTypeId().
|
private |
Definition at line 121 of file satellite-bstp-controller.h.
Referenced by SatBstpController(), and GetTypeId().
|
private |
Definition at line 119 of file satellite-bstp-controller.h.
Referenced by AddNetDeviceCallback(), DoBstpConfiguration(), and DoDispose().
|
private |
Beam switching time plan.
Definition at line 133 of file satellite-bstp-controller.h.
Referenced by SatBstpController(), ~SatBstpController(), AddNetDeviceCallback(), DoBstpConfiguration(), and Initialize().
|
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 128 of file satellite-bstp-controller.h.
Referenced by DoBstpConfiguration(), and GetTypeId().