A Discrete-Event Network Simulator
API
ctrl-headers.h
Go to the documentation of this file.
1 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
2 /*
3  * Copyright (c) 2009 MIRKO BANCHI
4  *
5  * This program is free software; you can redistribute it and/or modify
6  * it under the terms of the GNU General Public License version 2 as
7  * published by the Free Software Foundation;
8  *
9  * This program is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12  * GNU General Public License for more details.
13  *
14  * You should have received a copy of the GNU General Public License
15  * along with this program; if not, write to the Free Software
16  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
17  *
18  * Author: Mirko Banchi <mk.banchi@gmail.com>
19  */
20 
21 #ifndef CTRL_HEADERS_H
22 #define CTRL_HEADERS_H
23 
24 #include <list>
25 #include <vector>
26 #include "ns3/header.h"
27 #include "block-ack-type.h"
28 #include "ns3/he-ru.h"
29 #include "ns3/mac48-address.h"
30 
31 namespace ns3 {
32 
33 class WifiTxVector;
34 enum AcIndex : uint8_t;
35 
49 {
50 public:
57  static TypeId GetTypeId (void);
58 
59  TypeId GetInstanceTypeId (void) const override;
60  void Print (std::ostream &os) const override;
61  uint32_t GetSerializedSize (void) const override;
62  void Serialize (Buffer::Iterator start) const override;
63  uint32_t Deserialize (Buffer::Iterator start) override;
64 
70  void SetHtImmediateAck (bool immediateAck);
76  void SetType (BlockAckReqType type);
82  void SetTidInfo (uint8_t tid);
89  void SetStartingSequence (uint16_t seq);
90 
97  bool MustSendHtImmediateAck (void) const;
103  BlockAckReqType GetType (void) const;
109  uint8_t GetTidInfo (void) const;
115  uint16_t GetStartingSequence (void) const;
123  bool IsBasic (void) const;
131  bool IsCompressed (void) const;
138  bool IsExtendedCompressed (void) const;
145  bool IsMultiTid (void) const;
146 
152  uint16_t GetStartingSequenceControl (void) const;
153 
154 
155 private:
162  void SetStartingSequenceControl (uint16_t seqControl);
168  uint16_t GetBarControl (void) const;
174  void SetBarControl (uint16_t bar);
175 
184  uint16_t m_tidInfo;
185  uint16_t m_startingSeq;
186 };
187 
188 
202 {
203 public:
210  static TypeId GetTypeId (void);
211  TypeId GetInstanceTypeId (void) const;
212  void Print (std::ostream &os) const;
213  uint32_t GetSerializedSize (void) const;
214  void Serialize (Buffer::Iterator start) const;
216 
222  void SetHtImmediateAck (bool immediateAck);
228  void SetType (BlockAckType type);
238  void SetTidInfo (uint8_t tid, std::size_t index = 0);
248  void SetStartingSequence (uint16_t seq, std::size_t index = 0);
249 
256  bool MustSendHtImmediateAck (void) const;
262  BlockAckType GetType (void) const;
272  uint8_t GetTidInfo (std::size_t index = 0) const;
281  uint16_t GetStartingSequence (std::size_t index = 0) const;
288  bool IsBasic (void) const;
295  bool IsCompressed (void) const;
302  bool IsExtendedCompressed (void) const;
309  bool IsMultiTid (void) const;
316  bool IsMultiSta (void) const;
317 
325  void SetAid11 (uint16_t aid, std::size_t index);
333  uint16_t GetAid11 (std::size_t index) const;
341  void SetAckType (bool type, std::size_t index);
349  bool GetAckType (std::size_t index) const;
358  void SetUnassociatedStaAddress (const Mac48Address& ra, std::size_t index);
367  Mac48Address GetUnassociatedStaAddress (std::size_t index) const;
374  std::size_t GetNPerAidTidInfoSubfields (void) const;
383  std::vector<uint32_t> FindPerAidTidInfoWithAid (uint16_t aid) const;
384 
393  void SetReceivedPacket (uint16_t seq, std::size_t index = 0);
401  void SetReceivedFragment (uint16_t seq, uint8_t frag);
412  bool IsPacketReceived (uint16_t seq, std::size_t index = 0) const;
423  bool IsFragmentReceived (uint16_t seq, uint8_t frag) const;
424 
433  uint16_t GetStartingSequenceControl (std::size_t index = 0) const;
442  void SetStartingSequenceControl (uint16_t seqControl, std::size_t index = 0);
451  const std::vector<uint8_t>& GetBitmap (std::size_t index = 0) const;
452 
459  void ResetBitmap (std::size_t index = 0);
460 
461 
462 private:
468  uint16_t GetBaControl (void) const;
474  void SetBaControl (uint16_t ba);
475 
484  Buffer::Iterator SerializeBitmap (Buffer::Iterator start, std::size_t index = 0) const;
493  Buffer::Iterator DeserializeBitmap (Buffer::Iterator start, std::size_t index = 0);
494 
510  uint16_t IndexInBitmap (uint16_t seq, std::size_t index = 0) const;
511 
521  bool IsInBitmap (uint16_t seq, std::size_t index = 0) const;
522 
531  uint16_t m_tidInfo;
532 
542  {
543  uint16_t m_aidTidInfo;
544  uint16_t m_startingSeq;
547  std::vector<uint8_t> m_bitmap;
549  };
551 
552  std::vector<BaInfoInstance> m_baInfo;
553 };
554 
555 
560 enum TriggerFrameType : uint8_t
561 {
562  BASIC_TRIGGER = 0, // Basic
563  BFRP_TRIGGER = 1, // Beamforming Report Poll
564  MU_BAR_TRIGGER = 2, // Multi-User Block Ack Request
565  MU_RTS_TRIGGER = 3, // Multi-User Request To Send
566  BSRP_TRIGGER = 4, // Buffer Status Report Poll
567  GCR_MU_BAR_TRIGGER = 5, // Groupcast with Retries MU-BAR
568  BQRP_TRIGGER = 6, // Bandwidth Query Report Poll
569  NFRP_TRIGGER = 7 // NDP Feedback Report Poll
570 };
571 
572 
582 {
583 public:
589  CtrlTriggerUserInfoField (uint8_t triggerType);
609  void Print (std::ostream &os) const;
615  uint32_t GetSerializedSize (void) const;
637  TriggerFrameType GetType (void) const;
645  void SetAid12 (uint16_t aid);
651  uint16_t GetAid12 (void) const;
658  bool HasRaRuForAssociatedSta (void) const;
665  bool HasRaRuForUnassociatedSta (void) const;
671  void SetRuAllocation (HeRu::RuSpec ru);
677  HeRu::RuSpec GetRuAllocation (void) const;
683  void SetUlFecCodingType (bool ldpc);
689  bool GetUlFecCodingType (void) const;
695  void SetUlMcs (uint8_t mcs);
701  uint8_t GetUlMcs (void) const;
707  void SetUlDcm (bool dcm);
713  bool GetUlDcm (void) const;
722  void SetSsAllocation (uint8_t startingSs, uint8_t nSs);
728  uint8_t GetStartingSs (void) const;
734  uint8_t GetNss (void) const;
743  void SetRaRuInformation (uint8_t nRaRu, bool moreRaRu);
750  uint8_t GetNRaRus (void) const;
758  bool GetMoreRaRu (void) const;
763  void SetUlTargetRssiMaxTxPower (void);
770  void SetUlTargetRssi (int8_t dBm);
778  bool IsUlTargetRssiMaxTxPower (void) const;
785  int8_t GetUlTargetRssi (void) const;
793  void SetBasicTriggerDepUserInfo (uint8_t spacingFactor, uint8_t tidLimit, AcIndex prefAc);
800  uint8_t GetMpduMuSpacingFactor (void) const;
807  uint8_t GetTidAggregationLimit (void) const;
814  AcIndex GetPreferredAc (void) const;
835 
836 private:
837  uint16_t m_aid12;
838  uint8_t m_ruAllocation;
840  uint8_t m_ulMcs;
841  bool m_ulDcm;
842  union
843  {
844  struct
845  {
846  uint8_t startingSs;
847  uint8_t nSs;
849  struct
850  {
851  uint8_t nRaRu;
852  bool moreRaRu;
855  uint8_t m_ulTargetRssi;
856  uint8_t m_triggerType;
859 };
860 
861 
885 class CtrlTriggerHeader : public Header
886 {
887 public:
904  CtrlTriggerHeader (TriggerFrameType type, const WifiTxVector& txVector);
920  static TypeId GetTypeId (void);
921  TypeId GetInstanceTypeId (void) const;
922  void Print (std::ostream &os) const;
923  uint32_t GetSerializedSize (void) const;
924  void Serialize (Buffer::Iterator start) const;
926 
932  void SetType (TriggerFrameType type);
938  TriggerFrameType GetType (void) const;
944  const char * GetTypeString (void) const;
951  static const char * GetTypeString (TriggerFrameType type);
958  bool IsBasic (void) const;
965  bool IsBfrp (void) const;
972  bool IsMuBar (void) const;
979  bool IsMuRts (void) const;
986  bool IsBsrp (void) const;
993  bool IsGcrMuBar (void) const;
1000  bool IsBqrp (void) const;
1007  bool IsNfrp (void) const;
1013  void SetUlLength (uint16_t len);
1019  uint16_t GetUlLength (void) const;
1028  WifiTxVector GetHeTbTxVector (uint16_t staId) const;
1034  void SetMoreTF (bool more);
1040  bool GetMoreTF (void) const;
1046  void SetCsRequired (bool cs);
1052  bool GetCsRequired (void) const;
1058  void SetUlBandwidth (uint16_t bw);
1064  uint16_t GetUlBandwidth (void) const;
1075  void SetGiAndLtfType (uint16_t guardInterval, uint8_t ltfType);
1081  uint16_t GetGuardInterval (void) const;
1087  uint8_t GetLtfType (void) const;
1093  void SetApTxPower (int8_t power);
1100  int8_t GetApTxPower (void) const;
1106  void SetUlSpatialReuse (uint16_t sr);
1112  uint16_t GetUlSpatialReuse (void) const;
1120 
1138 
1140  typedef std::list<CtrlTriggerUserInfoField>::const_iterator ConstIterator;
1141 
1143  typedef std::list<CtrlTriggerUserInfoField>::iterator Iterator;
1144 
1150  ConstIterator begin (void) const;
1156  ConstIterator end (void) const;
1162  Iterator begin (void);
1168  Iterator end (void);
1174  std::size_t GetNUserInfoFields (void) const;
1185  ConstIterator FindUserInfoWithAid (ConstIterator start, uint16_t aid12) const;
1194  ConstIterator FindUserInfoWithAid (uint16_t aid12) const;
1241  bool IsValid (void) const;
1242 
1243 private:
1247  uint8_t m_triggerType;
1248  uint16_t m_ulLength;
1249  bool m_moreTF;
1251  uint8_t m_ulBandwidth;
1252  uint8_t m_giAndLtfType;
1253  uint8_t m_apTxPower;
1254  uint16_t m_ulSpatialReuse;
1255 
1258  std::list<CtrlTriggerUserInfoField> m_userInfoFields;
1259 };
1260 
1261 } //namespace ns3
1262 
1263 #endif /* CTRL_HEADERS_H */
ns3::CtrlTriggerHeader::end
ConstIterator end(void) const
Get a const iterator indicating past-the-last User Info field in the list.
Definition: ctrl-headers.cc:2016
ns3::CtrlTriggerHeader::operator=
CtrlTriggerHeader & operator=(const CtrlTriggerHeader &trigger)
Copy assignment operator.
Definition: ctrl-headers.cc:1581
ns3::CtrlTriggerHeader::SetUlSpatialReuse
void SetUlSpatialReuse(uint16_t sr)
Set the UL Spatial Reuse subfield of the Common Info field.
Definition: ctrl-headers.cc:1973
ns3::TypeId
a unique identifier for an interface.
Definition: type-id.h:59
ns3::CtrlTriggerUserInfoField::startingSs
uint8_t startingSs
Starting spatial stream.
Definition: ctrl-headers.h:846
ns3::CtrlBAckResponseHeader::BaInfoInstance
The following structure can hold the BA Information field for the Basic and Compressed variants,...
Definition: ctrl-headers.h:542
ns3::CtrlTriggerUserInfoField::SetRuAllocation
void SetRuAllocation(HeRu::RuSpec ru)
Set the RU Allocation subfield according to the specified RU.
Definition: ctrl-headers.cc:1264
ns3::CtrlBAckResponseHeader::IsBasic
bool IsBasic(void) const
Check if the current BA policy is Basic Block Ack.
Definition: ctrl-headers.cc:540
ns3::CtrlTriggerHeader::m_csRequired
bool m_csRequired
Carrier Sense required.
Definition: ctrl-headers.h:1250
ns3::GCR_MU_BAR_TRIGGER
@ GCR_MU_BAR_TRIGGER
Definition: ctrl-headers.h:567
ns3::CtrlTriggerUserInfoField::GetPreferredAc
AcIndex GetPreferredAc(void) const
Get the Preferred AC subfield.
Definition: ctrl-headers.cc:1508
ns3::CtrlTriggerHeader::IsValid
bool IsValid(void) const
Check the validity of this Trigger frame.
Definition: ctrl-headers.cc:2079
ns3::CtrlTriggerUserInfoField::Serialize
Buffer::Iterator Serialize(Buffer::Iterator start) const
Serialize the User Info field to the given buffer.
Definition: ctrl-headers.cc:1144
block-ack-type.h
ns3::CtrlBAckResponseHeader::GetBitmap
const std::vector< uint8_t > & GetBitmap(std::size_t index=0) const
Return a const reference to the bitmap from the BlockAck response header.
Definition: ctrl-headers.cc:1052
ns3::CtrlTriggerHeader::IsBfrp
bool IsBfrp(void) const
Check if this is a Beamforming Report Poll Trigger frame.
Definition: ctrl-headers.cc:1774
ns3::CtrlBAckResponseHeader::IsInBitmap
bool IsInBitmap(uint16_t seq, std::size_t index=0) const
Check if sequence number seq can be acknowledged in the bitmap.
Definition: ctrl-headers.cc:1035
ns3::CtrlTriggerHeader::ConstIterator
std::list< CtrlTriggerUserInfoField >::const_iterator ConstIterator
User Info fields list const iterator.
Definition: ctrl-headers.h:1140
ns3::CtrlBAckResponseHeader::m_tidInfo
uint16_t m_tidInfo
TID info (reserved if Multi-STA Block Ack)
Definition: ctrl-headers.h:531
ns3::CtrlTriggerHeader::GetUlSpatialReuse
uint16_t GetUlSpatialReuse(void) const
Get the UL Spatial Reuse subfield of the Common Info field.
Definition: ctrl-headers.cc:1979
ns3
Every class exported by the ns3 library is enclosed in the ns3 namespace.
ns3::CtrlBAckRequestHeader::~CtrlBAckRequestHeader
~CtrlBAckRequestHeader()
Definition: ctrl-headers.cc:43
ns3::CtrlTriggerHeader::GetGuardInterval
uint16_t GetGuardInterval(void) const
Get the guard interval duration (in nanoseconds) of the solicited HE TB PPDU.
Definition: ctrl-headers.cc:1919
ns3::CtrlBAckResponseHeader::IsPacketReceived
bool IsPacketReceived(uint16_t seq, std::size_t index=0) const
Check if the packet with the given sequence number was acknowledged in this BlockAck response.
Definition: ctrl-headers.cc:939
ns3::CtrlTriggerHeader::GetLtfType
uint8_t GetLtfType(void) const
Get the LTF type of the solicited HE TB PPDU.
Definition: ctrl-headers.cc:1936
ns3::CtrlTriggerUserInfoField::GetNRaRus
uint8_t GetNRaRus(void) const
Get the number of contiguous RUs for Random Access.
Definition: ctrl-headers.cc:1437
ns3::CtrlTriggerHeader::FindUserInfoWithRaRuAssociated
ConstIterator FindUserInfoWithRaRuAssociated(void) const
Get a const iterator pointing to the first User Info field found which allocates a Random Access RU f...
Definition: ctrl-headers.cc:2061
ns3::CtrlBAckResponseHeader::IsExtendedCompressed
bool IsExtendedCompressed(void) const
Check if the current BA policy is Extended Compressed Block Ack.
Definition: ctrl-headers.cc:552
ns3::CtrlTriggerHeader::Print
void Print(std::ostream &os) const
Definition: ctrl-headers.cc:1620
ns3::CtrlTriggerHeader::~CtrlTriggerHeader
~CtrlTriggerHeader()
Definition: ctrl-headers.cc:1576
ns3::CtrlBAckRequestHeader
Headers for BlockAckRequest.
Definition: ctrl-headers.h:49
ns3::CtrlBAckRequestHeader::IsBasic
bool IsBasic(void) const
Check if the current Ack Policy is Basic Block Ack (i.e.
Definition: ctrl-headers.cc:245
ns3::CtrlTriggerUserInfoField::nSs
uint8_t nSs
Number of spatial streams.
Definition: ctrl-headers.h:847
ns3::CtrlTriggerUserInfoField::SetBasicTriggerDepUserInfo
void SetBasicTriggerDepUserInfo(uint8_t spacingFactor, uint8_t tidLimit, AcIndex prefAc)
Set the Trigger Dependent User Info subfield for Basic Trigger frames.
Definition: ctrl-headers.cc:1481
ns3::CtrlTriggerHeader::IsMuBar
bool IsMuBar(void) const
Check if this is a MU-BAR Trigger frame.
Definition: ctrl-headers.cc:1780
ns3::CtrlBAckResponseHeader::GetStartingSequence
uint16_t GetStartingSequence(std::size_t index=0) const
For Block Ack variants other than Multi-STA Block Ack, get the starting sequence number.
Definition: ctrl-headers.cc:530
ns3::CtrlTriggerUserInfoField::GetUlMcs
uint8_t GetUlMcs(void) const
Get the UL MCS subfield, which indicates the MCS of the solicited HE TB PPDU.
Definition: ctrl-headers.cc:1378
ns3::TriggerFrameType
TriggerFrameType
The different Trigger frame types.
Definition: ctrl-headers.h:561
ns3::CtrlBAckResponseHeader::SetHtImmediateAck
void SetHtImmediateAck(bool immediateAck)
Enable or disable HT immediate Ack.
Definition: ctrl-headers.cc:450
ns3::CtrlTriggerUserInfoField::GetTidAggregationLimit
uint8_t GetTidAggregationLimit(void) const
Get the TID Aggregation Limit.
Definition: ctrl-headers.cc:1500
ns3::Mac48Address
an EUI-48 address
Definition: mac48-address.h:44
ns3::CtrlTriggerHeader::CtrlTriggerHeader
CtrlTriggerHeader()
Definition: ctrl-headers.cc:1539
ns3::CtrlBAckResponseHeader::SetUnassociatedStaAddress
void SetUnassociatedStaAddress(const Mac48Address &ra, std::size_t index)
For Multi-STA Block Acks, set the RA subfield of the Per AID TID Info subfield (with AID11 subfield e...
Definition: ctrl-headers.cc:605
ns3::CtrlTriggerHeader::GetTypeId
static TypeId GetTypeId(void)
Get the type ID.
Definition: ctrl-headers.cc:1603
ns3::WifiTxVector
This class mimics the TXVECTOR which is to be passed to the PHY in order to define the parameters whi...
Definition: wifi-tx-vector.h:71
ns3::CtrlBAckRequestHeader::IsMultiTid
bool IsMultiTid(void) const
Check if the current Ack Policy has Multi-TID Block Ack.
Definition: ctrl-headers.cc:263
ns3::CtrlBAckResponseHeader::GetNPerAidTidInfoSubfields
std::size_t GetNPerAidTidInfoSubfields(void) const
For Multi-STA Block Acks, get the number of Per AID TID Info subfields included in this Block Ack.
Definition: ctrl-headers.cc:621
ns3::CtrlBAckResponseHeader::GetStartingSequenceControl
uint16_t GetStartingSequenceControl(std::size_t index=0) const
Return the value of the Starting Sequence Control subfield.
Definition: ctrl-headers.cc:714
ns3::CtrlTriggerHeader::m_ulSpatialReuse
uint16_t m_ulSpatialReuse
Value for the Spatial Reuse field in HE-SIG-A.
Definition: ctrl-headers.h:1254
ns3::CtrlBAckResponseHeader::m_baAckPolicy
bool m_baAckPolicy
The LSB bit of the BA control field is used only for the HT (High Throughput) delayed block ack confi...
Definition: ctrl-headers.h:529
ns3::CtrlTriggerUserInfoField::SetUlMcs
void SetUlMcs(uint8_t mcs)
Set the UL MCS subfield, which indicates the MCS of the solicited HE TB PPDU.
Definition: ctrl-headers.cc:1371
ns3::CtrlBAckResponseHeader::Serialize
void Serialize(Buffer::Iterator start) const
Definition: ctrl-headers.cc:352
ns3::CtrlBAckResponseHeader::ResetBitmap
void ResetBitmap(std::size_t index=0)
Reset the bitmap to 0.
Definition: ctrl-headers.cc:1062
ns3::CtrlBAckResponseHeader::DeserializeBitmap
Buffer::Iterator DeserializeBitmap(Buffer::Iterator start, std::size_t index=0)
Deserialize bitmap from the given buffer.
Definition: ctrl-headers.cc:847
ns3::CtrlBAckResponseHeader::SetTidInfo
void SetTidInfo(uint8_t tid, std::size_t index=0)
For Block Ack variants other than Multi-STA Block Ack, set the TID_INFO subfield of the BA Control fi...
Definition: ctrl-headers.cc:477
ns3::CtrlTriggerUserInfoField::m_ulFecCodingType
bool m_ulFecCodingType
UL FEC Coding Type.
Definition: ctrl-headers.h:839
ns3::CtrlTriggerHeader::m_apTxPower
uint8_t m_apTxPower
Tx Power used by AP to transmit the Trigger Frame.
Definition: ctrl-headers.h:1253
ns3::CtrlTriggerHeader::Serialize
void Serialize(Buffer::Iterator start) const
Definition: ctrl-headers.cc:1654
ns3::CtrlTriggerUserInfoField::SetUlFecCodingType
void SetUlFecCodingType(bool ldpc)
Set the UL FEC Coding Type subfield, which indicates whether BCC or LDPC is used.
Definition: ctrl-headers.cc:1359
ns3::CtrlTriggerUserInfoField::GetType
TriggerFrameType GetType(void) const
Get the type of the Trigger Frame this User Info field belongs to.
Definition: ctrl-headers.cc:1234
ns3::CtrlTriggerUserInfoField::SetRaRuInformation
void SetRaRuInformation(uint8_t nRaRu, bool moreRaRu)
Set the RA-RU Information subfield, which is present when the AID12 subfield is 0 or 2045.
Definition: ctrl-headers.cc:1427
ns3::MU_BAR_TRIGGER
@ MU_BAR_TRIGGER
Definition: ctrl-headers.h:564
ns3::CtrlTriggerUserInfoField::nRaRu
uint8_t nRaRu
Number of Random Access RUs.
Definition: ctrl-headers.h:851
ns3::CtrlTriggerUserInfoField::m_basicTriggerDependentUserInfo
uint8_t m_basicTriggerDependentUserInfo
Basic Trigger variant of Trigger Dependent User Info subfield.
Definition: ctrl-headers.h:857
ns3::CtrlBAckResponseHeader::IsFragmentReceived
bool IsFragmentReceived(uint16_t seq, uint8_t frag) const
Check if the packet with the given sequence number and fragment number was acknowledged in this Block...
Definition: ctrl-headers.cc:979
ns3::CtrlTriggerUserInfoField::m_bits26To31
union ns3::CtrlTriggerUserInfoField::@0 m_bits26To31
Fields occupying bits 26-31 in the User Info field.
ns3::CtrlTriggerHeader::SetType
void SetType(TriggerFrameType type)
Set the Trigger frame type.
Definition: ctrl-headers.cc:1726
ns3::CtrlBAckResponseHeader::GetInstanceTypeId
TypeId GetInstanceTypeId(void) const
Get the most derived TypeId for this Object.
Definition: ctrl-headers.cc:298
ns3::CtrlTriggerUserInfoField::HasRaRuForAssociatedSta
bool HasRaRuForAssociatedSta(void) const
Check if this User Info field allocates a Random Access RU for stations associated with the AP that t...
Definition: ctrl-headers.cc:1252
ns3::CtrlTriggerHeader::IsBqrp
bool IsBqrp(void) const
Check if this is a Bandwidth Query Report Poll Trigger frame.
Definition: ctrl-headers.cc:1804
ns3::CtrlBAckRequestHeader::IsCompressed
bool IsCompressed(void) const
Check if the current Ack Policy is Compressed Block Ack and not multi-TID.
Definition: ctrl-headers.cc:251
ns3::CtrlBAckResponseHeader::SetBaControl
void SetBaControl(uint16_t ba)
Set the Block Ack control.
Definition: ctrl-headers.cc:680
ns3::CtrlBAckResponseHeader::IsMultiSta
bool IsMultiSta(void) const
Check if the BlockAck frame variant is Multi-STA Block Ack.
Definition: ctrl-headers.cc:564
ns3::CtrlBAckResponseHeader::SetAid11
void SetAid11(uint16_t aid, std::size_t index)
For Multi-STA Block Acks, set the AID11 subfield of the Per AID TID Info subfield identified by the g...
Definition: ctrl-headers.cc:570
ns3::CtrlTriggerUserInfoField::m_ruAllocation
uint8_t m_ruAllocation
RU Allocation.
Definition: ctrl-headers.h:838
ns3::CtrlTriggerUserInfoField::GetUlDcm
bool GetUlDcm(void) const
Get the UL DCM subfield, which indicates whether or not DCM is used.
Definition: ctrl-headers.cc:1390
visualizer.core.start
def start()
Definition: core.py:1855
ns3::CtrlBAckRequestHeader::SetStartingSequence
void SetStartingSequence(uint16_t seq)
Set the starting sequence number from the given raw sequence control field.
Definition: ctrl-headers.cc:220
ns3::CtrlTriggerUserInfoField::raRuInformation
struct ns3::CtrlTriggerUserInfoField::@0::@2 raRuInformation
Used when AID12 is 0 or 2045.
ns3::HeRu::RuSpec
RU Specification.
Definition: he-ru.h:68
ns3::CtrlBAckResponseHeader::IsMultiTid
bool IsMultiTid(void) const
Check if the current BA policy is Multi-TID Block Ack.
Definition: ctrl-headers.cc:558
ns3::CtrlBAckRequestHeader::Print
void Print(std::ostream &os) const override
Definition: ctrl-headers.cc:65
ns3::BlockAckReqType
The different BlockAckRequest variants.
Definition: block-ack-type.h:75
ns3::CtrlBAckResponseHeader::SetReceivedPacket
void SetReceivedPacket(uint16_t seq, std::size_t index=0)
Record in the bitmap that the packet with the given sequence number was received.
Definition: ctrl-headers.cc:876
ns3::CtrlBAckResponseHeader::BaInfoInstance::m_startingSeq
uint16_t m_startingSeq
Block Ack Starting Sequence Control subfield.
Definition: ctrl-headers.h:546
ns3::CtrlTriggerUserInfoField::GetUlTargetRssi
int8_t GetUlTargetRssi(void) const
Get the expected receive signal power for the solicited HE TB PPDU.
Definition: ctrl-headers.cc:1473
ns3::CtrlTriggerHeader::GetUlBandwidth
uint16_t GetUlBandwidth(void) const
Get the bandwidth of the solicited HE TB PPDU.
Definition: ctrl-headers.cc:1892
ns3::CtrlTriggerUserInfoField::GetMpduMuSpacingFactor
uint8_t GetMpduMuSpacingFactor(void) const
Get the MPDU MU spacing factor.
Definition: ctrl-headers.cc:1492
ns3::CtrlTriggerHeader::GetSerializedSize
uint32_t GetSerializedSize(void) const
Definition: ctrl-headers.cc:1632
ns3::CtrlBAckRequestHeader::SetTidInfo
void SetTidInfo(uint8_t tid)
Set Traffic ID (TID).
Definition: ctrl-headers.cc:214
ns3::CtrlTriggerHeader::SetGiAndLtfType
void SetGiAndLtfType(uint16_t guardInterval, uint8_t ltfType)
Set the GI And LTF Type subfield of the Common Info field.
Definition: ctrl-headers.cc:1898
ns3::CtrlTriggerUserInfoField::GetAid12
uint16_t GetAid12(void) const
Get the value of the AID12 subfield.
Definition: ctrl-headers.cc:1246
ns3::CtrlBAckResponseHeader::SetAckType
void SetAckType(bool type, std::size_t index)
For Multi-STA Block Acks, set the Ack Type subfield of the Per AID TID Info subfield identified by th...
Definition: ctrl-headers.cc:586
ns3::CtrlTriggerUserInfoField::SetUlTargetRssi
void SetUlTargetRssi(int8_t dBm)
Set the UL Target RSSI subfield to indicate the expected receive signal power in dBm.
Definition: ctrl-headers.cc:1459
ns3::CtrlTriggerHeader::begin
ConstIterator begin(void) const
Get a const iterator pointing to the first User Info field in the list.
Definition: ctrl-headers.cc:2010
ns3::CtrlTriggerUserInfoField::moreRaRu
bool moreRaRu
More RA-RU in subsequent Trigger frames.
Definition: ctrl-headers.h:852
ns3::CtrlTriggerHeader::FindUserInfoWithRaRuUnassociated
ConstIterator FindUserInfoWithRaRuUnassociated(void) const
Get a const iterator pointing to the first User Info field found which allocates a Random Access RU f...
Definition: ctrl-headers.cc:2073
ns3::CtrlTriggerUserInfoField::SetUlTargetRssiMaxTxPower
void SetUlTargetRssiMaxTxPower(void)
Set the UL Target RSSI subfield to indicate to the station to transmit an HE TB PPDU response at its ...
Definition: ctrl-headers.cc:1453
ns3::CtrlTriggerHeader::IsBasic
bool IsBasic(void) const
Check if this is a Basic Trigger frame.
Definition: ctrl-headers.cc:1768
ns3::BSRP_TRIGGER
@ BSRP_TRIGGER
Definition: ctrl-headers.h:566
ns3::BlockAckType
The different BlockAck variants.
Definition: block-ack-type.h:34
ns3::CtrlTriggerUserInfoField::GetUlFecCodingType
bool GetUlFecCodingType(void) const
Get the UL FEC Coding Type subfield, which indicates whether BCC or LDPC is used.
Definition: ctrl-headers.cc:1365
ns3::CtrlTriggerHeader::m_moreTF
bool m_moreTF
True if a subsequent Trigger frame follows.
Definition: ctrl-headers.h:1249
ns3::CtrlTriggerHeader::AddUserInfoField
CtrlTriggerUserInfoField & AddUserInfoField(void)
Append a new User Info field to this Trigger frame and return a non-const reference to it.
Definition: ctrl-headers.cc:1994
ns3::CtrlTriggerHeader
Headers for Trigger frames.
Definition: ctrl-headers.h:886
ns3::CtrlBAckResponseHeader::m_baInfo
std::vector< BaInfoInstance > m_baInfo
BA Information field.
Definition: ctrl-headers.h:552
ns3::CtrlTriggerHeader::SetUlBandwidth
void SetUlBandwidth(uint16_t bw)
Set the bandwidth of the solicited HE TB PPDU.
Definition: ctrl-headers.cc:1869
ns3::CtrlBAckResponseHeader::GetAid11
uint16_t GetAid11(std::size_t index) const
For Multi-STA Block Acks, get the AID11 subfield of the Per AID TID Info subfield identified by the g...
Definition: ctrl-headers.cc:578
ns3::CtrlTriggerUserInfoField::GetRuAllocation
HeRu::RuSpec GetRuAllocation(void) const
Get the RU specified by the RU Allocation subfield.
Definition: ctrl-headers.cc:1306
ns3::CtrlTriggerUserInfoField::m_muBarTriggerDependentUserInfo
CtrlBAckRequestHeader m_muBarTriggerDependentUserInfo
MU-BAR variant of Trigger Dependent User Info subfield.
Definition: ctrl-headers.h:858
ns3::CtrlTriggerUserInfoField::~CtrlTriggerUserInfoField
~CtrlTriggerUserInfoField()
Destructor.
Definition: ctrl-headers.cc:1089
ns3::CtrlTriggerHeader::IsGcrMuBar
bool IsGcrMuBar(void) const
Check if this is a Groupcast with Retries (GCR) MU-BAR Trigger frame.
Definition: ctrl-headers.cc:1798
ns3::CtrlTriggerUserInfoField::m_ulTargetRssi
uint8_t m_ulTargetRssi
Expected receive signal power.
Definition: ctrl-headers.h:855
ns3::CtrlTriggerUserInfoField::CtrlTriggerUserInfoField
CtrlTriggerUserInfoField(uint8_t triggerType)
Constructor.
Definition: ctrl-headers.cc:1076
ns3::NFRP_TRIGGER
@ NFRP_TRIGGER
Definition: ctrl-headers.h:569
ns3::Header
Protocol header serialization and deserialization.
Definition: header.h:43
ns3::CtrlTriggerUserInfoField::SetUlDcm
void SetUlDcm(bool dcm)
Set the UL DCM subfield, which indicates whether or not DCM is used.
Definition: ctrl-headers.cc:1384
ns3::CtrlBAckResponseHeader::IndexInBitmap
uint16_t IndexInBitmap(uint16_t seq, std::size_t index=0) const
This function is used to correctly index in both bitmap and compressed bitmap, one bit or one block o...
Definition: ctrl-headers.cc:1011
ns3::CtrlTriggerHeader::GetNUserInfoFields
std::size_t GetNUserInfoFields(void) const
Get the number of User Info fields in this Trigger Frame.
Definition: ctrl-headers.cc:2034
ns3::CtrlTriggerHeader::GetApTxPower
int8_t GetApTxPower(void) const
Get the power value (dBm) indicated by the AP TX Power subfield of the Common Info field.
Definition: ctrl-headers.cc:1966
ns3::CtrlTriggerUserInfoField::IsUlTargetRssiMaxTxPower
bool IsUlTargetRssiMaxTxPower(void) const
Return true if the UL Target RSSI subfield indicates to the station to transmit an HE TB PPDU respons...
Definition: ctrl-headers.cc:1467
ns3::CtrlTriggerHeader::GetUlLength
uint16_t GetUlLength(void) const
Get the UL Length subfield of the Common Info field.
Definition: ctrl-headers.cc:1822
ns3::CtrlBAckResponseHeader::SetStartingSequence
void SetStartingSequence(uint16_t seq, std::size_t index=0)
For Block Ack variants other than Multi-STA Block Ack, set the starting sequence number to the given ...
Definition: ctrl-headers.cc:494
ns3::CtrlBAckRequestHeader::GetBarControl
uint16_t GetBarControl(void) const
Return the Block Ack control.
Definition: ctrl-headers.cc:136
ns3::CtrlTriggerUserInfoField::m_triggerType
uint8_t m_triggerType
Trigger frame type.
Definition: ctrl-headers.h:856
ns3::CtrlTriggerUserInfoField
User Info field of Trigger frames.
Definition: ctrl-headers.h:582
ns3::BFRP_TRIGGER
@ BFRP_TRIGGER
Definition: ctrl-headers.h:563
ns3::CtrlTriggerHeader::SetUlLength
void SetUlLength(uint16_t len)
Set the UL Length subfield of the Common Info field.
Definition: ctrl-headers.cc:1816
ns3::CtrlBAckRequestHeader::GetTypeId
static TypeId GetTypeId(void)
Get the type ID.
Definition: ctrl-headers.cc:48
ns3::CtrlTriggerHeader::GetType
TriggerFrameType GetType(void) const
Get the Trigger Frame type.
Definition: ctrl-headers.cc:1732
ns3::Header::Deserialize
virtual uint32_t Deserialize(Buffer::Iterator start)=0
Deserialize the object from a buffer iterator.
ns3::CtrlTriggerUserInfoField::GetMoreRaRu
bool GetMoreRaRu(void) const
Return true if more RA-RUs are allocated in subsequent Trigger frames that are sent before the end of...
Definition: ctrl-headers.cc:1445
ns3::CtrlBAckResponseHeader::SetType
void SetType(BlockAckType type)
Set the block ack type.
Definition: ctrl-headers.cc:456
ns3::Buffer::Iterator
iterator in a Buffer instance
Definition: buffer.h:99
ns3::CtrlTriggerHeader::GetCommonInfoField
CtrlTriggerHeader GetCommonInfoField(void) const
Get a copy of the Common Info field of this Trigger frame.
Definition: ctrl-headers.cc:1985
ns3::CtrlBAckResponseHeader::GetAckType
bool GetAckType(std::size_t index) const
For Multi-STA Block Acks, get the Ack Type subfield of the Per AID TID Info subfield identified by th...
Definition: ctrl-headers.cc:597
ns3::CtrlTriggerHeader::m_ulLength
uint16_t m_ulLength
Value for the L-SIG Length field.
Definition: ctrl-headers.h:1248
ns3::CtrlBAckResponseHeader::GetTidInfo
uint8_t GetTidInfo(std::size_t index=0) const
For Block Ack variants other than Multi-STA Block Ack, get the TID_INFO subfield of the BA Control fi...
Definition: ctrl-headers.cc:510
ns3::CtrlTriggerHeader::Iterator
std::list< CtrlTriggerUserInfoField >::iterator Iterator
User Info fields list iterator.
Definition: ctrl-headers.h:1143
ns3::CtrlBAckRequestHeader::MustSendHtImmediateAck
bool MustSendHtImmediateAck(void) const
Check if the current Ack Policy is immediate.
Definition: ctrl-headers.cc:226
ns3::CtrlBAckResponseHeader::m_baType
BlockAckType m_baType
BA type.
Definition: ctrl-headers.h:530
ns3::CtrlBAckResponseHeader::MustSendHtImmediateAck
bool MustSendHtImmediateAck(void) const
Check if the current Ack Policy is immediate.
Definition: ctrl-headers.cc:504
ns3::CtrlTriggerUserInfoField::m_ulMcs
uint8_t m_ulMcs
MCS to be used by the addressed station.
Definition: ctrl-headers.h:840
ns3::BQRP_TRIGGER
@ BQRP_TRIGGER
Definition: ctrl-headers.h:568
ns3::CtrlTriggerHeader::m_ulBandwidth
uint8_t m_ulBandwidth
UL BW subfield.
Definition: ctrl-headers.h:1251
ns3::CtrlBAckResponseHeader::BaInfoInstance::m_ra
Mac48Address m_ra
RA subfield (address of an unassociated station) for Multi-STA; reserved for other variants.
Definition: ctrl-headers.h:548
ns3::CtrlTriggerUserInfoField::Print
void Print(std::ostream &os) const
Print the content of this User Info field.
Definition: ctrl-headers.cc:1117
ns3::CtrlTriggerHeader::GetCsRequired
bool GetCsRequired(void) const
Get the CS Required subfield of the Common Info field.
Definition: ctrl-headers.cc:1863
ns3::CtrlBAckRequestHeader::SetBarControl
void SetBarControl(uint16_t bar)
Set the Block Ack control.
Definition: ctrl-headers.cc:161
ns3::CtrlBAckResponseHeader::SetReceivedFragment
void SetReceivedFragment(uint16_t seq, uint8_t frag)
Set the bitmap that the packet with the given sequence number and fragment number was received.
Definition: ctrl-headers.cc:911
ns3::CtrlTriggerUserInfoField::GetNss
uint8_t GetNss(void) const
Get the number of spatial streams.
Definition: ctrl-headers.cc:1417
ns3::CtrlBAckResponseHeader::CtrlBAckResponseHeader
CtrlBAckResponseHeader()
Definition: ctrl-headers.cc:275
ns3::CtrlBAckRequestHeader::m_startingSeq
uint16_t m_startingSeq
starting seq
Definition: ctrl-headers.h:185
ns3::CtrlBAckRequestHeader::m_barAckPolicy
bool m_barAckPolicy
The LSB bit of the BAR control field is used only for the HT (High Throughput) delayed block ack conf...
Definition: ctrl-headers.h:182
ns3::MU_RTS_TRIGGER
@ MU_RTS_TRIGGER
Definition: ctrl-headers.h:565
ns3::CtrlBAckRequestHeader::SetHtImmediateAck
void SetHtImmediateAck(bool immediateAck)
Enable or disable HT immediate Ack.
Definition: ctrl-headers.cc:196
ns3::CtrlBAckResponseHeader::GetBaControl
uint16_t GetBaControl(void) const
Return the Block Ack control.
Definition: ctrl-headers.cc:645
ns3::BASIC_TRIGGER
@ BASIC_TRIGGER
Definition: ctrl-headers.h:562
ns3::CtrlBAckRequestHeader::m_barType
BlockAckReqType m_barType
BAR type.
Definition: ctrl-headers.h:183
ns3::CtrlTriggerUserInfoField::SetAid12
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 ...
Definition: ctrl-headers.cc:1240
ns3::AcIndex
AcIndex
This enumeration defines the Access Categories as an enumeration with values corresponding to the AC ...
Definition: qos-utils.h:71
ns3::CtrlBAckResponseHeader::BaInfoInstance::m_aidTidInfo
uint16_t m_aidTidInfo
Reserved for Basic and Compressed Per TID Info subfield for Multi-TID AID TID Info subfield for Multi...
Definition: ctrl-headers.h:543
ns3::CtrlBAckRequestHeader::IsExtendedCompressed
bool IsExtendedCompressed(void) const
Check if the current Ack Policy is Extended Compressed Block Ack.
Definition: ctrl-headers.cc:257
ns3::CtrlTriggerHeader::IsBsrp
bool IsBsrp(void) const
Check if this is a Buffer Status Report Poll Trigger frame.
Definition: ctrl-headers.cc:1792
ns3::CtrlTriggerHeader::m_triggerType
uint8_t m_triggerType
Common Info field.
Definition: ctrl-headers.h:1247
ns3::CtrlTriggerHeader::SetApTxPower
void SetApTxPower(int8_t power)
Set the AP TX Power subfield of the Common Info field.
Definition: ctrl-headers.cc:1957
ns3::CtrlBAckResponseHeader::BaInfoInstance::m_bitmap
std::vector< uint8_t > m_bitmap
block ack bitmap
Definition: ctrl-headers.h:547
ns3::CtrlTriggerUserInfoField::Deserialize
Buffer::Iterator Deserialize(Buffer::Iterator start)
Deserialize the User Info field from the given buffer.
Definition: ctrl-headers.cc:1190
ns3::CtrlTriggerUserInfoField::m_ulDcm
bool m_ulDcm
whether or not to use Dual Carrier Modulation
Definition: ctrl-headers.h:841
ns3::CtrlTriggerHeader::IsNfrp
bool IsNfrp(void) const
Check if this is a NDP Feedback Report Poll Trigger frame.
Definition: ctrl-headers.cc:1810
ns3::CtrlBAckResponseHeader::Print
void Print(std::ostream &os) const
Definition: ctrl-headers.cc:304
ns3::CtrlBAckRequestHeader::CtrlBAckRequestHeader
CtrlBAckRequestHeader()
Definition: ctrl-headers.cc:37
ns3::CtrlTriggerUserInfoField::GetSerializedSize
uint32_t GetSerializedSize(void) const
Get the expected size of this User Info field.
Definition: ctrl-headers.cc:1123
ns3::CtrlBAckResponseHeader::GetUnassociatedStaAddress
Mac48Address GetUnassociatedStaAddress(std::size_t index) const
For Multi-STA Block Acks, get the RA subfield of the Per AID TID Info subfield (with AID11 subfield e...
Definition: ctrl-headers.cc:613
ns3::CtrlTriggerUserInfoField::m_aid12
uint16_t m_aid12
Association ID of the addressed station.
Definition: ctrl-headers.h:837
ns3::CtrlBAckRequestHeader::GetStartingSequenceControl
uint16_t GetStartingSequenceControl(void) const
Return the starting sequence control.
Definition: ctrl-headers.cc:184
ns3::CtrlTriggerUserInfoField::operator=
CtrlTriggerUserInfoField & operator=(const CtrlTriggerUserInfoField &userInfo)
Copy assignment operator.
Definition: ctrl-headers.cc:1094
ns3::CtrlBAckRequestHeader::Serialize
void Serialize(Buffer::Iterator start) const override
Definition: ctrl-headers.cc:93
ns3::CtrlTriggerHeader::GetInstanceTypeId
TypeId GetInstanceTypeId(void) const
Get the most derived TypeId for this Object.
Definition: ctrl-headers.cc:1614
ns3::CtrlTriggerUserInfoField::SetSsAllocation
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.
Definition: ctrl-headers.cc:1396
ns3::CtrlBAckResponseHeader::GetType
BlockAckType GetType(void) const
Return the block ack type ID.
Definition: ctrl-headers.cc:471
ns3::CtrlBAckRequestHeader::GetStartingSequence
uint16_t GetStartingSequence(void) const
Return the starting sequence number.
Definition: ctrl-headers.cc:239
ns3::CtrlBAckResponseHeader::IsCompressed
bool IsCompressed(void) const
Check if the current BA policy is Compressed Block Ack.
Definition: ctrl-headers.cc:546
ns3::CtrlTriggerUserInfoField::GetStartingSs
uint8_t GetStartingSs(void) const
Get the starting spatial stream.
Definition: ctrl-headers.cc:1407
ns3::CtrlBAckResponseHeader::GetTypeId
static TypeId GetTypeId(void)
Get the type ID.
Definition: ctrl-headers.cc:287
ns3::CtrlBAckRequestHeader::m_tidInfo
uint16_t m_tidInfo
TID info.
Definition: ctrl-headers.h:184
ns3::CtrlBAckResponseHeader::FindPerAidTidInfoWithAid
std::vector< uint32_t > FindPerAidTidInfoWithAid(uint16_t aid) const
For Multi-STA Block Acks, get the indices of the Per AID TID Info subfields carrying the given AID in...
Definition: ctrl-headers.cc:628
ns3::CtrlTriggerUserInfoField::SetMuBarTriggerDepUserInfo
void SetMuBarTriggerDepUserInfo(const CtrlBAckRequestHeader &bar)
Set the Trigger Dependent User Info subfield for the MU-BAR variant of Trigger frames,...
Definition: ctrl-headers.cc:1516
ns3::CtrlBAckResponseHeader::~CtrlBAckResponseHeader
~CtrlBAckResponseHeader()
Definition: ctrl-headers.cc:282
ns3::CtrlBAckResponseHeader::SerializeBitmap
Buffer::Iterator SerializeBitmap(Buffer::Iterator start, std::size_t index=0) const
Serialize bitmap to the given buffer.
Definition: ctrl-headers.cc:818
ns3::CtrlTriggerUserInfoField::GetMuBarTriggerDepUserInfo
const CtrlBAckRequestHeader & GetMuBarTriggerDepUserInfo(void) const
Get the Trigger Dependent User Info subfield for the MU-BAR variant of Trigger frames,...
Definition: ctrl-headers.cc:1526
ns3::CtrlTriggerUserInfoField::HasRaRuForUnassociatedSta
bool HasRaRuForUnassociatedSta(void) const
Check if this User Info field allocates a Random Access RU for stations not associated with the AP th...
Definition: ctrl-headers.cc:1258
ns3::CtrlTriggerHeader::m_userInfoFields
std::list< CtrlTriggerUserInfoField > m_userInfoFields
List of User Info fields.
Definition: ctrl-headers.h:1258
ns3::CtrlTriggerHeader::GetMoreTF
bool GetMoreTF(void) const
Get the More TF subfield of the Common Info field.
Definition: ctrl-headers.cc:1851
ns3::CtrlBAckResponseHeader::SetStartingSequenceControl
void SetStartingSequenceControl(uint16_t seqControl, std::size_t index=0)
Set the Starting Sequence Control subfield with the given sequence control value.
Definition: ctrl-headers.cc:755
ns3::CtrlTriggerHeader::FindUserInfoWithAid
ConstIterator FindUserInfoWithAid(ConstIterator start, uint16_t aid12) const
Get a const iterator pointing to the first User Info field found (starting from the one pointed to by...
Definition: ctrl-headers.cc:2040
ns3::CtrlTriggerHeader::GetTypeString
const char * GetTypeString(void) const
Return a string corresponding to the Trigger Frame type.
Definition: ctrl-headers.cc:1738
ns3::CtrlBAckRequestHeader::GetSerializedSize
uint32_t GetSerializedSize(void) const override
Definition: ctrl-headers.cc:71
ns3::CtrlBAckRequestHeader::GetInstanceTypeId
TypeId GetInstanceTypeId(void) const override
Get the most derived TypeId for this Object.
Definition: ctrl-headers.cc:59
ns3::CtrlTriggerHeader::GetHeTbTxVector
WifiTxVector GetHeTbTxVector(uint16_t staId) const
Get the TX vector that the station with the given STA-ID will use to send the HE TB PPDU solicited by...
Definition: ctrl-headers.cc:1828
ns3::CtrlTriggerHeader::m_giAndLtfType
uint8_t m_giAndLtfType
GI And LTF Type subfield.
Definition: ctrl-headers.h:1252
ns3::CtrlBAckResponseHeader::GetSerializedSize
uint32_t GetSerializedSize(void) const
Definition: ctrl-headers.cc:322
ns3::CtrlTriggerHeader::SetMoreTF
void SetMoreTF(bool more)
Set the More TF subfield of the Common Info field.
Definition: ctrl-headers.cc:1845
ns3::CtrlBAckRequestHeader::GetTidInfo
uint8_t GetTidInfo(void) const
Return the Traffic ID (TID).
Definition: ctrl-headers.cc:232
ns3::CtrlBAckRequestHeader::SetType
void SetType(BlockAckReqType type)
Set the BlockAckRequest type.
Definition: ctrl-headers.cc:202
ns3::CtrlTriggerHeader::SetCsRequired
void SetCsRequired(bool cs)
Set the CS Required subfield of the Common Info field.
Definition: ctrl-headers.cc:1857
ns3::CtrlBAckResponseHeader
Headers for BlockAck response.
Definition: ctrl-headers.h:202
ns3::CtrlBAckRequestHeader::GetType
BlockAckReqType GetType(void) const
Return the BlockAckRequest type.
Definition: ctrl-headers.cc:208
ns3::CtrlTriggerUserInfoField::ssAllocation
struct ns3::CtrlTriggerUserInfoField::@0::@1 ssAllocation
Used when AID12 is neither 0 nor 2045.
ns3::CtrlBAckRequestHeader::SetStartingSequenceControl
void SetStartingSequenceControl(uint16_t seqControl)
Set the starting sequence control with the given sequence control value.
Definition: ctrl-headers.cc:190
ns3::CtrlTriggerHeader::IsMuRts
bool IsMuRts(void) const
Check if this is a MU-RTS Trigger frame.
Definition: ctrl-headers.cc:1786