Advanced Max Downloads

Suggestions and discussion of future versions
Post Reply
greg_g

Advanced Max Downloads

Post by greg_g »

From a recent discussion on irc:

<eternalswd> greg_g, what features were you wanting added?
<greg_g> oh, the only one I can think of for certain right now is a variation of Max downloads...
<eternalswd> which does what?
<greg_g> Max number of downloads, but only count something as downloading if it is using X kb/s or more
<greg_g> otherwise, let it sit there and "download" albeit at like 2 kb/s
<greg_g> (those quotes weren't needed)
<eternalswd> ah, I see, well, that probably won't happen. It would need to be added to libtorrent, and that adds overhead for everyone, even if they don't use that feature
<ron_o> so an "if" this then "that" kind of feature?
<greg_g> right
<greg_g> example:
<ron_o> or an if & then feature. Those are tough for a GUI, if I might guess so.
<greg_g> I have 20 torrents in Deluge. My setting is Max Downloads 5 but only count torrents faster than 4 k/s as downloading" torrents 1-5 are just sitting there looking for peers/seeds, while 6-10 are downloading actively, and 11-20 are queued.
<greg_g> torrents 1-5 might occasionally download at 3 k/s, but that doesn't stop any of 6-10
<eternalswd> greg_g, the other problem with that is that torrent speeds are fluid, so it would cause a lot of starting and stopping of torrents. probably a no go
<greg_g> yeah, there would be some sort of grace period in the code... not the GUI. But in the code have it be like X k/s for 10 seconds
<greg_g> it is just an idea
<eternalswd> which adds even more overhead, having to maintain records of average speeds over span of time, I highly doubt this would ever be implemented, it just isn't practical. What may be an option is a force torrent to start if you notice one going slowly yourself.

So, to clarify, the option is much like the option from Azureus (I know I know). Here is the screenshot of their config dialog box for it:
http://img73.imageshack.us/img73/3725/1 ... ain6yj.png

The "don't count torrent as using a download slot is less than" X kb/s option.

Why I think this is helpful/needed:
I have some torrents which are basically sitting there waiting for seeds/peers to join. But, I don't want to miss a seed that connects. Example:
Lets say I have it set as "Max downloads 5. But only count a torrent as using a download slot if over 4 k/s".
If I have 10 torrents lined up, and torrents 1-5 are sitting there waiting for seeders, 6-10 are downloading at 10 k/s each (thus using my 5 download slots). If I connect to a seed on torrent 1 at 10 k/s, since it is higher in the queue it gets to go and torrent 10 is put back into the queue. Then, if that seed on torrent 1 goes away, the download speed goes back to 0, then torrent 10 starts back up. Without this option, I would have missed the seed and the ability to download that torrent.

Issues:
Need a grace period since transfer rate is pretty fluid. Simple, use the information that is in the Graph already implemented in Deluge. The average speed line is the information needed. I assume there is a way to break that up into a per-torrent fashion. If not, then that might be a problem.

Overhead is negligible since the average speed is already calculated, doing that per torrent is not much more probably (I don't know, it may be, I am just assuming).

To prevent the excessive starting and stopping of torrents you make the download k/s number low, so that transport information/connection information won't set it off, but actual transfer of data will.

Input? Criticism?
Post Reply