A Tokio based client implementation for the NSQ realtime message processing system
``` extern crate futures; extern crate tokio_core; extern crate nsqueue;
use futures::Future; use tokio_core::reactor::Core;
use nsqueue::config::; use nsqueue::producer::;
fn main() { let mut core = Core::new().unwrap(); let handle = core.handle();
let addr = "127.0.0.1:4150".parse().unwrap();
let res = Producer::connect(&addr, &handle, Config::default())
.and_then(|conn| {
conn.publish("some_topic".into(), "some_message".into())
.and_then(move |response| {
println!("Response: {:?}", response);
Ok(())
})
});
core.run(res).unwrap();
} ```
``` extern crate futures; extern crate tokio_core; extern crate nsqueue;
use futures::Future; use tokio_core::reactor::Core;
use nsqueue::config::; use nsqueue::consumer::;
fn main() { let mut core = Core::new().unwrap(); let handle = core.handle();
let addr = "127.0.0.1:4150".parse().unwrap();
core.run(
Consumer::connect(&addr, &handle, Config::default())
.and_then(|conn| {
// TODO: Implement subscription as a stream
conn.subscribe("some_topic".into(), "some_channel".into())
.and_then(|message| {
println!("Got message {}", message);
Ok(())
})
})
).unwrap();
} ```
Licensed under either of