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));



Reply via email to