Hello I am wondering why you are not incorporating estimated download time in your client. I am pretty sure the algorithm or equation is quite easy.
You see you take the total download size example (10 GB) convert it to MB.
Which is 10 * 1000 = 10,000 MB. Next we take the total amount in MB and divide by the current download speed in MB per second. So for example the download speed is 2 MB/s, that makes our equation 10,000/2 which will give us the total seconds needed to download that is 5000 seconds. Then you divide the total seconds needed to download the file and divide by 60 to give us the total amount in minutes. For our example that means 5000/60 = 83.33 Minutes. Furthermore you can divide the minutes by 60 again to give the download time needed in hours. So finally 83.33 / 60 = 1.38 Hours.
It should be Easy to Implement into the client.
This has been great glad to have helped, Entrepaneer Signing out.