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