Author: toad
Date: 2008-11-06 13:34:02 +0000 (Thu, 06 Nov 2008)
New Revision: 23343

Modified:
   trunk/freenet/src/freenet/node/PeerManager.java
Log:
Merge 23213: Looking for byte[]'s instead of ByteArrayWrapper's, ultimately 
causing us to announce to the same node twice and drop connection after the 
first announcement completes, causing waste of a lot of announcements.


Modified: trunk/freenet/src/freenet/node/PeerManager.java
===================================================================
--- trunk/freenet/src/freenet/node/PeerManager.java     2008-11-06 13:30:27 UTC 
(rev 23342)
+++ trunk/freenet/src/freenet/node/PeerManager.java     2008-11-06 13:34:02 UTC 
(rev 23343)
@@ -31,6 +31,7 @@
 import freenet.io.comm.ReferenceSignatureVerificationException;
 import freenet.keys.Key;
 import freenet.node.useralerts.PeerManagerUserAlert;
+import freenet.support.ByteArrayWrapper;
 import freenet.support.Logger;
 import freenet.support.ShortBuffer;
 import freenet.support.SimpleFieldSet;
@@ -1647,7 +1648,7 @@
                return (DarknetPeerNode[]) v.toArray(new 
DarknetPeerNode[v.size()]);
        }

-       public Vector<SeedServerPeerNode> 
getConnectedSeedServerPeersVector(HashSet exclude) {
+       public Vector<SeedServerPeerNode> 
getConnectedSeedServerPeersVector(HashSet<ByteArrayWrapper> exclude) {
                PeerNode[] peers;
                synchronized(this) {
                        peers = myPeers;
@@ -1656,7 +1657,7 @@
                Vector<SeedServerPeerNode> v = new 
Vector<SeedServerPeerNode>(myPeers.length);
                for(int i = 0; i < peers.length; i++) {
                        if(peers[i] instanceof SeedServerPeerNode) {
-                               if(exclude != null && 
exclude.contains(peers[i].getIdentity())) {
+                               if(exclude != null && exclude.contains(new 
ByteArrayWrapper(peers[i].getIdentity()))) {
                                        if(logMINOR)
                                                Logger.minor(this, "Not 
including in getConnectedSeedServerPeersVector() as in exclude set: " + 
peers[i].userToString());
                                        continue;


Reply via email to