Package org.xerial.snappy.pool
Interface BufferPool
-
- All Known Implementing Classes:
CachingBufferPool
,QuiescentBufferPool
public interface BufferPool
Makes various types of buffers available for use and potential re-use.Implementations must be safe for concurrent use by multiple threads.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description byte[]
allocateArray(int size)
Returns abyte[]
of size or greater length.java.nio.ByteBuffer
allocateDirect(int size)
Returns adirect ByteBuffer
of size or greatercapacity
.void
releaseArray(byte[] buffer)
Returns instance to pool for potential future reuse.void
releaseDirect(java.nio.ByteBuffer buffer)
Returns instance to pool for potential future reuse.
-
-
-
Method Detail
-
allocateArray
byte[] allocateArray(int size)
Returns abyte[]
of size or greater length.- Parameters:
size
- The minimum size array required. Must be>= 0
.- Returns:
- A
byte[]
with length of at least size. - See Also:
releaseArray(byte[])
-
releaseArray
void releaseArray(byte[] buffer)
Returns instance to pool for potential future reuse.Must not be returned more than 1 time. Must not be used by caller after return.
- Parameters:
buffer
- Instance to return to pool. Must not benull
. Must not be returned more than 1 time. Must not be used by caller after return.
-
allocateDirect
java.nio.ByteBuffer allocateDirect(int size)
Returns adirect ByteBuffer
of size or greatercapacity
.- Parameters:
size
- The minimum size buffer required. Must be>= 0
.- Returns:
- A
ByteBuffer
of size or greatercapacity
. - See Also:
releaseDirect(ByteBuffer)
,ByteBuffer.allocateDirect(int)
-
releaseDirect
void releaseDirect(java.nio.ByteBuffer buffer)
Returns instance to pool for potential future reuse.Must not be returned more than 1 time. Must not be used by caller after return.
- Parameters:
buffer
- Instance to return to pool. Must not benull
. Must not be returned more than 1 time. Must not be used by caller after return.
-
-