gossamer/compression/compression_stream

A transform stream that compresses its input. Pipe uncompressed bytes through to produce a compressed byte stream. Pair with gossamer/compression/decompression_stream for the inverse.

Types

A transform stream that compresses its input. Write uncompressed bytes to writable(stream); read compressed bytes from readable(stream).

See CompressionStream on MDN.

Examples

let compressor = compression_stream.new(compression.Gzip)
pub type CompressionStream

Values

pub fn new(
  format: compression.CompressionFormat,
) -> CompressionStream

Creates a CompressionStream for the given format.

pub fn read_write_pair(
  stream: CompressionStream,
) -> #(
  readable_stream.ReadableStream(BitArray),
  writable_stream.WritableStream(BitArray),
)

Returns the readable and writable sides of the stream as a tuple. Convenient for passing directly to readable_stream.pipe_through.

pub fn readable(
  stream: CompressionStream,
) -> readable_stream.ReadableStream(BitArray)

The readable side of the stream — produces compressed bytes.

pub fn writable(
  stream: CompressionStream,
) -> writable_stream.WritableStream(BitArray)

The writable side of the stream — accepts uncompressed byte chunks.

Search Document