a factory to create ns3::Ipv4RoutingProtocol objects More...
#include <ipv4-routing-helper.h>
Inheritance diagram for ns3::Ipv4RoutingHelper: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().
Here is the caller graph for this function:
|
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().
Here is the caller graph for this function:
|
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().
Here is the call graph for this function:
Here is the caller graph for this function:
|
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().
Here is the call graph for this function:
Here is the caller graph for this function:| 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().
Here is the call graph for this function:
Here is the caller graph for this function:| 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().
Here is the call graph for this function:
Here is the caller graph for this function:| 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().
Here is the call graph for this function:| 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().
Here is the call graph for this function: