A factory to create ns3::Ipv6RoutingProtocol objects. More...
#include <ipv6-routing-helper.h>
 Inheritance diagram for ns3::Ipv6RoutingHelper:Public Member Functions | |
| virtual | ~Ipv6RoutingHelper () | 
| Destroy an Ipv6 Ipv6RoutingHelper.  More... | |
| virtual Ipv6RoutingHelper * | Copy (void) const =0 | 
| virtual constructor  More... | |
| virtual Ptr< Ipv6RoutingProtocol > | 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< Ipv6RoutingProtocol > protocol) | 
| Request a specified routing protocol <T> from Ipv6RoutingProtocol 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::Ipv6RoutingProtocol objects.
For each new routing protocol created as a subclass of ns3::Ipv6RoutingProtocol, you need to create a subclass of ns3::Ipv6RoutingHelper which can be used by ns3::InternetStackHelper::SetRoutingHelper and ns3::InternetStackHelper::Install.
Definition at line 43 of file ipv6-routing-helper.h.
      
  | 
  virtual | 
      
  | 
  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::Ipv6ListRoutingHelper, and ns3::Ipv6StaticRoutingHelper.
Referenced by ns3::Ipv6ListRoutingHelper::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::Ipv6ListRoutingHelper, and ns3::Ipv6StaticRoutingHelper.
Referenced by ns3::InternetStackHelper::Install().
 Here is the caller graph for this function:
      
  | 
  static | 
Request a specified routing protocol <T> from Ipv6RoutingProtocol protocol.
If protocol is Ipv6ListRouting, then protocol will be searched in the list, otherwise a simple DynamicCast will be performed
| protocol | Smart pointer to Ipv6RoutingProtocol object | 
Definition at line 165 of file ipv6-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 ipv6-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 ipv6-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::Ipv6RoutingHelper::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 Ipv6RoutingProtocol stored in the Ipv6 object, for all nodes at the specified time; the output format is routing protocol-specific.
Definition at line 35 of file ipv6-routing-helper.cc.
References ns3::NodeList::GetNNodes(), ns3::NodeList::GetNode(), Print(), and ns3::Simulator::Schedule().
 Here is the call graph for this function:| void ns3::Ipv6RoutingHelper::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 Ipv6RoutingProtocol stored in the Ipv6 object, for all nodes at the specified time interval; the output format is routing protocol-specific.
Definition at line 45 of file ipv6-routing-helper.cc.
References ns3::NodeList::GetNNodes(), ns3::NodeList::GetNode(), PrintEvery(), and ns3::Simulator::Schedule().
 Here is the call graph for this function:| void ns3::Ipv6RoutingHelper::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 Ipv6RoutingProtocol stored in the Ipv6 object, for the selected node at the specified time; the output format is routing protocol-specific.
Definition at line 55 of file ipv6-routing-helper.cc.
References Print(), 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::Ipv6RoutingHelper::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 Ipv6RoutingProtocol stored in the Ipv6 object, for the selected node at the specified interval; the output format is routing protocol-specific.
Definition at line 61 of file ipv6-routing-helper.cc.
References PrintEvery(), and ns3::Simulator::Schedule().
 Here is the call graph for this function: