Author: toad
Date: 2008-02-08 18:45:34 +0000 (Fri, 08 Feb 2008)
New Revision: 17709

Modified:
   trunk/freenet/src/freenet/node/FailureTableEntry.java
Log:
Fix wierd code in askedFromPeer/askedByPeer.

Modified: trunk/freenet/src/freenet/node/FailureTableEntry.java
===================================================================
--- trunk/freenet/src/freenet/node/FailureTableEntry.java       2008-02-08 
18:38:45 UTC (rev 17708)
+++ trunk/freenet/src/freenet/node/FailureTableEntry.java       2008-02-08 
18:45:34 UTC (rev 17709)
@@ -358,6 +358,7 @@
         */
        public synchronized boolean askedByPeer(PeerNode peer, long now) {
                boolean anyValid = false;
+               boolean ret = false;
                for(int i=0;i<requestorNodes.length;i++) {
                        WeakReference ref = requestorNodes[i];
                        if(ref == null) continue;
@@ -371,15 +372,16 @@
                                requestorNodes[i] = null;
                                continue;
                        }
-                       if(now - requestorTimes[i] > 
MAX_TIME_BETWEEN_REQUEST_AND_OFFER) return true;
-                       anyValid = true;
-                       if(pn == peer) return true;
+                       if(now - requestorTimes[i] < 
MAX_TIME_BETWEEN_REQUEST_AND_OFFER) {
+                               if(pn == peer) ret = true;
+                               anyValid = true;
+                       } 
                }
                if(!anyValid) {
                        requestorNodes = new WeakReference[0];
                        requestorTimes = requestorBootIDs = new long[0];
                }
-               return false;
+               return ret;
        }

        /**
@@ -387,6 +389,7 @@
         */
        public synchronized boolean askedFromPeer(PeerNode peer, long now) {
                boolean anyValid = false;
+               boolean ret = false;
                for(int i=0;i<requestedNodes.length;i++) {
                        WeakReference ref = requestedNodes[i];
                        if(ref == null) continue;
@@ -400,16 +403,18 @@
                                requestedNodes[i] = null;
                                continue;
                        }
-                       if(now - requestedTimes[i] > 
MAX_TIME_BETWEEN_REQUEST_AND_OFFER) return true;
                        anyValid = true;
-                       if(pn == peer) return true;
+                       if(now - requestedTimes[i] < 
MAX_TIME_BETWEEN_REQUEST_AND_OFFER) {
+                               if(pn == peer) ret = true;
+                               anyValid = true;
+                       }
                }
                if(!anyValid) {
                        requestedNodes = new WeakReference[0];
                        requestedTimes = requestedBootIDs = requestedTimeouts = 
new long[0];
                        requestedTimeoutHTLs = new short[0];
                }
-               return false;
+               return ret;
        }

        public synchronized boolean isEmpty(long now) {


Reply via email to