Rambla.Connection behaviour (Rambla v0.16.0) View Source
The default behaviour for publishers. The common use case would be the module implementing this behaviour opens a connection (and keep it opened,) and publishes messages as needed.
Rambla.Connection supports options: config that will be passed directly to
:poolboy as Options.
Example
config :rambla,
amqp: […]
pools: [amqp: [options: [size: 2, max_overflow: 1], …]]
Link to this section Summary
Types
The accepted type of the message to be published
The response type for the single request. Contains a status and a response from remote service
The response type for the bulk request. Contains a status and a response from remote service
The connection information
Callbacks
Connects to the remote service and returns a connection object back
Publishes the message to the remote service using connection provided
Functions
Returns a specification to start this module under a supervisor.
Accepts options for the underlying connection (those will be passed to connect/1.)
Link to this section Types
Specs
The accepted type of the message to be published
Specs
messages() :: [message()]
Specs
outcome() :: {:ok | :error, Rambla.Exception.t() | any()}
The response type for the single request. Contains a status and a response from remote service
Specs
outcomes() :: %{oks: [any()], errors: [Rambla.Exception.t()]}
The response type for the bulk request. Contains a status and a response from remote service
Specs
t() :: %Rambla.Connection{
conn: Rambla.Connection.Config.t(),
conn_params: keyword(),
conn_type: atom(),
conn_pid: pid(),
opts: map(),
errors: [Rambla.Exception.t()]
}
The connection information
Link to this section Callbacks
Specs
Connects to the remote service and returns a connection object back
Specs
Publishes the message to the remote service using connection provided
Link to this section Functions
Returns a specification to start this module under a supervisor.
See Supervisor.
Accepts options for the underlying connection (those will be passed to connect/1.)