wired
libc-free QUIC/HTTP3 SDK in C for x86_64-linux
Loading...
Searching...
No Matches
wired_srvloop_wt_window Struct Reference

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.

Detailed Description

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.

Field Documentation

◆ frontier

usz wired_srvloop_wt_window::frontier

contiguous bytes from base, i.e.

ranges[0].hi when ranges[0].lo == 0, else 0


The documentation for this struct was generated from the following file: