Struct async_compression::tokio::write::ZstdEncoder
source · 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: AsyncWrite> ZstdEncoder<W>
impl<W: AsyncWrite> ZstdEncoder<W>
sourcepub fn new(inner: W) -> Self
pub fn new(inner: W) -> Self
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) -> Self
pub fn with_quality(inner: W, level: Level) -> Self
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],
) -> Self
pub fn with_quality_and_params( inner: W, level: Level, params: &[CParameter], ) -> Self
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<Self>
pub fn with_dict(inner: W, level: Level, dictionary: &[u8]) -> Result<Self>
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 Self>) -> Pin<&mut W>
pub fn get_pin_mut(self: Pin<&mut Self>) -> 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> AsyncWrite for ZstdEncoder<W>
impl<W: AsyncWrite> AsyncWrite for ZstdEncoder<W>
source§fn poll_write(
self: Pin<&mut Self>,
cx: &mut Context<'_>,
buf: &[u8],
) -> Poll<Result<usize>>
fn poll_write( self: Pin<&mut Self>, cx: &mut Context<'_>, buf: &[u8], ) -> Poll<Result<usize>>
buf
into the object. Read moresource§fn poll_flush(self: Pin<&mut Self>, cx: &mut Context<'_>) -> Poll<Result<()>>
fn poll_flush(self: Pin<&mut Self>, cx: &mut Context<'_>) -> Poll<Result<()>>
source§fn poll_shutdown(self: Pin<&mut Self>, cx: &mut Context<'_>) -> Poll<Result<()>>
fn poll_shutdown(self: Pin<&mut Self>, cx: &mut Context<'_>) -> Poll<Result<()>>
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