diff --git a/router/java/src/net/i2p/router/networkdb/kademlia/KademliaNetworkDatabaseFacade.java b/router/java/src/net/i2p/router/networkdb/kademlia/KademliaNetworkDatabaseFacade.java index eb5796a20a..e4cdc3f2f7 100644 --- a/router/java/src/net/i2p/router/networkdb/kademlia/KademliaNetworkDatabaseFacade.java +++ b/router/java/src/net/i2p/router/networkdb/kademlia/KademliaNetworkDatabaseFacade.java @@ -120,6 +120,8 @@ public class KademliaNetworkDatabaseFacade extends NetworkDatabaseFacade { */ private final static long ROUTER_INFO_EXPIRATION = 3*24*60*60*1000l; + private final static long EXPLORE_JOB_DELAY = 10*60*1000l; + public KademliaNetworkDatabaseFacade(RouterContext context) { _context = context; _log = _context.logManager().getLog(getClass()); @@ -298,6 +300,13 @@ public class KademliaNetworkDatabaseFacade extends NetworkDatabaseFacade { if (_exploreJob == null) _exploreJob = new StartExplorersJob(_context, this); // fire off a group of searches from the explore pool + // Don't start it right away, so we don't send searches for random keys + // out our 0-hop exploratory tunnels (generating direct connections to + // one or more floodfill peers within seconds of startup). + // We're trying to minimize the ff connections to lessen the load on the + // floodfills, and in any case let's try to build some real expl. tunnels first. + // No rush, it only runs every 30m. + _exploreJob.getTiming().setStartAfter(_context.clock().now() + EXPLORE_JOB_DELAY); _context.jobQueue().addJob(_exploreJob); // if configured to do so, periodically try to get newer routerInfo stats if (_harvestJob == null && "true".equals(_context.getProperty(HarvesterJob.PROP_ENABLED))) @@ -530,7 +539,7 @@ public class KademliaNetworkDatabaseFacade extends NetworkDatabaseFacade { if (!_initialized) return; // This isn't really used for anything // writeMyInfo(localRouterInfo); - if (localRouterInfo.isHidden()) return; // DE-nied! + if (_context.router().isHidden()) return; // DE-nied! Hash h = localRouterInfo.getIdentity().getHash(); store(h, localRouterInfo); synchronized (_explicitSendKeys) { @@ -1064,9 +1073,10 @@ public class KademliaNetworkDatabaseFacade extends NetworkDatabaseFacade { if (versions.size() > 0) { buf.append("
Core version | Router version | Number |