Class ElasticByteBufferPool

  extended by
All Implemented Interfaces:

public final class ElasticByteBufferPool
extends Object
implements ByteBufferPool

This is a simple ByteBufferPool which just creates ByteBuffers as needed. It also caches ByteBuffers after they're released. It will always return the smallest cached buffer with at least the capacity you request. We don't try to do anything clever here like try to limit the maximum cache size.

Constructor Summary
Method Summary
 ByteBuffer getBuffer(boolean direct, int length)
          Get a new direct ByteBuffer.
 void putBuffer(ByteBuffer buffer)
          Release a buffer back to the pool.
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Constructor Detail


public ElasticByteBufferPool()
Method Detail


public ByteBuffer getBuffer(boolean direct,
                            int length)
Description copied from interface: ByteBufferPool
Get a new direct ByteBuffer. The pool can provide this from removing a buffer from its internal cache, or by allocating a new buffer.

Specified by:
getBuffer in interface ByteBufferPool
direct - Whether the buffer should be direct.
length - The minimum length the buffer will have.
A new ByteBuffer. This ByteBuffer must be direct. Its capacity can be less than what was requested, but must be at least 1 byte.


public void putBuffer(ByteBuffer buffer)
Description copied from interface: ByteBufferPool
Release a buffer back to the pool. The pool may choose to put this buffer into its cache.

Specified by:
putBuffer in interface ByteBufferPool
buffer - a direct bytebuffer

Copyright © 2014 Apache Software Foundation. All Rights Reserved.