|
wired
libc-free QUIC/HTTP3 SDK in C for x86_64-linux
|
RFC 9204 4.2 / RFC 9000 2.2: the peer's encoder stream reassembled from stream offset 0, type varint included. More...
#include <enc_stream.h>
Data Fields | |
| u8 | buf [QDYN_ENCRX_CAP] |
| received bytes from stream offset base | |
| u8 | have [QDYN_ENCRX_CAP/8] |
| bit i (have[i / 8] >> i % 8) set where buf[i] holds a received byte | |
| u64 | base |
| stream offset of buf[0]; everything below is consumed | |
| usz | hi |
| buf/have bytes past the last received one are all unused | |
| u64 | stream_id |
| the candidate or claimed encoder stream (0: none – never a client uni id) | |
| usz | type_len |
| the type varint's length (RFC 9000 16 allows a non-minimal one) once stream_id is known to be the encoder stream; 0 while it is not | |
RFC 9204 4.2 / RFC 9000 2.2: the peer's encoder stream reassembled from stream offset 0, type varint included.
Bytes may land before the stream is known to be the encoder stream (its type varint lost or reordered), so the window first holds one candidate client uni stream and identifies it from its reassembled leading bytes. buf[0] is stream offset base; have[] marks the bytes received, so data past a gap waits for it. Zero-initialise.