Author: bperroud
Date: Fri Mar 2 13:00:54 2012
New Revision: 1296184
URL: http://svn.apache.org/viewvc?rev=1296184&view=rev
Log:
Replacing Set by List as size is know and only iteration is performed, adding
more comment
Modified:
incubator/directmemory/trunk/directmemory-cache/src/main/java/org/apache/directmemory/memory/allocator/FixedSizeByteBufferAllocatorImpl.java
incubator/directmemory/trunk/directmemory-cache/src/main/java/org/apache/directmemory/memory/allocator/MergingByteBufferAllocatorImpl.java
Modified:
incubator/directmemory/trunk/directmemory-cache/src/main/java/org/apache/directmemory/memory/allocator/FixedSizeByteBufferAllocatorImpl.java
URL:
http://svn.apache.org/viewvc/incubator/directmemory/trunk/directmemory-cache/src/main/java/org/apache/directmemory/memory/allocator/FixedSizeByteBufferAllocatorImpl.java?rev=1296184&r1=1296183&r2=1296184&view=diff
==============================================================================
---
incubator/directmemory/trunk/directmemory-cache/src/main/java/org/apache/directmemory/memory/allocator/FixedSizeByteBufferAllocatorImpl.java
(original)
+++
incubator/directmemory/trunk/directmemory-cache/src/main/java/org/apache/directmemory/memory/allocator/FixedSizeByteBufferAllocatorImpl.java
Fri Mar 2 13:00:54 2012
@@ -21,10 +21,10 @@ package org.apache.directmemory.memory.a
import java.nio.BufferOverflowException;
import java.nio.ByteBuffer;
-import java.util.HashSet;
+import java.util.ArrayList;
+import java.util.List;
import java.util.Map;
import java.util.Queue;
-import java.util.Set;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ConcurrentLinkedQueue;
@@ -42,7 +42,7 @@ public class FixedSizeByteBufferAllocato
{
// Collection that keeps track of the parent buffers (segments) where
slices are allocated
- private final Set<ByteBuffer> segmentsBuffers = new HashSet<ByteBuffer>();
+ private final List<ByteBuffer> segmentsBuffers;
// Collection that owns all slices that can be used.
private final Queue<ByteBuffer> freeBuffers = new
ConcurrentLinkedQueue<ByteBuffer>();
@@ -77,6 +77,8 @@ public class FixedSizeByteBufferAllocato
this.totalSize = totalSize;
this.sliceSize = sliceSize;
+ this.segmentsBuffers = new ArrayList<ByteBuffer>(numberOfSegments);
+
init( numberOfSegments );
}
Modified:
incubator/directmemory/trunk/directmemory-cache/src/main/java/org/apache/directmemory/memory/allocator/MergingByteBufferAllocatorImpl.java
URL:
http://svn.apache.org/viewvc/incubator/directmemory/trunk/directmemory-cache/src/main/java/org/apache/directmemory/memory/allocator/MergingByteBufferAllocatorImpl.java?rev=1296184&r1=1296183&r2=1296184&view=diff
==============================================================================
---
incubator/directmemory/trunk/directmemory-cache/src/main/java/org/apache/directmemory/memory/allocator/MergingByteBufferAllocatorImpl.java
(original)
+++
incubator/directmemory/trunk/directmemory-cache/src/main/java/org/apache/directmemory/memory/allocator/MergingByteBufferAllocatorImpl.java
Fri Mar 2 13:00:54 2012
@@ -233,6 +233,7 @@ public class MergingByteBufferAllocatorI
linkedBuffer.getBefore().setAfter(
returnedLinkedBuffer );
}
+ // Insert the remaining buffer into the structure
parentBuffer.clear();
parentBuffer.position( linkedBuffer.getOffset() +
size );
parentBuffer.limit( linkedBuffer.getOffset() +
linkedBuffer.getBuffer().capacity() );