Struct zstd::stream::zio::Writer [−][src]
Implements the Write
API around an Operation
.
This can be used to wrap a raw in-memory operation in a write-focused API.
It can be used with either compression or decompression, and forwards the
output to a wrapped Write
.
Implementations
impl<W, D> Writer<W, D> where
W: Write,
D: Operation,
[src][−]
W: Write,
D: Operation,
pub fn new(writer: W, operation: D) -> Self
[src][−]
Creates a new Writer
.
All output from the given operation will be forwarded to writer
.
pub fn finish(&mut self) -> Result<()>
[src][−]
Ends the stream.
This must be called after all data has been written to finish the stream.
If you forget to call this and just drop the Writer
, you will have
an incomplete output.
Keep calling it until it returns Ok(())
, then don’t call it again.
pub fn into_inner(self) -> (W, D)
[src][−]
Return the wrapped Writer
and Operation
.
Careful: if you call this before calling Writer::finish()
, the
output may be incomplete.
pub fn writer(&self) -> &W
[src][−]
Gives a reference to the inner writer.
pub fn writer_mut(&mut self) -> &mut W
[src][−]
Gives a mutable reference to the inner writer.
pub fn operation(&self) -> &D
[src][−]
Gives a reference to the inner operation.
pub fn operation_mut(&mut self) -> &mut D
[src][−]
Gives a mutable reference to the inner operation.
Trait Implementations
Auto Trait Implementations
impl<W, D> RefUnwindSafe for Writer<W, D> where
D: RefUnwindSafe,
W: RefUnwindSafe,
D: RefUnwindSafe,
W: RefUnwindSafe,
impl<W, D> Send for Writer<W, D> where
D: Send,
W: Send,
D: Send,
W: Send,
impl<W, D> Sync for Writer<W, D> where
D: Sync,
W: Sync,
D: Sync,
W: Sync,
impl<W, D> Unpin for Writer<W, D> where
D: Unpin,
W: Unpin,
D: Unpin,
W: Unpin,
impl<W, D> UnwindSafe for Writer<W, D> where
D: UnwindSafe,
W: UnwindSafe,
D: UnwindSafe,
W: UnwindSafe,
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,
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>,
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src][+]
U: TryFrom<T>,