RE: [core-dev] Re: Requery during downloading disabled?

"Greg Bildson" <[email protected]> Mon, 22 Nov 2004 11:20:05 -0500
Newsgroups gmane.network.gnutella.limewire.core.devel
Message-ID <[email protected]>
Brian,

For multiple sources, you can only use "xs", "as" and "xt".  With xt already
used, you can specify 2 other exact sources.

Thanks
-greg

> -----Original Message-----
> From: [email protected]
> [mailto:[email protected]]On Behalf Of Brian Fall
> Sent: Friday, November 19, 2004 6:12 PM
> To: [email protected]
> Subject: [core-dev] Re: Requery during downloading disabled?
>
>
> Thanks, Sam. I will then pursue the "alternate locations" and the
> "download mesh" approach as you suggest to avoid network
> congestion. I do, however, have a question about where to begin
> adding my own alternate locations to the mesh. I know the exact
> IP addresses of the sources that I want to add (they are running
> Limewire), and would ideally want to just specify this inside the
> magnet link instead of modify the code, but I've so far been
> unable to figure out if that's possible. Here, for example, is
> just one variation I've tried (I added line breaks in this email
> to make it easier to read, but didn't actually have the breaks in
> the link itself):
>
>  magnet:?xt=urn:<SHA1>&dn=SomeMusicFile&
>  xs=http://a.b.c.d:port/uri-res/N2R?urn:sha1:<SHA1>&
>     http://e.f.g.h:port/uri-res/N2R?urn:sha1:<SHA1>&
>     http://i.j.k.l:port/uri-res/N2R?urn:sha1:<SHA1>&
>     http://m.n.o.p:port/uri-res/N2R?urn:sha1:<SHA1>&
>
> The idea is to load up the magnet with the sources I am certain
> will host the file, while allowing Limewire to also search for
> sources while these xs sources start the download. Is that
> possible? I've tried a lot of variations on the above theme,
> attempting to put multiple sources into the magnet, but no luck
> -- documentation I came across in the Limewire code indicate that
> this is possible, but is it?
>
> If the above isn't possible, I can always modify the source code
> so that my sources are hard-coded (for now; early testing!) as
> alternate locations. I see that the MagnetDownloader constructor
> takes an array of URLs named defaultURLs; should I add them in
> the constructor (just add my sources to the defaultURLs), or is
> there a better place in the Limewire core code to add my own
> alternate sources to ensure that downloading starts from them
> initially while the rest of the network is being searched?
>
> With thanks again for your advice,
> Brian
>
> > Message: 2
> > Date: Fri, 19 Nov 2004 01:57:54 -0500
> > From: "Sam Berlin" <[email protected]>
> > Subject: RE: [core-dev] Requery during downloading disabled?
> > To: <[email protected]>
> > Message-ID: <[email protected]>
> > Content-Type: text/plain;	charset="us-ascii"
> >
> > Hi Brian,
> >
> > What you're noticing is LimeWire's refusal to do automated
> requerying.  If a
> > download is active, then there is no need to burden the network with a
> > search for additional sources.  Network resources are the most precious
> > commodity LimeWire has.  If queries were injected into the network for
> > existing downloads (or even automatically for failed downloads)
> then each
> > node would be forced to flow control its traffic, dropping user-driven
> > searches & results.
> >
> > The network-conscious way to have LimeWire attempt additional
> sources after
> > a download begins is by using "alternate locations" and the
> "download mesh".
> > The download mesh is a collection of alternate locations that
> are hosting
> > the given file.  HTTP responses can contain a header: "X-Alt:
> a.b.c.d:port,
> > a.b.c.d:port, etc.." that tell LimeWire to try these sources.
> LimeWire (and
> > other Gnutella clients) keep track of which hosts have successfully or
> > unsuccessfully downloaded and internally keep a list of
> alternate locations
> > for each file.  Locations are removed from servers via reading
> the 'X-NAlt'
> > header, which is a list supplied by the downloader (in one of it's HTTP
> > request headers) of locations that are no longer valid.
> >
> > The only drawback with alternate locations is that they're currently
> > designed to only work with uri-res requests.  That is, the alternate
> > locations must be hosting the file at
> > http://a.b.c.d:port/uri-res/N2R?urn:sha1:<SHA1> .  All Gnutella clients
> > support this, but a mod would have to be written for HTTP
> servers such as
> > Apache.
> >
> > Thanks,
> >  Sam
> >
> > > -----Original Message-----
> > > From: [email protected] [mailto:core-dev-
> > > [email protected]] On Behalf Of Brian Fall
> > > Sent: Friday, November 19, 2004 1:39 AM
> > > To: [email protected]
> > > Subject: [core-dev] Requery during downloading disabled?
> > >
> > > Hello everyone, I've been working with are recent Limewire
> CVS snapshot
> > > and noticed that when a search and attempt to download
> finally enters the
> > > tryAllDownloads3() method of the ManagedDownloader class that
> it actually
> > > stops the ability to re-query (perform any more searches for
> that piece of
> > > content). Specifically, it appears that when the
> > >
> > >            while (true) { ... }
> > >
> > > portion of  tryAllDownloads3() is entered the ability to continue
> > > searching comes to a halt. I am attempting to optimize, if
> possible, the
> > > search process so that a requery can be issued even while the
> download is
> > > in progress. To do this, I tried to re-query from within the    while
> > > (true)  loop of the  tryAllDownloads3() method, but that caused an
> > > exception and stopped it entirely.
> > >
> > > Is it possible, given the way Limewire is currently coded, to requery
> > > while a download is in progress?
> > >
> > > On a similar note (possibly related), I noticed that when I
> use a magnet
> > > link that has as its "xs" source a standard Web link (not a Limewire
> > > client, but instead a web link) Limewire will only download
> from that web
> > > site and won't bother to query the network. I wonder if this
> is related to
> > > the fact that Limewire can start the download from the web site
> > > immediately, and in doing so it enters tryAllDownloads3() before it
> > > actually has a chance to query the Gnutella network? Following, for
> > > example, is the type of magnet link that I try (not a real
> one) but for
> > > which only one source is allowed (that source being the
http:// web site;
> > nothing from the Gnutella network is available):
> >
> >
> >
magnet:?xt=urn:sha1:EI66YQYRH47K73NNFPSQDUV&dn=SomeMusicFile&xs=http://som
> > where.com/path/thefile.mp3
> >
> > Magnet's such as the above only download from the web site specified by
> > xs, but don't use the Gnutella network -- is that related to the issue
of
> > re-query being disabled during downloads or do you think these are two
> > separate issues?
> >
> > Ideally I'd like to specify a number of sources for xs (so that the
> > download can start from multiple web sites), which Limewire will use to
> > start the download while it queries the larger Gnutell network. Is this
> > possible given the way Limewire is designed today?
> >
> > With thanks for any advice you might have on these two issues,
> >
> > Brian
> > --
> > ___________________________________________________________
> > Sign-up for Ads Free at Mail.com
> > http://promo.mail.com/adsfreejump.htm
> >
> >
> > _______________________________________________
> > 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
>
>
> End of core-dev Digest, Vol 6, Issue 6
> **************************************
>

--
___________________________________________________________
Sign-up for Ads Free at Mail.com
http://promo.mail.com/adsfreejump.htm


_______________________________________________
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