A Discrete-Event Network Simulator
Home
Tutorials ▼
English
Portuguese
Docs ▼
Wiki
Manual
Models
Develop ▼
API
Bugs
API
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
peer-link-frame.h
Go to the documentation of this file.
1
/* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
2
/*
3
* Copyright (c) 2009 IITP RAS
4
*
5
* This program is free software; you can redistribute it and/or modify
6
* it under the terms of the GNU General Public License version 2 as
7
* published by the Free Software Foundation;
8
*
9
* This program is distributed in the hope that it will be useful,
10
* but WITHOUT ANY WARRANTY; without even the implied warranty of
11
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12
* GNU General Public License for more details.
13
*
14
* You should have received a copy of the GNU General Public License
15
* along with this program; if not, write to the Free Software
16
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
17
*
18
* Authors: Kirill Andreev <andreev@iitp.ru>
19
*/
20
21
#ifndef PEER_LINK_FRAME_START_H
22
#define PEER_LINK_FRAME_START_H
23
#include "ns3/header.h"
24
#include "ns3/supported-rates.h"
25
#include "
dot11s-mac-header.h
"
26
#include "
ie-dot11s-configuration.h
"
27
#include "
ie-dot11s-peering-protocol.h
"
28
#include "
ie-dot11s-id.h
"
29
namespace
ns3
30
{
31
namespace
dot11s
32
{
44
class
PeerLinkOpenStart
:
public
Header
45
{
46
public
:
47
PeerLinkOpenStart
();
49
struct
PlinkOpenStartFields
50
{
51
IePeeringProtocol
protocol
;
//Peering protocol version - 3 octets
52
uint16_t
capability
;
//open and confirm
53
SupportedRates
rates
;
//open and confirm
54
IeMeshId
meshId
;
//open and close
55
IeConfiguration
config
;
//open and confirm
56
};
57
void
SetPlinkOpenStart
(
PlinkOpenStartFields
);
58
PlinkOpenStartFields
GetFields
()
const
;
59
60
// Inherited from header:
61
static
TypeId
GetTypeId
();
62
virtual
TypeId
GetInstanceTypeId
()
const
;
63
virtual
void
Print
(std::ostream &os)
const
;
64
virtual
uint32_t
GetSerializedSize
()
const
;
65
virtual
void
Serialize
(
Buffer::Iterator
start
)
const
;
66
virtual
uint32_t
Deserialize
(
Buffer::Iterator
start
);
67
68
private
:
69
uint16_t
m_capability
;
70
SupportedRates
m_rates
;
71
IeMeshId
m_meshId
;
72
IeConfiguration
m_config
;
73
74
friend
bool
operator==
(
const
PeerLinkOpenStart
& a,
const
PeerLinkOpenStart
& b);
75
76
PeerLinkOpenStart
&
operator=
(
const
PeerLinkOpenStart
&);
77
PeerLinkOpenStart
(
const
PeerLinkOpenStart
&);
78
79
};
80
81
bool
operator==
(
const
PeerLinkOpenStart
& a,
const
PeerLinkOpenStart
& b);
82
91
class
PeerLinkCloseStart
:
public
Header
92
{
93
public
:
94
PeerLinkCloseStart
();
96
struct
PlinkCloseStartFields
97
{
98
IePeeringProtocol
protocol
;
//Peering protocol version - 3 octets
99
IeMeshId
meshId
;
//open and close
100
};
101
void
SetPlinkCloseStart
(
PlinkCloseStartFields
);
102
PlinkCloseStartFields
GetFields
()
const
;
103
104
// Inherited from header:
105
static
TypeId
GetTypeId
();
106
virtual
TypeId
GetInstanceTypeId
()
const
;
107
virtual
void
Print
(std::ostream &os)
const
;
108
virtual
uint32_t
GetSerializedSize
()
const
;
109
virtual
void
Serialize
(
Buffer::Iterator
start
)
const
;
110
virtual
uint32_t
Deserialize
(
Buffer::Iterator
start
);
111
112
private
:
113
IeMeshId
m_meshId
;
114
115
friend
bool
operator==
(
const
PeerLinkCloseStart
& a,
const
PeerLinkCloseStart
& b);
116
117
PeerLinkCloseStart
&
operator=
(
const
PeerLinkCloseStart
&);
118
PeerLinkCloseStart
(
const
PeerLinkCloseStart
&);
119
120
};
121
bool
operator==
(
const
PeerLinkCloseStart
& a,
const
PeerLinkCloseStart
& b);
122
133
class
PeerLinkConfirmStart
:
public
Header
134
{
135
public
:
136
PeerLinkConfirmStart
();
138
struct
PlinkConfirmStartFields
139
{
140
IePeeringProtocol
protocol
;
//Peering protocol version - 3 octets
141
uint16_t
capability
;
//open and confirm
142
uint16_t
aid
;
//confirm only
143
SupportedRates
rates
;
//open and confirm
144
IeConfiguration
config
;
//open and confirm
145
};
146
void
SetPlinkConfirmStart
(
PlinkConfirmStartFields
);
147
PlinkConfirmStartFields
GetFields
()
const
;
148
149
// Inherited from header:
150
static
TypeId
GetTypeId
();
151
virtual
TypeId
GetInstanceTypeId
()
const
;
152
virtual
void
Print
(std::ostream &os)
const
;
153
virtual
uint32_t
GetSerializedSize
()
const
;
154
virtual
void
Serialize
(
Buffer::Iterator
start
)
const
;
155
virtual
uint32_t
Deserialize
(
Buffer::Iterator
start
);
156
157
private
:
158
uint16_t
m_capability
;
159
uint16_t
m_aid
;
160
SupportedRates
m_rates
;
161
IeConfiguration
m_config
;
162
163
friend
bool
operator==
(
const
PeerLinkConfirmStart
& a,
const
PeerLinkConfirmStart
& b);
164
165
PeerLinkConfirmStart
&
operator=
(
const
PeerLinkConfirmStart
&);
166
PeerLinkConfirmStart
(
const
PeerLinkConfirmStart
&);
167
168
};
169
bool
operator==
(
const
PeerLinkConfirmStart
& a,
const
PeerLinkConfirmStart
& b);
170
}
// namespace dot11s
171
}
// namespace ns3
172
#endif
ns3::Header
Protocol header serialization and deserialization.
Definition:
header.h:42
ie-dot11s-id.h
ns3::dot11s::PeerLinkCloseStart::GetFields
PlinkCloseStartFields GetFields() const
Definition:
peer-link-frame.cc:148
ns3::dot11s::PeerLinkConfirmStart::m_rates
SupportedRates m_rates
Definition:
peer-link-frame.h:160
ns3::dot11s::PeerLinkCloseStart::Print
virtual void Print(std::ostream &os) const
Definition:
peer-link-frame.cc:172
ns3::dot11s::PeerLinkOpenStart::Serialize
virtual void Serialize(Buffer::Iterator start) const
Definition:
peer-link-frame.cc:92
ie-dot11s-peering-protocol.h
ns3::dot11s::PeerLinkConfirmStart::PlinkConfirmStartFields::protocol
IePeeringProtocol protocol
Definition:
peer-link-frame.h:140
ns3::dot11s::PeerLinkConfirmStart::m_config
IeConfiguration m_config
Definition:
peer-link-frame.h:161
visualizer.core.start
def start()
Definition:
core.py:1482
ns3::dot11s::PeerLinkOpenStart
802.11s Peer link open management frame
Definition:
peer-link-frame.h:44
ns3::dot11s::PeerLinkConfirmStart::GetInstanceTypeId
virtual TypeId GetInstanceTypeId() const
Get the most derived TypeId for this Object.
Definition:
peer-link-frame.cc:247
ns3::dot11s::PeerLinkCloseStart::operator==
friend bool operator==(const PeerLinkCloseStart &a, const PeerLinkCloseStart &b)
Definition:
peer-link-frame.cc:205
ns3::dot11s::PeerLinkConfirmStart::PlinkConfirmStartFields::capability
uint16_t capability
Definition:
peer-link-frame.h:141
ns3::dot11s::PeerLinkOpenStart::GetTypeId
static TypeId GetTypeId()
Definition:
peer-link-frame.cc:57
ns3::dot11s::PeerLinkOpenStart::operator==
friend bool operator==(const PeerLinkOpenStart &a, const PeerLinkOpenStart &b)
Definition:
peer-link-frame.cc:130
ns3::dot11s::PeerLinkCloseStart
802.11s Peer link close management frame
Definition:
peer-link-frame.h:91
ns3::dot11s::PeerLinkOpenStart::SetPlinkOpenStart
void SetPlinkOpenStart(PlinkOpenStartFields)
Definition:
peer-link-frame.cc:37
ns3::dot11s::IeMeshId
a IEEE 802.11s Mesh ID 7.3.287 of 802.11s draft 3.0
Definition:
ie-dot11s-id.h:34
ns3::SupportedRates
The Supported Rates Information ElementThis class knows how to serialise and deserialise the Supporte...
Definition:
supported-rates.h:104
ns3::dot11s::PeerLinkConfirmStart::GetTypeId
static TypeId GetTypeId()
Definition:
peer-link-frame.cc:237
ns3::dot11s::operator==
bool operator==(const MeshHeader &a, const MeshHeader &b)
Definition:
dot11s-mac-header.cc:172
ns3::dot11s::PeerLinkCloseStart::Serialize
virtual void Serialize(Buffer::Iterator start) const
Definition:
peer-link-frame.cc:184
ie-dot11s-configuration.h
ns3::Buffer::Iterator
iterator in a Buffer instance
Definition:
buffer.h:98
ns3::dot11s::PeerLinkConfirmStart::PlinkConfirmStartFields::aid
uint16_t aid
Definition:
peer-link-frame.h:142
ns3::dot11s::PeerLinkOpenStart::GetFields
PlinkOpenStartFields GetFields() const
Definition:
peer-link-frame.cc:45
ns3::dot11s::PeerLinkCloseStart::PlinkCloseStartFields::protocol
IePeeringProtocol protocol
Definition:
peer-link-frame.h:98
ns3::dot11s::PeerLinkCloseStart::PlinkCloseStartFields
fields:
Definition:
peer-link-frame.h:96
ns3::dot11s::PeerLinkConfirmStart::Deserialize
virtual uint32_t Deserialize(Buffer::Iterator start)
Definition:
peer-link-frame.cc:281
ns3::dot11s::PeerLinkConfirmStart::GetFields
PlinkConfirmStartFields GetFields() const
Definition:
peer-link-frame.cc:225
ns3::dot11s::PeerLinkOpenStart::PlinkOpenStartFields::meshId
IeMeshId meshId
Definition:
peer-link-frame.h:54
ns3::dot11s::PeerLinkCloseStart::m_meshId
IeMeshId m_meshId
Definition:
peer-link-frame.h:113
ns3::dot11s::PeerLinkConfirmStart::PlinkConfirmStartFields::rates
SupportedRates rates
Definition:
peer-link-frame.h:143
ns3::dot11s::PeerLinkConfirmStart::PeerLinkConfirmStart
PeerLinkConfirmStart()
Definition:
peer-link-frame.cc:211
ns3::dot11s::PeerLinkConfirmStart::SetPlinkConfirmStart
void SetPlinkConfirmStart(PlinkConfirmStartFields)
Definition:
peer-link-frame.cc:217
ns3::dot11s::PeerLinkOpenStart::PlinkOpenStartFields
fields:
Definition:
peer-link-frame.h:49
ns3::dot11s::PeerLinkOpenStart::m_rates
SupportedRates m_rates
Definition:
peer-link-frame.h:70
ns3::dot11s::PeerLinkCloseStart::PlinkCloseStartFields::meshId
IeMeshId meshId
Definition:
peer-link-frame.h:99
ns3::dot11s::PeerLinkCloseStart::SetPlinkCloseStart
void SetPlinkCloseStart(PlinkCloseStartFields)
Definition:
peer-link-frame.cc:143
ns3::dot11s::PeerLinkConfirmStart::Print
virtual void Print(std::ostream &os) const
Definition:
peer-link-frame.cc:252
ns3
Every class exported by the ns3 library is enclosed in the ns3 namespace.
ns3::dot11s::PeerLinkConfirmStart::Serialize
virtual void Serialize(Buffer::Iterator start) const
Definition:
peer-link-frame.cc:270
ns3::dot11s::PeerLinkOpenStart::Print
virtual void Print(std::ostream &os) const
Definition:
peer-link-frame.cc:72
ns3::dot11s::PeerLinkOpenStart::PeerLinkOpenStart
PeerLinkOpenStart()
Definition:
peer-link-frame.cc:31
ns3::dot11s::PeerLinkOpenStart::PlinkOpenStartFields::capability
uint16_t capability
Definition:
peer-link-frame.h:52
ns3::dot11s::PeerLinkOpenStart::m_capability
uint16_t m_capability
Definition:
peer-link-frame.h:69
ns3::dot11s::PeerLinkCloseStart::GetSerializedSize
virtual uint32_t GetSerializedSize() const
Definition:
peer-link-frame.cc:177
ns3::dot11s::PeerLinkCloseStart::PeerLinkCloseStart
PeerLinkCloseStart()
Definition:
peer-link-frame.cc:138
ns3::dot11s::PeerLinkOpenStart::GetInstanceTypeId
virtual TypeId GetInstanceTypeId() const
Get the most derived TypeId for this Object.
Definition:
peer-link-frame.cc:67
ns3::dot11s::PeerLinkConfirmStart::GetSerializedSize
virtual uint32_t GetSerializedSize() const
Definition:
peer-link-frame.cc:259
ns3::dot11s::PeerLinkCloseStart::GetInstanceTypeId
virtual TypeId GetInstanceTypeId() const
Get the most derived TypeId for this Object.
Definition:
peer-link-frame.cc:167
ns3::dot11s::PeerLinkConfirmStart
802.11s Peer link confirm management frame
Definition:
peer-link-frame.h:133
ns3::dot11s::PeerLinkOpenStart::m_config
IeConfiguration m_config
Definition:
peer-link-frame.h:72
ns3::dot11s::PeerLinkConfirmStart::PlinkConfirmStartFields
fields:
Definition:
peer-link-frame.h:138
ns3::dot11s::PeerLinkOpenStart::GetSerializedSize
virtual uint32_t GetSerializedSize() const
Definition:
peer-link-frame.cc:81
ns3::dot11s::PeerLinkOpenStart::Deserialize
virtual uint32_t Deserialize(Buffer::Iterator start)
Definition:
peer-link-frame.cc:103
ns3::dot11s::PeerLinkOpenStart::PlinkOpenStartFields::protocol
IePeeringProtocol protocol
Definition:
peer-link-frame.h:51
ns3::dot11s::IeConfiguration
Describes Mesh Configuration Element see 7.3.2.86 of 802.11s draft 3.0.
Definition:
ie-dot11s-configuration.h:94
ns3::dot11s::PeerLinkCloseStart::Deserialize
virtual uint32_t Deserialize(Buffer::Iterator start)
Definition:
peer-link-frame.cc:190
ns3::dot11s::PeerLinkOpenStart::PlinkOpenStartFields::config
IeConfiguration config
Definition:
peer-link-frame.h:55
ns3::dot11s::PeerLinkOpenStart::m_meshId
IeMeshId m_meshId
Definition:
peer-link-frame.h:71
ns3::dot11s::PeerLinkOpenStart::PlinkOpenStartFields::rates
SupportedRates rates
Definition:
peer-link-frame.h:53
ns3::dot11s::PeerLinkConfirmStart::m_capability
uint16_t m_capability
Definition:
peer-link-frame.h:158
ns3::dot11s::PeerLinkCloseStart::GetTypeId
static TypeId GetTypeId()
Definition:
peer-link-frame.cc:157
ns3::dot11s::PeerLinkOpenStart::operator=
PeerLinkOpenStart & operator=(const PeerLinkOpenStart &)
ns3::TypeId
a unique identifier for an interface.
Definition:
type-id.h:58
ns3::dot11s::PeerLinkCloseStart::operator=
PeerLinkCloseStart & operator=(const PeerLinkCloseStart &)
ns3::dot11s::PeerLinkConfirmStart::PlinkConfirmStartFields::config
IeConfiguration config
Definition:
peer-link-frame.h:144
ns3::dot11s::PeerLinkConfirmStart::operator=
PeerLinkConfirmStart & operator=(const PeerLinkConfirmStart &)
ns3::dot11s::PeerLinkConfirmStart::operator==
friend bool operator==(const PeerLinkConfirmStart &a, const PeerLinkConfirmStart &b)
Definition:
peer-link-frame.cc:300
ns3::dot11s::IePeeringProtocol
Definition:
ie-dot11s-peering-protocol.h:30
ns3::dot11s::PeerLinkConfirmStart::m_aid
uint16_t m_aid
Definition:
peer-link-frame.h:159
dot11s-mac-header.h
src
mesh
model
dot11s
peer-link-frame.h
Generated on Wed Sep 30 2015 15:55:43 for ns-3 by
1.8.9.1