Author: toad
Date: 2008-12-06 16:54:03 +0000 (Sat, 06 Dec 2008)
New Revision: 24103
Modified:
trunk/freenet/src/freenet/node/DarknetPeerNode.java
trunk/freenet/src/freenet/node/OpennetManager.java
Log:
Drop excess peers on a darknet peer connecting.
Modified: trunk/freenet/src/freenet/node/DarknetPeerNode.java
===================================================================
--- trunk/freenet/src/freenet/node/DarknetPeerNode.java 2008-12-06 16:32:31 UTC
(rev 24102)
+++ trunk/freenet/src/freenet/node/DarknetPeerNode.java 2008-12-06 16:54:03 UTC
(rev 24103)
@@ -16,6 +16,7 @@
import java.util.LinkedHashSet;
import freenet.client.DefaultMIMETypes;
+import freenet.crypt.BlockCipher;
import freenet.io.comm.DMT;
import freenet.io.comm.DisconnectedException;
import freenet.io.comm.FreenetInetAddress;
@@ -1596,4 +1597,15 @@
public final boolean shouldDisconnectAndRemoveNow() {
return false;
}
+
+ @Override
+ public long completedHandshake(long thisBootID, byte[] data, int
offset, int length, BlockCipher encCipher, byte[] encKey, Peer replyTo, boolean
unverified, int negType, long trackerID, boolean isJFK4, boolean jfk4SameAsOld)
{
+ long ret = super.completedHandshake(thisBootID, data, offset,
length, encCipher, encKey, replyTo, unverified, negType, trackerID, isJFK4,
jfk4SameAsOld);
+ if(ret > 0) {
+ OpennetManager om = node.getOpennet();
+ if(om != null)
+ om.dropExcessPeers();
+ }
+ return ret;
+ }
}
Modified: trunk/freenet/src/freenet/node/OpennetManager.java
===================================================================
--- trunk/freenet/src/freenet/node/OpennetManager.java 2008-12-06 16:32:31 UTC
(rev 24102)
+++ trunk/freenet/src/freenet/node/OpennetManager.java 2008-12-06 16:54:03 UTC
(rev 24103)
@@ -400,7 +400,7 @@
return canAdd;
}
- private void dropExcessPeers() {
+ void dropExcessPeers() {
while(peersLRU.size() > getNumberOfConnectedPeersToAim()) {
if(logMINOR)
Logger.minor(this, "Dropping opennet peers:
currently "+peersLRU.size());
_______________________________________________
cvs mailing list
[email protected]
http://emu.freenetproject.org/cgi-bin/mailman/listinfo/cvs