Helper class that adds OLSR routing to nodes. More...
#include "olsr-helper.h"
Public Member Functions | |
OlsrHelper () | |
Create an OlsrHelper that makes life easier for people who want to install OLSR routing to nodes. More... | |
OlsrHelper (const OlsrHelper &o) | |
Construct an OlsrHelper from another previously initialized instance (Copy Constructor). More... | |
int64_t | AssignStreams (NodeContainer c, int64_t stream) |
Assign a fixed random variable stream number to the random variables used by this model. More... | |
OlsrHelper * | Copy () const override |
Ptr< Ipv4RoutingProtocol > | Create (Ptr< Node > node) const override |
void | ExcludeInterface (Ptr< Node > node, uint32_t interface) |
OlsrHelper & | operator= (const OlsrHelper &)=delete |
void | Set (std::string name, const AttributeValue &value) |
Public Member Functions inherited from ns3::Ipv4RoutingHelper | |
virtual | ~Ipv4RoutingHelper () |
Private Attributes | |
ObjectFactory | m_agentFactory |
Object factory. More... | |
std::map< Ptr< Node >, std::set< uint32_t > > | m_interfaceExclusions |
container of interfaces excluded from OLSR operations 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... | |
Helper class that adds OLSR routing to nodes.
This class is expected to be used in conjunction with ns3::InternetStackHelper::SetRoutingHelper
Definition at line 41 of file olsr-helper.h.
ns3::OlsrHelper::OlsrHelper | ( | ) |
Create an OlsrHelper that makes life easier for people who want to install OLSR routing to nodes.
Definition at line 30 of file olsr-helper.cc.
References m_agentFactory, and ns3::ObjectFactory::SetTypeId().
Referenced by Copy().
ns3::OlsrHelper::OlsrHelper | ( | const OlsrHelper & | o | ) |
Construct an OlsrHelper from another previously initialized instance (Copy Constructor).
o | object to copy |
Definition at line 35 of file olsr-helper.cc.
References m_interfaceExclusions.
int64_t ns3::OlsrHelper::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.
stream | first stream index to use |
c | NodeContainer of the set of nodes for which the OlsrRoutingProtocol should be modified to use a fixed stream |
Definition at line 88 of file olsr-helper.cc.
References ns3::NodeContainer::Begin(), ns3::NodeContainer::End(), ns3::Object::GetObject(), nsclick-simple-lan::ipv4, list, and NS_ASSERT_MSG.
|
overridevirtual |
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 42 of file olsr-helper.cc.
References OlsrHelper().
|
overridevirtual |
node | the node on which the routing protocol will run |
This method will be called by ns3::InternetStackHelper::Install
Implements ns3::Ipv4RoutingHelper.
Definition at line 66 of file olsr-helper.cc.
References ns3::Object::AggregateObject(), ns3::ObjectFactory::Create(), m_agentFactory, and m_interfaceExclusions.
node | the node for which an exception is to be defined |
interface | an interface of node on which OLSR is not to be installed |
This method allows the user to specify an interface on which OLSR is not to be installed on
Definition at line 48 of file olsr-helper.cc.
References first::interfaces, and m_interfaceExclusions.
|
delete |
void ns3::OlsrHelper::Set | ( | std::string | name, |
const AttributeValue & | value | ||
) |
name | the name of the attribute to set |
value | the value of the attribute to set. |
This method controls the attributes of ns3::olsr::RoutingProtocol
Definition at line 82 of file olsr-helper.cc.
References m_agentFactory, and ns3::ObjectFactory::Set().
|
private |
Object factory.
Definition at line 107 of file olsr-helper.h.
Referenced by OlsrHelper(), Create(), and Set().
container of interfaces excluded from OLSR operations
Definition at line 110 of file olsr-helper.h.
Referenced by OlsrHelper(), Create(), and ExcludeInterface().