Skip to main content

LzfWriter

Struct LzfWriter 

Source
pub struct LzfWriter<W: Write> { /* private fields */ }
Available on crate feature encoder only.
Expand description

Framed LZF stream writer. Writer that encodes framed LZF (ZV block stream).

Data written into this adapter is chunked into blocks and emitted as either compressed or uncompressed ZV blocks.

Implementations§

Source§

impl<W: Write> LzfWriter<W>

Source

pub fn new(inner: W, block_size: usize) -> Result<Self>

Creates a new framed LZF writer with the given block size (1..=65535).

Source

pub fn new_with_mode( inner: W, block_size: usize, mode: CompressionMode, ) -> Result<Self>

Creates a new framed LZF writer with an explicit compression mode.

Source

pub fn new_with_eof_marker(inner: W, block_size: usize) -> Result<Self>

Creates a writer and enables writing a trailing zero byte EOF marker on finish.

The marker matches the historical lzf utility stream behavior.

Source

pub fn new_with_eof_marker_and_mode( inner: W, block_size: usize, mode: CompressionMode, ) -> Result<Self>

Creates a writer and enables writing a trailing zero byte EOF marker on finish.

Compression mode is explicitly selected.

Source

pub fn into_inner(self) -> W

Unwraps the writer and returns the underlying writer.

Source

pub fn inner(&self) -> &W

Returns a shared reference to the underlying writer.

Source

pub fn inner_mut(&mut self) -> &mut W

Returns a mutable reference to the underlying writer.

Source

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

Finishes the stream and returns the underlying writer.

This flushes any pending input block. If EOF marker mode is enabled, a trailing zero byte is appended after the final block.

Source

pub fn auto_finish(self) -> AutoFinisher<Self>

Returns a wrapper that will call finish() on drop.

This is useful for best-effort stream finalization in scopes with early returns.

Trait Implementations§

Source§

impl<W: Write> Write for LzfWriter<W>

Source§

fn write(&mut self, buf: &[u8]) -> Result<usize>

Writes bytes from buf, returning the number of bytes written.
Source§

fn flush(&mut self) -> Result<()>

Flushes buffered output.
Source§

fn write_all(&mut self, buf: &[u8]) -> Result<()>

Writes all bytes from buf. Read more

Auto Trait Implementations§

§

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

§

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

§

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

§

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

§

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

§

impl<W> UnsafeUnpin for LzfWriter<W>
where W: UnsafeUnpin,

§

impl<W> UnwindSafe for LzfWriter<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>,

Source§

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>,

Source§

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.