ec2f4148e8
style(downloads): Made all errors type-based
...
Signed-off-by: quexeky <git@quexeky.dev >
2024-11-18 13:21:20 +11:00
bd3deacf38
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
63c3cc1096
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
f029cbf0b3
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
27e5a8e31c
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
b8cf44c0b2
refactor(downloads): Ran cargo fmt
...
Signed-off-by: quexeky <git@quexeky.dev >
2024-11-13 21:28:24 +11:00
075d6ecf3c
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
a1ada07690
feat(downloads): Added Download Manager
...
Signed-off-by: quexeky <git@quexeky.dev >
2024-11-13 20:38:00 +11:00
3dbf5ab573
chore(downloads): partial download manager
2024-11-12 09:06:28 +11:00
5e3d26b3ca
refactor(downloads): ran cargo clippy & cargo fmt
...
Signed-off-by: quexeky <git@quexeky.dev >
2024-11-11 18:27:39 +11:00
17244496ec
refactor: Removed unnecessary dependencies
...
Signed-off-by: quexeky <git@quexeky.dev >
2024-11-11 18:25:26 +11:00
7d3c6011df
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
5e05e6873d
feat(downloads): Added DownloadThreadControl struct
...
Signed-off-by: quexeky <git@quexeky.dev >
2024-11-11 10:05:49 +11:00
f25bfed336
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
b47b7ea935
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
4fc13a1c8f
refactor(downloads): Convert DOWNLOAD_MAX_THREADS to const
...
Signed-off-by: quexeky <git@quexeky.dev >
2024-11-11 07:58:49 +11:00
6a38ea306b
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
4983b25702
refactor: Ran cargo clippy & cargo fmt
...
Signed-off-by: quexeky <git@quexeky.dev >
2024-11-10 13:21:37 +11:00
00b7179743
refactor(database): Convert DATA_ROOT_DIR to Mutex
...
Signed-off-by: quexeky <git@quexeky.dev >
2024-11-09 22:44:44 +11:00
6bc64822df
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
f10d92d623
feat(downloads): Generic function to set download state
...
Signed-off-by: quexeky <git@quexeky.dev >
2024-11-09 20:15:04 +11:00
8204795ba6
style(downloads): Added GAME_PAUSE_CHECK_INTERVAL value
...
Signed-off-by: quexeky <git@quexeky.dev >
2024-11-09 20:00:05 +11:00
2c7b5fb47d
refactor: Cleaning up downloads playing and pausing
...
Signed-off-by: quexeky <git@quexeky.dev >
2024-11-09 19:57:53 +11:00
55b7921ee6
feat(downloads): Pausing and resuming game downloads
...
Signed-off-by: quexeky <git@quexeky.dev >
2024-11-09 19:55:36 +11:00
046ba643e2
refactor(downloads): Scoping changes and removing qualifications
...
Signed-off-by: quexeky <git@quexeky.dev >
2024-11-06 16:39:30 +11:00
191e62c500
Allowing some dead code features because they are there for future use (potentially)
...
Signed-off-by: quexeky <git@quexeky.dev >
2024-11-04 18:03:18 +11:00
201c8a4e7b
Ran cargo clippy and cargo fmt
...
Signed-off-by: quexeky <git@quexeky.dev >
2024-11-04 17:48:44 +11:00
d887f73163
Converted to using BufWriters instead of streaming everything at once
...
Signed-off-by: quexeky <git@quexeky.dev >
2024-11-04 17:45:46 +11:00
0528c78092
Functioning download progress updates
...
Signed-off-by: quexeky <git@quexeky.dev >
2024-11-04 17:11:37 +11:00
bd39f1fd72
Removed gxhash and ran cargo fmt
...
Signed-off-by: quexeky <git@quexeky.dev >
2024-11-01 07:51:56 +11:00
86363327a3
Clippy cleanup
...
Signed-off-by: quexeky <git@quexeky.dev >
2024-11-01 07:49:42 +11:00
13df631cc6
Lesson learned: Wrappers are the bane of my existence. Also here's the download cancelling logic.
...
Signed-off-by: quexeky <git@quexeky.dev >
2024-10-31 20:56:10 +11:00
01ce253bda
Adding checks for the stopper callback
...
Signed-off-by: quexeky <git@quexeky.dev >
2024-10-29 22:15:44 +11:00
99beca4dbe
Some progress on thread terminations
2024-10-28 22:06:44 +11:00
5564d23536
Queue is running game downloads sequentially now
2024-10-28 20:57:42 +11:00
1ab61c86b1
I think that download queuing is working
2024-10-28 19:23:41 +11:00
c9d9d2e94f
More debugging because apparently checksums are the bane of my existence. But it works and I was just an idiot
2024-10-26 23:23:43 +11:00
706f525ae7
Converted to md5
2024-10-26 22:22:10 +11:00
ddc585dc23
Debugging line
2024-10-26 16:47:27 +11:00
c51e7618bd
More progress on checksums
2024-10-26 15:18:34 +11:00
d39e7cbdf1
Mostly finished with checksums. Just merging main in at the same time
2024-10-26 10:58:04 +11:00
6ef444ed12
Encoding game IDs and versions
2024-10-25 17:55:45 +11:00
7049673596
restructing and renaming
2024-10-25 17:41:03 +11:00
a628fc1417
copy direct to disk
2024-10-25 14:56:49 +11:00
2ec351f20e
fixed multi-chunk downloads
2024-10-25 10:28:58 +11:00
4779383fc9
better download defaults
2024-10-24 22:17:50 +11:00
5ed0833e61
my own take on some BASED design decisions
2024-10-24 22:05:58 +11:00
10c8344930
Removed debugging statements
2024-10-24 20:39:03 +11:00
403ca65f7a
Downloads should be fixed now
2024-10-24 19:38:58 +11:00
f388237132
I think that downloads are working. Need to test and set decent file locations now
2024-10-24 17:18:09 +11:00