OnixS C++ ICE Binary Order Entry Handler 1.0.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/ICE/BOE/ABI.h>
23#include <string>
24
26
28
29struct TcpInfo
30{
73
76 {
77 enum Enum
78 {
80 Open = 0,
81
84
87
90
93 };
94 };
95
98
101
103 uint8_t retransmits;
104
106 uint8_t probes;
107
109 uint8_t backoff;
110
112 uint8_t options;
113
116 uint8_t sndWscale : 4, rcvWscale : 4;
117
119 uint32_t rto;
120
122 uint32_t ato;
123
125 uint32_t sndMss;
126
128 uint32_t rcvMss;
129
131 uint32_t unacked;
132
134 uint32_t sacked;
135
137 uint32_t lost;
138
140 uint32_t retrans;
141
143 uint32_t fackets;
144
145 /* Metrics. */
147 uint32_t pmtu;
148
150 uint32_t rcvSsthresh;
151
153 uint32_t rtt;
154
156 uint32_t rttvar;
157
159 uint32_t sndSsthresh;
160
162 uint32_t sndCwnd;
163
165 uint32_t advmss;
166
168 uint32_t reordering;
169
171 uint32_t rcvRtt;
172
174 uint32_t rcvSpace;
175
177 uint32_t totalRetrans;
178
181 std::string toString() const;
182};
183
184
#define ONIXS_ICEBOE_NAMESPACE_BEGIN
Definition ABI.h:94
#define ONIXS_ICEBOE_NAMESPACE_END
Definition ABI.h:98
#define ONIXS_ICEBOE_EXPORTED
Definition Compiler.h:153
TCP congestion avoidance state.
Definition TcpInfo.h:76
@ Cwr
TCP congestion avoidance state: congestion window reduced.
Definition TcpInfo.h:86
@ Recovery
TCP congestion avoidance state: recovery.
Definition TcpInfo.h:89
@ Open
TCP congestion avoidance state: open.
Definition TcpInfo.h:80
@ Loss
TCP congestion avoidance state: loss.
Definition TcpInfo.h:92
@ Disorder
TCP congestion avoidance state: disorder.
Definition TcpInfo.h:83
State of the connection.
Definition TcpInfo.h:33
@ SynRecv
TCP SYN packet has been received.
Definition TcpInfo.h:43
@ Established
TCP connection is established.
Definition TcpInfo.h:37
@ TimeWait
TCP connection is in time wait state.
Definition TcpInfo.h:52
@ Closing
TCP connection is in closing state.
Definition TcpInfo.h:67
@ LastAck
Last acknowledgment has been sent.
Definition TcpInfo.h:61
@ Listen
TCP socket is listening for incoming connections.
Definition TcpInfo.h:64
@ FinWait2
TCP connection is in FIN wait state 2.
Definition TcpInfo.h:49
@ CloseWait
TCP connection is in close wait state.
Definition TcpInfo.h:58
@ NewSynRecv
TCP connection has received a new SYN packet.
Definition TcpInfo.h:70
@ Close
TCP connection is closing.
Definition TcpInfo.h:55
@ SynSent
TCP SYN packet has been sent.
Definition TcpInfo.h:40
@ FinWait1
TCP connection is in FIN wait state 1.
Definition TcpInfo.h:46
TCP state information.
Definition TcpInfo.h:30
uint32_t unacked
Number of segments sent but not yet acknowledged.
Definition TcpInfo.h:131
TcpCaState::Enum caState
Represents the congestion avoidance state of the TCP connection.
Definition TcpInfo.h:100
uint8_t sndWscale
Sender's and receiver's window scale factors.
Definition TcpInfo.h:116
std::string toString() const
uint32_t lost
Number of lost segments.
Definition TcpInfo.h:137
uint32_t sndCwnd
Sender's congestion window size.
Definition TcpInfo.h:162
uint32_t rto
Retransmission timeout value in milliseconds.
Definition TcpInfo.h:119
uint32_t rcvMss
Maximum segment size (MSS) advertised by the receiver.
Definition TcpInfo.h:128
uint32_t retrans
Number of retransmitted segments.
Definition TcpInfo.h:140
uint32_t rcvRtt
Receiver's smoothed RTT estimate.
Definition TcpInfo.h:171
uint32_t advmss
Advertised maximum segment size (MSS).
Definition TcpInfo.h:165
uint32_t reordering
Reordering metric.
Definition TcpInfo.h:168
uint8_t retransmits
Number of retransmitted segments.
Definition TcpInfo.h:103
uint32_t sndMss
Maximum segment size (MSS) advertised by the sender.
Definition TcpInfo.h:125
uint32_t totalRetrans
Total number of retransmissions.
Definition TcpInfo.h:177
uint8_t probes
Number of probe packets sent.
Definition TcpInfo.h:106
uint32_t fackets
Number of forward acknowledgments (FACKs).
Definition TcpInfo.h:143
uint32_t rcvSpace
Available receive buffer space in bytes.
Definition TcpInfo.h:174
uint8_t backoff
Number of times the retransmission timer has been backed off.
Definition TcpInfo.h:109
uint32_t pmtu
Path Maximum Transmission Unit (PMTU) estimate.
Definition TcpInfo.h:147
uint32_t sndSsthresh
Sender's slow-start threshold.
Definition TcpInfo.h:159
uint32_t ato
Predicted average time in milliseconds between transmission and acknowledgment.
Definition TcpInfo.h:122
uint8_t options
TCP options (e.g., selective acknowledgments) enabled for the connection.
Definition TcpInfo.h:112
uint32_t rcvSsthresh
Receiver's slow-start threshold.
Definition TcpInfo.h:150
uint32_t rtt
Smoothed round-trip time (RTT) estimate in microseconds.
Definition TcpInfo.h:153
TcpState::Enum state
Represents the state of the TCP connection.
Definition TcpInfo.h:97
uint32_t rttvar
Round-trip time variance estimate in microseconds.
Definition TcpInfo.h:156
uint32_t sacked
Number of selective acknowledgments received.
Definition TcpInfo.h:134