Behaviour for subprocess I/O transport implementations.
Event model:
Legacy dispatch:
{:transport_message, line}{:transport_error, reason}{:transport_stderr, data}{:transport_exit, reason}
Tagged dispatch:
{:codex_io_transport, ref, {:message, line}}{:codex_io_transport, ref, {:error, reason}}{:codex_io_transport, ref, {:stderr, data}}{:codex_io_transport, ref, {:exit, reason}}
Summary
Types
@type message() :: {:transport_message, String.t()} | {:transport_error, term()} | {:transport_stderr, binary()} | {:transport_exit, term()} | {:codex_io_transport, reference(), {:message, String.t()}} | {:codex_io_transport, reference(), {:error, term()}} | {:codex_io_transport, reference(), {:stderr, binary()}} | {:codex_io_transport, reference(), {:exit, term()}}
@type opts() :: keyword()
@type subscription_tag() :: :legacy | reference()
@type t() :: pid() | GenServer.server()