echo_bot.rs

 1extern crate futures;
 2extern crate tokio_core;
 3extern crate tokio_xmpp;
 4
 5use tokio_core::reactor::Core;
 6use futures::{Future, Stream};
 7use tokio_xmpp::{Packet, TcpClient};
 8
 9fn main() {
10    use std::net::ToSocketAddrs;
11    let addr = "[2a01:4f8:a0:33d0::5]:5222"
12        .to_socket_addrs().unwrap()
13        .next().unwrap();
14
15    let mut core = Core::new().unwrap();
16    let client = TcpClient::connect(
17        &addr,
18        &core.handle()
19    ).and_then(|stream| {
20        stream.for_each(|event| {
21            match event {
22                Packet::Stanza(el) => println!("<< {}", el),
23                _ => println!("!! {:?}", event),
24            }
25            Ok(())
26        })
27    });
28    core.run(client).unwrap();
29}