Author: toad
Date: 2007-04-14 15:33:29 +0000 (Sat, 14 Apr 2007)
New Revision: 12689

Modified:
   trunk/freenet/src/freenet/node/CHKInsertSender.java
   trunk/freenet/src/freenet/node/InsertHandler.java
Log:
Don't report CHK inserts as successful when the receive failed.

Modified: trunk/freenet/src/freenet/node/CHKInsertSender.java
===================================================================
--- trunk/freenet/src/freenet/node/CHKInsertSender.java 2007-04-14 15:16:49 UTC 
(rev 12688)
+++ trunk/freenet/src/freenet/node/CHKInsertSender.java 2007-04-14 15:33:29 UTC 
(rev 12689)
@@ -885,4 +885,8 @@
        public void sentPayload(int x) {
                node.sentPayload(x);
        }
+
+       public boolean failedReceive() {
+               return receiveFailed;
+       }
 }

Modified: trunk/freenet/src/freenet/node/InsertHandler.java
===================================================================
--- trunk/freenet/src/freenet/node/InsertHandler.java   2007-04-14 15:16:49 UTC 
(rev 12688)
+++ trunk/freenet/src/freenet/node/InsertHandler.java   2007-04-14 15:33:29 UTC 
(rev 12689)
@@ -341,7 +341,7 @@
                if(logMINOR) Logger.minor(this, "Remote CHK insert cost 
"+totalSent+ '/' +totalReceived+" bytes ("+code+ ')');
                
node.nodeStats.remoteChkInsertBytesSentAverage.report(totalSent);
                
node.nodeStats.remoteChkInsertBytesReceivedAverage.report(totalReceived);
-               if(code == CHKInsertSender.SUCCESS) {
+               if(code == CHKInsertSender.SUCCESS && !(sender != null && 
sender.failedReceive())) {
                        // Report both sent and received because we have both a 
Handler and a Sender
                        
node.nodeStats.successfulChkInsertBytesSentAverage.report(totalSent);
                        
node.nodeStats.successfulChkInsertBytesReceivedAverage.report(totalReceived);


Reply via email to