A Discrete-Event Network Simulator
Home
Tutorials ▼
English
Docs ▼
Wiki
Manual
Models
Develop ▼
API
Bugs
API
flow-monitor-helper.h
Go to the documentation of this file.
1
// -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*-
2
//
3
// Copyright (c) 2009 INESC Porto
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: Gustavo J. A. M. Carneiro <gjc@inescporto.pt> <gjcarneiro@gmail.com>
19
//
20
#ifndef FLOW_MONITOR_HELPER_H
21
#define FLOW_MONITOR_HELPER_H
22
23
#include "ns3/node-container.h"
24
#include "ns3/object-factory.h"
25
#include "ns3/flow-monitor.h"
26
#include "ns3/flow-classifier.h"
27
#include <string>
28
29
namespace
ns3
{
30
31
class
AttributeValue;
32
class
Ipv4FlowClassifier;
33
class
Ipv6FlowClassifier;
34
39
class
FlowMonitorHelper
40
{
41
public
:
42
43
FlowMonitorHelper
();
44
~FlowMonitorHelper
();
45
51
void
SetMonitorAttribute
(std::string n1,
const
AttributeValue
&v1);
52
58
Ptr<FlowMonitor>
Install
(
NodeContainer
nodes
);
64
Ptr<FlowMonitor>
Install
(
Ptr<Node>
node);
69
Ptr<FlowMonitor>
InstallAll
();
70
75
Ptr<FlowMonitor>
GetMonitor
();
76
81
Ptr<FlowClassifier>
GetClassifier
();
82
87
Ptr<FlowClassifier>
GetClassifier6
();
88
96
void
SerializeToXmlStream
(std::ostream &os, uint16_t
indent
,
bool
enableHistograms,
bool
enableProbes);
97
105
std::string
SerializeToXmlString
(uint16_t
indent
,
bool
enableHistograms,
bool
enableProbes);
106
113
void
SerializeToXmlFile
(std::string fileName,
bool
enableHistograms,
bool
enableProbes);
114
115
private
:
121
FlowMonitorHelper
(
const
FlowMonitorHelper
&);
128
FlowMonitorHelper
&
operator=
(
const
FlowMonitorHelper
&);
129
130
ObjectFactory
m_monitorFactory
;
131
Ptr<FlowMonitor>
m_flowMonitor
;
132
Ptr<FlowClassifier>
m_flowClassifier4
;
133
Ptr<FlowClassifier>
m_flowClassifier6
;
134
};
135
136
}
// namespace ns3
137
138
139
#endif
/* FLOW_MONITOR_HELPER_H */
ns3::FlowMonitorHelper::SerializeToXmlString
std::string SerializeToXmlString(uint16_t indent, bool enableHistograms, bool enableProbes)
Same as SerializeToXmlStream, but returns the output as a std::string.
Definition:
flow-monitor-helper.cc:158
ns3::FlowMonitorHelper::operator=
FlowMonitorHelper & operator=(const FlowMonitorHelper &)
Copy constructor.
ns3::FlowMonitorHelper::Install
Ptr< FlowMonitor > Install(NodeContainer nodes)
Enable flow monitoring on a set of nodes.
Definition:
flow-monitor-helper.cc:121
ns3::FlowMonitorHelper::SetMonitorAttribute
void SetMonitorAttribute(std::string n1, const AttributeValue &v1)
Set an attribute for the to-be-created FlowMonitor object.
Definition:
flow-monitor-helper.cc:53
ns3
Every class exported by the ns3 library is enclosed in the ns3 namespace.
ns3::FlowMonitorHelper::m_flowClassifier4
Ptr< FlowClassifier > m_flowClassifier4
the FlowClassifier object for IPv4
Definition:
flow-monitor-helper.h:132
ns3::FlowMonitorHelper::~FlowMonitorHelper
~FlowMonitorHelper()
Definition:
flow-monitor-helper.cc:41
ns3::AttributeValue
Hold a value for an Attribute.
Definition:
attribute.h:69
first.nodes
nodes
Definition:
first.py:32
ns3::Ptr
Smart pointer class similar to boost::intrusive_ptr.
Definition:
ptr.h:74
ns3::FlowMonitorHelper
Helper to enable IP flow monitoring on a set of Nodes.
Definition:
flow-monitor-helper.h:40
check-style.indent
def indent(source, debug, level)
Definition:
check-style.py:435
ns3::FlowMonitorHelper::FlowMonitorHelper
FlowMonitorHelper()
Definition:
flow-monitor-helper.cc:36
ns3::FlowMonitorHelper::InstallAll
Ptr< FlowMonitor > InstallAll()
Enable flow monitoring on all nodes.
Definition:
flow-monitor-helper.cc:135
ns3::FlowMonitorHelper::FlowMonitorHelper
FlowMonitorHelper(const FlowMonitorHelper &)
Copy constructor.
ns3::ObjectFactory
Instantiate subclasses of ns3::Object.
Definition:
object-factory.h:48
ns3::FlowMonitorHelper::m_flowMonitor
Ptr< FlowMonitor > m_flowMonitor
the FlowMonitor object
Definition:
flow-monitor-helper.h:131
ns3::FlowMonitorHelper::GetClassifier
Ptr< FlowClassifier > GetClassifier()
Retrieve the FlowClassifier object for IPv4 created by the Install* methods.
Definition:
flow-monitor-helper.cc:75
ns3::FlowMonitorHelper::m_flowClassifier6
Ptr< FlowClassifier > m_flowClassifier6
the FlowClassifier object for IPv6
Definition:
flow-monitor-helper.h:133
ns3::FlowMonitorHelper::SerializeToXmlFile
void SerializeToXmlFile(std::string fileName, bool enableHistograms, bool enableProbes)
Same as SerializeToXmlStream, but writes to a file instead.
Definition:
flow-monitor-helper.cc:169
ns3::NodeContainer
keep track of a set of node pointers.
Definition:
node-container.h:39
ns3::FlowMonitorHelper::GetMonitor
Ptr< FlowMonitor > GetMonitor()
Retrieve the FlowMonitor object created by the Install* methods.
Definition:
flow-monitor-helper.cc:60
ns3::FlowMonitorHelper::m_monitorFactory
ObjectFactory m_monitorFactory
Object factory.
Definition:
flow-monitor-helper.h:130
ns3::FlowMonitorHelper::SerializeToXmlStream
void SerializeToXmlStream(std::ostream &os, uint16_t indent, bool enableHistograms, bool enableProbes)
Serializes the results to an std::ostream in XML format.
Definition:
flow-monitor-helper.cc:149
ns3::FlowMonitorHelper::GetClassifier6
Ptr< FlowClassifier > GetClassifier6()
Retrieve the FlowClassifier object for IPv6 created by the Install* methods.
Definition:
flow-monitor-helper.cc:86
src
flow-monitor
helper
flow-monitor-helper.h
Generated on Fri Oct 1 2021 17:03:03 for ns-3 by
1.8.20