Loading...
Searching...
No Matches
satellite-stats-composite-sinr-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_COMPOSITE_SINR_HELPER_H
23#define SATELLITE_STATS_COMPOSITE_SINR_HELPER_H
24
26
27#include "ns3/address.h"
28#include "ns3/collector-map.h"
29#include "ns3/ptr.h"
30
31#include <list>
32#include <map>
33#include <utility>
34
35namespace ns3
36{
37
38// BASE CLASS /////////////////////////////////////////////////////////////////
39
40class SatHelper;
41class Node;
42class DataCollectionObject;
43
50{
51 public:
52 // inherited from SatStatsHelper base class
53 SatStatsCompositeSinrHelper(Ptr<const SatHelper> satHelper);
54
59
63 static TypeId GetTypeId();
64
69 void InstallProbes();
70
71 protected:
72 // inherited from SatStatsHelper base class
73 void DoInstall();
74
78 virtual void DoInstallProbes() = 0;
79
85 bool ConnectProbeToCollector(Ptr<Probe> probe, uint32_t identifier);
86
92 bool DisconnectProbeFromCollector(Ptr<Probe> probe, uint32_t identifier);
93
96
98 Ptr<DataCollectionObject> m_aggregator;
99
100}; // end of class SatStatsCompositeSinrHelper
101
102// FORWARD LINK ///////////////////////////////////////////////////////////////
103
104class Probe;
105
124{
125 public:
126 // inherited from SatStatsHelper base class
127 SatStatsFwdCompositeSinrHelper(Ptr<const SatHelper> satHelper);
128
133
137 static TypeId GetTypeId();
138
142 virtual void UpdateIdentifierOnProbes();
143
144 protected:
145 // inherited from SatStatsCompositeSinrHelper base class
146 void DoInstallProbes();
147
148 private:
150 std::map<Ptr<Probe>, std::pair<Ptr<Node>, uint32_t>> m_probes;
151
152}; // end of class SatStatsFwdCompositeSinrHelper
153
154// RETURN LINK ////////////////////////////////////////////////////////////////
155
174{
175 public:
176 // inherited from SatStatsHelper base class
177 SatStatsRtnCompositeSinrHelper(Ptr<const SatHelper> satHelper);
178
183
187 static TypeId GetTypeId();
188
195 void SinrCallback(double sinrDb, const Address& from);
196
197 protected:
198 // inherited from SatStatsCompositeSinrHelper base class
199 void DoInstallProbes();
200
201 private:
202}; // end of class SatStatsRtnCompositeSinrHelper
203
204} // end of namespace ns3
205
206#endif /* SATELLITE_STATS_COMPOSITE_SINR_HELPER_H */
Build a satellite network set with needed objects and configuration.
static TypeId GetTypeId()
inherited from ObjectBase base class
bool ConnectProbeToCollector(Ptr< Probe > probe, uint32_t identifier)
Connect the probe to the right collector.
void InstallProbes()
Set up several probes or other means of listeners and connect them to the collectors.
void DoInstall()
Install the probes, collectors, and aggregators necessary to produce the statistics output.
CollectorMap m_terminalCollectors
Maintains a list of collectors created by this helper.
bool DisconnectProbeFromCollector(Ptr< Probe > probe, uint32_t identifier)
Disconnect the probe from the right collector.
Ptr< DataCollectionObject > m_aggregator
The aggregator created by this helper.
SatStatsCompositeSinrHelper(Ptr< const SatHelper > satHelper)
static TypeId GetTypeId()
inherited from ObjectBase base class
SatStatsFwdCompositeSinrHelper(Ptr< const SatHelper > satHelper)
virtual void UpdateIdentifierOnProbes()
Change identifier used on probes, when handovers occur.
std::map< Ptr< Probe >, std::pair< Ptr< Node >, uint32_t > > m_probes
Maintains a list of probes created by this helper.
SatStatsHelper(Ptr< const SatHelper > satHelper)
Creates a new helper instance.
SatStatsRtnCompositeSinrHelper(Ptr< const SatHelper > satHelper)
void SinrCallback(double sinrDb, const Address &from)
Receive inputs from trace sources and determine the right collector to forward the inputs to.
static TypeId GetTypeId()
inherited from ObjectBase base class
SatArqSequenceNumber is handling the sequence numbers for the ARQ process.