Jido.Messaging.RoutingPolicy (Jido Messaging v1.0.0)

Copy Markdown View Source

Runtime-editable routing policy for outbound bridge delivery decisions.

Summary

Functions

Returns a copy with incremented revision and refreshed update timestamp.

Builds a routing policy with defaults.

Returns the Zoi schema for RoutingPolicy.

Types

t()

@type t() :: %Jido.Messaging.RoutingPolicy{
  dedupe_scope: :message_id | :thread | :room,
  delivery_mode: :best_effort | :primary | :broadcast,
  failover_policy: :none | :next_available | :broadcast,
  fallback_order: [binary()],
  id: binary(),
  inserted_at:
    nil
    | nil
    | %DateTime{
        calendar: term(),
        day: term(),
        hour: term(),
        microsecond: term(),
        minute: term(),
        month: term(),
        second: term(),
        std_offset: term(),
        time_zone: term(),
        utc_offset: term(),
        year: term(),
        zone_abbr: term()
      },
  metadata: map(),
  revision: integer(),
  room_id: binary(),
  updated_at:
    nil
    | nil
    | %DateTime{
        calendar: term(),
        day: term(),
        hour: term(),
        microsecond: term(),
        minute: term(),
        month: term(),
        second: term(),
        std_offset: term(),
        time_zone: term(),
        utc_offset: term(),
        year: term(),
        zone_abbr: term()
      }
}

Functions

bump_revision(policy)

@spec bump_revision(t()) :: t()

Returns a copy with incremented revision and refreshed update timestamp.

new(attrs)

@spec new(map()) :: t()

Builds a routing policy with defaults.

schema()

Returns the Zoi schema for RoutingPolicy.