Building blocks¶
The structural decomposition of the PLC runtime: the pre-allocated dispatch scratch that realises the bounded-time-dispatch zero-allocation guarantee (Dispatch scratch (pre-alloc... (BB_0023)), and the foundation executor surfaces that the already-shipped foundation requirements refer to.
The collection of fields hoisted from per-iteration locals onto
Lifetime contract: every field is created in |
Foundation building blocks (taktora-executor v0.1)¶
The following building blocks document the executor surfaces that
already exist in crates/taktora-executor and that the foundation
requirements (Configurable scan period (REQ_0001) .. Programmatic shutdown wakeup (REQ_0051)) refer to. They
exist as audit-trail targets so the foundation reqs can carry
:status: implemented with a non-empty :links: to a realising
artefact.
|
|
|
|
|
The cooperative-shutdown wakeup sequence — a
sequenceDiagram
participant C as caller (any thread)
participant S as Stoppable (cloned)
participant N as iceoryx2 Notifier
participant W as WaitSet (dispatch loop)
participant OS as OS signal
Note over W: blocked, only a long interval pending
C->>S: stop()
S->>S: stop_flag.store(true)
S->>N: notify()
N-->>W: wake (notification trigger)
W->>W: stop_flag observed → return Ok(())
Note over OS,W: alternative: signal-driven exit
OS-->>W: SIGINT / SIGTERM (iceoryx2 latches)
W->>W: match Interrupt / TerminationRequest → return Ok(())
|