Author: toad
Date: 2008-01-25 17:15:23 +0000 (Fri, 25 Jan 2008)
New Revision: 17280

Modified:
   trunk/freenet/src/freenet/io/comm/MessageFilter.java
Log:
Log and properly handle hopefully impossible situation

Modified: trunk/freenet/src/freenet/io/comm/MessageFilter.java
===================================================================
--- trunk/freenet/src/freenet/io/comm/MessageFilter.java        2008-01-25 
17:12:32 UTC (rev 17279)
+++ trunk/freenet/src/freenet/io/comm/MessageFilter.java        2008-01-25 
17:15:23 UTC (rev 17280)
@@ -199,10 +199,15 @@
            return _droppedConnection;
        }

-       public boolean timedOut(long time) {
+       /**
+        * @param time The current time in milliseconds.
+        * @return True if the filter has timed out, or if it has been matched 
already. Caller will
+        * remove the filter from _filters if we return true.
+        */
+       boolean timedOut(long time) {
                if(_matched) {
-                       
-                       return false;
+                       Logger.error(this, "Impossible: filter already matched 
in timedOut()");
+                       return true; // Remove it.
                }
                if(_callback != null && _callback.shouldTimeout())
                        _timeout = -1; // timeout immediately


Reply via email to