On Dec 18, 2007, at 4:12 PM, Matthew Toseland wrote:

> Smaller chunks would be nice, I appreciate that isn't always  
> feasible. Code
> review follows...
>
> On Tuesday 18 December 2007 21:22, robert at freenetproject.org wrote:
>>                      synchronized(this) {
>> -                            transferSucceeded = success;
>> -                            completedTransfer = true;
>> +                            completionTimedOut = timeout;
>> +                            completionSucceeded = success;
>> +                            receivedCompletionNotice = true;
>>                              notifyAll();
>>                      }
>
> Okay, there's something interesting happening here...
>
> receivedCompletionNotice means we have not only finished the  
> transfer but also
> received a message indicating that downstream has also finished  
> transferring.
> AFAICS you are setting it here to indicate we have finished the  
> transfer ???
>
> There is a reason for this behaviour: We need a realistic round-trip  
> time for
> the AIMD that controls the number of inserts that we start. If we  
> only take
> into account our own transfer time that isn't very realistic, as  
> downstream
> can take much longer to complete sometimes. Obviously AIMD will  
> often run
> many requests at once, but it needs a correct RTT.

Ok, I think that I have restored this behavior with r16706, but I'm  
out of time for today.

--
Robert Hailey



Reply via email to