Class JZlibDecoder

    • Constructor Detail

      • JZlibDecoder

        public JZlibDecoder​(int maxAllocation)
        Creates a new instance with the default wrapper (ZlibWrapper.ZLIB) and specified maximum buffer allocation.
        Parameters:
        maxAllocation - Maximum size of the decompression buffer. Must be >= 0. If zero, maximum size is decided by the ByteBufAllocator.
        Throws:
        DecompressionException - if failed to initialize zlib
      • JZlibDecoder

        public JZlibDecoder​(ZlibWrapper wrapper)
        Creates a new instance with the specified wrapper.
        Throws:
        DecompressionException - if failed to initialize zlib
      • JZlibDecoder

        public JZlibDecoder​(ZlibWrapper wrapper,
                            int maxAllocation)
        Creates a new instance with the specified wrapper and maximum buffer allocation.
        Parameters:
        maxAllocation - Maximum size of the decompression buffer. Must be >= 0. If zero, maximum size is decided by the ByteBufAllocator.
        Throws:
        DecompressionException - if failed to initialize zlib
      • JZlibDecoder

        public JZlibDecoder​(byte[] dictionary)
        Creates a new instance with the specified preset dictionary. The wrapper is always ZlibWrapper.ZLIB because it is the only format that supports the preset dictionary.
        Throws:
        DecompressionException - if failed to initialize zlib
      • JZlibDecoder

        public JZlibDecoder​(byte[] dictionary,
                            int maxAllocation)
        Creates a new instance with the specified preset dictionary and maximum buffer allocation. The wrapper is always ZlibWrapper.ZLIB because it is the only format that supports the preset dictionary.
        Parameters:
        maxAllocation - Maximum size of the decompression buffer. Must be >= 0. If zero, maximum size is decided by the ByteBufAllocator.
        Throws:
        DecompressionException - if failed to initialize zlib
    • Method Detail

      • isClosed

        public boolean isClosed()
        Returns true if and only if the end of the compressed stream has been reached.
        Specified by:
        isClosed in class ZlibDecoder
      • decompressionBufferExhausted

        protected void decompressionBufferExhausted​(ByteBuf buffer)
        Description copied from class: ZlibDecoder
        Called when the decompression buffer cannot be expanded further. Default implementation is a no-op, but subclasses can override in case they want to do something before the DecompressionException is thrown, such as log the data that was decompressed so far.
        Overrides:
        decompressionBufferExhausted in class ZlibDecoder