pub struct ZstdEncoder<W> { /* private fields */ }Expand description
A zstd encoder, or compressor.
This structure implements an AsyncWrite interface and will
take in uncompressed data and write it compressed to an underlying stream.
Implementations§
source§impl<W> ZstdEncoder<W>where
W: AsyncWrite,
impl<W> ZstdEncoder<W>where
W: AsyncWrite,
sourcepub fn new(inner: W) -> ZstdEncoder<W>
pub fn new(inner: W) -> ZstdEncoder<W>
Creates a new encoder which will take in uncompressed data and write it compressed to the given stream.
sourcepub fn with_quality(inner: W, level: Level) -> ZstdEncoder<W>
pub fn with_quality(inner: W, level: Level) -> ZstdEncoder<W>
Creates a new encoder which will take in uncompressed data and write it compressed to the given stream.
sourcepub fn with_quality_and_params(
inner: W,
level: Level,
params: &[CParameter],
) -> ZstdEncoder<W>
pub fn with_quality_and_params( inner: W, level: Level, params: &[CParameter], ) -> ZstdEncoder<W>
Creates a new encoder, using the specified compression level and parameters, which will read uncompressed data from the given stream and emit a compressed stream.
§Panics
Panics if this function is called with a CParameter::nb_workers() parameter and
the zstdmt crate feature is not enabled.
sourcepub fn with_dict(
inner: W,
level: Level,
dictionary: &[u8],
) -> Result<ZstdEncoder<W>, Error>
pub fn with_dict( inner: W, level: Level, dictionary: &[u8], ) -> Result<ZstdEncoder<W>, Error>
Creates a new encoder, using the specified compression level and pre-trained dictionary, which will read uncompressed data from the given stream and emit a compressed stream.
Dictionaries provide better compression ratios for small files, but are required to be present during decompression.
§Errors
Returns error when dictionary is not valid.
sourcepub fn get_ref(&self) -> &W
pub fn get_ref(&self) -> &W
Acquires a reference to the underlying writer that this encoder is wrapping.
sourcepub fn get_mut(&mut self) -> &mut W
pub fn get_mut(&mut self) -> &mut W
Acquires a mutable reference to the underlying writer that this encoder is wrapping.
Note that care must be taken to avoid tampering with the state of the writer which may otherwise confuse this encoder.
sourcepub fn get_pin_mut(self: Pin<&mut ZstdEncoder<W>>) -> Pin<&mut W>
pub fn get_pin_mut(self: Pin<&mut ZstdEncoder<W>>) -> Pin<&mut W>
Acquires a pinned mutable reference to the underlying writer that this encoder is wrapping.
Note that care must be taken to avoid tampering with the state of the writer which may otherwise confuse this encoder.
sourcepub fn into_inner(self) -> W
pub fn into_inner(self) -> W
Consumes this encoder returning the underlying writer.
Note that this may discard internal state of this encoder, so care should be taken to avoid losing resources when this is called.
Trait Implementations§
source§impl<W> AsyncWrite for ZstdEncoder<W>where
W: AsyncWrite,
impl<W> AsyncWrite for ZstdEncoder<W>where
W: AsyncWrite,
source§fn poll_write(
self: Pin<&mut ZstdEncoder<W>>,
cx: &mut Context<'_>,
buf: &[u8],
) -> Poll<Result<usize, Error>>
fn poll_write( self: Pin<&mut ZstdEncoder<W>>, cx: &mut Context<'_>, buf: &[u8], ) -> Poll<Result<usize, Error>>
buf into the object. Read moresource§fn poll_flush(
self: Pin<&mut ZstdEncoder<W>>,
cx: &mut Context<'_>,
) -> Poll<Result<(), Error>>
fn poll_flush( self: Pin<&mut ZstdEncoder<W>>, cx: &mut Context<'_>, ) -> Poll<Result<(), Error>>
source§fn poll_shutdown(
self: Pin<&mut ZstdEncoder<W>>,
cx: &mut Context<'_>,
) -> Poll<Result<(), Error>>
fn poll_shutdown( self: Pin<&mut ZstdEncoder<W>>, cx: &mut Context<'_>, ) -> Poll<Result<(), Error>>
source§fn poll_write_vectored(
self: Pin<&mut Self>,
cx: &mut Context<'_>,
bufs: &[IoSlice<'_>],
) -> Poll<Result<usize, Error>>
fn poll_write_vectored( self: Pin<&mut Self>, cx: &mut Context<'_>, bufs: &[IoSlice<'_>], ) -> Poll<Result<usize, Error>>
poll_write, except that it writes from a slice of buffers. Read moresource§fn is_write_vectored(&self) -> bool
fn is_write_vectored(&self) -> bool
poll_write_vectored
implementation. Read more