A Discrete-Event Network Simulator
API
Loading...
Searching...
No Matches
ns3::AodvHelper Class Reference

Helper class that adds AODV routing to nodes. More...

#include "aodv-helper.h"

+ Inheritance diagram for ns3::AodvHelper:
+ Collaboration diagram for ns3::AodvHelper:

Public Member Functions

 AodvHelper ()
 
int64_t AssignStreams (NodeContainer c, int64_t stream)
 Assign a fixed random variable stream number to the random variables used by this model.
 
AodvHelperCopy () const override
 
Ptr< Ipv4RoutingProtocolCreate (Ptr< Node > node) const override
 
void Set (std::string name, const AttributeValue &value)
 
- Public Member Functions inherited from ns3::Ipv4RoutingHelper
virtual ~Ipv4RoutingHelper ()
 
virtual Ipv4RoutingHelperCopy () const =0
 virtual constructor
 
virtual Ptr< Ipv4RoutingProtocolCreate (Ptr< Node > node) const =0
 

Private Attributes

ObjectFactory m_agentFactory
 the factory to create AODV routing object
 

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.
 
static void PrintNeighborCacheAllAt (Time printTime, Ptr< OutputStreamWrapper > stream, Time::Unit unit=Time::S)
 prints the neighbor cache of all nodes at a particular time.
 
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.
 
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.
 
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.
 
static void PrintRoutingTableAllAt (Time printTime, Ptr< OutputStreamWrapper > stream, Time::Unit unit=Time::S)
 prints the routing tables of all nodes at a particular time.
 
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.
 
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.
 
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.
 

Detailed Description

Helper class that adds AODV routing to nodes.

Definition at line 35 of file aodv-helper.h.

Constructor & Destructor Documentation

◆ AodvHelper()

ns3::AodvHelper::AodvHelper ( )

Definition at line 31 of file aodv-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:

Member Function Documentation

◆ AssignStreams()

int64_t ns3::AodvHelper::AssignStreams ( NodeContainer  c,
int64_t  stream 
)

Assign a fixed random variable stream number to the random variables used by this model.

Return the number of streams (possibly zero) that have been assigned. The Install() method of the InternetStackHelper should have previously been called by the user.

Parameters
streamfirst stream index to use
cNodeContainer of the set of nodes for which AODV should be modified to use a fixed stream
Returns
the number of stream indices assigned by this helper

Definition at line 58 of file aodv-helper.cc.

References ns3::NodeContainer::Begin(), ns3::NodeContainer::End(), list, and NS_ASSERT_MSG.

Referenced by ChainRegressionTest::CreateDevices(), and Bug772ChainTest::CreateDevices().

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

◆ Copy()

AodvHelper * ns3::AodvHelper::Copy ( ) const
overridevirtual
Returns
pointer to clone of this AodvHelper
Internal:
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 38 of file aodv-helper.cc.

References AodvHelper().

+ Here is the call graph for this function:

◆ Create()

Ptr< Ipv4RoutingProtocol > ns3::AodvHelper::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

Todo:
support installing AODV on the subset of all available IP interfaces

Implements ns3::Ipv4RoutingHelper.

Definition at line 44 of file aodv-helper.cc.

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

+ Here is the call graph for this function:

◆ Set()

void ns3::AodvHelper::Set ( std::string  name,
const AttributeValue value 
)
Parameters
namethe name of the attribute to set
valuethe value of the attribute to set.

This method controls the attributes of ns3::aodv::RoutingProtocol

Definition at line 52 of file aodv-helper.cc.

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

+ Here is the call graph for this function:

Member Data Documentation

◆ m_agentFactory

ObjectFactory ns3::AodvHelper::m_agentFactory
private

the factory to create AODV routing object

Definition at line 80 of file aodv-helper.h.

Referenced by AodvHelper(), Create(), and Set().


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