Struct flate2::Compress [−][src]
Raw in-memory compression stream for blocks of data.
This type is the building block for the I/O streams in the rest of this
crate. It requires more management than the Read
/Write
API but is
maximally flexible in terms of accepting input from any source and being
able to produce output to any memory location.
It is recommended to use the I/O stream adaptors over this type as they’re easier to use.
Implementations
impl Compress
[src]
pub fn new(level: Compression, zlib_header: bool) -> Compress
[src]
Creates a new object ready for compressing data that it’s given.
The level
argument here indicates what level of compression is going
to be performed, and the zlib_header
argument indicates whether the
output data should have a zlib header or not.
pub fn new_with_window_bits(
level: Compression,
zlib_header: bool,
window_bits: u8
) -> Compress
[src]
level: Compression,
zlib_header: bool,
window_bits: u8
) -> Compress
Creates a new object ready for compressing data that it’s given.
The level
argument here indicates what level of compression is going
to be performed, and the zlib_header
argument indicates whether the
output data should have a zlib header or not. The window_bits
parameter
indicates the base-2 logarithm of the sliding window size and must be
between 9 and 15.
Panics
If window_bits
does not fall into the range 9 ..= 15,
new_with_window_bits
will panic.
Note
This constructor is only available when the zlib
feature is used.
Other backends currently do not support custom window bits.
pub fn total_in(&self) -> u64
[src]
Returns the total number of input bytes which have been processed by this compression object.
pub fn total_out(&self) -> u64
[src]
Returns the total number of output bytes which have been produced by this compression object.
pub fn set_dictionary(
&mut self,
dictionary: &[u8]
) -> Result<u32, CompressError>
[src]
&mut self,
dictionary: &[u8]
) -> Result<u32, CompressError>
Specifies the compression dictionary to use.
Returns the Adler-32 checksum of the dictionary.
pub fn reset(&mut self)
[src]
Quickly resets this compressor without having to reallocate anything.
This is equivalent to dropping this object and then creating a new one.
pub fn set_level(&mut self, level: Compression) -> Result<(), CompressError>
[src]
Dynamically updates the compression level.
This can be used to switch between compression levels for different kinds of data, or it can be used in conjunction with a call to reset to reuse the compressor.
This may return an error if there wasn’t enough output space to complete the compression of the available input data before changing the compression level. Flushing the stream before calling this method ensures that the function will succeed on the first call.
pub fn compress(
&mut self,
input: &[u8],
output: &mut [u8],
flush: FlushCompress
) -> Result<Status, CompressError>
[src]
&mut self,
input: &[u8],
output: &mut [u8],
flush: FlushCompress
) -> Result<Status, CompressError>
Compresses the input data into the output, consuming only as much input as needed and writing as much output as possible.
The flush option can be any of the available FlushCompress
parameters.
To learn how much data was consumed or how much output was produced, use
the total_in
and total_out
functions before/after this is called.
pub fn compress_vec(
&mut self,
input: &[u8],
output: &mut Vec<u8>,
flush: FlushCompress
) -> Result<Status, CompressError>
[src]
&mut self,
input: &[u8],
output: &mut Vec<u8>,
flush: FlushCompress
) -> Result<Status, CompressError>
Compresses the input data into the extra space of the output, consuming only as much input as needed and writing as much output as possible.
This function has the same semantics as compress
, except that the
length of vec
is managed by this function. This will not reallocate
the vector provided or attempt to grow it, so space for the output must
be reserved in the output vector by the caller before calling this
function.
Trait Implementations
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>,