The VHT Operation Information ElementThis class knows how to serialise and deserialise the VHT Operation Information Element. More...
#include "vht-operation.h"
 Inheritance diagram for ns3::VhtOperation:
 Collaboration diagram for ns3::VhtOperation:Public Member Functions | |
| VhtOperation () | |
| uint8_t | DeserializeInformationField (Buffer::Iterator start, uint8_t length) | 
| Deserialize the information field.  More... | |
| WifiInformationElementId | ElementId () const | 
| Return the element ID.  More... | |
| uint16_t | GetBasicVhtMcsAndNssSet (void) const | 
| Return the Basic VHT-MCS And Nss field in the VHT Operation information element.  More... | |
| uint8_t | GetChannelCenterFrequencySegment0 (void) const | 
| Return the Channel Center Frequency Segment 0 field in the VHT Operation information element.  More... | |
| uint8_t | GetChannelCenterFrequencySegment1 (void) const | 
| Return the Channel Center Frequency Segment 1 field in the VHT Operation information element.  More... | |
| uint8_t | GetChannelWidth (void) const | 
| Return the Channel Width field in the VHT Operation information element.  More... | |
| uint8_t | GetInformationFieldSize () const | 
| Return the information field size.  More... | |
| uint16_t | GetSerializedSize () const | 
| Return the serialized size of this VHT Operations IE.  More... | |
| 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 VHT STA.  More... | |
| void | SerializeInformationField (Buffer::Iterator start) const | 
| Serialize the information field.  More... | |
| void | SetBasicVhtMcsAndNssSet (uint16_t basicVhtMcsAndNssSet) | 
| Set the Basic VHT-MCS and NSS field in the VHT Operation information element.  More... | |
| void | SetChannelCenterFrequencySegment0 (uint8_t channelCenterFrequencySegment0) | 
| Set the Channel Center Frequency Segment 0 field in the VHT Operation information element.  More... | |
| void | SetChannelCenterFrequencySegment1 (uint8_t channelCenterFrequencySegment1) | 
| Set the Channel Center Frequency Segment 1 field in the VHT Operation information element.  More... | |
| void | SetChannelWidth (uint8_t channelWidth) | 
| Set the Channel Width field in the VHT Operation information element.  More... | |
| void | SetMaxVhtMcsPerNss (uint8_t nss, uint8_t maxVhtMcs) | 
| Set the Basic VHT-MCS and NSS field in the VHT Operation information element by specifying the tuple (nss, maxMcs).  More... | |
| void | SetVhtSupported (uint8_t vhtsupported) | 
| Set the VHT supported information element.  More... | |
  Public Member Functions inherited from ns3::WifiInformationElement | |
| virtual | ~WifiInformationElement () | 
| Buffer::Iterator | Deserialize (Buffer::Iterator i) | 
| Deserialize entire IE, which must be present.  More... | |
| Buffer::Iterator | DeserializeIfPresent (Buffer::Iterator i) | 
| Deserialize entire IE if it is present.  More... | |
| uint16_t | GetSerializedSize () const | 
| Get the size of the serialized IE including Element ID and length fields.  More... | |
| virtual bool | operator== (WifiInformationElement const &a) const | 
| Compare two IEs for equality by ID & Length, and then through memcmp of serialised version.  More... | |
| virtual void | Print (std::ostream &os) const | 
| Generate human-readable form of IE.  More... | |
| Buffer::Iterator | Serialize (Buffer::Iterator i) const | 
| Serialize entire IE including Element ID and length fields.  More... | |
  Public Member Functions inherited from ns3::SimpleRefCount< WifiInformationElement > | |
| SimpleRefCount () | |
| Default constructor.  More... | |
| SimpleRefCount (const SimpleRefCount &o) | |
| Copy constructor.  More... | |
| uint32_t | GetReferenceCount (void) const | 
| Get the reference count of the object.  More... | |
| SimpleRefCount & | operator= (const SimpleRefCount &o) | 
| Assignment operator.  More... | |
| void | Ref (void) const | 
| Increment the reference count.  More... | |
| void | Unref (void) const | 
| Decrement the reference count.  More... | |
Private Attributes | |
| uint16_t | m_basicVhtMcsAndNssSet | 
| basic VHT MCS NSS set  More... | |
| uint8_t | m_channelCenterFrequencySegment0 | 
| channel center frequency segment 0  More... | |
| uint8_t | m_channelCenterFrequencySegment1 | 
| channel center frequency segment 0  More... | |
| uint8_t | m_channelWidth | 
| channel width  More... | |
| uint8_t | m_vhtSupported | 
| This is used to decide whether this element should be added to the frame or not.  More... | |
The VHT Operation Information Element
This class knows how to serialise and deserialise the VHT Operation Information Element.
Definition at line 37 of file vht-operation.h.
| ns3::VhtOperation::VhtOperation | ( | ) | 
Definition at line 25 of file vht-operation.cc.
      
  | 
  virtual | 
Deserialize the information field.
| start | the iterator | 
| length | the length | 
Implements ns3::WifiInformationElement.
Definition at line 150 of file vht-operation.cc.
References ns3::Buffer::Iterator::ReadU16(), ns3::Buffer::Iterator::ReadU8(), SetBasicVhtMcsAndNssSet(), SetChannelCenterFrequencySegment0(), SetChannelCenterFrequencySegment1(), SetChannelWidth(), and visualizer.core::start().
 Here is the call graph for this function:
      
  | 
  virtual | 
Return the element ID.
Implements ns3::WifiInformationElement.
Definition at line 35 of file vht-operation.cc.
References IE_VHT_OPERATION.
| uint16_t ns3::VhtOperation::GetBasicVhtMcsAndNssSet | ( | void | ) | const | 
Return the Basic VHT-MCS And Nss field in the VHT Operation information element.
Definition at line 111 of file vht-operation.cc.
References m_basicVhtMcsAndNssSet.
Referenced by ns3::operator<<(), and SerializeInformationField().
 Here is the caller graph for this function:| uint8_t ns3::VhtOperation::GetChannelCenterFrequencySegment0 | ( | void | ) | const | 
Return the Channel Center Frequency Segment 0 field in the VHT Operation information element.
Definition at line 99 of file vht-operation.cc.
References m_channelCenterFrequencySegment0.
Referenced by ns3::operator<<(), and SerializeInformationField().
 Here is the caller graph for this function:| uint8_t ns3::VhtOperation::GetChannelCenterFrequencySegment1 | ( | void | ) | const | 
Return the Channel Center Frequency Segment 1 field in the VHT Operation information element.
Definition at line 105 of file vht-operation.cc.
References m_channelCenterFrequencySegment1.
Referenced by ns3::operator<<(), and SerializeInformationField().
 Here is the caller graph for this function:| uint8_t ns3::VhtOperation::GetChannelWidth | ( | void | ) | const | 
Return the Channel Width field in the VHT Operation information element.
Definition at line 93 of file vht-operation.cc.
References m_channelWidth.
Referenced by ns3::operator<<(), and SerializeInformationField().
 Here is the caller graph for this function:
      
  | 
  virtual | 
Return the information field size.
Implements ns3::WifiInformationElement.
Definition at line 47 of file vht-operation.cc.
References m_vhtSupported, and NS_ASSERT.
| uint16_t ns3::VhtOperation::GetSerializedSize | ( | void | ) | const | 
Return the serialized size of this VHT Operations IE.
Definition at line 127 of file vht-operation.cc.
References ns3::WifiInformationElement::GetSerializedSize(), and m_vhtSupported.
Referenced by ns3::MgtAssocResponseHeader::GetSerializedSize(), and ns3::MgtProbeResponseHeader::GetSerializedSize().
 Here is the call graph for this function:
 Here is the caller graph for this function:| Buffer::Iterator ns3::VhtOperation::Serialize | ( | Buffer::Iterator | start | ) | const | 
This information element is a bit special in that it is only included if the STA is a VHT STA.
To support this we override the Serialize and GetSerializedSize methods of WifiInformationElement.
| start | 
Definition at line 117 of file vht-operation.cc.
References m_vhtSupported, and ns3::WifiInformationElement::Serialize().
Referenced by ns3::MgtAssocResponseHeader::Serialize(), and ns3::MgtProbeResponseHeader::Serialize().
 Here is the call graph for this function:
 Here is the caller graph for this function:
      
  | 
  virtual | 
Serialize the information field.
| start | the information field iterator | 
Implements ns3::WifiInformationElement.
Definition at line 137 of file vht-operation.cc.
References GetBasicVhtMcsAndNssSet(), GetChannelCenterFrequencySegment0(), GetChannelCenterFrequencySegment1(), GetChannelWidth(), m_vhtSupported, ns3::Buffer::Iterator::WriteU16(), and ns3::Buffer::Iterator::WriteU8().
 Here is the call graph for this function:| void ns3::VhtOperation::SetBasicVhtMcsAndNssSet | ( | uint16_t | basicVhtMcsAndNssSet | ) | 
Set the Basic VHT-MCS and NSS field in the VHT Operation information element.
| basicVhtMcsAndNssSet | the Basic VHT-MCS and NSS field in the VHT Operation information element | 
Definition at line 87 of file vht-operation.cc.
References m_basicVhtMcsAndNssSet.
Referenced by DeserializeInformationField(), and ns3::operator>>().
 Here is the caller graph for this function:| void ns3::VhtOperation::SetChannelCenterFrequencySegment0 | ( | uint8_t | channelCenterFrequencySegment0 | ) | 
Set the Channel Center Frequency Segment 0 field in the VHT Operation information element.
| channelCenterFrequencySegment0 | the Channel Center Frequency Segment 0 field in the VHT Operation information element | 
Definition at line 61 of file vht-operation.cc.
References m_channelCenterFrequencySegment0.
Referenced by DeserializeInformationField(), and ns3::operator>>().
 Here is the caller graph for this function:| void ns3::VhtOperation::SetChannelCenterFrequencySegment1 | ( | uint8_t | channelCenterFrequencySegment1 | ) | 
Set the Channel Center Frequency Segment 1 field in the VHT Operation information element.
| channelCenterFrequencySegment1 | the Channel Center Frequency Segment 1 field in the VHT Operation information element | 
Definition at line 67 of file vht-operation.cc.
References m_channelCenterFrequencySegment1.
Referenced by DeserializeInformationField(), and ns3::operator>>().
 Here is the caller graph for this function:| void ns3::VhtOperation::SetChannelWidth | ( | uint8_t | channelWidth | ) | 
Set the Channel Width field in the VHT Operation information element.
| channelWidth | the Channel Width field in the VHT Operation information element | 
Definition at line 55 of file vht-operation.cc.
References m_channelWidth.
Referenced by DeserializeInformationField(), ns3::ApWifiMac::GetVhtOperation(), and ns3::operator>>().
 Here is the caller graph for this function:| void ns3::VhtOperation::SetMaxVhtMcsPerNss | ( | uint8_t | nss, | 
| uint8_t | maxVhtMcs | ||
| ) | 
Set the Basic VHT-MCS and NSS field in the VHT Operation information element by specifying the tuple (nss, maxMcs).
| nss | the NSS | 
| maxVhtMcs | the maximum supported VHT-MCS value corresponding to that NSS | 
Definition at line 73 of file vht-operation.cc.
References m_basicVhtMcsAndNssSet, and NS_ASSERT.
Referenced by ns3::ApWifiMac::GetVhtOperation().
 Here is the caller graph for this function:| void ns3::VhtOperation::SetVhtSupported | ( | uint8_t | vhtsupported | ) | 
Set the VHT supported information element.
| vhtsupported | the VHT supported information element | 
Definition at line 41 of file vht-operation.cc.
References m_vhtSupported.
Referenced by ns3::ApWifiMac::GetVhtOperation().
 Here is the caller graph for this function:
      
  | 
  private | 
basic VHT MCS NSS set
Definition at line 158 of file vht-operation.h.
Referenced by GetBasicVhtMcsAndNssSet(), SetBasicVhtMcsAndNssSet(), and SetMaxVhtMcsPerNss().
      
  | 
  private | 
channel center frequency segment 0
Definition at line 154 of file vht-operation.h.
Referenced by GetChannelCenterFrequencySegment0(), and SetChannelCenterFrequencySegment0().
      
  | 
  private | 
channel center frequency segment 0
Definition at line 155 of file vht-operation.h.
Referenced by GetChannelCenterFrequencySegment1(), and SetChannelCenterFrequencySegment1().
      
  | 
  private | 
channel width
Definition at line 153 of file vht-operation.h.
Referenced by GetChannelWidth(), and SetChannelWidth().
      
  | 
  private | 
This is used to decide whether this element should be added to the frame or not.
Definition at line 161 of file vht-operation.h.
Referenced by GetInformationFieldSize(), GetSerializedSize(), Serialize(), SerializeInformationField(), and SetVhtSupported().