Package org.xerial.snappy.pool
Class QuiescentBufferPool
- java.lang.Object
-
- org.xerial.snappy.pool.QuiescentBufferPool
-
- All Implemented Interfaces:
BufferPool
public final class QuiescentBufferPool extends java.lang.Object implements BufferPool
ABufferPool
implementation which does no pooling. New instances will be created for each call to allocate.
-
-
Field Summary
Fields Modifier and Type Field Description private static QuiescentBufferPool
INSTANCE
-
Constructor Summary
Constructors Modifier Constructor Description private
QuiescentBufferPool()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description byte[]
allocateArray(int size)
Creates a newbyte[]
of size.java.nio.ByteBuffer
allocateDirect(int size)
Allocates
a directByteBuffer
of size.static BufferPool
getInstance()
void
releaseArray(byte[] buffer)
Does nothing.void
releaseDirect(java.nio.ByteBuffer buffer)
Aggressively releases native resources associated with buffer.
-
-
-
Field Detail
-
INSTANCE
private static final QuiescentBufferPool INSTANCE
-
-
Method Detail
-
getInstance
public static BufferPool getInstance()
- Returns:
- Instance of
BufferPool
which does no caching/reuse of instances.
-
allocateArray
public byte[] allocateArray(int size)
Creates a newbyte[]
of size.- Specified by:
allocateArray
in interfaceBufferPool
- Parameters:
size
- The minimum size array required. Must be>= 0
.- Returns:
- A
byte[]
with length of at least size. - See Also:
BufferPool.releaseArray(byte[])
-
releaseArray
public void releaseArray(byte[] buffer)
Does nothing.- Specified by:
releaseArray
in interfaceBufferPool
- 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
public java.nio.ByteBuffer allocateDirect(int size)
Allocates
a directByteBuffer
of size.- Specified by:
allocateDirect
in interfaceBufferPool
- Parameters:
size
- The minimum size buffer required. Must be>= 0
.- Returns:
- A
ByteBuffer
of size or greatercapacity
. - See Also:
BufferPool.releaseDirect(ByteBuffer)
,ByteBuffer.allocateDirect(int)
-
releaseDirect
public void releaseDirect(java.nio.ByteBuffer buffer)
Aggressively releases native resources associated with buffer.- Specified by:
releaseDirect
in interfaceBufferPool
- 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.
-
-