Registered Member
|
Hi.
I have a question about the way ETA is calculated - it looks like it takes average speed calculated for entire torrent's "life". And this is pretty much useless... Since download speed changes quite often, it doesn't tell me anything. I would prefer to see how long should it take to download with current download rate. So, would it be possible to calculate ETA using current download speed (or, rather, based on some sliding time window - for example average from the last minute). In my opinion it would be more useful. Another thing I wanted to ask about was per torrent speed limit, but I have found topic about that and that this feature is in TODO list - Great |
Registered Member
|
|
Registered Member
|
|
Registered Member
|
Having an option to switch on only the "actual speed" algorithm would be a nice thing because, after 30%completion the eta is on +1h but hopping down 8 seconds every second (right now). Thats not really usefull.
If you give me a hint where to find that stuff in the source code i'd try to go for it. |
Registered Member
|
|
Registered Member
|
So, i finally had a little bit of time to look in the source code and changed it, so the ETA is ALWAYS computed by the actual download rate. I just added 2 lines and changed three casts.
So here is what i did with Version 2.1: In timeestimator.cpp i added lines 66-68
In timeestimator.h id changed line 108
to
Now the ETA calculation function estimate() returns the ETA calculated with the actual d/l rate and returns it before it starts the decisions. Then i recompiled it and replaced the original libktorrent-2.1.so with the new one and everything works fine for me. If someone wants the source or binary files PM me. Just one question regarding the GPL: am I allowed to give the recompiled libktorrent-2.1.so and the changed timeestimator.cpp to other people, or what do i have to give them not to violate the GPL? |
Registered Member
|
Lots of people have lots of different opinions, we can't satisfy all of them. Majority requested this kind of estimation so I changed it.
But, seeing that we still get this kind of requests I can make ETA configurable through settings. For example, you can choose to use Global AVG speed algorithm, Current speed algorithm or other implemented algorithms in KTorrent settings. That way you can use what you want. I'll do that, it's very easy since we already have all implementations... Concerning GPL - don't ask me. I simply don't understand it |
Moderator
|
|
Registered Member
|
to Ivan:
If it helps, i could take care of the selecting estimation thing. Though i won't have time for it the next two weeks, because i have some tests to write at university. to Geroge: so if someone wants to have my altered libktorrent-2.1.so i just have to offer him the source as well, right?
Last edited by Woosh on Thu Feb 08, 2007 9:13 pm, edited 1 time in total.
|
Moderator
|
|
Registered Member
|
ETA algorithm is now configurable in advanced settings page. I've just committed. You can choose which algorithm you want, though a KT restart is required since I didn't want to iterate torrents on every settings::apply() for an option that probably won't be used frequently.
Algorithm names may look stupid so if anyone has a suggestion to change them, let me know. |
Registered users: Bing [Bot], Google [Bot]