Best practices while creating a download manager



  • i am creating a download manager in qt:
    the source code : https://github.com/ubuntuphp/download-manager
    in the source code there is a class named download which is meant for downloading its not complete.
    when i have to start a download then i have to use that class one download per class but i think there should be a single QNetworkAccessManager beacause all the settings can be in it i can supply pointers of one QNetWorkAccess Manager to each download class
    now my questions are:

    how to set the maximun download speed of QNetworkAccesManager. that can be in speed 150kbps or in percantage 50% of total network speed coming to device.

    how to know the total speed used by QNetworkAccessManager i know i can calculate the total size of files and divide by time but i want for total i think there is why to get this easily.

    how to set the maximum speed of QNetWorkRequest that can be in 150kbps or in percantage 20% of total network speed coming to QNetWorkAccessManager

    does qtnetwork by default supports proxy

    what are the avaiable download files (for eg. torrents , magnet links) tell the most you know some about them a link to a web site like wikipedia would be great how to use them.

    when we need to get the speed of a QNetworkReply then we divide the totla downloaded by the time taken any better way how to get the time

    i want to make a good download manager if you have any suggestion tips and tricks then please tell.

    i know these are many questions but i have many questions before and most solved by searching and experimenting these were left.



  • any one



  • All I get from your question, is that you want to write a download manager (who uses these things any more?!), but you have not the faintest idea of what that entails, as you need help on basically every step of the way. Perhaps you should re-think your goals?


Log in to reply
 

Looks like your connection to Qt Forum was lost, please wait while we try to reconnect.