Author: robert
Date: 2008-01-07 18:45:16 +0000 (Mon, 07 Jan 2008)
New Revision: 16957
Modified:
trunk/freenet/src/freenet/node/RequestHandler.java
Log:
send fewer FNPRejectOverloads (only the first is effective)
Modified: trunk/freenet/src/freenet/node/RequestHandler.java
===================================================================
--- trunk/freenet/src/freenet/node/RequestHandler.java 2008-01-07 17:49:37 UTC
(rev 16956)
+++ trunk/freenet/src/freenet/node/RequestHandler.java 2008-01-07 18:45:16 UTC
(rev 16957)
@@ -146,17 +146,20 @@
}
boolean shouldHaveStartedTransfer = false;
-
+ boolean sentRejectedOverload = false;
+
short waitStatus = 0;
while(true) {
waitStatus = rs.waitUntilStatusChange(waitStatus);
- if((waitStatus & RequestSender.WAIT_REJECTED_OVERLOAD) != 0) {
+ 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
Message msg = DMT.createFNPRejectedOverload(uid, false);
source.sendAsync(msg, null, 0, this);
+ //If the status changes (e.g. to SUCCESS),
there is little need to send yet another reject overload.
+ sentRejectedOverload=true;
}
if((waitStatus & RequestSender.WAIT_TRANSFERRING_DATA) != 0) {