Contract between the protocol-neutral connection runtime and one concrete MOQT-family protocol implementation.
Implementations own their wire messages, codecs, lifecycle, capabilities,
commands, events, and error semantics. The runtime owns the
MOQX.Transport context and applies the transport actions returned in
MOQX.Protocol.Transition values.
Summary
Functions
Returns whether a module exports the complete protocol implementation contract.
Types
Callbacks
@callback capabilities(state()) :: MOQX.Protocol.Capabilities.t()
@callback handle_operation(state(), MOQX.Operation.t()) :: MOQX.Protocol.Transition.result()
@callback handle_transport(state(), MOQX.Transport.event() | runtime_event()) :: MOQX.Protocol.Transition.result()
@callback transport_spec(endpoint :: URI.t(), options :: keyword()) :: {:ok, MOQX.Protocol.TransportSpec.t()} | {:error, term()}