2.2.1.3 TS_FRAME_ACKNOWLEDGE_CAPABILITYSET

The TS_FRAME_ACKNOWLEDGE_CAPABILITYSET structure advertises support for frame acknowledgment using the TS_FRAME_ACKNOWLEDGE_PDU (section 2.2.3.1) structure. This capability is sent by both the client and the server and is encapsulated in a server-to-client Demand Active PDU ([MS-RDPBCGR] section 2.2.1.13.1) or a client-to-server Confirm Active PDU ([MS-RDPBCGR] section 2.2.1.13.2).


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

capabilitySetType

lengthCapability

maxUnacknowledgedFrameCount

capabilitySetType (2 bytes): A 16-bit unsigned integer. The type of capability set. This field MUST be set to CAPSETTYPE_FRAME_ACKNOWLEDGE (0x001E).

lengthCapability (2 bytes): A 16-bit unsigned integer. The length, in bytes, of the capability data.

maxUnacknowledgedFrameCount (4 bytes): A 32-bit unsigned integer. When sent by the server, it MAY be set to 0, in which case it simply advertises the server's ability to receive and process the TS_FRAME_ACKNOWLEDGE_PDU (section 2.2.3.1). If it is not set to 0, it can be used by the client as a hint that indicates the number of in-flight TS_FRAME_ACKNOWLEDGE_PDUs that the server is prepared to accept. When sent by the client, it provides a hint to the server as to how many in-flight frames the client can buffer. Note that if the server chooses to have more in-flight frames than this number specifies, it is possible that the client could be overloaded with frame data. The client MAY set this field to 0, but this behavior SHOULD be avoided because it provides very little information to the server other than that the client acknowledges frames.