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
