1#ifndef QPACKENC_QPACKENC_H
2#define QPACKENC_QPACKENC_H
4#include "app/qpack/qpack/dyntable.h"
5#include "app/qpack/qpack/field.h"
void qpackenc_init(qpackenc_state *st, u64 capacity)
RFC 9204 3.2: initialise an empty encoder-side table with the given byte capacity (this server's own ...
int qpackenc_plan_field(qpackenc_state *st, const qpack_field *f, qpackenc_plan *out)
RFC 9204 2.1 / 4.3.3.
int qpackenc_on_section_ack(qpackenc_state *st)
RFC 9204 4.4.1: apply a received Section Acknowledgment.
int qpackenc_on_increment(qpackenc_state *st, u64 increment)
RFC 9204 4.4.3: apply a received Insert Count Increment.
void qpackenc_note_sent(qpackenc_state *st, u64 ric)
RFC 9204 4.4.1: record that a field section referencing the dynamic table (Required Insert Count ric ...
RFC 9204 3.2.
Definition dyntable.h:31
A QPACK field line's (name, value) pair as borrowed views (encoder input / decoder table lookups).
Definition field.h:8
RFC 9204 4.3.3 / 3.2.5.
Definition qpackenc.h:41
usz insert_len
bytes at insert_instr; 0 = no instruction generated
Definition qpackenc.h:45
u8 insert_instr[QPACK_DYN_MAX_CAPACITY+8]
RFC 9204 4.3.3 encoder-stream instruction bytes to send, or unused (insert_len == 0) when no new inse...
Definition qpackenc.h:44
u64 field_rel_index
RFC 9204 3.2.5: relative index to reference the entry with in the SAME field section this plan is for...
Definition qpackenc.h:50
int used_dynamic
1 = reference the dynamic table, 0 = fall back
Definition qpackenc.h:51
One connection's QPACK encoder-side state.
Definition qpackenc.h:18
qpack_dyn dyn
the table this encoder inserts into and references
Definition qpackenc.h:19
u64 pending_acks
RFC 9204 4.4.1: field sections sent with Required Insert Count > 0 that have not yet been acknowledge...
Definition qpackenc.h:24
u64 known_received
RFC 9204 2.1.4: last Known Received Count.
Definition qpackenc.h:21
u64 total_inserts
RFC 9204 2.1.4: insertions/duplications sent.
Definition qpackenc.h:20
u64 usz
unsigned size (size_t equivalent)
Definition types.h:20
unsigned char u8
unsigned 8-bit integer / byte
Definition types.h:18
unsigned long u64
unsigned 64-bit integer
Definition types.h:13