A Discrete-Event Network Simulator
Home
Tutorials ▼
English
Documentation ▼
Installation
Manual
Models
Contributing
Wiki
Development ▼
API Docs
Issue Tracker
Merge Requests
API
Loading...
Searching...
No Matches
ipv6-list-routing-helper.h
Go to the documentation of this file.
1
/*
2
* Copyright (c) 2008 INRIA
3
*
4
* SPDX-License-Identifier: GPL-2.0-only
5
*
6
* Author: Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
7
*/
8
#ifndef IPV6_LIST_ROUTING_HELPER_H
9
#define IPV6_LIST_ROUTING_HELPER_H
10
11
#include "
ipv6-routing-helper.h
"
12
13
#include <list>
14
#include <stdint.h>
15
16
namespace
ns3
17
{
18
19
/**
20
* \ingroup ipv6Helpers
21
*
22
* \brief Helper class that adds ns3::Ipv6ListRouting objects
23
*
24
* This class is expected to be used in conjunction with
25
* ns3::InternetStackHelper::SetRoutingHelper
26
*/
27
class
Ipv6ListRoutingHelper
:
public
Ipv6RoutingHelper
28
{
29
public
:
30
/**
31
* Construct an Ipv6 Ipv6ListRoutingHelper which is used to make life easier
32
* for people wanting to configure routing using Ipv6.
33
*/
34
Ipv6ListRoutingHelper
();
35
36
/**
37
* \brief Destroy an Ipv6 Ipv6ListRoutingHelper.
38
*/
39
~Ipv6ListRoutingHelper
()
override
;
40
41
/**
42
* \brief Construct an Ipv6ListRoutingHelper from another previously
43
* initialized instance (Copy Constructor).
44
* \param o object to be copied
45
*/
46
Ipv6ListRoutingHelper
(
const
Ipv6ListRoutingHelper
& o);
47
48
// Delete assignment operator to avoid misuse
49
Ipv6ListRoutingHelper
&
operator=
(
const
Ipv6ListRoutingHelper
&) =
delete
;
50
51
/**
52
* \returns pointer to clone of this Ipv6ListRoutingHelper
53
*
54
* This method is mainly for internal use by the other helpers;
55
* clients are expected to free the dynamic memory allocated by this method
56
*/
57
Ipv6ListRoutingHelper
*
Copy
()
const override
;
58
59
/**
60
* \param routing a routing helper
61
* \param priority the priority of the associated helper
62
*
63
* Store in the internal list a reference to the input routing helper
64
* and associated priority. These helpers will be used later by
65
* the ns3::Ipv6ListRoutingHelper::Create method to create
66
* an ns3::Ipv6ListRouting object and add in it routing protocols
67
* created with the helpers.
68
*/
69
void
Add
(
const
Ipv6RoutingHelper
& routing, int16_t priority);
70
/**
71
* \param node the node on which the routing protocol will run
72
* \returns a newly-created routing protocol
73
*
74
* This method will be called by ns3::InternetStackHelper::Install
75
*/
76
Ptr<Ipv6RoutingProtocol>
Create
(
Ptr<Node>
node)
const override
;
77
78
private
:
79
/**
80
* \brief Container for pairs of Ipv6RoutingHelper pointer / priority.
81
*/
82
std::list<std::pair<const Ipv6RoutingHelper*, int16_t>>
m_list
;
83
};
84
85
}
// namespace ns3
86
87
#endif
/* IPV6_LIST_ROUTING_HELPER_H */
ns3::Ipv6ListRoutingHelper
Helper class that adds ns3::Ipv6ListRouting objects.
Definition
ipv6-list-routing-helper.h:28
ns3::Ipv6ListRoutingHelper::operator=
Ipv6ListRoutingHelper & operator=(const Ipv6ListRoutingHelper &)=delete
ns3::Ipv6ListRoutingHelper::m_list
std::list< std::pair< const Ipv6RoutingHelper *, int16_t > > m_list
Container for pairs of Ipv6RoutingHelper pointer / priority.
Definition
ipv6-list-routing-helper.h:82
ns3::Ipv6ListRoutingHelper::Copy
Ipv6ListRoutingHelper * Copy() const override
Definition
ipv6-list-routing-helper.cc:38
ns3::Ipv6ListRoutingHelper::Add
void Add(const Ipv6RoutingHelper &routing, int16_t priority)
Definition
ipv6-list-routing-helper.cc:44
ns3::Ipv6ListRoutingHelper::Ipv6ListRoutingHelper
Ipv6ListRoutingHelper()
Construct an Ipv6 Ipv6ListRoutingHelper which is used to make life easier for people wanting to confi...
Definition
ipv6-list-routing-helper.cc:17
ns3::Ipv6ListRoutingHelper::Create
Ptr< Ipv6RoutingProtocol > Create(Ptr< Node > node) const override
Definition
ipv6-list-routing-helper.cc:50
ns3::Ipv6ListRoutingHelper::~Ipv6ListRoutingHelper
~Ipv6ListRoutingHelper() override
Destroy an Ipv6 Ipv6ListRoutingHelper.
Definition
ipv6-list-routing-helper.cc:21
ns3::Ipv6RoutingHelper
A factory to create ns3::Ipv6RoutingProtocol objects.
Definition
ipv6-routing-helper.h:35
ns3::Ptr
Smart pointer class similar to boost::intrusive_ptr.
Definition
mpi-test-fixtures.h:37
ipv6-routing-helper.h
ns3
Every class exported by the ns3 library is enclosed in the ns3 namespace.
src
internet
helper
ipv6-list-routing-helper.h
Generated on Fri Nov 8 2024 13:59:00 for ns-3 by
1.11.0