wabbit v0.4.0 Wabbit.Exchange View Source

Functions to operate on Exchanges.

Link to this section Summary

Functions

Binds an Exchange to another Exchange or a Queue using the exchange.bind AMQP method (a RabbitMQ-specific extension)

Declares an Exchange. The default Exchange type is direct

Deletes an Exchange by name

Convenience function to declare an Exchange of type direct

Convenience function to declare an Exchange of type fanout

Convenience function to declare an Exchange of type topic

Unbinds an Exchange from another Exchange or a Queue using the exchange.unbind AMQP method (a RabbitMQ-specific extension)

Link to this section Functions

Link to this function bind(channel, destination, source, options \\ []) View Source

Binds an Exchange to another Exchange or a Queue using the exchange.bind AMQP method (a RabbitMQ-specific extension)

Options

  • :routing_key - If set, specifies the routing key for the binding
  • :no_wait - If set, the server will not respond to the method
  • :arguments - A set of arguments for the binding
Link to this function declare(channel, exchange, type \\ :direct, options \\ []) View Source

Declares an Exchange. The default Exchange type is direct.

AMQP 0-9-1 brokers provide four pre-declared exchanges:

  • Direct exchange: (empty string) or amq.direct
  • Fanout exchange: amq.fanout
  • Topic exchange: amq.topic
  • Headers exchange: amq.match (and amq.headers in RabbitMQ)

Besides the exchange name and type, the following options can be used:

Options

  • :durable - If set, keeps the Exchange between restarts of the broker
  • :auto_delete - If set, deletes the Exchange once all queues unbind from it
  • :passive - If set, returns an error if the Exchange does not already exist
  • :internal - If set, the exchange may not be used directly by publishers, but only when bound to other exchanges. Internal exchanges are used to construct wiring that is not visible to applications.
  • :no_wait - If set, the server will not respond to the method
  • :arguments - A set of arguments for the declaration
Link to this function delete(channel, exchange, options \\ []) View Source

Deletes an Exchange by name.

When an Exchange is deleted all bindings to it are also deleted

Options

  • :if_unused - If set, the server will only delete the exchange if it has no queue bindings
  • :no_wait - If set, the server will not respond to the method
Link to this function direct(channel, exchange, options \\ []) View Source

Convenience function to declare an Exchange of type direct.

Link to this function fanout(channel, exchange, options \\ []) View Source

Convenience function to declare an Exchange of type fanout.

Link to this function topic(channel, exchange, options \\ []) View Source

Convenience function to declare an Exchange of type topic.

Link to this function unbind(channel, destination, source, options \\ []) View Source

Unbinds an Exchange from another Exchange or a Queue using the exchange.unbind AMQP method (a RabbitMQ-specific extension)

Options

  • :routing_key - If set, specifies the routing key for the unbind
  • :no_wait - If set, the server will not respond to the method
  • :arguments - A set of arguments for the unbind