- Actually we have only 1 value to choose, that mean the max active torrent. Instead we should have 2 values:
*Tot --> Max Total Torrents: The total torrent active that count sharing+downloading torrents
*Down --> Max Downloading Torrents: It counts the downloading torrent only.
Of course these value should respect following condition: Down<=Tot ! (aka the users should not be able to choose Down>Tot for the correct behavior) - Slow torrents torrents don't cause an huge overhead value, so shouldn't be included in the queque. Rare torrent should get priority in any case. So:
*If "Source<X or Speed<Y torrent should be always active, aka get a position of "0" in the queque (or not counted).
* X and Y should be configurable, if someone have awesome connection speed could increase the default vale... (default could be X = 10 and Y = 100)
*Note the "or" in the condictions, it mean that one condition is enough to get the position 0 at the file. Plus, you could make them switchable, aka I can turn off the X and use only Y, or reverse. - The managing of queque for downloading torrents is easy, when a torrent is complete get his position on seeding queque and the following downloading torrent will start.
The seeding queque should work in the same way, counting as "complete" when a torrent reach 1:1 ratio.
It could be improved adding an incremental step that will be considered when all the torrent reached 1:1 ratio, I'll make an example: When 1:1 ratio restart the queque and put the goal at 1.5:1. Then 2.0:1. Then 2.5:1... and so on. In that case the "increment" is 0.5, but you could also make it switchable (I think first 1:1 and then 0.5 increment are the best default values).
Note: Of course rare torrents (the X of previous point) should keep the posistion 0 and be always uploaded. - Many hosters downloads are so fast, so they should be included in the torrent downloading queque, for example when hoster speed is > 100kb/s (or setable with > "z")
If is possible add such condictions in the queque system we could make the torrent managment a lot of better and use a lower value than the actual default 5 that still not solve the huge overhead of torrent downloading. For example using a Down = 1 and Tot = 2 by default (in that condictions there should be 1 downloading and 1 seeding torrent, and when all the downloads are complete 2 seeding torrents). CPU usage is better as well.
Sorry for the bad english... Bye.