A Discrete-Event Network Simulator
API
ns3::Ipv4NixVectorHelper Class Reference

Helper class that adds Nix-vector routing to nodes. More...

#include "ipv4-nix-vector-helper.h"

+ Inheritance diagram for ns3::Ipv4NixVectorHelper:
+ Collaboration diagram for ns3::Ipv4NixVectorHelper:

Public Member Functions

 Ipv4NixVectorHelper ()
 Construct an Ipv4NixVectorHelper to make life easier while adding Nix-vector routing to nodes. More...
 
 Ipv4NixVectorHelper (const Ipv4NixVectorHelper &)
 Construct an Ipv4NixVectorHelper from another previously initialized instance (Copy Constructor). More...
 
Ipv4NixVectorHelperCopy (void) const
 
virtual Ptr< Ipv4RoutingProtocolCreate (Ptr< Node > node) const
 
void PrintRoutingPathAt (Time printTime, Ptr< Node > source, Ipv4Address dest, Ptr< OutputStreamWrapper > stream, Time::Unit unit=Time::S)
 prints the routing path for a source and destination at a particular time. More...
 
- Public Member Functions inherited from ns3::Ipv4RoutingHelper
virtual ~Ipv4RoutingHelper ()
 

Private Member Functions

Ipv4NixVectorHelperoperator= (const Ipv4NixVectorHelper &)
 Assignment operator declared private and not implemented to disallow assignment and prevent the compiler from happily inserting its own. More...
 

Static Private Member Functions

static void PrintRoute (Ptr< Node > source, Ipv4Address dest, Ptr< OutputStreamWrapper > stream, Time::Unit unit=Time::S)
 prints the routing path for the source and destination. More...
 

Private Attributes

ObjectFactory m_agentFactory
 Object factory. More...
 

Additional Inherited Members

- Static Public Member Functions inherited from ns3::Ipv4RoutingHelper
template<class T >
static Ptr< T > GetRouting (Ptr< Ipv4RoutingProtocol > protocol)
 Request a specified routing protocol <T> from Ipv4RoutingProtocol protocol. More...
 
static void PrintNeighborCacheAllAt (Time printTime, Ptr< OutputStreamWrapper > stream, Time::Unit unit=Time::S)
 prints the neighbor cache of all nodes at a particular time. More...
 
static void PrintNeighborCacheAllEvery (Time printInterval, Ptr< OutputStreamWrapper > stream, Time::Unit unit=Time::S)
 prints the neighbor cache of all nodes at regular intervals specified by user. More...
 
static void PrintNeighborCacheAt (Time printTime, Ptr< Node > node, Ptr< OutputStreamWrapper > stream, Time::Unit unit=Time::S)
 prints the neighbor cache of a node at a particular time. More...
 
static void PrintNeighborCacheEvery (Time printInterval, Ptr< Node > node, Ptr< OutputStreamWrapper > stream, Time::Unit unit=Time::S)
 prints the neighbor cache of a node at regular intervals specified by user. More...
 
static void PrintRoutingTableAllAt (Time printTime, Ptr< OutputStreamWrapper > stream, Time::Unit unit=Time::S)
 prints the routing tables of all nodes at a particular time. More...
 
static void PrintRoutingTableAllEvery (Time printInterval, Ptr< OutputStreamWrapper > stream, Time::Unit unit=Time::S)
 prints the routing tables of all nodes at regular intervals specified by user. More...
 
static void PrintRoutingTableAt (Time printTime, Ptr< Node > node, Ptr< OutputStreamWrapper > stream, Time::Unit unit=Time::S)
 prints the routing tables of a node at a particular time. More...
 
static void PrintRoutingTableEvery (Time printInterval, Ptr< Node > node, Ptr< OutputStreamWrapper > stream, Time::Unit unit=Time::S)
 prints the routing tables of a node at regular intervals specified by user. More...
 

Detailed Description

Helper class that adds Nix-vector routing to nodes.

This class is expected to be used in conjunction with ns3::InternetStackHelper::SetRoutingHelper

Definition at line 38 of file ipv4-nix-vector-helper.h.

Constructor & Destructor Documentation

◆ Ipv4NixVectorHelper() [1/2]

ns3::Ipv4NixVectorHelper::Ipv4NixVectorHelper ( )

Construct an Ipv4NixVectorHelper to make life easier while adding Nix-vector routing to nodes.

Definition at line 26 of file ipv4-nix-vector-helper.cc.

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

Referenced by Copy().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ Ipv4NixVectorHelper() [2/2]

ns3::Ipv4NixVectorHelper::Ipv4NixVectorHelper ( const Ipv4NixVectorHelper o)

Construct an Ipv4NixVectorHelper from another previously initialized instance (Copy Constructor).

Definition at line 31 of file ipv4-nix-vector-helper.cc.

Member Function Documentation

◆ Copy()

Ipv4NixVectorHelper * ns3::Ipv4NixVectorHelper::Copy ( void  ) const
virtual
Returns
pointer to clone of this Ipv4NixVectorHelper

This method is mainly for internal use by the other helpers; clients are expected to free the dynamic memory allocated by this method

Implements ns3::Ipv4RoutingHelper.

Definition at line 37 of file ipv4-nix-vector-helper.cc.

References Ipv4NixVectorHelper().

+ Here is the call graph for this function:

◆ Create()

Ptr< Ipv4RoutingProtocol > ns3::Ipv4NixVectorHelper::Create ( Ptr< Node node) const
virtual
Parameters
nodethe node on which the routing protocol will run
Returns
a newly-created routing protocol

This method will be called by ns3::InternetStackHelper::Install

Implements ns3::Ipv4RoutingHelper.

Definition at line 43 of file ipv4-nix-vector-helper.cc.

References ns3::Object::AggregateObject(), ns3::ObjectFactory::Create(), and m_agentFactory.

+ Here is the call graph for this function:

◆ operator=()

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

Assignment operator declared private and not implemented to disallow assignment and prevent the compiler from happily inserting its own.

Returns
Nothing useful.

◆ PrintRoute()

void ns3::Ipv4NixVectorHelper::PrintRoute ( Ptr< Node source,
Ipv4Address  dest,
Ptr< OutputStreamWrapper stream,
Time::Unit  unit = Time::S 
)
staticprivate

prints the routing path for the source and destination.

If the routing path does not exist, it prints that the path does not exist between the nodes in the ostream.

Parameters
sourcethe source node pointer to start traversing
destthe IPv4 destination address
streamthe output stream object to use
unitthe time unit to be used in the report

This method calls the PrintRoutingPath() method of the Ipv4NixVectorRouting for the source and destination to provide the routing path.

Definition at line 58 of file ipv4-nix-vector-helper.cc.

References ns3::Object::GetObject(), and NS_ASSERT.

Referenced by PrintRoutingPathAt().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ PrintRoutingPathAt()

void ns3::Ipv4NixVectorHelper::PrintRoutingPathAt ( Time  printTime,
Ptr< Node source,
Ipv4Address  dest,
Ptr< OutputStreamWrapper stream,
Time::Unit  unit = Time::S 
)

prints the routing path for a source and destination at a particular time.

If the routing path does not exist, it prints that the path does not exist between the nodes in the ostream.

Parameters
printTimethe time at which the routing path is supposed to be printed.
sourcethe source node pointer to start traversing
destthe IPv4 destination address
streamthe output stream object to use
unitthe time unit to be used in the report

This method calls the PrintRoutingPath() method of the Ipv4NixVectorRouting for the source and destination to provide the routing path at the specified time.

Definition at line 52 of file ipv4-nix-vector-helper.cc.

References PrintRoute(), and ns3::Simulator::Schedule().

+ Here is the call graph for this function:

Member Data Documentation

◆ m_agentFactory

ObjectFactory ns3::Ipv4NixVectorHelper::m_agentFactory
private

Object factory.

Definition at line 93 of file ipv4-nix-vector-helper.h.

Referenced by Create(), and Ipv4NixVectorHelper().


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