[freenet-cvs] r16957 - trunk/freenet/src/freenet/node

robert at freenetproject.org robert at freenetproject.org
Mon Jan 7 18:45:17 UTC 2008


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) {




More information about the cvs mailing list