A Linux-native durable event gateway with bounded admission and a segmented write-ahead log.
A successful acknowledgement means the event crossed Weir's configured stable-storage boundary.
ACK(event) means event.LSN is at or below durable_LSN
The sink runs after that boundary. A lost acknowledgement can still produce a duplicate after retry, so Weir does not claim exactly-once delivery.
| Connections | epoll | coroutine | io_uring |
|---|---|---|---|
| 1,000 | 149,895 events/s | 140,244 events/s | 147,389 events/s |
| 10,000 | 118,600 events/s | 107,159 events/s | 117,947 events/s |
| 20,000 | 121,833 events/s | 108,476 events/s | 98,575 events/s |
The campaign used three 30-second samples per backend and connection level with a five-second warmup. It is directional evidence, not the five-minute publication baseline. The durable persistence path saturates before the transport choice, while io_uring trades fewer rejections for a worse latency tail in this configuration.
- Framed TCP ingress through epoll or io_uring readiness
- Global and per-session admission limits
- Group commit with an explicit sync policy
- Versioned WAL records, CRC32C, rotation, and fail-closed recovery
- Prometheus metrics across receive, queue, sync, acknowledgement, and sink stages
Weir owns one durable node. Replication, consensus, consumer groups, topics, and schema management belong elsewhere.
Build, run, operate, verify, and inspect recovery rules.
See GUIDE.md for build presets and dependencies.
Functional CI and performance evidence are separate. See GUIDE.md and LAB_RULES.md / EVIDENCE.md in stra-ta/.github for manifest provenance and the one-command suite (./scripts/verify.sh / ./scripts/confidence.sh or tools/verify.sh).
CI is functional only. Performance evidence requires a committed manifest with machine metadata (commit, compiler, kernel, CPU, arch, build type, seed, argv) and a link from the claim to that artifact. See stra-ta/.github for lab-wide caveats.