diff --git a/src/main/java/eu/mikroskeem/uurimustoo/algoritmidetest/algoritmid/LZ4HC.java b/src/main/java/eu/mikroskeem/uurimustoo/algoritmidetest/algoritmid/LZ4HC.java new file mode 100644 index 0000000..8456b76 --- /dev/null +++ b/src/main/java/eu/mikroskeem/uurimustoo/algoritmidetest/algoritmid/LZ4HC.java @@ -0,0 +1,26 @@ +package eu.mikroskeem.uurimustoo.algoritmidetest.algoritmid; + +import lombok.Getter; +import net.jpountz.lz4.LZ4Compressor; +import net.jpountz.lz4.LZ4Factory; +import net.jpountz.lz4.LZ4SafeDecompressor; + +/** + * @author Mark Vainomaa + */ +public class LZ4HC extends AbstractAlgorithm { + @Getter private final String name = "LZ4 HC"; + private final LZ4Factory factory = LZ4Factory.fastestInstance(); + + @Override + public byte[] compress(byte[] input) { + LZ4Compressor compressor = factory.highCompressor(17); // From LZ4Constants + return compressor.compress(input); + } + + @Override + public byte[] decompress(byte[] input) { + LZ4SafeDecompressor decompressor = factory.safeDecompressor(); + return decompressor.decompress(input, 8192); + } +}