From d7a4e0357abf7a80ddd0423032988ce83c362fde Mon Sep 17 00:00:00 2001
From: zzz <zzz@mail.i2p>
Date: Thu, 1 Sep 2011 13:50:17 +0000
Subject: [PATCH] explore more aggressively if hidden or K

---
 .../i2p/router/networkdb/kademlia/StartExplorersJob.java | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/router/java/src/net/i2p/router/networkdb/kademlia/StartExplorersJob.java b/router/java/src/net/i2p/router/networkdb/kademlia/StartExplorersJob.java
index 7836ca43b5..f7f8de1f1e 100644
--- a/router/java/src/net/i2p/router/networkdb/kademlia/StartExplorersJob.java
+++ b/router/java/src/net/i2p/router/networkdb/kademlia/StartExplorersJob.java
@@ -12,7 +12,9 @@ import java.util.HashSet;
 import java.util.Set;
 
 import net.i2p.data.Hash;
+import net.i2p.data.RouterInfo;
 import net.i2p.router.JobImpl;
+import net.i2p.router.Router;
 import net.i2p.router.RouterContext;
 import net.i2p.util.Log;
 
@@ -92,9 +94,14 @@ class StartExplorersJob extends JobImpl {
             return MAX_RERUN_DELAY_MS;
 
         // If we don't know too many peers, or just started, explore aggressively
+        // Also if hidden or K, as nobody will be connecting to us
         // Use DataStore.size() which includes leasesets because it's faster
         if (getContext().router().getUptime() < STARTUP_TIME ||
-            _facade.getDataStore().size() < MIN_ROUTERS)
+            _facade.getDataStore().size() < MIN_ROUTERS ||
+            getContext().router().isHidden())
+            return MIN_RERUN_DELAY_MS;
+        RouterInfo ri = getContext().router().getRouterInfo();
+        if (ri != null && ri.getCapabilities().contains("" + Router.CAPABILITY_BW12))
             return MIN_RERUN_DELAY_MS;
         if (_facade.getDataStore().size() > MAX_ROUTERS)
             return MAX_RERUN_DELAY_MS;
-- 
GitLab