minor code tidy
This commit is contained in:
parent
653d8cb421
commit
0d984bfaa5
2 changed files with 13 additions and 10 deletions
16
src/lib.rs
16
src/lib.rs
|
@ -36,7 +36,7 @@ pub type Peers = Arc<RwLock<BTreeMap<String, (SocketAddr, Device)>>>;
|
|||
pub type Sessions = Arc<RwLock<BTreeMap<String, Session>>>; // Session ID to Session
|
||||
|
||||
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
|
||||
pub enum JocalTasks {
|
||||
pub enum JocalTask {
|
||||
Udp,
|
||||
Http,
|
||||
Multicast,
|
||||
|
@ -143,14 +143,16 @@ impl JocalService {
|
|||
))
|
||||
}
|
||||
|
||||
pub async fn start(&self, handles: &mut JoinSet<JocalTasks>) {
|
||||
pub async fn start(&self) -> JoinSet<JocalTask> {
|
||||
let service = self.clone();
|
||||
|
||||
let mut handles = JoinSet::new();
|
||||
|
||||
handles.spawn(async move {
|
||||
if let Err(e) = service.start_http_server().await {
|
||||
error!("HTTP server error: {e}");
|
||||
}
|
||||
JocalTasks::Http
|
||||
JocalTask::Http
|
||||
});
|
||||
let service = self.clone();
|
||||
|
||||
|
@ -158,7 +160,7 @@ impl JocalService {
|
|||
if let Err(e) = service.listen_multicast().await {
|
||||
error!("UDP listener error: {e}");
|
||||
}
|
||||
JocalTasks::Multicast
|
||||
JocalTask::Multicast
|
||||
});
|
||||
|
||||
let service = self.clone();
|
||||
|
@ -178,7 +180,7 @@ impl JocalService {
|
|||
break;
|
||||
}
|
||||
}
|
||||
JocalTasks::Tick
|
||||
JocalTask::Tick
|
||||
});
|
||||
|
||||
let service = self.clone();
|
||||
|
@ -195,8 +197,10 @@ impl JocalService {
|
|||
break;
|
||||
}
|
||||
}
|
||||
JocalTasks::Udp
|
||||
JocalTask::Udp
|
||||
});
|
||||
|
||||
handles
|
||||
}
|
||||
|
||||
pub async fn stop(&self) {
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
use std::{path::Path, str::FromStr, time::Duration};
|
||||
|
||||
use clap::Parser;
|
||||
use jocalsend::{Config, DEFAULT_INTERVAL, JocalService, JocalTasks, error::Result};
|
||||
use jocalsend::{Config, DEFAULT_INTERVAL, JocalService, JocalTask, error::Result};
|
||||
use log::{error, info};
|
||||
use ratatui::DefaultTerminal;
|
||||
use ratatui_explorer::FileExplorer;
|
||||
|
@ -51,8 +51,7 @@ async fn start_and_run(terminal: &mut DefaultTerminal, config: Config) -> Result
|
|||
set_file_selection(&path, app.files());
|
||||
}
|
||||
|
||||
let mut handles = JoinSet::new();
|
||||
app.service.start(&mut handles).await;
|
||||
let mut handles = app.service.start().await;
|
||||
let shutdown = shutdown(&mut handles);
|
||||
let mut shutdown = std::pin::pin!(shutdown);
|
||||
loop {
|
||||
|
@ -103,7 +102,7 @@ async fn start_and_run(terminal: &mut DefaultTerminal, config: Config) -> Result
|
|||
Ok(())
|
||||
}
|
||||
|
||||
async fn shutdown(handles: &mut JoinSet<JocalTasks>) {
|
||||
async fn shutdown(handles: &mut JoinSet<JocalTask>) {
|
||||
let mut timeout = tokio::time::interval(Duration::from_secs(5));
|
||||
timeout.tick().await;
|
||||
loop {
|
||||
|
|
Loading…
Reference in a new issue