Package com.linkedin.venice.compression
Class VeniceCompressor
- java.lang.Object
-
- com.linkedin.venice.compression.VeniceCompressor
-
- All Implemented Interfaces:
java.io.Closeable
,java.lang.AutoCloseable
- Direct Known Subclasses:
GzipCompressor
,NoopCompressor
,ZstdWithDictCompressor
public abstract class VeniceCompressor extends java.lang.Object implements java.io.Closeable
-
-
Field Summary
Fields Modifier and Type Field Description protected static int
SCHEMA_HEADER_LENGTH
-
Constructor Summary
Constructors Modifier Constructor Description protected
VeniceCompressor(CompressionStrategy compressionStrategy)
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description void
close()
abstract byte[]
compress(byte[] data)
abstract java.nio.ByteBuffer
compress(java.nio.ByteBuffer src, int startPositionOfOutput)
abstract java.nio.ByteBuffer
decompress(byte[] data, int offset, int length)
abstract java.io.InputStream
decompress(java.io.InputStream inputStream)
abstract java.nio.ByteBuffer
decompress(java.nio.ByteBuffer data)
abstract java.nio.ByteBuffer
decompressAndPrependSchemaHeader(byte[] data, int offset, int length, int schemaHeader)
This method tries to decompress data and maybe prepend the schema header.CompressionStrategy
getCompressionStrategy()
-
-
-
Field Detail
-
SCHEMA_HEADER_LENGTH
protected static final int SCHEMA_HEADER_LENGTH
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
VeniceCompressor
protected VeniceCompressor(CompressionStrategy compressionStrategy)
-
-
Method Detail
-
compress
public abstract byte[] compress(byte[] data) throws java.io.IOException
- Throws:
java.io.IOException
-
compress
public abstract java.nio.ByteBuffer compress(java.nio.ByteBuffer src, int startPositionOfOutput) throws java.io.IOException
- Throws:
java.io.IOException
-
decompress
public abstract java.nio.ByteBuffer decompress(java.nio.ByteBuffer data) throws java.io.IOException
- Throws:
java.io.IOException
-
decompress
public abstract java.nio.ByteBuffer decompress(byte[] data, int offset, int length) throws java.io.IOException
- Throws:
java.io.IOException
-
decompressAndPrependSchemaHeader
public abstract java.nio.ByteBuffer decompressAndPrependSchemaHeader(byte[] data, int offset, int length, int schemaHeader) throws java.io.IOException
This method tries to decompress data and maybe prepend the schema header. The returned ByteBuffer will be backed by byte array that starts with schema header, followed by the decompressed data. The ByteBuffer will be positioned at the beginning of the decompressed data and the remaining of the ByteBuffer will be the length of the decompressed data.- Throws:
java.io.IOException
-
getCompressionStrategy
public CompressionStrategy getCompressionStrategy()
-
decompress
public abstract java.io.InputStream decompress(java.io.InputStream inputStream) throws java.io.IOException
- Throws:
java.io.IOException
-
close
public void close() throws java.io.IOException
- Specified by:
close
in interfacejava.lang.AutoCloseable
- Specified by:
close
in interfacejava.io.Closeable
- Throws:
java.io.IOException
-
-