Author: toad
Date: 2007-09-22 18:44:33 +0000 (Sat, 22 Sep 2007)
New Revision: 15275

Modified:
   trunk/freenet/src/freenet/node/OpennetManager.java
   trunk/freenet/src/freenet/node/PeerManager.java
Log:
write the old peers list to disk regularly.
use the old peers list in LRU order.

Modified: trunk/freenet/src/freenet/node/OpennetManager.java
===================================================================
--- trunk/freenet/src/freenet/node/OpennetManager.java  2007-09-22 18:41:52 UTC 
(rev 15274)
+++ trunk/freenet/src/freenet/node/OpennetManager.java  2007-09-22 18:44:33 UTC 
(rev 15275)
@@ -406,7 +406,7 @@
        }

        public synchronized PeerNode[] getOldPeers() {
-               return (PeerNode[]) oldPeers.toArray(new 
PeerNode[oldPeers.size()]);
+               return (PeerNode[]) oldPeers.toArrayOrdered(new 
PeerNode[oldPeers.size()]);
        }

        /**
@@ -418,4 +418,8 @@
                oldPeers.push(pn);
        }

+       public String getOldPeersFilename() {
+               return new File(node.nodeDir, 
"openpeers-old-"+crypto.portNumber).toString();
+       }
+
 }

Modified: trunk/freenet/src/freenet/node/PeerManager.java
===================================================================
--- trunk/freenet/src/freenet/node/PeerManager.java     2007-09-22 18:41:52 UTC 
(rev 15274)
+++ trunk/freenet/src/freenet/node/PeerManager.java     2007-09-22 18:44:33 UTC 
(rev 15275)
@@ -828,8 +828,12 @@
        synchronized(writePeersSync) {
                if(darkFilename != null)
                        writePeersInner(darkFilename, getDarknetPeers());
-               if(openFilename != null)
-                       writePeersInner(openFilename, getOpennetPeers());
+               OpennetManager om = node.getOpennet();
+               if(om != null) {
+                       if(openFilename != null)
+                               writePeersInner(openFilename, 
getOpennetPeers());
+                       writePeersInner(om.getOldPeersFilename(), 
om.getOldPeers());
+               }
        }
     }



Reply via email to