∅:D[
3.1988] → [
2.1169:1267]
∅:D[
2.1267] → [
4.739:773]
∅:D[
4.773] → [
2.1268:1455]
∅:D[
2.1455] → [
4.963:1174]
∅:D[
4.963] → [
4.963:1174]
∅:D[
4.1174] → [
2.1456:1503]
∅:D[
2.1503] → [
4.1235:1404]
∅:D[
4.1235] → [
4.1235:1404]
∅:D[
4.1404] → [
2.1504:1586]
∅:D[
2.1586] → [
4.1492:1796]
∅:D[
4.1492] → [
4.1492:1796]
    fn online(self) -> impl Future<Item = XmppConnection, Error = std::rc::Rc<config::Account>> {
        Box::new(future::loop_fn(
            (self.inner, self.account),
            |(client, account)| {
                client.into_future().then(|r| match r {
                    Ok((event, client)) => match event {
                        Some(Event::Online) => {
                            info!("Online");
                            future::ok(future::Loop::Break(XmppConnection {
                                account,
                                inner: client,
                            }))
                        }
                        Some(Event::Stanza(s)) => {
                            info!("xmpp stanza: {:?}", s);
                            future::ok(future::Loop::Continue((client, account)))
                        }
                        _ => {
                            warn!("Disconnected");
                            future::err(account)
                        }
                    },
                    Err((e, _)) => {
                        error!("xmpp receive error: {}", e);
    fn online(self) -> impl Future<Item = Self, Error = std::rc::Rc<config::Account>> {
        future::loop_fn((self.inner, self.account), |(client, account)| {
            client.into_future().then(|r| match r {
                Ok((event, client)) => match event {
                    Some(Event::Online) => {
                        info!("Online");
                        future::ok(future::Loop::Break(XmppConnection {
                            account,
                            inner: client,
                        }))
                    }
                    Some(Event::Stanza(s)) => {
                        info!("xmpp stanza: {:?}", s);
                        future::ok(future::Loop::Continue((client, account)))
                    }
                    _ => {
                        warn!("Disconnected");