From b6c64e56e50966a7825cb5d4a8aee175bf16a1f0 Mon Sep 17 00:00:00 2001 From: quexeky Date: Mon, 30 Dec 2024 17:25:17 +1100 Subject: [PATCH] refactor(download manager): Moved download manager to separate directory Signed-off-by: quexeky --- .../download_manager.rs | 9 +++------ .../download_manager_builder.rs | 18 +++--------------- .../download_thread_control_flag.rs | 0 src-tauri/src/download_manager/mod.rs | 5 +++++ .../progress_object.rs | 0 .../{downloads => download_manager}/queue.rs | 0 src-tauri/src/downloads/download_agent.rs | 7 +++---- src-tauri/src/downloads/download_logic.rs | 4 ++-- src-tauri/src/downloads/mod.rs | 5 ----- src-tauri/src/lib.rs | 5 +++-- 10 files changed, 19 insertions(+), 34 deletions(-) rename src-tauri/src/{downloads => download_manager}/download_manager.rs (97%) rename src-tauri/src/{downloads => download_manager}/download_manager_builder.rs (97%) rename src-tauri/src/{downloads => download_manager}/download_thread_control_flag.rs (100%) create mode 100644 src-tauri/src/download_manager/mod.rs rename src-tauri/src/{downloads => download_manager}/progress_object.rs (100%) rename src-tauri/src/{downloads => download_manager}/queue.rs (100%) diff --git a/src-tauri/src/downloads/download_manager.rs b/src-tauri/src/download_manager/download_manager.rs similarity index 97% rename from src-tauri/src/downloads/download_manager.rs rename to src-tauri/src/download_manager/download_manager.rs index 55bfa83..7945d6d 100644 --- a/src-tauri/src/downloads/download_manager.rs +++ b/src-tauri/src/download_manager/download_manager.rs @@ -12,12 +12,9 @@ use std::{ use log::info; use serde::Serialize; -use super::{ - download_agent::{GameDownloadAgent, GameDownloadError}, - download_manager_builder::CurrentProgressObject, - progress_object::ProgressObject, - queue::Queue, -}; +use crate::downloads::download_agent::{GameDownloadAgent, GameDownloadError}; + +use super::{download_manager_builder::CurrentProgressObject, progress_object::ProgressObject, queue::Queue}; pub enum DownloadManagerSignal { /// Resumes (or starts) the DownloadManager diff --git a/src-tauri/src/downloads/download_manager_builder.rs b/src-tauri/src/download_manager/download_manager_builder.rs similarity index 97% rename from src-tauri/src/downloads/download_manager_builder.rs rename to src-tauri/src/download_manager/download_manager_builder.rs index f1e2d59..fa32fff 100644 --- a/src-tauri/src/downloads/download_manager_builder.rs +++ b/src-tauri/src/download_manager/download_manager_builder.rs @@ -12,25 +12,13 @@ use log::{error, info}; use tauri::{AppHandle, Emitter}; use crate::{ - db::{Database, GameStatus, GameTransientStatus}, - library::{ + db::{Database, GameStatus, GameTransientStatus}, download_manager::download_manager::GameDownloadStatus, downloads::download_agent::{GameDownloadAgent, GameDownloadError}, library::{ on_game_complete, push_game_update, QueueUpdateEvent, QueueUpdateEventQueueData, StatsUpdateEvent, - }, - state::GameStatusManager, - DB, + }, state::GameStatusManager, DB }; -use super::{ - download_agent::{GameDownloadAgent, GameDownloadError}, - download_manager::{ - DownloadManager, DownloadManagerSignal, DownloadManagerStatus, - GameDownloadAgentQueueStandin, GameDownloadStatus, - }, - download_thread_control_flag::{DownloadThreadControl, DownloadThreadControlFlag}, - progress_object::ProgressObject, - queue::Queue, -}; +use super::{download_manager::{DownloadManager, DownloadManagerSignal, DownloadManagerStatus, GameDownloadAgentQueueStandin}, download_thread_control_flag::{DownloadThreadControl, DownloadThreadControlFlag}, progress_object::ProgressObject, queue::Queue}; /* diff --git a/src-tauri/src/downloads/download_thread_control_flag.rs b/src-tauri/src/download_manager/download_thread_control_flag.rs similarity index 100% rename from src-tauri/src/downloads/download_thread_control_flag.rs rename to src-tauri/src/download_manager/download_thread_control_flag.rs diff --git a/src-tauri/src/download_manager/mod.rs b/src-tauri/src/download_manager/mod.rs new file mode 100644 index 0000000..dd7b78d --- /dev/null +++ b/src-tauri/src/download_manager/mod.rs @@ -0,0 +1,5 @@ +pub mod download_manager; +pub mod download_manager_builder; +pub mod progress_object; +pub mod queue; +pub mod download_thread_control_flag; \ No newline at end of file diff --git a/src-tauri/src/downloads/progress_object.rs b/src-tauri/src/download_manager/progress_object.rs similarity index 100% rename from src-tauri/src/downloads/progress_object.rs rename to src-tauri/src/download_manager/progress_object.rs diff --git a/src-tauri/src/downloads/queue.rs b/src-tauri/src/download_manager/queue.rs similarity index 100% rename from src-tauri/src/downloads/queue.rs rename to src-tauri/src/download_manager/queue.rs diff --git a/src-tauri/src/downloads/download_agent.rs b/src-tauri/src/downloads/download_agent.rs index 8b070be..a2620d0 100644 --- a/src-tauri/src/downloads/download_agent.rs +++ b/src-tauri/src/downloads/download_agent.rs @@ -1,7 +1,9 @@ use crate::auth::generate_authorization_header; use crate::db::DatabaseImpls; +use crate::download_manager::download_manager::DownloadManagerSignal; +use crate::download_manager::download_thread_control_flag::{DownloadThreadControl, DownloadThreadControlFlag}; +use crate::download_manager::progress_object::{ProgressHandle, ProgressObject}; use crate::downloads::manifest::{DropDownloadContext, DropManifest}; -use crate::downloads::progress_object::ProgressHandle; use crate::remote::RemoteAccessError; use crate::DB; use log::{debug, error, info}; @@ -20,9 +22,6 @@ use urlencoding::encode; use rustix::fs::{fallocate, FallocateFlags}; use super::download_logic::download_game_chunk; -use super::download_manager::DownloadManagerSignal; -use super::download_thread_control_flag::{DownloadThreadControl, DownloadThreadControlFlag}; -use super::progress_object::ProgressObject; use super::stored_manifest::StoredManifest; pub struct GameDownloadAgent { diff --git a/src-tauri/src/downloads/download_logic.rs b/src-tauri/src/downloads/download_logic.rs index 5c05f7c..0d6f67f 100644 --- a/src-tauri/src/downloads/download_logic.rs +++ b/src-tauri/src/downloads/download_logic.rs @@ -1,5 +1,7 @@ use crate::auth::generate_authorization_header; use crate::db::DatabaseImpls; +use crate::download_manager::download_thread_control_flag::{DownloadThreadControl, DownloadThreadControlFlag}; +use crate::download_manager::progress_object::ProgressHandle; use crate::downloads::manifest::DropDownloadContext; use crate::remote::RemoteAccessError; use crate::DB; @@ -20,8 +22,6 @@ use std::{ use urlencoding::encode; use super::download_agent::GameDownloadError; -use super::download_thread_control_flag::{DownloadThreadControl, DownloadThreadControlFlag}; -use super::progress_object::ProgressHandle; pub struct DropWriter { hasher: Context, diff --git a/src-tauri/src/downloads/mod.rs b/src-tauri/src/downloads/mod.rs index 2694cd7..8709ca6 100644 --- a/src-tauri/src/downloads/mod.rs +++ b/src-tauri/src/downloads/mod.rs @@ -1,10 +1,5 @@ pub mod download_agent; pub mod download_commands; mod download_logic; -pub mod download_manager; -pub mod download_manager_builder; -mod download_thread_control_flag; mod manifest; -mod progress_object; -pub mod queue; mod stored_manifest; diff --git a/src-tauri/src/lib.rs b/src-tauri/src/lib.rs index c68eefe..2112140 100644 --- a/src-tauri/src/lib.rs +++ b/src-tauri/src/lib.rs @@ -10,6 +10,7 @@ mod process; mod remote; mod state; mod tools; +pub mod download_manager; #[cfg(test)] mod tests; @@ -24,10 +25,10 @@ use db::{ add_download_dir, delete_download_dir, fetch_download_dir_stats, DatabaseInterface, GameStatus, DATA_ROOT_DIR, }; +use download_manager::download_manager::DownloadManager; +use download_manager::download_manager_builder::DownloadManagerBuilder; use debug::fetch_system_data; use downloads::download_commands::*; -use downloads::download_manager::DownloadManager; -use downloads::download_manager_builder::DownloadManagerBuilder; use http::Response; use http::{header::*, response::Builder as ResponseBuilder}; use library::{