Linked, monitored, bounded transition work owned by one Instance.
Summary
Functions
Cancels work whose transition lost lifecycle authority.
Cancels timeout/monitor bookkeeping after a matching completion.
Clears timer bookkeeping after a worker DOWN.
Starts linked transition work and arms its deterministic timeout.
Starts transition work with a caller-owned identity for progress messages.
Kills work which exceeded its authority-owned deadline.
Types
@type failure() :: {:transition_worker_failed, kind(), {:raise, Exception.t(), Exception.stacktrace()} | {:throw | :exit, term(), Exception.stacktrace()}}
@type kind() :: :start | :terminate | {:finalizer, atom()} | :cleanup
Identity and cancellation handles for one asynchronous transition.
Functions
@spec cancel(t()) :: :ok
Cancels work whose transition lost lifecycle authority.
@spec complete(t()) :: :ok
Cancels timeout/monitor bookkeeping after a matching completion.
@spec down(t()) :: :ok
Clears timer bookkeeping after a worker DOWN.
@spec start(pid(), kind(), pos_integer(), (-> term())) :: t()
Starts linked transition work and arms its deterministic timeout.
Starts transition work with a caller-owned identity for progress messages.
@spec timeout(t()) :: :ok
Kills work which exceeded its authority-owned deadline.