ns3::SatStatsFrameLoadHelper Class Reference

Helper for frame load statistics. More...

#include "satellite-stats-frame-load-helper.h"

+ Inheritance diagram for ns3::SatStatsFrameLoadHelper:
+ Collaboration diagram for ns3::SatStatsFrameLoadHelper:

Public Types

enum  UnitType_t { UNIT_SYMBOLS = 0 , UNIT_USERS }
 
- Public Types inherited from ns3::SatStatsHelper
enum  IdentifierType_t {
  IDENTIFIER_GLOBAL = 0 , IDENTIFIER_GW , IDENTIFIER_BEAM , IDENTIFIER_UT ,
  IDENTIFIER_UT_USER , IDENTIFIER_SLICE , IDENTIFIER_GROUP , IDENTIFIER_SAT ,
  IDENTIFIER_ISL
}
 Possible categorization of statistics output. More...
 
enum  OutputType_t {
  OUTPUT_NONE = 0 , OUTPUT_SCALAR_FILE , OUTPUT_SCATTER_FILE , OUTPUT_HISTOGRAM_FILE ,
  OUTPUT_PDF_FILE , OUTPUT_CDF_FILE , OUTPUT_SCALAR_PLOT , OUTPUT_SCATTER_PLOT ,
  OUTPUT_HISTOGRAM_PLOT , OUTPUT_PDF_PLOT , OUTPUT_CDF_PLOT
}
 Possible types and formats of statistics output. More...
 

Public Member Functions

 SatStatsFrameLoadHelper (Ptr< const SatHelper > satHelper)
 
virtual ~SatStatsFrameLoadHelper ()
 / Destructor. More...
 
UnitType_t GetUnitType () const
 
void SetUnitType (UnitType_t unitType)
 
- Public Member Functions inherited from ns3::SatStatsHelper
 SatStatsHelper (Ptr< const SatHelper > satHelper)
 Creates a new helper instance. More...
 
virtual ~SatStatsHelper ()
 / Destructor. More...
 
IdentifierType_t GetIdentifierType () const
 
std::string GetName () const
 
OutputType_t GetOutputType () const
 
Ptr< const SatHelperGetSatHelper () const
 
void Install ()
 Install the probes, collectors, and aggregators necessary to produce the statistics output. More...
 
bool IsInstalled () const
 
void SetIdentifierType (IdentifierType_t identifierType)
 
void SetName (std::string name)
 
void SetOutputType (OutputType_t outputType)
 

Static Public Member Functions

static TypeId GetTypeId ()
 inherited from ObjectBase base class More...
 
static std::string GetUnitTypeName (UnitType_t unitType)
 
- Static Public Member Functions inherited from ns3::SatStatsHelper
static std::string GetIdentifierTypeName (IdentifierType_t identifierType)
 
static std::string GetOutputTypeName (OutputType_t outputType)
 
static TypeId GetTypeId ()
 inherited from ObjectBase base class More...
 

Protected Member Functions

void DoInstall ()
 Install the probes, collectors, and aggregators necessary to produce the statistics output. More...
 
std::string GetIdentifierHeading (std::string dataLabel) const
 
- Protected Member Functions inherited from ns3::SatStatsHelper
Ptr< DataCollectionObject > CreateAggregator (std::string aggregatorTypeId, std::string n1="", const AttributeValue &v1=EmptyAttributeValue(), std::string n2="", const AttributeValue &v2=EmptyAttributeValue(), std::string n3="", const AttributeValue &v3=EmptyAttributeValue(), std::string n4="", const AttributeValue &v4=EmptyAttributeValue(), std::string n5="", const AttributeValue &v5=EmptyAttributeValue())
 Create the aggregator according to the output type. More...
 
uint32_t CreateCollectorPerIdentifier (CollectorMap &collectorMap) const
 Create one collector instance for each identifier in the simulation. More...
 
virtual std::string GetDistributionHeading (std::string dataLabel) const
 
uint32_t GetGwId (Ptr< Node > gwNode) const
 
uint32_t GetIdentifierForBeam (uint32_t satId, uint32_t beamId) const
 
uint32_t GetIdentifierForGroup (uint32_t groupId) const
 
uint32_t GetIdentifierForGw (Ptr< Node > gwNode) const
 
uint32_t GetIdentifierForIsl (Ptr< Node > satNodeSrc, Ptr< Node > satNodeDst) const
 
uint32_t GetIdentifierForSat (Ptr< Node > satNode) const
 
uint32_t GetIdentifierForUt (Ptr< Node > utNode) const
 
uint32_t GetIdentifierForUtUser (Ptr< Node > utUserNode) const
 
virtual std::string GetOutputFileName () const
 Compute the path and file name where statistics output should be written to. More...
 
virtual std::string GetOutputPath () const
 
uint32_t GetSatId (Ptr< Node > satNode) const
 
virtual std::string GetTimeHeading (std::string dataLabel) const
 
uint32_t GetUtId (Ptr< Node > utNode) const
 
uint32_t GetUtUserId (Ptr< Node > utUserNode) const
 

Private Member Functions

void FrameSymbolLoadCallback (std::string context, uint32_t frameId, double loadRatio)
 
void FrameUserLoadCallback (std::string context, uint32_t frameId, uint32_t utCount)
 
Ptr< ScalarCollector > GetCollector (uint32_t frameId, std::string identifier)
 
template<typename P , typename V >
bool SetupProbe (Ptr< Object > object, uint32_t identifier, void(SatStatsFrameLoadHelper::*traceSink)(std::string, uint32_t, V))
 

Private Attributes

Ptr< DataCollectionObject > m_aggregator
 The aggregator created by this helper. More...
 
std::map< uint32_t, CollectorMap > m_collectors
 Two-dimensional map of collectors, indexed by the frame ID and then by the identifier. More...
 
std::string m_longLabel
 
std::string m_objectTraceSourceName
 
std::list< Ptr< Probe > > m_probes
 Maintains a list of probes created by this helper. More...
 
std::string m_probeTraceSourceName
 
std::string m_shortLabel
 
UnitType_t m_unitType
 

Additional Inherited Members

- Static Protected Member Functions inherited from ns3::SatStatsHelper
static NetDeviceContainer GetGwSatNetDevice (Ptr< Node > gwNode)
 
static Ptr< NetDevice > GetSatSatGeoNetDevice (Ptr< Node > satNode)
 
static Ptr< NetDevice > GetUtSatNetDevice (Ptr< Node > utNode)
 

Detailed Description

Helper for frame load statistics.

Base class.

Definition at line 46 of file satellite-stats-frame-load-helper.h.

Member Enumeration Documentation

◆ UnitType_t

Enumerator
UNIT_SYMBOLS 

Number of allocated symbols over total number of symbols in the frame.

UNIT_USERS 

Number of scheduled users (i.e., UT).

Definition at line 53 of file satellite-stats-frame-load-helper.h.

Constructor & Destructor Documentation

◆ SatStatsFrameLoadHelper()

ns3::SatStatsFrameLoadHelper::SatStatsFrameLoadHelper ( Ptr< const SatHelper satHelper)

Definition at line 68 of file satellite-stats-frame-load-helper.cc.

◆ ~SatStatsFrameLoadHelper()

ns3::SatStatsFrameLoadHelper::~SatStatsFrameLoadHelper ( )
virtual

/ Destructor.

Definition at line 79 of file satellite-stats-frame-load-helper.cc.

Member Function Documentation

◆ DoInstall()

◆ FrameSymbolLoadCallback()

void ns3::SatStatsFrameLoadHelper::FrameSymbolLoadCallback ( std::string  context,
uint32_t  frameId,
double  loadRatio 
)
private
Parameters
context
frameId
loadRatio

Definition at line 217 of file satellite-stats-frame-load-helper.cc.

References GetCollector().

Referenced by DoInstall().

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

◆ FrameUserLoadCallback()

void ns3::SatStatsFrameLoadHelper::FrameUserLoadCallback ( std::string  context,
uint32_t  frameId,
uint32_t  utCount 
)
private
Parameters
context
frameId
utCount

Definition at line 234 of file satellite-stats-frame-load-helper.cc.

References GetCollector().

Referenced by DoInstall().

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

◆ GetCollector()

Ptr< ScalarCollector > ns3::SatStatsFrameLoadHelper::GetCollector ( uint32_t  frameId,
std::string  identifier 
)
private

◆ GetIdentifierHeading()

std::string ns3::SatStatsFrameLoadHelper::GetIdentifierHeading ( std::string  dataLabel) const
protectedvirtual
Parameters
dataLabelthe short name of the main data of this statistics
Returns
a string to be printed as the first line of output, consisting of the identifier title and the given data label

Reimplemented from ns3::SatStatsHelper.

Definition at line 196 of file satellite-stats-frame-load-helper.cc.

References ns3::SatStatsHelper::GetIdentifierType(), ns3::SatStatsHelper::IDENTIFIER_BEAM, ns3::SatStatsHelper::IDENTIFIER_GLOBAL, and ns3::SatStatsHelper::IDENTIFIER_GW.

Referenced by DoInstall().

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

◆ GetTypeId()

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

inherited from ObjectBase base class

Definition at line 85 of file satellite-stats-frame-load-helper.cc.

◆ GetUnitType()

SatStatsFrameLoadHelper::UnitType_t ns3::SatStatsFrameLoadHelper::GetUnitType ( ) const
Returns

Definition at line 119 of file satellite-stats-frame-load-helper.cc.

References m_unitType.

◆ GetUnitTypeName()

std::string ns3::SatStatsFrameLoadHelper::GetUnitTypeName ( SatStatsFrameLoadHelper::UnitType_t  unitType)
static
Parameters
unitType
Returns

Definition at line 51 of file satellite-stats-frame-load-helper.cc.

References UNIT_SYMBOLS, and UNIT_USERS.

Referenced by SetUnitType().

+ Here is the caller graph for this function:

◆ SetUnitType()

void ns3::SatStatsFrameLoadHelper::SetUnitType ( SatStatsFrameLoadHelper::UnitType_t  unitType)
Parameters
unitType

Definition at line 92 of file satellite-stats-frame-load-helper.cc.

References GetUnitTypeName(), m_longLabel, m_objectTraceSourceName, m_probeTraceSourceName, m_shortLabel, m_unitType, UNIT_SYMBOLS, and UNIT_USERS.

Referenced by ns3::SatStatsFrameSymbolLoadHelper::SatStatsFrameSymbolLoadHelper(), and ns3::SatStatsFrameUserLoadHelper::SatStatsFrameUserLoadHelper().

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

◆ SetupProbe()

template<typename P , typename V >
bool ns3::SatStatsFrameLoadHelper::SetupProbe ( Ptr< Object >  object,
uint32_t  identifier,
void(SatStatsFrameLoadHelper::*)(std::string, uint32_t, V)  traceSink 
)
private
Parameters
object
identifier
traceSink
Returns

Definition at line 150 of file satellite-stats-frame-load-helper.h.

References m_objectTraceSourceName, m_probes, and m_probeTraceSourceName.

Member Data Documentation

◆ m_aggregator

Ptr<DataCollectionObject> ns3::SatStatsFrameLoadHelper::m_aggregator
private

The aggregator created by this helper.

Definition at line 144 of file satellite-stats-frame-load-helper.h.

Referenced by DoInstall(), and GetCollector().

◆ m_collectors

std::map<uint32_t, CollectorMap> ns3::SatStatsFrameLoadHelper::m_collectors
private

Two-dimensional map of collectors, indexed by the frame ID and then by the identifier.

Definition at line 141 of file satellite-stats-frame-load-helper.h.

Referenced by GetCollector().

◆ m_longLabel

std::string ns3::SatStatsFrameLoadHelper::m_longLabel
private

Definition at line 130 of file satellite-stats-frame-load-helper.h.

Referenced by SetUnitType().

◆ m_objectTraceSourceName

std::string ns3::SatStatsFrameLoadHelper::m_objectTraceSourceName
private

Definition at line 131 of file satellite-stats-frame-load-helper.h.

Referenced by SetUnitType(), and SetupProbe().

◆ m_probes

std::list<Ptr<Probe> > ns3::SatStatsFrameLoadHelper::m_probes
private

Maintains a list of probes created by this helper.

Definition at line 135 of file satellite-stats-frame-load-helper.h.

Referenced by SetupProbe().

◆ m_probeTraceSourceName

std::string ns3::SatStatsFrameLoadHelper::m_probeTraceSourceName
private

Definition at line 132 of file satellite-stats-frame-load-helper.h.

Referenced by SetUnitType(), and SetupProbe().

◆ m_shortLabel

std::string ns3::SatStatsFrameLoadHelper::m_shortLabel
private

Definition at line 129 of file satellite-stats-frame-load-helper.h.

Referenced by DoInstall(), and SetUnitType().

◆ m_unitType

UnitType_t ns3::SatStatsFrameLoadHelper::m_unitType
private

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