ExWapp.Session.Worker.ReceiptBuilder (ExWapp v0.1.2)

Copy Markdown View Source

Builds receipt and retry-receipt nodes for inbound message acknowledgement.

Summary

Types

What a retry receipt is about: who to answer, which message, and why.

Types

retry_receipt()

@type retry_receipt() :: %{
  :to => String.t(),
  :id => String.t(),
  optional(:participant) => String.t() | nil,
  optional(:message_t) => String.t() | integer() | nil,
  optional(:retry_count) => non_neg_integer() | nil,
  optional(:error_code) => integer() | nil,
  optional(:retry_meta) => map() | nil
}

What a retry receipt is about: who to answer, which message, and why.

Grouped rather than passed positionally — nil, nil, 2, nil at a call site says nothing about which field is which.

Functions

build_receipt_ack(to, id, participant, type, receipt_meta)

@spec build_receipt_ack(
  String.t(),
  String.t(),
  String.t() | nil,
  String.t() | nil,
  map() | nil
) :: ExWapp.Binary.Node.t()

build_retry_receipt_ack(store, receipt, session_ctx \\ %{})

@spec build_retry_receipt_ack(ExWapp.Store.t(), retry_receipt(), map()) ::
  ExWapp.Binary.Node.t()