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