ns3::SatStatsSatelliteQueueHelper Class Referenceabstract

Base class for sat queue statistics helpers. More...

#include "satellite-stats-satellite-queue-helper.h"

+ Inheritance diagram for ns3::SatStatsSatelliteQueueHelper:
+ Collaboration diagram for ns3::SatStatsSatelliteQueueHelper:

Public Types

enum  UnitType_t { UNIT_BYTES = 0 , UNIT_NUMBER_OF_PACKETS }
 
- 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

 SatStatsSatelliteQueueHelper (Ptr< const SatHelper > satHelper)
 
virtual ~SatStatsSatelliteQueueHelper ()
 / Destructor. More...
 
void InstallProbes ()
 Set up several probes or other means of listeners and connect them to the collectors. More...
 
void QueueSizeCallback (uint32_t size, const Address &addr)
 Receive inputs from trace sources and forward them to the collector. More...
 
void SetAveragingMode (bool averagingMode)
 
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

bool ConnectProbeToCollector (Ptr< Probe > probe, uint32_t identifier)
 Connect the probe to the right collector. More...
 
void DoInstall ()
 Install the probes, collectors, and aggregators necessary to produce the statistics output. More...
 
virtual void DoInstallProbes ()=0
 
void PassSampleToCollector (uint32_t size, uint32_t identifier)
 Find a collector with the right identifier and pass a sample data to it. More...
 
void SaveAddressAndIdentifier (Ptr< Node > utNode)
 Save the address and the proper identifier from the given UT node. 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 GetIdentifierHeading (std::string dataLabel) 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
 

Protected Attributes

Ptr< DataCollectionObject > m_aggregator
 The aggregator created by this helper. More...
 
Ptr< DistributionCollector > m_averagingCollector
 The final collector utilized in averaged output (histogram, PDF, and CDF). More...
 
Ptr< DataCollectionObject > m_collector
 The collector created by this helper. More...
 
std::map< const Address, uint32_t > m_identifierMap
 Map of address and the identifier associated with it (for return link). More...
 
CollectorMap m_terminalCollectors
 Maintains a list of collectors created by this helper. More...
 

Private Attributes

bool m_averagingMode
 AveragingMode attribute. More...
 
std::string m_longLabel
 
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

Base class for sat queue statistics helpers.

Definition at line 44 of file satellite-stats-satellite-queue-helper.h.

Member Enumeration Documentation

◆ UnitType_t

Enumerator
UNIT_BYTES 
UNIT_NUMBER_OF_PACKETS 

Definition at line 51 of file satellite-stats-satellite-queue-helper.h.

Constructor & Destructor Documentation

◆ SatStatsSatelliteQueueHelper()

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

Definition at line 76 of file satellite-stats-satellite-queue-helper.cc.

◆ ~SatStatsSatelliteQueueHelper()

ns3::SatStatsSatelliteQueueHelper::~SatStatsSatelliteQueueHelper ( )
virtual

/ Destructor.

Definition at line 82 of file satellite-stats-satellite-queue-helper.cc.

Member Function Documentation

◆ ConnectProbeToCollector()

◆ DoInstall()

void ns3::SatStatsSatelliteQueueHelper::DoInstall ( )
protectedvirtual

◆ DoInstallProbes()

virtual void ns3::SatStatsSatelliteQueueHelper::DoInstallProbes ( )
protectedpure virtual

◆ GetTypeId()

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

inherited from ObjectBase base class

Definition at line 88 of file satellite-stats-satellite-queue-helper.cc.

◆ GetUnitTypeName()

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

Definition at line 59 of file satellite-stats-satellite-queue-helper.cc.

References UNIT_BYTES, and UNIT_NUMBER_OF_PACKETS.

Referenced by SetUnitType().

+ Here is the caller graph for this function:

◆ InstallProbes()

void ns3::SatStatsSatelliteQueueHelper::InstallProbes ( )

Set up several probes or other means of listeners and connect them to the collectors.

Definition at line 608 of file satellite-stats-satellite-queue-helper.cc.

References DoInstallProbes().

Referenced by DoInstall().

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

◆ PassSampleToCollector()

void ns3::SatStatsSatelliteQueueHelper::PassSampleToCollector ( uint32_t  size,
uint32_t  identifier 
)
protected

◆ QueueSizeCallback()

void ns3::SatStatsSatelliteQueueHelper::QueueSizeCallback ( uint32_t  size,
const Address &  addr 
)

Receive inputs from trace sources and forward them to the collector.

Parameters
sizeQueue size (in bytes or packets)
addrAddress of UT

Definition at line 431 of file satellite-stats-satellite-queue-helper.cc.

References m_identifierMap, and PassSampleToCollector().

Referenced by ns3::SatStatsRtnFeederQueuePacketsHelper::DoInstallProbes(), ns3::SatStatsRtnFeederQueueBytesHelper::DoInstallProbes(), ns3::SatStatsFwdUserQueuePacketsHelper::DoInstallProbes(), and ns3::SatStatsFwdUserQueueBytesHelper::DoInstallProbes().

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

◆ SaveAddressAndIdentifier()

void ns3::SatStatsSatelliteQueueHelper::SaveAddressAndIdentifier ( Ptr< Node >  utNode)
protected

Save the address and the proper identifier from the given UT node.

Parameters
utNodea UT node.

The address of the given node will be saved in the m_identifierMap member variable.

Used in return link statistics. DoInstallProbes() is expected to pass the the UT node of interest into this method.

Definition at line 467 of file satellite-stats-satellite-queue-helper.cc.

References ns3::SatStatsHelper::GetIdentifierForUt(), ns3::SatIdMapper::GetUtMacWithNode(), and m_identifierMap.

Referenced by ns3::SatStatsRtnFeederQueuePacketsHelper::DoInstallProbes(), ns3::SatStatsRtnFeederQueueBytesHelper::DoInstallProbes(), ns3::SatStatsFwdUserQueuePacketsHelper::DoInstallProbes(), and ns3::SatStatsFwdUserQueueBytesHelper::DoInstallProbes().

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

◆ SetAveragingMode()

void ns3::SatStatsSatelliteQueueHelper::SetAveragingMode ( bool  averagingMode)
Parameters
averagingModeaverage all samples before passing them to aggregator.

Definition at line 118 of file satellite-stats-satellite-queue-helper.cc.

References m_averagingMode.

◆ SetUnitType()

Member Data Documentation

◆ m_aggregator

Ptr<DataCollectionObject> ns3::SatStatsSatelliteQueueHelper::m_aggregator
protected

The aggregator created by this helper.

Definition at line 142 of file satellite-stats-satellite-queue-helper.h.

Referenced by DoInstall().

◆ m_averagingCollector

Ptr<DistributionCollector> ns3::SatStatsSatelliteQueueHelper::m_averagingCollector
protected

The final collector utilized in averaged output (histogram, PDF, and CDF).

Definition at line 145 of file satellite-stats-satellite-queue-helper.h.

Referenced by DoInstall().

◆ m_averagingMode

bool ns3::SatStatsSatelliteQueueHelper::m_averagingMode
private

AveragingMode attribute.

Definition at line 151 of file satellite-stats-satellite-queue-helper.h.

Referenced by ConnectProbeToCollector(), DoInstall(), PassSampleToCollector(), and SetAveragingMode().

◆ m_collector

Ptr<DataCollectionObject> ns3::SatStatsSatelliteQueueHelper::m_collector
protected

The collector created by this helper.

Definition at line 139 of file satellite-stats-satellite-queue-helper.h.

◆ m_identifierMap

std::map<const Address, uint32_t> ns3::SatStatsSatelliteQueueHelper::m_identifierMap
protected

Map of address and the identifier associated with it (for return link).

Definition at line 148 of file satellite-stats-satellite-queue-helper.h.

Referenced by QueueSizeCallback(), and SaveAddressAndIdentifier().

◆ m_longLabel

std::string ns3::SatStatsSatelliteQueueHelper::m_longLabel
private

Definition at line 154 of file satellite-stats-satellite-queue-helper.h.

Referenced by DoInstall(), and SetUnitType().

◆ m_shortLabel

std::string ns3::SatStatsSatelliteQueueHelper::m_shortLabel
private

Definition at line 153 of file satellite-stats-satellite-queue-helper.h.

Referenced by DoInstall(), and SetUnitType().

◆ m_terminalCollectors

CollectorMap ns3::SatStatsSatelliteQueueHelper::m_terminalCollectors
protected

Maintains a list of collectors created by this helper.

Definition at line 136 of file satellite-stats-satellite-queue-helper.h.

Referenced by ConnectProbeToCollector(), DoInstall(), and PassSampleToCollector().

◆ m_unitType

UnitType_t ns3::SatStatsSatelliteQueueHelper::m_unitType
private

Definition at line 152 of file satellite-stats-satellite-queue-helper.h.

Referenced by SetUnitType().


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