com.ning.compress.lzf
Class BufferRecycler

java.lang.Object
  extended by com.ning.compress.lzf.BufferRecycler

public class BufferRecycler
extends Object

Simple helper class to encapsulate details of basic buffer recycling scheme, which helps a lot (as per profiling) for smaller encoding cases.

Author:
tatu

Field Summary
protected static ThreadLocal<SoftReference<BufferRecycler>> _recyclerRef
          This ThreadLocal contains a SoftRerefence to a BufferRecycler used to provide a low-cost buffer recycling for buffers we need for encoding, decoding.
 
Constructor Summary
BufferRecycler()
           
 
Method Summary
 byte[] allocDecodeBuffer(int size)
           
 byte[] allocEncodingBuffer(int minSize)
           
 int[] allocEncodingHash(int suggestedSize)
           
 byte[] allocInputBuffer(int minSize)
           
 byte[] allocOutputBuffer(int minSize)
           
static BufferRecycler instance()
          Accessor to get thread-local recycler instance
 void releaseDecodeBuffer(byte[] buffer)
           
 void releaseEncodeBuffer(byte[] buffer)
           
 void releaseEncodingHash(int[] buffer)
           
 void releaseInputBuffer(byte[] buffer)
           
 void releaseOutputBuffer(byte[] buffer)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

_recyclerRef

protected static final ThreadLocal<SoftReference<BufferRecycler>> _recyclerRef
This ThreadLocal contains a SoftRerefence to a BufferRecycler used to provide a low-cost buffer recycling for buffers we need for encoding, decoding.

Constructor Detail

BufferRecycler

public BufferRecycler()
Method Detail

instance

public static BufferRecycler instance()
Accessor to get thread-local recycler instance


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)


Copyright © 2011. All Rights Reserved.