From e65f5a05eaa78ac23d2f44e1587d83796ed0c307 Mon Sep 17 00:00:00 2001 From: Deirdre Connolly Date: Mon, 21 Oct 2019 04:51:37 -0400 Subject: [PATCH] Broken: I can't seem to return either an impl Future or Result to satisfy for_each --- zebra-network/src/peer/connector.rs | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/zebra-network/src/peer/connector.rs b/zebra-network/src/peer/connector.rs index fd0f2e6da..2733cc233 100644 --- a/zebra-network/src/peer/connector.rs +++ b/zebra-network/src/peer/connector.rs @@ -4,12 +4,13 @@ use std::{ pin::Pin, sync::{Arc, Mutex}, task::{Context, Poll}, + time::Duration, }; use chrono::Utc; use futures::channel::mpsc; -use tokio::{codec::Framed, net::TcpStream, prelude::*}; -use tower::Service; +use tokio::{codec::Framed, net::TcpStream, prelude::*, timer::Interval}; +use tower::{Service, ServiceExt}; use tracing::{span, Level}; use tracing_futures::Instrument; @@ -18,8 +19,7 @@ use zebra_chain::types::BlockHeight; use crate::{ constants, protocol::{codec::*, internal::*, message::*, types::*}, - timestamp_collector::TimestampCollector, - types::{MetaAddr, Network}, + types::MetaAddr, BoxedStdError, Config, }; @@ -208,6 +208,13 @@ where .boxed(), ); + // client.ready().await?; + + tokio::spawn( + Interval::new_interval(Duration::from_secs(60)) + .for_each(|_| client.call(Request::Ping(Nonce::default()))), + ); + Ok(client) }; fut.instrument(connector_span).boxed()