Beast Logo


Update the compression level and strategy.

    z_params& zs,
    int level,
    Strategy strategy,
    error_code& ec);

This function dynamically updates the compression level and compression strategy. The interpretation of level and strategy is as in zlib::deflate_stream::reset. This can be used to switch between compression and straight copy of the input data, or to switch to a different kind of input data requiring a different strategy. If the compression level is changed, the input available so far is compressed with the old level (and may be flushed); the new level will take effect only at the next call of zlib::deflate_stream::write.

Before the call of params, the stream state must be set as for a call of zlib::deflate_stream::write, since the currently available input may have to be compressed and flushed. In particular, zs.avail_out must be non-zero.

Return Value

Z_OK if success, Z_STREAM_ERROR if the source stream state was inconsistent or if a parameter was invalid, error::need_buffers if zs.avail_out was zero.