Glossary
Reference
Glossary
Section titled “Glossary”- node
- A declared task with a name, a mode and optional clauses. The macro
emits one
pub static NAME: TaskNodeper node, usable anywhere in the application. - pool
- A declared set of single-instance workers scaled between
minandmaxby a policy. Members share one worker shell; take-kind resources become per-member slot arrays. - floor
- The pool's member 0: always-on when
min >= 1, the member adeps: [POOL]edge resolves to. - mode
Terminate(spawned at boot, respawned after a wake),Pause(parks holding its resources), orOnDemand(started by a pool policy or control).- executor slot
- A runtime-filled
SendSpawnerstatic declared withexecutor NAME;and targeted withexecutor: NAME. The two uses: an interrupt-priority tier on the same core, or a second core's own executor. - default executor
- The executor every node and pool inherits unless it specifies its own. Lets a supervisor run on an interrupt tier while the rest of the graph stays on thread mode.
- stall / wedge / hog
- Three failure modes of a still-alive task. A stall waits
forever on an await and is caught by liveness. A wedge runs but
never acknowledges a stop. A hog never yields from one poll and
freezes its executor. The
fault-injectfeature can trigger each one for testing. - resource / slot
- A value one party builds and one worker owns while it runs, handed over
through a
ResourceSlotat spawn. Kinds: lend (default),consume,shared,divisible(featurebudget), withlocalcomposing onto the value kinds for!Sendvalues. - gate
- Something a spawn waits on, bounded by the node's
slot_timeout: an executor slot, a resource slot, or areadydep. Failing closed produces a fault naming the gate. - signal / coupling
- A
'statictwo nodes both touch (aWatch,Channel, mutex, atomic), declared inreads:/writes:or derived by#[dataflow]. Couplings may be cyclic and never feed the topological sort. - budget / claimant
- Feature
budget: adivisibleresource declares oneBudget<K>with a slot per holder. Each holder receives aClaimant: it states awantand receives agrant, and the supervisor releases the share when the holder stops. An allocatorprovides the capacity and re-divides it under aBudgetPolicy. - veto gate / contributor
- Feature
veto: aVetoGate<N>stays asserted while any contributor holds its bit and releases only when all do. Eachvetowriter owns one slot, so a writer that stops with its bit up leaves the gate asserted. - Open guard
- What
node.open(&SIG).awaitreturns for a gated signal: a countedDerefhandle. The count is the reader's hold on the producer, and its slow leak to zero is whatretirewaits for. - retire
- A producer-side verb: resolve once a
Backedsignal's openers have been gone a whole cooldown, then withdraw readiness and request the node's ownDeactivate. The nextopenstarts it again. - serialized
- A
sharedslot marker that makes "every holder runs on one executor" a compile-time rule: priority ceiling by construction for a serialized link, at no runtime cost. - beat / heartbeat
- A task's sign of life. Raised by
beat(), abeat_put/beat_writeraccess, or polled from anobserved beatsignal entry. Consumed byis_stale()and the liveness sweep. - readiness
- A task-asserted "I am actually serving" latch that gates dependents
(
deps: [X ready]). Status, not control, unless the edge isbound. - epoch
- A per-node activation generation counter, for a running consumer to notice a provider restarted underneath it.
- parked
- Either a node declared with no worker (the app spawns it by hand), or a
Pauseinstance stopped and waiting onwait_resume(), keeping its held resources. - disabled
- The control latch: not started at boot (
disabled;) or deactivated directly (Deactivatemarks its target). Survives wake respawns and pool regrows until anActivateclears it. - collateral
- Shown as "held" in the playground: stopped only as a dependent of a
deactivated node. Blocks bring-up like
disabled, butActivateon the ancestor releases it once no disabled node remains among its dependencies. - detached
- A task that called
set_detached(true): self-managed from then on. Every lifecycle verb skips it, including teardown and cascades. - wave
- How starts and stops propagate: signal every node whose pass conditions hold (deps up + gates satisfied) or whose stopping dependents have all acked, and repeat. Independent branches move concurrently; providers keep serving through their dependents' cleanup.
- ack
- The task-side half of a stop:
ack_dropped()(or the combinator doing it). Missed after its window (2 s default,ack_timeout:per node): aShutdownTimeoutfault naming the node. - fragment
- A module- or crate-owned slice of a graph, declared with
supervisor_fragment!and relayed verbatim into onecompose_graph!site per binary. - graph
- The macro-emitted bundle: node slots, dependency table, compile-time
order, pools. One
pub static GRAPH(or a named variant) drives oneSupervisor.