Author: toad
Date: 2008-01-28 13:09:05 +0000 (Mon, 28 Jan 2008)
New Revision: 17345

Modified:
   trunk/freenet/src/freenet/io/xfer/BlockReceiver.java
Log:
BlockReceiver: Set an explicit timeout for the or()'s. Otherwise, MessageCore 
will match the filter on a valid message, then recognise that it's timed out, 
and return a timeout. Ouch!

Modified: trunk/freenet/src/freenet/io/xfer/BlockReceiver.java
===================================================================
--- trunk/freenet/src/freenet/io/xfer/BlockReceiver.java        2008-01-28 
10:26:49 UTC (rev 17344)
+++ trunk/freenet/src/freenet/io/xfer/BlockReceiver.java        2008-01-28 
13:09:05 UTC (rev 17345)
@@ -76,8 +76,8 @@
                int consecutiveMissingPacketReports = 0;
                try {
                        MessageFilter mfPacketTransmit = 
MessageFilter.create().setTimeout(RECEIPT_TIMEOUT).setType(DMT.packetTransmit).setField(DMT.UID,
 _uid).setSource(_sender);
-                       MessageFilter mfAllSent = 
MessageFilter.create().setType(DMT.allSent).setField(DMT.UID, 
_uid).setSource(_sender);
-                       MessageFilter mfSendAborted = 
MessageFilter.create().setType(DMT.sendAborted).setField(DMT.UID, 
_uid).setSource(_sender);
+                       MessageFilter mfAllSent = 
MessageFilter.create().setTimeout(RECEIPT_TIMEOUT).setType(DMT.allSent).setField(DMT.UID,
 _uid).setSource(_sender);
+                       MessageFilter mfSendAborted = 
MessageFilter.create().setTimeout(RECEIPT_TIMEOUT).setType(DMT.sendAborted).setField(DMT.UID,
 _uid).setSource(_sender);
                        MessageFilter 
relevantMessages=mfPacketTransmit.or(mfAllSent.or(mfSendAborted));
                while (!_prb.allReceived()) {
                        Message m1;


Reply via email to