AMQP.Channel (amqp v4.1.0)

View Source

Functions to operate on Channels.

Summary

Functions

Closes an open Channel.

Opens a new Channel in a previously opened Connection.

Types

channel_number()

@type channel_number() :: non_neg_integer()

custom_consumer()

@type custom_consumer() :: {module(), args :: any()}

t()

@type t() :: %AMQP.Channel{
  channel_number: channel_number() | nil,
  conn: AMQP.Connection.t(),
  custom_consumer: custom_consumer() | nil,
  pid: pid()
}

Functions

close(channel)

@spec close(t()) :: :ok | {:error, AMQP.Basic.error()}

Closes an open Channel.

Please note that the closing will be performed asynchronously. To verify the actual closure, you must monitor the process.

open(conn, custom_consumer \\ {SelectiveConsumer, self()}, channel_number \\ nil)

@spec open(AMQP.Connection.t(), custom_consumer() | nil, channel_number() | nil) ::
  {:ok, t()} | {:error, any()}

Opens a new Channel in a previously opened Connection.

Allows optionally to pass a custom_consumer/0 to start a custom consumer implementation. The consumer must implement the :amqp_gen_consumer behavior from :amqp_client. See :amqp_connection.open_channel/2 for more details and AMQP.DirectConsumer for an example of a custom consumer.

Allows for a channel number to be passed as a third argument. See :amqp_connection.open_channel/3