From 82ea2f0175632be834c9d3b9055b75600d7d945a Mon Sep 17 00:00:00 2001 From: Walter Oggioni Date: Sun, 26 Apr 2020 22:14:31 +0100 Subject: [PATCH] more friendly public API --- ...rameter.java => CompressionParameter.java} | 2 +- ...TD_EndDirective.java => EndDirective.java} | 8 ++-- .../java/net/woggioni/jzstd/ErrorCode.java | 32 +++++++++++++ .../net/woggioni/jzstd/ResetDirective.java | 13 +++++ .../woggioni/jzstd/ZSTD_ResetDirective.java | 13 ----- .../woggioni/jzstd/ZstdCompressionCtx.java | 22 +++++++++ .../woggioni/jzstd/ZstdDecompressionCtx.java | 18 +++++++ .../net/woggioni/jzstd/ZstdException.java | 11 +++++ .../net/woggioni/jzstd/ZstdInputStream.java | 12 ++--- .../net/woggioni/jzstd/ZstdOutputStream.java | 37 +++++++------- .../jzstd/{ => internal}/ZSTD_CCtx.java | 2 +- .../jzstd/{ => internal}/ZSTD_CDict.java | 2 +- .../jzstd/{ => internal}/ZSTD_DCtx.java | 2 +- .../jzstd/{ => internal}/ZSTD_DDict.java | 2 +- .../jzstd/internal/ZSTD_ErrorCode.java | 32 ------------- .../jzstd/{ => internal}/ZSTD_bounds.java | 3 +- .../woggioni/jzstd/internal/ZstdLibrary.java | 48 +++++++++++-------- 17 files changed, 157 insertions(+), 102 deletions(-) rename src/main/java/net/woggioni/jzstd/{ZSTD_cParameter.java => CompressionParameter.java} (94%) rename src/main/java/net/woggioni/jzstd/{ZSTD_EndDirective.java => EndDirective.java} (56%) create mode 100644 src/main/java/net/woggioni/jzstd/ErrorCode.java create mode 100644 src/main/java/net/woggioni/jzstd/ResetDirective.java delete mode 100644 src/main/java/net/woggioni/jzstd/ZSTD_ResetDirective.java create mode 100644 src/main/java/net/woggioni/jzstd/ZstdCompressionCtx.java create mode 100644 src/main/java/net/woggioni/jzstd/ZstdDecompressionCtx.java create mode 100644 src/main/java/net/woggioni/jzstd/ZstdException.java rename src/main/java/net/woggioni/jzstd/{ => internal}/ZSTD_CCtx.java (68%) rename src/main/java/net/woggioni/jzstd/{ => internal}/ZSTD_CDict.java (68%) rename src/main/java/net/woggioni/jzstd/{ => internal}/ZSTD_DCtx.java (68%) rename src/main/java/net/woggioni/jzstd/{ => internal}/ZSTD_DDict.java (68%) delete mode 100644 src/main/java/net/woggioni/jzstd/internal/ZSTD_ErrorCode.java rename src/main/java/net/woggioni/jzstd/{ => internal}/ZSTD_bounds.java (81%) diff --git a/src/main/java/net/woggioni/jzstd/ZSTD_cParameter.java b/src/main/java/net/woggioni/jzstd/CompressionParameter.java similarity index 94% rename from src/main/java/net/woggioni/jzstd/ZSTD_cParameter.java rename to src/main/java/net/woggioni/jzstd/CompressionParameter.java index e6d0fa7..4dffcfb 100644 --- a/src/main/java/net/woggioni/jzstd/ZSTD_cParameter.java +++ b/src/main/java/net/woggioni/jzstd/CompressionParameter.java @@ -3,7 +3,7 @@ package net.woggioni.jzstd; import lombok.RequiredArgsConstructor; @RequiredArgsConstructor -public enum ZSTD_cParameter { +public enum CompressionParameter { compressionLevel(100), windowLog(101), hashLog(102), diff --git a/src/main/java/net/woggioni/jzstd/ZSTD_EndDirective.java b/src/main/java/net/woggioni/jzstd/EndDirective.java similarity index 56% rename from src/main/java/net/woggioni/jzstd/ZSTD_EndDirective.java rename to src/main/java/net/woggioni/jzstd/EndDirective.java index bee496f..f27d304 100644 --- a/src/main/java/net/woggioni/jzstd/ZSTD_EndDirective.java +++ b/src/main/java/net/woggioni/jzstd/EndDirective.java @@ -3,10 +3,10 @@ package net.woggioni.jzstd; import lombok.RequiredArgsConstructor; @RequiredArgsConstructor -public enum ZSTD_EndDirective { - ZSTD_e_continue(0), - ZSTD_e_flush(1), - ZSTD_e_end(2); +public enum EndDirective { + Continue(0), + Flush(1), + End(2); public final int value; } diff --git a/src/main/java/net/woggioni/jzstd/ErrorCode.java b/src/main/java/net/woggioni/jzstd/ErrorCode.java new file mode 100644 index 0000000..000a47f --- /dev/null +++ b/src/main/java/net/woggioni/jzstd/ErrorCode.java @@ -0,0 +1,32 @@ +package net.woggioni.jzstd; + +import lombok.RequiredArgsConstructor; + +@RequiredArgsConstructor +public enum ErrorCode { + error_no_error(0), + error_GENERIC(1), + error_prefix_unknown(10), + error_version_unsupported(12), + error_frameParameter_unsupported(14), + error_frameParameter_windowTooLarge(16), + error_corruption_detected(20), + error_checksum_wrong(22), + error_dictionary_corrupted(30), + error_dictionary_wrong(32), + error_dictionaryCreation_failed(34), + error_parameter_unsupported(40), + error_parameter_outOfBound(42), + error_tableLog_tooLarge(44), + error_maxSymbolValue_tooLarge(46), + error_maxSymbolValue_tooSmall(48), + error_stage_wrong(60), + error_init_missing(62), + error_memory_allocation(64), + error_workSpace_tooSmall(66), + error_dstSize_tooSmall(70), + error_srcSize_wrong(72), + error_dstBuffer_null(74); + + public final int value; +} \ No newline at end of file diff --git a/src/main/java/net/woggioni/jzstd/ResetDirective.java b/src/main/java/net/woggioni/jzstd/ResetDirective.java new file mode 100644 index 0000000..3de0c33 --- /dev/null +++ b/src/main/java/net/woggioni/jzstd/ResetDirective.java @@ -0,0 +1,13 @@ +package net.woggioni.jzstd; + + +import lombok.RequiredArgsConstructor; + +@RequiredArgsConstructor +public enum ResetDirective { + reset_session_only(1), + reset_parameters(2), + reset_session_and_parameters(3); + + public final int value; +} diff --git a/src/main/java/net/woggioni/jzstd/ZSTD_ResetDirective.java b/src/main/java/net/woggioni/jzstd/ZSTD_ResetDirective.java deleted file mode 100644 index cb0e909..0000000 --- a/src/main/java/net/woggioni/jzstd/ZSTD_ResetDirective.java +++ /dev/null @@ -1,13 +0,0 @@ -package net.woggioni.jzstd; - - -import lombok.RequiredArgsConstructor; - -@RequiredArgsConstructor -public enum ZSTD_ResetDirective { - ZSTD_reset_session_only(1), - ZSTD_reset_parameters(2), - ZSTD_reset_session_and_parameters(3); - - public final int value; -} diff --git a/src/main/java/net/woggioni/jzstd/ZstdCompressionCtx.java b/src/main/java/net/woggioni/jzstd/ZstdCompressionCtx.java new file mode 100644 index 0000000..97bcd75 --- /dev/null +++ b/src/main/java/net/woggioni/jzstd/ZstdCompressionCtx.java @@ -0,0 +1,22 @@ +package net.woggioni.jzstd; + +import net.woggioni.jzstd.internal.ZSTD_CCtx; +import net.woggioni.jzstd.internal.ZstdLibrary; + +public class ZstdCompressionCtx implements AutoCloseable { + final ZSTD_CCtx ctx = ZstdLibrary.ZSTD_createCCtx(); + + public void setParameter(CompressionParameter compressionParameter, int value) { + ZstdLibrary.CCtx_setParameter(ctx, compressionParameter, value); + } + + public void init() { + ZstdLibrary.CCtx_reset(ctx, ResetDirective.reset_session_only); + ZstdLibrary.CCtx_refCDict(ctx, null); + } + + @Override + public void close() { + ZstdLibrary.freeCStream(ctx); + } +} diff --git a/src/main/java/net/woggioni/jzstd/ZstdDecompressionCtx.java b/src/main/java/net/woggioni/jzstd/ZstdDecompressionCtx.java new file mode 100644 index 0000000..b600272 --- /dev/null +++ b/src/main/java/net/woggioni/jzstd/ZstdDecompressionCtx.java @@ -0,0 +1,18 @@ +package net.woggioni.jzstd; + +import net.woggioni.jzstd.internal.ZSTD_DCtx; +import net.woggioni.jzstd.internal.ZstdLibrary; + +public class ZstdDecompressionCtx implements AutoCloseable { + final ZSTD_DCtx ctx = ZstdLibrary.ZSTD_createDStream(); + + public void init() { + ZstdLibrary.DCtx_reset(ctx, ResetDirective.reset_session_only); + ZstdLibrary.DCtx_refDDict(ctx, null); + } + + @Override + public void close() { + ZstdLibrary.freeDStream(ctx); + } +} diff --git a/src/main/java/net/woggioni/jzstd/ZstdException.java b/src/main/java/net/woggioni/jzstd/ZstdException.java new file mode 100644 index 0000000..7b1b8f4 --- /dev/null +++ b/src/main/java/net/woggioni/jzstd/ZstdException.java @@ -0,0 +1,11 @@ +package net.woggioni.jzstd; + +public class ZstdException extends RuntimeException { + public ZstdException(String message) { + super(message); + } + + public ZstdException(String message, Throwable cause) { + super(message, cause); + } +} diff --git a/src/main/java/net/woggioni/jzstd/ZstdInputStream.java b/src/main/java/net/woggioni/jzstd/ZstdInputStream.java index b326504..1c70ae6 100644 --- a/src/main/java/net/woggioni/jzstd/ZstdInputStream.java +++ b/src/main/java/net/woggioni/jzstd/ZstdInputStream.java @@ -10,7 +10,7 @@ import java.io.InputStream; public class ZstdInputStream extends InputStream { private final InputStream source; - private final ZSTD_DCtx ctx; + private final ZstdDecompressionCtx ctx; private final boolean ctx_owner; private final ZSTD_inBuffer input; @@ -26,7 +26,7 @@ public class ZstdInputStream extends InputStream { private static final int outputBufferSize = ZstdLibrary.DStreamOutSize(); private ZstdInputStream(InputStream source, - ZSTD_DCtx ctx, + ZstdDecompressionCtx ctx, boolean ctx_owner) { this.source = source; this.ctx = ctx; @@ -36,11 +36,11 @@ public class ZstdInputStream extends InputStream { } public static ZstdInputStream from(InputStream source) { - ZSTD_DCtx ctx = ZstdLibrary.ZSTD_createDStream(); + ZstdDecompressionCtx ctx = new ZstdDecompressionCtx(); return new ZstdInputStream(source, ctx, true); } - public static ZstdInputStream from(InputStream source, ZSTD_DCtx ctx) { + public static ZstdInputStream from(InputStream source, ZstdDecompressionCtx ctx) { return new ZstdInputStream(source, ctx, false); } @@ -67,7 +67,7 @@ public class ZstdInputStream extends InputStream { input.size = new size_t(input.src.position()); output.pos = zero; } - int rc = ZstdLibrary.decompressStream(ctx, output, input); + int rc = ZstdLibrary.decompressStream(ctx.ctx, output, input); if(rc == 0) { state = State.CTX_FLUSHED; break; @@ -105,6 +105,6 @@ public class ZstdInputStream extends InputStream { @Override public void close() { - if (ctx_owner) ZstdLibrary.freeDStream(ctx); + if (ctx_owner) ctx.close(); } } diff --git a/src/main/java/net/woggioni/jzstd/ZstdOutputStream.java b/src/main/java/net/woggioni/jzstd/ZstdOutputStream.java index 4d5974d..b93a13e 100644 --- a/src/main/java/net/woggioni/jzstd/ZstdOutputStream.java +++ b/src/main/java/net/woggioni/jzstd/ZstdOutputStream.java @@ -1,26 +1,23 @@ package net.woggioni.jzstd; import lombok.SneakyThrows; -import net.woggioni.jzstd.internal.ZSTD_inBuffer; -import net.woggioni.jzstd.internal.ZSTD_outBuffer; -import net.woggioni.jzstd.internal.ZstdLibrary; -import net.woggioni.jzstd.internal.size_t; +import net.woggioni.jzstd.internal.*; import java.io.OutputStream; public class ZstdOutputStream extends OutputStream { private final OutputStream sink; - private final ZSTD_CCtx ctx; + private final ZstdCompressionCtx ctx; private final boolean ctx_owner; private final byte[] buffer; private final ZSTD_inBuffer input; private final ZSTD_outBuffer output; private int pos; - private ZSTD_EndDirective flag; + private EndDirective flag; private ZstdOutputStream(OutputStream sink, - ZSTD_CCtx ctx, + ZstdCompressionCtx ctx, boolean ctx_owner, int bufferSize) { this.sink = sink; @@ -30,20 +27,19 @@ public class ZstdOutputStream extends OutputStream { this.input = new ZSTD_inBuffer(bufferSize); this.output = new ZSTD_outBuffer(bufferSize); this.pos = 0; - this.flag = ZSTD_EndDirective.ZSTD_e_continue; + this.flag = EndDirective.Continue; } public static ZstdOutputStream from(OutputStream sink, - ZSTD_CCtx ctx) { + ZstdCompressionCtx ctx) { return from(sink, ctx, 0x10000); } public static ZstdOutputStream from( OutputStream sink, - ZSTD_CCtx ctx, + ZstdCompressionCtx ctx, int bufferSize) { - ZstdLibrary.CCtx_reset(ctx, ZSTD_ResetDirective.ZSTD_reset_session_only); - ZstdLibrary.CCtx_refCDict(ctx, null); + ctx.init(); return new ZstdOutputStream(sink, ctx, false, bufferSize); } @@ -59,14 +55,13 @@ public class ZstdOutputStream extends OutputStream { public static ZstdOutputStream from(OutputStream sink, int compressionLevel, int bufferSize) { - ZSTD_bounds range = ZstdLibrary.cParam_getBounds(ZSTD_cParameter.compressionLevel); + ZSTD_bounds range = ZstdLibrary.cParam_getBounds(CompressionParameter.compressionLevel); if (compressionLevel < range.lowerBound || compressionLevel > range.upperBound) { throw new IllegalArgumentException("Compression level must be between " + range.lowerBound + " and " + range.upperBound); } - ZSTD_CCtx ctx = ZstdLibrary.ZSTD_createCCtx(); - ZstdLibrary.CCtx_setParameter(ctx, - ZSTD_cParameter.compressionLevel, compressionLevel); + ZstdCompressionCtx ctx = new ZstdCompressionCtx(); + ctx.setParameter(CompressionParameter.compressionLevel, compressionLevel); return new ZstdOutputStream(sink, ctx, true, bufferSize); } @@ -80,16 +75,16 @@ public class ZstdOutputStream extends OutputStream { input.size = new size_t(pos); pos = 0; while (true) { - size_t rc = ZstdLibrary.compressStream2(ctx, output, input, flag); + size_t rc = ZstdLibrary.compressStream2(ctx.ctx, output, input, flag); if (output.pos.longValue() > 0) { output.dst.get(buffer); output.dst.position(0); sink.write(buffer, 0, output.pos.intValue()); output.pos = new size_t(0); } - if (input.pos.longValue() == input.size.longValue() && flag == ZSTD_EndDirective.ZSTD_e_continue) { + if (input.pos.longValue() == input.size.longValue() && flag == EndDirective.Continue) { break; - } else if (flag == ZSTD_EndDirective.ZSTD_e_end && rc.intValue() == 0) { + } else if (flag == EndDirective.End && rc.intValue() == 0) { break; } } @@ -116,9 +111,9 @@ public class ZstdOutputStream extends OutputStream { @Override @SneakyThrows public void close() { - flag = ZSTD_EndDirective.ZSTD_e_end; + flag = EndDirective.End; flush(); sink.close(); - if (ctx_owner) ZstdLibrary.ZSTD_freeCCtx(ctx); + if (ctx_owner) ctx.close(); } } diff --git a/src/main/java/net/woggioni/jzstd/ZSTD_CCtx.java b/src/main/java/net/woggioni/jzstd/internal/ZSTD_CCtx.java similarity index 68% rename from src/main/java/net/woggioni/jzstd/ZSTD_CCtx.java rename to src/main/java/net/woggioni/jzstd/internal/ZSTD_CCtx.java index cc0da9a..54dd7e3 100644 --- a/src/main/java/net/woggioni/jzstd/ZSTD_CCtx.java +++ b/src/main/java/net/woggioni/jzstd/internal/ZSTD_CCtx.java @@ -1,4 +1,4 @@ -package net.woggioni.jzstd; +package net.woggioni.jzstd.internal; import com.sun.jna.PointerType; diff --git a/src/main/java/net/woggioni/jzstd/ZSTD_CDict.java b/src/main/java/net/woggioni/jzstd/internal/ZSTD_CDict.java similarity index 68% rename from src/main/java/net/woggioni/jzstd/ZSTD_CDict.java rename to src/main/java/net/woggioni/jzstd/internal/ZSTD_CDict.java index 3ba3c9e..51da70a 100644 --- a/src/main/java/net/woggioni/jzstd/ZSTD_CDict.java +++ b/src/main/java/net/woggioni/jzstd/internal/ZSTD_CDict.java @@ -1,4 +1,4 @@ -package net.woggioni.jzstd; +package net.woggioni.jzstd.internal; import com.sun.jna.PointerType; diff --git a/src/main/java/net/woggioni/jzstd/ZSTD_DCtx.java b/src/main/java/net/woggioni/jzstd/internal/ZSTD_DCtx.java similarity index 68% rename from src/main/java/net/woggioni/jzstd/ZSTD_DCtx.java rename to src/main/java/net/woggioni/jzstd/internal/ZSTD_DCtx.java index 0626a45..2a0ec23 100644 --- a/src/main/java/net/woggioni/jzstd/ZSTD_DCtx.java +++ b/src/main/java/net/woggioni/jzstd/internal/ZSTD_DCtx.java @@ -1,4 +1,4 @@ -package net.woggioni.jzstd; +package net.woggioni.jzstd.internal; import com.sun.jna.PointerType; diff --git a/src/main/java/net/woggioni/jzstd/ZSTD_DDict.java b/src/main/java/net/woggioni/jzstd/internal/ZSTD_DDict.java similarity index 68% rename from src/main/java/net/woggioni/jzstd/ZSTD_DDict.java rename to src/main/java/net/woggioni/jzstd/internal/ZSTD_DDict.java index 45705c0..5c7a90c 100644 --- a/src/main/java/net/woggioni/jzstd/ZSTD_DDict.java +++ b/src/main/java/net/woggioni/jzstd/internal/ZSTD_DDict.java @@ -1,4 +1,4 @@ -package net.woggioni.jzstd; +package net.woggioni.jzstd.internal; import com.sun.jna.PointerType; diff --git a/src/main/java/net/woggioni/jzstd/internal/ZSTD_ErrorCode.java b/src/main/java/net/woggioni/jzstd/internal/ZSTD_ErrorCode.java deleted file mode 100644 index 84336cf..0000000 --- a/src/main/java/net/woggioni/jzstd/internal/ZSTD_ErrorCode.java +++ /dev/null @@ -1,32 +0,0 @@ -package net.woggioni.jzstd.internal; - -import lombok.RequiredArgsConstructor; - -@RequiredArgsConstructor -public enum ZSTD_ErrorCode { - ZSTD_error_no_error(0), - ZSTD_error_GENERIC(1), - ZSTD_error_prefix_unknown(10), - ZSTD_error_version_unsupported(12), - ZSTD_error_frameParameter_unsupported(14), - ZSTD_error_frameParameter_windowTooLarge(16), - ZSTD_error_corruption_detected(20), - ZSTD_error_checksum_wrong(22), - ZSTD_error_dictionary_corrupted(30), - ZSTD_error_dictionary_wrong(32), - ZSTD_error_dictionaryCreation_failed(34), - ZSTD_error_parameter_unsupported(40), - ZSTD_error_parameter_outOfBound(42), - ZSTD_error_tableLog_tooLarge(44), - ZSTD_error_maxSymbolValue_tooLarge(46), - ZSTD_error_maxSymbolValue_tooSmall(48), - ZSTD_error_stage_wrong(60), - ZSTD_error_init_missing(62), - ZSTD_error_memory_allocation(64), - ZSTD_error_workSpace_tooSmall(66), - ZSTD_error_dstSize_tooSmall(70), - ZSTD_error_srcSize_wrong(72), - ZSTD_error_dstBuffer_null(74); - - public final int value; -} \ No newline at end of file diff --git a/src/main/java/net/woggioni/jzstd/ZSTD_bounds.java b/src/main/java/net/woggioni/jzstd/internal/ZSTD_bounds.java similarity index 81% rename from src/main/java/net/woggioni/jzstd/ZSTD_bounds.java rename to src/main/java/net/woggioni/jzstd/internal/ZSTD_bounds.java index 85fbaef..1e8264a 100644 --- a/src/main/java/net/woggioni/jzstd/ZSTD_bounds.java +++ b/src/main/java/net/woggioni/jzstd/internal/ZSTD_bounds.java @@ -1,7 +1,6 @@ -package net.woggioni.jzstd; +package net.woggioni.jzstd.internal; import com.sun.jna.Structure; -import net.woggioni.jzstd.internal.size_t; @Structure.FieldOrder({"error", "lowerBound", "upperBound"}) public class ZSTD_bounds extends Structure { diff --git a/src/main/java/net/woggioni/jzstd/internal/ZstdLibrary.java b/src/main/java/net/woggioni/jzstd/internal/ZstdLibrary.java index b46d543..82ddbb2 100644 --- a/src/main/java/net/woggioni/jzstd/internal/ZstdLibrary.java +++ b/src/main/java/net/woggioni/jzstd/internal/ZstdLibrary.java @@ -16,28 +16,28 @@ public class ZstdLibrary { ZSTD_CCtx cctx, ZSTD_outBuffer output, ZSTD_inBuffer input, - ZSTD_EndDirective endOp) { + EndDirective endOp) { size_t rc = ZSTD_compressStream2(cctx, output, input, endOp.value); checkReturnCode(rc); return rc; } - public static ZSTD_bounds cParam_getBounds(ZSTD_cParameter cParam) { + public static ZSTD_bounds cParam_getBounds(CompressionParameter cParam) { ZSTD_bounds bounds = ZSTD_cParam_getBounds(cParam.value); checkReturnCode(bounds.error); return bounds; } - public static void CCtx_setParameter(ZSTD_CCtx cctx, ZSTD_cParameter param, int value) { + public static void CCtx_setParameter(ZSTD_CCtx cctx, CompressionParameter param, int value) { size_t rc = ZSTD_CCtx_setParameter(cctx, param.value, value); if (ZSTD_isError(rc)) { - throw new RuntimeException(getErrorString(rc)); + throw new ZstdException(getErrorString(rc)); } } - public static ZSTD_ErrorCode getErrorCode(size_t functionResult) { + public static ErrorCode getErrorCode(size_t functionResult) { int code = ZSTD_getErrorCode(functionResult); - for (ZSTD_ErrorCode result : ZSTD_ErrorCode.values()) { + for (ErrorCode result : ErrorCode.values()) { if (code == result.value) return result; } throw new IllegalArgumentException("Unknown error code " + code); @@ -47,7 +47,7 @@ public class ZstdLibrary { return ZSTD_getErrorString(getErrorCode(functionResult).value); } - public static void CCtx_reset(ZSTD_CCtx ctx, ZSTD_ResetDirective resetDirective) { + public static void CCtx_reset(ZSTD_CCtx ctx, ResetDirective resetDirective) { checkReturnCode(ZSTD_CCtx_reset(ctx, resetDirective.value)); } @@ -55,14 +55,21 @@ public class ZstdLibrary { checkReturnCode(ZSTD_CCtx_refCDict(ctx, cdict)); } - public static native size_t ZSTD_CCtx_setParameter(ZSTD_CCtx cctx, int param, int value); + public static void freeCStream(ZSTD_CCtx ctx) { + freeCCtx(ctx); + } + public static void freeCCtx(ZSTD_CCtx ctx) { + checkReturnCode(ZSTD_freeCStream(ctx)); + } + + private static native size_t ZSTD_CCtx_setParameter(ZSTD_CCtx cctx, int param, int value); public static native ZSTD_CCtx ZSTD_createCCtx(); public static native size_t ZSTD_freeCCtx(ZSTD_CCtx cctx); public static native size_t ZSTD_initCStream(ZSTD_CCtx ctx, int compressionLevel); public static native ZSTD_CCtx ZSTD_createCStream(); - public static native size_t ZSTD_freeCStream(ZSTD_CCtx ctx); - public static native size_t ZSTD_compressStream2( + private static native size_t ZSTD_freeCStream(ZSTD_CCtx ctx); + private static native size_t ZSTD_compressStream2( ZSTD_CCtx cctx, ZSTD_outBuffer output, ZSTD_inBuffer input, @@ -70,32 +77,35 @@ public class ZstdLibrary { public static native ZSTD_bounds.ByValue ZSTD_cParam_getBounds(int cParam); public static native boolean ZSTD_isError(size_t code); - public static native int ZSTD_getErrorCode(size_t functionResult); + private static native int ZSTD_getErrorCode(size_t functionResult); public static native String ZSTD_getErrorString(int code); - public static native size_t ZSTD_CCtx_reset(ZSTD_CCtx ctx, int reset_directive); - public static native size_t ZSTD_CCtx_refCDict(ZSTD_CCtx ctx, ZSTD_CDict cdict); + private static native size_t ZSTD_CCtx_reset(ZSTD_CCtx ctx, int reset_directive); + private static native size_t ZSTD_CCtx_refCDict(ZSTD_CCtx ctx, ZSTD_CDict cdict); public static native ZSTD_DCtx ZSTD_createDStream(); public static native size_t ZSTD_freeDStream(ZSTD_DCtx ctx); public static native size_t ZSTD_initDStream(ZSTD_DCtx ctx); public static native size_t ZSTD_DCtx_reset(ZSTD_DCtx ctx, int reset_directive); - public static native size_t ZSTD_DCtx_refDDict(ZSTD_CCtx ctx, ZSTD_DDict ddict); - public static native size_t ZSTD_decompressStream(ZSTD_DCtx ctx, ZSTD_outBuffer output, ZSTD_inBuffer input); + public static native size_t ZSTD_DCtx_refDDict(ZSTD_DCtx ctx, ZSTD_DDict ddict); + private static native size_t ZSTD_decompressStream(ZSTD_DCtx ctx, ZSTD_outBuffer output, ZSTD_inBuffer input); - public static native size_t ZSTD_DStreamInSize(); - public static native size_t ZSTD_DStreamOutSize(); + private static native size_t ZSTD_DStreamInSize(); + private static native size_t ZSTD_DStreamOutSize(); public static void freeDStream(ZSTD_DCtx ctx) { + freeDCtx(ctx); + } + public static void freeDCtx(ZSTD_DCtx ctx) { checkReturnCode(ZSTD_freeDStream(ctx)); } - public static void ZSTD_DCtx_reset(ZSTD_DCtx ctx, ZSTD_ResetDirective reset_directive) { + public static void DCtx_reset(ZSTD_DCtx ctx, ResetDirective reset_directive) { checkReturnCode(ZSTD_DCtx_reset(ctx, reset_directive.value)); } - public static void refDDict(ZSTD_CCtx ctx, ZSTD_DDict ddict) { + public static void DCtx_refDDict(ZSTD_DCtx ctx, ZSTD_DDict ddict) { checkReturnCode(ZSTD_DCtx_refDDict(ctx, ddict)); }