async_compression::futures::write

Struct ZlibEncoder

source
pub struct ZlibEncoder<W> { /* private fields */ }
Available on crate features futures-io and zlib only.
Expand description

A zlib 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> ZlibEncoder<W>

source

pub fn new(inner: W) -> Self

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

source

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.

source

pub fn total_in(&self) -> u64

Returns the total number of input bytes which have been processed by this compression object.

source

pub fn total_out(&self) -> u64

Returns the total number of output bytes which have been produced by this compression object.

source§

impl<W> ZlibEncoder<W>

source

pub fn get_ref(&self) -> &W

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

source

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.

source

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.

source

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: AsyncBufRead> AsyncBufRead for ZlibEncoder<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 ZlibEncoder<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 ZlibEncoder<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 ZlibEncoder<W>

source§

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

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

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

Auto Trait Implementations§

§

impl<W> Freeze for ZlibEncoder<W>
where W: Freeze,

§

impl<W> RefUnwindSafe for ZlibEncoder<W>
where W: RefUnwindSafe,

§

impl<W> Send for ZlibEncoder<W>
where W: Send,

§

impl<W> Sync for ZlibEncoder<W>
where W: Sync,

§

impl<W> UnwindSafe for ZlibEncoder<W>
where W: 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.