The Principia Machina/Diagrams/09 Lock and petition queue: Difference between revisions
Appearance
m Add live rendering (graphviz tag / #mermaid) above the text-equivalent source; PMP-TPM diagrams, 2026-09-16 |
Diagram 09 Lock and petition queue: source, text equivalent, TPS 0.1.0 addresses |
||
| Line 1: | Line 1: | ||
''Structural diagram 9 of 12. Part of [[The Principia Machina/Hub|the TPM hub]]. | ''Structural diagram 9 of 12.'' Part of [[The Principia Machina/Hub|the TPM hub]]. | ||
* KIND: process | * KIND: process | ||
* LANGUAGE: Mermaid sequence | * LANGUAGE: Mermaid sequence | ||
* GENERATED FROM: per-container lock page state | * GENERATED FROM: per-container lock page state; TPS 5.7, 5.8.5 | ||
* STATUS: hand-authored at | * STATUS: hand-authored at TPS 0.1.0; superseded by TPX at its first build | ||
* SOURCE SHA-256: <code>e67a07601554beb77e1b559b098b92209b389956016ddf19145d5fe44e1b710f</code> | |||
Rendered live from the source below, which is the text equivalent; if rendering is unavailable the source still stands. | |||
{{#mermaid:sequenceDiagram | {{#mermaid: | ||
participant L as | %% 09 Lock and petition queue. process/Mermaid sequence. Generated from: per-container lock page state; TPS 5.7, 5.8.5. | ||
participant | sequenceDiagram | ||
participant L as Lead (holder) | |||
participant K as Lock page | |||
participant X as TPX | participant X as TPX | ||
participant C as | participant C as Coworker (queue head) | ||
L->>K: base-revision edit: holder, grant plus 1, grant time, expiry (5.7.2) | |||
L- | L->>K: heartbeat every few hours, never past 24 h from grant (5.7.3) | ||
L->>X: push carrying the grant number (5.9.8) | |||
L- | X-->>L: fencing check: grant not stale, holder is pusher; badge written last (5.10.1) | ||
X- | L->>K: release, valid only after the push (5.7.5) | ||
C->>K: acquire as queue head within the ACQUISITION WINDOW (5.7.4) | |||
L- | Note over K,X: out-of-order or pre-expiry acquisition refused by the save hook (5.7.1) | ||
Note over C,K: if the head is silent past the window, the next waiter may acquire (5.8.5) | |||
C- | |||
Note over C, | |||
}} | }} | ||
== Text equivalent == | |||
The lead acquires the lock by a base-revision edit writing holder, grant, grant time and expiry (5.7.2), extends it by heartbeat never past 24 hours (5.7.3), pushes with the grant number under the fencing check with the badge written last (5.9.8, 5.10.1), and releases only after that push (5.7.5). The queue head acquires within the ACQUISITION WINDOW, else the next waiter may (5.7.4, 5.8.5); the save hook refuses any out-of-order or pre-expiry acquisition (5.7.1). | |||
[[Category:The Principia Machina]] | |||
Revision as of 19:49, 17 September 2026
Structural diagram 9 of 12. Part of the TPM hub.
- KIND: process
- LANGUAGE: Mermaid sequence
- GENERATED FROM: per-container lock page state; TPS 5.7, 5.8.5
- STATUS: hand-authored at TPS 0.1.0; superseded by TPX at its first build
- SOURCE SHA-256:
e67a07601554beb77e1b559b098b92209b389956016ddf19145d5fe44e1b710f
Rendered live from the source below, which is the text equivalent; if rendering is unavailable the source still stands.
Text equivalent
The lead acquires the lock by a base-revision edit writing holder, grant, grant time and expiry (5.7.2), extends it by heartbeat never past 24 hours (5.7.3), pushes with the grant number under the fencing check with the badge written last (5.9.8, 5.10.1), and releases only after that push (5.7.5). The queue head acquires within the ACQUISITION WINDOW, else the next waiter may (5.7.4, 5.8.5); the save hook refuses any out-of-order or pre-expiry acquisition (5.7.1).