Umatriz / nomi

Nomi - Minecraft launcher powered by Rust.
GNU General Public License v3.0
7 stars 3 forks source link

`downloads` module refactor #27

Closed Umatriz closed 4 months ago

Umatriz commented 4 months ago

Right now dowloading proccess is so hard to scale. Mostly because everythig is located in the one place. And it's also hard to keep track of the current downloading stage. My suggersion is a new dowloading system.

It should be based on the Dowloadable trait which will give us several methods to start dowloading, keep track of the current stage and check it's status.

The next part is TDownloader which are stucts that implemets Dowloadable trait. And should dowload only one thig. For example LibraryDownloader will download only one library and nothing more.

In adittion to this there will be DownloadSet and DownloadQueue which are utilites that gives a nice way to combine TDownloaders. And they also must implement Dowloadable

Tracking tasks: