Skip to main content

MzstdDecoder

Struct MzstdDecoder 

Source
pub struct MzstdDecoder<W> { /* private fields */ }
Available on async_compression_unstable and crate feature futures-io and crate feature zstd-mzstd only.
Expand description

A zstd-mzstd decoder, or decompressor

This structure implements an AsyncWrite interface and will take in compressed data and write it, uncompressed, to an underlying stream.

Implementations§

Source§

impl<W: AsyncWrite> MzstdDecoder<W>

Source

pub fn new(read: W) -> MzstdDecoder<W>

Creates a new decoder which will take in compressed data and write it, uncompressed, to the given stream.

Source

pub fn with_codec(read: W, codec: MzstdDecoder) -> MzstdDecoder<W>

Creates a new decoder with the given codec, which will take in compressed data and write it, uncompressed, to the given stream.

Source

pub fn with_params(inner: W, params: &[DParameter]) -> Self

Creates a new decoder, using the specified parameters, which will read compressed data from the given stream and emit a decompressed stream.

§Panics

Panics if a parameter is out of range.

Source

pub fn with_dict(inner: W, dictionary: &[u8]) -> Result<Self>

Creates a new decoder, using the specified pre-trained dictionary, which will read compressed data from the given stream and emit an uncompressed stream.

Dictionaries provide better compression ratios for small files, but are required to be present during decompression. The dictionary used must be the same as the one used for compression.

§Errors

Returns error when dictionary is not valid.

Source§

impl<W> MzstdDecoder<W>

Source

pub fn get_ref(&self) -> &W

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

Source

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

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

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

Source

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

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

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

Source

pub fn into_inner(self) -> W

Consumes this decoder returning the underlying reader.

Note that this may discard internal state of this decoder, so care should be taken to avoid losing resources when this is called.

Trait Implementations§

Source§

impl<W: AsyncBufRead> AsyncBufRead for MzstdDecoder<W>

Source§

fn poll_fill_buf( self: Pin<&mut Self>, cx: &mut Context<'_>, ) -> Poll<Result<&[u8]>>

Attempt to return the contents of the internal buffer, filling it with more data from the inner reader if it is empty. Read more
Source§

fn consume(self: Pin<&mut Self>, amt: usize)

Tells this buffer that amt bytes have been consumed from the buffer, so they should no longer be returned in calls to poll_read. Read more
Source§

impl<W: AsyncRead> AsyncRead for MzstdDecoder<W>

Source§

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

Attempt to read from the AsyncRead into buf. Read more
Source§

fn poll_read_vectored( self: Pin<&mut Self>, cx: &mut Context<'_>, bufs: &mut [IoSliceMut<'_>], ) -> Poll<Result<usize>>

Attempt to read from the AsyncRead into bufs using vectored IO operations. Read more
Source§

impl<W: AsyncWrite> AsyncWrite for MzstdDecoder<W>

Source§

fn poll_write( self: Pin<&mut Self>, cx: &mut Context<'_>, buf: &[u8], ) -> Poll<Result<usize>>

Attempt to write bytes from buf into the object. Read more
Source§

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

Attempt to flush the object, ensuring that any buffered data reach their destination. Read more
Source§

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

Attempt to close the object. Read more
Source§

fn poll_write_vectored( self: Pin<&mut Self>, cx: &mut Context<'_>, bufs: &[IoSlice<'_>], ) -> Poll<Result<usize, Error>>

Attempt to write bytes from bufs into the object using vectored IO operations. Read more
Source§

impl<W: Debug> Debug for MzstdDecoder<W>

Source§

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

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

impl<'__pin, W> Unpin for MzstdDecoder<W>
where PinnedFieldsOf<__Origin<'__pin, W>>: Unpin,

Auto Trait Implementations§

§

impl<W> Freeze for MzstdDecoder<W>
where Decoder<W, MzstdDecoder>: Freeze,

§

impl<W> RefUnwindSafe for MzstdDecoder<W>
where Decoder<W, MzstdDecoder>: RefUnwindSafe,

§

impl<W> Send for MzstdDecoder<W>
where Decoder<W, MzstdDecoder>: Send,

§

impl<W> Sync for MzstdDecoder<W>
where Decoder<W, MzstdDecoder>: Sync,

§

impl<W> UnsafeUnpin for MzstdDecoder<W>
where Decoder<W, MzstdDecoder>: UnsafeUnpin,

§

impl<W> UnwindSafe for MzstdDecoder<W>
where Decoder<W, MzstdDecoder>: 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, S> SimdFrom<T, S> for T
where S: Simd,

Source§

fn simd_from(_simd: S, value: T) -> T

Source§

impl<F, T, S> SimdInto<T, S> for F
where T: SimdFrom<F, S>, S: Simd,

Source§

fn simd_into(self, simd: S) -> T

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, !>

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.