diff options
author | Toby Vincent <tobyv@tobyvin.dev> | 2024-09-28 01:08:16 -0500 |
---|---|---|
committer | Toby Vincent <tobyv@tobyvin.dev> | 2024-09-28 01:08:16 -0500 |
commit | e1d9c956beb6921b0d549248bea3a6853fde5f46 (patch) | |
tree | c01098af5a024b00db50b0326dc67f79d7825ef9 /src/service/tcp.rs | |
parent | cd774827dd14f68d8405c45d2d9da30b3fab050e (diff) |
fix: clean up unused code and fix TCP client
Diffstat (limited to 'src/service/tcp.rs')
-rw-r--r-- | src/service/tcp.rs | 18 |
1 files changed, 2 insertions, 16 deletions
diff --git a/src/service/tcp.rs b/src/service/tcp.rs index 5ec5f36..42791bc 100644 --- a/src/service/tcp.rs +++ b/src/service/tcp.rs @@ -1,9 +1,7 @@ use std::{fmt::Display, net::SocketAddr, time::Duration}; -use futures::Stream; use serde::Deserialize; use tokio::{io::Interest, net::TcpSocket, sync::watch::Sender}; -use tokio_stream::wrappers::WatchStream; use crate::{Error, Status}; @@ -21,7 +19,6 @@ impl Display for Tcp { } impl ServiceSpawner for Tcp { - #[tracing::instrument(skip(tx))] async fn spawn(self, tx: Sender<Status>) -> Result<(), Error> { let mut interval = tokio::time::interval(Duration::from_secs(5)); @@ -33,14 +30,11 @@ impl ServiceSpawner for Tcp { match sock.connect(self.address).await { Ok(conn) => { - tracing::info!("Connected"); + // TODO: figure out how to wait for connection to close + conn.ready(Interest::READABLE).await?; tx.send_if_modified(|s| s.update(Status::Pass)); - conn.ready(Interest::ERROR).await?; - tx.send_replace(Status::Fail(Some("Disconnected".into()))); - tracing::info!("Disconnected"); } Err(err) => { - tracing::error!("Failed to connect"); tx.send_if_modified(|s| s.update(err.into())); } }; @@ -48,14 +42,6 @@ impl ServiceSpawner for Tcp { } } -impl Tcp { - pub fn into_stream(self) -> impl Stream<Item = Status> { - let (tx, rx) = tokio::sync::watch::channel(Status::default()); - tokio::spawn(self.spawn(tx)); - WatchStream::new(rx) - } -} - #[cfg(test)] mod tests { use super::*; |