Skip to main content

start_boot_wave

Function start_boot_wave 

Source
pub fn start_boot_wave(
    workspace: Arc<Workspace>,
    project: Option<String>,
    force_new: bool,
)
Expand description

The boot spawn, for a process with no view: hold until the accounts settle, then dispatch the wave a view’s connect path dispatches - the named project’s lead, or every project whose lead row was left open, in forge.toml order. A seat whose last turn was cut off carries the restart note; a parked one is resumed with nothing.

Settling is terminal rather than Ready - a bailed account releases the spawn, because the walk skips it and the pollers keep re-probing it, so holding would wait on nothing.

The hold is bounded (BOOT_WAVE_WAIT). On expiry the wave goes out regardless and a WARN names what was not ready: a refused spawn carries its own reason (the spawn entries attach it), which beats a wave that never fires and says nothing.

Spawned rather than awaited: the boot must not block on accounts, and nothing downstream reads the result.