A Discrete-Event Network Simulator
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 
40 {
41 public:
42 
45 
51  void SetMonitorAttribute (std::string n1, const AttributeValue &v1);
52 
70 
76 
82 
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:
129 
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