Helper to enable IP flow monitoring on a set of Nodes. More...
#include "flow-monitor-helper.h"
Public Member Functions | |
FlowMonitorHelper () | |
FlowMonitorHelper (const FlowMonitorHelper &)=delete | |
~FlowMonitorHelper () | |
Ptr< FlowClassifier > | GetClassifier () |
Retrieve the FlowClassifier object for IPv4 created by the Install* methods. | |
Ptr< FlowClassifier > | GetClassifier6 () |
Retrieve the FlowClassifier object for IPv6 created by the Install* methods. | |
Ptr< FlowMonitor > | GetMonitor () |
Retrieve the FlowMonitor object created by the Install* methods. | |
Ptr< FlowMonitor > | Install (NodeContainer nodes) |
Enable flow monitoring on a set of nodes. | |
Ptr< FlowMonitor > | Install (Ptr< Node > node) |
Enable flow monitoring on a single node. | |
Ptr< FlowMonitor > | InstallAll () |
Enable flow monitoring on all nodes. | |
FlowMonitorHelper & | operator= (const FlowMonitorHelper &)=delete |
void | SerializeToXmlFile (std::string fileName, bool enableHistograms, bool enableProbes) |
Same as SerializeToXmlStream, but writes to a file instead. | |
void | SerializeToXmlStream (std::ostream &os, uint16_t indent, bool enableHistograms, bool enableProbes) |
Serializes the results to an std::ostream in XML format. | |
std::string | SerializeToXmlString (uint16_t indent, bool enableHistograms, bool enableProbes) |
Same as SerializeToXmlStream, but returns the output as a std::string. | |
void | SetMonitorAttribute (std::string n1, const AttributeValue &v1) |
Set an attribute for the to-be-created FlowMonitor object. | |
Private Attributes | |
Ptr< FlowClassifier > | m_flowClassifier4 |
the FlowClassifier object for IPv4 | |
Ptr< FlowClassifier > | m_flowClassifier6 |
the FlowClassifier object for IPv6 | |
Ptr< FlowMonitor > | m_flowMonitor |
the FlowMonitor object | |
ObjectFactory | m_monitorFactory |
Object factory. | |
Helper to enable IP flow monitoring on a set of Nodes.
Definition at line 29 of file flow-monitor-helper.h.
ns3::FlowMonitorHelper::FlowMonitorHelper | ( | ) |
Definition at line 24 of file flow-monitor-helper.cc.
References m_monitorFactory, and ns3::ObjectFactory::SetTypeId().
ns3::FlowMonitorHelper::~FlowMonitorHelper | ( | ) |
Definition at line 29 of file flow-monitor-helper.cc.
References m_flowClassifier4, m_flowClassifier6, and m_flowMonitor.
|
delete |
Ptr< FlowClassifier > ns3::FlowMonitorHelper::GetClassifier | ( | ) |
Retrieve the FlowClassifier object for IPv4 created by the Install* methods.
Definition at line 61 of file flow-monitor-helper.cc.
References ns3::Create(), and m_flowClassifier4.
Referenced by experiment(), and Install().
Ptr< FlowClassifier > ns3::FlowMonitorHelper::GetClassifier6 | ( | ) |
Retrieve the FlowClassifier object for IPv6 created by the Install* methods.
Definition at line 71 of file flow-monitor-helper.cc.
References ns3::Create(), and m_flowClassifier6.
Referenced by Install().
Ptr< FlowMonitor > ns3::FlowMonitorHelper::GetMonitor | ( | ) |
Retrieve the FlowMonitor object created by the Install* methods.
Definition at line 47 of file flow-monitor-helper.cc.
References ns3::Create(), ns3::ObjectFactory::Create(), m_flowClassifier4, m_flowClassifier6, m_flowMonitor, and m_monitorFactory.
Referenced by Install().
Ptr< FlowMonitor > ns3::FlowMonitorHelper::Install | ( | NodeContainer | nodes | ) |
Enable flow monitoring on a set of nodes.
nodes | A NodeContainer holding the set of nodes to work with. |
Definition at line 102 of file flow-monitor-helper.cc.
References Install(), m_flowMonitor, and nodes.
Referenced by Install(), and InstallAll().
Ptr< FlowMonitor > ns3::FlowMonitorHelper::Install | ( | Ptr< Node > | node | ) |
Enable flow monitoring on a single node.
node | A Ptr<Node> to the node on which to enable flow monitoring. |
Definition at line 81 of file flow-monitor-helper.cc.
References ns3::Create(), ns3::DynamicCast(), GetClassifier(), GetClassifier6(), GetMonitor(), and m_flowMonitor.
Ptr< FlowMonitor > ns3::FlowMonitorHelper::InstallAll | ( | ) |
Enable flow monitoring on all nodes.
Definition at line 116 of file flow-monitor-helper.cc.
References ns3::NodeList::Begin(), ns3::NodeList::End(), Install(), and m_flowMonitor.
Referenced by experiment(), Experiment::Run(), and RoutingExperiment::Run().
|
delete |
void ns3::FlowMonitorHelper::SerializeToXmlFile | ( | std::string | fileName, |
bool | enableHistograms, | ||
bool | enableProbes ) |
Same as SerializeToXmlStream, but writes to a file instead.
fileName | name or path of the output file that will be created |
enableHistograms | if true, include also the histograms in the output |
enableProbes | if true, include also the per-probe/flow pair statistics in the output |
Definition at line 153 of file flow-monitor-helper.cc.
References m_flowMonitor.
Referenced by Experiment::Run().
void ns3::FlowMonitorHelper::SerializeToXmlStream | ( | std::ostream & | os, |
uint16_t | indent, | ||
bool | enableHistograms, | ||
bool | enableProbes ) |
Serializes the results to an std::ostream in XML format.
os | the output stream |
indent | number of spaces to use as base indentation level |
enableHistograms | if true, include also the histograms in the output |
enableProbes | if true, include also the per-probe/flow pair statistics in the output |
Definition at line 130 of file flow-monitor-helper.cc.
References m_flowMonitor.
std::string ns3::FlowMonitorHelper::SerializeToXmlString | ( | uint16_t | indent, |
bool | enableHistograms, | ||
bool | enableProbes ) |
Same as SerializeToXmlStream, but returns the output as a std::string.
indent | number of spaces to use as base indentation level |
enableHistograms | if true, include also the histograms in the output |
enableProbes | if true, include also the per-probe/flow pair statistics in the output |
Definition at line 142 of file flow-monitor-helper.cc.
References m_flowMonitor.
void ns3::FlowMonitorHelper::SetMonitorAttribute | ( | std::string | n1, |
const AttributeValue & | v1 ) |
Set an attribute for the to-be-created FlowMonitor object.
n1 | attribute name |
v1 | attribute value |
Definition at line 41 of file flow-monitor-helper.cc.
References m_monitorFactory, and ns3::ObjectFactory::Set().
|
private |
the FlowClassifier object for IPv4
Definition at line 114 of file flow-monitor-helper.h.
Referenced by ~FlowMonitorHelper(), GetClassifier(), and GetMonitor().
|
private |
the FlowClassifier object for IPv6
Definition at line 115 of file flow-monitor-helper.h.
Referenced by ~FlowMonitorHelper(), GetClassifier6(), and GetMonitor().
|
private |
the FlowMonitor object
Definition at line 113 of file flow-monitor-helper.h.
Referenced by ~FlowMonitorHelper(), GetMonitor(), Install(), Install(), InstallAll(), SerializeToXmlFile(), SerializeToXmlStream(), and SerializeToXmlString().
|
private |
Object factory.
Definition at line 112 of file flow-monitor-helper.h.
Referenced by FlowMonitorHelper(), GetMonitor(), and SetMonitorAttribute().