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.
|
|
|
|
|
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
2 |
|
|
|
|
|
|
|
|
|
3 |
|
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
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.