a factory to create ns3::Ipv4RoutingProtocol objects More...
#include <ipv4-routing-helper.h>
Public Member Functions | |
virtual | ~Ipv4RoutingHelper () |
virtual Ipv4RoutingHelper * | Copy (void) const =0 |
virtual constructor More... | |
virtual Ptr< Ipv4RoutingProtocol > | Create (Ptr< Node > node) const =0 |
void | PrintRoutingTableAllAt (Time printTime, Ptr< OutputStreamWrapper > stream) const |
prints the routing tables of all nodes at a particular time. More... | |
void | PrintRoutingTableAllEvery (Time printInterval, Ptr< OutputStreamWrapper > stream) const |
prints the routing tables of all nodes at regular intervals specified by user. More... | |
void | PrintRoutingTableAt (Time printTime, Ptr< Node > node, Ptr< OutputStreamWrapper > stream) const |
prints the routing tables of a node at a particular time. More... | |
void | PrintRoutingTableEvery (Time printInterval, Ptr< Node > node, Ptr< OutputStreamWrapper > stream) const |
prints the routing tables of a node at regular intervals specified by user. More... | |
Static Public Member Functions | |
template<class T > | |
static Ptr< T > | GetRouting (Ptr< Ipv4RoutingProtocol > protocol) |
Request a specified routing protocol <T> from Ipv4RoutingProtocol protocol. More... | |
Private Member Functions | |
void | Print (Ptr< Node > node, Ptr< OutputStreamWrapper > stream) const |
prints the routing tables of a node. More... | |
void | PrintEvery (Time printInterval, Ptr< Node > node, Ptr< OutputStreamWrapper > stream) const |
prints the routing tables of a node at regular intervals specified by user. More... | |
a factory to create ns3::Ipv4RoutingProtocol objects
For each new routing protocol created as a subclass of ns3::Ipv4RoutingProtocol, you need to create a subclass of ns3::Ipv4RoutingHelper which can be used by ns3::InternetStackHelper::SetRoutingHelper and ns3::InternetStackHelper::Install.
Definition at line 43 of file ipv4-routing-helper.h.
|
virtual |
Definition at line 30 of file ipv4-routing-helper.cc.
|
pure virtual |
virtual constructor
This method is mainly for internal use by the other helpers; clients are expected to free the dynamic memory allocated by this method
Implemented in ns3::Ipv4ListRoutingHelper, ns3::Ipv4StaticRoutingHelper, ns3::OlsrHelper, ns3::Ipv4NixVectorHelper, ns3::DsdvHelper, ns3::Ipv4GlobalRoutingHelper, and ns3::AodvHelper.
Referenced by ns3::Ipv4ListRoutingHelper::Add(), ns3::InternetStackHelper::InternetStackHelper(), ns3::InternetStackHelper::operator=(), and ns3::InternetStackHelper::SetRoutingHelper().
|
pure virtual |
node | the node within which the new routing protocol will run |
Implemented in ns3::Ipv4ListRoutingHelper, ns3::OlsrHelper, ns3::Ipv4StaticRoutingHelper, ns3::DsdvHelper, ns3::Ipv4NixVectorHelper, ns3::Ipv4GlobalRoutingHelper, and ns3::AodvHelper.
Referenced by ns3::InternetStackHelper::Install().
|
static |
Request a specified routing protocol <T> from Ipv4RoutingProtocol protocol.
If protocol is Ipv4ListRouting, then protocol will be searched in the list, otherwise a simple DynamicCast will be performed
protocol | Smart pointer to Ipv4RoutingProtocol object |
Definition at line 164 of file ipv4-routing-helper.h.
|
private |
prints the routing tables of a node.
node | The node ptr for which we need the routing table to be printed |
stream | The output stream object to use |
This method calls the PrintRoutingTable() method of the Ipv6RoutingProtocol stored in the Ipv6 object; the output format is routing protocol-specific.
Definition at line 67 of file ipv4-routing-helper.cc.
References ns3::Object::GetObject(), and NS_ASSERT.
Referenced by PrintRoutingTableAllAt(), and PrintRoutingTableAt().
|
private |
prints the routing tables of a node at regular intervals specified by user.
printInterval | the time interval for which the routing table is supposed to be printed. |
node | The node ptr for which we need the routing table to be printed |
stream | The output stream object to use |
This method calls the PrintRoutingTable() method of the Ipv6RoutingProtocol stored in the Ipv6 object, for the selected node at the specified interval; the output format is routing protocol-specific.
Definition at line 76 of file ipv4-routing-helper.cc.
References ns3::Object::GetObject(), NS_ASSERT, and ns3::Simulator::Schedule().
Referenced by PrintRoutingTableAllEvery(), and PrintRoutingTableEvery().
void ns3::Ipv4RoutingHelper::PrintRoutingTableAllAt | ( | Time | printTime, |
Ptr< OutputStreamWrapper > | stream | ||
) | const |
prints the routing tables of all nodes at a particular time.
printTime | the time at which the routing table is supposed to be printed. |
stream | The output stream object to use |
This method calls the PrintRoutingTable() method of the Ipv4RoutingProtocol stored in the Ipv4 object, for all nodes at the specified time; the output format is routing protocol-specific.
Definition at line 35 of file ipv4-routing-helper.cc.
References ns3::NodeList::GetNNodes(), ns3::NodeList::GetNode(), Print(), and ns3::Simulator::Schedule().
Referenced by AodvExample::InstallInternetStack(), DsdvManetExample::InstallInternetStack(), and main().
void ns3::Ipv4RoutingHelper::PrintRoutingTableAllEvery | ( | Time | printInterval, |
Ptr< OutputStreamWrapper > | stream | ||
) | const |
prints the routing tables of all nodes at regular intervals specified by user.
printInterval | the time interval for which the routing table is supposed to be printed. |
stream | The output stream object to use |
This method calls the PrintRoutingTable() method of the Ipv4RoutingProtocol stored in the Ipv4 object, for all nodes at the specified time interval; the output format is routing protocol-specific.
Definition at line 45 of file ipv4-routing-helper.cc.
References ns3::NodeList::GetNNodes(), ns3::NodeList::GetNode(), PrintEvery(), and ns3::Simulator::Schedule().
Referenced by main().
void ns3::Ipv4RoutingHelper::PrintRoutingTableAt | ( | Time | printTime, |
Ptr< Node > | node, | ||
Ptr< OutputStreamWrapper > | stream | ||
) | const |
prints the routing tables of a node at a particular time.
printTime | the time at which the routing table is supposed to be printed. |
node | The node ptr for which we need the routing table to be printed |
stream | The output stream object to use |
This method calls the PrintRoutingTable() method of the Ipv4RoutingProtocol stored in the Ipv4 object, for the selected node at the specified time; the output format is routing protocol-specific.
Definition at line 55 of file ipv4-routing-helper.cc.
References Print(), and ns3::Simulator::Schedule().
void ns3::Ipv4RoutingHelper::PrintRoutingTableEvery | ( | Time | printInterval, |
Ptr< Node > | node, | ||
Ptr< OutputStreamWrapper > | stream | ||
) | const |
prints the routing tables of a node at regular intervals specified by user.
printInterval | the time interval for which the routing table is supposed to be printed. |
node | The node ptr for which we need the routing table to be printed |
stream | The output stream object to use |
This method calls the PrintRoutingTable() method of the Ipv4RoutingProtocol stored in the Ipv4 object, for the selected node at the specified interval; the output format is routing protocol-specific.
Definition at line 61 of file ipv4-routing-helper.cc.
References PrintEvery(), and ns3::Simulator::Schedule().