Crate async_nats
source · [−]Expand description
A Rust async bleeding edge client for the NATS.io ecosystem.
git clone https://github.com/nats-io/nats.rs
NATS.io is a simple, secure and high performance open source messaging
system for cloud native applications, IoT
messaging, and microservices
architectures.
For sync API refer https://crates.io/crates/nats
For more information see https://nats.io/.
Examples
Below you can find some basic examples how to use this library.
For details, refer docs for specific method/struct.
Complete example
use bytes::Bytes;
use futures::StreamExt;
#[tokio::main]
async fn main() -> Result<(), async_nats::Error> {
let client = async_nats::connect("demo.nats.io").await?;
let mut subscriber = client.subscribe("messages".into()).await?.take(10);
for _ in 0..10 {
client.publish("messages".into(), "data".into()).await?;
}
while let Some(message) = subscriber.next().await {
println!("Received message {:?}", message);
}
Ok(())
}
Publish
let client = async_nats::connect("demo.nats.io").await?;
let subject = String::from("foo");
let data = Bytes::from("bar");
for _ in 0..10 {
client.publish("subject".into(), "data".into()).await?;
}
Subscribe
let client = async_nats::connect("demo.nats.io").await?;
let mut subscriber = client.subscribe("foo".into()).await.unwrap();
while let Some(message) = subscriber.next().await {
println!("Received message {:?}", message);
}
Re-exports
Modules
NATS Message headers, leveraging http::header crate.
JetStream is a NATS built-in persistence layer providing Streams with at least once and exactly once semantics.
A Core NATS message.
NATS status codes.
Structs
Error report from signing callback.
Client is a Clonable
handle to NATS connection.
Client should not be created directly. Instead, one of two methods can be used:
crate::connect and crate::ConnectOptions::connect
Info to construct a CONNECT message.
Connect options. Used to connect with NATS when custom config is needed.
A set of HTTP headers
Represents an HTTP header field value.
Address of a NATS server.
Information sent by the server back to this client during initial connection, and possibly again later.
Retrieves messages from given subscription
created by Client::subscribe.
Enums
ClientOp
represents all actions of Client
.
Protocol version used by the client.
Traits
Capability to convert into a list of NATS server addresses.
Functions
Connects to NATS with default config.
Connects to NATS with specified options.