From e07e329c269f5bb1e8a0d5859133a2ce344cbfc6 Mon Sep 17 00:00:00 2001
From: zzz <zzz@mail.i2p>
Date: Tue, 15 Dec 2009 01:41:43 +0000
Subject: [PATCH] Tunnels: static fix, synchronization fix, deprecate
 setPairedTunnel()

---
 .../java/src/net/i2p/router/tunnel/pool/BuildRequestor.java   | 2 +-
 .../net/i2p/router/tunnel/pool/PooledTunnelCreatorConfig.java | 4 +++-
 .../src/net/i2p/router/tunnel/pool/TunnelPeerSelector.java    | 2 +-
 .../src/net/i2p/router/tunnel/pool/TunnelPoolManager.java     | 2 +-
 4 files changed, 6 insertions(+), 4 deletions(-)

diff --git a/router/java/src/net/i2p/router/tunnel/pool/BuildRequestor.java b/router/java/src/net/i2p/router/tunnel/pool/BuildRequestor.java
index 21325be851..3f5a2ea231 100644
--- a/router/java/src/net/i2p/router/tunnel/pool/BuildRequestor.java
+++ b/router/java/src/net/i2p/router/tunnel/pool/BuildRequestor.java
@@ -109,7 +109,7 @@ class BuildRequestor {
             return;
         }
         
-        cfg.setPairedTunnel(pairedTunnel);
+        //cfg.setPairedTunnel(pairedTunnel);
         
         long beforeDispatch = System.currentTimeMillis();
         if (cfg.isInbound()) {
diff --git a/router/java/src/net/i2p/router/tunnel/pool/PooledTunnelCreatorConfig.java b/router/java/src/net/i2p/router/tunnel/pool/PooledTunnelCreatorConfig.java
index 3728ebc52d..b2cb7c704f 100644
--- a/router/java/src/net/i2p/router/tunnel/pool/PooledTunnelCreatorConfig.java
+++ b/router/java/src/net/i2p/router/tunnel/pool/PooledTunnelCreatorConfig.java
@@ -83,7 +83,9 @@ public class PooledTunnelCreatorConfig extends TunnelCreatorConfig {
     public void setTestJob(TestJob job) { _testJob = job; }
     public void setExpireJob(Job job) { /* _expireJob = job; */ }
     
-    // Fix memory leaks caused by references if you need to use pairedTunnel
+    /**
+     * @deprecated Fix memory leaks caused by references if you need to use pairedTunnel
+     */
     public void setPairedTunnel(TunnelInfo tunnel) { /* _pairedTunnel = tunnel; */}
     // public TunnelInfo getPairedTunnel() { return _pairedTunnel; }
 }
diff --git a/router/java/src/net/i2p/router/tunnel/pool/TunnelPeerSelector.java b/router/java/src/net/i2p/router/tunnel/pool/TunnelPeerSelector.java
index 2cfac2cc4f..a3b5c4b208 100644
--- a/router/java/src/net/i2p/router/tunnel/pool/TunnelPeerSelector.java
+++ b/router/java/src/net/i2p/router/tunnel/pool/TunnelPeerSelector.java
@@ -491,7 +491,7 @@ public abstract class TunnelPeerSelector {
      *  Now:
      *     d((H(l+h), h) - d(H(r+h), h)
      */
-    private class HashComparator implements Comparator {
+    private static class HashComparator implements Comparator {
         private Hash _hash;
 
         private HashComparator(Hash h) {
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 d879750359..dab276069c 100644
--- a/router/java/src/net/i2p/router/tunnel/pool/TunnelPoolManager.java
+++ b/router/java/src/net/i2p/router/tunnel/pool/TunnelPoolManager.java
@@ -175,7 +175,7 @@ public class TunnelPoolManager implements TunnelManagerFacade {
     public int getOutboundClientTunnelCount() { 
         int count = 0;
         List destinations = null;
-        synchronized (_clientInboundPools) {
+        synchronized (_clientOutboundPools) {
             destinations = new ArrayList(_clientOutboundPools.keySet());
         }
         for (int i = 0; i < destinations.size(); i++) {
-- 
GitLab