On Thu, Aug 14, 2003 at 10:24:13AM -0400, Andrew Rodland wrote:
> On Thursday 14 August 2003 10:10 am, Niklas Bergh wrote:
> > > -----Original Message-----
> > > From: [EMAIL PROTECTED]
> > > [mailto:[EMAIL PROTECTED] On Behalf Of Some Guy
> > > Sent: den 14 augusti 2003 14:44
> > > To: [EMAIL PROTECTED]
> > > Subject: Re: [freenet-dev] (no subject)
> > >
> > > > Okay now my question is, how do you prevent node D
> > > > from sending the query back
> > > > to node C, thus wasting everyone's bandwidth and not
> > > > getting any closer to the
> > > > data, which is actually on node F?
> > >
> > > Oh ok, that's easy just store a small hash table of
> > > "key X request already processed" (actually it's
> > > message X), you'll only have to store a few entries in
> > > the table since a query should resolve in a "few"
> > > seconds and you can only recieve so many a second
> > > (bandwidth) anyway.  When a node get's a request it
> > > has processed before it returns back a "failed"
> > > message which shouldn't decrement HTL.
> >
> > Isn't this what is called the 'failure table' (which is present in the
> > code already)?
> 
> Yes, the failure table does hold a list of keys that have recently come back 
> DNF. But it's not for that reason, as, docs aside, freenet nodes do _not_ 
> send requests down alternate paths when they fail. The only place this can 
> happen is at the client. Nodes will, of course, send a request elsewhere if 
> they fail to forward a request entirely (up to 40 times), but a request will 
> never follow more than one path.

The original poster is thinking of the backtrack prevention code. Each
request chain has a unique ID. It will be rejected if it is already
running on a given node, or has recently completed.
> 
> Whether this is optimal or not is arguable, but after a little thought, I 
> think it's close. 
> 
> --hobbs



-- 
Matthew J Toseland - [EMAIL PROTECTED]
Freenet Project Official Codemonkey - http://freenetproject.org/
ICTHUS - Nothing is impossible. Our Boss says so.

Attachment: pgp00000.pgp
Description: PGP signature

Reply via email to