Regular ping
This commit is contained in:
parent
176a01b496
commit
9c1a2c10e0
15
src/main.rs
15
src/main.rs
|
@ -4,14 +4,16 @@ mod bag;
|
||||||
mod skeleton;
|
mod skeleton;
|
||||||
|
|
||||||
use bytes::BytesMut;
|
use bytes::BytesMut;
|
||||||
use preserves::value::{self, Map};
|
use core::time::Duration;
|
||||||
use tokio::prelude::*;
|
|
||||||
use tokio::net::{TcpListener, TcpStream};
|
|
||||||
use tokio::sync::mpsc::{unbounded_channel, UnboundedSender, UnboundedReceiver};
|
|
||||||
use tokio::codec::{Framed, Encoder, Decoder};
|
|
||||||
use futures::select;
|
use futures::select;
|
||||||
|
use preserves::value::{self, Map};
|
||||||
use std::io;
|
use std::io;
|
||||||
use std::sync::{Mutex, RwLock, Arc};
|
use std::sync::{Mutex, RwLock, Arc};
|
||||||
|
use tokio::codec::{Framed, Encoder, Decoder};
|
||||||
|
use tokio::net::{TcpListener, TcpStream};
|
||||||
|
use tokio::prelude::*;
|
||||||
|
use tokio::sync::mpsc::{unbounded_channel, UnboundedSender, UnboundedReceiver};
|
||||||
|
use tokio::timer::Interval;
|
||||||
|
|
||||||
// use self::skeleton::Index;
|
// use self::skeleton::Index;
|
||||||
|
|
||||||
|
@ -195,10 +197,13 @@ impl Peer {
|
||||||
if is_new { "new" } else { "existing" },
|
if is_new { "new" } else { "existing" },
|
||||||
dsname);
|
dsname);
|
||||||
|
|
||||||
|
let mut ping_timer = Interval::new_interval(Duration::from_secs(60));
|
||||||
|
|
||||||
let mut running = true;
|
let mut running = true;
|
||||||
while running {
|
while running {
|
||||||
let mut to_send = Vec::new();
|
let mut to_send = Vec::new();
|
||||||
select! {
|
select! {
|
||||||
|
_instant = ping_timer.next().boxed().fuse() => to_send.push(packets::Out::Ping()),
|
||||||
frame = self.frames.next().boxed().fuse() => match frame {
|
frame = self.frames.next().boxed().fuse() => match frame {
|
||||||
Some(res) => match res {
|
Some(res) => match res {
|
||||||
Ok(p) => {
|
Ok(p) => {
|
||||||
|
|
Loading…
Reference in New Issue