org.elasticsearch.common.compress.lzf
Class BufferRecycler
java.lang.Object
org.elasticsearch.common.compress.lzf.BufferRecycler
public class BufferRecycler
- extends java.lang.Object
Simple helper class to encapsulate details of basic buffer
recycling scheme, which helps a lot (as per profiling) for
smaller encoding cases.
Field Summary |
protected static java.lang.ThreadLocal<java.lang.ref.SoftReference<BufferRecycler>> |
_recyclerRef
This ThreadLocal contains a java.lang.ref.SoftRerefence
to a BufferRecycler used to provide a low-cost
buffer recycling for buffers we need for encoding, decoding. |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
_recyclerRef
protected static final java.lang.ThreadLocal<java.lang.ref.SoftReference<BufferRecycler>> _recyclerRef
- This
ThreadLocal
contains a java.lang.ref.SoftRerefence
to a BufferRecycler
used to provide a low-cost
buffer recycling for buffers we need for encoding, decoding.
BufferRecycler
public BufferRecycler()
instance
public static BufferRecycler instance()
- Accessor to get thread-local recycler instance
clean
public static void clean()
allocEncodingBuffer
public byte[] allocEncodingBuffer(int minSize)
releaseEncodeBuffer
public void releaseEncodeBuffer(byte[] buffer)
allocOutputBuffer
public byte[] allocOutputBuffer(int minSize)
releaseOutputBuffer
public void releaseOutputBuffer(byte[] buffer)
allocEncodingHash
public int[] allocEncodingHash(int suggestedSize)
releaseEncodingHash
public void releaseEncodingHash(int[] buffer)
allocInputBuffer
public byte[] allocInputBuffer(int minSize)
releaseInputBuffer
public void releaseInputBuffer(byte[] buffer)
allocDecodeBuffer
public byte[] allocDecodeBuffer(int size)
releaseDecodeBuffer
public void releaseDecodeBuffer(byte[] buffer)