Runtime state waiting for user input.
Awaitables are deliberately small. They identify what kind of input is needed and, when applicable, which effect they are gating.
Summary
Functions
Marks an awaitable as accepted with the matched policy label.
Marks an awaitable as cancelled.
Marks an awaitable as expired.
Increments the retry attempt counter.
Opens a policy awaitable for an effect.
Marks an awaitable as rejected with the matched policy label.
Types
@type status() :: :open | :accepted | :rejected | :cancelled | :expired
@type t() :: %Spectre.Awaitable{ attempts: non_neg_integer(), id: term(), kind: atom(), label: atom() | nil, max_attempts: pos_integer() | nil, metadata: map(), name: term(), run_id: String.t() | nil, status: status(), subject_id: term() }
Functions
Marks an awaitable as accepted with the matched policy label.
Marks an awaitable as cancelled.
Marks an awaitable as expired.
Increments the retry attempt counter.
@spec open_policy(term(), Spectre.Effect.t() | term(), keyword()) :: t()
Opens a policy awaitable for an effect.
Marks an awaitable as rejected with the matched policy label.