From e061b359fa6bbe142473989ce41a26c1334f7872 Mon Sep 17 00:00:00 2001 From: Lizzy Fleckenstein Date: Fri, 6 Jan 2023 18:05:23 +0100 Subject: pings --- src/main.rs | 1 + src/new.rs | 17 +++++++++++++++++ 2 files changed, 18 insertions(+) diff --git a/src/main.rs b/src/main.rs index 0510db7..69c8797 100644 --- a/src/main.rs +++ b/src/main.rs @@ -31,6 +31,7 @@ pub const NUM_CHANS: usize = 3; pub const REL_BUFFER: usize = 0x8000; pub const INIT_SEQNUM: u16 = 65500; pub const TIMEOUT: u64 = 30; +pub const PING_TIMEOUT: u64 = 5; mod ticker_mod { #[macro_export] diff --git a/src/new.rs b/src/new.rs index a70b117..6d4987e 100644 --- a/src/new.rs +++ b/src/new.rs @@ -52,6 +52,23 @@ pub async fn new( }); }); + let ping_share = Arc::clone(&share); + let mut ping_close = close_rx.clone(); + tasks + /*.build_task() + .name("ping")*/ + .spawn(async move { + ticker!(Duration::from_secs(PING_TIMEOUT), ping_close, { + let pkt: Pkt<&[u8]> = Pkt { + chan: 0, + unrel: false, + data: &[CtlType::Ping as u8], + }; + + ping_share.send(PktType::Ctl, pkt).await.ok(); + }); + }); + drop(tasks); Ok(( -- cgit v1.2.3