My votes 1) less CPU overhead (I think this is being worked on)
2) Resume from alternate servers
3) Overall cap on upload bandwith (instead of on each connection)
4) A bit more "pie in the sky", but related file grouping ala LimeWire, Phex, and Gnucleus.
5) Really "pie in the sky", but downloading a file from multiple servers simultaneously. Nothing does this yet, but the first to do it will really outpace the others. Possible hint: To make it work better use this strategy.
* First connection requests entire file
* Second connection requests from 50% to end of file.
* Third requests from 25% to end of file
* Fourth requests from 75% to end of file.
* All requests are made from some starting point to the end of the file (rather than up to the next starting point) so they may continue on if the other connection drops. This works nicely since the thread can abort sooner if necessary.
* If a download thread hits the point where another one starts it can a) just stop there or b) continue on if it's much faster than the other thread and would probably beat it to the end (the overtaken connection would be dropped). |