2.2.2.7 RDPUDP_ACK_VECTOR_HEADER Structure

The RDPUDP_ACK_VECTOR_HEADER structure contains a variable size array of ACK Vector Elements (section 2.2.2.7.1), referred to as the ACK vector.

The ACK vector captures the state of the queue of Source Packets at the receiver endpoint. Each position in the queue can have two values that indicate whether a Source Packet is present in the queue, or not. The state of Source Packets in the array is encoded using run-length encoding (RLE) compression.


0


1


2


3


4


5


6


7


8


9

1
0


1


2


3


4


5


6


7


8


9

2
0


1


2


3


4


5


6


7


8


9

3
0


1

uAckVectorSize

AckVector (variable)

...

...

Padding (variable)

...

...

uAckVectorSize (2 bytes): A 16-bit unsigned value that specifies the size of the AckVector field in bytes. The maximum size of the ACK Vector is 2048 bytes.

AckVector (variable): A variable size array of ACK Vector Elements (section 2.2.2.7.1). The size of the AckVector field is specified by the uAckVectorSize field.

Padding (variable): A variable-sized array, of length zero or more, such that this structure ends on a DWORD ([MS-DTYP] section 2.2.9) boundary.