Author: toad
Date: 2007-09-26 17:11:29 +0000 (Wed, 26 Sep 2007)
New Revision: 15333

Modified:
   trunk/freenet/src/freenet/node/OpennetManager.java
   trunk/freenet/src/freenet/node/PeerManager.java
   trunk/freenet/src/freenet/node/PeerNode.java
Log:
don't remove it if it's no longer disconnecting (e.g. because on opennet it got 
a success and was promoted so it no longer needs to be dumped)

Modified: trunk/freenet/src/freenet/node/OpennetManager.java
===================================================================
--- trunk/freenet/src/freenet/node/OpennetManager.java  2007-09-26 16:57:11 UTC 
(rev 15332)
+++ trunk/freenet/src/freenet/node/OpennetManager.java  2007-09-26 17:11:29 UTC 
(rev 15333)
@@ -303,7 +303,7 @@
                                                
peersLRU.pushLeast(nodeToAddNow);
                                        else
                                                peersLRU.push(nodeToAddNow);
-                                       if(logMINOR) Logger.minor(this, "Added 
opennet peer "+nodeToAddNow+" after clearing "+dropList.size()+" items");
+                                       if(logMINOR) Logger.minor(this, "Added 
opennet peer "+nodeToAddNow+" after clearing "+dropList.size()+" items - now 
have "+peersLRU.size()+" opennet peers");
                                        oldPeers.remove(nodeToAddNow);
                                        if(!dropList.isEmpty())
                                                timeLastDropped = now;

Modified: trunk/freenet/src/freenet/node/PeerManager.java
===================================================================
--- trunk/freenet/src/freenet/node/PeerManager.java     2007-09-26 16:57:11 UTC 
(rev 15332)
+++ trunk/freenet/src/freenet/node/PeerManager.java     2007-09-26 17:11:29 UTC 
(rev 15333)
@@ -459,13 +459,13 @@
                                        }
                                }, 0, null);
                        } catch (NotConnectedException e) {
-                       if(removePeer(pn))
+                       if(pn.isDisconnecting() && removePeer(pn))
                                writePeers();
                        return;
                        }
                        node.getTicker().queueTimedJob(new Runnable() {
                                public void run() {
-                               if(removePeer(pn))
+                               if(pn.isDisconnecting() && removePeer(pn))
                                        writePeers();
                                }
                        }, 60*1000);

Modified: trunk/freenet/src/freenet/node/PeerNode.java
===================================================================
--- trunk/freenet/src/freenet/node/PeerNode.java        2007-09-26 16:57:11 UTC 
(rev 15332)
+++ trunk/freenet/src/freenet/node/PeerNode.java        2007-09-26 17:11:29 UTC 
(rev 15333)
@@ -2752,4 +2752,8 @@
        public void onRemove() {
                disconnected();
        }
+
+       public synchronized boolean isDisconnecting() {
+               return disconnecting;
+       }
 }


Reply via email to