QuicHttp3.Control (elixir_quic_http3 v0.16.0)
View SourceHTTP/3 control-stream state and SETTINGS handling.
The state machine is transport-agnostic. Callers provide received stream
bytes and send the returned encoded bytes through QuicHttp3.Transport.
Summary
Functions
Return the local control stream type and SETTINGS bytes without stream-id validation.
Receive bytes from an opaque peer control-stream handle.
Types
@type event() :: {:settings, [QuicHttp3.Settings.setting()]} | {:goaway, non_neg_integer()}
@type t() :: %QuicHttp3.Control{ buffer: binary(), control_stream_id: non_neg_integer() | nil, goaway_id: non_neg_integer() | nil, local_open?: boolean(), local_settings: [QuicHttp3.Settings.setting()], peer_control_stream_id: term() | nil, peer_open?: boolean(), peer_settings: [QuicHttp3.Settings.setting()] | nil, peer_type_buffer: binary(), received_settings?: boolean(), role: :client | :server }
Functions
Return the local control stream type and SETTINGS bytes without stream-id validation.
@spec new(:client | :server, QuicHttp3.Settings.settings()) :: {:ok, t()} | {:error, term()}
@spec open(t(), non_neg_integer()) :: {:ok, t(), binary()} | {:error, term()}
Receive bytes from an opaque peer control-stream handle.