{"repo":"powersemmi/ruststream","free":true,"listed":false,"github":"https://github.com/powersemmi/ruststream","clone":"git clone https://github.com/powersemmi/ruststream.git","description":"An async messaging framework for Rust","language":"Rust","stars":33,"topics":["rust","asyncapi","distributed-systems","stream-processing"],"license":"Apache-2.0","category":"data-pipelines","readme_excerpt":"RustStream An async messaging framework for Rust: broker-agnostic traits, a router runtime, codecs, AsyncAPI generation, Prometheus and OpenTelemetry observability, and a conformance harness for broker authors. Documentation --- RustStream connects your service to a message broker through a small set of generic traits, then gives you a router, middleware, codecs, and tooling on top. The core depends on no broker, so each broker is an independent crate held to one contract; broker-specific configuration never leaks into the framework. The core is 100% safe Rust: every crate carries #![forbid(unsafe code)] and CI rejects any unsafe block, so the guarantee cannot regress. Features - Broker-agnostic core. Traits and types only, zero broker dependencies. Brokers are separate crates, and the contract is checked by a conformance harness. - Fully async on tokio. No blocking APIs in the public surface. - Subscribers are Stream s, not callbacks. Back-pressure comes for free. - Misuse does not compile. Ack consumes self (no double-ack); the broker lifecycle is a ladder of consuming transitions ( connect(self) yields the connected form, shutdown(self) a terminal witness), so out-of-order lifecycle calls are compile errors; transactions settle by consuming their scope. - Publishers pair at startup. Reply wiring and the Out(..) handler parameter attach a publish policy where the handler is included; the runtime pairs it against the connected broker, so a handler never sees a \"not connected","default_branch":null,"files":null,"tree":[],"storefront":"/r/powersemmi","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/powersemmi/ruststream/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}