321 Commits

Author SHA1 Message Date
DecDuck 12b15aa0fd refactor(download manager): rename files to what they contain 2024-11-26 19:54:43 +11:00
DecDuck e08a2b20f3 feat: retry connnection on server unavailable 2024-11-26 18:09:15 +11:00
DecDuck aa1f70d344 feat(settings): finish download dir CRUD interface 2024-11-25 16:09:29 +11:00
DecDuck 104e903454 feat(settings): ability to add more download dirs 2024-11-24 21:04:56 +11:00
DecDuck 829236e56d fix(db): initialise doesn't recreate default install dir 2024-11-24 09:01:11 +11:00
Louis van Liefland b31d5c286a chore(downloads): Progress on write speeds & added debug statements 2024-11-23 23:32:56 +11:00
quexeky b9960c1733 style(downloads): Abstracted queue system
TODO: Still need to cleanup the rest of the legacy code which used to use the queue system
Signed-off-by: quexeky <git@quexeky.dev>
2024-11-23 18:18:03 +11:00
quexeky e074011ca8 feat(downloads): Download cancelling
Signed-off-by: quexeky <git@quexeky.dev>
2024-11-21 16:46:05 +11:00
DecDuck a80dcc31cc fix(auth): use chrono library to generate timestamps 2024-11-19 15:47:56 +11:00
quexeky e5a6129079 docs(logging): Updated logging format 2024-11-19 04:47:08 +00:00
DecDuck 27b768bd2f fix(log): added console as an appender 2024-11-19 15:33:14 +11:00
DecDuck a3244e2ff2 chore: cleanup of lib and toml 2024-11-19 15:28:57 +11:00
quexeky 5aff5c1a21 chore(downloads): progress on more precise download control
Signed-off-by: quexeky <git@quexeky.dev>
2024-11-19 15:27:35 +11:00
DecDuck ed87b6896b feat(auth): refactoring and error message 2024-11-19 15:05:28 +11:00
quexeky c18b964b3e feat: added file-based logging
Signed-off-by: quexeky <git@quexeky.dev>
2024-11-19 13:23:42 +11:00
quexeky 639a1f5270 style(downloads): Made all errors type-based
Signed-off-by: quexeky <git@quexeky.dev>
2024-11-18 13:21:20 +11:00
quexeky 2f245e56b6 chore(downloads): Ran cargo clippy & cargo fmt
Side note, I'm going to start using chore to declare these rather than refactor because I don't think that it actually qualifies

Signed-off-by: quexeky <git@quexeky.dev>
2024-11-16 17:05:24 +11:00
quexeky b24e106420 feat(downloads): Added AgentInterfaceData to get information about all downloads in queue
Signed-off-by: quexeky <git@quexeky.dev>
2024-11-16 17:03:37 +11:00
quexeky 18c7a9b2bc docs(download manager): Added description on how the DownloadManager works
Signed-off-by: quexeky <git@quexeky.dev>
2024-11-13 22:17:30 +11:00
quexeky 6428611689 style(downloads): Fixing some references to "id" vs "game_id"
Signed-off-by: quexeky <git@quexeky.dev>
2024-11-13 21:55:28 +11:00
quexeky f508391b6d refactor(downloads): Ran cargo fmt
Signed-off-by: quexeky <git@quexeky.dev>
2024-11-13 21:28:24 +11:00
quexeky cee86b43ed refactor(downloads): Ran cargo clippy & moved DownloadManagerInterface
Created file "download_manager_interface.rs" to contain the DownloadManagerInterface

Signed-off-by: quexeky <git@quexeky.dev>
2024-11-13 21:05:25 +11:00
quexeky 928b60483a feat(downloads): Added Download Manager
Signed-off-by: quexeky <git@quexeky.dev>
2024-11-13 20:38:00 +11:00
DecDuck 86f77daa01 chore(downloads): partial download manager 2024-11-12 09:06:28 +11:00
quexeky aa17db3d42 refactor(downloads): Reordered DownloadThreadControlFlag to agree with From<bool>
Signed-off-by: quexeky <git@quexeky.dev>
2024-11-12 09:03:36 +11:00
quexeky f8ce05b9c2 fix(downloads): Chunk counting logic error
Signed-off-by: quexeky <git@quexeky.dev>
2024-11-12 09:02:58 +11:00
quexeky 92ff527d50 refactor(downloads): ran cargo clippy & cargo fmt
Signed-off-by: quexeky <git@quexeky.dev>
2024-11-11 18:27:39 +11:00
quexeky e601bbc26b refactor: Removed unnecessary dependencies
Signed-off-by: quexeky <git@quexeky.dev>
2024-11-11 18:25:26 +11:00
quexeky 281f7844fd feat(downloads): Separated chunk updates into individual counters
Also added a From<bool> for DownloadThreadControlFlag because I accidentally was calling the wrong one before and had meant to add it anyway

Signed-off-by: quexeky <git@quexeky.dev>
2024-11-11 18:07:45 +11:00
quexeky 97f1db9aa1 feat(downloads): Added DownloadThreadControl struct
Signed-off-by: quexeky <git@quexeky.dev>
2024-11-11 10:05:49 +11:00
quexeky 628898ec23 feat(downloads): Convert DownloadThreadControlFlag to AtomicBool
Also ran cargo fmt & cargo clipy

Signed-off-by: quexeky <git@quexeky.dev>
2024-11-11 09:39:25 +11:00
quexeky 1443d7f605 refactor: Created file settings.rs
Add constant values here to have a central management point for any relevant constants

Signed-off-by: quexeky <git@quexeky.dev>
2024-11-11 09:11:46 +11:00
quexeky d4c3bb08a1 refactor(downloads): Convert DOWNLOAD_MAX_THREADS to const
Signed-off-by: quexeky <git@quexeky.dev>
2024-11-11 07:58:49 +11:00
DecDuck 2a83814f07 fix(download dir): fix logic error in detecting dir 2024-11-10 22:31:11 +11:00
DecDuck bc6aabc58d feat(downloads): reduce scope of download agent
due to a miscommunication, the scope of the download agent has grown too
much. this commit reduces that scopes, and intends for a lot of the
heavy lifting to be done by the soon-to-be-implemented download manager.
2024-11-10 22:25:54 +11:00
quexeky 74b8ed39d1 refactor: Ran cargo clippy & cargo fmt
Signed-off-by: quexeky <git@quexeky.dev>
2024-11-10 13:21:37 +11:00
quexeky 3258a3d709 feat(library): Added option to change root directory
Signed-off-by: quexeky <git@quexeky.dev>
2024-11-10 13:18:28 +11:00
quexeky 2f506a2068 refactor(database): Convert DATA_ROOT_DIR to Mutex
Signed-off-by: quexeky <git@quexeky.dev>
2024-11-09 22:44:44 +11:00
quexeky 4aadb77e87 feat(downloads): Added function to take and set any game state
Signed-off-by: quexeky <git@quexeky.dev>
2024-11-09 21:26:44 +11:00
quexeky f80bbe1b0e feat(downloads): Generic function to set download state
Signed-off-by: quexeky <git@quexeky.dev>
2024-11-09 20:15:04 +11:00
quexeky e7169dd1b1 style(downloads): Added GAME_PAUSE_CHECK_INTERVAL value
Signed-off-by: quexeky <git@quexeky.dev>
2024-11-09 20:00:05 +11:00
quexeky e288f2472b refactor: Cleaning up downloads playing and pausing
Signed-off-by: quexeky <git@quexeky.dev>
2024-11-09 19:57:53 +11:00
quexeky da1f39c061 feat(downloads): Pausing and resuming game downloads
Signed-off-by: quexeky <git@quexeky.dev>
2024-11-09 19:55:36 +11:00
quexeky f6f8186d5a chore(p2p): Starting p2p progress
Signed-off-by: quexeky <git@quexeky.dev>
2024-11-06 16:40:19 +11:00
quexeky ae68506268 refactor(downloads): Scoping changes and removing qualifications
Signed-off-by: quexeky <git@quexeky.dev>
2024-11-06 16:39:30 +11:00
quexeky afab522b1d Removing more unnecessary imports
Signed-off-by: quexeky <git@quexeky.dev>
2024-11-04 19:22:30 +11:00
quexeky 855effeff0 Fixed all merge issues
Signed-off-by: quexeky <git@quexeky.dev>
2024-11-04 19:05:27 +11:00
quexeky 1ec2370477 Merge branch 'downloads' (again)
Signed-off-by: quexeky <git@quexeky.dev>
2024-11-04 18:57:54 +11:00
quexeky 56ce939788 Ran cargo fmt
Signed-off-by: quexeky <git@quexeky.dev>
2024-11-04 18:50:25 +11:00
DecDuck 9a76fe0202 fixes and patches for merged changes 2024-11-04 18:13:03 +11:00