From 71aa0cfba74055b83bf293487c76b89b7c16d975 Mon Sep 17 00:00:00 2001 From: zzz <zzz@mail.i2p> Date: Wed, 31 Mar 2010 18:33:08 +0000 Subject: [PATCH] * FloodfillPeerSelector: Adjust rankings to try to improve LeaseSet lookups --- .../router/networkdb/kademlia/FloodfillPeerSelector.java | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/router/java/src/net/i2p/router/networkdb/kademlia/FloodfillPeerSelector.java b/router/java/src/net/i2p/router/networkdb/kademlia/FloodfillPeerSelector.java index 4d270424bd..d803f2321c 100644 --- a/router/java/src/net/i2p/router/networkdb/kademlia/FloodfillPeerSelector.java +++ b/router/java/src/net/i2p/router/networkdb/kademlia/FloodfillPeerSelector.java @@ -112,7 +112,7 @@ class FloodfillPeerSelector extends PeerSelector { private static final int NO_FAIL_STORE_OK = 10*60*1000; private static final int NO_FAIL_STORE_GOOD = NO_FAIL_STORE_OK * 2; /** this must be longer than the max streaming timeout (60s) */ - private static final int NO_FAIL_LOOKUP_OK = 2*60*1000; + private static final int NO_FAIL_LOOKUP_OK = 3*60*1000; private static final int NO_FAIL_LOOKUP_GOOD = NO_FAIL_LOOKUP_OK * 3; private static final int MAX_GOOD_RESP_TIME = 5*1000; @@ -135,8 +135,11 @@ class FloodfillPeerSelector extends PeerSelector { maxFailRate = 100d; // disable } + // 8 == FNDF.MAX_TO_FLOOD + 1 + int limit = Math.max(8, howMany); + limit = Math.min(limit, ffs.size()); // split sorted list into 3 sorted lists - for (int i = 0; found < howMany && i < ffs.size(); i++) { + for (int i = 0; found < howMany && i < limit; i++) { Hash entry = sorted.first(); sorted.remove(entry); if (entry == null) -- GitLab