diff options
author | Henning Baldersheim <balder@yahoo-inc.com> | 2021-05-07 18:42:07 +0200 |
---|---|---|
committer | Henning Baldersheim <balder@yahoo-inc.com> | 2021-05-07 18:42:07 +0200 |
commit | 6801c04529016e88e56e313fe669af29086bf1e7 (patch) | |
tree | d60989720b5a40e619e9b1943cfff76ced53f3f1 /config/src | |
parent | 1cd09a5f441e7ec7252209b8d0090892c271cc56 (diff) |
Add ByteBuffer to the interface to prepare for less copying of data.
Diffstat (limited to 'config/src')
-rw-r--r-- | config/src/main/java/com/yahoo/vespa/config/LZ4PayloadCompressor.java | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/config/src/main/java/com/yahoo/vespa/config/LZ4PayloadCompressor.java b/config/src/main/java/com/yahoo/vespa/config/LZ4PayloadCompressor.java index 688d6d54888..03e08e039ae 100644 --- a/config/src/main/java/com/yahoo/vespa/config/LZ4PayloadCompressor.java +++ b/config/src/main/java/com/yahoo/vespa/config/LZ4PayloadCompressor.java @@ -5,6 +5,8 @@ import com.yahoo.compress.CompressionType; import com.yahoo.compress.Compressor; import com.yahoo.vespa.config.util.ConfigUtils; +import java.nio.ByteBuffer; + /** * Wrapper for LZ4 compression that selects compression level based on properties. * @@ -24,9 +26,17 @@ public class LZ4PayloadCompressor { public byte[] compress(byte[] input) { return compressor.compressUnconditionally(input); } + public byte[] compress(ByteBuffer input) { + return compressor.compressUnconditionally(input); + } public byte [] decompress(byte[] input, int uncompressedLen) { return compressor.decompressUnconditionally(input, 0, uncompressedLen); } + public byte [] decompress(ByteBuffer input, int uncompressedLen) { + ByteBuffer uncompressed = ByteBuffer.allocate(uncompressedLen); + compressor.decompressUnconditionally(input, uncompressed); + return uncompressed.array(); + } } |