22 #ifndef SATELLITE_STATS_FRAME_LOAD_HELPER_H
23 #define SATELLITE_STATS_FRAME_LOAD_HELPER_H
27 #include <ns3/collector-map.h>
41 class DataCollectionObject;
42 class ScalarCollector;
104 template <
typename P,
typename V>
128 Ptr<ScalarCollector>
GetCollector(uint32_t frameId, std::string identifier);
150 template <
typename P,
typename V>
158 std::ostringstream oss;
161 Ptr<P> probe = CreateObject<P>();
162 if (!probe->GetInstanceTypeId().IsChildOf(TypeId::LookupByName(
"ns3::Probe")))
164 NS_FATAL_ERROR(
"The specified type is not a probe.");
171 m_probes.push_back(probe->template GetObject<Probe>());
Helper for frame load statistics.
static TypeId GetTypeId()
inherited from ObjectBase base class
std::string m_objectTraceSourceName
std::map< uint32_t, CollectorMap > m_collectors
Two-dimensional map of collectors, indexed by the frame ID and then by the identifier.
Ptr< ScalarCollector > GetCollector(uint32_t frameId, std::string identifier)
static std::string GetUnitTypeName(UnitType_t unitType)
std::list< Ptr< Probe > > m_probes
Maintains a list of probes created by this helper.
UnitType_t GetUnitType() const
void FrameSymbolLoadCallback(std::string context, uint32_t frameId, double loadRatio)
bool SetupProbe(Ptr< Object > object, uint32_t identifier, void(SatStatsFrameLoadHelper::*traceSink)(std::string, uint32_t, V))
void SetUnitType(UnitType_t unitType)
virtual ~SatStatsFrameLoadHelper()
/ Destructor.
std::string GetIdentifierHeading(std::string dataLabel) const
void DoInstall()
Install the probes, collectors, and aggregators necessary to produce the statistics output.
void FrameUserLoadCallback(std::string context, uint32_t frameId, uint32_t utCount)
Ptr< DataCollectionObject > m_aggregator
The aggregator created by this helper.
@ UNIT_USERS
Number of scheduled users (i.e., UT).
@ UNIT_SYMBOLS
Number of allocated symbols over total number of symbols in the frame.
SatStatsFrameLoadHelper(Ptr< const SatHelper > satHelper)
std::string m_probeTraceSourceName
Helper for frame symbol load statistics.
static TypeId GetTypeId()
inherited from ObjectBase base class
SatStatsFrameSymbolLoadHelper(Ptr< const SatHelper > satHelper)
virtual ~SatStatsFrameSymbolLoadHelper()
/ Destructor.
Helper for frame user load statistics.
static TypeId GetTypeId()
inherited from ObjectBase base class
virtual ~SatStatsFrameUserLoadHelper()
/ Destructor.
SatStatsFrameUserLoadHelper(Ptr< const SatHelper > satHelper)
Parent abstract class of all satellite statistics helpers.
SatArqSequenceNumber is handling the sequence numbers for the ARQ process.