diff --git a/src/main/java/org/lmdbjava/DirectBufferProxy.java b/src/main/java/org/lmdbjava/DirectBufferProxy.java index 3073fd64..62852577 100644 --- a/src/main/java/org/lmdbjava/DirectBufferProxy.java +++ b/src/main/java/org/lmdbjava/DirectBufferProxy.java @@ -27,11 +27,11 @@ import static org.lmdbjava.UnsafeAccess.UNSAFE; import java.nio.ByteBuffer; +import java.util.ArrayDeque; import jnr.ffi.Pointer; import org.agrona.DirectBuffer; import org.agrona.MutableDirectBuffer; -import org.agrona.concurrent.OneToOneConcurrentArrayQueue; import org.agrona.concurrent.UnsafeBuffer; /** @@ -55,8 +55,8 @@ public final class DirectBufferProxy extends BufferProxy { * of a negative length) then that buffer is used. If no valid buffer is * found, a new buffer is created. */ - private static final ThreadLocal> BUFFERS - = withInitial(() -> new OneToOneConcurrentArrayQueue<>(16)); + private static final ThreadLocal> BUFFERS + = withInitial(() -> new ArrayDeque<>(16)); private DirectBufferProxy() { } @@ -100,7 +100,7 @@ public static int compareBuff(final DirectBuffer o1, final DirectBuffer o2) { @Override protected DirectBuffer allocate() { - final OneToOneConcurrentArrayQueue q = BUFFERS.get(); + final ArrayDeque q = BUFFERS.get(); final DirectBuffer buffer = q.poll(); if (buffer != null && buffer.capacity() >= 0) { @@ -118,7 +118,7 @@ protected int compare(final DirectBuffer o1, final DirectBuffer o2) { @Override protected void deallocate(final DirectBuffer buff) { - final OneToOneConcurrentArrayQueue q = BUFFERS.get(); + final ArrayDeque q = BUFFERS.get(); q.offer(buff); }