public class FramedSnappyCompressorOutputStream extends CompressorOutputStream
Based on the "spec" in the version "Last revised: 2013-10-25"
Modifier and Type | Field and Description |
---|---|
private byte[] |
buffer |
private PureJavaCrc32C |
checksum |
private ByteUtils.ByteConsumer |
consumer |
private int |
currentIndex |
private static int |
MAX_COMPRESSED_BUFFER_SIZE |
private byte[] |
oneByte |
private java.io.OutputStream |
out |
private Parameters |
params |
Constructor and Description |
---|
FramedSnappyCompressorOutputStream(java.io.OutputStream out)
Constructs a new output stream that compresses
snappy-framed-compressed data to the specified output stream.
|
FramedSnappyCompressorOutputStream(java.io.OutputStream out,
Parameters params)
Constructs a new output stream that compresses
snappy-framed-compressed data to the specified output stream.
|
Modifier and Type | Method and Description |
---|---|
void |
close() |
void |
finish()
Compresses all remaining data and writes it to the stream,
doesn't close the underlying stream.
|
private void |
flushBuffer() |
(package private) static long |
mask(long x) |
void |
write(byte[] data,
int off,
int len) |
void |
write(int b) |
private void |
writeCrc() |
private void |
writeLittleEndian(int numBytes,
long num) |
private static final int MAX_COMPRESSED_BUFFER_SIZE
private final java.io.OutputStream out
private final Parameters params
private final PureJavaCrc32C checksum
private final byte[] oneByte
private final byte[] buffer
private int currentIndex
private final ByteUtils.ByteConsumer consumer
public FramedSnappyCompressorOutputStream(java.io.OutputStream out) throws java.io.IOException
out
- the OutputStream to which to write the compressed datajava.io.IOException
- if writing the signature failspublic FramedSnappyCompressorOutputStream(java.io.OutputStream out, Parameters params) throws java.io.IOException
out
- the OutputStream to which to write the compressed dataparams
- parameters used to fine-tune compression, in
particular to balance compression ratio vs compression speed.java.io.IOException
- if writing the signature failspublic void write(int b) throws java.io.IOException
write
in class java.io.OutputStream
java.io.IOException
public void write(byte[] data, int off, int len) throws java.io.IOException
write
in class java.io.OutputStream
java.io.IOException
public void close() throws java.io.IOException
close
in interface java.io.Closeable
close
in interface java.lang.AutoCloseable
close
in class java.io.OutputStream
java.io.IOException
public void finish() throws java.io.IOException
java.io.IOException
- if an error occursprivate void flushBuffer() throws java.io.IOException
java.io.IOException
private void writeLittleEndian(int numBytes, long num) throws java.io.IOException
java.io.IOException
private void writeCrc() throws java.io.IOException
java.io.IOException
static long mask(long x)