Functional sender-side state for one QUIC stream.
A sender owns the queue of accepted send tokens awaiting backend completion. It does not prove peer delivery; it only tracks backend credit returned by send-completion events.
Summary
Functions
Receives one backend message for this stream sender.
Schedules bytes on this stream and returns updated sender state.
Types
@type t() :: %MOQX.Transport.Conn.Stream.Sender{ finished_sending?: boolean(), pending_sends: :queue.queue(MOQX.Transport.Conn.Stream.Send.t()), stream: MOQX.Transport.Conn.Stream.t() }
Functions
@spec receive_event(t(), timeout()) :: {:ok, MOQX.Transport.event(), t()} | {:timeout, t()} | {:unknown, term(), t()} | {:error, term(), t()}
Receives one backend message for this stream sender.
@spec send(t(), iodata(), keyword() | map()) :: {:ok, MOQX.Transport.Conn.Stream.Send.t(), t()} | {:error, term(), t()}
Schedules bytes on this stream and returns updated sender state.