extern crate futures;
extern crate redis_async;
extern crate tokio;
use std::env;
use futures::{future, Future, Stream};
use redis_async::client;
use redis_async::resp::FromResp;
fn main() {
let topic = env::args().nth(1).unwrap_or("test-topic".to_string());
let addr = env::args()
.nth(2)
.unwrap_or("127.0.0.1:6379".to_string())
.parse()
.unwrap();
let msgs =
client::pubsub_connect(&addr).and_then(move |connection| connection.subscribe(&topic));
let the_loop = msgs.map_err(|_| ()).and_then(|msgs| {
msgs.for_each(|message| {
println!("{}", String::from_resp(message).unwrap());
future::ok(())
})
});
tokio::run(the_loop);
}