>>>>> "GJ" == Gianni Johansson <[EMAIL PROTECTED]> writes:
GJ> c) The current implementation
GJ> Freenet.message.Request.sentToNextBest gets
GJ> ConnectFailedExceptions and tries ever more distant (in
GJ> keyspace) refs, WITHOUT PAYING ATTENTION TO THE ADDRESS OF THE
GJ> NODEREFS. refs which die with connection exceptions are
GJ> removed from the DataStore. The problem is that often, every
GJ> single ref that refers to the same physical address will be
GJ> removed quite quickly, permanently removing the corresponding
GJ> node from future routing decisions.
So, I don't think that's true. I believe this (bletcherous) code
tries to find wider nodes that have different addresses:
---8<---
} while (kmm.lastAttempt != null
&& (addr == null
|| (addr.equals(kmm.origRec)
|| kmm.usedAddresses.contains(addr))));
---8<---
Checking "usedAddresses" makes sure that there's not a massive drop of
references based on a single request.
GJ> The real problem is that these transient failures have a
GJ> disproportionate negative impact on routing.
Correct me if I'm wrong, but I don't think that's true, either. I
think the idea is that there's a maximum of one dropped ref for each
node that fails to respond during a single request.
~Mr. Bad
--
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Mr. Bad <[EMAIL PROTECTED]> | Pigdog Journal | http://pigdog.org/
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
"Besides a mathematical inclination, an exceptionally
good mastery of one's native tongue is the most vital
asset of a competent programmer." -- Edsger W. Dijkstra
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
_______________________________________________
Devl mailing list
[EMAIL PROTECTED]
http://lists.freenetproject.org/mailman/listinfo/devl