From 1197a5c8c903fd2172d167fd870d9597477ac12c Mon Sep 17 00:00:00 2001 From: zzz <zzz@mail.i2p> Date: Fri, 26 Nov 2010 00:33:40 +0000 Subject: [PATCH] reduce RouterInfo expiration again --- .../networkdb/kademlia/KademliaNetworkDatabaseFacade.java | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) 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 acede96edb..0ae7181044 100644 --- a/router/java/src/net/i2p/router/networkdb/kademlia/KademliaNetworkDatabaseFacade.java +++ b/router/java/src/net/i2p/router/networkdb/kademlia/KademliaNetworkDatabaseFacade.java @@ -686,6 +686,8 @@ public class KademliaNetworkDatabaseFacade extends NetworkDatabaseFacade { return rv; } + private static final int MIN_ROUTERS = 90; + /** * Determine whether this routerInfo will be accepted as valid and current * given what we know now. @@ -694,9 +696,9 @@ public class KademliaNetworkDatabaseFacade extends NetworkDatabaseFacade { String validate(Hash key, RouterInfo routerInfo) throws IllegalArgumentException { long now = _context.clock().now(); boolean upLongEnough = _context.router().getUptime() > 60*60*1000; - // Once we're over 120 routers, reduce the expiration time down from the default, + // Once we're over MIN_ROUTERS routers, reduce the expiration time down from the default, // as a crude way of limiting memory usage. - // i.e. at 300 routers the expiration time will be about half the default, etc. + // i.e. at 2*MIN_ROUTERS routers the expiration time will be about half the default, etc. // And if we're floodfill, we can keep the expiration really short, since // we are always getting the latest published to us. // As the net grows this won't be sufficient, and we'll have to implement @@ -708,7 +710,7 @@ public class KademliaNetworkDatabaseFacade extends NetworkDatabaseFacade { // _kb.size() includes leasesets but that's ok adjustedExpiration = Math.min(ROUTER_INFO_EXPIRATION, ROUTER_INFO_EXPIRATION_MIN + - ((ROUTER_INFO_EXPIRATION - ROUTER_INFO_EXPIRATION_MIN) * 120 / (_kb.size() + 1))); + ((ROUTER_INFO_EXPIRATION - ROUTER_INFO_EXPIRATION_MIN) * MIN_ROUTERS / (_kb.size() + 1))); if (!key.equals(routerInfo.getIdentity().getHash())) { if (_log.shouldLog(Log.WARN)) -- GitLab