Author: toad
Date: 2008-12-24 19:14:34 +0000 (Wed, 24 Dec 2008)
New Revision: 24782
Modified:
branches/db4o/freenet/src/freenet/client/async/SingleFileInserter.java
branches/db4o/freenet/src/freenet/client/async/USKInserter.java
Log:
Pass in and remember whether persistent in USKInserter. removeFrom() if
necessary.
Modified: branches/db4o/freenet/src/freenet/client/async/SingleFileInserter.java
===================================================================
--- branches/db4o/freenet/src/freenet/client/async/SingleFileInserter.java
2008-12-24 19:13:13 UTC (rev 24781)
+++ branches/db4o/freenet/src/freenet/client/async/SingleFileInserter.java
2008-12-24 19:14:34 UTC (rev 24782)
@@ -390,7 +390,7 @@
if(uri.getKeyType().equals("USK")) {
try {
return new USKInserter(parent, data,
compressionCodec, uri, ctx, cb, isMetadata, sourceLength, token,
- getCHKOnly, addToParent, this.token,
container, context, freeData);
+ getCHKOnly, addToParent, this.token,
container, context, freeData, persistent);
} catch (MalformedURLException e) {
throw new
InsertException(InsertException.INVALID_URI, e, null);
}
Modified: branches/db4o/freenet/src/freenet/client/async/USKInserter.java
===================================================================
--- branches/db4o/freenet/src/freenet/client/async/USKInserter.java
2008-12-24 19:13:13 UTC (rev 24781)
+++ branches/db4o/freenet/src/freenet/client/async/USKInserter.java
2008-12-24 19:14:34 UTC (rev 24782)
@@ -39,6 +39,7 @@
final int token;
final boolean getCHKOnly;
public final Object tokenObject;
+ final boolean persistent;
final InsertableUSK privUSK;
final USK pubUSK;
@@ -113,7 +114,10 @@
parent.addMustSucceedBlocks(1, container);
parent.completedBlock(true, container, context);
cb.onSuccess(this, container, context);
- if(freeData) data.free();
+ if(freeData) {
+ data.free();
+ if(persistent) data.removeFrom(container);
+ }
} else {
scheduleInsert(container, context);
}
@@ -136,8 +140,10 @@
synchronized(this) {
finished = true;
}
- if(freeData)
+ if(freeData) {
data.free();
+ data.removeFrom(container);
+ }
}
}
@@ -174,8 +180,9 @@
public USKInserter(BaseClientPutter parent, Bucket data, short
compressionCodec, FreenetURI uri,
InsertContext ctx, PutCompletionCallback cb, boolean
isMetadata, int sourceLength, int token,
- boolean getCHKOnly, boolean addToParent, Object
tokenObject, ObjectContainer container, ClientContext context, boolean
freeData) throws MalformedURLException {
+ boolean getCHKOnly, boolean addToParent, Object
tokenObject, ObjectContainer container, ClientContext context, boolean
freeData, boolean persistent) throws MalformedURLException {
this.tokenObject = tokenObject;
+ this.persistent = persistent;
this.parent = parent;
this.data = data;
this.compressionCodec = compressionCodec;
@@ -209,8 +216,10 @@
finished = true;
fetcher = null;
}
- if(freeData)
+ if(freeData) {
data.free();
+ if(persistent) data.removeFrom(container);
+ }
cb.onFailure(new InsertException(InsertException.CANCELLED),
this, container, context);
}
_______________________________________________
cvs mailing list
[email protected]
http://emu.freenetproject.org/cgi-bin/mailman/listinfo/cvs