Author: toad
Date: 2008-12-24 19:13:13 +0000 (Wed, 24 Dec 2008)
New Revision: 24781
Modified:
branches/db4o/freenet/src/freenet/client/async/InsertCompressor.java
branches/db4o/freenet/src/freenet/client/async/SimpleManifestPutter.java
branches/db4o/freenet/src/freenet/client/async/SimpleSingleFileFetcher.java
branches/db4o/freenet/src/freenet/client/async/SingleBlockInserter.java
branches/db4o/freenet/src/freenet/client/async/SplitFileFetcher.java
branches/db4o/freenet/src/freenet/client/async/SplitFileFetcherSubSegment.java
branches/db4o/freenet/src/freenet/client/async/SplitFileInserterSegment.java
branches/db4o/freenet/src/freenet/client/async/USKFetcher.java
branches/db4o/freenet/src/freenet/node/fcp/DataCarryingMessage.java
Log:
removeFrom() as well as free()ing, or document why not
Modified: branches/db4o/freenet/src/freenet/client/async/InsertCompressor.java
===================================================================
--- branches/db4o/freenet/src/freenet/client/async/InsertCompressor.java
2008-12-24 12:12:22 UTC (rev 24780)
+++ branches/db4o/freenet/src/freenet/client/async/InsertCompressor.java
2008-12-24 19:13:13 UTC (rev 24781)
@@ -131,6 +131,7 @@
if(resultSize < minSize) {
bestCodec = comp;
if(bestCompressedData != null)
+ // Don't need to removeFrom() :
we haven't stored it.
bestCompressedData.free();
bestCompressedData = result;
bestCompressedDataSize = resultSize;
Modified:
branches/db4o/freenet/src/freenet/client/async/SimpleManifestPutter.java
===================================================================
--- branches/db4o/freenet/src/freenet/client/async/SimpleManifestPutter.java
2008-12-24 12:12:22 UTC (rev 24780)
+++ branches/db4o/freenet/src/freenet/client/async/SimpleManifestPutter.java
2008-12-24 19:13:13 UTC (rev 24781)
@@ -538,6 +538,7 @@
createTarBucket(bucket, outputBucket) :
createZipBucket(bucket, outputBucket));
bucket.free();
+ if(persistent()) bucket.removeFrom(container);
if(logMINOR) Logger.minor(this, "We are using
"+archiveType);
Modified:
branches/db4o/freenet/src/freenet/client/async/SimpleSingleFileFetcher.java
===================================================================
--- branches/db4o/freenet/src/freenet/client/async/SimpleSingleFileFetcher.java
2008-12-24 12:12:22 UTC (rev 24780)
+++ branches/db4o/freenet/src/freenet/client/async/SimpleSingleFileFetcher.java
2008-12-24 19:13:13 UTC (rev 24781)
@@ -123,6 +123,7 @@
}
if(parent.isCancelled()) {
data.asBucket().free();
+ if(persistent) data.asBucket().removeFrom(container);
onFailure(new FetchException(FetchException.CANCELLED),
false, container, context);
return;
}
Modified:
branches/db4o/freenet/src/freenet/client/async/SingleBlockInserter.java
===================================================================
--- branches/db4o/freenet/src/freenet/client/async/SingleBlockInserter.java
2008-12-24 12:12:22 UTC (rev 24780)
+++ branches/db4o/freenet/src/freenet/client/async/SingleBlockInserter.java
2008-12-24 19:13:13 UTC (rev 24781)
@@ -226,8 +226,10 @@
if(persistent)
container.activate(cb, 1);
cb.onFailure(e, this, container, context);
- if(freeData)
+ if(freeData) {
sourceData.free();
+ if(persistent) sourceData.removeFrom(container);
+ }
}
public ClientKeyBlock getBlock(ObjectContainer container, ClientContext
context, boolean calledByCB) {
@@ -323,8 +325,10 @@
container.store(this);
container.activate(sourceData, 1);
}
- if(freeData)
- sourceData.free(); // FIXME removeFrom()??
+ if(freeData) {
+ sourceData.free();
+ if(persistent) sourceData.removeFrom(container);
+ }
parent.completedBlock(false, container, context);
if(logMINOR) Logger.minor(this, "Calling onSuccess for "+cb);
cb.onSuccess(this, container, context);
@@ -346,8 +350,10 @@
container.activate(cb, 1);
container.activate(sourceData, 1);
}
- if(freeData)
+ if(freeData) {
sourceData.free();
+ if(persistent) sourceData.removeFrom(container);
+ }
super.unregister(container, context);
cb.onFailure(new InsertException(InsertException.CANCELLED),
this, container, context);
if(persistent)
Modified: branches/db4o/freenet/src/freenet/client/async/SplitFileFetcher.java
===================================================================
--- branches/db4o/freenet/src/freenet/client/async/SplitFileFetcher.java
2008-12-24 12:12:22 UTC (rev 24780)
+++ branches/db4o/freenet/src/freenet/client/async/SplitFileFetcher.java
2008-12-24 19:13:13 UTC (rev 24781)
@@ -505,7 +505,10 @@
cb.onFailure(new
FetchException(FetchException.TOO_BIG, e.estimatedSize, false /* FIXME */,
clientMetadata.getMIMEType()), this, container, context);
return;
} finally {
- if(orig != data) orig.free();
+ if(orig != data) {
+ orig.free();
+ if(persistent)
orig.removeFrom(container);
+ }
}
count++;
}
Modified:
branches/db4o/freenet/src/freenet/client/async/SplitFileFetcherSubSegment.java
===================================================================
---
branches/db4o/freenet/src/freenet/client/async/SplitFileFetcherSubSegment.java
2008-12-24 12:12:22 UTC (rev 24780)
+++
branches/db4o/freenet/src/freenet/client/async/SplitFileFetcherSubSegment.java
2008-12-24 19:13:13 UTC (rev 24781)
@@ -406,6 +406,7 @@
} else {
onFailure(new
FetchException(FetchException.INVALID_METADATA, "Metadata where expected
data"), token, container, context);
data.free();
+ if(persistent) data.removeFrom(container);
}
if(persistent) {
container.deactivate(segment, 1);
@@ -421,6 +422,7 @@
}
if(parent.isCancelled()) {
data.free();
+ if(persistent) data.removeFrom(container);
onFailure(new FetchException(FetchException.CANCELLED),
token, container, context);
return;
}
Modified:
branches/db4o/freenet/src/freenet/client/async/SplitFileInserterSegment.java
===================================================================
---
branches/db4o/freenet/src/freenet/client/async/SplitFileInserterSegment.java
2008-12-24 12:12:22 UTC (rev 24780)
+++
branches/db4o/freenet/src/freenet/client/async/SplitFileInserterSegment.java
2008-12-24 19:13:13 UTC (rev 24781)
@@ -555,6 +555,8 @@
if (dataBlockInserters[i] == null &&
dataBlocks[i] != null) {
container.activate(dataBlocks[i], 1);
dataBlocks[i].free();
+ if(persistent)
+
dataBlocks[i].removeFrom(container);
dataBlocks[i] = null;
}
}
@@ -742,6 +744,8 @@
if(persistent)
container.activate(checkBlocks[x], 1);
checkBlocks[x].free();
+ if(persistent)
+ checkBlocks[x].removeFrom(container);
checkBlocks[x] = null;
} else {
if (dataBlockInserters[x] == null) {
@@ -754,6 +758,8 @@
if(persistent)
container.activate(dataBlocks[x], 1);
dataBlocks[x].free();
+ if(persistent)
+ dataBlocks[x].removeFrom(container);
dataBlocks[x] = null;
}
}
@@ -816,7 +822,8 @@
if(persistent)
container.activate(d, 5);
d.free();
- d.removeFrom(container);
+ if(persistent)
+ d.removeFrom(container);
dataBlocks[i] = null;
}
}
Modified: branches/db4o/freenet/src/freenet/client/async/USKFetcher.java
===================================================================
--- branches/db4o/freenet/src/freenet/client/async/USKFetcher.java
2008-12-24 12:12:22 UTC (rev 24780)
+++ branches/db4o/freenet/src/freenet/client/async/USKFetcher.java
2008-12-24 19:13:13 UTC (rev 24781)
@@ -596,7 +596,7 @@
public synchronized void freeLastData() {
if(lastRequestData == null) return;
- lastRequestData.free();
+ lastRequestData.free(); // USKFetcher's cannot be persistent,
so no need to removeFrom()
lastRequestData = null;
}
Modified: branches/db4o/freenet/src/freenet/node/fcp/DataCarryingMessage.java
===================================================================
--- branches/db4o/freenet/src/freenet/node/fcp/DataCarryingMessage.java
2008-12-24 12:12:22 UTC (rev 24780)
+++ branches/db4o/freenet/src/freenet/node/fcp/DataCarryingMessage.java
2008-12-24 19:13:13 UTC (rev 24781)
@@ -54,7 +54,7 @@
protected void writeData(OutputStream os) throws IOException {
long len = dataLength();
if(len > 0) BucketTools.copyTo(bucket, os, len);
- if(freeOnSent) bucket.free();
+ if(freeOnSent) bucket.free(); // Always transient so no
removeFrom() needed.
}
@Override
_______________________________________________
cvs mailing list
[email protected]
http://emu.freenetproject.org/cgi-bin/mailman/listinfo/cvs