Author: toad
Date: 2008-12-12 16:15:56 +0000 (Fri, 12 Dec 2008)
New Revision: 24268

Modified:
   trunk/freenet/src/freenet/node/PeerNode.java
Log:
Call completelyDeprecated() on old trackers if we don't reuse the PacketTracker.


Modified: trunk/freenet/src/freenet/node/PeerNode.java
===================================================================
--- trunk/freenet/src/freenet/node/PeerNode.java        2008-12-12 16:07:42 UTC 
(rev 24267)
+++ trunk/freenet/src/freenet/node/PeerNode.java        2008-12-12 16:15:56 UTC 
(rev 24268)
@@ -1896,6 +1896,7 @@
                        isRoutable = routable;
                        unroutableNewerVersion = newer;
                        unroutableOlderVersion = older;
+                       boolean notReusingTracker = false;
                        bootIDChanged = (thisBootID != this.bootID);
                        if(bootIDChanged && wasARekey) {
                                Logger.error(this, "Changed boot ID while 
rekeying! from " + bootID + " to " + thisBootID + " for " + getPeer());
@@ -1923,6 +1924,7 @@
                        } else if(trackerID == -1) {
                                // Create a new tracker unconditionally
                                packets = new PacketTracker(this);
+                               notReusingTracker = true;
                                if(logMINOR) Logger.minor(this, "Creating new 
PacketTracker as instructed for "+this);
                        } else if(trackerID == -2 && !bootIDChanged) {
                                // Reuse if not deprecated and not boot ID 
changed
@@ -1934,19 +1936,21 @@
                                        if(logMINOR) Logger.minor(this, 
"Re-using packet tracker (not given an ID): "+packets.trackerID+" on "+this+" 
from prev "+previousTracker);
                                } else {
                                        packets = new PacketTracker(this);
+                                       notReusingTracker = true;
                                        if(logMINOR) Logger.minor(this, "Cannot 
reuse trackers (not given an ID) on "+this);
                                }
                        } else {
                                if(isJFK4 && negType >= 4 && trackerID < 0)
                                        Logger.error(this, "JFK(4) packet with 
neg type "+negType+" has negative tracker ID: "+trackerID);
                                        
+                               notReusingTracker = true;
                                if(isJFK4/* && !jfk4SameAsOld implied */ && 
trackerID >= 0) {
                                        packets = new PacketTracker(this, 
trackerID);
                                } else
                                        packets = new PacketTracker(this);
                                if(logMINOR) Logger.minor(this, "Creating new 
tracker (last resort) on "+this);
                        }
-                       if(bootIDChanged) {
+                       if(bootIDChanged || notReusingTracker) {
                                oldPrev = previousTracker;
                                oldCur = currentTracker;
                                previousTracker = null;

_______________________________________________
cvs mailing list
[email protected]
http://emu.freenetproject.org/cgi-bin/mailman/listinfo/cvs

Reply via email to