author | Pavel Boyko <boyko@iitp.ru> |
Tue, 16 Jun 2009 17:58:16 +0400 | |
changeset 5074 | 355de6af8ea9 |
parent 3587 | 53e2e87aebd0 |
child 5819 | 514ec98954ab |
permissions | -rw-r--r-- |
1888
dbeef4fcff5a
add ssid to build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
1 |
/* -*- Mode: C++; c-file-style: "gnu"; indent-tabs-mode:nil; -*- */ |
dbeef4fcff5a
add ssid to build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
2 |
/* |
dbeef4fcff5a
add ssid to build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
3 |
* Copyright (c) 2006 INRIA |
dbeef4fcff5a
add ssid to build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
4 |
* |
dbeef4fcff5a
add ssid to build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
5 |
* This program is free software; you can redistribute it and/or modify |
dbeef4fcff5a
add ssid to build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
6 |
* it under the terms of the GNU General Public License version 2 as |
dbeef4fcff5a
add ssid to build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
7 |
* published by the Free Software Foundation; |
dbeef4fcff5a
add ssid to build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
8 |
* |
dbeef4fcff5a
add ssid to build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
9 |
* This program is distributed in the hope that it will be useful, |
dbeef4fcff5a
add ssid to build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
10 |
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
dbeef4fcff5a
add ssid to build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
11 |
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
dbeef4fcff5a
add ssid to build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
12 |
* GNU General Public License for more details. |
dbeef4fcff5a
add ssid to build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
13 |
* |
dbeef4fcff5a
add ssid to build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
14 |
* You should have received a copy of the GNU General Public License |
dbeef4fcff5a
add ssid to build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
15 |
* along with this program; if not, write to the Free Software |
dbeef4fcff5a
add ssid to build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
16 |
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
dbeef4fcff5a
add ssid to build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
17 |
* |
dbeef4fcff5a
add ssid to build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
18 |
* Author: Mathieu Lacage <mathieu.lacage@sophia.inria.fr> |
dbeef4fcff5a
add ssid to build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
19 |
*/ |
dbeef4fcff5a
add ssid to build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
20 |
#include "ssid.h" |
1974
0d6b3bead74a
replace cassert by ns3/assert.h
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1938
diff
changeset
|
21 |
#include "ns3/assert.h" |
1888
dbeef4fcff5a
add ssid to build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
22 |
|
1938
f7e9802ea8e3
add serialization/deserialization support to Ssid/SupportedRates
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1937
diff
changeset
|
23 |
#define ELEMENT_ID (0) |
f7e9802ea8e3
add serialization/deserialization support to Ssid/SupportedRates
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1937
diff
changeset
|
24 |
|
1888
dbeef4fcff5a
add ssid to build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
25 |
namespace ns3 { |
dbeef4fcff5a
add ssid to build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
26 |
|
dbeef4fcff5a
add ssid to build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
27 |
Ssid::Ssid () |
dbeef4fcff5a
add ssid to build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
28 |
{ |
1937
996383a87ae3
add new code to build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1888
diff
changeset
|
29 |
m_length = 0; |
1888
dbeef4fcff5a
add ssid to build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
30 |
for (uint8_t i = 0; i < 33; i++) |
dbeef4fcff5a
add ssid to build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
31 |
{ |
dbeef4fcff5a
add ssid to build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
32 |
m_ssid[i] = 0; |
dbeef4fcff5a
add ssid to build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
33 |
} |
dbeef4fcff5a
add ssid to build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
34 |
} |
3587
53e2e87aebd0
use std::string instead of raw string
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2582
diff
changeset
|
35 |
Ssid::Ssid (std::string s) |
1888
dbeef4fcff5a
add ssid to build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
36 |
{ |
3587
53e2e87aebd0
use std::string instead of raw string
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2582
diff
changeset
|
37 |
NS_ASSERT (s.size () < 32); |
53e2e87aebd0
use std::string instead of raw string
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2582
diff
changeset
|
38 |
const char *ssid = s.c_str (); |
1888
dbeef4fcff5a
add ssid to build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
39 |
uint8_t len = 0; |
dbeef4fcff5a
add ssid to build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
40 |
while (*ssid != 0 && len < 32) |
dbeef4fcff5a
add ssid to build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
41 |
{ |
dbeef4fcff5a
add ssid to build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
42 |
m_ssid[len] = *ssid; |
dbeef4fcff5a
add ssid to build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
43 |
ssid++; |
dbeef4fcff5a
add ssid to build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
44 |
len++; |
dbeef4fcff5a
add ssid to build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
45 |
} |
2021
99a028507709
initialize the m_length field.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2020
diff
changeset
|
46 |
NS_ASSERT (len <= 32); |
99a028507709
initialize the m_length field.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2020
diff
changeset
|
47 |
m_length = len; |
1888
dbeef4fcff5a
add ssid to build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
48 |
while (len < 33) |
dbeef4fcff5a
add ssid to build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
49 |
{ |
dbeef4fcff5a
add ssid to build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
50 |
m_ssid[len] = 0; |
dbeef4fcff5a
add ssid to build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
51 |
len++; |
dbeef4fcff5a
add ssid to build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
52 |
} |
dbeef4fcff5a
add ssid to build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
53 |
} |
dbeef4fcff5a
add ssid to build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
54 |
Ssid::Ssid (char const ssid[32], uint8_t length) |
dbeef4fcff5a
add ssid to build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
55 |
{ |
1974
0d6b3bead74a
replace cassert by ns3/assert.h
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1938
diff
changeset
|
56 |
NS_ASSERT (length <= 32); |
1888
dbeef4fcff5a
add ssid to build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
57 |
uint8_t len = 0; |
dbeef4fcff5a
add ssid to build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
58 |
while (len < length) |
dbeef4fcff5a
add ssid to build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
59 |
{ |
dbeef4fcff5a
add ssid to build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
60 |
m_ssid[len] = ssid[len]; |
dbeef4fcff5a
add ssid to build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
61 |
len++; |
dbeef4fcff5a
add ssid to build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
62 |
} |
2021
99a028507709
initialize the m_length field.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2020
diff
changeset
|
63 |
m_length = length; |
1888
dbeef4fcff5a
add ssid to build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
64 |
while (len < 33) |
dbeef4fcff5a
add ssid to build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
65 |
{ |
dbeef4fcff5a
add ssid to build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
66 |
m_ssid[len] = 0; |
dbeef4fcff5a
add ssid to build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
67 |
len++; |
dbeef4fcff5a
add ssid to build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
68 |
} |
dbeef4fcff5a
add ssid to build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
69 |
} |
dbeef4fcff5a
add ssid to build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
70 |
bool |
dbeef4fcff5a
add ssid to build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
71 |
Ssid::IsEqual (Ssid const &o) const |
dbeef4fcff5a
add ssid to build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
72 |
{ |
dbeef4fcff5a
add ssid to build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
73 |
uint8_t i = 0; |
dbeef4fcff5a
add ssid to build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
74 |
while (i < 32 && |
dbeef4fcff5a
add ssid to build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
75 |
m_ssid[i] == o.m_ssid[i] && |
dbeef4fcff5a
add ssid to build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
76 |
m_ssid[i] != 0) |
dbeef4fcff5a
add ssid to build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
77 |
{ |
dbeef4fcff5a
add ssid to build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
78 |
i++; |
dbeef4fcff5a
add ssid to build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
79 |
} |
dbeef4fcff5a
add ssid to build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
80 |
if (m_ssid[i] != o.m_ssid[i]) |
dbeef4fcff5a
add ssid to build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
81 |
{ |
dbeef4fcff5a
add ssid to build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
82 |
return false; |
dbeef4fcff5a
add ssid to build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
83 |
} |
dbeef4fcff5a
add ssid to build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
84 |
return true; |
dbeef4fcff5a
add ssid to build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
85 |
} |
dbeef4fcff5a
add ssid to build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
86 |
bool |
dbeef4fcff5a
add ssid to build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
87 |
Ssid::IsBroadcast (void) const |
dbeef4fcff5a
add ssid to build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
88 |
{ |
dbeef4fcff5a
add ssid to build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
89 |
if (m_ssid[0] == 0) |
dbeef4fcff5a
add ssid to build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
90 |
{ |
dbeef4fcff5a
add ssid to build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
91 |
return true; |
dbeef4fcff5a
add ssid to build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
92 |
} |
dbeef4fcff5a
add ssid to build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
93 |
return false; |
dbeef4fcff5a
add ssid to build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
94 |
} |
dbeef4fcff5a
add ssid to build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
95 |
uint32_t |
dbeef4fcff5a
add ssid to build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
96 |
Ssid::GetLength (void) const |
dbeef4fcff5a
add ssid to build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
97 |
{ |
dbeef4fcff5a
add ssid to build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
98 |
uint8_t size = 0; |
dbeef4fcff5a
add ssid to build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
99 |
while (m_ssid[size] != 0 && size < 32) |
dbeef4fcff5a
add ssid to build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
100 |
{ |
dbeef4fcff5a
add ssid to build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
101 |
size++; |
dbeef4fcff5a
add ssid to build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
102 |
} |
1974
0d6b3bead74a
replace cassert by ns3/assert.h
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1938
diff
changeset
|
103 |
NS_ASSERT (size <= 32); |
1888
dbeef4fcff5a
add ssid to build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
104 |
return size; |
dbeef4fcff5a
add ssid to build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
105 |
} |
dbeef4fcff5a
add ssid to build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
106 |
|
2013
4a5335c67eac
add printing support
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1978
diff
changeset
|
107 |
char * |
4a5335c67eac
add printing support
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1978
diff
changeset
|
108 |
Ssid::PeekString (void) const |
4a5335c67eac
add printing support
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1978
diff
changeset
|
109 |
{ |
4a5335c67eac
add printing support
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1978
diff
changeset
|
110 |
// it is safe to return a pointer to the buffer because it is |
4a5335c67eac
add printing support
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1978
diff
changeset
|
111 |
// guaranteed to be zero-terminated. |
4a5335c67eac
add printing support
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1978
diff
changeset
|
112 |
return (char *)m_ssid; |
4a5335c67eac
add printing support
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1978
diff
changeset
|
113 |
} |
4a5335c67eac
add printing support
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1978
diff
changeset
|
114 |
|
1938
f7e9802ea8e3
add serialization/deserialization support to Ssid/SupportedRates
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1937
diff
changeset
|
115 |
uint32_t |
f7e9802ea8e3
add serialization/deserialization support to Ssid/SupportedRates
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1937
diff
changeset
|
116 |
Ssid::GetSerializedSize (void) const |
f7e9802ea8e3
add serialization/deserialization support to Ssid/SupportedRates
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1937
diff
changeset
|
117 |
{ |
f7e9802ea8e3
add serialization/deserialization support to Ssid/SupportedRates
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1937
diff
changeset
|
118 |
return 1 + 1 + m_length; |
f7e9802ea8e3
add serialization/deserialization support to Ssid/SupportedRates
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1937
diff
changeset
|
119 |
} |
f7e9802ea8e3
add serialization/deserialization support to Ssid/SupportedRates
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1937
diff
changeset
|
120 |
Buffer::Iterator |
f7e9802ea8e3
add serialization/deserialization support to Ssid/SupportedRates
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1937
diff
changeset
|
121 |
Ssid::Serialize (Buffer::Iterator i) const |
f7e9802ea8e3
add serialization/deserialization support to Ssid/SupportedRates
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1937
diff
changeset
|
122 |
{ |
2021
99a028507709
initialize the m_length field.
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2020
diff
changeset
|
123 |
NS_ASSERT (m_length <= 32); |
1938
f7e9802ea8e3
add serialization/deserialization support to Ssid/SupportedRates
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1937
diff
changeset
|
124 |
i.WriteU8 (ELEMENT_ID); |
f7e9802ea8e3
add serialization/deserialization support to Ssid/SupportedRates
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1937
diff
changeset
|
125 |
i.WriteU8 (m_length); |
f7e9802ea8e3
add serialization/deserialization support to Ssid/SupportedRates
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1937
diff
changeset
|
126 |
i.Write (m_ssid, m_length); |
f7e9802ea8e3
add serialization/deserialization support to Ssid/SupportedRates
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1937
diff
changeset
|
127 |
return i; |
f7e9802ea8e3
add serialization/deserialization support to Ssid/SupportedRates
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1937
diff
changeset
|
128 |
} |
f7e9802ea8e3
add serialization/deserialization support to Ssid/SupportedRates
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1937
diff
changeset
|
129 |
Buffer::Iterator |
f7e9802ea8e3
add serialization/deserialization support to Ssid/SupportedRates
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1937
diff
changeset
|
130 |
Ssid::Deserialize (Buffer::Iterator i) |
f7e9802ea8e3
add serialization/deserialization support to Ssid/SupportedRates
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1937
diff
changeset
|
131 |
{ |
2077
8ff95ff1ed2e
fix optimized builds
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2021
diff
changeset
|
132 |
uint8_t elementId; |
8ff95ff1ed2e
fix optimized builds
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2021
diff
changeset
|
133 |
elementId = i.ReadU8 (); |
1938
f7e9802ea8e3
add serialization/deserialization support to Ssid/SupportedRates
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1937
diff
changeset
|
134 |
NS_ASSERT (elementId == ELEMENT_ID); |
f7e9802ea8e3
add serialization/deserialization support to Ssid/SupportedRates
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1937
diff
changeset
|
135 |
m_length = i.ReadU8 (); |
2020
38a5381d93cd
check the ssid length
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2013
diff
changeset
|
136 |
NS_ASSERT (m_length <= 32); |
1938
f7e9802ea8e3
add serialization/deserialization support to Ssid/SupportedRates
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1937
diff
changeset
|
137 |
i.Read (m_ssid, m_length); |
f7e9802ea8e3
add serialization/deserialization support to Ssid/SupportedRates
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1937
diff
changeset
|
138 |
return i; |
f7e9802ea8e3
add serialization/deserialization support to Ssid/SupportedRates
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1937
diff
changeset
|
139 |
} |
f7e9802ea8e3
add serialization/deserialization support to Ssid/SupportedRates
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1937
diff
changeset
|
140 |
|
2582
3e28107b870f
rename old VALUE leftovers
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2527
diff
changeset
|
141 |
ATTRIBUTE_HELPER_CPP (Ssid); |
2527
75df305d02d9
give Attribute powers to ssid
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2077
diff
changeset
|
142 |
|
2013
4a5335c67eac
add printing support
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1978
diff
changeset
|
143 |
std::ostream & |
4a5335c67eac
add printing support
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1978
diff
changeset
|
144 |
operator << (std::ostream &os, const Ssid &ssid) |
4a5335c67eac
add printing support
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1978
diff
changeset
|
145 |
{ |
4a5335c67eac
add printing support
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1978
diff
changeset
|
146 |
os << ssid.PeekString (); |
4a5335c67eac
add printing support
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1978
diff
changeset
|
147 |
return os; |
4a5335c67eac
add printing support
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1978
diff
changeset
|
148 |
} |
4a5335c67eac
add printing support
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1978
diff
changeset
|
149 |
|
2527
75df305d02d9
give Attribute powers to ssid
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2077
diff
changeset
|
150 |
std::istream &operator >> (std::istream &is, Ssid &ssid) |
75df305d02d9
give Attribute powers to ssid
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2077
diff
changeset
|
151 |
{ |
75df305d02d9
give Attribute powers to ssid
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2077
diff
changeset
|
152 |
std::string str; |
75df305d02d9
give Attribute powers to ssid
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2077
diff
changeset
|
153 |
is >> str; |
75df305d02d9
give Attribute powers to ssid
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2077
diff
changeset
|
154 |
ssid = Ssid (str.c_str ()); |
75df305d02d9
give Attribute powers to ssid
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2077
diff
changeset
|
155 |
return is; |
75df305d02d9
give Attribute powers to ssid
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2077
diff
changeset
|
156 |
} |
75df305d02d9
give Attribute powers to ssid
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2077
diff
changeset
|
157 |
|
1938
f7e9802ea8e3
add serialization/deserialization support to Ssid/SupportedRates
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1937
diff
changeset
|
158 |
|
1937
996383a87ae3
add new code to build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1888
diff
changeset
|
159 |
} // namespace ns3 |