Packages

RabbitMQ connection pool library

Current section

Files

Jump to
ex_rabbit_pool lib clients adapter.ex
Raw

lib/clients/adapter.ex

defmodule ExRabbitPool.Clients.Adapter do
@callback open_connection(keyword() | String.t()) :: {:ok, AMQP.Connection.t()} | {:error, any}
@callback open_channel(AMQP.Connection.t()) :: {:ok, AMQP.Channel.t()} | {:error, any()} | any()
@callback close_channel(AMQP.Channel.t() | pid()) :: :ok | {:error, AMQP.Basic.error()}
@callback close_connection(AMQP.Connection.t()) :: :ok | {:error, any}
@callback publish(AMQP.Channel.t(), String.t(), String.t(), String.t(), keyword) ::
:ok | AMQP.Basic.error()
@callback consume(AMQP.Channel.t(), String.t(), pid() | nil, keyword) ::
{:ok, String.t()} | AMQP.Basic.error()
@callback cancel_consume(AMQP.Channel.t(), String.t(), keyword) ::
{:ok, String.t()} | {:error, AMQP.Basic.error()}
@callback ack(AMQP.Channel.t(), String.t(), keyword()) :: :ok | AMQP.Basic.error()
@callback reject(AMQP.Channel.t(), String.t(), keyword()) :: :ok | AMQP.Basic.error()
@callback declare_queue(AMQP.Channel.t(), AMQP.Basic.queue(), keyword()) ::
{:ok, map()} | AMQP.Basic.error()
@callback queue_bind(AMQP.Channel.t(), AMQP.Basic.queue(), AMQP.Basic.exchange(), keyword()) ::
:ok | AMQP.Basic.error()
@callback declare_exchange(AMQP.Channel.t(), AMQP.Basic.exchange(), keyword()) ::
:ok | AMQP.Basic.error()
@callback qos(AMQP.Channel.t(), keyword()) ::
:ok | AMQP.Basic.error()
end