Loading...
Searching...
No Matches
satellite-stats-window-load-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_WINDOW_LOAD_HELPER_H
23#define SATELLITE_STATS_WINDOW_LOAD_HELPER_H
24
26
27#include "ns3/callback.h"
28#include "ns3/ptr.h"
29
30namespace ns3
31{
32
33// BASE CLASS /////////////////////////////////////////////////////////////////
34
35class SatHelper;
36class Node;
37class DataCollectionObject;
38
44{
45 public:
46 // inherited from SatStatsHelper base class
47 SatStatsWindowLoadHelper(Ptr<const SatHelper> satHelper);
48
53
57 static TypeId GetTypeId();
58
63 void InstallProbes();
64
69 void WindowLoadCallback(double windowLoad);
70
74 Callback<void, double> GetTraceSinkCallback() const;
75
76 protected:
77 // inherited from SatStatsHelper base class
78 void DoInstall();
79
83 virtual void DoInstallProbes() = 0;
84
86 Ptr<DataCollectionObject> m_collector;
87
89 Ptr<DataCollectionObject> m_aggregator;
90
91 private:
93 Callback<void, double> m_traceSinkCallback;
94
95}; // end of class SatStatsWindowLoadHelper
96
97// RETURN FEEDER LINK /////////////////////////////////////////////////////////
98
116{
117 public:
118 // inherited from SatStatsHelper base class
119 SatStatsRtnFeederWindowLoadHelper(Ptr<const SatHelper> satHelper);
120
125
129 static TypeId GetTypeId();
130
131 protected:
132 // inherited from SatStatsWindowLoadHelper base class
133 void DoInstallProbes();
134
135}; // end of class SatStatsRtnFeederWindowLoadHelper
136
137} // end of namespace ns3
138
139#endif /* SATELLITE_STATS_WINDOW_LOAD_HELPER_H */
Build a satellite network set with needed objects and configuration.
SatStatsHelper(Ptr< const SatHelper > satHelper)
Creates a new helper instance.
SatStatsRtnFeederWindowLoadHelper(Ptr< const SatHelper > satHelper)
static TypeId GetTypeId()
inherited from ObjectBase base class
void WindowLoadCallback(double windowLoad)
Receive inputs from trace sources and forward them to the collector.
Ptr< DataCollectionObject > m_aggregator
The aggregator created by this helper.
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.
Callback< void, double > GetTraceSinkCallback() const
virtual void DoInstallProbes()=0
SatStatsWindowLoadHelper(Ptr< const SatHelper > satHelper)
Ptr< DataCollectionObject > m_collector
The collector created by this helper.
static TypeId GetTypeId()
inherited from ObjectBase base class
SatArqSequenceNumber is handling the sequence numbers for the ARQ process.