Which would be why the received method in Message.java is final. Yes, it is possible all implementors won't be that careful, but it is extremely easy to make sure that the HTL is decremented once and for all.
On Thu, 13 Apr 2000, Brandon wrote: > > The problem is not that it couldn't be fixed, the reason it happened at all > > was > > because I introduced a dumb bug in the code, because dropped messages were > > not > > being dropped correctly, etc etc. So yeah, one can just point the finger at > > whoever introduced the bug that caused the loop, but the system will never > > be > > without bugs, and the implementations won't always be under our control. > > > > By having a HTL on every message, you have a simple but powerful layer of > > protection against problems like this built into the protocol and spec > > itself, > > rather then relying on programmers always getting things right and > > considering > > all possibilities. > > Unless the bug is that the HTL isn't be decremented. Checking to see if > you've already received a message isn't particularly more complicated or > error prone. > > I think that before we declare a final product for use by the general > populice, we're going to have to consider our code mature enough that bugs > so fundamental as messages not being dropped when they are duplicates are > eliminated. Bugs such as this won't be introduced after a certain point > because it's a layered, modular protocol and the layer that checks for > duplicate messages is at the bottom. > > > > _______________________________________________ > Freenet-dev mailing list > Freenet-dev at lists.sourceforge.net > http://lists.sourceforge.net/mailman/listinfo/freenet-dev -- Oskar Sandberg md98-osa at nada.kth.se #!/bin/perl -sp0777i<X+d*lMLa^*lN%0]dsXx++lMlN/dsM0<j]dsj $/=unpack('H*',$_);$_=`echo 16dio\U$k"SK$/SM$n\EsN0p[lN*1 lK[d2%Sa2/d0$^Ixp"|dc`;s/\W//g;$_=pack('H*',/((..)*)$/) _______________________________________________ Freenet-dev mailing list Freenet-dev at lists.sourceforge.net http://lists.sourceforge.net/mailman/listinfo/freenet-dev
