Expand description
Proc launching abstraction.
This module defines a small strategy interface, ProcLauncher,
used by
BootstrapProcManager
to start and stop procs while keeping lifecycle tracking
centralized in the manager.
A launcher is responsible for the mechanics of running a proc (native OS process, container, VM, etc.) and for reporting terminal status back to the manager.
§Key properties
- Readiness is callback-driven. A proc is considered ready
only when it signals readiness via the existing bootstrap
callback (
callback_addr) in the [Bootstrap] payload. Launchers do not determine readiness. - Terminal status is channel-driven.
launchreturns aLaunchResultwhoseexit_rxresolves exactly once with aProcExitResult. This channel is the single source of truth for how a proc ended. - Termination is initiation-only.
ProcLauncher::terminateandProcLauncher::killinitiate shutdown and return without waiting for the proc to exit; callers observe completion by awaitingexit_rx(or a higher level handle built on it).
§Stdio handling
StdioHandling describes whether stdout/stderr are made
available to the manager for forwarding and tail collection
(Captured), inherited (Inherited), or handled entirely by the
launcher (ManagedByLauncher).
Structs§
- Launch
Options - Per-launch policy computed by the manager and handed to the launcher.
- Launch
Result - Result of launching a proc.
- Proc
Exit Result - Terminal status of a proc.
Enums§
- Proc
Exit Kind - How a proc terminated.
- Proc
Launcher Error - Errors produced by proc launching / termination backends.
- Stdio
Handling - How proc stdio is handled.
Traits§
- Proc
Launcher - Strategy interface for launching and stopping a proc.
Functions§
- format_
process_ name - Format a human-readable process name for diagnostics and logs.