User Info field of Trigger frames. More...
#include "ctrl-headers.h"
Public Member Functions | |
CtrlTriggerUserInfoField (TriggerFrameType triggerType, TriggerFrameVariant variant) | |
Constructor. More... | |
~CtrlTriggerUserInfoField () | |
Destructor. More... | |
Buffer::Iterator | Deserialize (Buffer::Iterator start) |
Deserialize the User Info field from the given buffer. More... | |
uint16_t | GetAid12 () const |
Get the value of the AID12 subfield. More... | |
bool | GetMoreRaRu () const |
Return true if more RA-RUs are allocated in subsequent Trigger frames that are sent before the end of the current TXOP. More... | |
uint8_t | GetMpduMuSpacingFactor () const |
Get the MPDU MU spacing factor. More... | |
const CtrlBAckRequestHeader & | GetMuBarTriggerDepUserInfo () const |
Get the Trigger Dependent User Info subfield for the MU-BAR variant of Trigger frames, which includes a BAR Control subfield and a BAR Information subfield. More... | |
uint8_t | GetMuRtsRuAllocation () const |
This method can only be called on MU-RTS Trigger Frames. More... | |
uint8_t | GetNRaRus () const |
Get the number of contiguous RUs for Random Access. More... | |
uint8_t | GetNss () const |
Get the number of spatial streams. More... | |
WifiPreamble | GetPreambleType () const |
AcIndex | GetPreferredAc () const |
Get the Preferred AC subfield. More... | |
HeRu::RuSpec | GetRuAllocation () const |
Get the RU specified by the RU Allocation subfield. More... | |
uint32_t | GetSerializedSize () const |
Get the expected size of this User Info field. More... | |
uint8_t | GetStartingSs () const |
Get the starting spatial stream. More... | |
uint8_t | GetTidAggregationLimit () const |
Get the TID Aggregation Limit. More... | |
TriggerFrameType | GetType () const |
Get the type of the Trigger Frame this User Info field belongs to. More... | |
bool | GetUlDcm () const |
Get the UL DCM subfield, which indicates whether or not DCM is used This method can only be used with HE variant User Info field. More... | |
bool | GetUlFecCodingType () const |
Get the UL FEC Coding Type subfield, which indicates whether BCC or LDPC is used. More... | |
uint8_t | GetUlMcs () const |
Get the UL MCS subfield, which indicates the MCS of the solicited HE TB PPDU. More... | |
int8_t | GetUlTargetRssi () const |
Get the expected receive signal power for the solicited HE TB PPDU. More... | |
bool | HasRaRuForAssociatedSta () const |
Check if this User Info field allocates a Random Access RU for stations associated with the AP that transmitted the Trigger frame. More... | |
bool | HasRaRuForUnassociatedSta () const |
Check if this User Info field allocates a Random Access RU for stations not associated with the AP that transmitted the Trigger frame. More... | |
bool | IsUlTargetRssiMaxTxPower () const |
Return true if the UL Target RSSI subfield indicates to the station to transmit an HE TB PPDU response at its maximum transmit power for the assigned MCS. More... | |
CtrlTriggerUserInfoField & | operator= (const CtrlTriggerUserInfoField &userInfo) |
Copy assignment operator. More... | |
void | Print (std::ostream &os) const |
Print the content of this User Info field. More... | |
Buffer::Iterator | Serialize (Buffer::Iterator start) const |
Serialize the User Info field to the given buffer. More... | |
void | SetAid12 (uint16_t aid) |
Set the AID12 subfield, which carries the 12 LSBs of the AID of the station for which this User Info field is intended. More... | |
void | SetBasicTriggerDepUserInfo (uint8_t spacingFactor, uint8_t tidLimit, AcIndex prefAc) |
Set the Trigger Dependent User Info subfield for Basic Trigger frames. More... | |
void | SetMuBarTriggerDepUserInfo (const CtrlBAckRequestHeader &bar) |
Set the Trigger Dependent User Info subfield for the MU-BAR variant of Trigger frames, which includes a BAR Control subfield and a BAR Information subfield. More... | |
void | SetMuRtsRuAllocation (uint8_t value) |
Set the RU Allocation subfield based on the given value for the B7-B1 bits. More... | |
void | SetRaRuInformation (uint8_t nRaRu, bool moreRaRu) |
Set the RA-RU Information subfield, which is present when the AID12 subfield is 0 or 2045. More... | |
void | SetRuAllocation (HeRu::RuSpec ru) |
Set the RU Allocation subfield according to the specified RU. More... | |
void | SetSsAllocation (uint8_t startingSs, uint8_t nSs) |
Set the SS Allocation subfield, which is present when the AID12 subfield is neither 0 nor 2045. More... | |
void | SetUlDcm (bool dcm) |
Set the UL DCM subfield, which indicates whether or not DCM is used. More... | |
void | SetUlFecCodingType (bool ldpc) |
Set the UL FEC Coding Type subfield, which indicates whether BCC or LDPC is used. More... | |
void | SetUlMcs (uint8_t mcs) |
Set the UL MCS subfield, which indicates the MCS of the solicited HE TB PPDU. More... | |
void | SetUlTargetRssi (int8_t dBm) |
Set the UL Target RSSI subfield to indicate the expected receive signal power in dBm. More... | |
void | SetUlTargetRssiMaxTxPower () |
Set the UL Target RSSI subfield to indicate to the station to transmit an HE TB PPDU response at its maximum transmit power for the assigned MCS. More... | |
Private Attributes | |
uint16_t | m_aid12 |
Association ID of the addressed station. More... | |
uint8_t | m_basicTriggerDependentUserInfo |
Basic Trigger variant of Trigger Dependent User Info subfield. More... | |
union { | |
struct { | |
bool moreRaRu | |
More RA-RU in subsequent Trigger frames. More... | |
uint8_t nRaRu | |
Number of Random Access RUs. More... | |
} raRuInformation | |
Used when AID12 is 0 or 2045. More... | |
struct { | |
uint8_t nSs | |
Number of spatial streams. More... | |
uint8_t startingSs | |
Starting spatial stream. More... | |
} ssAllocation | |
Used when AID12 is neither 0 nor 2045. More... | |
} | m_bits26To31 |
Fields occupying bits 26-31 in the User Info field. More... | |
CtrlBAckRequestHeader | m_muBarTriggerDependentUserInfo |
MU-BAR variant of Trigger Dependent User Info subfield. More... | |
bool | m_ps160 |
identifies the location of the RU (EHT variant only) More... | |
uint8_t | m_ruAllocation |
RU Allocation. More... | |
TriggerFrameType | m_triggerType |
Trigger frame type. More... | |
bool | m_ulDcm |
whether or not to use Dual Carrier Modulation (HE variant only) More... | |
bool | m_ulFecCodingType |
UL FEC Coding Type. More... | |
uint8_t | m_ulMcs |
MCS to be used by the addressed station. More... | |
uint8_t | m_ulTargetRssi |
Expected receive signal power. More... | |
TriggerFrameVariant | m_variant |
User Info field variant. More... | |
User Info field of Trigger frames.
Trigger frames, introduced by 802.11ax amendment (see Section 9.3.1.23 of D3.0), include one or more User Info fields, each of which carries information about the HE TB PPDU that the addressed station sends in response to the Trigger frame.
Definition at line 589 of file ctrl-headers.h.
ns3::CtrlTriggerUserInfoField::CtrlTriggerUserInfoField | ( | TriggerFrameType | triggerType, |
TriggerFrameVariant | variant | ||
) |
Constructor.
triggerType | the Trigger frame type |
variant | the Trigger Frame variant |
Definition at line 1109 of file ctrl-headers.cc.
References m_bits26To31.
ns3::CtrlTriggerUserInfoField::~CtrlTriggerUserInfoField | ( | ) |
Destructor.
Definition at line 1125 of file ctrl-headers.cc.
Buffer::Iterator ns3::CtrlTriggerUserInfoField::Deserialize | ( | Buffer::Iterator | start | ) |
Deserialize the User Info field from the given buffer.
start | an iterator which points to where the header should read from |
Definition at line 1243 of file ctrl-headers.cc.
References ns3::BASIC_TRIGGER, ns3::BFRP_TRIGGER, ns3::CtrlBAckRequestHeader::Deserialize(), ns3::EHT, ns3::GCR_MU_BAR_TRIGGER, ns3::HE, m_aid12, m_basicTriggerDependentUserInfo, m_bits26To31, m_muBarTriggerDependentUserInfo, m_ps160, m_ruAllocation, m_triggerType, m_ulDcm, m_ulFecCodingType, m_ulMcs, m_ulTargetRssi, m_variant, ns3::MU_BAR_TRIGGER, ns3::Buffer::Iterator::Next(), ns3::NFRP_TRIGGER, NS_ABORT_MSG_IF, ns3::Buffer::Iterator::ReadLsbtohU32(), ns3::Buffer::Iterator::ReadU8(), and two-ray-to-three-gpp-ch-calibration::start.
Referenced by ns3::CtrlTriggerHeader::Deserialize().
uint16_t ns3::CtrlTriggerUserInfoField::GetAid12 | ( | ) | const |
Get the value of the AID12 subfield.
Definition at line 1325 of file ctrl-headers.cc.
References m_aid12.
Referenced by ns3::CtrlTriggerHeader::FindUserInfoWithAid().
bool ns3::CtrlTriggerUserInfoField::GetMoreRaRu | ( | ) | const |
Return true if more RA-RUs are allocated in subsequent Trigger frames that are sent before the end of the current TXOP.
This method can only be called if the AID12 subfield has been set to 0 or 2045
Definition at line 1565 of file ctrl-headers.cc.
References m_aid12, m_bits26To31, and NS_ABORT_MSG_IF.
uint8_t ns3::CtrlTriggerUserInfoField::GetMpduMuSpacingFactor | ( | ) | const |
Get the MPDU MU spacing factor.
This method can only be called if this User Info field is included in a Basic Trigger frame.
Definition at line 1614 of file ctrl-headers.cc.
References ns3::BASIC_TRIGGER, m_basicTriggerDependentUserInfo, m_triggerType, and NS_ABORT_MSG_IF.
const CtrlBAckRequestHeader & ns3::CtrlTriggerUserInfoField::GetMuBarTriggerDepUserInfo | ( | ) | const |
Get the Trigger Dependent User Info subfield for the MU-BAR variant of Trigger frames, which includes a BAR Control subfield and a BAR Information subfield.
The BAR Control subfield must indicate either a Compressed BlockAckReq variant or a Multi-TID BlockAckReq variant.
Definition at line 1649 of file ctrl-headers.cc.
References m_muBarTriggerDependentUserInfo, m_triggerType, ns3::MU_BAR_TRIGGER, and NS_ABORT_MSG_IF.
uint8_t ns3::CtrlTriggerUserInfoField::GetMuRtsRuAllocation | ( | ) | const |
This method can only be called on MU-RTS Trigger Frames.
Definition at line 1462 of file ctrl-headers.cc.
References m_ruAllocation, m_triggerType, ns3::MU_RTS_TRIGGER, and NS_ABORT_MSG_IF.
uint8_t ns3::CtrlTriggerUserInfoField::GetNRaRus | ( | ) | const |
Get the number of contiguous RUs for Random Access.
This method can only be called if the AID12 subfield has been set to 0 or 2045
Definition at line 1557 of file ctrl-headers.cc.
References m_aid12, m_bits26To31, and NS_ABORT_MSG_IF.
uint8_t ns3::CtrlTriggerUserInfoField::GetNss | ( | ) | const |
Get the number of spatial streams.
Definition at line 1537 of file ctrl-headers.cc.
References m_aid12, and m_bits26To31.
WifiPreamble ns3::CtrlTriggerUserInfoField::GetPreambleType | ( | ) | const |
Definition at line 1304 of file ctrl-headers.cc.
References ns3::EHT, ns3::HE, m_variant, NS_ABORT_MSG, ns3::WIFI_PREAMBLE_EHT_TB, ns3::WIFI_PREAMBLE_HE_TB, and ns3::WIFI_PREAMBLE_LONG.
AcIndex ns3::CtrlTriggerUserInfoField::GetPreferredAc | ( | ) | const |
Get the Preferred AC subfield.
This method can only be called if this User Info field is included in a Basic Trigger frame.
Definition at line 1630 of file ctrl-headers.cc.
References ns3::BASIC_TRIGGER, m_basicTriggerDependentUserInfo, m_triggerType, and NS_ABORT_MSG_IF.
HeRu::RuSpec ns3::CtrlTriggerUserInfoField::GetRuAllocation | ( | ) | const |
Get the RU specified by the RU Allocation subfield.
This method cannot be called on MU-RTS Trigger Frames (call GetMuRtsRuAllocation instead).
Definition at line 1387 of file ctrl-headers.cc.
References m_ruAllocation, m_triggerType, ns3::MU_RTS_TRIGGER, NS_ABORT_MSG_IF, NS_FATAL_ERROR, ns3::HeRu::RU_106_TONE, ns3::HeRu::RU_242_TONE, ns3::HeRu::RU_26_TONE, ns3::HeRu::RU_2x996_TONE, ns3::HeRu::RU_484_TONE, ns3::HeRu::RU_52_TONE, and ns3::HeRu::RU_996_TONE.
uint32_t ns3::CtrlTriggerUserInfoField::GetSerializedSize | ( | ) | const |
Get the expected size of this User Info field.
Definition at line 1163 of file ctrl-headers.cc.
References ns3::BASIC_TRIGGER, ns3::BFRP_TRIGGER, ns3::CtrlBAckRequestHeader::GetSerializedSize(), m_muBarTriggerDependentUserInfo, m_triggerType, and ns3::MU_BAR_TRIGGER.
uint8_t ns3::CtrlTriggerUserInfoField::GetStartingSs | ( | ) | const |
Get the starting spatial stream.
Definition at line 1527 of file ctrl-headers.cc.
References m_aid12, and m_bits26To31.
uint8_t ns3::CtrlTriggerUserInfoField::GetTidAggregationLimit | ( | ) | const |
Get the TID Aggregation Limit.
This method can only be called if this User Info field is included in a Basic Trigger frame.
Definition at line 1622 of file ctrl-headers.cc.
References ns3::BASIC_TRIGGER, m_basicTriggerDependentUserInfo, m_triggerType, and NS_ABORT_MSG_IF.
TriggerFrameType ns3::CtrlTriggerUserInfoField::GetType | ( | ) | const |
Get the type of the Trigger Frame this User Info field belongs to.
Definition at line 1298 of file ctrl-headers.cc.
References m_triggerType.
Referenced by ns3::CtrlTriggerHeader::AddUserInfoField().
bool ns3::CtrlTriggerUserInfoField::GetUlDcm | ( | ) | const |
Get the UL DCM subfield, which indicates whether or not DCM is used This method can only be used with HE variant User Info field.
Definition at line 1509 of file ctrl-headers.cc.
References ns3::HE, m_ulDcm, m_variant, and NS_ASSERT_MSG.
bool ns3::CtrlTriggerUserInfoField::GetUlFecCodingType | ( | ) | const |
Get the UL FEC Coding Type subfield, which indicates whether BCC or LDPC is used.
Definition at line 1482 of file ctrl-headers.cc.
References m_ulFecCodingType.
uint8_t ns3::CtrlTriggerUserInfoField::GetUlMcs | ( | ) | const |
Get the UL MCS subfield, which indicates the MCS of the solicited HE TB PPDU.
Definition at line 1496 of file ctrl-headers.cc.
References m_ulMcs.
int8_t ns3::CtrlTriggerUserInfoField::GetUlTargetRssi | ( | ) | const |
Get the expected receive signal power for the solicited HE TB PPDU.
This method can only be called if IsUlTargetRssiMaxTxPower returns false.
Definition at line 1593 of file ctrl-headers.cc.
References m_ulTargetRssi, and NS_ABORT_MSG_IF.
bool ns3::CtrlTriggerUserInfoField::HasRaRuForAssociatedSta | ( | ) | const |
Check if this User Info field allocates a Random Access RU for stations associated with the AP that transmitted the Trigger frame.
Definition at line 1331 of file ctrl-headers.cc.
References m_aid12.
bool ns3::CtrlTriggerUserInfoField::HasRaRuForUnassociatedSta | ( | ) | const |
Check if this User Info field allocates a Random Access RU for stations not associated with the AP that transmitted the Trigger frame.
Definition at line 1337 of file ctrl-headers.cc.
References m_aid12.
bool ns3::CtrlTriggerUserInfoField::IsUlTargetRssiMaxTxPower | ( | ) | const |
Return true if the UL Target RSSI subfield indicates to the station to transmit an HE TB PPDU response at its maximum transmit power for the assigned MCS.
Definition at line 1587 of file ctrl-headers.cc.
References m_ulTargetRssi.
CtrlTriggerUserInfoField & ns3::CtrlTriggerUserInfoField::operator= | ( | const CtrlTriggerUserInfoField & | userInfo | ) |
Copy assignment operator.
userInfo | the User Info field to copy |
Checks that the given User Info fields is included in the same type of Trigger Frame.
Definition at line 1130 of file ctrl-headers.cc.
References m_aid12, m_basicTriggerDependentUserInfo, m_bits26To31, m_muBarTriggerDependentUserInfo, m_ps160, m_ruAllocation, m_triggerType, m_ulDcm, m_ulFecCodingType, m_ulMcs, m_ulTargetRssi, m_variant, and NS_ABORT_MSG_IF.
void ns3::CtrlTriggerUserInfoField::Print | ( | std::ostream & | os | ) | const |
Print the content of this User Info field.
os | output stream |
Definition at line 1155 of file ctrl-headers.cc.
References ns3::HE, m_aid12, m_ruAllocation, m_ulMcs, and m_variant.
Buffer::Iterator ns3::CtrlTriggerUserInfoField::Serialize | ( | Buffer::Iterator | start | ) | const |
Serialize the User Info field to the given buffer.
start | an iterator which points to where the header should be written |
Definition at line 1186 of file ctrl-headers.cc.
References ns3::BASIC_TRIGGER, ns3::BFRP_TRIGGER, ns3::EHT, ns3::GCR_MU_BAR_TRIGGER, ns3::CtrlBAckRequestHeader::GetSerializedSize(), ns3::HE, m_aid12, m_basicTriggerDependentUserInfo, m_bits26To31, m_muBarTriggerDependentUserInfo, m_ps160, m_ruAllocation, m_triggerType, m_ulDcm, m_ulFecCodingType, m_ulMcs, m_ulTargetRssi, m_variant, ns3::MU_BAR_TRIGGER, ns3::Buffer::Iterator::Next(), ns3::NFRP_TRIGGER, NS_ABORT_MSG_IF, ns3::CtrlBAckRequestHeader::Serialize(), two-ray-to-three-gpp-ch-calibration::start, ns3::Buffer::Iterator::WriteHtolsbU32(), and ns3::Buffer::Iterator::WriteU8().
void ns3::CtrlTriggerUserInfoField::SetAid12 | ( | uint16_t | aid | ) |
Set the AID12 subfield, which carries the 12 LSBs of the AID of the station for which this User Info field is intended.
The whole AID can be passed, since the passed value is properly masked.
aid | the value for the AID12 subfield |
Definition at line 1319 of file ctrl-headers.cc.
References m_aid12.
Referenced by ns3::CtrlTriggerHeader::CtrlTriggerHeader(), ns3::WifiProtectionManager::AddUserInfoToMuRts(), and TestUlOfdmaPowerControl::SendMuBar().
void ns3::CtrlTriggerUserInfoField::SetBasicTriggerDepUserInfo | ( | uint8_t | spacingFactor, |
uint8_t | tidLimit, | ||
AcIndex | prefAc | ||
) |
Set the Trigger Dependent User Info subfield for Basic Trigger frames.
spacingFactor | the MPDU MU spacing factor |
tidLimit | the value for the TID Aggregation Limit subfield |
prefAc | the lowest AC recommended for aggregation of MPDUs |
Definition at line 1601 of file ctrl-headers.cc.
References ns3::BASIC_TRIGGER, m_basicTriggerDependentUserInfo, m_triggerType, and NS_ABORT_MSG_IF.
void ns3::CtrlTriggerUserInfoField::SetMuBarTriggerDepUserInfo | ( | const CtrlBAckRequestHeader & | bar | ) |
Set the Trigger Dependent User Info subfield for the MU-BAR variant of Trigger frames, which includes a BAR Control subfield and a BAR Information subfield.
The BAR Control subfield must indicate either a Compressed BlockAckReq variant or a Multi-TID BlockAckReq variant.
bar | the BlockAckRequest header object including the BAR Control subfield and the BAR Information subfield |
Definition at line 1638 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.
Referenced by TestUlOfdmaPowerControl::SendMuBar().
void ns3::CtrlTriggerUserInfoField::SetMuRtsRuAllocation | ( | uint8_t | value | ) |
Set the RU Allocation subfield based on the given value for the B7-B1 bits.
This method can only be called on MU-RTS Trigger Frames.
B7–B1 of the RU Allocation subfield is set to indicate the primary 20 MHz channel as follows:
B7–B1 of the RU Allocation subfield is set to indicate the primary 40 MHz channel as follows:
B7–B1 of the RU Allocation subfield is set to 67 to indicate the primary 80 MHz channel.
B7–B1 of the RU Allocation subfield is set to 68 to indicate the primary and secondary 80 MHz channel.
value | the value for B7–B1 of the RU Allocation subfield |
Definition at line 1443 of file ctrl-headers.cc.
References m_ruAllocation, m_triggerType, ns3::MU_RTS_TRIGGER, and NS_ABORT_MSG_IF.
Referenced by ns3::WifiProtectionManager::AddUserInfoToMuRts().
void ns3::CtrlTriggerUserInfoField::SetRaRuInformation | ( | uint8_t | nRaRu, |
bool | moreRaRu | ||
) |
Set the RA-RU Information subfield, which is present when the AID12 subfield is 0 or 2045.
This method must be called after setting the AID12 subfield to 0 or 2045.
nRaRu | the number (from 1 to 32) of contiguous RUs allocated for Random Access. |
moreRaRu | whether RA-RUs are allocated in subsequent Trigger frames |
Definition at line 1547 of file ctrl-headers.cc.
References m_aid12, m_bits26To31, moreRaRu, nRaRu, and NS_ABORT_MSG_IF.
void ns3::CtrlTriggerUserInfoField::SetRuAllocation | ( | HeRu::RuSpec | ru | ) |
Set the RU Allocation subfield according to the specified RU.
This method cannot be called on MU-RTS Trigger Frames (call SetMuRtsRuAllocation instead).
ru | the RU this User Info field is allocating |
Definition at line 1343 of file ctrl-headers.cc.
References ns3::HeRu::RuSpec::GetIndex(), ns3::HeRu::RuSpec::GetPrimary80MHz(), ns3::HeRu::RuSpec::GetRuType(), m_ruAllocation, m_triggerType, ns3::MU_RTS_TRIGGER, NS_ABORT_MSG_IF, NS_FATAL_ERROR, ns3::HeRu::RU_106_TONE, ns3::HeRu::RU_242_TONE, ns3::HeRu::RU_26_TONE, ns3::HeRu::RU_2x996_TONE, ns3::HeRu::RU_484_TONE, ns3::HeRu::RU_52_TONE, and ns3::HeRu::RU_996_TONE.
Referenced by ns3::CtrlTriggerHeader::CtrlTriggerHeader(), and TestUlOfdmaPowerControl::SendMuBar().
void ns3::CtrlTriggerUserInfoField::SetSsAllocation | ( | uint8_t | startingSs, |
uint8_t | nSs | ||
) |
Set the SS Allocation subfield, which is present when the AID12 subfield is neither 0 nor 2045.
This method must be called after setting the AID12 subfield to a value other than 0 and 2045.
startingSs | the starting spatial stream (a value from 1 to 8) |
nSs | the number of spatial streams (a value from 1 to 8) |
Definition at line 1516 of file ctrl-headers.cc.
References m_aid12, m_bits26To31, NS_ABORT_MSG_IF, nSs, and startingSs.
Referenced by ns3::CtrlTriggerHeader::CtrlTriggerHeader(), and TestUlOfdmaPowerControl::SendMuBar().
void ns3::CtrlTriggerUserInfoField::SetUlDcm | ( | bool | dcm | ) |
Set the UL DCM subfield, which indicates whether or not DCM is used.
This method can only be used with HE variant User Info field.
dcm | whether to use DCM or not |
Definition at line 1502 of file ctrl-headers.cc.
References ns3::HE, m_ulDcm, m_variant, and NS_ASSERT_MSG.
Referenced by TestUlOfdmaPowerControl::SendMuBar().
void ns3::CtrlTriggerUserInfoField::SetUlFecCodingType | ( | bool | ldpc | ) |
Set the UL FEC Coding Type subfield, which indicates whether BCC or LDPC is used.
ldpc | whether to use LDPC or not |
Definition at line 1476 of file ctrl-headers.cc.
References m_ulFecCodingType.
Referenced by TestUlOfdmaPowerControl::SendMuBar().
void ns3::CtrlTriggerUserInfoField::SetUlMcs | ( | uint8_t | mcs | ) |
Set the UL MCS subfield, which indicates the MCS of the solicited HE TB PPDU.
mcs | the MCS index (a value between 0 and 11) |
Definition at line 1488 of file ctrl-headers.cc.
References ns3::EHT, m_ulMcs, m_variant, and NS_ABORT_MSG_IF.
Referenced by ns3::CtrlTriggerHeader::CtrlTriggerHeader(), and TestUlOfdmaPowerControl::SendMuBar().
void ns3::CtrlTriggerUserInfoField::SetUlTargetRssi | ( | int8_t | dBm | ) |
Set the UL Target RSSI subfield to indicate the expected receive signal power in dBm.
dBm | the expected receive signal power (a value between -110 and -20) |
Definition at line 1579 of file ctrl-headers.cc.
References m_ulTargetRssi, and NS_ABORT_MSG_IF.
Referenced by TestUlOfdmaPowerControl::SendMuBar().
void ns3::CtrlTriggerUserInfoField::SetUlTargetRssiMaxTxPower | ( | ) |
Set the UL Target RSSI subfield to indicate to the station to transmit an HE TB PPDU response at its maximum transmit power for the assigned MCS.
Definition at line 1573 of file ctrl-headers.cc.
References m_ulTargetRssi.
|
private |
Association ID of the addressed station.
Definition at line 892 of file ctrl-headers.h.
Referenced by Deserialize(), GetAid12(), GetMoreRaRu(), GetNRaRus(), GetNss(), GetStartingSs(), HasRaRuForAssociatedSta(), HasRaRuForUnassociatedSta(), operator=(), Print(), Serialize(), SetAid12(), SetRaRuInformation(), and SetSsAllocation().
|
private |
Basic Trigger variant of Trigger Dependent User Info subfield.
Definition at line 915 of file ctrl-headers.h.
Referenced by Deserialize(), GetMpduMuSpacingFactor(), GetPreferredAc(), GetTidAggregationLimit(), operator=(), Serialize(), and SetBasicTriggerDepUserInfo().
union { ... } ns3::CtrlTriggerUserInfoField::m_bits26To31 |
Fields occupying bits 26-31 in the User Info field.
Referenced by CtrlTriggerUserInfoField(), Deserialize(), GetMoreRaRu(), GetNRaRus(), GetNss(), GetStartingSs(), operator=(), Serialize(), SetRaRuInformation(), and SetSsAllocation().
|
private |
MU-BAR variant of Trigger Dependent User Info subfield.
Definition at line 918 of file ctrl-headers.h.
Referenced by Deserialize(), GetMuBarTriggerDepUserInfo(), GetSerializedSize(), operator=(), Serialize(), and SetMuBarTriggerDepUserInfo().
|
private |
identifies the location of the RU (EHT variant only)
Definition at line 897 of file ctrl-headers.h.
Referenced by Deserialize(), operator=(), and Serialize().
|
private |
RU Allocation.
Definition at line 893 of file ctrl-headers.h.
Referenced by Deserialize(), GetMuRtsRuAllocation(), GetRuAllocation(), operator=(), Print(), Serialize(), SetMuRtsRuAllocation(), and SetRuAllocation().
|
private |
Trigger frame type.
Definition at line 914 of file ctrl-headers.h.
Referenced by Deserialize(), GetMpduMuSpacingFactor(), GetMuBarTriggerDepUserInfo(), GetMuRtsRuAllocation(), GetPreferredAc(), GetRuAllocation(), GetSerializedSize(), GetTidAggregationLimit(), GetType(), operator=(), Serialize(), SetBasicTriggerDepUserInfo(), SetMuBarTriggerDepUserInfo(), SetMuRtsRuAllocation(), and SetRuAllocation().
|
private |
whether or not to use Dual Carrier Modulation (HE variant only)
Definition at line 896 of file ctrl-headers.h.
Referenced by Deserialize(), GetUlDcm(), operator=(), Serialize(), and SetUlDcm().
|
private |
UL FEC Coding Type.
Definition at line 894 of file ctrl-headers.h.
Referenced by Deserialize(), GetUlFecCodingType(), operator=(), Serialize(), and SetUlFecCodingType().
|
private |
MCS to be used by the addressed station.
Definition at line 895 of file ctrl-headers.h.
Referenced by Deserialize(), GetUlMcs(), operator=(), Print(), Serialize(), and SetUlMcs().
|
private |
Expected receive signal power.
Definition at line 913 of file ctrl-headers.h.
Referenced by Deserialize(), GetUlTargetRssi(), IsUlTargetRssiMaxTxPower(), operator=(), Serialize(), SetUlTargetRssi(), and SetUlTargetRssiMaxTxPower().
|
private |
User Info field variant.
Definition at line 890 of file ctrl-headers.h.
Referenced by Deserialize(), GetPreambleType(), GetUlDcm(), operator=(), Print(), Serialize(), SetUlDcm(), and SetUlMcs().
bool ns3::CtrlTriggerUserInfoField::moreRaRu |
More RA-RU in subsequent Trigger frames.
Definition at line 909 of file ctrl-headers.h.
Referenced by SetRaRuInformation().
uint8_t ns3::CtrlTriggerUserInfoField::nRaRu |
Number of Random Access RUs.
Definition at line 908 of file ctrl-headers.h.
Referenced by SetRaRuInformation().
uint8_t ns3::CtrlTriggerUserInfoField::nSs |
Number of spatial streams.
Definition at line 903 of file ctrl-headers.h.
Referenced by SetSsAllocation().
struct { ... } ns3::CtrlTriggerUserInfoField::raRuInformation |
Used when AID12 is 0 or 2045.
struct { ... } ns3::CtrlTriggerUserInfoField::ssAllocation |
Used when AID12 is neither 0 nor 2045.
uint8_t ns3::CtrlTriggerUserInfoField::startingSs |
Starting spatial stream.
Definition at line 902 of file ctrl-headers.h.
Referenced by SetSsAllocation().