Interface Compressor

    • Method Detail

      • compress

        Buffer compress​(Buffer input,
                        BufferAllocator allocator)
                 throws CompressionException
        This method will read from the input Buffer and compress into a new Buffer that will be allocated (if needed) from the BufferAllocator. This method is expected to consume all data from the input but not take ownership. The caller is responsible to release the input buffer after this method returns.
        Parameters:
        input - the Buffer that contains the data to be compressed.
        allocator - the BufferAllocator that is used to allocate a new buffer (if needed) to write the compressed bytes too.
        Returns:
        the Buffer that contains the compressed data. The caller of this method takes ownership of the buffer. The return value will never be null.
        Throws:
        CompressionException - thrown if an compression error was encountered or the compressor was closed already.
      • finish

        Buffer finish​(BufferAllocator allocator)
               throws CompressionException
        By calling this method we signal that the compression stream is marked as finish. The returned Buffer might contain a "trailer" which marks the end of the stream.
        Returns:
        the Buffer which represent the end of the compression stream, which might be empty if the compressor don't need a trailer to signal the end. The caller of this method takes ownership of the buffer. The return value will never be null.
        Throws:
        CompressionException - thrown if a compression error was encountered or the compressor was closed already.
      • isFinished

        boolean isFinished()
        Returns true if the compressor was finished or closed. This might happen because someone explicit called finish(BufferAllocator) / close() or the compressor implementation did decide to close itself due a compression error which can't be recovered. After isFinished() returns true the compress(Buffer, BufferAllocator) method will just return an empty buffer without consuming anything from its input buffer.
        Returns:
        true if the compressor was marked as finished, false otherwise.
      • isClosed

        boolean isClosed()
        Return true if the decompressor was closed, false otherwise.
        Returns:
        true if the decompressor was closed, false otherwise.