ns3::SatStatsQueueHelper Class Referenceabstract

Helper for queue statistics. More...

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

+ Inheritance diagram for ns3::SatStatsQueueHelper:
+ Collaboration diagram for ns3::SatStatsQueueHelper:

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

 SatStatsQueueHelper (Ptr< const SatHelper > satHelper)
 
virtual ~SatStatsQueueHelper ()
 / Destructor. More...
 
void EnlistSource ()
 Identify the list of source of queue events. More...
 
Time GetPollInterval () const
 
UnitType_t GetUnitType () const
 
void Poll ()
 Retrieve the queue size of every relevant encapsulator and push the values to the right collectors. More...
 
void SetPollInterval (Time pollInterval)
 
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

virtual void DoEnlistSource ()=0
 
void DoInstall ()
 Install the probes, collectors, and aggregators necessary to produce the statistics output. More...
 
virtual void DoPoll ()=0
 Retrieve the queue size of every relevant encapsulator and push the values to the right collectors. More...
 
void PushToCollector (uint32_t identifier, uint32_t value)
 
- 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...
 
CollectorMap m_terminalCollectors
 Maintains a list of collectors created by this helper. More...
 

Private Attributes

std::string m_longLabel
 
Time m_pollInterval
 PollInterval attribute. More...
 
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 queue statistics.

Base class.

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

Member Enumeration Documentation

◆ UnitType_t

Enumerator
UNIT_BYTES 
UNIT_NUMBER_OF_PACKETS 

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

Constructor & Destructor Documentation

◆ SatStatsQueueHelper()

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

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

◆ ~SatStatsQueueHelper()

ns3::SatStatsQueueHelper::~SatStatsQueueHelper ( )
virtual

/ Destructor.

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

Member Function Documentation

◆ DoEnlistSource()

virtual void ns3::SatStatsQueueHelper::DoEnlistSource ( )
protectedpure virtual

Implemented in ns3::SatStatsRtnQueueHelper, and ns3::SatStatsFwdQueueHelper.

Referenced by EnlistSource().

+ Here is the caller graph for this function:

◆ DoInstall()

◆ DoPoll()

virtual void ns3::SatStatsQueueHelper::DoPoll ( )
protectedpure virtual

Retrieve the queue size of every relevant encapsulator and push the values to the right collectors.

Implemented in ns3::SatStatsRtnQueueHelper, and ns3::SatStatsFwdQueueHelper.

Referenced by Poll().

+ Here is the caller graph for this function:

◆ EnlistSource()

void ns3::SatStatsQueueHelper::EnlistSource ( )

Identify the list of source of queue events.

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

References DoEnlistSource().

Referenced by DoInstall().

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

◆ GetPollInterval()

Time ns3::SatStatsQueueHelper::GetPollInterval ( ) const
Returns

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

References m_pollInterval.

Referenced by GetTypeId().

+ Here is the caller graph for this function:

◆ GetTypeId()

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

inherited from ObjectBase base class

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

References GetPollInterval(), and SetPollInterval().

+ Here is the call graph for this function:

◆ GetUnitType()

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

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

References m_unitType.

Referenced by ns3::SatStatsFwdQueueHelper::DoPoll(), and ns3::SatStatsRtnQueueHelper::DoPoll().

+ Here is the caller graph for this function:

◆ GetUnitTypeName()

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

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

References UNIT_BYTES, and UNIT_NUMBER_OF_PACKETS.

Referenced by SetUnitType().

+ Here is the caller graph for this function:

◆ Poll()

void ns3::SatStatsQueueHelper::Poll ( )

Retrieve the queue size of every relevant encapsulator and push the values to the right collectors.

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

References DoPoll(), and m_pollInterval.

Referenced by DoInstall().

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

◆ PushToCollector()

◆ SetPollInterval()

void ns3::SatStatsQueueHelper::SetPollInterval ( Time  pollInterval)
Parameters
pollInterval

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

References m_pollInterval.

Referenced by GetTypeId().

+ Here is the caller graph for this function:

◆ SetUnitType()

Member Data Documentation

◆ m_aggregator

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

The aggregator created by this helper.

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

Referenced by DoInstall().

◆ m_longLabel

std::string ns3::SatStatsQueueHelper::m_longLabel
private

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

Referenced by DoInstall(), and SetUnitType().

◆ m_pollInterval

Time ns3::SatStatsQueueHelper::m_pollInterval
private

PollInterval attribute.

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

Referenced by DoInstall(), GetPollInterval(), Poll(), and SetPollInterval().

◆ m_shortLabel

std::string ns3::SatStatsQueueHelper::m_shortLabel
private

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

Referenced by DoInstall(), and SetUnitType().

◆ m_terminalCollectors

CollectorMap ns3::SatStatsQueueHelper::m_terminalCollectors
protected

Maintains a list of collectors created by this helper.

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

Referenced by DoInstall(), and PushToCollector().

◆ m_unitType

UnitType_t ns3::SatStatsQueueHelper::m_unitType
private

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

Referenced by GetUnitType(), and SetUnitType().


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