Class ZstdDirectBufferCompressingStreamNoFinalizer

  • All Implemented Interfaces:
    java.io.Closeable, java.io.Flushable, java.lang.AutoCloseable

    public class ZstdDirectBufferCompressingStreamNoFinalizer
    extends java.lang.Object
    implements java.io.Closeable, java.io.Flushable
    • Field Detail

      • target

        private java.nio.ByteBuffer target
      • stream

        private final long stream
      • consumed

        private int consumed
      • produced

        private int produced
      • closed

        private boolean closed
      • initialized

        private boolean initialized
      • level

        private int level
      • dict

        private byte[] dict
    • Constructor Detail

      • ZstdDirectBufferCompressingStreamNoFinalizer

        public ZstdDirectBufferCompressingStreamNoFinalizer​(java.nio.ByteBuffer target,
                                                            int level)
                                                     throws java.io.IOException
        Throws:
        java.io.IOException
    • Method Detail

      • flushBuffer

        protected java.nio.ByteBuffer flushBuffer​(java.nio.ByteBuffer toFlush)
                                           throws java.io.IOException
        This method should flush the buffer and either return the same buffer (but cleared) or a new buffer that should be used from then on.
        Parameters:
        toFlush - buffer that has to be flushed (or most cases, you want to call ByteBuffer.flip() first)
        Returns:
        the new buffer to use, for most cases the same as the one passed in, after a call to ByteBuffer.clear().
        Throws:
        java.io.IOException
      • recommendedOutputBufferSize

        public static int recommendedOutputBufferSize()
      • recommendedCOutSize

        private static long recommendedCOutSize()
      • createCStream

        private static long createCStream()
      • freeCStream

        private static long freeCStream​(long ctx)
      • initCStream

        private long initCStream​(long ctx,
                                 int level)
      • initCStreamWithDict

        private long initCStreamWithDict​(long ctx,
                                         byte[] dict,
                                         int dict_size,
                                         int level)
      • initCStreamWithFastDict

        private long initCStreamWithFastDict​(long ctx,
                                             ZstdDictCompress dict)
      • compressDirectByteBuffer

        private long compressDirectByteBuffer​(long ctx,
                                              java.nio.ByteBuffer dst,
                                              int dstOffset,
                                              int dstSize,
                                              java.nio.ByteBuffer src,
                                              int srcOffset,
                                              int srcSize)
      • flushStream

        private long flushStream​(long ctx,
                                 java.nio.ByteBuffer dst,
                                 int dstOffset,
                                 int dstSize)
      • endStream

        private long endStream​(long ctx,
                               java.nio.ByteBuffer dst,
                               int dstOffset,
                               int dstSize)
      • compress

        public void compress​(java.nio.ByteBuffer source)
                      throws java.io.IOException
        Throws:
        java.io.IOException
      • flush

        public void flush()
                   throws java.io.IOException
        Specified by:
        flush in interface java.io.Flushable
        Throws:
        java.io.IOException
      • close

        public void close()
                   throws java.io.IOException
        Specified by:
        close in interface java.lang.AutoCloseable
        Specified by:
        close in interface java.io.Closeable
        Throws:
        java.io.IOException