Opaque, connection-scoped facade for Baileys RC14 message retry state.
Obtain a value with BaileysEx.message_retry_manager/1. State-bearing operations
are serialized by the owning connection and return {:ok, value} or {:error, reason}.
Summary
Functions
Cache a recent protocol message for retry handling.
Cancel a pending phone fallback callback.
Clear all message retry-manager state for the connection.
Delete a cached Signal base key.
Return a cached recent message and its insertion timestamp.
Return a message's current retry count.
Return whether a message has reached the connection's retry limit.
Return whether the cached and supplied Signal base keys match exactly.
Increment and return a message's retry count.
Return whether a retry reason represents a MAC failure.
Mark a retry failed and release its cached state.
Mark a retry successful and release its cached state.
Parse a retry error attribute into its idiomatic Elixir reason atom.
Cache a Signal base key for retry-collision detection.
Schedule a connection-owned phone fallback callback.
Determine whether retry handling should recreate a Signal session.
Types
Functions
@spec add_recent_message(t(), String.t(), String.t(), struct(), keyword()) :: :ok | {:error, term()}
Cache a recent protocol message for retry handling.
Cancel a pending phone fallback callback.
Clear all message retry-manager state for the connection.
Delete a cached Signal base key.
@spec get_recent_message(t(), String.t(), String.t(), keyword()) :: {:ok, map() | nil} | {:error, term()}
Return a cached recent message and its insertion timestamp.
@spec get_retry_count(t(), String.t()) :: {:ok, non_neg_integer()} | {:error, term()}
Return a message's current retry count.
Return whether a message has reached the connection's retry limit.
@spec has_same_base_key?(t(), String.t(), String.t(), binary(), keyword()) :: {:ok, boolean()} | {:error, term()}
Return whether the cached and supplied Signal base keys match exactly.
@spec increment_retry_count(t(), String.t()) :: {:ok, pos_integer()} | {:error, term()}
Increment and return a message's retry count.
Return whether a retry reason represents a MAC failure.
Mark a retry failed and release its cached state.
Mark a retry successful and release its cached state.
Parse a retry error attribute into its idiomatic Elixir reason atom.
Cache a Signal base key for retry-collision detection.
Schedule a connection-owned phone fallback callback.
@spec should_recreate_session( t(), String.t(), boolean(), atom() | integer() | nil, keyword() ) :: {:ok, %{reason: String.t(), recreate: boolean()}} | {:error, term()}
Determine whether retry handling should recreate a Signal session.