pub struct ZstdEncoder<R> { /* private fields */ }
Available on crate features tokio and zstd only.
Expand description

A zstd encoder, or compressor.

This structure implements an AsyncRead interface and will read uncompressed data from an underlying stream and emit a stream of compressed data.

Implementations§

source§

impl<R: AsyncBufRead> ZstdEncoder<R>

source

pub fn new(inner: R) -> Self

Creates a new encoder which will read uncompressed data from the given stream and emit a compressed stream.

source

pub fn with_quality(inner: R, level: Level) -> Self

Creates a new encoder which will read uncompressed data from the given stream and emit a compressed stream.

source

pub fn with_quality_and_params( inner: R, 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.

source

pub fn with_dict(inner: R, 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.

source

pub fn get_ref(&self) -> &R

Acquires a reference to the underlying reader that this encoder is wrapping.

source

pub fn get_mut(&mut self) -> &mut R

Acquires a mutable reference to the underlying reader that this encoder is wrapping.

Note that care must be taken to avoid tampering with the state of the reader which may otherwise confuse this encoder.

source

pub fn get_pin_mut(self: Pin<&mut Self>) -> Pin<&mut R>

Acquires a pinned mutable reference to the underlying reader that this encoder is wrapping.

Note that care must be taken to avoid tampering with the state of the reader which may otherwise confuse this encoder.

source

pub fn into_inner(self) -> R

Consumes this encoder returning the underlying reader.

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<R: AsyncBufRead> AsyncRead for ZstdEncoder<R>

source§

fn poll_read( self: Pin<&mut Self>, cx: &mut Context<'_>, buf: &mut ReadBuf<'_> ) -> Poll<Result<()>>

Attempts to read from the AsyncRead into buf. Read more
source§

impl<R: Debug> Debug for ZstdEncoder<R>

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<'__pin, R> Unpin for ZstdEncoder<R>where __Origin<'__pin, R>: Unpin,

Auto Trait Implementations§

§

impl<R> RefUnwindSafe for ZstdEncoder<R>where R: RefUnwindSafe,

§

impl<R> Send for ZstdEncoder<R>where R: Send,

§

impl<R> Sync for ZstdEncoder<R>where R: Sync,

§

impl<R> UnwindSafe for ZstdEncoder<R>where R: UnwindSafe,

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere 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 Twhere 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 Twhere 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 Twhere 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.