Lock-Free Render-State Handoff (No SPSC Ring)
Lock-free render-state exchange, not a single-producer/single-consumer PTY queue.
Availability
The advertised workflow is not available as a connected feature in stable v0.5.1. Source components or future work do not make it a shipped capability.
Reviewed against stable v0.5.1. Rust candidate additions are labeled separately. Release status.
The pain this solves
- A PTY byte queue and render-state exchange solve different problems.
- Removed buffer code should not remain advertised.
What ships with it
- The stable README says the old LockFreeRingBuffer was removed.
- Stable code has an atomic triple-buffered render-state exchange.
- No current SPSC PTY byte ring buffer was found.
Questions this answers
- Does stable Chau7 include an SPSC PTY byte ring?
- What lock-free render-state exchange is present?
- Was the earlier ring buffer retained?
How it works
The stable performance README says that the earlier LockFreeRingBuffer implementation was removed. Current audited code does not establish an SPSC ring buffer for PTY bytes or input events.
A separate TripleBuffering implementation uses atomic indices to exchange three render-state buffers. This supports a lock-free state-handoff description, but it is not the ring-buffer feature described by this page.
Stable Chau7 should not be advertised as using a lock-free SPSC PTY buffer. The verified capability is the three-slot render-state exchange, whose performance depends on the surrounding renderer.
Why it matters
Buffer descriptions should identify what is exchanged. A render-state handoff differs from a byte-oriented SPSC queue between terminal input and output.
Frequently asked questions
Does stable Chau7 include a lock-free SPSC ring buffer?
The audit found no current SPSC ring-buffer implementation; the performance README notes that the old LockFreeRingBuffer was removed.
Is any lock-free buffering present?
The stable renderer has a three-slot atomic render-state exchange.