The Jorb.Backend behaviour represents a queueing abstraction.
Jorb.Backend
body() :: map()
message() :: any()
opts() :: Keyword.t()
queue() :: String.t()
create_queue(queue(), opts()) :: :ok | {:error, any()}
delete_message(queue(), message(), opts()) :: :ok | {:error, any()}
delete_queue(queue(), opts()) :: :ok | {:error, any()}
message_body(message()) :: {:ok, body()} | {:error, any()}
purge_queue(queue(), opts()) :: :ok | {:error, any()}
read_messages(queue(), opts()) :: {:ok, [message()]} | {:error, any()}
write_messages(queue(), [body()], opts()) :: :ok | {:error, any()}