ns3::SatStatsFrameTypeUsageHelper Class Reference

#include "satellite-stats-frame-type-usage-helper.h"

+ Inheritance diagram for ns3::SatStatsFrameTypeUsageHelper:
+ Collaboration diagram for ns3::SatStatsFrameTypeUsageHelper:

Public Member Functions

 SatStatsFrameTypeUsageHelper (Ptr< const SatHelper > satHelper)
 Constructor. More...
 
virtual ~SatStatsFrameTypeUsageHelper ()
 / Destructor. More...
 
- 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 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...
 

Static Public Attributes

static const std::map< SatEnums::SatBbFrameType_t, uint32_t > frameTypeIdMap
 Mapping for frame type IDs to integers, in case that SatBbFrameType_t enums are assigned. 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
 Get identifier header for file. More...
 
- 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 FrameTypeUsageCallback (std::string context, Ptr< SatBbFrame > bbFrame)
 

Static Private Member Functions

static uint32_t GetFrameTypeId (SatEnums::SatBbFrameType_t frameType)
 Get frame type ID. More...
 

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 first by the the frame type identifier and second by the global/gw/beam identifier. More...
 
bool m_usePercentage
 Flag for using percentage of the frame types in beam/in gw/globally instead of sum by type. More...
 

Additional Inherited Members

- 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...
 
- 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

Definition at line 42 of file satellite-stats-frame-type-usage-helper.h.

Constructor & Destructor Documentation

◆ SatStatsFrameTypeUsageHelper()

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

Constructor.

Parameters
satHelperSatellite helper instance

Definition at line 58 of file satellite-stats-frame-type-usage-helper.cc.

◆ ~SatStatsFrameTypeUsageHelper()

ns3::SatStatsFrameTypeUsageHelper::~SatStatsFrameTypeUsageHelper ( )
virtual

/ Destructor.

Definition at line 65 of file satellite-stats-frame-type-usage-helper.cc.

Member Function Documentation

◆ DoInstall()

◆ FrameTypeUsageCallback()

void ns3::SatStatsFrameTypeUsageHelper::FrameTypeUsageCallback ( std::string  context,
Ptr< SatBbFrame bbFrame 
)
private
Parameters
contextBeam ID, GW ID or global ID (0) as string
frameTypeType of the frame

Definition at line 267 of file satellite-stats-frame-type-usage-helper.cc.

References ns3::SatEnums::DUMMY_FRAME, GetFrameTypeId(), ns3::SatEnums::GetFrameTypeName(), m_collectors, and m_usePercentage.

Referenced by DoInstall().

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

◆ GetFrameTypeId()

uint32_t ns3::SatStatsFrameTypeUsageHelper::GetFrameTypeId ( SatEnums::SatBbFrameType_t  frameType)
staticprivate

Get frame type ID.

Parameters
frameTypeFrame type enum
Returns
ID as integer

Definition at line 259 of file satellite-stats-frame-type-usage-helper.cc.

References frameTypeIdMap.

Referenced by FrameTypeUsageCallback().

+ Here is the caller graph for this function:

◆ GetIdentifierHeading()

std::string ns3::SatStatsFrameTypeUsageHelper::GetIdentifierHeading ( std::string  dataLabel) const
protectedvirtual

Get identifier header for file.

Parameters
dataLabelLabel for data column
Returns
String containing identifier type (global, gw_id, beam_id), frame_type and data label.

Reimplemented from ns3::SatStatsHelper.

Definition at line 237 of file satellite-stats-frame-type-usage-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::SatStatsFrameTypeUsageHelper::GetTypeId ( void  )
static

inherited from ObjectBase base class

Returns
Type ID of the helper

Definition at line 71 of file satellite-stats-frame-type-usage-helper.cc.

References m_usePercentage.

Member Data Documentation

◆ frameTypeIdMap

const std::map< SatEnums::SatBbFrameType_t, uint32_t > ns3::SatStatsFrameTypeUsageHelper::frameTypeIdMap
static
Initial value:

Mapping for frame type IDs to integers, in case that SatBbFrameType_t enums are assigned.

Definition at line 66 of file satellite-stats-frame-type-usage-helper.h.

Referenced by DoInstall(), and GetFrameTypeId().

◆ m_aggregator

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

The aggregator created by this helper.

Definition at line 107 of file satellite-stats-frame-type-usage-helper.h.

Referenced by DoInstall().

◆ m_collectors

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

Two-dimensional map of collectors, indexed first by the the frame type identifier and second by the global/gw/beam identifier.

Definition at line 104 of file satellite-stats-frame-type-usage-helper.h.

Referenced by DoInstall(), and FrameTypeUsageCallback().

◆ m_usePercentage

bool ns3::SatStatsFrameTypeUsageHelper::m_usePercentage
private

Flag for using percentage of the frame types in beam/in gw/globally instead of sum by type.

Definition at line 98 of file satellite-stats-frame-type-usage-helper.h.

Referenced by DoInstall(), FrameTypeUsageCallback(), and GetTypeId().


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