>>>>> "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

Reply via email to