Package org.eclipse.jetty.io
Interface ByteBufferPool
-
- All Known Implementing Classes:
ArrayByteBufferPool,LeakTrackingByteBufferPool,LogarithmicArrayByteBufferPool,MappedByteBufferPool,MappedByteBufferPool.Tagged,NullByteBufferPool
public interface ByteBufferPoolA
ByteBufferpool.Acquired buffers may be
releasedbut they do not need to; if they are released, they may be recycled and reused, otherwise they will be garbage collected as usual.
-
-
Nested Class Summary
Nested Classes Modifier and Type Interface Description static classByteBufferPool.Bucketstatic classByteBufferPool.Lease
-
Method Summary
All Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description java.nio.ByteBufferacquire(int size, boolean direct)Requests aByteBufferof the given size.default java.nio.ByteBuffernewByteBuffer(int capacity, boolean direct)Creates a new ByteBuffer of the given capacity and the given directness.voidrelease(java.nio.ByteBuffer buffer)Returns aByteBuffer, usually obtained withacquire(int, boolean)(but not necessarily), making it available for recycling and reuse.default voidremove(java.nio.ByteBuffer buffer)Removes aByteBufferthat was previously obtained withacquire(int, boolean).
-
-
-
Method Detail
-
acquire
java.nio.ByteBuffer acquire(int size, boolean direct)Requests a
ByteBufferof the given size.The returned buffer may have a bigger capacity than the size being requested but it will have the limit set to the given size.
- Parameters:
size- the size of the bufferdirect- whether the buffer must be direct or not- Returns:
- the requested buffer
- See Also:
release(ByteBuffer)
-
release
void release(java.nio.ByteBuffer buffer)
Returns a
ByteBuffer, usually obtained withacquire(int, boolean)(but not necessarily), making it available for recycling and reuse.- Parameters:
buffer- the buffer to return- See Also:
acquire(int, boolean)
-
remove
default void remove(java.nio.ByteBuffer buffer)
Removes a
ByteBufferthat was previously obtained withacquire(int, boolean).The buffer will not be available for further reuse.
- Parameters:
buffer- the buffer to remove- See Also:
acquire(int, boolean),release(ByteBuffer)
-
newByteBuffer
default java.nio.ByteBuffer newByteBuffer(int capacity, boolean direct)Creates a new ByteBuffer of the given capacity and the given directness.
- Parameters:
capacity- the ByteBuffer capacitydirect- the ByteBuffer directness- Returns:
- a newly allocated ByteBuffer
-
-