Package com.github.luben.zstd
Class ZstdDecompressCtx
java.lang.Object
com.github.luben.zstd.AutoCloseBase
com.github.luben.zstd.ZstdDecompressCtx
- All Implemented Interfaces:
Closeable
,AutoCloseable
-
Field Summary
Fields -
Constructor Summary
ConstructorsConstructorDescriptionCreate a context for faster compress operations One such context is required for each thread - put this in a ThreadLocal. -
Method Summary
Modifier and TypeMethodDescriptionint
decompress
(byte[] dst, byte[] src) byte[]
decompress
(byte[] src, int originalSize) decompress
(ByteBuffer srcBuf, int originalSize) int
decompress
(ByteBuffer dstBuf, ByteBuffer srcBuf) Decompresses buffer 'srcBuff' into buffer 'dstBuff' using this ZstdDecompressCtx.int
decompressByteArray
(byte[] dstBuff, int dstOffset, int dstSize, byte[] srcBuff, int srcOffset, int srcSize) Decompresses byte array 'srcBuff' into byte array 'dstBuff' using this ZstdDecompressCtx.private long
decompressByteArray0
(byte[] dst, int dstOffset, int dstSize, byte[] src, int srcOffset, int srcSize) int
decompressDirectByteBuffer
(ByteBuffer dstBuff, int dstOffset, int dstSize, ByteBuffer srcBuff, int srcOffset, int srcSize) Decompresses buffer 'srcBuff' into buffer 'dstBuff' using this ZstdDecompressCtx.private long
decompressDirectByteBuffer0
(ByteBuffer dst, int dstOffset, int dstSize, ByteBuffer src, int srcOffset, int srcSize) boolean
private long
decompressDirectByteBufferStream0
(ByteBuffer dst, int dstOffset, int dstSize, ByteBuffer src, int srcOffset, int srcSize) 4 pieces of information are packed into the return value of this method, which must be treated as an unsigned long.(package private) void
doClose()
private void
private void
free()
private void
init()
private long
loadDDict0
(byte[] dict) private long
loadDict
(byte[] dict) Load decompression dictionary.loadDict
(ZstdDictDecompress dict) Load decompression dictionaryvoid
reset()
Clear all state and parameters from the decompression context.private void
reset0()
Methods inherited from class com.github.luben.zstd.AutoCloseBase
acquireSharedLock, close, releaseSharedLock, storeFence
-
Field Details
-
nativePtr
private long nativePtr -
decompression_dict
-
-
Constructor Details
-
ZstdDecompressCtx
public ZstdDecompressCtx()Create a context for faster compress operations One such context is required for each thread - put this in a ThreadLocal.
-
-
Method Details
-
init
private void init() -
free
private void free() -
doClose
void doClose()- Specified by:
doClose
in classAutoCloseBase
-
loadDict
Load decompression dictionary- Parameters:
dict
- the dictionary or `null` to remove loaded dictionary
-
loadDDictFast0
-
loadDict
Load decompression dictionary.- Parameters:
dict
- the dictionary or `null` to remove loaded dictionary
-
loadDDict0
private long loadDDict0(byte[] dict) -
reset
public void reset()Clear all state and parameters from the decompression context. This leaves the object in a state identical to a newly created decompression context. -
reset0
private void reset0() -
ensureOpen
private void ensureOpen() -
decompressDirectByteBufferStream
- Parameters:
dst
- destination of uncompressed datasrc
- buffer to decompress- Returns:
- true if all state has been flushed from internal buffers
-
decompressDirectByteBufferStream0
private long decompressDirectByteBufferStream0(ByteBuffer dst, int dstOffset, int dstSize, ByteBuffer src, int srcOffset, int srcSize) 4 pieces of information are packed into the return value of this method, which must be treated as an unsigned long. The highest bit is set if all data has been flushed from internal buffers. The next 31 bits are the new position of the destination buffer. The next bit is set if an error occurred. If an error occurred, the lowest 31 bits encode a zstd error code. Otherwise, the lowest 31 bits are the new position of the source buffer. -
decompressDirectByteBuffer
public int decompressDirectByteBuffer(ByteBuffer dstBuff, int dstOffset, int dstSize, ByteBuffer srcBuff, int srcOffset, int srcSize) Decompresses buffer 'srcBuff' into buffer 'dstBuff' using this ZstdDecompressCtx. Destination buffer should be sized to be larger of equal to the originalSize. This is a low-level function that does not take into account or affect the `limit` or `position` of source or destination buffers.- Parameters:
dstBuff
- the destination buffer - must be directdstOffset
- the start offset of 'dstBuff'dstSize
- the size of 'dstBuff'srcBuff
- the source buffer - must be directsrcOffset
- the start offset of 'srcBuff'srcSize
- the size of 'srcBuff'- Returns:
- the number of bytes decompressed into destination buffer (originalSize)
-
decompressDirectByteBuffer0
private long decompressDirectByteBuffer0(ByteBuffer dst, int dstOffset, int dstSize, ByteBuffer src, int srcOffset, int srcSize) -
decompressByteArray
public int decompressByteArray(byte[] dstBuff, int dstOffset, int dstSize, byte[] srcBuff, int srcOffset, int srcSize) Decompresses byte array 'srcBuff' into byte array 'dstBuff' using this ZstdDecompressCtx. Destination buffer should be sized to be larger of equal to the originalSize.- Parameters:
dstBuff
- the destination bufferdstOffset
- the start offset of 'dstBuff'dstSize
- the size of 'dstBuff'srcBuff
- the source buffersrcOffset
- the start offset of 'srcBuff'srcSize
- the size of 'srcBuff'- Returns:
- the number of bytes decompressed into destination buffer (originalSize)
-
decompressByteArray0
private long decompressByteArray0(byte[] dst, int dstOffset, int dstSize, byte[] src, int srcOffset, int srcSize) -
decompress
Decompresses buffer 'srcBuff' into buffer 'dstBuff' using this ZstdDecompressCtx. Destination buffer should be sized to be larger of equal to the originalSize.- Parameters:
dstBuf
- the destination buffer - must be direct. It is assumed that the `position()` of this buffer marks the offset at which the decompressed data are to be written, and that the `limit()` of this buffer is the maximum decompressed data size to allow.When this method returns successfully, its `position()` will be set to its current `position()` plus the decompressed size of the data.
srcBuf
- the source buffer - must be direct. It is assumed that the `position()` of this buffer marks the beginning of the compressed data to be decompressed, and that the `limit()` of this buffer marks its end.When this method returns successfully, its `position()` will be set to the initial `limit()`.
- Returns:
- the size of the decompressed data.
- Throws:
ZstdException
-
decompress
- Throws:
ZstdException
-
decompress
public int decompress(byte[] dst, byte[] src) -
decompress
- Throws:
ZstdException
-