22 #include "ns3/flow-monitor.h"
23 #include "ns3/ipv4-flow-classifier.h"
24 #include "ns3/ipv4-flow-probe.h"
25 #include "ns3/ipv4-l3-protocol.h"
26 #include "ns3/ipv6-flow-classifier.h"
27 #include "ns3/ipv6-flow-probe.h"
28 #include "ns3/ipv6-l3-protocol.h"
29 #include "ns3/node-list.h"
100 Create<Ipv4FlowProbe>(monitor, DynamicCast<Ipv4FlowClassifier>(classifier), node);
107 Create<Ipv6FlowProbe>(monitor, DynamicCast<Ipv6FlowClassifier>(classifier6), node);
115 for (
auto i =
nodes.Begin(); i !=
nodes.End(); ++i)
143 bool enableHistograms,
148 m_flowMonitor->SerializeToXmlStream(os, indent, enableHistograms, enableProbes);
155 std::ostringstream os;
158 m_flowMonitor->SerializeToXmlStream(os, indent, enableHistograms, enableProbes);
165 bool enableHistograms,
170 m_flowMonitor->SerializeToXmlFile(fileName, enableHistograms, enableProbes);
Hold a value for an Attribute.
Ptr< FlowClassifier > m_flowClassifier6
the FlowClassifier object for IPv6
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
An object that monitors and reports back packet flows observed during a simulation.
Implement the IPv4 layer.
IPv6 layer implementation.
keep track of a set of node pointers.
Ptr< Object > Create() const
Create an Object instance of the configured TypeId.
void Set(const std::string &name, const AttributeValue &value, Args &&... args)
Set an attribute to be set during construction.
void SetTypeId(TypeId tid)
Set the TypeId of the Objects to be created by this factory.
Ptr< T > GetObject() const
Get a pointer to the requested aggregated Object.
Smart pointer class similar to boost::intrusive_ptr.
Every class exported by the ns3 library is enclosed in the ns3 namespace.