#channel #mpsc #async-channel #bidirectional #tokio #async

tokio-bichannel

Bidirectional tokio::sync::mpsc channel

3 stable releases

1.0.2 Jul 28, 2024

#819 in Concurrency

49 downloads per month

MIT license

8KB
76 lines

tokio-bichannel

A wrapper around tokio::sync::mpsc channels to provide an easy bidirectional stream API.

How do I install this crate?

Add this to your Cargo.toml file:

tokio-bichannel = "1"

Examples

#[tokio::test]
async fn main() {
    let (mut chan1, mut chan2) = channel::<String, String>(10);

    chan1.send("Hello from chan1".to_string()).await.unwrap();
    chan2.send("Hello from chan2".to_string()).await.unwrap();

    let msg1 = chan2.recv().await.unwrap();
    let msg2 = chan1.recv().await.unwrap();

    assert_eq!(msg1, "Hello from chan1");
    assert_eq!(msg2, "Hello from chan2");
}

Dependencies

~2–7.5MB
~47K SLoC