Logo ProcessKit API Reference

StopReason Type

Why supervision ended.

Union cases

Union case Description

GaveUp

Full Usage: GaveUp

The `Supervisor.GiveUpWhen` classifier recognized a crash as *permanent* — the supervisor stopped instead of restarting it forever. Only reported for a crashed run that produced a `ProcessResult` (the classifier still receives that crash's `ProcessError` projection, via `ProcessResult.FailureError`); a permanent failure that never produced a result (a spawn/IO failure the classifier also recognizes) has no result to report and instead surfaces directly as `RunAsync`'s `Error`, same as an exhausted budget on that path.

PolicySatisfied

Full Usage: PolicySatisfied

The `RestartPolicy` was satisfied — a clean exit under `OnCrash`, or the single `Never` run completing.

Predicate

Full Usage: Predicate

The `Supervisor.StopWhen` predicate matched a run.

RestartsExhausted

Full Usage: RestartsExhausted

The `Supervisor.MaxRestarts` budget ran out while the policy still wanted another restart.

Stopped

Full Usage: Stopped

A `SupervisionSession.StopAsync` graceful stop ended supervision: the current incarnation was stopped through its own graceful path (`RunningProcess.StopAsync`) and the loop concluded cleanly. Not a crash and not a token cancellation — the reported `SupervisionOutcome.FinalResult` is the honest result of that last, deliberately-stopped incarnation. Only reported when some incarnation did produce a result: a stop landing before any of them did has none to report and, like an exhausted budget on that path, surfaces directly as `RunAsync`'s `Error` instead — the last failure that kept the child from starting, or `ProcessError.Cancelled` when no incarnation was ever started at all.

Instance members

Instance member Description

this.IsGaveUp

Full Usage: this.IsGaveUp

Returns: bool
Returns: bool

this.IsPolicySatisfied

Full Usage: this.IsPolicySatisfied

Returns: bool
Returns: bool

this.IsPredicate

Full Usage: this.IsPredicate

Returns: bool
Returns: bool

this.IsRestartsExhausted

Full Usage: this.IsRestartsExhausted

Returns: bool
Returns: bool

this.IsStopped

Full Usage: this.IsStopped

Returns: bool
Returns: bool

Type something to start searching.