Author: toad
Date: 2008-04-21 15:35:19 +0000 (Mon, 21 Apr 2008)
New Revision: 19484

Modified:
   trunk/freenet/src/freenet/node/OpennetManager.java
   trunk/freenet/src/freenet/node/PeerManager.java
   trunk/freenet/src/freenet/node/RequestStarter.java
Log:
Don't kill requests until 5 minutes after opennet startup time. Not 5 minutes 
after startup.
This feature is used simply to prevent the activelink images from timing out on 
a newbie node.

Modified: trunk/freenet/src/freenet/node/OpennetManager.java
===================================================================
--- trunk/freenet/src/freenet/node/OpennetManager.java  2008-04-21 15:13:25 UTC 
(rev 19483)
+++ trunk/freenet/src/freenet/node/OpennetManager.java  2008-04-21 15:35:19 UTC 
(rev 19484)
@@ -92,8 +92,11 @@
        /** Allow for future expansion. However at any given time all noderefs 
should be PADDED_NODEREF_SIZE */
        static final int MAX_OPENNET_NODEREF_LENGTH = 32768;

+       private final long creationTime;
+       
        public OpennetManager(Node node, NodeCryptoConfig opennetConfig, long 
startupTime) throws NodeInitException {
                logMINOR = Logger.shouldLog(Logger.MINOR, this);
+               this.creationTime = System.currentTimeMillis();
                this.node = node;
                crypto =
                        new NodeCrypto(node, true, opennetConfig, startupTime, 
node.enableARKs);
@@ -671,4 +674,8 @@
                node.executor.execute(sender, "Announcement to "+target);
        }

+       public long getCreationTime() {
+               return creationTime;
+       }
+
 }

Modified: trunk/freenet/src/freenet/node/PeerManager.java
===================================================================
--- trunk/freenet/src/freenet/node/PeerManager.java     2008-04-21 15:13:25 UTC 
(rev 19483)
+++ trunk/freenet/src/freenet/node/PeerManager.java     2008-04-21 15:35:19 UTC 
(rev 19484)
@@ -1635,6 +1635,17 @@
                return count;
        }

+       public int countConnectedPeers() {
+               int count = 0;
+               PeerNode[] peers = myPeers;
+               for(int i=0;i<peers.length;i++) {
+                       if(peers[i] == null) continue;
+                       if(!peers[i].isRoutable()) continue;
+                       count++;
+               }
+               return count;
+       }
+       
        public int countAlmostConnectedDarknetPeers() {
                int count = 0;
                PeerNode[] peers = myPeers;
@@ -1708,5 +1719,5 @@
                }
                return null;
        }
-       
+
 }

Modified: trunk/freenet/src/freenet/node/RequestStarter.java
===================================================================
--- trunk/freenet/src/freenet/node/RequestStarter.java  2008-04-21 15:13:25 UTC 
(rev 19483)
+++ trunk/freenet/src/freenet/node/RequestStarter.java  2008-04-21 15:35:19 UTC 
(rev 19484)
@@ -97,7 +97,9 @@
                long cycleTime = sentRequestTime;
                while(true) {
                        // Allow 5 minutes before we start killing requests due 
to not connecting.
-                       if(System.currentTimeMillis() - startupTime < 300*1000 
&& core.node.peers.countConnectedDarknetPeers() + 
core.node.peers.countConnectedOpennetPeers() == 0) {
+                       OpennetManager om;
+                       if(core.node.peers.countConnectedPeers() == 0 && (om = 
core.node.getOpennet()) != null &&
+                                       System.currentTimeMillis() - 
om.getCreationTime() > 5*60*1000) {
                                try {
                                        synchronized(this) {
                                                wait(1000);
@@ -224,10 +226,7 @@
                }
        }

-       private long startupTime;
-       
        public void run() {
-               startupTime = System.currentTimeMillis();
            freenet.support.Logger.OSThread.logPID(this);
                while(true) {
                        try {


Reply via email to