OnixS C++ B3 BOE Binary Order Entry 1.3.0
API Documentation
Loading...
Searching...
No Matches
TcpInfo.h
Go to the documentation of this file.
1/*
2 * Copyright Onix Solutions Limited [OnixS]. All rights reserved.
3 *
4 * This software owned by Onix Solutions Limited [OnixS] and is protected by copyright law
5 * and international copyright treaties.
6 *
7 * Access to and use of the software is governed by the terms of the applicable OnixS Software
8 * Services Agreement (the Agreement) and Customer end user license agreements granting
9 * a non-assignable, non-transferable and non-exclusive license to use the software
10 * for it's own data processing purposes under the terms defined in the Agreement.
11 *
12 * Except as otherwise granted within the terms of the Agreement, copying or reproduction of any part
13 * of this source code or associated reference material to any other location for further reproduction
14 * or redistribution, and any amendments to this copyright notice, are expressly prohibited.
15 *
16 * Any reproduction or redistribution for sale or hiring of the Software not in accordance with
17 * the terms of the Agreement is a violation of copyright law.
18 */
19
20#pragma once
21
22#include <OnixS/B3/BOE/ABI.h>
23
24namespace OnixS {
25namespace B3 {
26namespace BOE {
27
29
30struct TcpInfo
31{
74
77 {
78 enum Enum
79 {
81 Open = 0,
82
85
88
91
94 };
95 };
96
99
102
105
107 UInt8 probes;
108
110 UInt8 backoff;
111
113 UInt8 options;
114
117 UInt8 sndWscale : 4, rcvWscale : 4;
118
120 UInt32 rto;
121
123 UInt32 ato;
124
126 UInt32 sndMss;
127
129 UInt32 rcvMss;
130
132 UInt32 unacked;
133
135 UInt32 sacked;
136
138 UInt32 lost;
139
141 UInt32 retrans;
142
144 UInt32 fackets;
145
146 /* Metrics. */
148 UInt32 pmtu;
149
152
154 UInt32 rtt;
155
157 UInt32 rttvar;
158
161
163 UInt32 sndCwnd;
164
166 UInt32 advmss;
167
170
172 UInt32 rcvRtt;
173
175 UInt32 rcvSpace;
176
179
182 std::string toString() const;
183};
184
185
186}
187}
188}
#define ONIXS_B3_BOE_EXPORTED
Definition Compiler.h:181
TCP congestion avoidance state.
Definition TcpInfo.h:77
@ Cwr
TCP congestion avoidance state: congestion window reduced.
Definition TcpInfo.h:87
@ Recovery
TCP congestion avoidance state: recovery.
Definition TcpInfo.h:90
@ Open
TCP congestion avoidance state: open.
Definition TcpInfo.h:81
@ Loss
TCP congestion avoidance state: loss.
Definition TcpInfo.h:93
@ Disorder
TCP congestion avoidance state: disorder.
Definition TcpInfo.h:84
State of the connection.
Definition TcpInfo.h:34
@ SynRecv
TCP SYN packet has been received.
Definition TcpInfo.h:44
@ Established
TCP connection is established.
Definition TcpInfo.h:38
@ TimeWait
TCP connection is in time wait state.
Definition TcpInfo.h:53
@ Closing
TCP connection is in closing state.
Definition TcpInfo.h:68
@ LastAck
Last acknowledgment has been sent.
Definition TcpInfo.h:62
@ Listen
TCP socket is listening for incoming connections.
Definition TcpInfo.h:65
@ FinWait2
TCP connection is in FIN wait state 2.
Definition TcpInfo.h:50
@ CloseWait
TCP connection is in close wait state.
Definition TcpInfo.h:59
@ NewSynRecv
TCP connection has received a new SYN packet.
Definition TcpInfo.h:71
@ Close
TCP connection is closing.
Definition TcpInfo.h:56
@ SynSent
TCP SYN packet has been sent.
Definition TcpInfo.h:41
@ FinWait1
TCP connection is in FIN wait state 1.
Definition TcpInfo.h:47
TCP state information.
Definition TcpInfo.h:31
UInt32 rcvRtt
Receiver's smoothed RTT estimate.
Definition TcpInfo.h:172
UInt32 pmtu
Path Maximum Transmission Unit (PMTU) estimate.
Definition TcpInfo.h:148
TcpCaState::Enum caState
Represents the congestion avoidance state of the TCP connection.
Definition TcpInfo.h:101
UInt32 fackets
Number of forward acknowledgments (FACKs).
Definition TcpInfo.h:144
UInt8 probes
Number of probe packets sent.
Definition TcpInfo.h:107
UInt32 sacked
Number of selective acknowledgments received.
Definition TcpInfo.h:135
std::string toString() const
UInt32 retrans
Number of retransmitted segments.
Definition TcpInfo.h:141
UInt32 rcvMss
Maximum segment size (MSS) advertised by the receiver.
Definition TcpInfo.h:129
UInt32 sndMss
Maximum segment size (MSS) advertised by the sender.
Definition TcpInfo.h:126
UInt32 sndCwnd
Sender's congestion window size.
Definition TcpInfo.h:163
UInt32 unacked
Number of segments sent but not yet acknowledged.
Definition TcpInfo.h:132
UInt8 retransmits
Number of retransmitted segments.
Definition TcpInfo.h:104
UInt32 rttvar
Round-trip time variance estimate in microseconds.
Definition TcpInfo.h:157
UInt32 rtt
Smoothed round-trip time (RTT) estimate in microseconds.
Definition TcpInfo.h:154
UInt8 options
TCP options (e.g., selective acknowledgments) enabled for the connection.
Definition TcpInfo.h:113
UInt32 rto
Retransmission timeout value in milliseconds.
Definition TcpInfo.h:120
UInt32 lost
Number of lost segments.
Definition TcpInfo.h:138
UInt32 totalRetrans
Total number of retransmissions.
Definition TcpInfo.h:178
UInt32 reordering
Reordering metric.
Definition TcpInfo.h:169
UInt32 sndSsthresh
Sender's slow-start threshold.
Definition TcpInfo.h:160
UInt8 backoff
Number of times the retransmission timer has been backed off.
Definition TcpInfo.h:110
UInt32 rcvSsthresh
Receiver's slow-start threshold.
Definition TcpInfo.h:151
TcpState::Enum state
Represents the state of the TCP connection.
Definition TcpInfo.h:98
UInt32 rcvSpace
Available receive buffer space in bytes.
Definition TcpInfo.h:175
UInt32 ato
Predicted average time in milliseconds between transmission and acknowledgment.
Definition TcpInfo.h:123
UInt32 advmss
Advertised maximum segment size (MSS).
Definition TcpInfo.h:166
UInt8 sndWscale
Sender's and receiver's window scale factors.
Definition TcpInfo.h:117