Control-plane command handling for the operation runtime.
Commits durable control requests, advances pending pause/update/resume/stop
sequences at quiescent boundaries, applies validated updates through the
controller and rejects commands that can no longer be honored. Trigger
commands re-enter Spectre.Operation.Runtime.trigger/5.
Summary
Functions
Advances a pending pause/update/resume sequence once the loop is quiescent.
Rejects a control command, pausing after rejected updates.
Commits a durable control request without executing it reentrantly.
Types
@type pid_action() :: :keep_runner | {:terminate_runner, String.t()}
Functions
@spec advance(Spectre.Operation.Loop.t(), Spectre.Operation.Control.t(), map()) :: {:ok, Spectre.Operation.Loop.t(), Spectre.Operation.Control.t(), [map()]} | {:error, term()}
Advances a pending pause/update/resume sequence once the loop is quiescent.
@spec reject( Spectre.Operation.Loop.t(), Spectre.Operation.Control.t(), Spectre.Operation.Control.Command.t(), term(), map() ) :: {:ok, Spectre.Operation.Loop.t(), Spectre.Operation.Control.t(), [map()]}
Rejects a control command, pausing after rejected updates.
@spec request( Spectre.Operation.Loop.t(), Spectre.Operation.Control.t(), Spectre.Operation.Control.Command.t(), map() ) :: {:ok, Spectre.Operation.Loop.t(), Spectre.Operation.Control.t(), pid_action(), [map()]} | {:duplicate, Spectre.Operation.Loop.t(), Spectre.Operation.Control.t()} | {:error, term()}
Commits a durable control request without executing it reentrantly.