BlockBucket bucketSingle = new BlockBucket("single", bytesToFree, blockSize, singleSize()); BlockBucket bucketMulti = new BlockBucket("multi", bytesToFree, blockSize, multiSize()); BlockBucket bucketMemory = new BlockBucket("memory", bytesToFree, blockSize, memorySize()); switch (cachedBlock.getPriority()) { case SINGLE: { bucketSingle.add(cachedBlock); break; bucketMulti.add(cachedBlock); break; bucketMemory.add(cachedBlock); break; long s = bucketSingle.totalSize(); long m = bucketMulti.totalSize(); if (bytesToFree > (s + m)) { bytesFreed = bucketSingle.free(s); bytesFreed += bucketMulti.free(m); if (LOG.isTraceEnabled()) { LOG.trace("freed " + StringUtils.byteDesc(bytesFreed) + " from single and multi buckets"); bytesFreed += bucketMemory.free(bytesToFree - bytesFreed); if (LOG.isTraceEnabled()) { LOG.trace("freed " + StringUtils.byteDesc(bytesFreed) +
BlockBucket bucketSingle = new BlockBucket("single", bytesToFree, blockSize, singleSize()); BlockBucket bucketMulti = new BlockBucket("multi", bytesToFree, blockSize, multiSize()); BlockBucket bucketMemory = new BlockBucket("memory", bytesToFree, blockSize, memorySize()); switch(cachedBlock.getPriority()) { case SINGLE: { bucketSingle.add(cachedBlock); break; bucketMulti.add(cachedBlock); break; bucketMemory.add(cachedBlock); break; long s = bucketSingle.totalSize(); long m = bucketMulti.totalSize(); if (bytesToFree > (s + m)) { bytesFreed = bucketSingle.free(s); bytesFreed += bucketMulti.free(m); if (LOG.isTraceEnabled()) { LOG.trace("freed " + StringUtils.byteDesc(bytesFreed) + " from single and multi buckets"); bytesFreed += bucketMemory.free(bytesToFree - bytesFreed);
BlockBucket bucketSingle = new BlockBucket(bytesToFree, blockSize, singleSize()); BlockBucket bucketMulti = new BlockBucket(bytesToFree, blockSize, multiSize()); BlockBucket bucketMemory = new BlockBucket(bytesToFree, blockSize, memorySize()); switch(cachedBlock.getPriority()) { case SINGLE: { bucketSingle.add(cachedBlock); break; bucketMulti.add(cachedBlock); break; bucketMemory.add(cachedBlock); break; long overflow = bucket.overflow(); if(overflow > 0) { long bucketBytesToFree = Math.min(overflow, (bytesToFree - bytesFreed) / remainingBuckets); bytesFreed += bucket.free(bucketBytesToFree); long single = bucketSingle.totalSize(); long multi = bucketMulti.totalSize(); long memory = bucketMemory.totalSize(); LOG.debug("Block cache LRU eviction completed; " + "freed=" + StringUtils.byteDesc(bytesFreed) + ", " +
@Override public boolean equals(Object that) { if (that == null || !(that instanceof BlockBucket)){ return false; } return compareTo((BlockBucket)that) == 0; }
@Override public boolean equals(Object that) { if (that == null || !(that instanceof BlockBucket)) { return false; } return compareTo((BlockBucket)that) == 0; }