A Discrete-Event Network Simulator
API
Public Member Functions | Private Member Functions | Private Attributes | List of all members
ns3::FlowMonitorHelper Class Reference

Helper to enable IP flow monitoring on a set of Nodes. More...

#include "flow-monitor-helper.h"

Public Member Functions

 FlowMonitorHelper ()
 
 ~FlowMonitorHelper ()
 
Ptr< FlowClassifierGetClassifier ()
 Retrieve the FlowClassifier object for IPv4 created by the Install* methods. More...
 
Ptr< FlowClassifierGetClassifier6 ()
 Retrieve the FlowClassifier object for IPv6 created by the Install* methods. More...
 
Ptr< FlowMonitorGetMonitor ()
 Retrieve the FlowMonitor object created by the Install* methods. More...
 
Ptr< FlowMonitorInstall (NodeContainer nodes)
 Enable flow monitoring on a set of nodes. More...
 
Ptr< FlowMonitorInstall (Ptr< Node > node)
 Enable flow monitoring on a single node. More...
 
Ptr< FlowMonitorInstallAll ()
 Enable flow monitoring on all nodes. More...
 
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 Member Functions

 FlowMonitorHelper (const FlowMonitorHelper &)
 Copy constructor. More...
 
FlowMonitorHelperoperator= (const FlowMonitorHelper &)
 Copy constructor. More...
 

Private Attributes

Ptr< FlowClassifierm_flowClassifier4
 the FlowClassifier object for IPv4 More...
 
Ptr< FlowClassifierm_flowClassifier6
 the FlowClassifier object for IPv6 More...
 
Ptr< FlowMonitorm_flowMonitor
 the FlowMonitor object More...
 
ObjectFactory m_monitorFactory
 Object factory. More...
 

Detailed Description

Helper to enable IP flow monitoring on a set of Nodes.

Definition at line 39 of file flow-monitor-helper.h.

Constructor & Destructor Documentation

◆ FlowMonitorHelper() [1/2]

ns3::FlowMonitorHelper::FlowMonitorHelper ( )

Definition at line 36 of file flow-monitor-helper.cc.

References m_monitorFactory, and ns3::ObjectFactory::SetTypeId().

◆ ~FlowMonitorHelper()

ns3::FlowMonitorHelper::~FlowMonitorHelper ( )

Definition at line 41 of file flow-monitor-helper.cc.

References m_flowClassifier4, m_flowClassifier6, and m_flowMonitor.

◆ FlowMonitorHelper() [2/2]

ns3::FlowMonitorHelper::FlowMonitorHelper ( const FlowMonitorHelper )
private

Copy constructor.

Defined and unimplemented to avoid misuse

Member Function Documentation

◆ GetClassifier()

Ptr< FlowClassifier > ns3::FlowMonitorHelper::GetClassifier ( )

Retrieve the FlowClassifier object for IPv4 created by the Install* methods.

Returns
a pointer to the FlowClassifier object

Definition at line 75 of file flow-monitor-helper.cc.

References m_flowClassifier4.

Referenced by experiment(), and Install().

◆ GetClassifier6()

Ptr< FlowClassifier > ns3::FlowMonitorHelper::GetClassifier6 ( )

Retrieve the FlowClassifier object for IPv6 created by the Install* methods.

Returns
a pointer to the FlowClassifier object

Definition at line 86 of file flow-monitor-helper.cc.

References m_flowClassifier6.

Referenced by Install().

◆ GetMonitor()

Ptr< FlowMonitor > ns3::FlowMonitorHelper::GetMonitor ( )

Retrieve the FlowMonitor object created by the Install* methods.

Returns
a pointer to the FlowMonitor object

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().

◆ Install() [1/2]

Ptr< FlowMonitor > ns3::FlowMonitorHelper::Install ( NodeContainer  nodes)

Enable flow monitoring on a set of nodes.

Parameters
nodesA NodeContainer holding the set of nodes to work with.
Returns
a pointer to the FlowMonitor object

Definition at line 121 of file flow-monitor-helper.cc.

References ns3::Object::GetObject(), m_flowMonitor, and first::nodes.

Referenced by InstallAll().

◆ Install() [2/2]

Ptr< FlowMonitor > ns3::FlowMonitorHelper::Install ( Ptr< Node node)

Enable flow monitoring on a single node.

Parameters
nodeA Ptr<Node> to the node on which to enable flow monitoring.
Returns
a pointer to the FlowMonitor object

Definition at line 97 of file flow-monitor-helper.cc.

References GetClassifier(), GetClassifier6(), GetMonitor(), ns3::Object::GetObject(), and m_flowMonitor.

◆ InstallAll()

Ptr< FlowMonitor > ns3::FlowMonitorHelper::InstallAll ( void  )

Enable flow monitoring on all nodes.

Returns
a pointer to the FlowMonitor object

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().

◆ operator=()

FlowMonitorHelper& ns3::FlowMonitorHelper::operator= ( const FlowMonitorHelper )
private

Copy constructor.

Defined and unimplemented to avoid misuse

Returns

◆ SerializeToXmlFile()

void ns3::FlowMonitorHelper::SerializeToXmlFile ( std::string  fileName,
bool  enableHistograms,
bool  enableProbes 
)

Same as SerializeToXmlStream, but writes to a file instead.

Parameters
fileNamename or path of the output file that will be created
enableHistogramsif true, include also the histograms in the output
enableProbesif 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().

◆ SerializeToXmlStream()

void ns3::FlowMonitorHelper::SerializeToXmlStream ( std::ostream &  os,
uint16_t  indent,
bool  enableHistograms,
bool  enableProbes 
)

Serializes the results to an std::ostream in XML format.

Parameters
osthe output stream
indentnumber of spaces to use as base indentation level
enableHistogramsif true, include also the histograms in the output
enableProbesif 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.

◆ SerializeToXmlString()

std::string ns3::FlowMonitorHelper::SerializeToXmlString ( uint16_t  indent,
bool  enableHistograms,
bool  enableProbes 
)

Same as SerializeToXmlStream, but returns the output as a std::string.

Parameters
indentnumber of spaces to use as base indentation level
enableHistogramsif true, include also the histograms in the output
enableProbesif true, include also the per-probe/flow pair statistics in the output
Returns
the XML output as string

Definition at line 158 of file flow-monitor-helper.cc.

References check-style::indent(), and m_flowMonitor.

◆ SetMonitorAttribute()

void ns3::FlowMonitorHelper::SetMonitorAttribute ( std::string  n1,
const AttributeValue v1 
)

Set an attribute for the to-be-created FlowMonitor object.

Parameters
n1attribute name
v1attribute value

Definition at line 53 of file flow-monitor-helper.cc.

References m_monitorFactory, and ns3::ObjectFactory::Set().

Member Data Documentation

◆ m_flowClassifier4

Ptr<FlowClassifier> ns3::FlowMonitorHelper::m_flowClassifier4
private

the FlowClassifier object for IPv4

Definition at line 132 of file flow-monitor-helper.h.

Referenced by GetClassifier(), GetMonitor(), and ~FlowMonitorHelper().

◆ m_flowClassifier6

Ptr<FlowClassifier> ns3::FlowMonitorHelper::m_flowClassifier6
private

the FlowClassifier object for IPv6

Definition at line 133 of file flow-monitor-helper.h.

Referenced by GetClassifier6(), GetMonitor(), and ~FlowMonitorHelper().

◆ m_flowMonitor

Ptr<FlowMonitor> ns3::FlowMonitorHelper::m_flowMonitor
private

◆ m_monitorFactory

ObjectFactory ns3::FlowMonitorHelper::m_monitorFactory
private

Object factory.

Definition at line 130 of file flow-monitor-helper.h.

Referenced by FlowMonitorHelper(), GetMonitor(), and SetMonitorAttribute().


The documentation for this class was generated from the following files: