Module H2_hpack.Decoder

Decoder

HPACK decoder with dynamic table context.

type t

Decoder context maintaining dynamic table state.

val create : int -> t

create max_capacity creates a decoder with the given maximum dynamic table capacity in bytes (default 4096).

val set_capacity : t -> int -> (unit, error) result

set_capacity t capacity updates the dynamic table capacity. Returns Error Decoding_error if capacity exceeds max_capacity.

val decode : t -> Cstruct.t -> (header list, error) result

decode t buf decodes a header block fragment. Returns headers in transmission order.

Per RFC 7541, decoding updates the dynamic table state, so the same decoder must be used for all header blocks on a connection.