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, and visualizer.core::start().
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().
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().
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().
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(), and ns3::ApWifiMac::GetVhtOperation().
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().