SatStaticBstp class models the static beam switching time plan (BSTP) configuration, which is defined in an external file read by this class. More...
#include "satellite-static-bstp.h"
Public Member Functions | |
SatStaticBstp () | |
Default constructor. More... | |
SatStaticBstp (std::string fileName) | |
virtual | ~SatStaticBstp () |
void | AddEnabledBeamInfo (uint32_t beamId, uint32_t userFreqId, uint32_t feederFreqId, uint32_t gwId) |
Add the information about which spot-beams are enabled in this simulation. More... | |
void | CheckValidity () |
Check validity of the individual BSTP configuration line. More... | |
std::vector< uint32_t > | GetNextConf () const |
Get the next configuration file. More... | |
void | LoadBstp (std::string filePathName) |
Load BSTP configuration from a file. More... | |
Private Attributes | |
std::map< uint32_t, uint32_t > | m_beamFeederFreqIdMap |
std::map< uint32_t, uint32_t > | m_beamGwMap |
std::vector< std::vector< uint32_t > > | m_bstp |
uint32_t | m_currentIterator |
std::vector< uint32_t > | m_enabledBeams |
SatStaticBstp class models the static beam switching time plan (BSTP) configuration, which is defined in an external file read by this class.
The BSTP configuration file holds multiple lines of the following content: 1_col, 2_col, 3_col, 4_col, ... n_col
The first column defines the validity of a BSTP configuration (this line) in DVB-S2x superframes. The following columns define which beams are enabled in this BSTP window. The ones not mentioned are disabled. Each line of the BSTP configuration file may hold different amount of enabled spot-beams.
The BSTP configuration file may also hold several configuration lines. Each will define different BSTP configuration and may have different validity. When all the lines of a BSTP has been gone through, we start again from the first BSTP configuration file. Thus, the BSTP may be considered as being a pre-defined spot-beam enabling pattern.
Definition at line 58 of file satellite-static-bstp.h.
ns3::SatStaticBstp::SatStaticBstp | ( | ) |
Default constructor.
Definition at line 42 of file satellite-static-bstp.cc.
ns3::SatStaticBstp::SatStaticBstp | ( | std::string | fileName | ) |
Definition at line 53 of file satellite-static-bstp.cc.
References LoadBstp().
|
inlinevirtual |
Definition at line 67 of file satellite-static-bstp.h.
void ns3::SatStaticBstp::AddEnabledBeamInfo | ( | uint32_t | beamId, |
uint32_t | userFreqId, | ||
uint32_t | feederFreqId, | ||
uint32_t | gwId | ||
) |
Add the information about which spot-beams are enabled in this simulation.
This information is stored and used to check the validity of the BSTP.
beamId | Enabled beam identifier |
userFreqId | User frequency id of the enabled spot-beam |
feederFreqId | Feeder frequency id of the enabled spot-beam |
gwId | GW id of the enabled spot-beam |
Definition at line 140 of file satellite-static-bstp.cc.
References m_beamFeederFreqIdMap, m_beamGwMap, and m_enabledBeams.
void ns3::SatStaticBstp::CheckValidity | ( | ) |
Check validity of the individual BSTP configuration line.
The method is not returning anything, but it crashes to a fatal message if the BSTP is not considered to be valid!
Definition at line 156 of file satellite-static-bstp.cc.
References m_beamFeederFreqIdMap, m_beamGwMap, m_bstp, and m_enabledBeams.
std::vector< uint32_t > ns3::SatStaticBstp::GetNextConf | ( | ) | const |
Get the next configuration file.
Increase iterator and start from the beginning if we run out of samples in the BSTP.
Definition at line 118 of file satellite-static-bstp.cc.
References m_bstp, and m_currentIterator.
void ns3::SatStaticBstp::LoadBstp | ( | std::string | filePathName | ) |
Load BSTP configuration from a file.
filePathName |
Definition at line 64 of file satellite-static-bstp.cc.
References m_bstp.
Referenced by SatStaticBstp().
|
private |
Definition at line 110 of file satellite-static-bstp.h.
Referenced by AddEnabledBeamInfo(), and CheckValidity().
|
private |
Definition at line 109 of file satellite-static-bstp.h.
Referenced by AddEnabledBeamInfo(), and CheckValidity().
|
private |
Definition at line 105 of file satellite-static-bstp.h.
Referenced by CheckValidity(), GetNextConf(), and LoadBstp().
|
mutableprivate |
Definition at line 106 of file satellite-static-bstp.h.
Referenced by GetNextConf().
|
private |
Definition at line 113 of file satellite-static-bstp.h.
Referenced by AddEnabledBeamInfo(), and CheckValidity().