Backend-neutral isolation boundary for an untrusted episode worker.
Implementations MUST treat epoch as fencing data and reject lifecycle or exec
operations addressed to a stale domain generation.
Summary
Types
Callbacks
@callback checkpoint(Autonomic.ExecutionDomain.Domain.t()) :: {:ok, Autonomic.ExecutionDomain.CheckpointRef.t()} | {:error, term()}
@callback create(Autonomic.ExecutionDomain.Spec.t()) :: {:ok, Autonomic.ExecutionDomain.Domain.t()} | {:error, term()}
@callback destroy(Autonomic.ExecutionDomain.Domain.t()) :: :ok | {:error, term()}
@callback exec( Autonomic.ExecutionDomain.Domain.t(), Autonomic.ExecutionDomain.Command.t() ) :: {:ok, Autonomic.ExecutionDomain.Execution.t()} | {:error, term()}
@callback inspect_domain(Autonomic.ExecutionDomain.Domain.t()) :: {:ok, map()} | {:error, term()}
@callback restore(Autonomic.ExecutionDomain.CheckpointRef.t()) :: {:ok, Autonomic.ExecutionDomain.Domain.t()} | {:error, term()}
@callback signal(Autonomic.ExecutionDomain.Domain.t(), signal()) :: :ok | {:error, term()}