rusquitto 1.9.1
Robustness plus a measurement. The audit's ack-bound-throughput and cross-shard single-message-latency items were investigated and found to be at their floor — this release ships the two genuine changes that surfaced, and is not a throughput or latency win.
Measured, not guessed
Single-shard QoS 1 request-response is 55 µs p50 / 76 µs p90 / 128 µs p99 with no Nagle artifacts, so TCP_NODELAY was already effective and the per-request cost is the mqttbytes parse plus the socket round-trip — at parity with a mature C broker. The cross-shard single-message tax is one cross-thread reactor wake, internal to glommio. Neither has application-level headroom.
Changed
TCP_NODELAYis now set explicitly on every accepted socket, rather than relying on the listener's option being inherited by the kernel (which happens on Linux but isn't contractual across platforms). A portability guarantee for the latency-critical option — MQTT is request/response, where a coalesced small PUBACK/PUBLISH would cost a round-trip.- Single-shard brokers skip the mesh fan-out path —
fan_outno longer clones the (absent) peer-senders handle or runs the self-only loop when there are no peers.
These are robustness/cleanup changes. Going below the measured floor is the below-glommio work (parked connections / faster mesh wakeup) tracked in next-steps.md.
Assets
rusquitto-x86_64-unknown-linux-gnu— x86-64 Linux binaryrusquitto-aarch64-unknown-linux-gnu— ARM64 Linux binaryrusquitto.config.toml— annotated reference configuration