diff --git a/router/java/src/net/i2p/router/ClientTunnelSettings.java b/router/java/src/net/i2p/router/ClientTunnelSettings.java index 110e2e94a5088f865ceca641c6c6388e7b9ccd8f..144bbd96bcce206877c605fbf56e0a535abe8190 100644 --- a/router/java/src/net/i2p/router/ClientTunnelSettings.java +++ b/router/java/src/net/i2p/router/ClientTunnelSettings.java @@ -22,8 +22,8 @@ public class ClientTunnelSettings { private final TunnelPoolSettings _outboundSettings; public ClientTunnelSettings(Hash dest) { - _inboundSettings = new TunnelPoolSettings(dest, false, true); - _outboundSettings = new TunnelPoolSettings(dest, false, false); + _inboundSettings = new TunnelPoolSettings(dest, true); + _outboundSettings = new TunnelPoolSettings(dest, false); } public TunnelPoolSettings getInboundSettings() { return _inboundSettings; } diff --git a/router/java/src/net/i2p/router/TunnelPoolSettings.java b/router/java/src/net/i2p/router/TunnelPoolSettings.java index 133c2600bf4f8fd0d8f674c795fa83678a62a1eb..f01a69476d97cb6ed7c41009fcd9b2306fb454b7 100644 --- a/router/java/src/net/i2p/router/TunnelPoolSettings.java +++ b/router/java/src/net/i2p/router/TunnelPoolSettings.java @@ -79,23 +79,33 @@ public class TunnelPoolSettings { private static final int MAX_PRIORITY = 25; private static final int EXPLORATORY_PRIORITY = 30; - public TunnelPoolSettings(Hash dest, boolean isExploratory, boolean isInbound) { + /** + * Exploratory tunnel + */ + public TunnelPoolSettings(boolean isInbound) { + this(null, isInbound); + } + + /** + * Client tunnel unless dest == null + */ + public TunnelPoolSettings(Hash dest, boolean isInbound) { _destination = dest; - _isExploratory = isExploratory; + _isExploratory = dest == null; _isInbound = isInbound; _quantity = DEFAULT_QUANTITY; _backupQuantity = DEFAULT_BACKUP_QUANTITY; // _rebuildPeriod = DEFAULT_REBUILD_PERIOD; //_duration = DEFAULT_DURATION; if (isInbound) { - _length = isExploratory ? DEFAULT_IB_EXPL_LENGTH : DEFAULT_IB_LENGTH; - _lengthVariance = isExploratory ? DEFAULT_IB_EXPL_LENGTH_VARIANCE : DEFAULT_LENGTH_VARIANCE; + _length = _isExploratory ? DEFAULT_IB_EXPL_LENGTH : DEFAULT_IB_LENGTH; + _lengthVariance = _isExploratory ? DEFAULT_IB_EXPL_LENGTH_VARIANCE : DEFAULT_LENGTH_VARIANCE; } else { - _length = isExploratory ? DEFAULT_OB_EXPL_LENGTH : DEFAULT_OB_LENGTH; - _lengthVariance = isExploratory ? DEFAULT_OB_EXPL_LENGTH_VARIANCE : DEFAULT_LENGTH_VARIANCE; + _length = _isExploratory ? DEFAULT_OB_EXPL_LENGTH : DEFAULT_OB_LENGTH; + _lengthVariance = _isExploratory ? DEFAULT_OB_EXPL_LENGTH_VARIANCE : DEFAULT_LENGTH_VARIANCE; } _lengthOverride = -1; - if (isExploratory) + if (_isExploratory) _allowZeroHop = true; else _allowZeroHop = DEFAULT_ALLOW_ZERO_HOP; @@ -189,7 +199,7 @@ public class TunnelPoolSettings { //public int getDuration() { return _duration; } //public void setDuration(int ms) { _duration = ms; } - /** what destination is this a tunnel for (or null if none) */ + /** what destination is this a client tunnel for (or null if exploratory) */ public Hash getDestination() { return _destination; } /** random key used for peer ordering */ diff --git a/router/java/src/net/i2p/router/tunnel/TunnelCreatorConfig.java b/router/java/src/net/i2p/router/tunnel/TunnelCreatorConfig.java index 129caf23964c0769fbfb4232fb164f14a3a9bca2..9340477c6f4efb37d15e63ff17e3318cc9f20c57 100644 --- a/router/java/src/net/i2p/router/tunnel/TunnelCreatorConfig.java +++ b/router/java/src/net/i2p/router/tunnel/TunnelCreatorConfig.java @@ -114,7 +114,10 @@ public class TunnelCreatorConfig implements TunnelInfo { /** is this an inbound tunnel? */ public boolean isInbound() { return _isInbound; } - /** if this is a client tunnel, what destination is it for? */ + /** + * If this is a client tunnel, what destination is it for? + * @return null for exploratory + */ public Hash getDestination() { return _destination; } public long getExpiration() { return _expiration; } diff --git a/router/java/src/net/i2p/router/tunnel/pool/TunnelPoolManager.java b/router/java/src/net/i2p/router/tunnel/pool/TunnelPoolManager.java index 6dcfa0af2357fd105bb002a0d308f8a8b02e1cd9..c559e140ce4c255c5d79a54e6cd551c76411374a 100644 --- a/router/java/src/net/i2p/router/tunnel/pool/TunnelPoolManager.java +++ b/router/java/src/net/i2p/router/tunnel/pool/TunnelPoolManager.java @@ -62,9 +62,9 @@ public class TunnelPoolManager implements TunnelManagerFacade { _clientPeerSelector = new ClientPeerSelector(ctx); ExploratoryPeerSelector selector = new ExploratoryPeerSelector(_context); - TunnelPoolSettings inboundSettings = new TunnelPoolSettings(null, true, true); + TunnelPoolSettings inboundSettings = new TunnelPoolSettings(true); _inboundExploratory = new TunnelPool(_context, this, inboundSettings, selector); - TunnelPoolSettings outboundSettings = new TunnelPoolSettings(null, true, false); + TunnelPoolSettings outboundSettings = new TunnelPoolSettings(false); _outboundExploratory = new TunnelPool(_context, this, outboundSettings, selector); // threads will be started in startup()