Re: [core-dev] BUG: dowloading from partial sources broken

Sumeet Thadani <[email protected]> Mon, 14 Jun 2004 10:15:42 -0400
Newsgroups gmane.network.gnutella.limewire.core.devel
Message-ID <[email protected]>
I don't see the problem. The scenario is we requested a range, the 
uploader gave us a a range not available, which was bigger (and included 
the range we asked for), and we throw and exception.

If the uploader had the range, why did it give us partial ranges, 
instead of giving us the data.

Thanks,

Sumeet

Sam Berlin wrote:

>Yeah ...  apparently it's been in there since version 3.9.6.   (Revision 1.198 of HTTPDownloader.)  :(
>
>Thanks,
> Sam
>
>-----Original Message-----
>From: [email protected]
>[mailto:[email protected]]On Behalf Of Greg Bildson
>Sent: Saturday, June 12, 2004 1:45 PM
>To: [email protected]
>Subject: RE: [core-dev] BUG: dowloading from partial sources broken
>
>
>That would probably explain why I saw no partial file sharing today.
>
>Thanks
>-greg
>---------- Original Message ----------------------------------
>From: "Sam Berlin" <[email protected]>
>Reply-To: [email protected]
>Date: Sat, 12 Jun 2004 13:14:32 -0400
>
>  
>
>>Hi Gregorio,
>>
>>I seem to remember that this was added to protect against uploaders who tell us to go away, but then give us a X-Available-Ranges with ranges that contain what we just asked for.  If that's the case, then it would seem that the initial "protect against uploaders who tell us to go away" wasn't actually included, so now we're just backing off from anyone who has a partial range of what we request, which would indeed break downloading from partial sources.
>>
>>I have opened an issue for this, at http://www.limewire.org/jira/browse/CORE-1 .
>>
>>Thanks,
>>Sam
>>
>>-----Original Message-----
>>From: [email protected]
>>[mailto:[email protected]]On Behalf Of Gregorio Roper
>>Sent: Saturday, June 12, 2004 5:25 AM
>>To: [email protected]
>>Subject: [core-dev] BUG: dowloading from partial sources broken
>>
>>
>>Lines 1126ff in the HTTPDownloader.java seem to be responsible for this problem:
>>
>>        //OK. All the ranges have been collated now. See if the uploader is up
>>        //to mischief
>>        Iterator iter = availableRanges.getAllIntervals();
>>        while(iter.hasNext()) {
>>            Interval next = (Interval)iter.next();
>>            if(_requestedInterval.isSubrange(next))
>>                throw new ProblemReadingHeaderException("Bad ranges sent");
>>        }
>>
>>
>>I'm not quite sure what these lines were supposed to do, but what they do is check whether 
>>the requested interval is available and throw a PRHE if this range actually is available.
>>
>>mfg
>>gregorio
>>_______________________________________________
>>core-dev mailing list
>>[email protected]
>>http://www.limewire.org/mailman/listinfo/core-dev
>>
>>
>>_______________________________________________
>>core-dev mailing list
>>[email protected]
>>http://www.limewire.org/mailman/listinfo/core-dev
>>
>>    
>>
>_______________________________________________
>core-dev mailing list
>[email protected]
>http://www.limewire.org/mailman/listinfo/core-dev
>
>
>_______________________________________________
>core-dev mailing list
>[email protected]
>http://www.limewire.org/mailman/listinfo/core-dev
>
>.
>
>  
>


_______________________________________________
core-dev mailing list
[email protected]
http://www.limewire.org/mailman/listinfo/core-dev