Author: toad
Date: 2008-01-18 12:40:10 +0000 (Fri, 18 Jan 2008)
New Revision: 17129
Modified:
trunk/freenet/src/freenet/client/async/SingleFileInserter.java
Log:
Free the compressed data once we have inserted it.
Modified: trunk/freenet/src/freenet/client/async/SingleFileInserter.java
===================================================================
--- trunk/freenet/src/freenet/client/async/SingleFileInserter.java
2008-01-18 12:35:52 UTC (rev 17128)
+++ trunk/freenet/src/freenet/client/async/SingleFileInserter.java
2008-01-18 12:40:10 UTC (rev 17129)
@@ -196,8 +196,11 @@
throw new Error(e);
}
}
- if(bestCompressedData != null)
+ boolean freeData = false;
+ if(bestCompressedData != null) {
data = bestCompressedData;
+ freeData = true;
+ }
if(parent == cb) {
if(tryCompress)
@@ -273,13 +276,13 @@
// insert it. Then when the splitinserter has finished, and the
// metadata insert has finished too, tell the master callback.
if(reportMetadataOnly) {
- SplitFileInserter sfi = new SplitFileInserter(parent,
cb, data, bestCodec, origSize, block.clientMetadata, ctx, getCHKOnly, metadata,
token, insertAsArchiveManifest, false);
+ SplitFileInserter sfi = new SplitFileInserter(parent,
cb, data, bestCodec, origSize, block.clientMetadata, ctx, getCHKOnly, metadata,
token, insertAsArchiveManifest, freeData);
cb.onTransition(this, sfi);
sfi.start();
if(earlyEncode) sfi.forceEncode();
} else {
SplitHandler sh = new SplitHandler();
- SplitFileInserter sfi = new SplitFileInserter(parent,
sh, data, bestCodec, origSize, block.clientMetadata, ctx, getCHKOnly, metadata,
token, insertAsArchiveManifest, false);
+ SplitFileInserter sfi = new SplitFileInserter(parent,
sh, data, bestCodec, origSize, block.clientMetadata, ctx, getCHKOnly, metadata,
token, insertAsArchiveManifest, freeData);
sh.sfi = sfi;
cb.onTransition(this, sh);
sfi.start();