aMule Forum

Please login or register.

Login with username, password and session length
Advanced search  

News:

We're back! (IN POG FORM)

Author Topic: Linear Priority & A4AF handling  (Read 5278 times)

wires

  • Jr. Member
  • **
  • Karma: 6
  • Offline Offline
  • Posts: 83
Linear Priority & A4AF handling
« on: January 27, 2009, 12:47:47 AM »

Hi all,

I'll do my best trying to explain them but my english is quite basic.

Linear Priority:
This feature is available in some emule MODs like Morph (the one I used until I reached amule). In "default"/automatic mode, a newly added download gets the maximum value so it will be the latest selected for resuming. User is able to manually set the value (absolute) for one file, or an incremental value for multiple files providing a base value (context menu - single/multiple file selection).

With this feature you can plan the download order instead of checking if amule has selected the one you wanted. When using categories, the assigned value should be the maximum for the category the file was added to in order to correctly arrange it.

AFAIK it is not related to download priority (high - medium - low), it is just a way to arrange downloads for resuming. The paused download with the lowest value will be selected to resume.

Stack/Balance Sources - A4AF handling:
It would provide a preference to choose the policy for handling A4AF, spread sources vs. stack sources. Stack is very useful when you have low number of sources, and balance is good when your downloads are rich in sources. Using categories for related downloads (i.e series, etc.) lets you concentrate the sources using the stack option or to spread them choosing balance.

Thanks!
Logged

wires

  • Jr. Member
  • **
  • Karma: 6
  • Offline Offline
  • Posts: 83
Re: Linear Priority & A4AF handling
« Reply #1 on: February 18, 2009, 11:15:04 PM »

I suppose this is a no go  ;D
Logged

GonoszTopi

  • The current man in charge of most things.
  • Administrator
  • Hero Member
  • *****
  • Karma: 169
  • Offline Offline
  • Posts: 2685
Re: Linear Priority & A4AF handling
« Reply #2 on: February 18, 2009, 11:33:09 PM »

I suppose we're a bit overloaded. (Or me at least.) I see nothing wrong with the first - let's call it "resume priority", or something like that.

However, I don't really understand what you mean by the second. You can already swap all available A4AF sources to one file via the context menu. If it's not what you want, please, be a bit more detailed about it.
Logged
concordia cum veritate

wires

  • Jr. Member
  • **
  • Karma: 6
  • Offline Offline
  • Posts: 83
Re: Linear Priority & A4AF handling
« Reply #3 on: February 18, 2009, 11:53:09 PM »

I suppose we're a bit overloaded. (Or me at least.)
It was not my intention to put pressure on any of you. I know you all work hard on this project and I really appreciate it so sorry if I gave that bad impression. Thanks for answering.

I see nothing wrong with the first - let's call it "resume priority", or something like that.
I took the name from the Morph MOD just in case It was possible to port an existing/working code.

However, I don't really understand what you mean by the second. You can already swap all available A4AF sources to one file via the context menu. If it's not what you want, please, be a bit more detailed about it.
What I meant is the capacity to do it automatically by configuration. I don't know how complex could be to select the target download for sources when using the "stack mode". May be It is good enough to select the oldest active download inside the same category (related to linear/resume priority).

Thanks again!
Logged

Stu Redman

  • Administrator
  • Hero Member
  • *****
  • Karma: 214
  • Offline Offline
  • Posts: 3739
  • Engines screaming
Re: Linear Priority & A4AF handling
« Reply #4 on: February 19, 2009, 12:14:48 AM »

I think both features add some complexity to the client which will confuse most users. And the files will be all finished sooner or later however you fiddle with the priorities.  :)

stack/balance: should be done by priority. equal prio == balance, different prio == stack. (I noted that sources are not always balanced nicely at equal prio though)

resume priority: again priority should be enough.

How about assigning prios from 1-100 with low == 20, normal == 50, high == 80 and custom == whatever  ?
Logged
The image of mother goddess, lying dormant in the eyes of the dead, the sheaf of the corn is broken, end the harvest, throw the dead on the pyre -- Iron Maiden, Isle of Avalon

GonoszTopi

  • The current man in charge of most things.
  • Administrator
  • Hero Member
  • *****
  • Karma: 169
  • Offline Offline
  • Posts: 2685
Re: Linear Priority & A4AF handling
« Reply #5 on: February 19, 2009, 12:26:18 AM »

How about assigning prios from 1-100 with low == 20, normal == 50, high == 80 and custom == whatever  ?
Wouldn't that confuse auto-prio?
Logged
concordia cum veritate

wires

  • Jr. Member
  • **
  • Karma: 6
  • Offline Offline
  • Posts: 83
Re: Linear Priority & A4AF handling
« Reply #6 on: February 19, 2009, 12:36:50 AM »

I think both features add some complexity to the client which will confuse most users. And the files will be all finished sooner or later however you fiddle with the priorities.  :)

stack/balance: should be done by priority. equal prio == balance, different prio == stack. (I noted that sources are not always balanced nicely at equal prio though)

resume priority: again priority should be enough.

How about assigning prios from 1-100 with low == 20, normal == 50, high == 80 and custom == whatever  ?
I think it would provide the functionality, but could break compatibility these new priorities? I thought priorities were used to modify the frequency used to ask for sources (or something like that).

Regarding the users, is it possible to hide these options with an "advanced mode" switch in configuration?

How about assigning prios from 1-100 with low == 20, normal == 50, high == 80 and custom == whatever  ?
Wouldn't that confuse auto-prio?

I don't think so if auto-prio uses the number of sources. Anyway It should keep assigning Lo(20)/No(50)/Hi(80).

Logged

Stu Redman

  • Administrator
  • Hero Member
  • *****
  • Karma: 214
  • Offline Offline
  • Posts: 3739
  • Engines screaming
Re: Linear Priority & A4AF handling
« Reply #7 on: February 19, 2009, 08:13:08 PM »

Wouldn't that confuse auto-prio?
Why ? You can already combine auto and manual prio.

I thought priorities were used to modify the frequency used to ask for sources (or something like that).
I'd have to look up what exactly gets controlled by prios, but I think different classes of prios would be overdoing things.

Regarding the users, is it possible to hide these options with an "advanced mode" switch in configuration?
Nah, I wouldn't want to introduce a noob/expert view. A setting feature should be easy to grasp, and this wouldn't be.
Logged
The image of mother goddess, lying dormant in the eyes of the dead, the sheaf of the corn is broken, end the harvest, throw the dead on the pyre -- Iron Maiden, Isle of Avalon

GonoszTopi

  • The current man in charge of most things.
  • Administrator
  • Hero Member
  • *****
  • Karma: 169
  • Offline Offline
  • Posts: 2685
Re: Linear Priority & A4AF handling
« Reply #8 on: February 20, 2009, 12:57:15 AM »

resume priority: again priority should be enough.

How about assigning prios from 1-100 with low == 20, normal == 50, high == 80 and custom == whatever  ?
Wouldn't that confuse auto-prio?

I expressed myself wrongly. I meant that automatic priority is based on the number of sources available for the file, but a stopped file (waiting to be resumed) doesn't have any sources, thus gets 'Auto [Hi]' priority.

Problem #1: There's no matter which number you choose for the 'Auto [Hi]' priority value, there will be a series (or whatever, someone want to download) that is longer than the remaining value range. You could of course make it "infinite", by using the whole range of an uint64, but:

Problem #2: You'd use download priority as resume priority. If I want a file to be resumed before the 'auto' files, I have to set a manual priority higher than automatic high priority. But that priority will be kept after resuming the file, so that file will have a (manual) priority higher than all other files, which I might not want, I'd want it to download normally. We could of course add a preference option 'Reset manual priority upon resuming file', but this is the point where we are just adding complexitiy (and most likely bugs).

Thus I'd suggest the following, if we're ever implementing such a feature:
 - leave download priority alone, that's a completely different thing,
 - add a new property 'Resume order', which is automatically set to, say, -1, meaning random,
 - think of this number as an index into a list, and handle it accordingly when setting on a file,
 - when resuming a file, select the 'first in the list', i.e. the one with the lowest non-negative value,
 - if there's no file with non-negative value, select one randomly.
Logged
concordia cum veritate