Part 1 — Why Queues Are Killing Your Latency
The hidden costs of locks, cache misses, and false sharing. When to care, when not to.
Part 2 — The Ring Buffer: Pre-Allocated, Power-of-2, Cache-Aligned
https://submicro.beehiiv.com/p/building-a-disruptor-in-rust-ryuo-part-2a-the-ring-buffer
https://submicro.beehiiv.com/p/building-a-disruptor-in-rust-ryuo-part-2b-cache-line-padding
Part 3 — Sequencers: Single vs Multi-Producer with RAII Safety
https://submicro.beehiiv.com/p/building-a-disruptor-in-rust-ryuo-part-3a-memory-ordering-fundamentals
Part 4 — Wait Strategies: Trading Latency for CPU
Busy-spin to blocking condvar — when each makes sense and what you pay for each.
Part 5 — Sequence Barriers: Coordinating Dependencies
How consumers track each other without shared locks.
Part 6 — Event Handlers: Zero-Cost Dispatch, Batching & Lifecycle
Monomorphized dispatch, batch amortization, panic safety with rollback.
Part 7 — Publishing Patterns: Closures Over Translators
Why Rust doesn't need Java's EventTranslator hierarchy. Zero-copy publishing.
Part 8 — Batch Rewind: Retry Without Data Loss
Handling transient failures in a pipeline without dropping events or blocking forever.
Part 9 — Multi-Producer: CAS, Contention, and Coordination Costs
Out-of-order publishing, availability buffers, and what CAS contention actually costs.
Part 10 — EventPoller: Pull-Based Consumption for Control
When push doesn't fit. Integrating with external event loops and polling multiple ring buffers.
Part 11 — Dynamic Topologies: Runtime Handler Addition (With Safety Caveats)
Adding and removing handlers on a live ring buffer without stopping the world.
Part 12 — Panic Handling: Recovery, Rollback, and Isolation
Rust panics are not exceptions. Keeping sequence state consistent when handlers unwind.
Part 13 — Builder DSL: Type-Safe, Ergonomic Configuration
Type-state builders that make invalid configurations unrepresentable at compile time.
Part 14 — Production Patterns: Monitoring, Backpressure, and Graceful Shutdown
Observing ring buffer health, handling a full buffer, draining without data loss.
Part 15 — Benchmarking: Rigorous Methodology, HdrHistogram, and Coordinated Omission
How naive benchmarks lie. Gil Tene's coordinated omission correction. Comparing Ryuo against crossbeam, flume, std::mpsc, and tokio.
Part 16 (Bonus) — Async/Await Integration: Bridging Sync and Async Worlds
Dedicated threads, async publish wrappers, and a Stream adapter — without sacrificing the low-latency guarantees.
