On Mar 14, 2008, at 12:39 PM, Matthew Toseland wrote:

> On Friday 14 March 2008 16:29, Robert Hailey wrote:
>> Or maybe it's just that all those blocking within  
>> sendThrottledMessage
>> at the same time grab at the available packets, so some may starve?
>
> What it means is we are trying to send more transfers simultaneously  
> than will
> fit within the current allowed transmit rate in a reasonable time.  
> This
> should be prevented by the current code...

Are you sure?

All transfers use the same PacketThrottle, and wait for  
_packetsInFlight<windowSize. If windowSize==2 and there are 10  
concurrent transfers; it seems to me that there will generally be  
about 8 threads trying to grab 2 reservation slots.

On the presumption that each transfer has it's own thread, I've  
implemented a simple FIFO numerical order for the window (rather than  
just a wait()/notify() random order) in r18536. We'll see if it helps  
the pSuccess(BlockTransfer) rate, couldn't hurt, no?

--
Robert Hailey

-------------- next part --------------
An HTML attachment was scrubbed...
URL: 
<https://emu.freenetproject.org/pipermail/devl/attachments/20080314/b1ad5872/attachment.html>

Reply via email to