satellite-stats-waveform-usage-helper.h
Go to the documentation of this file.
1 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
2 /*
3  * Copyright (c) 2014 Magister Solutions
4  *
5  * This program is free software; you can redistribute it and/or modify
6  * it under the terms of the GNU General Public License version 2 as
7  * published by the Free Software Foundation;
8  *
9  * This program is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12  * GNU General Public License for more details.
13  *
14  * You should have received a copy of the GNU General Public License
15  * along with this program; if not, write to the Free Software
16  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
17  *
18  * Author: Budiarto Herman <budiarto.herman@magister.fi>
19  *
20  */
21 
22 #ifndef SATELLITE_STATS_WAVEFORM_HELPER_H
23 #define SATELLITE_STATS_WAVEFORM_HELPER_H
24 
25 #include <ns3/collector-map.h>
26 #include <ns3/ptr.h>
27 #include <ns3/satellite-stats-helper.h>
28 
29 #include <map>
30 
31 namespace ns3
32 {
33 
34 class SatHelper;
35 class DataCollectionObject;
36 
42 {
43  public:
44  // inherited from SatStatsHelper base class
45  SatStatsWaveformUsageHelper(Ptr<const SatHelper> satHelper);
46 
51 
55  static TypeId GetTypeId();
56 
57  protected:
58  // inherited from SatStatsHelper base class
59  void DoInstall();
60  std::string GetIdentifierHeading(std::string dataLabel) const;
61 
62  private:
67  void WaveformUsageCallback(std::string context, uint32_t waveformId);
68 
73  std::map<uint32_t, CollectorMap> m_collectors;
74 
76  Ptr<DataCollectionObject> m_aggregator;
77 
78 }; // end of class SatStatsWaveformUsageHelper
79 
80 } // end of namespace ns3
81 
82 #endif /* SATELLITE_STATS_WAVEFORM_HELPER_H */
Parent abstract class of all satellite statistics helpers.
SatStatsWaveformUsageHelper(Ptr< const SatHelper > satHelper)
std::map< uint32_t, CollectorMap > m_collectors
Two-dimensional map of collectors, indexed by the waveform ID and then by the identifier.
std::string GetIdentifierHeading(std::string dataLabel) const
void WaveformUsageCallback(std::string context, uint32_t waveformId)
Ptr< DataCollectionObject > m_aggregator
The aggregator created by this helper.
void DoInstall()
Install the probes, collectors, and aggregators necessary to produce the statistics output.
static TypeId GetTypeId()
inherited from ObjectBase base class
SatArqSequenceNumber is handling the sequence numbers for the ARQ process.