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