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. More... | |
Ptr< FlowClassifier > | GetClassifier6 () |
Retrieve the FlowClassifier object for IPv6 created by the Install* methods. More... | |
Ptr< FlowMonitor > | GetMonitor () |
Retrieve the FlowMonitor object created by the Install* methods. More... | |
Ptr< FlowMonitor > | Install (NodeContainer nodes) |
Enable flow monitoring on a set of nodes. More... | |
Ptr< FlowMonitor > | Install (Ptr< Node > node) |
Enable flow monitoring on a single node. More... | |
Ptr< FlowMonitor > | InstallAll () |
Enable flow monitoring on all nodes. More... | |
FlowMonitorHelper & | operator= (const FlowMonitorHelper &)=delete |
void | SerializeToXmlFile (std::string fileName, bool enableHistograms, bool enableProbes) |
Same as SerializeToXmlStream, but writes to a file instead. More... | |
void | SerializeToXmlStream (std::ostream &os, uint16_t indent, bool enableHistograms, bool enableProbes) |
Serializes the results to an std::ostream in XML format. More... | |
std::string | SerializeToXmlString (uint16_t indent, bool enableHistograms, bool enableProbes) |
Same as SerializeToXmlStream, but returns the output as a std::string. More... | |
void | SetMonitorAttribute (std::string n1, const AttributeValue &v1) |
Set an attribute for the to-be-created FlowMonitor object. More... | |
Private Attributes | |
Ptr< FlowClassifier > | m_flowClassifier4 |
the FlowClassifier object for IPv4 More... | |
Ptr< FlowClassifier > | m_flowClassifier6 |
the FlowClassifier object for IPv6 More... | |
Ptr< FlowMonitor > | m_flowMonitor |
the FlowMonitor object More... | |
ObjectFactory | m_monitorFactory |
Object factory. More... | |
Helper to enable IP flow monitoring on a set of Nodes.
Definition at line 39 of file flow-monitor-helper.h.
ns3::FlowMonitorHelper::FlowMonitorHelper | ( | ) |
Definition at line 36 of file flow-monitor-helper.cc.
References m_monitorFactory, and ns3::ObjectFactory::SetTypeId().
ns3::FlowMonitorHelper::~FlowMonitorHelper | ( | ) |
Definition at line 41 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 75 of file flow-monitor-helper.cc.
References 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 86 of file flow-monitor-helper.cc.
References m_flowClassifier6.
Referenced by Install().
Ptr< FlowMonitor > ns3::FlowMonitorHelper::GetMonitor | ( | ) |
Retrieve the FlowMonitor object created by the Install* methods.
Definition at line 60 of file flow-monitor-helper.cc.
References 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 121 of file flow-monitor-helper.cc.
References ns3::Object::GetObject(), m_flowMonitor, and first::nodes.
Referenced by 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 97 of file flow-monitor-helper.cc.
References GetClassifier(), GetClassifier6(), GetMonitor(), ns3::Object::GetObject(), and m_flowMonitor.
Ptr< FlowMonitor > ns3::FlowMonitorHelper::InstallAll | ( | void | ) |
Enable flow monitoring on all nodes.
Definition at line 135 of file flow-monitor-helper.cc.
References ns3::NodeList::Begin(), ns3::NodeList::End(), ns3::Object::GetObject(), Install(), and m_flowMonitor.
Referenced by experiment(), and Experiment::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 169 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 149 of file flow-monitor-helper.cc.
References check-style::indent(), and 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 158 of file flow-monitor-helper.cc.
References check-style::indent(), and 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 53 of file flow-monitor-helper.cc.
References m_monitorFactory, and ns3::ObjectFactory::Set().
|
private |
the FlowClassifier object for IPv4
Definition at line 122 of file flow-monitor-helper.h.
Referenced by ~FlowMonitorHelper(), GetClassifier(), and GetMonitor().
|
private |
the FlowClassifier object for IPv6
Definition at line 123 of file flow-monitor-helper.h.
Referenced by ~FlowMonitorHelper(), GetClassifier6(), and GetMonitor().
|
private |
the FlowMonitor object
Definition at line 121 of file flow-monitor-helper.h.
Referenced by ~FlowMonitorHelper(), GetMonitor(), Install(), InstallAll(), SerializeToXmlFile(), SerializeToXmlStream(), and SerializeToXmlString().
|
private |
Object factory.
Definition at line 120 of file flow-monitor-helper.h.
Referenced by FlowMonitorHelper(), GetMonitor(), and SetMonitorAttribute().