diff options
author | Lizzy Fleckenstein <eliasfleckenstein@web.de> | 2023-01-06 18:05:23 +0100 |
---|---|---|
committer | Lizzy Fleckenstein <eliasfleckenstein@web.de> | 2023-01-06 18:05:23 +0100 |
commit | e061b359fa6bbe142473989ce41a26c1334f7872 (patch) | |
tree | fc8ebcc17113e537d46192b66ff1dbe83a375f7c /src | |
parent | fd23bb3a2b57d43c115005dcd70f1e18bb005032 (diff) | |
download | mt_rudp-e061b359fa6bbe142473989ce41a26c1334f7872.tar.xz |
pings
Diffstat (limited to 'src')
-rw-r--r-- | src/main.rs | 1 | ||||
-rw-r--r-- | src/new.rs | 17 |
2 files changed, 18 insertions, 0 deletions
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] @@ -52,6 +52,23 @@ pub async fn new<S: UdpSender, R: UdpReceiver>( }); }); + 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(( |