async_compression::futures::bufread

Struct XzDecoder

Source
pub struct XzDecoder<R> { /* private fields */ }
Available on crate features futures-io and xz only.
Expand description

A xz 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> XzDecoder<R>

Source

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

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

Source

pub fn with_mem_limit(read: R, memlimit: u64) -> Self

Creates a new decoder with the specified limit of memory.

§Errors

An IO error may be returned during decoding if the specified limit is too small.

Source§

impl<R> XzDecoder<R>

Source

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

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

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

Source

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

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>

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

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

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, Error>>

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

impl<R: AsyncWrite> AsyncWrite for XzDecoder<R>

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

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

impl<R: Debug> Debug for XzDecoder<R>

Source§

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

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

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

Auto Trait Implementations§

§

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

§

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

§

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

§

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

§

impl<R> UnwindSafe for XzDecoder<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<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.