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:
42  void SetQosSupported (uint8_t qosSupported);
47  uint8_t IsQosSupported (void) const;
48 
54  void SetQosInfo (uint8_t qosInfo);
60  void SetBeAifsn (uint8_t aifsn);
66  void SetBeAcm (uint8_t acm);
72  void SetBeAci (uint8_t aci);
78  void SetBeCWmin (uint32_t cwMin);
84  void SetBeCWmax (uint32_t cwMax);
90  void SetBeTXOPLimit (uint16_t txop);
96  void SetBkAifsn (uint8_t aifsn);
102  void SetBkAcm (uint8_t acm);
108  void SetBkAci (uint8_t aci);
114  void SetBkCWmin (uint32_t cwMin);
120  void SetBkCWmax (uint32_t cwMax);
126  void SetBkTXOPLimit (uint16_t txop);
132  void SetViAifsn (uint8_t aifsn);
138  void SetViAcm (uint8_t acm);
144  void SetViAci (uint8_t aci);
150  void SetViCWmin (uint32_t cwMin);
156  void SetViCWmax (uint32_t cwMax);
162  void SetViTXOPLimit (uint16_t txop);
168  void SetVoAifsn (uint8_t aifsn);
174  void SetVoAcm (uint8_t acm);
180  void SetVoAci (uint8_t aci);
186  void SetVoCWmin (uint32_t cwMin);
192  void SetVoCWmax (uint32_t cwMax);
198  void SetVoTXOPLimit (uint16_t txop);
199 
205  uint8_t GetQosInfo (void) const;
211  uint8_t GetBeAifsn (void) const;
217  uint8_t GetBeAcm (void) const;
223  uint8_t GetBeAci (void) const;
229  uint32_t GetBeCWmin (void) const;
235  uint32_t GetBeCWmax (void) const;
241  uint16_t GetBeTXOPLimit (void) const;
247  uint8_t GetBkAifsn (void) const;
253  uint8_t GetBkAcm (void) const;
259  uint8_t GetBkAci (void) const;
265  uint32_t GetBkCWmin (void) const;
271  uint32_t GetBkCWmax (void) const;
277  uint16_t GetBkTXOPLimit (void) const;
283  uint8_t GetViAifsn (void) const;
289  uint8_t GetViAcm (void) const;
295  uint8_t GetViAci (void) const;
301  uint32_t GetViCWmin (void) const;
307  uint32_t GetViCWmax (void) const;
313  uint16_t GetViTXOPLimit (void) const;
319  uint8_t GetVoAifsn (void) const;
325  uint8_t GetVoAcm (void) const;
331  uint8_t GetVoAci (void) const;
337  uint32_t GetVoCWmin (void) const;
343  uint32_t GetVoCWmax (void) const;
349  uint16_t GetVoTXOPLimit (void) const;
350 
360  uint8_t GetInformationFieldSize () const;
372  uint8_t DeserializeInformationField (Buffer::Iterator start, uint8_t length);
373 
390  uint16_t GetSerializedSize () const;
391 
392 
393 private:
394  uint8_t m_qosInfo;
395  uint8_t m_reserved;
396  uint32_t m_acBE;
397  uint32_t m_acBK;
398  uint32_t m_acVI;
399  uint32_t m_acVO;
400 
403 };
404 
405 } //namespace ns3
406 
407 #endif /* EDCA_PARAMETER_SET_H */
uint8_t m_reserved
reserved
void SetViAcm(uint8_t acm)
Set the AC_VI ACM field in the EdcaParameterSet information element.
void SetQosSupported(uint8_t qosSupported)
Set QOS supported function.
uint8_t GetVoAcm(void) const
Return the AC_VO ACM field in the EdcaParameterSet information element.
void SetViCWmin(uint32_t cwMin)
Set the AC_VI CWmin field in the EdcaParameterSet information element.
uint8_t m_qosInfo
QOS info.
void SetBeAcm(uint8_t acm)
Set the AC_BE ACM field in the EdcaParameterSet information element.
WifiInformationElementId ElementId() const
Element ID function.
void SetVoAci(uint8_t aci)
Set the AC_VO ACI field in the EdcaParameterSet information element.
def start()
Definition: core.py:1790
uint8_t GetVoAifsn(void) const
Return the AC_VO AIFSN field in the EdcaParameterSet information element.
void SetQosInfo(uint8_t qosInfo)
Set the QoS Info field in the EdcaParameterSet information element.
bool m_qosSupported
This is used to decide whether this element should be added to the frame or not.
void SetVoAifsn(uint8_t aifsn)
Set the AC_VO AIFSN field in the EdcaParameterSet information element.
void SetVoTXOPLimit(uint16_t txop)
Set the AC_VO TXOP Limit field in the EdcaParameterSet information element.
uint32_t GetVoCWmin(void) const
Return the AC_VO CWmin field in the EdcaParameterSet information element.
uint8_t GetBeAci(void) const
Return the AC_BE ACI field in the EdcaParameterSet information element.
void SetVoCWmin(uint32_t cwMin)
Set the AC_VO CWmin field in the EdcaParameterSet information element.
uint8_t GetBkAci(void) const
Return the AC_BK ACI field in the EdcaParameterSet information element.
iterator in a Buffer instance
Definition: buffer.h:98
uint16_t GetBeTXOPLimit(void) const
Return the AC_BE TXOP Limit field in the EdcaParameterSet information element.
Information element, as defined in 802.11-2007 standardThe IEEE 802.11 standard includes the notion o...
void SetViAifsn(uint8_t aifsn)
Set the AC_VI AIFSN field in the EdcaParameterSet information element.
uint16_t GetSerializedSize() const
Return the serialized size of this EDCA Parameter Set.
uint8_t IsQosSupported(void) const
Is QOS supported function.
void SetBeTXOPLimit(uint16_t txop)
Set the AC_BE TXOP Limit field in the EdcaParameterSet information element.
uint16_t GetBkTXOPLimit(void) const
Return the AC_BK TXOP Limit field in the EdcaParameterSet information element.
uint32_t GetViCWmin(void) const
Return the AC_VI CWmin field in the EdcaParameterSet information element.
void SetVoCWmax(uint32_t cwMax)
Set the AC_VO CWmax field in the EdcaParameterSet information element.
uint32_t GetBeCWmin(void) const
Return the AC_BE CWmin field in the EdcaParameterSet information element.
void SetBeCWmin(uint32_t cwMin)
Set the AC_BE CWmin field in the EdcaParameterSet information element.
void SetViAci(uint8_t aci)
Set the AC_VI ACI field in the EdcaParameterSet information element.
void SerializeInformationField(Buffer::Iterator start) const
Serialize information field function.
uint16_t GetVoTXOPLimit(void) const
Return the AC_VO TXOP Limit field in the EdcaParameterSet information element.
uint8_t DeserializeInformationField(Buffer::Iterator start, uint8_t length)
Deserialize information field function.
uint32_t GetViCWmax(void) const
Return the AC_VI CWmax field in the EdcaParameterSet information element.
uint8_t GetBkAcm(void) const
Return the AC_BK ACM field in the EdcaParameterSet information element.
Buffer::Iterator Serialize(Buffer::Iterator start) const
This information element is a bit special in that it is only included if the STA is a QoS STA...
Every class exported by the ns3 library is enclosed in the ns3 namespace.
The EDCA Parameter SetThis class knows how to serialise and deserialise the EDCA Parameter Set...
uint32_t GetBeCWmax(void) const
Return the AC_BE CWmax field in the EdcaParameterSet information element.
uint8_t GetBeAcm(void) const
Return the AC_BE ACM field in the EdcaParameterSet information element.
void SetBkAifsn(uint8_t aifsn)
Set the AC_BK AIFSN field in the EdcaParameterSet information element.
uint8_t GetQosInfo(void) const
Return the QoS Info field in the EdcaParameterSet information element.
uint16_t GetViTXOPLimit(void) const
Return the AC_VI TXOP Limit field in the EdcaParameterSet information element.
uint8_t GetViAifsn(void) const
Return the AC_VI AIFSN field in the EdcaParameterSet information element.
void SetBkTXOPLimit(uint16_t txop)
Set the AC_BK TXOP Limit field in the EdcaParameterSet information element.
void SetBeAci(uint8_t aci)
Set the AC_BE ACI field in the EdcaParameterSet information element.
uint8_t GetInformationFieldSize() const
Get information field size function.
uint32_t GetBkCWmin(void) const
Return the AC_BK CWmin field in the EdcaParameterSet information element.
void SetBkAci(uint8_t aci)
Set the AC_BK ACI field in the EdcaParameterSet information element.
void SetVoAcm(uint8_t acm)
Set the AC_VO ACM field in the EdcaParameterSet information element.
uint32_t GetBkCWmax(void) const
Return the AC_BK CWmax field in the EdcaParameterSet information element.
uint32_t GetVoCWmax(void) const
Return the AC_VO CWmax field in the EdcaParameterSet information element.
void SetBkCWmax(uint32_t cwMax)
Set the AC_BK CWmax field in the EdcaParameterSet information element.
void SetBkCWmin(uint32_t cwMin)
Set the AC_BK CWmin field in the EdcaParameterSet information element.
void SetViTXOPLimit(uint16_t txop)
Set the AC_VI TXOP Limit field in the EdcaParameterSet information element.
uint8_t GetViAci(void) const
Return the AC_VI ACI field in the EdcaParameterSet information element.
uint8_t GetBeAifsn(void) const
Return the AC_BE AIFSN field in the EdcaParameterSet information element.
uint8_t GetBkAifsn(void) const
Return the AC_BK AIFSN field in the EdcaParameterSet information element.
uint8_t GetViAcm(void) const
Return the AC_VI ACM field in the EdcaParameterSet information element.
uint8_t WifiInformationElementId
This type is used to represent an Information Element ID.
uint8_t GetVoAci(void) const
Return the AC_VO ACI field in the EdcaParameterSet information element.
void SetBeCWmax(uint32_t cwMax)
Set the AC_BE CWmax field in the EdcaParameterSet information element.
void SetBeAifsn(uint8_t aifsn)
Set the AC_BE AIFSN field in the EdcaParameterSet information element.
void SetViCWmax(uint32_t cwMax)
Set the AC_VI CWmax field in the EdcaParameterSet information element.
void SetBkAcm(uint8_t acm)
Set the AC_BK ACM field in the EdcaParameterSet information element.