diff --git a/src/main/java/org/xerial/snappy/Snappy.java b/src/main/java/org/xerial/snappy/Snappy.java index 2247498..96f1670 100755 --- a/src/main/java/org/xerial/snappy/Snappy.java +++ b/src/main/java/org/xerial/snappy/Snappy.java @@ -354,7 +354,7 @@ public class Snappy * the input byte size * @return compressed data */ - public static byte[] rawCompress(Object data, int byteSize) { + public static byte[] rawCompress(Object data, int byteSize) throws IOException { byte[] buf = new byte[Snappy.maxCompressedLength(byteSize)]; int compressedByteSize = ((SnappyNativeAPI) impl).rawCompress(data, 0, byteSize, buf, 0); byte[] result = new byte[compressedByteSize]; diff --git a/src/main/java/org/xerial/snappy/SnappyNative.h b/src/main/java/org/xerial/snappy/SnappyNative.h index 37452d9..477d30a 100755 --- a/src/main/java/org/xerial/snappy/SnappyNative.h +++ b/src/main/java/org/xerial/snappy/SnappyNative.h @@ -15,6 +15,22 @@ extern "C" { JNIEXPORT jstring JNICALL Java_org_xerial_snappy_SnappyNative_nativeLibraryVersion (JNIEnv *, jobject); +/* + * Class: org_xerial_snappy_SnappyNative + * Method: rawCompress + * Signature: (JJJ)J + */ +JNIEXPORT jlong JNICALL Java_org_xerial_snappy_SnappyNative_rawCompress__JJJ + (JNIEnv *, jobject, jlong, jlong, jlong); + +/* + * Class: org_xerial_snappy_SnappyNative + * Method: rawUncompress + * Signature: (JJJ)J + */ +JNIEXPORT jlong JNICALL Java_org_xerial_snappy_SnappyNative_rawUncompress__JJJ + (JNIEnv *, jobject, jlong, jlong, jlong); + /* * Class: org_xerial_snappy_SnappyNative * Method: rawCompress @@ -71,6 +87,14 @@ JNIEXPORT jint JNICALL Java_org_xerial_snappy_SnappyNative_uncompressedLength__L JNIEXPORT jint JNICALL Java_org_xerial_snappy_SnappyNative_uncompressedLength__Ljava_lang_Object_2II (JNIEnv *, jobject, jobject, jint, jint); +/* + * Class: org_xerial_snappy_SnappyNative + * Method: uncompressedLength + * Signature: (JJ)J + */ +JNIEXPORT jlong JNICALL Java_org_xerial_snappy_SnappyNative_uncompressedLength__JJ + (JNIEnv *, jobject, jlong, jlong); + /* * Class: org_xerial_snappy_SnappyNative * Method: isValidCompressedBuffer diff --git a/src/main/java/org/xerial/snappy/SnappyNative.java b/src/main/java/org/xerial/snappy/SnappyNative.java index 3c9acf5..fdcb617 100755 --- a/src/main/java/org/xerial/snappy/SnappyNative.java +++ b/src/main/java/org/xerial/snappy/SnappyNative.java @@ -54,7 +54,7 @@ public class SnappyNative implements SnappyNativeAPI public native int rawCompress(ByteBuffer input, int inputOffset, int inputLength, ByteBuffer compressed, int outputOffset) throws IOException; - public native int rawCompress(Object input, int inputOffset, int inputByteLength, Object output, int outputOffset); + public native int rawCompress(Object input, int inputOffset, int inputByteLength, Object output, int outputOffset) throws IOException; public native int rawUncompress(ByteBuffer compressed, int inputOffset, int inputLength, ByteBuffer uncompressed, int outputOffset) throws IOException; diff --git a/src/main/java/org/xerial/snappy/SnappyNativeAPI.java b/src/main/java/org/xerial/snappy/SnappyNativeAPI.java index 902e22e..b6c92d0 100755 --- a/src/main/java/org/xerial/snappy/SnappyNativeAPI.java +++ b/src/main/java/org/xerial/snappy/SnappyNativeAPI.java @@ -51,7 +51,7 @@ public interface SnappyNativeAPI public int rawCompress(ByteBuffer input, int inputOffset, int inputLength, ByteBuffer compressed, int outputOffset) throws IOException; - public int rawCompress(Object input, int inputOffset, int inputByteLength, Object output, int outputOffset); + public int rawCompress(Object input, int inputOffset, int inputByteLength, Object output, int outputOffset) throws IOException; public int rawUncompress(ByteBuffer compressed, int inputOffset, int inputLength, ByteBuffer uncompressed, int outputOffset) throws IOException;