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;