7 unstable releases

0.4.1 Oct 7, 2024
0.4.0 Oct 3, 2024
0.3.0 Aug 1, 2023
0.2.1 Oct 25, 2022
0.1.0 Dec 22, 2019

#553 in Asynchronous

Download history 7/week @ 2024-09-18 116/week @ 2024-09-25 251/week @ 2024-10-02 200/week @ 2024-10-09 54/week @ 2024-10-16 20/week @ 2024-10-23 17/week @ 2024-10-30 76/week @ 2024-11-06 136/week @ 2024-11-13 28/week @ 2024-11-20 73/week @ 2024-11-27 67/week @ 2024-12-04 164/week @ 2024-12-11 192/week @ 2024-12-18 408/week @ 2025-01-01

773 downloads per month

LGPL-3.0

33KB
688 lines

Crates.io docs.rs A client for NATS using tokio and async-await. There are still features missing, but it should be ready for use in simple situations.

Installation

[dependencies]
tokio-nats = "0.4.1"

Usage

use tokio_nats::{NatsConfigBuilder, connect};
use futures_util::StreamExt;
async fn demo() {
    let config = NatsConfigBuilder::default()
        .server("127.0.0.1:4222")
        .build()
        .unwrap();
    let mut client = connect(config).await.unwrap();
    client.publish("MySubject", "hello world".as_bytes()).await.unwrap();
    client.subscribe("MyOtherSubject").await.unwrap().for_each(async move |message| {
        println!("Received message {:?}", message);
    }).await;
}

lib.rs:

Crates.io docs.rs A client for NATS using tokio and async-await.

There are still features missing, but it should be ready for use in simple situations.

Installation

[dependencies]
tokio-nats = "0.4.1"

Usage


use tokio_nats::{NatsConfigBuilder, connect};
use futures_util::StreamExt;

async fn demo() {
    let config = NatsConfigBuilder::default()
        .server("127.0.0.1:4222")
        .build()
        .unwrap();
    let mut client = connect(config).await.unwrap();

    client.publish("MySubject", "hello world".as_bytes()).await.unwrap();

    client.subscribe("MyOtherSubject").await.unwrap().for_each(|message| async move {
        println!("Received message {:?}", message);
    }).await;
}

Dependencies

~12–29MB
~619K SLoC