public class RecordCompressor extends Object implements Externalizable, IRecordCompressor
IndexSegments. The
compression and decompression operations of a given RecordCompressor
reuse a shared instance buffer. Any decompression result is valid only until
the next compression or decompression operation performed by that
RecordCompressor. When used in a single-threaded context this reduces
allocation while maximizing the opportunity for bulk transfers.
This class is NOT thread-safe.
| Modifier and Type | Field and Description |
|---|---|
protected static org.apache.log4j.Logger |
log |
| Constructor and Description |
|---|
RecordCompressor()
De-serialization constructor.
|
RecordCompressor(int level)
Create a record compressor.
|
| Modifier and Type | Method and Description |
|---|---|
void |
compress(byte[] bytes,
int off,
int len,
OutputStream os)
Compresses data onto the output stream.
|
void |
compress(byte[] bytes,
OutputStream os)
Compresses data onto the output stream.
|
ByteBuffer |
compress(ByteBuffer bin)
Compresses data onto the provided ByteBuffer.
|
void |
compress(ByteBuffer bin,
ByteBuffer out)
Compresses data onto the provided ByteBuffer.
|
void |
compress(ByteBuffer bin,
OutputStream os)
Compresses data onto the output stream.
|
ByteBuffer |
decompress(byte[] bin)
Decompress a
byte[] containing the record and return the
uncompressed state. |
ByteBuffer |
decompress(ByteBuffer bin)
Decompress a
ByteBuffer containing the record and return the
uncompressed state. |
protected ByteBuffer |
decompress(InflaterInputStream iis)
This decompresses data into a shared instance byte[].
|
void |
readExternal(ObjectInput in) |
String |
toString() |
void |
writeExternal(ObjectOutput out) |
public RecordCompressor(int level)
level - The compression level.Deflater.BEST_SPEED,
Deflater.BEST_COMPRESSIONpublic RecordCompressor()
public void compress(ByteBuffer bin, ByteBuffer out)
IRecordCompressorcompress in interface IRecordCompressorbin - The data. The data from the position to the limit will be
compressed. The position will be advanced to the limit as a
side effect.out - The ByteBuffer into which the compressed data is writtenpublic ByteBuffer compress(ByteBuffer bin)
IRecordCompressorcompress in interface IRecordCompressorbin - The data. The data from the position to the limit will be
compressed. The position will be advanced to the limit as a
side effect.public void compress(ByteBuffer bin, OutputStream os)
IRecordCompressorcompress in interface IRecordCompressorbin - The data. The data from the position to the limit will be
compressed. The position will be advanced to the limit as a
side effect.os - The stream onto which the compressed data are written.public void compress(byte[] bytes,
OutputStream os)
IRecordCompressorcompress in interface IRecordCompressorbytes - The data.os - The stream onto which the compressed data are written.public void compress(byte[] bytes,
int off,
int len,
OutputStream os)
IRecordCompressorcompress in interface IRecordCompressorbytes - The source data.off - The offset of the first source byte that will be compressed
onto the output stream.len - The #of source bytes that will be compressed onto the output
stream.os - The stream onto which the compressed data are written.public ByteBuffer decompress(ByteBuffer bin)
IRecordCompressorByteBuffer containing the record and return the
uncompressed state.decompress in interface IRecordCompressorbin - The compressed data.public ByteBuffer decompress(byte[] bin)
IRecordCompressorbyte[] containing the record and return the
uncompressed state.decompress in interface IRecordCompressorbin - The compressed data.protected ByteBuffer decompress(InflaterInputStream iis)
public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException
readExternal in interface ExternalizableIOExceptionClassNotFoundExceptionpublic void writeExternal(ObjectOutput out) throws IOException
writeExternal in interface ExternalizableIOExceptionCopyright © 2006–2019 SYSTAP, LLC DBA Blazegraph. All rights reserved.