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
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Groups
Pages
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
class
MeshWifiInterfaceMac;
32
namespace
dot11s
33
{
45
class
PeerLinkFrameStart
:
public
Header
46
{
47
public
:
48
PeerLinkFrameStart
();
50
struct
PlinkFrameStartFields
51
{
52
uint8_t
subtype
;
53
IePeeringProtocol
protocol
;
//Peering protocol version - in all subtypes - 3 octets
54
uint16_t
capability
;
//open and confirm
55
uint16_t
aid
;
//confirm only
56
SupportedRates
rates
;
//open and confirm
57
IeMeshId
meshId
;
//open and close
58
IeConfiguration
config
;
//open and confirm
59
uint16_t
reasonCode
;
//close only
60
};
62
//action header knows about subtype
63
void
SetPlinkFrameSubtype
(uint8_t subtype);
64
void
SetPlinkFrameStart
(
PlinkFrameStartFields
);
65
PlinkFrameStartFields
GetFields
()
const
;
69
static
TypeId
GetTypeId
();
70
virtual
TypeId
GetInstanceTypeId
()
const
;
71
virtual
void
Print
(std::ostream &os)
const
;
72
virtual
uint32_t
GetSerializedSize
()
const
;
73
virtual
void
Serialize
(
Buffer::Iterator
start
)
const
;
74
virtual
uint32_t
Deserialize
(
Buffer::Iterator
start
);
78
private
:
79
uint8_t
m_subtype
;
80
IePeeringProtocol
m_protocol
;
81
uint16_t
m_capability
;
82
uint16_t
m_aid
;
83
SupportedRates
m_rates
;
84
IeMeshId
m_meshId
;
85
IeConfiguration
m_config
;
86
uint16_t
m_reasonCode
;
87
88
friend
bool
operator==
(
const
PeerLinkFrameStart
& a,
const
PeerLinkFrameStart
& b);
89
90
PeerLinkFrameStart
&
operator=
(
const
PeerLinkFrameStart
&);
91
PeerLinkFrameStart
(
const
PeerLinkFrameStart
&);
92
93
};
94
bool
operator==
(
const
PeerLinkFrameStart
& a,
const
PeerLinkFrameStart
& b);
95
}
// namespace dot11s
96
}
// namespace ns3
97
#endif
ns3::Header
Protocol header serialization and deserialization.
Definition:
header.h:42
ie-dot11s-id.h
ns3::dot11s::PeerLinkFrameStart::PlinkFrameStartFields::protocol
IePeeringProtocol protocol
Definition:
peer-link-frame.h:53
ns3::dot11s::PeerLinkFrameStart::PlinkFrameStartFields::subtype
uint8_t subtype
Definition:
peer-link-frame.h:52
ie-dot11s-peering-protocol.h
ns3::dot11s::PeerLinkFrameStart
802.11s Peer link management frame
Definition:
peer-link-frame.h:45
ns3::dot11s::PeerLinkFrameStart::SetPlinkFrameSubtype
void SetPlinkFrameSubtype(uint8_t subtype)
Definition:
peer-link-frame.cc:38
ns3::dot11s::PeerLinkFrameStart::GetInstanceTypeId
virtual TypeId GetInstanceTypeId() const
Definition:
peer-link-frame.cc:94
ns3::dot11s::PeerLinkFrameStart::Serialize
virtual void Serialize(Buffer::Iterator start) const
Definition:
peer-link-frame.cc:141
ns3::dot11s::PeerLinkFrameStart::PlinkFrameStartFields::capability
uint16_t capability
Definition:
peer-link-frame.h:54
ns3::dot11s::PeerLinkFrameStart::m_aid
uint16_t m_aid
Definition:
peer-link-frame.h:82
visualizer.core.start
def start
Definition:
core.py:1482
ns3::dot11s::PeerLinkFrameStart::PlinkFrameStartFields
fields:
Definition:
peer-link-frame.h:50
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:108
ns3::dot11s::PeerLinkFrameStart::Print
virtual void Print(std::ostream &os) const
Definition:
peer-link-frame.cc:99
ns3::dot11s::PeerLinkFrameStart::PlinkFrameStartFields::reasonCode
uint16_t reasonCode
Definition:
peer-link-frame.h:59
ns3::dot11s::operator==
bool operator==(const MeshHeader &a, const MeshHeader &b)
Definition:
dot11s-mac-header.cc:171
ie-dot11s-configuration.h
ns3::Buffer::Iterator
iterator in a Buffer instance
Definition:
buffer.h:98
ns3::dot11s::PeerLinkFrameStart::operator==
friend bool operator==(const PeerLinkFrameStart &a, const PeerLinkFrameStart &b)
Definition:
peer-link-frame.cc:229
ns3::dot11s::PeerLinkFrameStart::PlinkFrameStartFields::config
IeConfiguration config
Definition:
peer-link-frame.h:58
ns3::dot11s::PeerLinkFrameStart::GetFields
PlinkFrameStartFields GetFields() const
Definition:
peer-link-frame.cc:73
ns3::dot11s::PeerLinkFrameStart::PlinkFrameStartFields::aid
uint16_t aid
Definition:
peer-link-frame.h:55
ns3::dot11s::PeerLinkFrameStart::SetPlinkFrameStart
void SetPlinkFrameStart(PlinkFrameStartFields)
Definition:
peer-link-frame.cc:43
ns3::dot11s::PeerLinkFrameStart::PlinkFrameStartFields::meshId
IeMeshId meshId
Definition:
peer-link-frame.h:57
ns3::dot11s::PeerLinkFrameStart::PlinkFrameStartFields::rates
SupportedRates rates
Definition:
peer-link-frame.h:56
ns3::dot11s::PeerLinkFrameStart::m_rates
SupportedRates m_rates
Definition:
peer-link-frame.h:83
ns3::dot11s::PeerLinkFrameStart::m_config
IeConfiguration m_config
Definition:
peer-link-frame.h:85
ns3::dot11s::PeerLinkFrameStart::GetSerializedSize
virtual uint32_t GetSerializedSize() const
Definition:
peer-link-frame.cc:109
ns3::dot11s::IeConfiguration
Describes Mesh Configuration Element see 7.3.2.86 of 802.11s draft 3.0.
Definition:
ie-dot11s-configuration.h:101
ns3::dot11s::PeerLinkFrameStart::m_protocol
IePeeringProtocol m_protocol
Definition:
peer-link-frame.h:80
ns3::dot11s::PeerLinkFrameStart::Deserialize
virtual uint32_t Deserialize(Buffer::Iterator start)
Definition:
peer-link-frame.cc:173
ns3::dot11s::PeerLinkFrameStart::m_meshId
IeMeshId m_meshId
Definition:
peer-link-frame.h:84
ns3::dot11s::PeerLinkFrameStart::m_capability
uint16_t m_capability
Definition:
peer-link-frame.h:81
ns3::dot11s::PeerLinkFrameStart::m_subtype
uint8_t m_subtype
Definition:
peer-link-frame.h:79
ns3::dot11s::PeerLinkFrameStart::operator=
PeerLinkFrameStart & operator=(const PeerLinkFrameStart &)
ns3::TypeId
a unique identifier for an interface.
Definition:
type-id.h:49
ns3::dot11s::PeerLinkFrameStart::m_reasonCode
uint16_t m_reasonCode
Definition:
peer-link-frame.h:86
ns3::dot11s::IePeeringProtocol
Definition:
ie-dot11s-peering-protocol.h:30
ns3::dot11s::PeerLinkFrameStart::PeerLinkFrameStart
PeerLinkFrameStart()
Definition:
peer-link-frame.cc:32
dot11s-mac-header.h
ns3::dot11s::PeerLinkFrameStart::GetTypeId
static TypeId GetTypeId()
Definition:
peer-link-frame.cc:87
src
mesh
model
dot11s
peer-link-frame.h
Generated on Sat Apr 19 2014 14:07:03 for ns-3 by
1.8.6