Author: toad
Date: 2007-12-15 14:09:10 +0000 (Sat, 15 Dec 2007)
New Revision: 16570

Modified:
   trunk/freenet/src/freenet/node/PeerManager.java
Log:
Don't remove status etc if the node isn't in the peers list.

Modified: trunk/freenet/src/freenet/node/PeerManager.java
===================================================================
--- trunk/freenet/src/freenet/node/PeerManager.java     2007-12-15 14:07:22 UTC 
(rev 16569)
+++ trunk/freenet/src/freenet/node/PeerManager.java     2007-12-15 14:09:10 UTC 
(rev 16570)
@@ -293,18 +293,18 @@
                for(int i=0;i<myPeers.length;i++) {
                        if(myPeers[i] == pn) isInPeers=true;
                }
-               int peerNodeStatus = pn.getPeerNodeStatus();
-               if(pn.recordStatus())
-                       removePeerNodeStatus( peerNodeStatus, pn, !isInPeers );
-               String peerNodePreviousRoutingBackoffReason = 
pn.getPreviousBackoffReason();
-               if(peerNodePreviousRoutingBackoffReason != null) {
-                       
removePeerNodeRoutingBackoffReason(peerNodePreviousRoutingBackoffReason, pn);
-               }
                if(pn instanceof DarknetPeerNode)
                        ((DarknetPeerNode)pn).removeExtraPeerDataDir();
-               
                if(isInPeers) {

+                       int peerNodeStatus = pn.getPeerNodeStatus();
+                       if(pn.recordStatus())
+                               removePeerNodeStatus( peerNodeStatus, pn, 
!isInPeers );
+                       String peerNodePreviousRoutingBackoffReason = 
pn.getPreviousBackoffReason();
+                       if(peerNodePreviousRoutingBackoffReason != null) {
+                               
removePeerNodeRoutingBackoffReason(peerNodePreviousRoutingBackoffReason, pn);
+                       }
+                       
                        // removing from connectedPeers
                        ArrayList a = new ArrayList();
                        for(int i=0;i<myPeers.length;i++) {


Reply via email to