summaryrefslogtreecommitdiffstats
path: root/src/service/tcp.rs
diff options
context:
space:
mode:
authorToby Vincent <tobyv@tobyvin.dev>2024-09-28 01:08:16 -0500
committerToby Vincent <tobyv@tobyvin.dev>2024-09-28 01:08:16 -0500
commite1d9c956beb6921b0d549248bea3a6853fde5f46 (patch)
treec01098af5a024b00db50b0326dc67f79d7825ef9 /src/service/tcp.rs
parentcd774827dd14f68d8405c45d2d9da30b3fab050e (diff)
fix: clean up unused code and fix TCP client
Diffstat (limited to 'src/service/tcp.rs')
-rw-r--r--src/service/tcp.rs18
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::*;