pub struct InflateState {
decomp: DecompressorOxide,
dict: [u8; 32768],
dict_ofs: usize,
dict_avail: usize,
first_call: bool,
has_flushed: bool,
data_format: DataFormat,
last_status: TINFLStatus,
}
Expand description
A struct that compbines a decompressor with extra data for streaming decompression.
Fields§
§decomp: DecompressorOxide
§dict: [u8; 32768]
§dict_ofs: usize
§dict_avail: usize
§first_call: bool
§has_flushed: bool
§data_format: DataFormat
§last_status: TINFLStatus
Implementations§
source§impl InflateState
impl InflateState
sourcepub fn new(data_format: DataFormat) -> InflateState
pub fn new(data_format: DataFormat) -> InflateState
Create a new state.
Note that this struct is quite large due to internal buffers, and as such storing it on the stack is not recommended.
§Parameters
data_format
: Determines whether the compressed data is assumed to wrapped with zlib
metadata.
sourcepub fn new_boxed(data_format: DataFormat) -> Box<InflateState>
pub fn new_boxed(data_format: DataFormat) -> Box<InflateState>
Create a new state on the heap.
§Parameters
data_format
: Determines whether the compressed data is assumed to wrapped with zlib
metadata.
sourcepub fn decompressor(&mut self) -> &mut DecompressorOxide
pub fn decompressor(&mut self) -> &mut DecompressorOxide
Access the innner decompressor.
sourcepub const fn last_status(&self) -> TINFLStatus
pub const fn last_status(&self) -> TINFLStatus
Return the status of the last call to inflate
with this InflateState
.
sourcepub fn new_boxed_with_window_bits(window_bits: i32) -> Box<InflateState>
pub fn new_boxed_with_window_bits(window_bits: i32) -> Box<InflateState>
Create a new state using miniz/zlib style window bits parameter.
The decompressor does not support different window sizes. As such, any positive (>0) value will set the zlib header flag, while a negative one will not.
sourcepub fn reset(&mut self, data_format: DataFormat)
pub fn reset(&mut self, data_format: DataFormat)
Reset the decompressor without re-allocating memory, using the given data format.
sourcepub fn reset_as<T>(&mut self, policy: T)where
T: ResetPolicy,
pub fn reset_as<T>(&mut self, policy: T)where
T: ResetPolicy,
Resets the state according to specified policy.