Author: toad
Date: 2008-01-28 13:13:30 +0000 (Mon, 28 Jan 2008)
New Revision: 17347
Modified:
trunk/freenet/src/freenet/io/comm/MessageFilter.java
Log:
A timeout (or no timeout) must be set explicitly for EVERY filter!
Modified: trunk/freenet/src/freenet/io/comm/MessageFilter.java
===================================================================
--- trunk/freenet/src/freenet/io/comm/MessageFilter.java 2008-01-28
13:10:53 UTC (rev 17346)
+++ trunk/freenet/src/freenet/io/comm/MessageFilter.java 2008-01-28
13:13:30 UTC (rev 17347)
@@ -48,9 +48,9 @@
private Message _message;
private long _oldBootID;
private AsyncMessageFilterCallback _callback;
+ private boolean _setTimeout = false;
private MessageFilter() {
- setNoTimeout();
_timeoutFromWait = true;
}
@@ -60,6 +60,8 @@
void onStartWaiting() {
synchronized(this) {
+ if(!_setTimeout)
+ Logger.error(this, "No timeout set on filter "+this,
new Exception("error"));
if(_initialTimeout > 0 && _timeoutFromWait)
_timeout = System.currentTimeMillis() + _initialTimeout;
}
@@ -86,12 +88,14 @@
* @return This message filter
*/
public MessageFilter setTimeout(int timeout) {
+ _setTimeout = true;
_initialTimeout = timeout;
_timeout = System.currentTimeMillis() + timeout;
return this;
}
public MessageFilter setNoTimeout() {
+ _setTimeout = true;
_timeout = Long.MAX_VALUE;
return this;
}