Author: toad
Date: 2007-02-15 16:21:34 +0000 (Thu, 15 Feb 2007)
New Revision: 11799
Modified:
trunk/freenet/src/freenet/client/ArchiveManager.java
trunk/freenet/src/freenet/client/ArchiveStoreItem.java
trunk/freenet/src/freenet/client/RealArchiveStoreItem.java
trunk/freenet/src/freenet/client/TempStoreElement.java
Log:
Explicit close() methods instead of finalize: clean up a bit after previous
commit
Modified: trunk/freenet/src/freenet/client/ArchiveManager.java
===================================================================
--- trunk/freenet/src/freenet/client/ArchiveManager.java 2007-02-15
14:07:37 UTC (rev 11798)
+++ trunk/freenet/src/freenet/client/ArchiveManager.java 2007-02-15
16:21:34 UTC (rev 11799)
@@ -235,7 +235,7 @@
if(readBytes >
maxArchivedFileSize) {
addErrorElement(ctx,
key, name, "File too big: "+maxArchivedFileSize+" greater than current archived
file size limit "+maxArchivedFileSize);
out.close();
-
temp.underBucket.finalize();
+ temp.close();
continue outer;
}
}
@@ -393,7 +393,7 @@
private void trimStoredData() {
while((cachedData > maxCachedData) || (storedData.size() >
maxCachedElements)) {
ArchiveStoreItem e = (ArchiveStoreItem)
storedData.popValue();
- e.context.removeItem(e);
+ e.close();
}
}
Modified: trunk/freenet/src/freenet/client/ArchiveStoreItem.java
===================================================================
--- trunk/freenet/src/freenet/client/ArchiveStoreItem.java 2007-02-15
14:07:37 UTC (rev 11798)
+++ trunk/freenet/src/freenet/client/ArchiveStoreItem.java 2007-02-15
16:21:34 UTC (rev 11799)
@@ -20,6 +20,13 @@
context.addItem(this);
}
+ /** Expected to delete any stored data on disk, and decrement
cachedData.
+ * Implemented to remove self from context.
+ */
+ void close() {
+ context.removeItem(this);
+ }
+
/**
* Return cached data as a Bucket, or throw an ArchiveFailureException.
*/
Modified: trunk/freenet/src/freenet/client/RealArchiveStoreItem.java
===================================================================
--- trunk/freenet/src/freenet/client/RealArchiveStoreItem.java 2007-02-15
14:07:37 UTC (rev 11798)
+++ trunk/freenet/src/freenet/client/RealArchiveStoreItem.java 2007-02-15
16:21:34 UTC (rev 11799)
@@ -59,8 +59,8 @@
return FileUtil.estimateUsage(myFilename, underBucket.size());
}
- public synchronized void finalize() {
- super.context.removeItem(this);
+ synchronized void close() {
+ super.close();
if(finalized) return;
long sz = spaceUsed();
underBucket.finalize();
Modified: trunk/freenet/src/freenet/client/TempStoreElement.java
===================================================================
--- trunk/freenet/src/freenet/client/TempStoreElement.java 2007-02-15
14:07:37 UTC (rev 11798)
+++ trunk/freenet/src/freenet/client/TempStoreElement.java 2007-02-15
16:21:34 UTC (rev 11799)
@@ -18,4 +18,8 @@
File myFilename;
PaddedEphemerallyEncryptedBucket bucket;
FileBucket underBucket;
+
+ public void close() {
+ underBucket.free();
+ }
}
\ No newline at end of file