1extern crate futures;
2extern crate tokio_core;
3extern crate nsqueue;
4
5use futures::Future;
6use tokio_core::reactor::Core;
7
8use nsqueue::config::*;
9use nsqueue::producer::*;
10
11fn main() {
12 let mut core = Core::new().unwrap();
13 let handle = core.handle();
14
15 let addr = "127.0.0.1:4150".parse().unwrap();
16
17 let mut messages: Vec<String> = Vec::new();
18 messages.push("First message".into());
19 messages.push("Second message".into());
20
21 let res = Producer::connect(&addr, &handle, Config::default())
22 .and_then(|conn| {
23 conn.mpublish("some_topic".into(), messages)
24 .and_then(move |response| {
25 println!("Response: {:?}", response);
26 Ok(())
27 })
28 });
29 core.run(res).unwrap();
30}