Author: zothar
Date: 2006-06-25 03:26:49 +0000 (Sun, 25 Jun 2006)
New Revision: 9380

Modified:
   trunk/freenet/src/freenet/node/ARKFetcher.java
   trunk/freenet/src/freenet/node/PeerNode.java
Log:
CONNECTED and BACKED OFF peers can now be DISABLED.  Always remove any ready 
ARK Fetchers from the arkFetcherManager queue when a ARKFetcher is stopped.  
Prepatory indent change in a block of code of PeerNode.PeerNode(), getting 
ready for my next changes: DISABLED saved across restarts.

Modified: trunk/freenet/src/freenet/node/ARKFetcher.java
===================================================================
--- trunk/freenet/src/freenet/node/ARKFetcher.java      2006-06-24 23:17:41 UTC 
(rev 9379)
+++ trunk/freenet/src/freenet/node/ARKFetcher.java      2006-06-25 03:26:49 UTC 
(rev 9380)
@@ -120,11 +120,11 @@
                shouldRun = false;
                synchronized(this){
                        started = false;
+                       if(node.arkFetchManager.hasReadyARKFetcher(this)) {
+                               
node.arkFetchManager.removeReadyARKFetcher(this);
+                       }
                        if(isFetching) {
                                node.removeARKFetcher(identity,this);
-                               
if(node.arkFetchManager.hasReadyARKFetcher(this)) {
-                                       
node.arkFetchManager.removeReadyARKFetcher(this);
-                               }
                                isFetching = false;
                        }
                }

Modified: trunk/freenet/src/freenet/node/PeerNode.java
===================================================================
--- trunk/freenet/src/freenet/node/PeerNode.java        2006-06-24 23:17:41 UTC 
(rev 9379)
+++ trunk/freenet/src/freenet/node/PeerNode.java        2006-06-25 03:26:49 UTC 
(rev 9380)
@@ -413,31 +413,31 @@
                        }
                        if(p != null)
                                detectedPeer = p;
-            String tempTimeLastReceivedPacketString = 
metadata.get("timeLastReceivedPacket");
-            if(tempTimeLastReceivedPacketString != null) {
-              long tempTimeLastReceivedPacket = 
Long.parseLong(tempTimeLastReceivedPacketString);
-              timeLastReceivedPacket = tempTimeLastReceivedPacket;
-            }
-            String tempPeerAddedTimeString = metadata.get("peerAddedTime");
-            if(tempPeerAddedTimeString != null) {
-              long tempPeerAddedTime = Long.parseLong(tempPeerAddedTimeString);
-              peerAddedTime = tempPeerAddedTime;
-            } else {
-              peerAddedTime = 1;
-            }
-            String tempNeverConnectedString = metadata.get("neverConnected");
-            if(tempNeverConnectedString != null && 
tempNeverConnectedString.equals("true")) {
-              neverConnected = true;
-            } else {
-              neverConnected = false;
-            }
-            if((now - peerAddedTime) > (((long) 30)*24*60*60*1000)) {  // 30 
days
-              peerAddedTime = 0;  // don't store anymore
-              neverConnected = false;
-            }
-            if(!neverConnected) {
-              peerAddedTime = 0;  // don't store anymore
-            }
+               String tempTimeLastReceivedPacketString = 
metadata.get("timeLastReceivedPacket");
+               if(tempTimeLastReceivedPacketString != null) {
+                       long tempTimeLastReceivedPacket = 
Long.parseLong(tempTimeLastReceivedPacketString);
+                       timeLastReceivedPacket = tempTimeLastReceivedPacket;
+               }
+               String tempPeerAddedTimeString = metadata.get("peerAddedTime");
+               if(tempPeerAddedTimeString != null) {
+                       long tempPeerAddedTime = 
Long.parseLong(tempPeerAddedTimeString);
+                       peerAddedTime = tempPeerAddedTime;
+               } else {
+                       peerAddedTime = 1;
+               }
+               String tempNeverConnectedString = 
metadata.get("neverConnected");
+               if(tempNeverConnectedString != null && 
tempNeverConnectedString.equals("true")) {
+                       neverConnected = true;
+               } else {
+                       neverConnected = false;
+               }
+               if((now - peerAddedTime) > (((long) 30)*24*60*60*1000)) {  // 
30 days
+                       peerAddedTime = 0;  // don't store anymore
+                       neverConnected = false;
+               }
+               if(!neverConnected) {
+                       peerAddedTime = 0;  // don't store anymore
+               }
                }
         } else {
             neverConnected = true;
@@ -1944,9 +1944,10 @@

        public void disablePeer() {
                if(isConnected) {
-                       return;
+                       forceDisconnect();
                }
                isDisabled = true;
+       arkFetcher.stop();
                setPeerNodeStatus(System.currentTimeMillis());
        }



Reply via email to