nexus-logbuf 2.2.0

Lock-free SPSC and MPSC byte ring buffers for logging and archival
Documentation
# nexus-logbuf docs

Variable-length byte ring buffer. SPSC or MPSC. Claim-based API
with RAII commit. Designed for getting data off the hot path
without allocation, formatting, or syscalls.

## Start here

- [overview.md]./overview.md — When to use logbuf vs nexus-queue
- [spsc.md]./spsc.md — SPSC byte ring (the fast path)
- [mpsc.md]./mpsc.md — MPSC byte ring
- [claim-api.md]./claim-api.md`WriteClaim` / `ReadClaim`, commit, **mem::forget deadlock warning**
- [consumer-zeroing.md]./consumer-zeroing.md — Why the consumer zeros, Aeron pattern
- [channels.md]./channels.md — Blocking wrappers with backoff + park
- [patterns.md]./patterns.md — WebSocket archival, event sourcing, FIX journaling
- [caveats.md]./caveats.md — mem::forget, sizing, skip markers

## TL;DR

```rust
use nexus_logbuf::queue::spsc;

let (mut tx, mut rx) = spsc::new(64 * 1024);

// Producer (hot path): claim, fill, commit.
let payload = b"tick: BTC 52100.50";
if let Ok(mut claim) = tx.try_claim(payload.len()) {
    claim.copy_from_slice(payload);
    claim.commit();
}

// Consumer (background): read, drop.
if let Some(record) = rx.try_claim() {
    // consume(&*record);
    // drop zeros the record and advances the read head.
}
```

## Related

- [`nexus-queue`]../../nexus-queue/ — typed variant, `T`-oriented
- [`nexus-channel`]../../nexus-channel/ — blocking SPSC of typed values
- [`nexus-net`]../../nexus-net/ — often uses logbuf for WebSocket frame archival