TCP_ESTATS_SND_CONG_ROD_v0 structure (tcpestats.h)
The TCP_ESTATS_SND_CONG_ROD_v0 structure contains read-only dynamic information for extended TCP statistics on sender congestion related data for a TCP connection.
Syntax
typedef struct _TCP_ESTATS_SND_CONG_ROD_v0 {
ULONG SndLimTransRwin;
ULONG SndLimTimeRwin;
SIZE_T SndLimBytesRwin;
ULONG SndLimTransCwnd;
ULONG SndLimTimeCwnd;
SIZE_T SndLimBytesCwnd;
ULONG SndLimTransSnd;
ULONG SndLimTimeSnd;
SIZE_T SndLimBytesSnd;
ULONG SlowStart;
ULONG CongAvoid;
ULONG OtherReductions;
ULONG CurCwnd;
ULONG MaxSsCwnd;
ULONG MaxCaCwnd;
ULONG CurSsthresh;
ULONG MaxSsthresh;
ULONG MinSsthresh;
} TCP_ESTATS_SND_CONG_ROD_v0, *PTCP_ESTATS_SND_CONG_ROD_v0;
Members
SndLimTransRwin
Type: ULONG
The number of transitions into the "Receiver Limited" state from either the "Congestion Limited" or "Sender Limited" states. This state is entered whenever TCP transmission stops because the sender has filled the announced receiver window.
SndLimTimeRwin
Type: ULONG
The cumulative time, in milliseconds, spent in the "Receiver Limited" state where TCP transmission stops because the sender has filled the announced receiver window.
SndLimBytesRwin
Type: SIZE_T
The total number of bytes sent in the "Receiver Limited" state.
SndLimTransCwnd
Type: ULONG
The number of transitions into the "Congestion Limited" state from either the "Receiver Limited" or "Sender Limited" states. This state is entered whenever TCP transmission stops because the sender has reached some limit defined by TCP congestion control (the congestion window, for example) or other algorithms (retransmission timeouts) designed to control network traffic.
SndLimTimeCwnd
Type: ULONG
The cumulative time, in milliseconds, spent in the "Congestion Limited" state. When there is a retransmission timeout, it is counted in this member and not the cumulative time for some other state.
SndLimBytesCwnd
Type: SIZE_T
The total number of bytes sent in the "Congestion Limited" state.
SndLimTransSnd
Type: ULONG
The number of transitions into the "Sender Limited" state from either the "Receiver Limited" or "Congestion Limited" states. This state is entered whenever TCP transmission stops due to some sender limit such as running out of application data or other resources and the Karn algorithm. When TCP stops sending data for any reason, which cannot be classified as "Receiver Limited" or "Congestion Limited", it is treated as "Sender Limited".
SndLimTimeSnd
Type: ULONG
The cumulative time, in milliseconds, spent in the "Sender Limited" state.
SndLimBytesSnd
Type: SIZE_T
The total number of bytes sent in the "Sender Limited" state.
SlowStart
Type: ULONG
The number of times the congestion window has been increased by the "Slow Start" algorithm.
CongAvoid
Type: ULONG
The number of times the congestion window has been increased by the "Congestion Avoidance" algorithm.
OtherReductions
Type: ULONG
The number of congestion window reductions made as a result of anything other than congestion control algorithms other than "Slow Start" and "Congestion Avoidance" algorithms.
CurCwnd
Type: ULONG
The size, in bytes, of the current congestion window.
MaxSsCwnd
Type: ULONG
The maximum size, in bytes, of the congestion window size used during "Slow Start."
MaxCaCwnd
Type: ULONG
The maximum size, in bytes, of the congestion window used during "Congestion Avoidance."
CurSsthresh
Type: ULONG
The current size, in bytes, of the slow start threshold.
MaxSsthresh
Type: ULONG
The maximum size, in bytes, of the slow start threshold, excluding the initial value.
MinSsthresh
Type: ULONG
The minimum size, in bytes, of the slow start threshold.
Remarks
The TCP_ESTATS_SND_CONG_ROD_v0 structure is used as part of the TCP extended statistics feature available on Windows Vista and later.
The TCP_ESTATS_SND_CONG_ROD_v0 is defined as version 0 of the structure for read-only dynamic information on sender congestion related data for a TCP connection. This information is available after the connection has been established.
The TCP_ESTATS_SND_CONG_ROD_v0 structure is retrieved by calls to the GetPerTcp6ConnectionEStats or GetPerTcpConnectionEStats functions when TcpConnectionEstatsSndCong is passed in the EstatsType parameter. Extended TCP statistics need to be enabled to retrieve this structure.
TCP congestion control and congestion control algorithms are discussed in detail in the IETF RFC on TCP Congestion Control. For more information, see http://www.ietf.org/rfc/rfc2581.txt.
The members of this structure are defined in the IETF RFC on the TCP Extended Statistics MIB. For more information, see http://www.ietf.org/rfc/rfc4898.txt.
The following is the mapping of the members in the TCP_ESTATS_SND_CONG_ROD_v0 structure to the entries defined in RFC 4898 for extended TCP statistics:
Requirements
Requirement | Value |
---|---|
Minimum supported client | Windows Vista [desktop apps only] |
Minimum supported server | Windows Server 2008 [desktop apps only] |
Header | tcpestats.h |