QuicHttp3.Qpack (elixir_quic_http3 v0.16.0)
View SourceQPACK wire primitives for static and literal header fields.
Dynamic table state is bounded and opt-in. Encoder/decoder stream synchronization remains the responsibility of the HTTP/3 session layer.
Summary
Types
@type decode_result() :: {:ok, non_neg_integer(), binary()} | :more | {:error, term()}
@type dynamic_entry() :: %{name: binary(), value: binary(), size: pos_integer()}
@type t() :: %QuicHttp3.Qpack{ capacity: non_neg_integer(), entries: [dynamic_entry()], insert_count: non_neg_integer(), size: non_neg_integer() }
Functions
@spec decode_integer(binary(), 1..8) :: decode_result()
@spec dynamic(t(), non_neg_integer()) :: {:ok, field()} | {:error, :invalid_dynamic_index}
@spec encode_integer(non_neg_integer(), 1..8, non_neg_integer()) :: {:ok, binary()} | {:error, term()}
@spec static(non_neg_integer()) :: {:ok, field()} | {:error, :invalid_static_index}