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;