Struct fdeflate::compress::StoredOnlyCompressor

source ·
pub struct StoredOnlyCompressor<W> {
    writer: W,
    checksum: Adler32,
    block_bytes: u16,
}
Expand description

Compressor that only writes the stored blocks.

This is useful for writing files that are not compressed, but still need to be wrapped in a zlib stream.

Fields§

§writer: W§checksum: Adler32§block_bytes: u16

Implementations§

source§

impl<W: Write + Seek> StoredOnlyCompressor<W>

source

pub fn new(writer: W) -> Result<Self>

Creates a new StoredOnlyCompressor that writes to the given writer.

source

fn set_block_header(&mut self, size: u16, last: bool) -> Result<()>

source

pub fn write_data(&mut self, data: &[u8]) -> Result<()>

Writes the given data to the underlying writer.

source

pub fn finish(self) -> Result<W>

Finish writing the final block and return the underlying writer.

source§

impl<W> StoredOnlyCompressor<W>

source

pub fn compressed_size(raw_size: usize) -> usize

Return the number of bytes that will be written to the output stream for the given input size. Because this compressor only writes stored blocks, the output size is always slightly larger than the input size.

Auto Trait Implementations§

§

impl<W> Freeze for StoredOnlyCompressor<W>
where W: Freeze,

§

impl<W> RefUnwindSafe for StoredOnlyCompressor<W>
where W: RefUnwindSafe,

§

impl<W> Send for StoredOnlyCompressor<W>
where W: Send,

§

impl<W> Sync for StoredOnlyCompressor<W>
where W: Sync,

§

impl<W> Unpin for StoredOnlyCompressor<W>
where W: Unpin,

§

impl<W> UnwindSafe for StoredOnlyCompressor<W>
where W: UnwindSafe,

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

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

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.