Mike asks:
> Is that right?  I understand where HTL comes in -- you don't want to be
> passing each request to millions of nodes.  But what does Depth do?  From
> what's been said, it comes into play when, for example, B crashes before
> receiving the reply from C.  Yes?  But in that case, C would notice that
> it couldn't pass along the Reply and either queue it for later delivery
> or just give up.  If B comes back, but has lost it's state tables, it
> should notice that it doesn't have an entry for the reply from C and drop 
> it.  It shouldn't be possible to have a reply wandering around without
> being expected anywhere.

I think the problem is if C has a bug and passes the message to D rather
than B.  Then D may pass it back to C, C to D, D to C, and so on forever.

We saw exactly this bug yesterday.  Because we had HTL this did not go
on forever but counted down to zero.  If we hadn't had HTL for return
messages it would never have stopped.

Sure, we'd notice and fix it today, but if it was a rare bug that only
happened once per thousand node hours, and if most operators aren't
poring over their transaction logs, it might go on for a long time,
adding load on the network, before it was found and fixed.

Hal

_______________________________________________
Freenet-dev mailing list
Freenet-dev at lists.sourceforge.net
http://lists.sourceforge.net/mailman/listinfo/freenet-dev

Reply via email to