Application integration contract for an Ircxd.Client process.
A client adapter receives normalized client events and owns any application
state derived from them. It is configured with the client's :adapter
option as {module, init_arg}.
Summary
Types
Connection data for one event.
A legacy event or an event envelope.
Application state for one client process.
Callbacks
Handles one client event and returns the next adapter state.
Initializes the adapter state from the configured argument.
Types
@type context() :: %{ client: pid(), host: String.t(), port: :inet.port_number(), tls?: boolean(), nick: String.t() | nil, client_info: Ircxd.Client.Info.t() }
Connection data for one event.
@type event() :: Ircxd.Client.Event.legacy() | Ircxd.Client.Event.t()
A legacy event or an event envelope.
@type state() :: term()
Application state for one client process.