|
wired
libc-free QUIC/HTTP3 SDK in C for x86_64-linux
|
RFC 9204 3.2. More...
#include <dyntable.h>
Data Fields | |
| u8 | bytes [2 *QPACK_DYN_MAX_CAPACITY] |
| Entry bytes; ring byte i is stored at both i and i + QPACK_DYN_MAX_CAPACITY, so an entry that runs past the ring's end still reads as one contiguous view from its off. | |
| qpack_dyn_entry | ring [QPACK_DYN_MAX_ENTRIES] |
| live entry positions | |
| usz | head |
| ring slot of the oldest live entry | |
| usz | count |
| number of live entries | |
| usz | tail |
| byte ring offset of the next entry | |
| u64 | dropped |
| absolute index of the oldest live entry | |
| usz | size |
| sum of entry sizes (RFC 9204 3.2.1) | |
| usz | capacity |
| maximum allowed size in bytes | |
| u64 | max_capacity |
| RFC 9204 4.5.1.1: the decoder's advertised maximum capacity, the MaxEntries base for Required Insert Count decoding (qpack_dyn_init seeds it with the initial capacity). | |
RFC 9204 3.2.
A QPACK dynamic table instance: the byte ring, the live entries' positions in it, and the byte-size accounting eviction and capacity changes use.