From addfff86266f5e07cc81fc1f0faeb263383a991d Mon Sep 17 00:00:00 2001 From: zzz <zzz@mail.i2p> Date: Sat, 17 Nov 2012 17:32:24 +0000 Subject: [PATCH] * Tunnels: Set default priorities for tunnels (ticket #719) Exploratory: +30 IRC: +15 HTTP Proxy: +10 I2PSnark: -10 --- .../java/src/org/klomp/snark/I2PSnarkUtil.java | 2 ++ history.txt | 10 ++++++++-- installer/resources/i2ptunnel.config | 2 ++ router/java/src/net/i2p/router/OutNetMessage.java | 2 ++ .../java/src/net/i2p/router/OutNetMessagePool.java | 6 +----- router/java/src/net/i2p/router/RouterVersion.java | 2 +- .../java/src/net/i2p/router/TunnelPoolSettings.java | 13 +++++++++---- 7 files changed, 25 insertions(+), 12 deletions(-) diff --git a/apps/i2psnark/java/src/org/klomp/snark/I2PSnarkUtil.java b/apps/i2psnark/java/src/org/klomp/snark/I2PSnarkUtil.java index 0433ffcbb2..89ab2a01a7 100644 --- a/apps/i2psnark/java/src/org/klomp/snark/I2PSnarkUtil.java +++ b/apps/i2psnark/java/src/org/klomp/snark/I2PSnarkUtil.java @@ -219,6 +219,8 @@ public class I2PSnarkUtil { opts.setProperty("inbound.nickname", "I2PSnark"); if (opts.getProperty("outbound.nickname") == null) opts.setProperty("outbound.nickname", "I2PSnark"); + if (opts.getProperty("outbound.priority") == null) + opts.setProperty("outbound.priority", "-10"); // Dont do this for now, it is set in I2PSocketEepGet for announces, // we don't need fast handshake for peer connections. //if (opts.getProperty("i2p.streaming.connectDelay") == null) diff --git a/history.txt b/history.txt index a396435754..e6a17e5854 100644 --- a/history.txt +++ b/history.txt @@ -1,8 +1,14 @@ +2012-11-17 zzz + * error500.jsp: Add servlet version + * i2psnark: Clear PEX peers set after use, cause of bad peer counts + * Tunnels: Set default priorities for tunnels (ticket #719) + 2012-11-16 zzz * i2psnark: Fix rare IOOBE (ticket #777) * NetDB: - Implement automatic reseeding (ticket #521) - Increase minimum routers + - Log reseeds in event log * Tunnels: Fix outbound tunnel message priority (ticket #719) 2012-11-13 zzz @@ -16,8 +22,8 @@ * stats.jsp: Link to graph page, not single image 2012-11-10 kytv -* eepget: Add logic to figure out the path to java.exe (java isn't always added to the system path - in Windows) (ticket #769) + * eepget: Add logic to figure out the path to java.exe (java isn't always added to the system path + in Windows) (ticket #769) 2012-11-05 zzz * Console: diff --git a/installer/resources/i2ptunnel.config b/installer/resources/i2ptunnel.config index 68c6795e89..ac2aa99f4b 100644 --- a/installer/resources/i2ptunnel.config +++ b/installer/resources/i2ptunnel.config @@ -25,6 +25,7 @@ tunnel.0.option.inbound.length=3 tunnel.0.option.inbound.lengthVariance=0 tunnel.0.option.outbound.length=3 tunnel.0.option.outbound.lengthVariance=0 +tunnel.0.option.outbound.priority=10 tunnel.0.startOnLoad=true # irc @@ -52,6 +53,7 @@ tunnel.1.option.inbound.length=3 tunnel.1.option.inbound.lengthVariance=0 tunnel.1.option.outbound.length=3 tunnel.1.option.outbound.lengthVariance=0 +tunnel.1.option.outbound.priority=15 tunnel.1.startOnLoad=true # I2P's mtn server diff --git a/router/java/src/net/i2p/router/OutNetMessage.java b/router/java/src/net/i2p/router/OutNetMessage.java index 60a47243e6..e2c20c0db0 100644 --- a/router/java/src/net/i2p/router/OutNetMessage.java +++ b/router/java/src/net/i2p/router/OutNetMessage.java @@ -67,6 +67,7 @@ public class OutNetMessage implements CDPQEntry { public static final int PRIORITY_MY_BUILD_REQUEST = 500; public static final int PRIORITY_MY_NETDB_LOOKUP = 500; public static final int PRIORITY_MY_NETDB_STORE = 460; + public static final int PRIORITY_EXPLORATORY = 455; /** may be adjusted +/- 25 for outbound traffic */ public static final int PRIORITY_MY_DATA = 425; public static final int PRIORITY_MY_NETDB_STORE_LOW = 300; @@ -387,6 +388,7 @@ public class OutNetMessage implements CDPQEntry { buf.append(getMessageType()); } buf.append(" expiring on ").append(new Date(_expiration)); + buf.append(" priority ").append(_priority); if (_failedTransports != null) buf.append(" failed delivery on transports ").append(_failedTransports); if (_target == null) diff --git a/router/java/src/net/i2p/router/OutNetMessagePool.java b/router/java/src/net/i2p/router/OutNetMessagePool.java index 11a8da8102..a18f99da6f 100644 --- a/router/java/src/net/i2p/router/OutNetMessagePool.java +++ b/router/java/src/net/i2p/router/OutNetMessagePool.java @@ -40,11 +40,7 @@ public class OutNetMessagePool { } if (_log.shouldLog(Log.DEBUG)) - _log.debug("Adding outbound message to " - + msg.getTarget().getIdentity().getHash().toBase64().substring(0,6) - + " with id " + msg.getMessage().getUniqueId() - + " expiring on " + msg.getMessage().getMessageExpiration() - + " of type " + msg.getMessageType()); + _log.debug("Adding " + msg); MessageSelector selector = msg.getReplySelector(); if (selector != null) { diff --git a/router/java/src/net/i2p/router/RouterVersion.java b/router/java/src/net/i2p/router/RouterVersion.java index fecba78d69..a6204817e3 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 = 7; + public final static long BUILD = 8; /** for example "-test" */ public final static String EXTRA = ""; diff --git a/router/java/src/net/i2p/router/TunnelPoolSettings.java b/router/java/src/net/i2p/router/TunnelPoolSettings.java index f0846f7048..841a22e039 100644 --- a/router/java/src/net/i2p/router/TunnelPoolSettings.java +++ b/router/java/src/net/i2p/router/TunnelPoolSettings.java @@ -59,6 +59,7 @@ public class TunnelPoolSettings { public static final int DEFAULT_IP_RESTRICTION = 2; // class B (/16) private static final int MIN_PRIORITY = -25; private static final int MAX_PRIORITY = 25; + private static final int EXPLORATORY_PRIORITY = 30; public TunnelPoolSettings(boolean isExploratory, boolean isInbound) { _isExploratory = isExploratory; @@ -74,6 +75,8 @@ public class TunnelPoolSettings { _IPRestriction = DEFAULT_IP_RESTRICTION; _unknownOptions = new Properties(); _randomKey = generateRandomKey(); + if (_isExploratory && !_isInbound) + _priority = EXPLORATORY_PRIORITY; } /** how many tunnels should be available at all times */ @@ -168,7 +171,7 @@ public class TunnelPoolSettings { /** * Outbound message priority - for outbound tunnels only - * @return -25 to +25, default 0 + * @return -25 to +30, default 30 for outbound exploratory and 0 for others * @since 0.9.4 */ public int getPriority() { return _priority; } @@ -198,9 +201,11 @@ public class TunnelPoolSettings { _destinationNickname = value; else if (name.equalsIgnoreCase(prefix + PROP_IP_RESTRICTION)) _IPRestriction = getInt(value, DEFAULT_IP_RESTRICTION); - else if ((!_isInbound) && name.equalsIgnoreCase(prefix + PROP_PRIORITY)) - _priority = Math.min(MAX_PRIORITY, Math.max(MIN_PRIORITY, getInt(value, 0))); - else + else if ((!_isInbound) && name.equalsIgnoreCase(prefix + PROP_PRIORITY)) { + int def = _isExploratory ? EXPLORATORY_PRIORITY : 0; + int max = _isExploratory ? EXPLORATORY_PRIORITY : MAX_PRIORITY; + _priority = Math.min(max, Math.max(MIN_PRIORITY, getInt(value, def))); + } else _unknownOptions.setProperty(name.substring((prefix != null ? prefix.length() : 0)), value); } } -- GitLab