Convinience Release

tokio-stomp-2

crates.io

An async STOMP client (and maybe eventually, server) for Rust, using the Tokio stack.

It aims to be fast and fully-featured with a simple streaming interface.

Examples

Sending a message to a queue.

```rust use futures::prelude::*; use tokiostomp2::client; use tokiostomp2::ToServer;

[tokio::main]

async fn main() -> Result<(), std::io::Error> { let mut conn = client::connect("127.0.0.1:61613", None, None).await.unwrap();

conn.send( ToServer::Send { destination: "queue.test".into(), transaction: None, headers: vec!(), body: Some(b"Hello there rustaceans!".to_vec()), } .into(), ) .await.expect("sending message to server"); Ok(()) } ```

Receiving a message from a queue.

```rust use futures::prelude::*; use tokiostomp2::client; use tokiostomp2::FromServer;

[tokio::main]

async fn main() -> Result<(), std::io::Error> { let mut conn = client::connect("127.0.0.1:61613", None, None).await.unwrap(); conn.send(client::subscribe("queue.test", "custom-subscriber-id")).await.unwrap();

while let Some(item) = conn.next().await { if let FromServer::Message { messageid,body, .. } = item.unwrap().content { println!("{:?}", body); println!("{}", messageid); } } Ok(()) } ```

For full examples, see the examples directory.

License: MIT