A Discrete-Event Network Simulator
API
dsss-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 DSSS_PARAMETER_SET_H
22 #define DSSS_PARAMETER_SET_H
23 
24 #include "ns3/wifi-information-element.h"
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 does support DSSS. To support this we
46  override the Serialize and GetSerializedSize methods of
47  WifiInformationElement. */
49  uint16_t GetSerializedSize () const override;
50 
55  void SetDsssSupported (uint8_t dsssSupported);
56 
62  void SetCurrentChannel (uint8_t currentChannel);
63 
64 
65 private:
66  uint8_t m_currentChannel;
67 
70 };
71 
72 } //namespace ns3
73 
74 #endif /* DSSS_PARAMETER_SET_H */
bool m_dsssSupported
This is used to decide whether this element should be added to the frame or not.
def start()
Definition: core.py:1855
void SerializeInformationField(Buffer::Iterator start) const override
Serialize information (i.e., the body of the IE, not including the Element ID and length octets) ...
Buffer::Iterator Serialize(Buffer::Iterator start) const override
Serialize entire IE including Element ID and length fields.
iterator in a Buffer instance
Definition: buffer.h:98
Information element, as defined in 802.11-2007 standardThe IEEE 802.11 standard includes the notion o...
uint16_t GetSerializedSize() const override
Get the size of the serialized IE including Element ID and length fields.
void SetCurrentChannel(uint8_t currentChannel)
Set the Current Channel field in the DsssParameterSet information element.
uint8_t GetInformationFieldSize() const override
Length of serialized information (i.e., the length of the body of the IE, not including the Element I...
Every class exported by the ns3 library is enclosed in the ns3 namespace.
void SetDsssSupported(uint8_t dsssSupported)
Set DSSS supported.
The DSSS Parameter SetThis class knows how to serialise and deserialise the DSSS Parameter Set...
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) ...
uint8_t m_currentChannel
current channel number
WifiInformationElementId ElementId() const override
uint8_t WifiInformationElementId
This type is used to represent an Information Element ID.