Skip to content

Commit 1117da5

Browse files
authored
rebase on main (#216)
1 parent b1a2583 commit 1117da5

File tree

4 files changed

+279
-26
lines changed

4 files changed

+279
-26
lines changed

include/udx.h

+15-9
Original file line numberDiff line numberDiff line change
@@ -48,9 +48,10 @@ extern "C" {
4848
#define UDX_HEADER_MESSAGE 0b01000
4949
#define UDX_HEADER_DESTROY 0b10000
5050

51-
#define UDX_STREAM_WRITE_WANT_STATE 0b001
52-
#define UDX_STREAM_WRITE_WANT_TLP 0b010
53-
#define UDX_STREAM_WRITE_WANT_DESTROY 0b100
51+
#define UDX_STREAM_WRITE_WANT_STATE 0b0001
52+
#define UDX_STREAM_WRITE_WANT_TLP 0b0010
53+
#define UDX_STREAM_WRITE_WANT_DESTROY 0b0100
54+
#define UDX_STREAM_WRITE_WANT_ZWP 0b1000
5455

5556
typedef struct {
5657
uint32_t seq;
@@ -189,6 +190,7 @@ struct udx_stream_s {
189190
uint32_t high_seq; // seq at time of congestion, marks end of recovery
190191
bool hit_high_watermark;
191192
uint16_t rto_count;
193+
uint16_t zwp_count;
192194
uint16_t fast_recovery_count;
193195
uint16_t retransmit_count;
194196
size_t writes_queued_bytes;
@@ -226,9 +228,9 @@ struct udx_stream_s {
226228
int mtu_max; // min(UDX_MTU_MAX, get_link_mtu(remote_addr))
227229
uint16_t mtu;
228230

229-
uint32_t seq;
230-
uint32_t ack;
231-
uint32_t remote_acked;
231+
uint32_t seq; // tcp snd.nxt
232+
uint32_t ack; // tcp rcv.nxt
233+
uint32_t remote_acked; // tcp snd.una
232234
uint32_t remote_ended;
233235

234236
uint32_t srtt;
@@ -255,14 +257,19 @@ struct udx_stream_s {
255257
uv_timer_t rto_timer;
256258
uv_timer_t rack_reo_timer;
257259
uv_timer_t tlp_timer;
260+
uv_timer_t zwp_timer;
258261

259262
size_t inflight;
260263

261264
uint32_t sacks;
262265
uint32_t ssthresh;
263-
uint32_t cwnd;
266+
uint32_t cwnd; // packets
264267
uint32_t cwnd_cnt;
265-
uint32_t rwnd;
268+
uint32_t recv_rwnd; // tcp: rcv.wnd. bytes
269+
uint32_t send_rwnd; // remote advertised rwnd
270+
271+
uint32_t send_wl1; // seq at last window update
272+
uint32_t send_wl2; // ack at last window update
266273

267274
// congestion state
268275
udx_cong_t cong;
@@ -293,7 +300,6 @@ struct udx_packet_s {
293300

294301
bool lost;
295302
bool retransmitted;
296-
bool is_tlp;
297303
uint8_t transmits;
298304
uint8_t rto_timeouts;
299305
bool is_mtu_probe;

0 commit comments

Comments
 (0)