|
wired
libc-free QUIC/HTTP3 SDK in C for x86_64-linux
|
One request stream's receive window over a caller-owned BODYWIN_CAP buffer: buf[0] is stream offset base. More...
#include <body_window.h>
Data Fields | |
| u64 | base |
| stream offset of buf[0] | |
| u64 | left |
| payload bytes left in the frame being parsed | |
| u64 | fin_off |
| final size, valid once fin | |
| u64 | granted |
| base at the last credit raise (0: initial credit only) | |
| u8 | have [BODYWIN_CAP/8] |
| bit i: buf[i] received | |
| u8 | fin |
| final size known | |
| u8 | on |
| HEADERS consumed, body streaming. | |
| u8 | is_data |
| the frame being parsed is DATA | |
| u8 | state |
| BODYWIN_*. | |
One request stream's receive window over a caller-owned BODYWIN_CAP buffer: buf[0] is stream offset base.
Bytes land at their offset (RFC 9000 2.2) when base <= off < base + BODYWIN_CAP; have[] marks which, so only the contiguous prefix (bodywin_frontier) is ever parsed. Consumed bytes slide out, moving the unconsumed tail (a partial frame header, out-of-order bytes) to buf[0]. Zero-initialized = empty at offset 0.