Class Inflater

A pure Toit DEFLATE Inflater (zlib decompresser).
To use this implementation, you must supply an InflateHistory object to help decompress, by remembering previously decompressed data. For example, if the decompressed data is being written into flash, that InflateHistory object could find the data in flash.

Class summary


constructor history/InflateHistory --window-size/int= --zlib-header/bool=
If a reduced window size (look-behind distance) is set here, then that is the maximum size that will be buffered. The zlib header may specify an even smaller window size, but will be ignored if it specifies a larger window size.

Constructors

constructor history/InflateHistory --window-size/int=32768 --zlib-header/bool=true
If a reduced window size (look-behind distance) is set here, then that is the maximum size that will be buffered. The zlib header may specify an even smaller window size, but will be ignored if it specifies a larger window size.

Methods

close -> none
Closes the writer.
Deprecated. Use out.close instead.

A reader that can be used to read the compressed or decompressed data output by the Encoder or Decoder.
By default the CompressionReader blocks until there is data available.
Use CompressionReader.read with the '--wait' flag set to false to get an empty ByteArray when the buffers are empty, and a call to the write method is needed.

operator == other/any -> bool
Whether this object is equal to the other.
By default, identical is used for equality.
Inheritance
Classes overwrite this operator to get an equality specific to their needs. Equality operators often compare the type and field contents. For example:

class Pin:
  number/int

  constructor .number:

  operator == other:
    if other is not Pin: return false
    return number == other.number
A class doesn't have to follow the above format, but it must keep the operator in sync with any hash-code method. That is, if a class has a hash-code member, then the equality and hash-code must agree. If two instances are equal (a == b), then their hash codes must also be equal (a.hash-code == b.hash-code).

A writer that can be used to write data to the Encoder or Decoder.
If the writers io.Writer.try-write returns 0, then that means that the read method must be called because the buffers are full.

Deprecated. Use in instead.

Stringifies this object.
Inheritance
Objects that need a human-friendly string representation should overwrite this method. The default string is based on the internal class-ID.

write --wait/bool=true data/Data from/int=0 to/int=data.byte-size -> int
Writes data to the compressor or decompressor.
If wait is false, it may return before all data has been written. If it returns zero, then that means the read method must be called because the buffers are full.
Deprecated. Use out.try-write or out.write instead.