[][src]Crate tokio_nats

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.1.0"

Usage

#![feature(async_closure)]

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;
}

Structs

NatsClient

A handle to a NATS connection, which allows subscribing and publishing messages.

NatsConfig

Configuration used in creating a NATS connection

NatsConfigBuilder

Builder for NatsConfig.

NatsMessage

A message that has been received by the NATS client.

NatsSubscription

A stream corresponding to a specific NATS subscription.

Enums

Error

Functions

connect

Make a new NATS connection. Return a NatsClient which can be cloned to obtain multiple handles to the same connection.