Special User Info field of Trigger frames. More...
#include "ctrl-headers.h"
Public Member Functions | |
CtrlTriggerSpecialUserInfoField (TriggerFrameType triggerType) | |
Constructor. | |
Buffer::Iterator | Deserialize (Buffer::Iterator start) |
Deserialize the Special User Info field from the given buffer. | |
const CtrlBAckRequestHeader & | GetMuBarTriggerDepUserInfo () const |
Get the Trigger Dependent Special User Info subfield for the MU-BAR variant of Trigger frames, which includes a BAR Type subfield. | |
uint32_t | GetSerializedSize () const |
Get the expected size of this Special User Info field. | |
TriggerFrameType | GetType () const |
Get the type of the Trigger Frame this Special User Info field belongs to. | |
uint8_t | GetUlBwExt () const |
Get the UL Bandwidth Extension subfield value of the solicited EHT TB PPDU. | |
CtrlTriggerSpecialUserInfoField & | operator= (const CtrlTriggerSpecialUserInfoField &other) |
Copy assignment operator. | |
Buffer::Iterator | Serialize (Buffer::Iterator start) const |
Serialize the Special User Info field to the given buffer. | |
void | SetMuBarTriggerDepUserInfo (const CtrlBAckRequestHeader &bar) |
Set the Trigger Dependent Special User Info subfield for the MU-BAR variant of Trigger frames, which includes the BAR Type subfield. | |
void | SetUlBwExt (MHz_u bw) |
Set the UL Bandwidth Extension subfield value of the solicited EHT TB PPDU. | |
Private Attributes | |
CtrlBAckRequestHeader | m_muBarTriggerDependentUserInfo {} |
MU-BAR variant of Trigger Dependent User Info subfield. | |
TriggerFrameType | m_triggerType {} |
Trigger type. | |
uint8_t | m_ulBwExt {} |
UL Bandwidth Extension. | |
Special User Info field of Trigger frames.
Trigger frames have been extended by 802.11be amendment and may include one Special User Info field for a solicited EHT TB PPDU (see Section 9.3.1.22.3 of D7.0). The Special User Info field is located immediately after the Common Info field, it does not carry user specific information but carries extended common information not provided in the Common Info field.
Definition at line 923 of file ctrl-headers.h.
|
explicit |
Constructor.
triggerType | the Trigger frame type |
Definition at line 1768 of file ctrl-headers.cc.
Buffer::Iterator ns3::CtrlTriggerSpecialUserInfoField::Deserialize | ( | Buffer::Iterator | start | ) |
Deserialize the Special User Info field from the given buffer.
start | an iterator which points to where the header should read from |
Definition at line 1847 of file ctrl-headers.cc.
References ns3::AID_SPECIAL_USER, ns3::BASIC_TRIGGER, ns3::BFRP_TRIGGER, ns3::CtrlBAckRequestHeader::Deserialize(), ns3::GCR_MU_BAR_TRIGGER, m_muBarTriggerDependentUserInfo, m_triggerType, m_ulBwExt, ns3::MU_BAR_TRIGGER, ns3::Buffer::Iterator::Next(), ns3::NFRP_TRIGGER, NS_ABORT_MSG_IF, ns3::Buffer::Iterator::ReadLsbtohU32(), and ns3::Buffer::Iterator::ReadU8().
const CtrlBAckRequestHeader & ns3::CtrlTriggerSpecialUserInfoField::GetMuBarTriggerDepUserInfo | ( | ) | const |
Get the Trigger Dependent Special User Info subfield for the MU-BAR variant of Trigger frames, which includes a BAR Type subfield.
Definition at line 1926 of file ctrl-headers.cc.
References m_muBarTriggerDependentUserInfo, m_triggerType, ns3::MU_BAR_TRIGGER, and NS_ABORT_MSG_IF.
uint32_t ns3::CtrlTriggerSpecialUserInfoField::GetSerializedSize | ( | ) | const |
Get the expected size of this Special User Info field.
Definition at line 1790 of file ctrl-headers.cc.
References ns3::BASIC_TRIGGER, ns3::BFRP_TRIGGER, ns3::CtrlBAckRequestHeader::GetSerializedSize(), m_muBarTriggerDependentUserInfo, m_triggerType, and ns3::MU_BAR_TRIGGER.
TriggerFrameType ns3::CtrlTriggerSpecialUserInfoField::GetType | ( | ) | const |
Get the type of the Trigger Frame this Special User Info field belongs to.
Definition at line 1880 of file ctrl-headers.cc.
References m_triggerType.
uint8_t ns3::CtrlTriggerSpecialUserInfoField::GetUlBwExt | ( | ) | const |
Get the UL Bandwidth Extension subfield value of the solicited EHT TB PPDU.
Definition at line 1909 of file ctrl-headers.cc.
References m_ulBwExt.
CtrlTriggerSpecialUserInfoField & ns3::CtrlTriggerSpecialUserInfoField::operator= | ( | const CtrlTriggerSpecialUserInfoField & | other | ) |
Copy assignment operator.
other | the Special User Info field to copy |
Checks that the given Special User Info fields is included in the same type of Trigger Frame.
Definition at line 1774 of file ctrl-headers.cc.
References m_muBarTriggerDependentUserInfo, m_triggerType, and m_ulBwExt.
Buffer::Iterator ns3::CtrlTriggerSpecialUserInfoField::Serialize | ( | Buffer::Iterator | start | ) | const |
Serialize the Special User Info field to the given buffer.
start | an iterator which points to where the header should be written |
Definition at line 1813 of file ctrl-headers.cc.
References ns3::AID_SPECIAL_USER, ns3::BASIC_TRIGGER, ns3::BFRP_TRIGGER, ns3::GCR_MU_BAR_TRIGGER, ns3::CtrlBAckRequestHeader::GetSerializedSize(), m_muBarTriggerDependentUserInfo, m_triggerType, m_ulBwExt, ns3::MU_BAR_TRIGGER, ns3::Buffer::Iterator::Next(), ns3::NFRP_TRIGGER, NS_ABORT_MSG_IF, ns3::CtrlBAckRequestHeader::Serialize(), ns3::Buffer::Iterator::WriteHtolsbU32(), and ns3::Buffer::Iterator::WriteU8().
void ns3::CtrlTriggerSpecialUserInfoField::SetMuBarTriggerDepUserInfo | ( | const CtrlBAckRequestHeader & | bar | ) |
Set the Trigger Dependent Special User Info subfield for the MU-BAR variant of Trigger frames, which includes the BAR Type subfield.
The BAR Type subfield must indicate a Compressed BAR in an MU BAR Trigger frame.
bar | the BlockAckRequest header object including the BAR Control subfield and the BAR Information subfield |
Definition at line 1915 of file ctrl-headers.cc.
References ns3::BlockAckReqType::COMPRESSED, ns3::CtrlBAckRequestHeader::GetType(), m_muBarTriggerDependentUserInfo, m_triggerType, ns3::BlockAckReqType::m_variant, ns3::MU_BAR_TRIGGER, ns3::BlockAckReqType::MULTI_TID, and NS_ABORT_MSG_IF.
void ns3::CtrlTriggerSpecialUserInfoField::SetUlBwExt | ( | MHz_u | bw | ) |
Set the UL Bandwidth Extension subfield value of the solicited EHT TB PPDU.
bw | bandwidth (allowed values: 20 MHz, 40 MHz, 80 MHz, 160 MHz, 320 MHz) |
Definition at line 1886 of file ctrl-headers.cc.
References m_ulBwExt, and NS_FATAL_ERROR.
|
private |
MU-BAR variant of Trigger Dependent User Info subfield.
Definition at line 1011 of file ctrl-headers.h.
Referenced by Deserialize(), GetMuBarTriggerDepUserInfo(), GetSerializedSize(), operator=(), Serialize(), and SetMuBarTriggerDepUserInfo().
|
private |
Trigger type.
Definition at line 1009 of file ctrl-headers.h.
Referenced by Deserialize(), GetMuBarTriggerDepUserInfo(), GetSerializedSize(), GetType(), operator=(), Serialize(), and SetMuBarTriggerDepUserInfo().
|
private |
UL Bandwidth Extension.
Definition at line 1010 of file ctrl-headers.h.
Referenced by Deserialize(), GetUlBwExt(), operator=(), Serialize(), and SetUlBwExt().