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.

Implementations

impl Compress[src]

pub fn new(lvl: Compression, work_factor: u32) -> Compress[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.

pub fn compress(
    &mut self,
    input: &[u8],
    output: &mut [u8],
    action: Action
) -> Result<Status, Error>
[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.

pub fn compress_vec(
    &mut self,
    input: &[u8],
    output: &mut Vec<u8>,
    action: Action
) -> Result<Status, Error>
[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.

pub fn total_in(&self) -> u64[src]

Total number of bytes processed as input

pub fn total_out(&self) -> u64[src]

Total number of bytes processed as output

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.