1
0
mirror of https://github.com/danog/byte-stream.git synced 2024-11-26 20:04:51 +01:00
byte-stream/docs/compression-streams.md
Niklas Keller 957d190034 Fix typo
2017-06-12 23:04:28 +02:00

1.1 KiB

title permalink
Compression Streams /compression-streams

This package implements compression and decompression streams based on Zlib. ZlibOutputStream can be used for compression, while ZlibInputStream can be used for decompression. Both can simply wrap an existing stream to apply them. Both accept an $encoding and $options parameter in their constructor.

Examples

$inputStream = new ResourceInputStream(STDIN);
$gzInputStream = new ZlibInputStream($inputStream, \ZLIB_ENCODING_GZIP);

while (null !== $chunk = yield $gzInputStream) {
    print $chunk;
}
$outputStream = new ResourceOutputStream(STDOUT);
$gzOutputStream = new ZlibOutputStream($outputStream, \ZLIB_ENCODING_GZIP);

for ($i = 0; $i < 100; $i++) {
    yield $gzOutputStream->write(bin2hex(random_bytes(32));
}

yield $gzOutputStream->end();

See also