Class Decoders

java.lang.Object
com.aayushatharva.brotli4j.decoder.Decoders

public final class Decoders extends Object
Multiple decoding methods using Netty Buffer. Make sure to add it as dependency before using this class
See Also:
  • Constructor Details

    • Decoders

      public Decoders()
  • Method Details

    • decompress

      public static DirectDecompress decompress(ByteBuffer compressed, ByteBuffer decompressed) throws IOException
      Decodes the given data buffer.
      Parameters:
      compressed - ByteBuffer source - will be read in full (position == limit after this call).
      decompressed - ByteBuffer destination - compressed data will be filled in beginning at position, up to remaining bytes; position is updated
      Returns:
      DirectDecompress instance - upon return, only the status code is still valid
      Throws:
      IOException - Thrown in case of error during decoding
    • decompress

      public static DirectDecompress decompress(io.netty.buffer.ByteBuf compressed, io.netty.buffer.ByteBuf decompressed) throws IOException
      Decodes the given data buffer.
      Parameters:
      compressed - ByteBuf source
      decompressed - ByteBuf destination
      Returns:
      DirectDecompress instance
      Throws:
      IOException - Thrown in case of error during encoding
    • decompress

      public static DirectDecompress decompress(io.netty.buffer.ByteBuf compressed, io.netty.buffer.ByteBuf decompressed, int maxOutputSize) throws IOException
      Decodes the given data buffer, failing if decompressed output would exceed maxOutputSize bytes. Use to mitigate decompression bombs.
      Parameters:
      compressed - ByteBuf source
      decompressed - ByteBuf destination
      maxOutputSize - cap on total decompressed bytes; 0 for no cap
      Returns:
      DirectDecompress instance
      Throws:
      IOException - If output exceeds maxOutputSize