Author: nextgens
Date: 2008-08-17 10:20:14 +0000 (Sun, 17 Aug 2008)
New Revision: 21950
Modified:
trunk/freenet/src/freenet/support/io/TempBucketFactory.java
Log:
TempBucketFactory: simplify accounting
Modified: trunk/freenet/src/freenet/support/io/TempBucketFactory.java
===================================================================
--- trunk/freenet/src/freenet/support/io/TempBucketFactory.java 2008-08-17
10:15:25 UTC (rev 21949)
+++ trunk/freenet/src/freenet/support/io/TempBucketFactory.java 2008-08-17
10:20:14 UTC (rev 21950)
@@ -74,6 +74,7 @@
private class RAMBucket extends ArrayBucket {
public RAMBucket(long size) {
super("RAMBucket", size);
+ _hasTaken(size);
}
@Override
@@ -115,7 +116,11 @@
return makeBucket(size, factor, defaultIncrement);
}
- protected synchronized void _hasFreed(long size) {
+ private synchronized void _hasTaken(long size) {
+ bytesInUse += size;
+ }
+
+ private synchronized void _hasFreed(long size) {
bytesInUse -= size;
}
@@ -161,17 +166,16 @@
*/
public TempBucket makeBucket(long size, float factor, long increment)
throws IOException {
Bucket realBucket = null;
- boolean isARAMBucket = false;
+ boolean useRAMBucket = false;
synchronized(this) {
if((size > 0) && (size <= maxRAMBucketSize) &&
(bytesInUse <= maxRamUsed)) {
- bytesInUse += size;
- isARAMBucket = true;
+ useRAMBucket = true;
}
}
// Do we want a RAMBucket or a FileBucket?
- realBucket = (isARAMBucket ? new RAMBucket(size) : new
TempFileBucket(filenameGenerator.makeRandomFilename(), filenameGenerator));
+ realBucket = (useRAMBucket ? new RAMBucket(size) : new
TempFileBucket(filenameGenerator.makeRandomFilename(), filenameGenerator));
// Do we want it to be encrypted?
realBucket = (!reallyEncrypt ? realBucket : new
PaddedEphemerallyEncryptedBucket(realBucket, 1024, strongPRNG, weakPRNG));