Rambla v0.6.1 Rambla.Connection behaviour 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.

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

t()

The connection information

Functions

Returns a specification to start this module under a supervisor.

Accepts options for the underlying connection (those will be passed to connect/1.)

Callbacks

Connects to the remote service and returns a connection object back

Publishes the message to the remote service using connection provided

Link to this section Types

Link to this type

message()

View Source
message() :: binary() | map()

The accepted type of the message to be published

Link to this type

messages()

View Source
messages() :: [message()]
Link to this type

outcome()

View Source
outcome() :: {:ok | :error, Rambla.Exception.t() | any()}

The response type for the single request. Contains a status and a response from remote service

Link to this type

outcomes()

View Source
outcomes() :: %{oks: [any()], errors: [Rambla.Exception.t()]}

The response type for the bulk request. Contains a status and a response from remote service

Link to this type

t()

View Source
t() :: %Rambla.Connection{
  conn: any(),
  conn_params: keyword(),
  conn_type: atom(),
  conn_pid: pid(),
  opts: map(),
  errors: [Rambla.Exception.t()]
}

The connection information

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.)

Link to this section Callbacks

Link to this callback

connect(params)

View Source
connect(params :: keyword()) :: t()

Connects to the remote service and returns a connection object back

Link to this callback

publish(conn, message)

View Source
publish(conn :: any(), message :: message()) :: outcome()

Publishes the message to the remote service using connection provided