A Discrete-Event Network Simulator
API
edca-parameter-set.h
Go to the documentation of this file.
1 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
2 /*
3  * Copyright (c) 2016 S├ębastien Deronne
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  * Author: S├ębastien Deronne <sebastien.deronne@gmail.com>
19  */
20 
21 #ifndef EDCA_PARAMETER_SET_H
22 #define EDCA_PARAMETER_SET_H
23 
25 
26 namespace ns3 {
27 
35 {
36 public:
38 
39  // Implementations of pure virtual methods of WifiInformationElement
40  WifiInformationElementId ElementId () const override;
41  uint8_t GetInformationFieldSize () const override;
42  void SerializeInformationField (Buffer::Iterator start) const override;
43  uint8_t DeserializeInformationField (Buffer::Iterator start, uint8_t length) override;
44  /* This information element is a bit special in that it is only
45  included if the STA is a QoS STA. To support this we
46  override the Serialize and GetSerializedSize methods of
47  WifiInformationElement. */
49  uint16_t GetSerializedSize () const override;
50 
55  void SetQosSupported (uint8_t qosSupported);
60  uint8_t IsQosSupported (void) const;
61 
67  void SetQosInfo (uint8_t qosInfo);
73  void SetBeAifsn (uint8_t aifsn);
79  void SetBeAci (uint8_t aci);
85  void SetBeCWmin (uint32_t cwMin);
91  void SetBeCWmax (uint32_t cwMax);
97  void SetBeTxopLimit (uint16_t txop);
103  void SetBkAifsn (uint8_t aifsn);
109  void SetBkAci (uint8_t aci);
115  void SetBkCWmin (uint32_t cwMin);
121  void SetBkCWmax (uint32_t cwMax);
127  void SetBkTxopLimit (uint16_t txop);
133  void SetViAifsn (uint8_t aifsn);
139  void SetViAci (uint8_t aci);
145  void SetViCWmin (uint32_t cwMin);
151  void SetViCWmax (uint32_t cwMax);
157  void SetViTxopLimit (uint16_t txop);
163  void SetVoAifsn (uint8_t aifsn);
169  void SetVoAci (uint8_t aci);
175  void SetVoCWmin (uint32_t cwMin);
181  void SetVoCWmax (uint32_t cwMax);
187  void SetVoTxopLimit (uint16_t txop);
188 
194  uint8_t GetQosInfo (void) const;
200  uint8_t GetBeAifsn (void) const;
206  uint32_t GetBeCWmin (void) const;
212  uint32_t GetBeCWmax (void) const;
218  uint16_t GetBeTxopLimit (void) const;
224  uint8_t GetBkAifsn (void) const;
230  uint32_t GetBkCWmin (void) const;
236  uint32_t GetBkCWmax (void) const;
242  uint16_t GetBkTxopLimit (void) const;
248  uint8_t GetViAifsn (void) const;
254  uint32_t GetViCWmin (void) const;
260  uint32_t GetViCWmax (void) const;
266  uint16_t GetViTxopLimit (void) const;
272  uint8_t GetVoAifsn (void) const;
278  uint32_t GetVoCWmin (void) const;
284  uint32_t GetVoCWmax (void) const;
290  uint16_t GetVoTxopLimit (void) const;
291 
292 
293 private:
294  uint8_t m_qosInfo;
295  uint8_t m_reserved;
296  uint32_t m_acBE;
297  uint32_t m_acBK;
298  uint32_t m_acVI;
299  uint32_t m_acVO;
300 
303 };
304 
305 } //namespace ns3
306 
307 #endif /* EDCA_PARAMETER_SET_H */
ns3::EdcaParameterSet::SetVoAci
void SetVoAci(uint8_t aci)
Set the AC_VO ACI field in the EdcaParameterSet information element.
Definition: edca-parameter-set.cc:164
ns3::EdcaParameterSet::GetBkCWmin
uint32_t GetBkCWmin(void) const
Return the AC_BK CWmin field in the EdcaParameterSet information element.
Definition: edca-parameter-set.cc:228
ns3::EdcaParameterSet::SetQosInfo
void SetQosInfo(uint8_t qosInfo)
Set the QoS Info field in the EdcaParameterSet information element.
Definition: edca-parameter-set.cc:56
ns3::EdcaParameterSet::GetBkTxopLimit
uint16_t GetBkTxopLimit(void) const
Return the AC_BK TXOP Limit field in the EdcaParameterSet information element.
Definition: edca-parameter-set.cc:242
ns3
Every class exported by the ns3 library is enclosed in the ns3 namespace.
ns3::EdcaParameterSet::m_reserved
uint8_t m_reserved
reserved
Definition: edca-parameter-set.h:295
ns3::WifiInformationElement
Information element, as defined in 802.11-2007 standard.
Definition: wifi-information-element.h:232
ns3::EdcaParameterSet::SetBkAci
void SetBkAci(uint8_t aci)
Set the AC_BK ACI field in the EdcaParameterSet information element.
Definition: edca-parameter-set.cc:100
wifi-information-element.h
ns3::EdcaParameterSet::SetViAci
void SetViAci(uint8_t aci)
Set the AC_VI ACI field in the EdcaParameterSet information element.
Definition: edca-parameter-set.cc:132
ns3::EdcaParameterSet::DeserializeInformationField
uint8_t DeserializeInformationField(Buffer::Iterator start, uint8_t length) override
Deserialize information (i.e., the body of the IE, not including the Element ID and length octets)
Definition: edca-parameter-set.cc:341
ns3::EdcaParameterSet::SetBeCWmax
void SetBeCWmax(uint32_t cwMax)
Set the AC_BE CWmax field in the EdcaParameterSet information element.
Definition: edca-parameter-set.cc:81
ns3::WifiInformationElementId
uint8_t WifiInformationElementId
This type is used to represent an Information Element ID.
Definition: wifi-information-element.h:40
ns3::EdcaParameterSet::SetBkTxopLimit
void SetBkTxopLimit(uint16_t txop)
Set the AC_BK TXOP Limit field in the EdcaParameterSet information element.
Definition: edca-parameter-set.cc:120
ns3::EdcaParameterSet::SetBeAifsn
void SetBeAifsn(uint8_t aifsn)
Set the AC_BE AIFSN field in the EdcaParameterSet information element.
Definition: edca-parameter-set.cc:62
ns3::EdcaParameterSet::SetVoCWmin
void SetVoCWmin(uint32_t cwMin)
Set the AC_VO CWmin field in the EdcaParameterSet information element.
Definition: edca-parameter-set.cc:170
ns3::EdcaParameterSet::SetViTxopLimit
void SetViTxopLimit(uint16_t txop)
Set the AC_VI TXOP Limit field in the EdcaParameterSet information element.
Definition: edca-parameter-set.cc:152
ns3::EdcaParameterSet
The EDCA Parameter Set.
Definition: edca-parameter-set.h:35
ns3::EdcaParameterSet::SerializeInformationField
void SerializeInformationField(Buffer::Iterator start) const override
Serialize information (i.e., the body of the IE, not including the Element ID and length octets)
Definition: edca-parameter-set.cc:327
ns3::EdcaParameterSet::GetVoTxopLimit
uint16_t GetVoTxopLimit(void) const
Return the AC_VO TXOP Limit field in the EdcaParameterSet information element.
Definition: edca-parameter-set.cc:294
ns3::EdcaParameterSet::SetVoCWmax
void SetVoCWmax(uint32_t cwMax)
Set the AC_VO CWmax field in the EdcaParameterSet information element.
Definition: edca-parameter-set.cc:177
ns3::EdcaParameterSet::IsQosSupported
uint8_t IsQosSupported(void) const
Is QOS supported function.
Definition: edca-parameter-set.cc:50
visualizer.core.start
def start()
Definition: core.py:1855
ns3::EdcaParameterSet::EdcaParameterSet
EdcaParameterSet()
Definition: edca-parameter-set.cc:26
ns3::EdcaParameterSet::GetVoCWmax
uint32_t GetVoCWmax(void) const
Return the AC_VO CWmax field in the EdcaParameterSet information element.
Definition: edca-parameter-set.cc:287
ns3::EdcaParameterSet::SetBkCWmax
void SetBkCWmax(uint32_t cwMax)
Set the AC_BK CWmax field in the EdcaParameterSet information element.
Definition: edca-parameter-set.cc:113
ns3::EdcaParameterSet::GetBkCWmax
uint32_t GetBkCWmax(void) const
Return the AC_BK CWmax field in the EdcaParameterSet information element.
Definition: edca-parameter-set.cc:235
ns3::EdcaParameterSet::GetVoAifsn
uint8_t GetVoAifsn(void) const
Return the AC_VO AIFSN field in the EdcaParameterSet information element.
Definition: edca-parameter-set.cc:274
ns3::EdcaParameterSet::GetInformationFieldSize
uint8_t GetInformationFieldSize() const override
Length of serialized information (i.e., the length of the body of the IE, not including the Element I...
Definition: edca-parameter-set.cc:300
ns3::EdcaParameterSet::SetBeCWmin
void SetBeCWmin(uint32_t cwMin)
Set the AC_BE CWmin field in the EdcaParameterSet information element.
Definition: edca-parameter-set.cc:74
ns3::EdcaParameterSet::GetViTxopLimit
uint16_t GetViTxopLimit(void) const
Return the AC_VI TXOP Limit field in the EdcaParameterSet information element.
Definition: edca-parameter-set.cc:268
ns3::EdcaParameterSet::GetViCWmin
uint32_t GetViCWmin(void) const
Return the AC_VI CWmin field in the EdcaParameterSet information element.
Definition: edca-parameter-set.cc:254
ns3::EdcaParameterSet::GetBeTxopLimit
uint16_t GetBeTxopLimit(void) const
Return the AC_BE TXOP Limit field in the EdcaParameterSet information element.
Definition: edca-parameter-set.cc:216
ns3::EdcaParameterSet::m_acBE
uint32_t m_acBE
AC_BE.
Definition: edca-parameter-set.h:296
ns3::EdcaParameterSet::SetBeTxopLimit
void SetBeTxopLimit(uint16_t txop)
Set the AC_BE TXOP Limit field in the EdcaParameterSet information element.
Definition: edca-parameter-set.cc:88
ns3::EdcaParameterSet::m_acVI
uint32_t m_acVI
AC_VI.
Definition: edca-parameter-set.h:298
ns3::EdcaParameterSet::SetViCWmin
void SetViCWmin(uint32_t cwMin)
Set the AC_VI CWmin field in the EdcaParameterSet information element.
Definition: edca-parameter-set.cc:138
ns3::EdcaParameterSet::SetQosSupported
void SetQosSupported(uint8_t qosSupported)
Set QOS supported function.
Definition: edca-parameter-set.cc:44
ns3::EdcaParameterSet::m_qosSupported
bool m_qosSupported
This is used to decide whether this element should be added to the frame or not.
Definition: edca-parameter-set.h:302
ns3::EdcaParameterSet::SetBkCWmin
void SetBkCWmin(uint32_t cwMin)
Set the AC_BK CWmin field in the EdcaParameterSet information element.
Definition: edca-parameter-set.cc:106
ns3::Buffer::Iterator
iterator in a Buffer instance
Definition: buffer.h:99
ns3::EdcaParameterSet::GetBeAifsn
uint8_t GetBeAifsn(void) const
Return the AC_BE AIFSN field in the EdcaParameterSet information element.
Definition: edca-parameter-set.cc:196
ns3::EdcaParameterSet::m_acBK
uint32_t m_acBK
AC_BK.
Definition: edca-parameter-set.h:297
ns3::EdcaParameterSet::Serialize
Buffer::Iterator Serialize(Buffer::Iterator start) const override
Serialize entire IE including Element ID and length fields.
Definition: edca-parameter-set.cc:307
ns3::EdcaParameterSet::SetBeAci
void SetBeAci(uint8_t aci)
Set the AC_BE ACI field in the EdcaParameterSet information element.
Definition: edca-parameter-set.cc:68
ns3::EdcaParameterSet::GetSerializedSize
uint16_t GetSerializedSize() const override
Get the size of the serialized IE including Element ID and length fields.
Definition: edca-parameter-set.cc:317
ns3::EdcaParameterSet::GetBeCWmax
uint32_t GetBeCWmax(void) const
Return the AC_BE CWmax field in the EdcaParameterSet information element.
Definition: edca-parameter-set.cc:209
ns3::EdcaParameterSet::SetBkAifsn
void SetBkAifsn(uint8_t aifsn)
Set the AC_BK AIFSN field in the EdcaParameterSet information element.
Definition: edca-parameter-set.cc:94
ns3::EdcaParameterSet::SetViCWmax
void SetViCWmax(uint32_t cwMax)
Set the AC_VI CWmax field in the EdcaParameterSet information element.
Definition: edca-parameter-set.cc:145
ns3::EdcaParameterSet::SetVoTxopLimit
void SetVoTxopLimit(uint16_t txop)
Set the AC_VO TXOP Limit field in the EdcaParameterSet information element.
Definition: edca-parameter-set.cc:184
ns3::EdcaParameterSet::GetViCWmax
uint32_t GetViCWmax(void) const
Return the AC_VI CWmax field in the EdcaParameterSet information element.
Definition: edca-parameter-set.cc:261
ns3::EdcaParameterSet::GetViAifsn
uint8_t GetViAifsn(void) const
Return the AC_VI AIFSN field in the EdcaParameterSet information element.
Definition: edca-parameter-set.cc:248
ns3::EdcaParameterSet::ElementId
WifiInformationElementId ElementId() const override
Definition: edca-parameter-set.cc:38
ns3::EdcaParameterSet::m_acVO
uint32_t m_acVO
AC_VO.
Definition: edca-parameter-set.h:299
ns3::EdcaParameterSet::GetVoCWmin
uint32_t GetVoCWmin(void) const
Return the AC_VO CWmin field in the EdcaParameterSet information element.
Definition: edca-parameter-set.cc:280
ns3::EdcaParameterSet::GetBeCWmin
uint32_t GetBeCWmin(void) const
Return the AC_BE CWmin field in the EdcaParameterSet information element.
Definition: edca-parameter-set.cc:202
ns3::EdcaParameterSet::SetViAifsn
void SetViAifsn(uint8_t aifsn)
Set the AC_VI AIFSN field in the EdcaParameterSet information element.
Definition: edca-parameter-set.cc:126
ns3::EdcaParameterSet::GetQosInfo
uint8_t GetQosInfo(void) const
Return the QoS Info field in the EdcaParameterSet information element.
Definition: edca-parameter-set.cc:190
ns3::EdcaParameterSet::SetVoAifsn
void SetVoAifsn(uint8_t aifsn)
Set the AC_VO AIFSN field in the EdcaParameterSet information element.
Definition: edca-parameter-set.cc:158
ns3::EdcaParameterSet::GetBkAifsn
uint8_t GetBkAifsn(void) const
Return the AC_BK AIFSN field in the EdcaParameterSet information element.
Definition: edca-parameter-set.cc:222
ns3::EdcaParameterSet::m_qosInfo
uint8_t m_qosInfo
QOS info.
Definition: edca-parameter-set.h:294