|
wired
libc-free QUIC/HTTP3 SDK in C for x86_64-linux
|
One WT bidi/uni slot's receive-window bookkeeping, shared shape for both tables (see wired_srvloop_wt_stream_slot / _uni_stream_slot below). More...
#include <srvloop.h>
Data Fields | |
| u64 | base |
| absolute post-signal stream offset of buf[0] | |
| u64 | range_lo [WIRED_SRVLOOP_WT_MAX_RANGES] |
| relative to base | |
| u64 | range_hi [WIRED_SRVLOOP_WT_MAX_RANGES] |
| exclusive | |
| usz | range_n |
| number of disjoint ranges currently tracked | |
| usz | frontier |
| contiguous bytes from base, i.e. | |
One WT bidi/uni slot's receive-window bookkeeping, shared shape for both tables (see wired_srvloop_wt_stream_slot / _uni_stream_slot below).
base is the absolute post-signal stream offset of buf[0] — bytes below base have already been delivered and slid out of buf (see wt_window_slide in srvloop.c); a write at an absolute offset < base is stale (already delivered) and dropped, one at >= base + WIRED_SRVLOOP_WT_BUF_CAP is outside the currently granted window and dropped too. ranges[0..range_n) are disjoint, sorted, merged (relative to base) intervals of bytes actually written into buf; frontier is the contiguous prefix length starting at 0 (ranges[0].lo == 0) — the caller (srvrun.c) may only deliver buf[0.. frontier), never past a gap, however far the high-water mark itself reaches.
| usz wired_srvloop_wt_window::frontier |
contiguous bytes from base, i.e.
ranges[0].hi when ranges[0].lo == 0, else 0