Hello, by default aMule (like emule does), limits the maxmum sources to contact to 300, this is a good thing for the network healt, but not always it implies good performances...
So I was thinking that maybe the mule should use another behavior to select sources to use:
If there are more than <max-contacted-clients-number> are found, start contacting them all (well a limit should be but, but higher I think!)...
After you know its QueueRate and its CompletedState amule should start purging the worst sources (too high QR, few chunks available...), selecting then only the "best <max-contacted-clients-number> clients" from a CompletedChunks/QueuRatio ratio...
In this way, you'll get always only the first 300 sources, instead of the first found ones...
Btw, I'm starting thinking that maybe this behavior could be too much load for the network, or simply for the client that is doing this comparison...
What do you think about?