bmrng 🪃

Crates.io Documentation Unit Tests codecov Dependency status

An async MPSC request-response channel for Tokio, where you can send a response to the sender. Inspired by crossbeam_requests.

Example

```rust

[tokio::main]

async fn main() { let buffersize = 100; let (tx, mut rx) = bmrng::channel::(buffersize); tokio::spawn(async move { match rx.recv().await { Ok((input, mut responder)) => { let res = responder.respond(input * input); asserteq!(res.isok(), true); } Err(err) => { panic!(err); } } }); let response = tx.sendreceive(8).await; asserteq!(response.unwrap(), 64); } ```