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. | |
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, 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. | |
| Time | m_superFrameDuration |
| Superframe duration in Time. | |
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 121 of file satellite-bstp-controller.h.
| typedef Callback<void, bool> ns3::SatBstpController::ToggleCallback |
Callback to fetch queue statistics.
Definition at line 96 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 SatBstpController(), BH_STATIC, m_bhMode, m_configFileName, m_gwNdCallbacks, m_staticBstp, and m_superFrameDuration.
Referenced by SatBstpController().
|
virtual |
Destructor for SatRequestManager.
Definition at line 71 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 133 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 158 of file satellite-bstp-controller.cc.
References DoBstpConfiguration(), m_gwNdCallbacks, m_staticBstp, and m_superFrameDuration.
Referenced by DoBstpConfiguration(), and Initialize().
|
virtual |
Dispose of this class instance.
Definition at line 119 of file satellite-bstp-controller.cc.
References m_gwNdCallbacks.
|
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.
| void ns3::SatBstpController::Initialize | ( | ) |
Initialize the beam hopping configurations.
Definition at line 77 of file satellite-bstp-controller.cc.
References DoBstpConfiguration(), and m_staticBstp.
|
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.
|
private |
Definition at line 124 of file satellite-bstp-controller.h.
Referenced by SatBstpController(), GetTypeId(), and NotifyConstructionCompleted().
|
private |
Definition at line 125 of file satellite-bstp-controller.h.
Referenced by SatBstpController(), GetTypeId(), and NotifyConstructionCompleted().
|
private |
Definition at line 123 of file satellite-bstp-controller.h.
Referenced by SatBstpController(), AddNetDeviceCallback(), DoBstpConfiguration(), and DoDispose().
|
private |
Beam switching time plan.
Definition at line 137 of file satellite-bstp-controller.h.
Referenced by SatBstpController(), ~SatBstpController(), AddNetDeviceCallback(), DoBstpConfiguration(), Initialize(), and NotifyConstructionCompleted().
|
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().