Author: toad
Date: 2005-11-26 20:33:16 +0000 (Sat, 26 Nov 2005)
New Revision: 7625

Modified:
   trunk/freenet/src/freenet/node/InsertSender.java
   trunk/freenet/src/freenet/node/PeerNode.java
   trunk/freenet/src/freenet/node/RequestSender.java
   trunk/freenet/src/freenet/node/RequestThrottle.java
   trunk/freenet/src/freenet/node/Version.java
Log:
239:
Fix problem with reporting invalid times.

Modified: trunk/freenet/src/freenet/node/InsertSender.java
===================================================================
--- trunk/freenet/src/freenet/node/InsertSender.java    2005-11-26 19:58:43 UTC 
(rev 7624)
+++ trunk/freenet/src/freenet/node/InsertSender.java    2005-11-26 20:33:16 UTC 
(rev 7625)
@@ -71,6 +71,7 @@
     private BlockTransmitter bt;
     private final LinkedList senderThreads;
     private final LinkedList blockSenders;
+    private boolean sentRequest;

     private int status = -1;
     static final int NOT_FINISHED = -1;
@@ -140,6 +141,7 @@
             // Send to next node

             next.send(req);
+            sentRequest = true;

             if(receiveFailed) return; // don't need to set status as killed by 
InsertHandler
             Message msg;
@@ -345,10 +347,12 @@
         }

         status = code;
-        if(status == REJECTED_OVERLOAD) {
-               node.getInsertThrottle().requestRejectedOverload();
-        } else if(status == SUCCESS || status == ROUTE_NOT_FOUND) {
-               
node.getInsertThrottle().requestCompleted(System.currentTimeMillis() - 
startTime);
+        if(sentRequest) {
+               if(status == REJECTED_OVERLOAD) {
+                       node.getInsertThrottle().requestRejectedOverload();
+               } else if(status == SUCCESS || status == ROUTE_NOT_FOUND) {
+                       
node.getInsertThrottle().requestCompleted(System.currentTimeMillis() - 
startTime);
+               }
         }

         synchronized(this) {

Modified: trunk/freenet/src/freenet/node/PeerNode.java
===================================================================
--- trunk/freenet/src/freenet/node/PeerNode.java        2005-11-26 19:58:43 UTC 
(rev 7624)
+++ trunk/freenet/src/freenet/node/PeerNode.java        2005-11-26 20:33:16 UTC 
(rev 7625)
@@ -862,7 +862,7 @@
     public String getStatus() {
         return 
                (isConnected ? "CONNECTED   " : "DISCONNECTED") + " " + 
getPeer().toString()+" "+myName+" "+currentLocation.getValue()+" "+getVersion() 
+
-               "adjpRO="+this.getAdjustedPRejectedOverload()+/*" 
bias="+getBias()+*/" reqs: pRO="+pDataRequestRejectOverload.currentValue()+" 
(h="+pDataRequestRejectOverload.countReports()+") ins: pRO="+ 
pInsertRejectOverload.currentValue()+
+               " adjpRO="+this.getAdjustedPRejectedOverload()+/*" 
bias="+getBias()+*/" reqs: pRO="+pDataRequestRejectOverload.currentValue()+" 
(h="+pDataRequestRejectOverload.countReports()+") ins: pRO="+ 
pInsertRejectOverload.currentValue()+
                                " (h="+pInsertRejectOverload.countReports()+")";
     }


Modified: trunk/freenet/src/freenet/node/RequestSender.java
===================================================================
--- trunk/freenet/src/freenet/node/RequestSender.java   2005-11-26 19:58:43 UTC 
(rev 7624)
+++ trunk/freenet/src/freenet/node/RequestSender.java   2005-11-26 20:33:16 UTC 
(rev 7625)
@@ -45,6 +45,7 @@
     final PeerNode source;
     private PartiallyReceivedBlock prb = null;
     private byte[] headers;
+    private boolean sentRequest;

     // Terminal status
     // Always set finished AFTER setting the reason flag
@@ -140,6 +141,7 @@
             MessageFilter mf = 
mfAccepted.or(mfRejectedLoop.or(mfRejectedOverload));

             next.send(req);
+            sentRequest = true;

             Message msg;
             try {
@@ -308,11 +310,13 @@
         if(status != NOT_FINISHED)
                throw new IllegalStateException("finish() called with "+code+" 
when was already "+status);
         status = code;
-        
-        if(status == REJECTED_OVERLOAD) {
-               node.getRequestThrottle().requestRejectedOverload();
-        } else if(status == SUCCESS || status == ROUTE_NOT_FOUND || status == 
DATA_NOT_FOUND || status == VERIFY_FAILURE) {
-               
node.getRequestThrottle().requestCompleted(System.currentTimeMillis() - 
startTime);
+
+        if(sentRequest) {
+               if(status == REJECTED_OVERLOAD) {
+                       node.getRequestThrottle().requestRejectedOverload();
+               } else if(status == SUCCESS || status == ROUTE_NOT_FOUND || 
status == DATA_NOT_FOUND || status == VERIFY_FAILURE) {
+                       
node.getRequestThrottle().requestCompleted(System.currentTimeMillis() - 
startTime);
+               }
         }

         synchronized(this) {

Modified: trunk/freenet/src/freenet/node/RequestThrottle.java
===================================================================
--- trunk/freenet/src/freenet/node/RequestThrottle.java 2005-11-26 19:58:43 UTC 
(rev 7624)
+++ trunk/freenet/src/freenet/node/RequestThrottle.java 2005-11-26 20:33:16 UTC 
(rev 7625)
@@ -1,5 +1,6 @@
 package freenet.node;

+import freenet.support.Logger;
 import freenet.support.math.BootstrappingDecayingRunningAverage;

 /**
@@ -59,6 +60,7 @@

        private synchronized void setRoundTripTime(long rtt) {
                roundTripTime.report(Math.max(rtt, 10));
+               Logger.minor(this, "Reporting RTT: "+rtt);
        }

        public synchronized String toString() {

Modified: trunk/freenet/src/freenet/node/Version.java
===================================================================
--- trunk/freenet/src/freenet/node/Version.java 2005-11-26 19:58:43 UTC (rev 
7624)
+++ trunk/freenet/src/freenet/node/Version.java 2005-11-26 20:33:16 UTC (rev 
7625)
@@ -20,10 +20,10 @@
        public static final String protocolVersion = "1.0";

        /** The build number of the current revision */
-       public static final int buildNumber = 238;
+       public static final int buildNumber = 239;

        /** Oldest build of Fred we will talk to */
-       public static final int lastGoodBuild = 237;
+       public static final int lastGoodBuild = 239;

        /** The highest reported build of fred */
        public static int highestSeenBuild = buildNumber;


Reply via email to