diff --git a/history.txt b/history.txt index cf3931dc6..ac9306c56 100644 --- a/history.txt +++ b/history.txt @@ -1,3 +1,10 @@ +2014-08-18 zzz + * i2psnark: + - Don't send HTML-only headers for icons + - Catch IllegalStateException for icons + * Tunnels: Use consistent tunnel pair for Delivery Status Message + to reduce network connections (ticket #1350) + 2014-08-15 zzz * Console: Escaping fix (ticket #1348) * I2CP: Lookup synch cleanups diff --git a/router/java/src/net/i2p/router/RouterVersion.java b/router/java/src/net/i2p/router/RouterVersion.java index 4e28a2c8d..c10128fe6 100644 --- a/router/java/src/net/i2p/router/RouterVersion.java +++ b/router/java/src/net/i2p/router/RouterVersion.java @@ -18,7 +18,7 @@ public class RouterVersion { /** deprecated */ public final static String ID = "Monotone"; public final static String VERSION = CoreVersion.VERSION; - public final static long BUILD = 5; + public final static long BUILD = 6; /** for example "-test" */ public final static String EXTRA = ""; diff --git a/router/java/src/net/i2p/router/message/OutboundClientMessageOneShotJob.java b/router/java/src/net/i2p/router/message/OutboundClientMessageOneShotJob.java index a550a492c..5040606e8 100644 --- a/router/java/src/net/i2p/router/message/OutboundClientMessageOneShotJob.java +++ b/router/java/src/net/i2p/router/message/OutboundClientMessageOneShotJob.java @@ -729,7 +729,8 @@ public class OutboundClientMessageOneShotJob extends JobImpl { * */ private TunnelInfo selectInboundTunnel() { - return getContext().tunnelManager().selectInboundTunnel(_from.calculateHash()); + // Use tunnel EP closest to his hash, as a simple cache to minimize connections + return getContext().tunnelManager().selectInboundTunnel(_from.calculateHash(), _to.calculateHash()); } /** diff --git a/router/java/src/net/i2p/router/tunnel/InboundMessageDistributor.java b/router/java/src/net/i2p/router/tunnel/InboundMessageDistributor.java index 9830e42bd..ec3529b48 100644 --- a/router/java/src/net/i2p/router/tunnel/InboundMessageDistributor.java +++ b/router/java/src/net/i2p/router/tunnel/InboundMessageDistributor.java @@ -160,7 +160,8 @@ class InboundMessageDistributor implements GarlicMessageReceiver.CloveReceiver { } else { // ok, they want us to send it remotely, but that'd bust our anonymity, // so we send it out a tunnel first - TunnelInfo out = _context.tunnelManager().selectOutboundTunnel(_client); + // TODO use the OCMOSJ cache to pick OB tunnel we are already using? + TunnelInfo out = _context.tunnelManager().selectOutboundTunnel(_client, target); if (out == null) { if (_log.shouldLog(Log.WARN)) _log.warn("no outbound tunnel to send the client message for " + _client + ": " + msg);