Helper class that adds Nix-vector routing to nodes. More...
#include "nix-vector-helper.h"
Inheritance diagram for ns3::NixVectorHelper< T >:
Collaboration diagram for ns3::NixVectorHelper< T >:Public Member Functions | |
| NixVectorHelper () | |
| Construct an NixVectorHelper to make life easier while adding Nix-vector routing to nodes. | |
| NixVectorHelper (const NixVectorHelper< T > &o) | |
| Construct an NixVectorHelper from another previously initialized instance (Copy Constructor). | |
| NixVectorHelper< T > * | Copy () const override |
| Ptr< IpRoutingProtocol > | Create (Ptr< Node > node) const override |
| NixVectorHelper & | operator= (const NixVectorHelper &)=delete |
| void | PrintRoutingPathAt (Time printTime, Ptr< Node > source, IpAddress dest, Ptr< OutputStreamWrapper > stream, Time::Unit unit=Time::S) |
| prints the routing path for a source and destination at a particular time. | |
Private Types | |
| using | Ip = typename std::conditional_t<IsIpv4, Ipv4, Ipv6> |
| Alias for Ipv4 and Ipv6 classes. | |
| using | IpAddress = typename std::conditional_t<IsIpv4, Ipv4Address, Ipv6Address> |
| Alias for Ipv4Address and Ipv6Address classes. | |
| using | IpRoutingProtocol |
| Alias for Ipv4RoutingProtocol and Ipv6RoutingProtocol classes. | |
Static Private Member Functions | |
| static void | PrintRoute (Ptr< Node > source, IpAddress dest, Ptr< OutputStreamWrapper > stream, Time::Unit unit=Time::S) |
| prints the routing path for the source and destination. | |
Private Attributes | |
| ObjectFactory | m_agentFactory |
| Object factory. | |
Static Private Attributes | |
| static constexpr bool | IsIpv4 = std::is_same_v<Ipv4RoutingHelper, T> |
| Alias for determining whether the parent is Ipv4RoutingHelper or Ipv6RoutingHelper. | |
Helper class that adds Nix-vector routing to nodes.
This class is expected to be used in conjunction with ns3::InternetStackHelper::SetRoutingHelper
Definition at line 39 of file nix-vector-helper.h.
|
private |
Alias for Ipv4 and Ipv6 classes.
Definition at line 46 of file nix-vector-helper.h.
|
private |
Alias for Ipv4Address and Ipv6Address classes.
Definition at line 48 of file nix-vector-helper.h.
|
private |
Alias for Ipv4RoutingProtocol and Ipv6RoutingProtocol classes.
Definition at line 50 of file nix-vector-helper.h.
| ns3::NixVectorHelper< T >::NixVectorHelper | ( | ) |
Construct an NixVectorHelper to make life easier while adding Nix-vector routing to nodes.
Definition at line 23 of file nix-vector-helper.cc.
References IsIpv4, and m_agentFactory.
Referenced by NixVectorHelper(), and Copy().
Here is the caller graph for this function:| ns3::NixVectorHelper< T >::NixVectorHelper | ( | const NixVectorHelper< T > & | o | ) |
Construct an NixVectorHelper from another previously initialized instance (Copy Constructor).
| o | object to copy |
Definition at line 39 of file nix-vector-helper.cc.
References NixVectorHelper(), and m_agentFactory.
Here is the call graph for this function:
|
override |
This method is mainly for internal use by the other helpers; clients are expected to free the dynamic memory allocated by this method
Definition at line 49 of file nix-vector-helper.cc.
References NixVectorHelper().
Here is the call graph for this function:
|
override |
| node | the node on which the routing protocol will run |
This method will be called by ns3::InternetStackHelper::Install
Definition at line 56 of file nix-vector-helper.cc.
|
delete |
|
staticprivate |
prints the routing path for the source and destination.
If the routing path does not exist, it prints that the path does not exist between the nodes in the ostream.
| source | the source node pointer to start traversing |
| dest | the IP destination address |
| stream | the output stream object to use |
| unit | the time unit to be used in the report |
This method calls the PrintRoutingPath() method of the NixVectorRouting for the source and destination to provide the routing path.
Definition at line 78 of file nix-vector-helper.cc.
Referenced by PrintRoutingPathAt().
Here is the caller graph for this function:| void ns3::NixVectorHelper< T >::PrintRoutingPathAt | ( | Time | printTime, |
| Ptr< Node > | source, | ||
| IpAddress | dest, | ||
| Ptr< OutputStreamWrapper > | stream, | ||
| Time::Unit | unit = Time::S ) |
prints the routing path for a source and destination at a particular time.
If the routing path does not exist, it prints that the path does not exist between the nodes in the ostream.
| printTime | the time at which the routing path is supposed to be printed. |
| source | the source node pointer to start traversing |
| dest | the IP destination address |
| stream | the output stream object to use |
| unit | the time unit to be used in the report |
This method calls the PrintRoutingPath() method of the NixVectorRouting for the source and destination to provide the routing path at the specified time.
Definition at line 67 of file nix-vector-helper.cc.
References PrintRoute(), and ns3::Simulator::Schedule().
Referenced by NixVectorRoutingTest::DoRun().
Here is the call graph for this function:
Here is the caller graph for this function:
|
staticconstexprprivate |
Alias for determining whether the parent is Ipv4RoutingHelper or Ipv6RoutingHelper.
Definition at line 44 of file nix-vector-helper.h.
Referenced by NixVectorHelper().
|
private |
Object factory.
Definition at line 108 of file nix-vector-helper.h.
Referenced by NixVectorHelper(), and NixVectorHelper().