Author: toad
Date: 2006-08-15 15:05:30 +0000 (Tue, 15 Aug 2006)
New Revision: 10085

Modified:
   trunk/freenet/src/freenet/node/FNPPacketMangler.java
   trunk/freenet/src/freenet/node/KeyTracker.java
   trunk/freenet/src/freenet/node/Version.java
   trunk/freenet/src/freenet/support/math/TimeDecayingRunningAverage.java
Log:
943: Process acks etc in a packet even if we have already received that packet.

Modified: trunk/freenet/src/freenet/node/FNPPacketMangler.java
===================================================================
--- trunk/freenet/src/freenet/node/FNPPacketMangler.java        2006-08-15 
10:35:40 UTC (rev 10084)
+++ trunk/freenet/src/freenet/node/FNPPacketMangler.java        2006-08-15 
15:05:30 UTC (rev 10085)
@@ -620,12 +620,6 @@
         // Verify
         tracker.pn.verified(tracker);

-        if((seqNumber != -1) && tracker.alreadyReceived(seqNumber)) {
-            tracker.queueAck(seqNumber);
-            Logger.normal(this, "Received packet twice from 
"+tracker.pn.getPeer()+": "+seqNumber);
-            return true;
-        }
-        
         for(int i=0;i<md.getDigestLength();i++) {
             packetHash[i] ^= buf[offset+i];
         }
@@ -716,8 +710,6 @@

         Logger.minor(this, "Reference sequence number: "+referenceSeqNumber);

-        tracker.receivedPacket(seqNumber);
-        
         int ackCount = decrypted[ptr++] & 0xff;
         Logger.minor(this, "Acks: "+ackCount);

@@ -778,7 +770,15 @@
                return;
         }
         // No sequence number == no messages
+
+        if((seqNumber != -1) && tracker.alreadyReceived(seqNumber)) {
+            tracker.queueAck(seqNumber);
+            Logger.error(this, "Received packet twice ("+seqNumber+") from 
"+tracker.pn.getPeer()+": "+seqNumber);
+            return;
+        }

+        tracker.receivedPacket(seqNumber);
+        
         int messages = decrypted[ptr++] & 0xff;

         overhead += ptr;

Modified: trunk/freenet/src/freenet/node/KeyTracker.java
===================================================================
--- trunk/freenet/src/freenet/node/KeyTracker.java      2006-08-15 10:35:40 UTC 
(rev 10084)
+++ trunk/freenet/src/freenet/node/KeyTracker.java      2006-08-15 15:05:30 UTC 
(rev 10085)
@@ -328,7 +328,7 @@
                public void onAcked() {
                        long t = Math.max(0, System.currentTimeMillis() - 
createdTime);
                        pn.pingAverage.report(t);
-                       Logger.minor(this, "Reported round-trip time of "+t+"ms 
on "+pn.getPeer());
+                       Logger.minor(this, "Reported round-trip time of "+t+"ms 
on "+pn.getPeer()+" (avg "+pn.pingAverage.currentValue()+"ms, 
#"+packetNumber+")");
                }
     }


Modified: trunk/freenet/src/freenet/node/Version.java
===================================================================
--- trunk/freenet/src/freenet/node/Version.java 2006-08-15 10:35:40 UTC (rev 
10084)
+++ trunk/freenet/src/freenet/node/Version.java 2006-08-15 15:05:30 UTC (rev 
10085)
@@ -18,7 +18,7 @@
        public static final String protocolVersion = "1.0";

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

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

Modified: trunk/freenet/src/freenet/support/math/TimeDecayingRunningAverage.java
===================================================================
--- trunk/freenet/src/freenet/support/math/TimeDecayingRunningAverage.java      
2006-08-15 10:35:40 UTC (rev 10084)
+++ trunk/freenet/src/freenet/support/math/TimeDecayingRunningAverage.java      
2006-08-15 15:05:30 UTC (rev 10085)
@@ -137,8 +137,8 @@
                        if(!started) {
                                curValue = d;
                                started = true;
-                               if(logDEBUG)
-                                       Logger.debug(this, "Reported "+d+" on 
"+this+" when just started");
+                               //if(logDEBUG)
+                                       Logger.minor(this, "Reported "+d+" on 
"+this+" when just started");
                        } else if(lastReportTime != -1) { // might be just 
serialized in
                                long thisInterval =
                                         now - lastReportTime;
@@ -151,8 +151,8 @@
                                double oldCurValue = curValue;
                                curValue = curValue * changeFactor /* close to 
1.0 if short interval, close to 0.0 if long interval */ 
                                        + (1.0 - changeFactor) * d;
-                               if(logDEBUG)
-                                       Logger.debug(this, "Reported "+d+" on 
"+this+": thisInterval="+thisInterval+
+                               //if(logDEBUG)
+                                       Logger.minor(this, "Reported "+d+" on 
"+this+": thisInterval="+thisInterval+
                                                        ", 
halfLife="+halfLife+", uptime="+uptime+", thisHalfLife="+thisHalfLife+
                                                        ", 
changeFactor="+changeFactor+", oldCurValue="+oldCurValue+
                                                        ", 
currentValue="+currentValue()+


Reply via email to