ns3::WifiInformationElement Class Reference

Information element, as defined in 802.11-2007 standard. More...

#include <wifi-information-element.h>

Inheritance diagram for ns3::WifiInformationElement:
Inheritance graph
[legend]
Collaboration diagram for ns3::WifiInformationElement:
Collaboration graph
[legend]

List of all members.

Public Member Functions

Buffer::Iterator Serialize (Buffer::Iterator i) const
 Serialize entire IE including Element ID and length fields.
Buffer::Iterator Deserialize (Buffer::Iterator i)
Buffer::Iterator DeserializeIfPresent (Buffer::Iterator i)
uint16_t GetSerializedSize () const
Each subclass must implement



virtual WifiInformationElementId ElementId () const =0
 Own unique Element ID.
virtual uint8_t GetInformationFieldSize () const =0
virtual void SerializeInformationField (Buffer::Iterator start) const =0
virtual uint8_t DeserializeInformationField (Buffer::Iterator start, uint8_t length)=0



virtual void Print (std::ostream &os) const
 In addition, a subclass may optionally override the following...
virtual bool operator< (WifiInformationElement const &a) const
 Compare information elements using Element ID.
virtual bool operator== (WifiInformationElement const &a) const

Detailed Description

Information element, as defined in 802.11-2007 standard.

Elements are defined to have a common general format consisting of a 1 octet Element ID field, a 1 octet length field, and a variable-length element-specific information field. Each element is assigned a unique Element ID as defined in this standard. The Length field specifies the number of octets in the Information field.

This class is pure virtual and acts as base for classes which know how to serialize specific IEs.


Member Function Documentation

Buffer::Iterator ns3::WifiInformationElement::Deserialize ( Buffer::Iterator  i  ) 

Deserialize entire IE, which must be present. The iterator passed in must be pointing at the Element ID (i.e., the very first octet) of the correct type of information element, otherwise this method will generate a fatal error.

Buffer::Iterator ns3::WifiInformationElement::DeserializeIfPresent ( Buffer::Iterator  i  ) 

Deserialize entire IE if it is present. The iterator passed in must be pointing at the Element ID of an information element. If the Element ID is not the one that the given class is interested in then it will return the same iterator.

virtual uint8_t ns3::WifiInformationElement::DeserializeInformationField ( Buffer::Iterator  start,
uint8_t  length 
) [pure virtual]
virtual uint8_t ns3::WifiInformationElement::GetInformationFieldSize (  )  const [pure virtual]

Length of serialized information (i.e., the length of the body of the IE, not including the Element ID and length octets. This is the value that will appear in the second octet of the entire IE - the length field)

Implemented in ns3::dot11s::IeBeaconTiming, ns3::dot11s::IeConfiguration, ns3::dot11s::IeMeshId, ns3::dot11s::IeLinkMetricReport, ns3::dot11s::IePeerManagement, ns3::dot11s::IePeeringProtocol, ns3::dot11s::IePerr, ns3::dot11s::IePrep, ns3::dot11s::IePreq, ns3::dot11s::IeRann, ns3::Ssid, ns3::ExtendedSupportedRatesIE, and ns3::SupportedRates.

uint16_t ns3::WifiInformationElement::GetSerializedSize (  )  const

Get the size of the serialized IE including Element ID and length fields.

Reimplemented in ns3::ExtendedSupportedRatesIE.

virtual bool ns3::WifiInformationElement::operator== ( WifiInformationElement const &  a  )  const [virtual]

Compare two IEs for equality by ID & Length, and then through memcmp of serialised version

virtual void ns3::WifiInformationElement::Print ( std::ostream &  os  )  const [virtual]
virtual void ns3::WifiInformationElement::SerializeInformationField ( Buffer::Iterator  start  )  const [pure virtual]

The documentation for this class was generated from the following file:

Generated on 6 Jan 2011 for NS-3 by  doxygen 1.6.1