Skip to main content

ZlibDecoder

pub struct ZlibDecoder<R> { /* private fields */ }
Available on crate feature zlib only.
Expand description

A zlib decoder, or decompressor.

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

Implementations§

Source§

impl<R: AsyncBufRead> ZlibDecoder<R>

Source

pub fn new(read: R) -> ZlibDecoder<R>

Available on crate feature tokio-02 only.

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

Source

pub fn multiple_members(&mut self, enabled: bool)

Available on crate feature tokio-02 only.

Configure multi-member/frame decoding, if enabled this will reset the decoder state when reaching the end of a compressed member/frame and expect either EOF or another compressed member/frame to follow it in the stream.

Source

pub fn get_ref(&self) -> &R

Available on crate feature tokio-02 only.

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

Source

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

Available on crate feature tokio-02 only.

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 R>

Available on crate feature tokio-02 only.

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) -> R

Available on crate feature tokio-02 only.

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

Available on crate feature tokio-02 only.
Source§

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

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

unsafe fn prepare_uninitialized_buffer( &self, buf: &mut [MaybeUninit<u8>], ) -> bool

Prepares an uninitialized buffer to be safe to pass to read. Returns true if the supplied buffer was zeroed out. Read more
Source§

fn poll_read_buf<B>( self: Pin<&mut Self>, cx: &mut Context<'_>, buf: &mut B, ) -> Poll<Result<usize, Error>>
where B: BufMut, Self: Sized,

Pulls some bytes from this source into the specified BufMut, returning how many bytes were read. Read more
Source§

impl<R: Debug> Debug for ZlibDecoder<R>

Available on crate feature tokio-02 only.
Source§

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

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

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

Available on crate feature tokio-02 only.

Auto Trait Implementations§

§

impl<R> Freeze for ZlibDecoder<R>
where R: Freeze,

§

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

§

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

§

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

§

impl<R> UnsafeUnpin for ZlibDecoder<R>
where R: UnsafeUnpin,

§

impl<R> UnwindSafe for ZlibDecoder<R>
where R: 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<R> AsyncReadExt for R
where R: AsyncRead + ?Sized,

Source§

fn chain<R>(self, next: R) -> Chain<Self, R>
where Self: Sized, R: AsyncRead,

Creates a new AsyncRead instance that chains this stream with next. Read more
Source§

fn read<'a>(&'a mut self, buf: &'a mut [u8]) -> Read<'a, Self>
where Self: Unpin,

Pulls some bytes from this source into the specified buffer, returning how many bytes were read. Read more
Source§

fn read_buf<'a, B>(&'a mut self, buf: &'a mut B) -> ReadBuf<'a, Self, B>
where Self: Sized + Unpin, B: BufMut,

Pulls some bytes from this source into the specified buffer, advancing the buffer’s internal cursor. Read more
Source§

fn read_exact<'a>(&'a mut self, buf: &'a mut [u8]) -> ReadExact<'a, Self>
where Self: Unpin,

Reads the exact number of bytes required to fill buf. Read more
Source§

fn read_u8<'a>(&'a mut self) -> ReadU8<&'a mut Self>
where Self: Unpin,

Reads an unsigned 8 bit integer from the underlying reader. Read more
Source§

fn read_i8<'a>(&'a mut self) -> ReadI8<&'a mut Self>
where Self: Unpin,

Reads a signed 8 bit integer from the underlying reader. Read more
Source§

fn read_u16<'a>(&'a mut self) -> ReadU16<&'a mut Self>
where Self: Unpin,

Reads an unsigned 16-bit integer in big-endian order from the underlying reader. Read more
Source§

fn read_i16<'a>(&'a mut self) -> ReadI16<&'a mut Self>
where Self: Unpin,

Reads a signed 16-bit integer in big-endian order from the underlying reader. Read more
Source§

fn read_u32<'a>(&'a mut self) -> ReadU32<&'a mut Self>
where Self: Unpin,

Reads an unsigned 32-bit integer in big-endian order from the underlying reader. Read more
Source§

fn read_i32<'a>(&'a mut self) -> ReadI32<&'a mut Self>
where Self: Unpin,

Reads a signed 32-bit integer in big-endian order from the underlying reader. Read more
Source§

fn read_u64<'a>(&'a mut self) -> ReadU64<&'a mut Self>
where Self: Unpin,

Reads an unsigned 64-bit integer in big-endian order from the underlying reader. Read more
Source§

fn read_i64<'a>(&'a mut self) -> ReadI64<&'a mut Self>
where Self: Unpin,

Reads an signed 64-bit integer in big-endian order from the underlying reader. Read more
Source§

fn read_u128<'a>(&'a mut self) -> ReadU128<&'a mut Self>
where Self: Unpin,

Reads an unsigned 128-bit integer in big-endian order from the underlying reader. Read more
Source§

fn read_i128<'a>(&'a mut self) -> ReadI128<&'a mut Self>
where Self: Unpin,

Reads an signed 128-bit integer in big-endian order from the underlying reader. Read more
Source§

fn read_u16_le<'a>(&'a mut self) -> ReadU16Le<&'a mut Self>
where Self: Unpin,

Reads an unsigned 16-bit integer in little-endian order from the underlying reader. Read more
Source§

fn read_i16_le<'a>(&'a mut self) -> ReadI16Le<&'a mut Self>
where Self: Unpin,

Reads a signed 16-bit integer in little-endian order from the underlying reader. Read more
Source§

fn read_u32_le<'a>(&'a mut self) -> ReadU32Le<&'a mut Self>
where Self: Unpin,

Reads an unsigned 32-bit integer in little-endian order from the underlying reader. Read more
Source§

fn read_i32_le<'a>(&'a mut self) -> ReadI32Le<&'a mut Self>
where Self: Unpin,

Reads a signed 32-bit integer in little-endian order from the underlying reader. Read more
Source§

fn read_u64_le<'a>(&'a mut self) -> ReadU64Le<&'a mut Self>
where Self: Unpin,

Reads an unsigned 64-bit integer in little-endian order from the underlying reader. Read more
Source§

fn read_i64_le<'a>(&'a mut self) -> ReadI64Le<&'a mut Self>
where Self: Unpin,

Reads an signed 64-bit integer in little-endian order from the underlying reader. Read more
Source§

fn read_u128_le<'a>(&'a mut self) -> ReadU128Le<&'a mut Self>
where Self: Unpin,

Reads an unsigned 128-bit integer in little-endian order from the underlying reader. Read more
Source§

fn read_i128_le<'a>(&'a mut self) -> ReadI128Le<&'a mut Self>
where Self: Unpin,

Reads an signed 128-bit integer in little-endian order from the underlying reader. Read more
Source§

fn read_to_end<'a>(&'a mut self, buf: &'a mut Vec<u8>) -> ReadToEnd<'a, Self>
where Self: Unpin,

Reads all bytes until EOF in this source, placing them into buf. Read more
Source§

fn read_to_string<'a>( &'a mut self, dst: &'a mut String, ) -> ReadToString<'a, Self>
where Self: Unpin,

Reads all bytes until EOF in this source, appending them to buf. Read more
Source§

fn take(self, limit: u64) -> Take<Self>
where Self: Sized,

Creates an adaptor which reads at most limit bytes from it. 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, U> TryFrom<U> for T
where U: Into<T>,

Source§

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 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.