diff --git a/apps/i2psnark/java/src/org/klomp/snark/I2PSnarkUtil.java b/apps/i2psnark/java/src/org/klomp/snark/I2PSnarkUtil.java index 31943eaa0..7d05af772 100644 --- a/apps/i2psnark/java/src/org/klomp/snark/I2PSnarkUtil.java +++ b/apps/i2psnark/java/src/org/klomp/snark/I2PSnarkUtil.java @@ -97,6 +97,10 @@ public class I2PSnarkUtil { opts.setProperty("i2p.streaming.inactivityTimeout", "90000"); if (opts.getProperty("i2p.streaming.inactivityAction") == null) opts.setProperty("i2p.streaming.inactivityAction", "2"); // 1 == disconnect, 2 == ping + if (opts.getProperty("i2p.streaming.initialWindowSize") == null) + opts.setProperty("i2p.streaming.initialWindowSize", "1"); + if (opts.getProperty("i2p.streaming.slowStartGrowthRateFactor") == null) + opts.setProperty("i2p.streaming.slowStartGrowthRateFactor", "1"); //if (opts.getProperty("i2p.streaming.writeTimeout") == null) // opts.setProperty("i2p.streaming.writeTimeout", "90000"); //if (opts.getProperty("i2p.streaming.readTimeout") == null) diff --git a/apps/streaming/java/src/net/i2p/client/streaming/Connection.java b/apps/streaming/java/src/net/i2p/client/streaming/Connection.java index 59f640b0b..d4a4fcc79 100644 --- a/apps/streaming/java/src/net/i2p/client/streaming/Connection.java +++ b/apps/streaming/java/src/net/i2p/client/streaming/Connection.java @@ -72,7 +72,7 @@ public class Connection { private long _lifetimeDupMessageSent; private long _lifetimeDupMessageReceived; - public static final long MAX_RESEND_DELAY = 10*1000; + public static final long MAX_RESEND_DELAY = 45*1000; public static final long MIN_RESEND_DELAY = 2*1000; /** wait up to 5 minutes after disconnection so we can ack/close packets */ diff --git a/apps/streaming/java/src/net/i2p/client/streaming/ConnectionOptions.java b/apps/streaming/java/src/net/i2p/client/streaming/ConnectionOptions.java index 71ff04db7..52ee83264 100644 --- a/apps/streaming/java/src/net/i2p/client/streaming/ConnectionOptions.java +++ b/apps/streaming/java/src/net/i2p/client/streaming/ConnectionOptions.java @@ -57,7 +57,7 @@ public class ConnectionOptions extends I2PSocketOptionsImpl { static final int INITIAL_WINDOW_SIZE = 12; static final int DEFAULT_MAX_SENDS = 8; - static final int MIN_WINDOW_SIZE = INITIAL_WINDOW_SIZE; + static final int MIN_WINDOW_SIZE = 1; public ConnectionOptions() { super(); @@ -206,7 +206,7 @@ public class ConnectionOptions extends I2PSocketOptionsImpl { public void setRTT(int ms) { if (_rto == 0) { _rttDev = ms; - _rto = (int)Connection.MAX_RESEND_DELAY; + _rto = ms + ms / 2; } synchronized (_trend) { _trend[0] = _trend[1]; diff --git a/history.txt b/history.txt index d8a97c9e6..e2826046b 100644 --- a/history.txt +++ b/history.txt @@ -1,4 +1,15 @@ -$Id: history.txt,v 1.554 2007-03-03 15:11:07 zzz Exp $ +$Id: history.txt,v 1.555 2007-03-03 15:30:52 zzz Exp $ + +2007-03-07 zzz + * Streaming lib changes to improve upstream performance during congestion: + * Change min window size from 12 to 1 + * Change max timeout from 10 to 45 sec + * Change initial timeout from 10 to 15 sec + * Change intial window size for i2psnark from 12 to 1 + * Change slow start growth rate for i2psnark from 1/2 to 1 + +2007-03-04 zzz + * Update eepsite_index.html 2007-03-03 zzz * Upgrade from Jetty 5.1.6 to 5.1.12 which fixes spaces in URL diff --git a/router/java/src/net/i2p/router/RouterVersion.java b/router/java/src/net/i2p/router/RouterVersion.java index 156898edf..8259a5a08 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.490 $ $Date: 2007-03-03 15:11:05 $"; + public final static String ID = "$Revision: 1.491 $ $Date: 2007-03-03 15:30:52 $"; public final static String VERSION = "0.6.1.27"; - public final static long BUILD = 4; + public final static long BUILD = 5; public static void main(String args[]) { System.out.println("I2P Router version: " + VERSION + "-" + BUILD); System.out.println("Router ID: " + RouterVersion.ID);