A Discrete-Event Network Simulator
API
flow-monitor-helper.h
Go to the documentation of this file.
1 //
2 // Copyright (c) 2009 INESC Porto
3 //
4 // This program is free software; you can redistribute it and/or modify
5 // it under the terms of the GNU General Public License version 2 as
6 // published by the Free Software Foundation;
7 //
8 // This program is distributed in the hope that it will be useful,
9 // but WITHOUT ANY WARRANTY; without even the implied warranty of
10 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 // GNU General Public License for more details.
12 //
13 // You should have received a copy of the GNU General Public License
14 // along with this program; if not, write to the Free Software
15 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
16 //
17 // Author: Gustavo J. A. M. Carneiro <gjc@inescporto.pt> <gjcarneiro@gmail.com>
18 //
19 #ifndef FLOW_MONITOR_HELPER_H
20 #define FLOW_MONITOR_HELPER_H
21 
22 #include "ns3/flow-classifier.h"
23 #include "ns3/flow-monitor.h"
24 #include "ns3/node-container.h"
25 #include "ns3/object-factory.h"
26 
27 #include <string>
28 
29 namespace ns3
30 {
31 
32 class AttributeValue;
33 class Ipv4FlowClassifier;
34 class Ipv6FlowClassifier;
35 
41 {
42  public:
45 
46  // Delete copy constructor and assignment operator to avoid misuse
49 
55  void SetMonitorAttribute(std::string n1, const AttributeValue& v1);
56 
74 
80 
86 
92 
100  void SerializeToXmlStream(std::ostream& os,
101  uint16_t indent,
102  bool enableHistograms,
103  bool enableProbes);
104 
112  std::string SerializeToXmlString(uint16_t indent, bool enableHistograms, bool enableProbes);
113 
120  void SerializeToXmlFile(std::string fileName, bool enableHistograms, bool enableProbes);
121 
122  private:
127 };
128 
129 } // namespace ns3
130 
131 #endif /* FLOW_MONITOR_HELPER_H */
Hold a value for an Attribute.
Definition: attribute.h:70
Helper to enable IP flow monitoring on a set of Nodes.
Ptr< FlowClassifier > m_flowClassifier6
the FlowClassifier object for IPv6
FlowMonitorHelper & operator=(const FlowMonitorHelper &)=delete
FlowMonitorHelper(const FlowMonitorHelper &)=delete
std::string SerializeToXmlString(uint16_t indent, bool enableHistograms, bool enableProbes)
Same as SerializeToXmlStream, but returns the output as a std::string.
Ptr< FlowClassifier > GetClassifier6()
Retrieve the FlowClassifier object for IPv6 created by the Install* methods.
Ptr< FlowClassifier > GetClassifier()
Retrieve the FlowClassifier object for IPv4 created by the Install* methods.
void SetMonitorAttribute(std::string n1, const AttributeValue &v1)
Set an attribute for the to-be-created FlowMonitor object.
Ptr< FlowMonitor > InstallAll()
Enable flow monitoring on all nodes.
void SerializeToXmlStream(std::ostream &os, uint16_t indent, bool enableHistograms, bool enableProbes)
Serializes the results to an std::ostream in XML format.
Ptr< FlowMonitor > GetMonitor()
Retrieve the FlowMonitor object created by the Install* methods.
Ptr< FlowClassifier > m_flowClassifier4
the FlowClassifier object for IPv4
Ptr< FlowMonitor > Install(NodeContainer nodes)
Enable flow monitoring on a set of nodes.
ObjectFactory m_monitorFactory
Object factory.
void SerializeToXmlFile(std::string fileName, bool enableHistograms, bool enableProbes)
Same as SerializeToXmlStream, but writes to a file instead.
Ptr< FlowMonitor > m_flowMonitor
the FlowMonitor object
keep track of a set of node pointers.
Instantiate subclasses of ns3::Object.
Smart pointer class similar to boost::intrusive_ptr.
Definition: ptr.h:77
NodeContainer nodes
Every class exported by the ns3 library is enclosed in the ns3 namespace.