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
sixlowpan-nd-prefix.h
Go to the documentation of this file.
1
/*
2
* Copyright (c) 2015 Università di Firenze, Italy
3
*
4
* SPDX-License-Identifier: GPL-2.0-only
5
*
6
*
7
*
8
* Author: Alessio Bonadio <alessio.bonadio@gmail.com>
9
* Tommaso Pecorella <tommaso.pecorella@unifi.it>
10
* Adnan Rashid <adnanrashidpk@gmail.com>
11
*/
12
13
#ifndef SIXLOW_ND_PREFIX_H
14
#define SIXLOW_ND_PREFIX_H
15
16
#include "ns3/ipv6-address.h"
17
#include "ns3/nstime.h"
18
#include "ns3/output-stream-wrapper.h"
19
#include "ns3/simple-ref-count.h"
20
21
#include <stdint.h>
22
23
namespace
ns3
24
{
25
26
/**
27
* @ingroup sixlowpan
28
* @brief Router prefix container for 6LoWPAN ND.
29
*/
30
class
SixLowPanNdPrefix
:
public
SimpleRefCount
<SixLowPanNdPrefix>
31
{
32
public
:
33
/**
34
* @brief Constructor.
35
*/
36
SixLowPanNdPrefix
();
37
38
/**
39
* @brief Constructor.
40
* @param prefix network prefix advertised
41
* @param prefixLen prefix length ( 0 < x <= 128)
42
* @param prefTime preferred life time (default 7 days)
43
* @param validTime valid life time (default 30 days)
44
*/
45
SixLowPanNdPrefix
(
Ipv6Address
prefix, uint8_t prefixLen,
Time
prefTime,
Time
validTime);
46
47
/**
48
* @brief Destructor.
49
*/
50
~SixLowPanNdPrefix
();
51
52
/**
53
* @brief Get network prefix.
54
* @return network prefix
55
*/
56
Ipv6Address
GetPrefix
()
const
;
57
58
/**
59
* @brief Set network prefix.
60
* @param prefix network prefix
61
*/
62
void
SetPrefix
(
Ipv6Address
prefix);
63
64
/**
65
* @brief Get prefix length.
66
* @return prefix length
67
*/
68
uint8_t
GetPrefixLength
()
const
;
69
70
/**
71
* @brief Set prefix length.
72
* @param prefixLen prefix length
73
*/
74
void
SetPrefixLength
(uint8_t prefixLen);
75
76
/**
77
* @brief Get preferred lifetime.
78
* @return lifetime
79
*/
80
Time
GetPreferredLifeTime
()
const
;
81
82
/**
83
* @brief Set preferred lifetime.
84
* @param prefTime lifetime
85
*/
86
void
SetPreferredLifeTime
(
Time
prefTime);
87
88
/**
89
* @brief Get valid lifetime.
90
* @return lifetime
91
*/
92
Time
GetValidLifeTime
()
const
;
93
94
/**
95
* @brief Set valid lifetime.
96
* @param validTime lifetime
97
*/
98
void
SetValidLifeTime
(
Time
validTime);
99
100
/**
101
* @brief Print the prefix
102
* @param stream the ostream the prefix is printed to
103
*/
104
void
PrintPrefix
(
Ptr<OutputStreamWrapper>
stream);
105
106
private
:
107
/**
108
* @brief Network prefix.
109
*/
110
Ipv6Address
m_prefix
;
111
112
/**
113
* @brief Prefix length.
114
*/
115
uint8_t
m_prefixLength
;
116
117
/**
118
* @brief Preferred time.
119
*/
120
Time
m_preferredLifeTime
;
121
122
/**
123
* @brief Valid time.
124
*/
125
Time
m_validLifeTime
;
126
};
127
128
}
/* namespace ns3 */
129
130
#endif
/* SIXLOW_ND_PREFIX_H */
ns3::Ipv6Address
Describes an IPv6 address.
Definition
ipv6-address.h:42
ns3::Ptr
Smart pointer class similar to boost::intrusive_ptr.
Definition
ptr.h:70
ns3::SimpleRefCount< SixLowPanNdPrefix >::SimpleRefCount
SimpleRefCount()
Definition
simple-ref-count.h:79
ns3::SixLowPanNdPrefix::SixLowPanNdPrefix
SixLowPanNdPrefix()
Constructor.
Definition
sixlowpan-nd-prefix.cc:23
ns3::SixLowPanNdPrefix::GetPrefix
Ipv6Address GetPrefix() const
Get network prefix.
Definition
sixlowpan-nd-prefix.cc:46
ns3::SixLowPanNdPrefix::SetValidLifeTime
void SetValidLifeTime(Time validTime)
Set valid lifetime.
Definition
sixlowpan-nd-prefix.cc:82
ns3::SixLowPanNdPrefix::SetPrefix
void SetPrefix(Ipv6Address prefix)
Set network prefix.
Definition
sixlowpan-nd-prefix.cc:53
ns3::SixLowPanNdPrefix::SetPrefixLength
void SetPrefixLength(uint8_t prefixLen)
Set prefix length.
Definition
sixlowpan-nd-prefix.cc:67
ns3::SixLowPanNdPrefix::~SixLowPanNdPrefix
~SixLowPanNdPrefix()
Destructor.
Definition
sixlowpan-nd-prefix.cc:40
ns3::SixLowPanNdPrefix::m_validLifeTime
Time m_validLifeTime
Valid time.
Definition
sixlowpan-nd-prefix.h:125
ns3::SixLowPanNdPrefix::m_preferredLifeTime
Time m_preferredLifeTime
Preferred time.
Definition
sixlowpan-nd-prefix.h:120
ns3::SixLowPanNdPrefix::m_prefixLength
uint8_t m_prefixLength
Prefix length.
Definition
sixlowpan-nd-prefix.h:115
ns3::SixLowPanNdPrefix::SetPreferredLifeTime
void SetPreferredLifeTime(Time prefTime)
Set preferred lifetime.
Definition
sixlowpan-nd-prefix.cc:96
ns3::SixLowPanNdPrefix::m_prefix
Ipv6Address m_prefix
Network prefix.
Definition
sixlowpan-nd-prefix.h:110
ns3::SixLowPanNdPrefix::GetValidLifeTime
Time GetValidLifeTime() const
Get valid lifetime.
Definition
sixlowpan-nd-prefix.cc:74
ns3::SixLowPanNdPrefix::GetPreferredLifeTime
Time GetPreferredLifeTime() const
Get preferred lifetime.
Definition
sixlowpan-nd-prefix.cc:89
ns3::SixLowPanNdPrefix::GetPrefixLength
uint8_t GetPrefixLength() const
Get prefix length.
Definition
sixlowpan-nd-prefix.cc:60
ns3::SixLowPanNdPrefix::PrintPrefix
void PrintPrefix(Ptr< OutputStreamWrapper > stream)
Print the prefix.
Definition
sixlowpan-nd-prefix.cc:103
ns3::Time
Simulation virtual time values and global simulation resolution.
Definition
nstime.h:95
ns3
Every class exported by the ns3 library is enclosed in the ns3 namespace.
src
sixlowpan
model
sixlowpan-nd-prefix.h
Generated on
for ns-3 by
1.15.0