Pure codec and protocol-state boundary used by CliSubprocessCore.ProtocolSession.
Adapters own protocol encoding, decoding, correlation mapping, and readiness classification. They do not own processes, timers, pending-request tables, or transport lifecycle.
Summary
Types
@type correlation_key() :: term()
@type inbound_event() :: {:ready, term()} | {:response, correlation_key(), {:ok, term()} | {:error, term()}} | {:peer_request, correlation_key(), term()} | {:notification, term()} | {:protocol_error, term()} | {:fatal_protocol_error, term()} | :ignore
Callbacks
@callback handle_inbound(binary(), adapter_state :: term()) :: {:ok, [inbound_event()], adapter_state :: term()} | {:error, reason :: term()}