when we really need tunnels, always build them

This commit is contained in:
jrandom
2004-07-28 23:28:55 +00:00
committed by zzz
parent ca445ac178
commit 5af96f5ccb
2 changed files with 7 additions and 4 deletions

View File

@ -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)

View File

@ -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);