diff --git a/router/java/src/net/i2p/router/Router.java b/router/java/src/net/i2p/router/Router.java index 22d651969ee704ec53046cbebf19b356d0cdf56e..e8c5473a36fe07527419d1814919f056c6299da1 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 e5b39f5d947724b6b29e116f8e49aa4fbda6811d..0ca220fe36973d260d511c17b7df3530cb303618 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 8a515aa0e6a1d7533d505679c53c541aa854826f..2a91300c17b0f6867d6a9caf83a0523985765e24 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 c87ca492f8e33ff738adf1ab4fa1446e74ae1097..ee98bc4541368c29d4cb0fb02aa4e8acdf023b7a 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 d1eb1e07724368050ebd14eec137aa4981da00c9..251ce3ce6b66d0c5538a336da38b7dc2b735a338 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");