2727import static org .lmdbjava .UnsafeAccess .UNSAFE ;
2828
2929import java .nio .ByteBuffer ;
30+ import java .util .ArrayDeque ;
3031
3132import jnr .ffi .Pointer ;
3233import org .agrona .DirectBuffer ;
3334import org .agrona .MutableDirectBuffer ;
34- import org .agrona .concurrent .OneToOneConcurrentArrayQueue ;
3535import org .agrona .concurrent .UnsafeBuffer ;
3636
3737/**
@@ -55,8 +55,8 @@ public final class DirectBufferProxy extends BufferProxy<DirectBuffer> {
5555 * of a negative length) then that buffer is used. If no valid buffer is
5656 * found, a new buffer is created.
5757 */
58- private static final ThreadLocal <OneToOneConcurrentArrayQueue <DirectBuffer >>BUFFERS
59- =withInitial (() ->new OneToOneConcurrentArrayQueue <>(16 ));
58+ private static final ThreadLocal <ArrayDeque <DirectBuffer >>BUFFERS
59+ =withInitial (() ->new ArrayDeque <>(16 ));
6060
6161private DirectBufferProxy () {
6262 }
@@ -100,7 +100,7 @@ public static int compareBuff(final DirectBuffer o1, final DirectBuffer o2) {
100100
101101@ Override
102102protected DirectBuffer allocate () {
103- final OneToOneConcurrentArrayQueue <DirectBuffer >q =BUFFERS .get ();
103+ final ArrayDeque <DirectBuffer >q =BUFFERS .get ();
104104final DirectBuffer buffer =q .poll ();
105105
106106if (buffer !=null &&buffer .capacity () >=0 ) {
@@ -118,7 +118,7 @@ protected int compare(final DirectBuffer o1, final DirectBuffer o2) {
118118
119119@ Override
120120protected void deallocate (final DirectBuffer buff ) {
121- final OneToOneConcurrentArrayQueue <DirectBuffer >q =BUFFERS .get ();
121+ final ArrayDeque <DirectBuffer >q =BUFFERS .get ();
122122q .offer (buff );
123123 }
124124