A Discrete-Event Network Simulator
API
Loading...
Searching...
No Matches
addba-extension.h
Go to the documentation of this file.
1/*
2 * Copyright (c) 2023 Universita' degli Studi di Napoli Federico II
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: Stefano Avallone <stavallo@unina.it>
18 */
19
20#ifndef ADDBA_EXTENSION_H
21#define ADDBA_EXTENSION_H
22
24
25namespace ns3
26{
27
28/**
29 * \ingroup wifi
30 *
31 * The IEEE 802.11 ADDBA Extension Element (Sec. 9.4.2.139 of 802.11-2020)
32 */
34{
35 public:
36 AddbaExtension() = default;
37
38 /**
39 * ADDBA Extended Parameter Set
40 */
42 {
43 uint8_t noFragment : 1; //!< reserved when transmitted by HE STA to HE STA
44 uint8_t heFragmentOp : 2; //!< indicates level of HE dynamic fragmentation (unsupported)
45 uint8_t : 2; //!< reserved
46 uint8_t extBufferSize : 3; //!< extended buffer size
47 };
48
49 // Implementations of pure virtual methods of WifiInformationElement
50 WifiInformationElementId ElementId() const override;
51 void Print(std::ostream& os) const override;
52
53 ExtParamSet m_extParamSet{}; //!< ADDBA Extended Parameter Set field
54
55 private:
56 uint16_t GetInformationFieldSize() const override;
57 void SerializeInformationField(Buffer::Iterator start) const override;
58 uint16_t DeserializeInformationField(Buffer::Iterator start, uint16_t length) override;
59};
60
61} // namespace ns3
62
63#endif /* ADDBA_EXTENSION_H */
The IEEE 802.11 ADDBA Extension Element (Sec.
void SerializeInformationField(Buffer::Iterator start) const override
Serialize information (i.e., the body of the IE, not including the Element ID and length octets)
WifiInformationElementId ElementId() const override
Get the wifi information element ID.
AddbaExtension()=default
ExtParamSet m_extParamSet
ADDBA Extended Parameter Set field.
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)
uint16_t GetInformationFieldSize() const override
Length of serialized information (i.e., the length of the body of the IE, not including the Element I...
void Print(std::ostream &os) const override
Generate human-readable form of IE.
iterator in a Buffer instance
Definition: buffer.h:100
Information element, as defined in 802.11-2007 standard.
Every class exported by the ns3 library is enclosed in the ns3 namespace.
uint8_t WifiInformationElementId
This type is used to represent an Information Element ID.
ADDBA Extended Parameter Set.
uint8_t extBufferSize
extended buffer size
uint8_t heFragmentOp
indicates level of HE dynamic fragmentation (unsupported)
uint8_t noFragment
reserved when transmitted by HE STA to HE STA