2.2.2.1 RDPUDP_FEC_HEADER Structure

The RDPUDP_FEC_HEADER structure forms the basic header for every datagram sent or received by the endpoint.


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

snSourceAck

uReceiveWindowSize

uFlags

snSourceAck (4 bytes): A 32-bit unsigned value that specifies the highest sequence number for a Source Packet detected by the remote endpoint. This value wraps around; for more information about the sequence numbers range, see [RFC793] section 3.3.

uReceiveWindowSize (2 bytes): A 16-bit unsigned value that specifies the size of the receiver's buffer.

uFlags (2 bytes): A 16-bit unsigned integer that indicates supported options, or additional headers.

The following table describes the meaning of each flag.

Flags

Meaning

RDPUDP_FLAG_SYN

0x0001

Corresponds to the SYN flag, for initializing connection.

RDPUDP_FLAG_FIN

0x0002

Corresponds to the FIN flag. Currently unused.

RDPUDP_FLAG_ACK

0x0004

Specifies that the RDPUDP_ACK_VECTOR_HEADER Structure (section 2.2.2.7) is present.

RDPUDP_FLAG_DATA

0x0008

Specifies that the RDPUDP_SOURCE_PAYLOAD_HEADER Structure (section 2.2.2.4) or the RDPUDP_FEC_PAYLOAD_HEADER Structure (section 2.2.2.2) is present. This flag specifies that the datagram has additional data beyond the UDP ACK headers.

RDPUDP_FLAG_FEC

0x0010

Specifies that the RDPUDP_FEC_PAYLOAD_HEADER Structure (section 2.2.2.2) is present.

RDPUDP_FLAG_CN

0x0020

Congestion Notification flag (section 3.1.1), the receiver reports missing datagrams.

RDPUDP_FLAG_CWR

0x0040

Congestion Window Reset flag (section 3.1.1), the sender has reduced the congestion window, and informs the receiver to stop adding the RDPUDP_FLAG_CN.

RDPUDP_FLAG_SACK_OPTION 0x0080

Not used.

RDPUDP_FLAG_ACK_OF_ACKS 0x0100

Specifies that the RDPUDP_ACK_OF_ACKVECTOR_HEADER Structure (section 2.2.2.6) is present.

RDPUDP_FLAG_SYNLOSSY 0x0200

Specifies that the connection does not require persistent retransmits.

RDPUDP_FLAG_ACKDELAYED

0x0400

Specifies that the receiver delayed generating the ACK for the source sequence numbers received. The sender is not to use this ACK for estimating the network RTT.

RDPUDP_FLAG_CORRELATION_ID

0x0800

Specifies that the optional RDPUDP_CORRELATION_ID_PAYLOAD Structure (section 2.2.2.8) is present.

RDPUDP_FLAG_SYNEX

0x1000

Specifies that the optional RDPUDP_SYNDATAEX_PAYLOAD Structure (section 2.2.2.9) is present.