Ieee80211BasicBlockAck¶
Namespace: inet
class Ieee80211BasicBlockAck
8.3.1.9.2 Basic BlockAck variant – 411p.
Usage diagram¶
Inheritance diagram¶
Extends¶
Name |
Type |
Description |
|---|---|---|
class |
8.3.1.9 BlockAck frame format – 410p. |
Fields¶
Name |
Type |
Description |
|---|---|---|
id |
int |
|
mutable |
bool |
|
complete |
bool |
|
correct |
bool |
|
properlyRepresented |
bool |
|
chunkLength |
||
rawBin |
string[] |
|
rawHex |
string[] |
|
regionTags |
||
chunkLength |
||
type |
type and subtype |
|
toDS |
bool |
|
fromDS |
bool |
|
moreFragments |
bool |
|
retry |
bool |
|
powerMgmt |
bool |
unused |
moreData |
bool |
unused |
protectedFrame |
bool |
unused |
order |
bool |
unused |
durationField |
simtime_t |
“duration” in the Duration/ID field (-1=no duration) |
AID |
short |
“id” (Association ID) in the Duration/ID field (-1=no ID) |
receiverAddress |
aka address1 (RA) |
|
MACArrive |
simtime_t |
FIXME remove it, technical data, used inside of MAC module |
chunkLength |
||
transmitterAddress |
aka address2 (TA) |
|
type |
The RA field of the BlockAck frame is the address of the recipient STA that requested the Block Ack. The TA field is the address of the STA transmitting the BlockAck frame. |
|
blockAckPolicy |
bool |
Table 8-17—BA Ack Policy subfield: 0-Normal Acknowledgment, 1-No Acknowledgment. |
multiTid |
bool |
Table 8-18—BlockAck frame variant encoding |
compressedBitmap |
bool |
|
reserved |
uint16_t |
|
chunkLength |
||
multiTid |
||
compressedBitmap |
||
fragmentNumber |
int |
?? |
startingSequenceNumber |
The Block Ack Bitmap subfield is 128 octets in length and is used to indicate the received status of up to 64 MSDUs. Bit position n of the Block Ack bitmap, if equal to 1, acknowledges receipt of an MPDU with an MPDU sequence control value equal to (Block Ack Starting Sequence Control + n). Bit position n of the Block Ack bitmap, if equal to 0, indicates that an MPDU with MPDU sequence control value equal to (Block Ack Starting Sequence Control + n) has not been received. Each of the MPDU Sequence Control field and Block Ack Starting Sequence Control subfield values are treated as a 16-bit unsigned integer. For unused fragment numbers of an MSDU, the corresponding bits in the bitmap are set to 0. |
|
blockAckBitmap |
BitVector[64] |
64 * 16 bitmatrix |
tidInfo |
int |
The TID_INFO subfield of the BA Control field of the Basic BlockAck frame contains the TID for which this BlockAck frame is sent. |
Properties¶
Name |
Value |
Description |
|---|---|---|
beforeChange |
handleChange() |
|
descriptor |
readonly |
|
existingClass |
||
packetData |
Source code¶
//
// 8.3.1.9.2 Basic BlockAck variant -- 411p.
//
class Ieee80211BasicBlockAck extends Ieee80211BlockAck
{
chunkLength = LENGTH_BASIC_BLOCKACK - B(4);
multiTid = 0;
compressedBitmap = 0;
// The BA Information field of the Basic BlockAck frame comprises the Block Ack Starting Sequence Control
// subfield and the Block Ack Bitmap subfield, as shown in Figure 8-26.
int fragmentNumber = 0; // ??
SequenceNumberCyclic startingSequenceNumber;
// The Block Ack Bitmap subfield is 128 octets in length and is used to indicate the received status of up to
// 64 MSDUs. Bit position n of the Block Ack bitmap, if equal to 1, acknowledges receipt of an MPDU with an
// MPDU sequence control value equal to (Block Ack Starting Sequence Control + n). Bit position n of the
// Block Ack bitmap, if equal to 0, indicates that an MPDU with MPDU sequence control value equal to
// (Block Ack Starting Sequence Control + n) has not been received. Each of the MPDU Sequence Control
// field and Block Ack Starting Sequence Control subfield values are treated as a 16-bit unsigned integer. For
// unused fragment numbers of an MSDU, the corresponding bits in the bitmap are set to 0.
BitVector blockAckBitmap[64]; // 64 * 16 bitmatrix
// The TID_INFO subfield of the BA Control field of the Basic BlockAck frame contains the TID for which
// this BlockAck frame is sent.
int tidInfo;
}