diff --git a/src-tauri/src/downloads/download_agent.rs b/src-tauri/src/downloads/download_agent.rs index 52855cd..5aed80a 100644 --- a/src-tauri/src/downloads/download_agent.rs +++ b/src-tauri/src/downloads/download_agent.rs @@ -6,12 +6,14 @@ use crate::remote::RemoteAccessError; use crate::DB; use log::{debug, error, info}; use rayon::ThreadPoolBuilder; +use core::time; use std::fmt::{Display, Formatter}; use std::fs::{create_dir_all, File}; use std::io; use std::path::Path; use std::sync::mpsc::Sender; use std::sync::{Arc, Mutex}; +use std::time::Instant; use urlencoding::encode; #[cfg(target_os = "linux")] @@ -99,8 +101,10 @@ impl GameDownloadAgent { pub fn download(&self) -> Result<(), GameDownloadError> { self.setup_download()?; self.set_progress_object_params(); + let timer = Instant::now(); self.run().map_err(|_| GameDownloadError::DownloadError)?; + info!("{} took {}ms to download", self.id, timer.elapsed().as_millis()); Ok(()) } diff --git a/src-tauri/src/downloads/download_manager_builder.rs b/src-tauri/src/downloads/download_manager_builder.rs index 1b33853..9f569ac 100644 --- a/src-tauri/src/downloads/download_manager_builder.rs +++ b/src-tauri/src/downloads/download_manager_builder.rs @@ -201,6 +201,7 @@ impl DownloadManagerBuilder { fn manage_stop_signal(&mut self) { info!("Got signal 'Stop'"); + self.set_status(DownloadManagerStatus::Paused); if let Some(active_control_flag) = self.active_control_flag.clone() { active_control_flag.set(DownloadThreadControlFlag::Stop); } @@ -327,6 +328,7 @@ impl DownloadManagerBuilder { self.sender.send(DownloadManagerSignal::Update).unwrap(); } fn manage_cancel_signal(&mut self) { + self.set_status(DownloadManagerStatus::Paused); if let Some(current_flag) = &self.active_control_flag { current_flag.set(DownloadThreadControlFlag::Stop); } diff --git a/src-tauri/src/lib.rs b/src-tauri/src/lib.rs index f9b5ab2..34d7d0a 100644 --- a/src-tauri/src/lib.rs +++ b/src-tauri/src/lib.rs @@ -76,12 +76,12 @@ fn fetch_state(state: tauri::State<'_, Mutex>) -> Result AppState { let logfile = FileAppender::builder() - .encoder(Box::new(PatternEncoder::new("{t}|{l}|{f} - {m}{n}"))) + .encoder(Box::new(PatternEncoder::new("{d} | {l} | {f} - {m}{n}"))) .build(DATA_ROOT_DIR.lock().unwrap().join("./drop.log")) .unwrap(); let console = ConsoleAppender::builder() - .encoder(Box::new(PatternEncoder::new("{t}|{l}|{f} - {m}{n}\n"))) + .encoder(Box::new(PatternEncoder::new("{d} | {l} | {f} - {m}{n}\n"))) .build(); let config = Config::builder()