Top Description Methods
org.xerial.snappy.pool

public Interface BufferPool

Known Direct Implementers
org.xerial.snappy.pool.CachingBufferPool, org.xerial.snappy.pool.QuiescentBufferPool
Imports
java.nio.ByteBuffer

Makes various types of buffers available for use and potential re-use.

Implementations must be safe for concurrent use by multiple threads.

Author
Brett Okken

Method Summary

Modifier and TypeMethod and Description
public byte[]

Returns:

A byte[] with length of at least size.
allocateArray
(int
The minimum size array required. Must be >= 0.
size
)

Returns a byte[] of size or greater length.

public ByteBuffer

Returns:

A ByteBuffer of size or greater capacity.
allocateDirect
(int
The minimum size buffer required. Must be >= 0.
size
)

Returns a direct ByteBuffer of size or greater capacity.

public void
releaseArray(byte[]
Instance to return to pool. Must not be null. Must not be returned more than 1 time. Must not be used by caller after return.
buffer
)

Returns instance to pool for potential future reuse.

public void
releaseDirect(ByteBuffer
Instance to return to pool. Must not be null. Must not be returned more than 1 time. Must not be used by caller after return.
buffer
)

Returns instance to pool for potential future reuse.

Method Detail

allocateArrayback to summary
public byte[] allocateArray(int size)

Returns a byte[] of size or greater length.

Parameters
size:int

The minimum size array required. Must be >= 0.

Returns:byte[]

A byte[] with length of at least size.

See Also
releaseArray(byte[])
allocateDirectback to summary
public ByteBuffer allocateDirect(int size)

Returns a direct ByteBuffer of size or greater capacity.

Parameters
size:int

The minimum size buffer required. Must be >= 0.

Returns:ByteBuffer

A ByteBuffer of size or greater capacity.

See Also
releaseDirect(ByteBuffer), ByteBuffer#allocateDirect(int)
releaseArrayback to summary
public 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:byte[]

Instance to return to pool. Must not be null. Must not be returned more than 1 time. Must not be used by caller after return.

releaseDirectback to summary
public void releaseDirect(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:ByteBuffer

Instance to return to pool. Must not be null. Must not be returned more than 1 time. Must not be used by caller after return.