From bc42c26d94dae3af6b38db69ab7bcf3ea3df06cf Mon Sep 17 00:00:00 2001 From: jrandom <jrandom> Date: Tue, 1 Aug 2006 02:26:52 +0000 Subject: [PATCH] 2006-07-31 jrandom * Increase the tunnel building timeout * Avoid a rare race (thanks bar!) * Fix the bandwidth capacity publishing code to factor in share percentage and outbound throttling (oops) --- router/java/src/net/i2p/router/Router.java | 3 ++- router/java/src/net/i2p/router/RouterVersion.java | 4 ++-- .../net/i2p/router/networkdb/kademlia/FloodOnlySearchJob.java | 2 +- router/java/src/net/i2p/router/tunnel/pool/BuildHandler.java | 4 ++-- .../java/src/net/i2p/router/tunnel/pool/BuildRequestor.java | 2 +- 5 files changed, 8 insertions(+), 7 deletions(-) diff --git a/router/java/src/net/i2p/router/Router.java b/router/java/src/net/i2p/router/Router.java index 22d651969e..e8c5473a36 100644 --- a/router/java/src/net/i2p/router/Router.java +++ b/router/java/src/net/i2p/router/Router.java @@ -372,7 +372,8 @@ public class Router { public void addCapabilities(RouterInfo ri) { int bwLim = Math.min(_context.bandwidthLimiter().getInboundKBytesPerSecond(), - _context.bandwidthLimiter().getInboundKBytesPerSecond()); + _context.bandwidthLimiter().getOutboundKBytesPerSecond()); + bwLim = (int)(((float)bwLim) * getSharePercentage()); if (_log.shouldLog(Log.WARN)) _log.warn("Adding capabilities w/ bw limit @ " + bwLim, new Exception("caps")); diff --git a/router/java/src/net/i2p/router/RouterVersion.java b/router/java/src/net/i2p/router/RouterVersion.java index e5b39f5d94..0ca220fe36 100644 --- a/router/java/src/net/i2p/router/RouterVersion.java +++ b/router/java/src/net/i2p/router/RouterVersion.java @@ -15,9 +15,9 @@ import net.i2p.CoreVersion; * */ public class RouterVersion { - public final static String ID = "$Revision: 1.442 $ $Date: 2006-07-29 13:03:17 $"; + public final static String ID = "$Revision: 1.443 $ $Date: 2006-07-30 00:08:23 $"; public final static String VERSION = "0.6.1.24"; - public final static long BUILD = 1; + public final static long BUILD = 2; public static void main(String args[]) { System.out.println("I2P Router version: " + VERSION + "-" + BUILD); System.out.println("Router ID: " + RouterVersion.ID); diff --git a/router/java/src/net/i2p/router/networkdb/kademlia/FloodOnlySearchJob.java b/router/java/src/net/i2p/router/networkdb/kademlia/FloodOnlySearchJob.java index 8a515aa0e6..2a91300c17 100644 --- a/router/java/src/net/i2p/router/networkdb/kademlia/FloodOnlySearchJob.java +++ b/router/java/src/net/i2p/router/networkdb/kademlia/FloodOnlySearchJob.java @@ -44,7 +44,7 @@ class FloodOnlySearchJob extends FloodSearchJob { _isLease = isLease; _lookupsRemaining = 0; _dead = false; - _out = new ArrayList(2); + _out = Collections.synchronizedList(new ArrayList(2)); _replySelector = new FloodOnlyLookupSelector(getContext(), this); _onReply = new FloodOnlyLookupMatchJob(getContext(), this); _onTimeout = new FloodOnlyLookupTimeoutJob(getContext(), this); diff --git a/router/java/src/net/i2p/router/tunnel/pool/BuildHandler.java b/router/java/src/net/i2p/router/tunnel/pool/BuildHandler.java index c87ca492f8..ee98bc4541 100644 --- a/router/java/src/net/i2p/router/tunnel/pool/BuildHandler.java +++ b/router/java/src/net/i2p/router/tunnel/pool/BuildHandler.java @@ -88,7 +88,7 @@ class BuildHandler { handled.add(_inboundBuildMessages.remove(_inboundBuildMessages.size()-1)); } else { // drop any expired messages - long dropBefore = System.currentTimeMillis() - (BuildRequestor.REQUEST_TIMEOUT/2); + long dropBefore = System.currentTimeMillis() - (BuildRequestor.REQUEST_TIMEOUT/4); do { BuildMessageState state = (BuildMessageState)_inboundBuildMessages.get(0); if (state.recvTime <= dropBefore) { @@ -640,7 +640,7 @@ class BuildHandler { for (int i = 0; i < _inboundBuildMessages.size(); i++) { BuildMessageState cur = (BuildMessageState)_inboundBuildMessages.get(i); long age = System.currentTimeMillis() - cur.recvTime; - if (age >= BuildRequestor.REQUEST_TIMEOUT/2) { + if (age >= BuildRequestor.REQUEST_TIMEOUT/4) { _inboundBuildMessages.remove(i); i--; dropped++; diff --git a/router/java/src/net/i2p/router/tunnel/pool/BuildRequestor.java b/router/java/src/net/i2p/router/tunnel/pool/BuildRequestor.java index d1eb1e0772..251ce3ce6b 100644 --- a/router/java/src/net/i2p/router/tunnel/pool/BuildRequestor.java +++ b/router/java/src/net/i2p/router/tunnel/pool/BuildRequestor.java @@ -22,7 +22,7 @@ class BuildRequestor { ORDER.add(new Integer(i)); } private static final int PRIORITY = 500; - static final int REQUEST_TIMEOUT = 10*1000; + static final int REQUEST_TIMEOUT = 20*1000; private static boolean usePairedTunnels(RouterContext ctx) { String val = ctx.getProperty("router.usePairedTunnels"); -- GitLab