Author: zothar
Date: 2006-06-23 16:55:56 +0000 (Fri, 23 Jun 2006)
New Revision: 9368

Modified:
   trunk/freenet/src/freenet/node/Node.java
   trunk/freenet/src/freenet/node/NodeDispatcher.java
Log:
Put the reject reason in the 'rejecting preemptively' log message

Modified: trunk/freenet/src/freenet/node/Node.java
===================================================================
--- trunk/freenet/src/freenet/node/Node.java    2006-06-23 15:44:20 UTC (rev 
9367)
+++ trunk/freenet/src/freenet/node/Node.java    2006-06-23 16:55:56 UTC (rev 
9368)
@@ -2061,7 +2061,8 @@

        long lastCheckedUncontended = -1;

-       public synchronized boolean shouldRejectRequest(boolean 
canAcceptAnyway) {
+    /* return reject reason as string if should reject, otherwise return null 
*/
+       public synchronized String shouldRejectRequest(boolean canAcceptAnyway) 
{
                long now = System.currentTimeMillis();

                if(now - lastCheckedUncontended > 1000) {
@@ -2080,16 +2081,14 @@
                        if(now - lastAcceptedRequest > MAX_INTERREQUEST_TIME && 
canAcceptAnyway) {
                                Logger.minor(this, "Accepting request anyway 
(take one every 10 secs to keep bwlimitDelayTime updated)");
                                lastAcceptedRequest = now;
-                               return false;
+                               return null;
                        }
-                       Logger.minor( this, 
"shouldRejectRequest("+canAcceptAnyway+") == true because >MAX_PING_TIME");
-                       return true;
+                       return ">MAX_PING_TIME";
                }
                if(pingTime > SUB_MAX_PING_TIME) {
                        double x = ((double)(pingTime - SUB_MAX_PING_TIME)) / 
(MAX_PING_TIME - SUB_MAX_PING_TIME);
                        if(random.nextDouble() < x) {
-                               Logger.minor( this, "shouldRejectRequest() == 
true because >SUB_MAX_PING_TIME");
-                               return true;
+                               return ">SUB_MAX_PING_TIME";
                        }
                }

@@ -2101,23 +2100,21 @@
                        if(now - lastAcceptedRequest > MAX_INTERREQUEST_TIME && 
canAcceptAnyway) {
                                Logger.minor(this, "Accepting request anyway 
(take one every 10 secs to keep bwlimitDelayTime updated)");
                                lastAcceptedRequest = now;
-                               return false;
+                               return null;
                        }
-                       Logger.minor( this, "shouldRejectRequest() == true 
because >MAX_THROTTLE_DELAY");
-                       return true;
+                       return ">MAX_THROTTLE_DELAY";
                }
                if(bwlimitDelayTime > SUB_MAX_THROTTLE_DELAY) {
                        double x = ((double)(bwlimitDelayTime - 
SUB_MAX_THROTTLE_DELAY)) / (MAX_THROTTLE_DELAY - SUB_MAX_THROTTLE_DELAY);
                        if(random.nextDouble() < x) {
-                               Logger.minor( this, 
"shouldRejectRequest("+canAcceptAnyway+") == true because 
>SUB_MAX_THROTTLE_DELAY");
-                               return true;
+                               return ">SUB_MAX_THROTTLE_DELAY";
                        }
                }

                Logger.minor(this, "Accepting request");

                lastAcceptedRequest = now;
-               return false;
+               return null;
        }

        public SimpleFieldSet exportPrivateFieldSet() {

Modified: trunk/freenet/src/freenet/node/NodeDispatcher.java
===================================================================
--- trunk/freenet/src/freenet/node/NodeDispatcher.java  2006-06-23 15:44:20 UTC 
(rev 9367)
+++ trunk/freenet/src/freenet/node/NodeDispatcher.java  2006-06-23 16:55:56 UTC 
(rev 9368)
@@ -119,9 +119,10 @@
             }
             return true;
         }
-        if(node.shouldRejectRequest(!isSSK)) {
+        String rejectReason = node.shouldRejectRequest(!isSSK);
+        if(rejectReason != null) {
                // can accept 1 CHK request every so often, but not with SSKs 
because they aren't throttled so won't sort out bwlimitDelayTime, which was the 
whole reason for accepting them when overloaded...
-               Logger.normal(this, "Rejecting request from 
"+m.getSource().getPeer()+" preemptively");
+               Logger.normal(this, "Rejecting request from 
"+m.getSource().getPeer()+" preemptively because "+rejectReason);
                Message rejected = DMT.createFNPRejectedOverload(id, true);
                try {
                        ((PeerNode)(m.getSource())).sendAsync(rejected, null);
@@ -164,8 +165,9 @@
             return true;
         }
         // SSKs don't fix bwlimitDelayTime so shouldn't be accepted when 
overloaded.
-        if(node.shouldRejectRequest(!isSSK)) {
-               Logger.normal(this, "Rejecting insert from 
"+m.getSource().getPeer()+" preemptively");
+        String rejectReason = node.shouldRejectRequest(!isSSK);
+        if(rejectReason != null) {
+               Logger.normal(this, "Rejecting insert from 
"+m.getSource().getPeer()+" preemptively because "+rejectReason);
                Message rejected = DMT.createFNPRejectedOverload(id, true);
                try {
                        ((PeerNode)(m.getSource())).sendAsync(rejected, null);


Reply via email to