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>