Author: toad
Date: 2009-03-26 13:09:02 +0000 (Thu, 26 Mar 2009)
New Revision: 26197
Modified:
branches/db4o/freenet/src/freenet/client/async/SimpleManifestPutter.java
Log:
Track transitions for metadata putters
Modified:
branches/db4o/freenet/src/freenet/client/async/SimpleManifestPutter.java
===================================================================
--- branches/db4o/freenet/src/freenet/client/async/SimpleManifestPutter.java
2009-03-26 13:03:00 UTC (rev 26196)
+++ branches/db4o/freenet/src/freenet/client/async/SimpleManifestPutter.java
2009-03-26 13:09:02 UTC (rev 26197)
@@ -1306,7 +1306,31 @@
}
public void onTransition(ClientPutState oldState, ClientPutState
newState, ObjectContainer container) {
+ Metadata m = (Metadata) oldState.getToken();
+ if(persistent()) {
+ container.activate(m, 100);
+ container.activate(metadataPuttersUnfetchable, 2);
+ container.activate(metadataPuttersByMetadata, 2);
+ }
synchronized(this) {
+ if(metadataPuttersByMetadata.containsKey(m)) {
+ metadataPuttersByMetadata.put(m, newState);
+ if(logMINOR) Logger.minor(this, "Metadata
putter transition: "+oldState+" -> "+newState);
+ if(metadataPuttersUnfetchable.containsKey(m)) {
+ metadataPuttersUnfetchable.put(m,
newState);
+ if(logMINOR) Logger.minor(this,
"Unfetchable metadata putter transition: "+oldState+" -> "+newState);
+ }
+ } else {
+ Logger.error(this, "onTransition() but
metadataPuttersByMetadata does not contain metadata tag "+m+" for "+oldState+"
should -> "+newState);
+ }
+ }
+
+ if(persistent()) {
+ container.deactivate(m, 100);
+ container.deactivate(metadataPuttersUnfetchable, 2);
+ container.deactivate(metadataPuttersByMetadata, 2);
+ }
+ synchronized(this) {
if(logMINOR) Logger.minor(this, "Transition:
"+oldState+" -> "+newState);
}
}
_______________________________________________
cvs mailing list
[email protected]
http://emu.freenetproject.org/cgi-bin/mailman/listinfo/cvs