Toad <[EMAIL PROTECTED]> writes:

> What is the purpose of QueryRejected.hopsToLive ?
> 
It's an attempt to have the network recover from part of it having bad
routing in a pretty optimal way.  I.e. using exactly the HTL indicated
in the initial request (modulo the fuzziness in HTL decrementing at
the end of the request).

> Surely this sort of decision should be taken by the node sending the
> request? The current code reduces the HTL to 
> min(hopsToLive-1, qr.hopsToLive).
> 
I agree it seems like there's a breach of our usual tactic of not
trusting other nodes.  OTOH, if the node were evil, it would be better
to DNF the request instead of QR it.  Or even more evil, repeatedly
QueryRestarted it, and just stall forever.

> Is there any reason not to get rid of this? If we need to reduce the HTL
> much, we should do it in the requester node, not the rejector node. And
> NGRouting should eliminate most load balancing problems anyway - this
> looks like it was added in the middle of the load-panic era.

If it's any amount of work to get rid of it, I say that it's better to
spend elsewhere.  If it's already done, I don't have any worries
either.  It'll increase the amount of work a broken network will do if
the requesting node underestimates the proper HTL decrement, but
hopefully the network is going to be able to eliminate QRs anyway.

Thelema
-- 
E-mail: [EMAIL PROTECTED]                            Raabu and Piisu
GPG 1024D/36352AAB fpr:756D F615 B4F3 BFFC 02C7  84B7 D8D7 6ECE 3635 2AAB
_______________________________________________
Devl mailing list
[EMAIL PROTECTED]
http://dodo.freenetproject.org/cgi-bin/mailman/listinfo/devl

Reply via email to