Author: robert
Date: 2008-01-09 16:27:26 +0000 (Wed, 09 Jan 2008)
New Revision: 16982
Modified:
trunk/freenet/src/freenet/node/RequestHandler.java
Log:
don't send responses after source has forgotten about it (instead of r16886)
presumably will cut down on unclaimedFIFO messages
Modified: trunk/freenet/src/freenet/node/RequestHandler.java
===================================================================
--- trunk/freenet/src/freenet/node/RequestHandler.java 2008-01-09 16:15:47 UTC
(rev 16981)
+++ trunk/freenet/src/freenet/node/RequestHandler.java 2008-01-09 16:27:26 UTC
(rev 16982)
@@ -152,11 +152,19 @@
boolean shouldHaveStartedTransfer = false;
boolean sentRejectedOverload = false;
+ //If we cannot respond before this time, the 'source' node has
already fatally timed out (and we need not return packets which will not be
claimed)
+ long responseDeadline = System.currentTimeMillis() +
RequestSender.FETCH_TIMEOUT + source.getProbableSendQueueTime();
short waitStatus = 0;
while(true) {
waitStatus = rs.waitUntilStatusChange(waitStatus);
+
+ if (System.currentTimeMillis() > responseDeadline) {
+ applyByteCounts();
+ return;
+ }
+
if((waitStatus & RequestSender.WAIT_REJECTED_OVERLOAD) != 0 &&
!sentRejectedOverload) {
// Forward RejectedOverload
//Note: This message is only decernable from
the terminal messages by the IS_LOCAL flag being false. (!IS_LOCAL)->!Terminal