Runtime state waiting for a policy resolution.
Awaitables are deliberately small. They identify what kind of input is needed, who may resolve it, and, when applicable, which effect they gate.
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 resolver() :: :conversation | :external
@type status() :: :open | :accepted | :rejected | :cancelled | :expired
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.
:conversation is the compatibility default. :external keeps subsequent
conversation turns on normal routing and requires a host-sourced decision.
Marks an awaitable as rejected with the matched policy label.