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

Helper class that adds ns3::Ipv4ListRouting objects. More...

#include "ipv4-list-routing-helper.h"

+ Inheritance diagram for ns3::Ipv4ListRoutingHelper:
+ Collaboration diagram for ns3::Ipv4ListRoutingHelper:

Public Member Functions

 Ipv4ListRoutingHelper ()
 
 Ipv4ListRoutingHelper (const Ipv4ListRoutingHelper &o)
 Construct an Ipv4ListRoutingHelper from another previously initialized instance (Copy Constructor). More...
 
 ~Ipv4ListRoutingHelper () override
 
void Add (const Ipv4RoutingHelper &routing, int16_t priority)
 
Ipv4ListRoutingHelperCopy () const override
 
Ptr< Ipv4RoutingProtocolCreate (Ptr< Node > node) const override
 
Ipv4ListRoutingHelperoperator= (const Ipv4ListRoutingHelper &)=delete
 
- Public Member Functions inherited from ns3::Ipv4RoutingHelper
virtual ~Ipv4RoutingHelper ()
 

Private Attributes

std::list< std::pair< const Ipv4RoutingHelper *, int16_t > > m_list
 Container for pairs of Ipv4RoutingHelper pointer / priority. 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 ns3::Ipv4ListRouting objects.

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

Definition at line 38 of file ipv4-list-routing-helper.h.

Constructor & Destructor Documentation

◆ Ipv4ListRoutingHelper() [1/2]

ns3::Ipv4ListRoutingHelper::Ipv4ListRoutingHelper ( )

Definition at line 27 of file ipv4-list-routing-helper.cc.

Referenced by Copy().

+ Here is the caller graph for this function:

◆ ~Ipv4ListRoutingHelper()

ns3::Ipv4ListRoutingHelper::~Ipv4ListRoutingHelper ( )
override

Definition at line 31 of file ipv4-list-routing-helper.cc.

References m_list.

◆ Ipv4ListRoutingHelper() [2/2]

ns3::Ipv4ListRoutingHelper::Ipv4ListRoutingHelper ( const Ipv4ListRoutingHelper o)

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

Parameters
oobject to be copied

Definition at line 39 of file ipv4-list-routing-helper.cc.

References m_list.

Member Function Documentation

◆ Add()

void ns3::Ipv4ListRoutingHelper::Add ( const Ipv4RoutingHelper routing,
int16_t  priority 
)
Parameters
routinga routing helper
prioritythe priority of the associated helper

Store in the internal list a reference to the input routing helper and associated priority. These helpers will be used later by the ns3::Ipv4ListRoutingHelper::Create method to create an ns3::Ipv4ListRouting object and add in it routing protocols created with the helpers.

Definition at line 54 of file ipv4-list-routing-helper.cc.

References ns3::Ipv4RoutingHelper::Copy(), and m_list.

Referenced by Ipv4DeduplicationTest::DoRun(), Ipv4DeduplicationPerformanceTest::DoRun(), and ns3::InternetStackHelper::Initialize().

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

◆ Copy()

Ipv4ListRoutingHelper * ns3::Ipv4ListRoutingHelper::Copy ( ) const
overridevirtual
Returns
pointer to clone of this Ipv4ListRoutingHelper

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 48 of file ipv4-list-routing-helper.cc.

References Ipv4ListRoutingHelper().

+ Here is the call graph for this function:

◆ Create()

Ptr< Ipv4RoutingProtocol > ns3::Ipv4ListRoutingHelper::Create ( Ptr< Node node) const
overridevirtual
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 60 of file ipv4-list-routing-helper.cc.

References list, and m_list.

◆ operator=()

Ipv4ListRoutingHelper& ns3::Ipv4ListRoutingHelper::operator= ( const Ipv4ListRoutingHelper )
delete

Member Data Documentation

◆ m_list

std::list<std::pair<const Ipv4RoutingHelper*, int16_t> > ns3::Ipv4ListRoutingHelper::m_list
private

Container for pairs of Ipv4RoutingHelper pointer / priority.

Definition at line 93 of file ipv4-list-routing-helper.h.

Referenced by Ipv4ListRoutingHelper(), ~Ipv4ListRoutingHelper(), Add(), and Create().


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