Struct bzip2::Compress [−][src]
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]
&mut self,
input: &[u8],
output: &mut [u8],
action: Action
) -> Result<Status, Error>
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]
&mut self,
input: &[u8],
output: &mut Vec<u8>,
action: Action
) -> Result<Status, Error>
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
impl RefUnwindSafe for Compress
impl Send for Compress
impl Sync for Compress
impl Unpin for Compress
impl UnwindSafe for Compress
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,