public class RecordCompressor extends Object implements Externalizable, IRecordCompressor
IndexSegment
s. 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_COMPRESSION
public RecordCompressor()
public void compress(ByteBuffer bin, ByteBuffer out)
IRecordCompressor
compress
in interface IRecordCompressor
bin
- 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)
IRecordCompressor
compress
in interface IRecordCompressor
bin
- 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)
IRecordCompressor
compress
in interface IRecordCompressor
bin
- 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)
IRecordCompressor
compress
in interface IRecordCompressor
bytes
- The data.os
- The stream onto which the compressed data are written.public void compress(byte[] bytes, int off, int len, OutputStream os)
IRecordCompressor
compress
in interface IRecordCompressor
bytes
- 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)
IRecordCompressor
ByteBuffer
containing the record and return the
uncompressed state.decompress
in interface IRecordCompressor
bin
- The compressed data.public ByteBuffer decompress(byte[] bin)
IRecordCompressor
byte[]
containing the record and return the
uncompressed state.decompress
in interface IRecordCompressor
bin
- The compressed data.protected ByteBuffer decompress(InflaterInputStream iis)
public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException
readExternal
in interface Externalizable
IOException
ClassNotFoundException
public void writeExternal(ObjectOutput out) throws IOException
writeExternal
in interface Externalizable
IOException
Copyright © 2006–2019 SYSTAP, LLC DBA Blazegraph. All rights reserved.