From 5af96f5ccb5f723f339087aae6fcf89ea264f4ae Mon Sep 17 00:00:00 2001 From: jrandom <jrandom> Date: Wed, 28 Jul 2004 23:28:55 +0000 Subject: [PATCH] when we really need tunnels, always build them --- .../i2p/router/tunnelmanager/PoolingTunnelSelector.java | 4 ++-- .../java/src/net/i2p/router/tunnelmanager/TunnelPool.java | 7 +++++-- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/router/java/src/net/i2p/router/tunnelmanager/PoolingTunnelSelector.java b/router/java/src/net/i2p/router/tunnelmanager/PoolingTunnelSelector.java index 170d25c659..ecdac3683b 100644 --- a/router/java/src/net/i2p/router/tunnelmanager/PoolingTunnelSelector.java +++ b/router/java/src/net/i2p/router/tunnelmanager/PoolingTunnelSelector.java @@ -61,7 +61,7 @@ class PoolingTunnelSelector { for (int i = outIds.size(); i < criteria.getMinimumTunnelsRequired(); i++) { if (_log.shouldLog(Log.WARN)) _log.warn("Building fake tunnels because the outbound tunnels weren't sufficient"); - pool.buildFakeTunnels(); + pool.buildFakeTunnels(true); rebuilt = true; } if (rebuilt && recurse) @@ -106,7 +106,7 @@ class PoolingTunnelSelector { for (int i = tunnels.size(); i < criteria.getMinimumTunnelsRequired(); i++) { if (_log.shouldLog(Log.WARN)) _log.warn("Building fake tunnels because the inbound tunnels weren't sufficient"); - pool.buildFakeTunnels(); + pool.buildFakeTunnels(true); rebuilt = true; } if (rebuilt && recurse) diff --git a/router/java/src/net/i2p/router/tunnelmanager/TunnelPool.java b/router/java/src/net/i2p/router/tunnelmanager/TunnelPool.java index dd83a0f0d0..0a63ab04c5 100644 --- a/router/java/src/net/i2p/router/tunnelmanager/TunnelPool.java +++ b/router/java/src/net/i2p/router/tunnelmanager/TunnelPool.java @@ -470,14 +470,17 @@ class TunnelPool { * */ public void buildFakeTunnels() { - if (getFreeValidTunnelCount() < 3) { + buildFakeTunnels(false); + } + public void buildFakeTunnels(boolean force) { + if (force || getFreeValidTunnelCount() < 3) { if (_log.shouldLog(Log.WARN)) _log.warn("Running low on valid inbound tunnels, building another"); TunnelInfo inTunnelGateway = _tunnelBuilder.configureInboundTunnel(null, getPoolSettings(), true); RequestTunnelJob inReqJob = new RequestTunnelJob(_context, this, inTunnelGateway, true, getTunnelCreationTimeout()); inReqJob.runJob(); } - if (getOutboundValidTunnelCount() < 3) { + if (force || getOutboundValidTunnelCount() < 3) { if (_log.shouldLog(Log.WARN)) _log.warn("Running low on valid outbound tunnels, building another"); TunnelInfo outTunnelGateway = _tunnelBuilder.configureOutboundTunnel(getPoolSettings(), true); -- GitLab