pub struct Stage { /* private fields */ }Expand description
A running stage: the slots, and the one lock every terminal write inside the stage goes through.
Implementations§
Source§impl Stage
impl Stage
Sourcepub fn begin(names: &[&str]) -> Arc<Stage> ⓘ
pub fn begin(names: &[&str]) -> Arc<Stage> ⓘ
A stage over names, in dispatch order. Does nothing visible until
checks start entering (the region) or finishing (the blocks).
Sourcepub fn enter(self: &Arc<Stage>, idx: usize) -> SinkGuard
pub fn enter(self: &Arc<Stage>, idx: usize) -> SinkGuard
Route this thread’s say calls into slot idx until the guard
drops. Installed by the dispatcher around each check.run. Also
starts the slot’s clock and puts it in the region.
Sourcepub fn append_raw(&self, idx: usize, bytes: &[u8])
pub fn append_raw(&self, idx: usize, bytes: &[u8])
Append raw bytes (a captured child’s output) to slot idx.
Sourcepub fn finish(&self, idx: usize)
pub fn finish(&self, idx: usize)
The check is over: emit everything it said as ONE contiguous write, with the region lifted out of the way first and repainted after — blocks pile up above, spinners stay below.
Called by the dispatcher after check.run returns (still on the
check’s thread, so a torn-down thread cannot strand a buffer — the
same catch_unwind that feeds the dead-check outcome runs first).