A Discrete-Event Network Simulator
Home
Tutorials ▼
English
Documentation ▼
Installation
Manual
Models
Contributing
Wiki
Development ▼
API Docs
Issue Tracker
Merge Requests
API
ie-dot11s-id.h
Go to the documentation of this file.
1
/*
2
* Copyright (c) 2008,2009 IITP RAS
3
*
4
* This program is free software; you can redistribute it and/or modify
5
* it under the terms of the GNU General Public License version 2 as
6
* published by the Free Software Foundation;
7
*
8
* This program is distributed in the hope that it will be useful,
9
* but WITHOUT ANY WARRANTY; without even the implied warranty of
10
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11
* GNU General Public License for more details.
12
*
13
* You should have received a copy of the GNU General Public License
14
* along with this program; if not, write to the Free Software
15
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
16
*
17
* Author: Kirill Andreev <andreev@iitp.ru>
18
*/
19
20
#ifndef MESH_ID_H
21
#define MESH_ID_H
22
23
#include "ns3/buffer.h"
24
#include "ns3/mesh-information-element-vector.h"
25
26
#include <stdint.h>
27
28
namespace
ns3
29
{
30
namespace
dot11s
31
{
32
37
class
IeMeshId
:
public
WifiInformationElement
38
{
39
public
:
40
// broadcast meshId
41
IeMeshId
();
47
IeMeshId
(std::string s);
48
54
bool
IsEqual
(
const
IeMeshId
& o)
const
;
59
bool
IsBroadcast
()
const
;
60
// uint32_t GetLength () const;
65
char
*
PeekString
()
const
;
66
67
// Inherited from WifiInformationElement
68
WifiInformationElementId
ElementId
()
const override
;
69
void
SerializeInformationField
(
Buffer::Iterator
i)
const override
;
70
uint16_t
DeserializeInformationField
(
Buffer::Iterator
start
, uint16_t length)
override
;
71
void
Print
(std::ostream& os)
const override
;
72
uint16_t
GetInformationFieldSize
()
const override
;
73
74
private
:
75
uint8_t
m_meshId
[33];
83
friend
bool
operator==
(
const
IeMeshId
& a,
const
IeMeshId
& b);
84
};
85
93
std::ostream&
operator<<
(std::ostream& os,
const
IeMeshId
& meshId);
94
95
}
// namespace dot11s
96
}
// namespace ns3
97
#endif
/* MESH_ID_H */
ns3::Buffer::Iterator
iterator in a Buffer instance
Definition:
buffer.h:100
ns3::WifiInformationElement
Information element, as defined in 802.11-2007 standard.
Definition:
wifi-information-element.h:287
ns3::dot11s::IeMeshId
a IEEE 802.11 Mesh ID element (Section 8.4.2.101 of IEEE 802.11-2012)
Definition:
ie-dot11s-id.h:38
ns3::dot11s::IeMeshId::ElementId
WifiInformationElementId ElementId() const override
Get the wifi information element ID.
Definition:
ie-dot11s-id.cc:57
ns3::dot11s::IeMeshId::GetInformationFieldSize
uint16_t GetInformationFieldSize() const override
Length of serialized information (i.e., the length of the body of the IE, not including the Element I...
Definition:
ie-dot11s-id.cc:86
ns3::dot11s::IeMeshId::IeMeshId
IeMeshId()
Definition:
ie-dot11s-id.cc:29
ns3::dot11s::IeMeshId::IsBroadcast
bool IsBroadcast() const
Return true if broadcast (if first octet of Mesh ID is zero)
Definition:
ie-dot11s-id.cc:74
ns3::dot11s::IeMeshId::Print
void Print(std::ostream &os) const override
Generate human-readable form of IE.
Definition:
ie-dot11s-id.cc:119
ns3::dot11s::IeMeshId::IsEqual
bool IsEqual(const IeMeshId &o) const
Equality test.
Definition:
ie-dot11s-id.cc:63
ns3::dot11s::IeMeshId::operator==
friend bool operator==(const IeMeshId &a, const IeMeshId &b)
equality operator
Definition:
ie-dot11s-id.cc:125
ns3::dot11s::IeMeshId::m_meshId
uint8_t m_meshId[33]
mesh ID
Definition:
ie-dot11s-id.h:75
ns3::dot11s::IeMeshId::SerializeInformationField
void SerializeInformationField(Buffer::Iterator i) const override
Serialize information (i.e., the body of the IE, not including the Element ID and length octets)
Definition:
ie-dot11s-id.cc:98
ns3::dot11s::IeMeshId::DeserializeInformationField
uint16_t DeserializeInformationField(Buffer::Iterator start, uint16_t length) override
Deserialize information (i.e., the body of the IE, not including the Element ID and length octets)
Definition:
ie-dot11s-id.cc:109
ns3::dot11s::IeMeshId::PeekString
char * PeekString() const
Peek the IeMeshId as a string value.
Definition:
ie-dot11s-id.cc:80
ns3::dot11s::operator<<
std::ostream & operator<<(std::ostream &os, const IeBeaconTiming &a)
Definition:
ie-dot11s-beacon-timing.cc:242
ns3
Every class exported by the ns3 library is enclosed in the ns3 namespace.
ns3::WifiInformationElementId
uint8_t WifiInformationElementId
This type is used to represent an Information Element ID.
Definition:
wifi-information-element.h:45
two-ray-to-three-gpp-ch-calibration.start
start
Definition:
two-ray-to-three-gpp-ch-calibration.py:520
src
mesh
model
dot11s
ie-dot11s-id.h
Generated on Sun Mar 3 2024 17:11:04 for ns-3 by
1.9.1