ns3::SatStaticBstp Class Reference

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"

+ Inheritance diagram for ns3::SatStaticBstp:
+ Collaboration diagram for ns3::SatStaticBstp:

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
 

Detailed Description

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 55 of file satellite-static-bstp.h.

Constructor & Destructor Documentation

◆ SatStaticBstp() [1/2]

ns3::SatStaticBstp::SatStaticBstp ( )

Default constructor.

Definition at line 37 of file satellite-static-bstp.cc.

◆ SatStaticBstp() [2/2]

ns3::SatStaticBstp::SatStaticBstp ( std::string  fileName)

Definition at line 48 of file satellite-static-bstp.cc.

References LoadBstp().

+ Here is the call graph for this function:

◆ ~SatStaticBstp()

virtual ns3::SatStaticBstp::~SatStaticBstp ( )
inlinevirtual

Definition at line 64 of file satellite-static-bstp.h.

Member Function Documentation

◆ AddEnabledBeamInfo()

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.

Parameters
beamIdEnabled beam identifier
userFreqIdUser frequency id of the enabled spot-beam
feederFreqIdFeeder frequency id of the enabled spot-beam
gwIdGW id of the enabled spot-beam

Definition at line 137 of file satellite-static-bstp.cc.

References m_beamFeederFreqIdMap, m_beamGwMap, and m_enabledBeams.

◆ CheckValidity()

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 153 of file satellite-static-bstp.cc.

References m_beamFeederFreqIdMap, m_beamGwMap, m_bstp, and m_enabledBeams.

◆ GetNextConf()

std::vector< uint32_t > ns3::SatStaticBstp::GetNextConf ( ) const

Get the next configuration file.

Returns
A unsigned int configuration vector

Increase iterator and start from the beginning if we run out of samples in the BSTP.

Definition at line 115 of file satellite-static-bstp.cc.

References m_bstp, and m_currentIterator.

◆ LoadBstp()

void ns3::SatStaticBstp::LoadBstp ( std::string  filePathName)

Load BSTP configuration from a file.

Parameters
filePathName

Definition at line 61 of file satellite-static-bstp.cc.

References m_bstp.

Referenced by SatStaticBstp().

+ Here is the caller graph for this function:

Member Data Documentation

◆ m_beamFeederFreqIdMap

std::map<uint32_t, uint32_t> ns3::SatStaticBstp::m_beamFeederFreqIdMap
private

Definition at line 107 of file satellite-static-bstp.h.

Referenced by AddEnabledBeamInfo(), and CheckValidity().

◆ m_beamGwMap

std::map<uint32_t, uint32_t> ns3::SatStaticBstp::m_beamGwMap
private

Definition at line 106 of file satellite-static-bstp.h.

Referenced by AddEnabledBeamInfo(), and CheckValidity().

◆ m_bstp

std::vector<std::vector<uint32_t> > ns3::SatStaticBstp::m_bstp
private

Definition at line 102 of file satellite-static-bstp.h.

Referenced by CheckValidity(), GetNextConf(), and LoadBstp().

◆ m_currentIterator

uint32_t ns3::SatStaticBstp::m_currentIterator
mutableprivate

Definition at line 103 of file satellite-static-bstp.h.

Referenced by GetNextConf().

◆ m_enabledBeams

std::vector<uint32_t> ns3::SatStaticBstp::m_enabledBeams
private

Definition at line 110 of file satellite-static-bstp.h.

Referenced by AddEnabledBeamInfo(), and CheckValidity().


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