Struct bzip2::Compress [] [src]

pub struct Compress { /* fields omitted */ }

Representation of an in-memory compression stream.

An instance of Compress can be used to compress a stream of bz2 data.

Methods

impl Compress
[src]

[src]

Creates a new stream prepared for compression.

The work_factor parameter controls how the compression phase behaves when presented with worst case, highly repetitive, input data. If compression runs into difficulties caused by repetitive data, the library switches from the standard sorting algorithm to a fallback algorithm. The fallback is slower than the standard algorithm by perhaps a factor of three, but always behaves reasonably, no matter how bad the input.

Lower values of work_factor reduce the amount of effort the standard algorithm will expend before resorting to the fallback. You should set this parameter carefully; too low, and many inputs will be handled by the fallback algorithm and so compress rather slowly, too high, and your average-to-worst case compression times can become very large. The default value of 30 gives reasonable behaviour over a wide range of circumstances.

Allowable values range from 0 to 250 inclusive. 0 is a special case, equivalent to using the default value of 30.

[src]

Compress a block of input into a block of output.

If anything other than BZ_OK is seen, Err is returned. The action given must be one of Run, Flush or Finish.

[src]

Compress a block of input into an output vector.

This function will not grow output, but it will fill the space after its current length up to its capacity. The length of the vector will be adjusted appropriately.

[src]

Total number of bytes processed as input

[src]

Total number of bytes processed as output

Trait Implementations

Auto Trait Implementations

impl Send for Compress

impl Sync for Compress