LogDB.Client.Consumer behaviour (logdb_client v0.3.0)

Copy Markdown View Source

Summary

Callbacks

handle_connect(state)

@callback handle_connect(state :: term()) :: {:ok, term()}

handle_disconnect(reason, state)

@callback handle_disconnect(reason :: term(), state :: term()) :: {:ok, term()}

handle_error(error, event)

@callback handle_error(error :: term(), event :: term()) :: any()

handle_event(type, payload, meta, state)

@callback handle_event(
  type :: String.t(),
  payload :: term(),
  meta :: map(),
  state :: term()
) ::
  {:ack, term()}
  | {:nack, term()}
  | {:nack, term(), [{:delay_ms, non_neg_integer()}]}
  | {:term, term()}
  | {:term, term(), String.t()}
  | {:defer, term()}

handle_ready(state)

@callback handle_ready(state :: term()) :: {:ok, term()}

init(opts)

@callback init(opts :: keyword()) :: {:ok, term()} | {:error, term()}