Circulate
Circulate is a lightweight PubSub framework that supports both async and non-async code. This project is written for BonsaiDb. While BonsaiDb's async relies upon tokio, this crate is runtime agnostic thanks to the excellent crate flume.
Async Example
let relay = default;
let subscriber = relay.create_subscriber;
subscriber.subscribe_to?;
relay.publish?;
let message = subscriber.receiver.recv_async.await?;
println!;
Sync Example
let relay = default;
let subscriber = relay.create_subscriber;
subscriber.subscribe_to?;
relay.publish?;
let message = subscriber.receiver.recv?;
println!;
Open-source Licenses
This project, like all projects from Khonsu Labs, are open-source. This repository is available under the MIT License or the Apache License 2.0.
To learn more about contributing, please see CONTRIBUTING.md.