Author: toad
Date: 2006-06-23 13:12:48 +0000 (Fri, 23 Jun 2006)
New Revision: 9365

Modified:
   trunk/freenet/src/freenet/node/Node.java
   trunk/freenet/src/freenet/node/PacketSender.java
   trunk/freenet/src/freenet/node/Version.java
Log:
838: Minor fix to load limiting...

Modified: trunk/freenet/src/freenet/node/Node.java
===================================================================
--- trunk/freenet/src/freenet/node/Node.java    2006-06-23 12:50:43 UTC (rev 
9364)
+++ trunk/freenet/src/freenet/node/Node.java    2006-06-23 13:12:48 UTC (rev 
9365)
@@ -356,6 +356,7 @@

                public synchronized void successfulCompletion(long rtt) {
                        roundTripTime.report(Math.max(rtt, 10));
+                       Logger.minor(this, "Reported successful completion: 
"+rtt+" on "+this+" avg "+roundTripTime.currentValue());
                }
        }

@@ -1428,7 +1429,7 @@
                chkRequestStarter.start();
                //insertThrottle = new ChainedRequestThrottle(10000, 2.0F, 
requestThrottle);
                // FIXME reenable the above
-               chkInsertThrottle = new MyRequestThrottle(throttleWindow, 
10000, "CHK Insert");
+               chkInsertThrottle = new MyRequestThrottle(throttleWindow, 
20000, "CHK Insert");
                chkInsertStarter = new RequestStarter(this, chkInsertThrottle, 
"CHK Insert starter ("+portNumber+")");
                chkPutScheduler = new ClientRequestScheduler(true, false, 
random, chkInsertStarter, this);
                chkInsertStarter.setScheduler(chkPutScheduler);
@@ -1441,7 +1442,7 @@
                sskRequestStarter.start();
                //insertThrottle = new ChainedRequestThrottle(10000, 2.0F, 
requestThrottle);
                // FIXME reenable the above
-               sskInsertThrottle = new MyRequestThrottle(throttleWindow, 
10000, "SSK Insert");
+               sskInsertThrottle = new MyRequestThrottle(throttleWindow, 
20000, "SSK Insert");
                sskInsertStarter = new RequestStarter(this, sskInsertThrottle, 
"SSK Insert starter ("+portNumber+")");
                sskPutScheduler = new ClientRequestScheduler(true, true, 
random, sskInsertStarter, this);
                sskInsertStarter.setScheduler(sskPutScheduler);
@@ -1704,7 +1705,8 @@
                                                status == 
RequestSender.ROUTE_NOT_FOUND ||
                                                status == 
RequestSender.VERIFY_FAILURE) {
                                        long rtt = System.currentTimeMillis() - 
startTime;
-                                       throttleWindow.requestCompleted();
+                                       if(!rejectedOverload)
+                                               
throttleWindow.requestCompleted();
                                        
chkRequestThrottle.successfulCompletion(rtt);
                                }
                        }
@@ -1791,7 +1793,9 @@
                                                status == 
RequestSender.ROUTE_NOT_FOUND ||
                                                status == 
RequestSender.VERIFY_FAILURE) {
                                        long rtt = System.currentTimeMillis() - 
startTime;
-                                       throttleWindow.requestCompleted();
+                                       
+                                       if(!rejectedOverload)
+                                               
throttleWindow.requestCompleted();
                                        
sskRequestThrottle.successfulCompletion(rtt);
                                }
                        }
@@ -1860,7 +1864,7 @@
                }
                is = 
makeInsertSender((NodeCHK)block.getClientKey().getNodeKey(), 
                                MAX_HTL, uid, null, headers, prb, false, 
lm.getLocation().getValue(), cache);
-               boolean hasForwardedRejectedOverload = false;
+               boolean hasReceivedRejectedOverload = false;
                // Wait for status
                while(true) {
                        synchronized(is) {
@@ -1873,8 +1877,8 @@
                                }
                                if(is.getStatus() != 
CHKInsertSender.NOT_FINISHED) break;
                        }
-                       if((!hasForwardedRejectedOverload) && 
is.receivedRejectedOverload()) {
-                               hasForwardedRejectedOverload = true;
+                       if((!hasReceivedRejectedOverload) && 
is.receivedRejectedOverload()) {
+                               hasReceivedRejectedOverload = true;
                                throttleWindow.rejectedOverload();
                        }
                }
@@ -1889,16 +1893,16 @@
                                        // Go around again
                                }
                        }
-                       if(is.anyTransfersFailed() && 
(!hasForwardedRejectedOverload)) {
-                               hasForwardedRejectedOverload = true; // not 
strictly true but same effect
+                       if(is.anyTransfersFailed() && 
(!hasReceivedRejectedOverload)) {
+                               hasReceivedRejectedOverload = true; // not 
strictly true but same effect
                                throttleWindow.rejectedOverload();
                        }
                }

-               Logger.minor(this, "Completed "+uid+" 
overload="+hasForwardedRejectedOverload+" "+is.getStatusString());
+               Logger.minor(this, "Completed "+uid+" 
overload="+hasReceivedRejectedOverload+" "+is.getStatusString());

                // Finished?
-               if(!hasForwardedRejectedOverload) {
+               if(!hasReceivedRejectedOverload) {
                        // Is it ours? Did we send a request?
                        if(is.sentRequest() && is.uid == uid && (is.getStatus() 
== CHKInsertSender.ROUTE_NOT_FOUND 
                                        || is.getStatus() == 
CHKInsertSender.SUCCESS)) {
@@ -1907,7 +1911,8 @@
                                long len = endTime - startTime;

                                chkInsertThrottle.successfulCompletion(len);
-                               throttleWindow.requestCompleted();
+                               if(!hasReceivedRejectedOverload)
+                                       throttleWindow.requestCompleted();
                        }
                }

@@ -1962,7 +1967,7 @@
                }
                is = makeInsertSender(block, 
                                MAX_HTL, uid, null, false, 
lm.getLocation().getValue(), cache);
-               boolean hasForwardedRejectedOverload = false;
+               boolean hasReceivedRejectedOverload = false;
                // Wait for status
                while(true) {
                        synchronized(is) {
@@ -1975,8 +1980,8 @@
                                }
                                if(is.getStatus() != 
SSKInsertSender.NOT_FINISHED) break;
                        }
-                       if((!hasForwardedRejectedOverload) && 
is.receivedRejectedOverload()) {
-                               hasForwardedRejectedOverload = true;
+                       if((!hasReceivedRejectedOverload) && 
is.receivedRejectedOverload()) {
+                               hasReceivedRejectedOverload = true;
                                throttleWindow.rejectedOverload();
                        }
                }
@@ -1993,10 +1998,10 @@
                        }
                }

-               Logger.minor(this, "Completed "+uid+" 
overload="+hasForwardedRejectedOverload+" "+is.getStatusString());
+               Logger.minor(this, "Completed "+uid+" 
overload="+hasReceivedRejectedOverload+" "+is.getStatusString());

                // Finished?
-               if(!hasForwardedRejectedOverload) {
+               if(!hasReceivedRejectedOverload) {
                        // Is it ours? Did we send a request?
                        if(is.sentRequest() && is.uid == uid && (is.getStatus() 
== SSKInsertSender.ROUTE_NOT_FOUND 
                                        || is.getStatus() == 
SSKInsertSender.SUCCESS)) {

Modified: trunk/freenet/src/freenet/node/PacketSender.java
===================================================================
--- trunk/freenet/src/freenet/node/PacketSender.java    2006-06-23 12:50:43 UTC 
(rev 9364)
+++ trunk/freenet/src/freenet/node/PacketSender.java    2006-06-23 13:12:48 UTC 
(rev 9365)
@@ -161,7 +161,8 @@
                 // Any urgent notifications to send?
                 long urgentTime = pn.getNextUrgentTime();
                 // Should spam the logs, unless there is a deadlock
-                Logger.minor(this, "Next urgent time: "+urgentTime+" for 
"+pn.getDetectedPeer());
+                if(urgentTime < Long.MAX_VALUE)
+                       Logger.minor(this, "Next urgent time: "+urgentTime+" 
for "+pn.getDetectedPeer());
                 if(urgentTime <= now) {
                     // Send them
                     try {
@@ -326,6 +327,7 @@
         if(sleepTime > 0) {
             try {
                 synchronized(this) {
+                       Logger.minor(this, "Sleeping for "+sleepTime);
                     wait(sleepTime);
                 }
             } catch (InterruptedException e) {

Modified: trunk/freenet/src/freenet/node/Version.java
===================================================================
--- trunk/freenet/src/freenet/node/Version.java 2006-06-23 12:50:43 UTC (rev 
9364)
+++ trunk/freenet/src/freenet/node/Version.java 2006-06-23 13:12:48 UTC (rev 
9365)
@@ -18,7 +18,7 @@
        public static final String protocolVersion = "1.0";

        /** The build number of the current revision */
-       private static final int buildNumber = 837;
+       private static final int buildNumber = 838;

        /** Oldest build of Fred we will talk to */
        private static final int lastGoodBuild = 765;


Reply via email to