[−][src]Struct lzzzz::lz4f::AsyncWriteDecompressor
This is supported on
feature="tokio-io"
only.The AsyncWrite
-based streaming decompressor.
Example
use lzzzz::lz4f::{compress_to_vec, AsyncWriteDecompressor}; use tokio::{fs::File, prelude::*}; let mut f = File::create("foo.txt").await?; let mut w = AsyncWriteDecompressor::new(&mut f)?; let mut buf = Vec::new(); compress_to_vec(b"Hello world!", &mut buf, &Default::default())?; w.write_all(&buf).await?;
Implementations
impl<'a, W: AsyncWrite + Unpin> AsyncWriteDecompressor<'a, W>
[src]
pub fn new(writer: W) -> Result<Self>
[src]
Creates a new AsyncWriteDecompressor<W>
.
pub fn set_dict<D>(&mut self, dict: D) where
D: Into<Cow<'a, [u8]>>,
[src]
D: Into<Cow<'a, [u8]>>,
Sets the dictionary.
pub fn frame_info(&self) -> Option<FrameInfo>
[src]
Returns FrameInfo
if the frame header is already decoded.
Otherwise, returns None
.
pub fn decode_header_only(&mut self, flag: bool)
[src]
Sets the 'header-only' mode.
When the 'header-only' mode is enabled, the decompressor doesn't
consume the frame body and poll_write()
always returns Ok(0)
if the frame header is already decoded.
Trait Implementations
impl<W: AsyncWrite + Unpin, '_> AsyncWrite for AsyncWriteDecompressor<'_, W>
[src]
fn poll_write(
self: Pin<&mut Self>,
cx: &mut Context,
buf: &[u8]
) -> Poll<Result<usize>>
[src]
self: Pin<&mut Self>,
cx: &mut Context,
buf: &[u8]
) -> Poll<Result<usize>>
fn poll_flush(self: Pin<&mut Self>, cx: &mut Context) -> Poll<Result<()>>
[src]
fn poll_shutdown(self: Pin<&mut Self>, cx: &mut Context) -> Poll<Result<()>>
[src]
fn poll_write_buf<B>(
self: Pin<&mut Self>,
cx: &mut Context,
buf: &mut B
) -> Poll<Result<usize, Error>> where
B: Buf,
[src]
self: Pin<&mut Self>,
cx: &mut Context,
buf: &mut B
) -> Poll<Result<usize, Error>> where
B: Buf,
impl<'a, W: AsyncWrite + Unpin> PinnedDrop for AsyncWriteDecompressor<'a, W>
[src]
impl<'pin, 'a, W: AsyncWrite + Unpin> Unpin for AsyncWriteDecompressor<'a, W> where
__AsyncWriteDecompressor<'pin, 'a, W>: Unpin,
[src]
__AsyncWriteDecompressor<'pin, 'a, W>: Unpin,
impl<'a, W: AsyncWrite + Unpin> UnsafeUnpin for AsyncWriteDecompressor<'a, W>
[src]
Auto Trait Implementations
impl<'a, W> RefUnwindSafe for AsyncWriteDecompressor<'a, W> where
W: RefUnwindSafe,
W: RefUnwindSafe,
impl<'a, W> Send for AsyncWriteDecompressor<'a, W> where
W: Send,
W: Send,
impl<'a, W> !Sync for AsyncWriteDecompressor<'a, W>
impl<'a, W> UnwindSafe for AsyncWriteDecompressor<'a, W> where
W: UnwindSafe,
W: UnwindSafe,
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<W> AsyncWriteExt for W where
W: AsyncWrite + ?Sized,
[src]
W: AsyncWrite + ?Sized,
fn write(&'a mut self, src: &'a [u8]) -> Write<'a, Self> where
Self: Unpin,
[src]
Self: Unpin,
fn write_buf<B>(&'a mut self, src: &'a mut B) -> WriteBuf<'a, Self, B> where
B: Buf,
Self: Unpin,
[src]
B: Buf,
Self: Unpin,
fn write_all(&'a mut self, src: &'a [u8]) -> WriteAll<'a, Self> where
Self: Unpin,
[src]
Self: Unpin,
fn write_u8(&'a mut self, n: u8) -> WriteU8<&'a mut Self> where
Self: Unpin,
[src]
Self: Unpin,
fn write_i8(&'a mut self, n: i8) -> WriteI8<&'a mut Self> where
Self: Unpin,
[src]
Self: Unpin,
fn write_u16(&'a mut self, n: u16) -> WriteU16<&'a mut Self> where
Self: Unpin,
[src]
Self: Unpin,
fn write_i16(&'a mut self, n: i16) -> WriteI16<&'a mut Self> where
Self: Unpin,
[src]
Self: Unpin,
fn write_u32(&'a mut self, n: u32) -> WriteU32<&'a mut Self> where
Self: Unpin,
[src]
Self: Unpin,
fn write_i32(&'a mut self, n: i32) -> WriteI32<&'a mut Self> where
Self: Unpin,
[src]
Self: Unpin,
fn write_u64(&'a mut self, n: u64) -> WriteU64<&'a mut Self> where
Self: Unpin,
[src]
Self: Unpin,
fn write_i64(&'a mut self, n: i64) -> WriteI64<&'a mut Self> where
Self: Unpin,
[src]
Self: Unpin,
fn write_u128(&'a mut self, n: u128) -> WriteU128<&'a mut Self> where
Self: Unpin,
[src]
Self: Unpin,
fn write_i128(&'a mut self, n: i128) -> WriteI128<&'a mut Self> where
Self: Unpin,
[src]
Self: Unpin,
fn write_u16_le(&'a mut self, n: u16) -> WriteU16Le<&'a mut Self> where
Self: Unpin,
[src]
Self: Unpin,
fn write_i16_le(&'a mut self, n: i16) -> WriteI16Le<&'a mut Self> where
Self: Unpin,
[src]
Self: Unpin,
fn write_u32_le(&'a mut self, n: u32) -> WriteU32Le<&'a mut Self> where
Self: Unpin,
[src]
Self: Unpin,
fn write_i32_le(&'a mut self, n: i32) -> WriteI32Le<&'a mut Self> where
Self: Unpin,
[src]
Self: Unpin,
fn write_u64_le(&'a mut self, n: u64) -> WriteU64Le<&'a mut Self> where
Self: Unpin,
[src]
Self: Unpin,
fn write_i64_le(&'a mut self, n: i64) -> WriteI64Le<&'a mut Self> where
Self: Unpin,
[src]
Self: Unpin,
fn write_u128_le(&'a mut self, n: u128) -> WriteU128Le<&'a mut Self> where
Self: Unpin,
[src]
Self: Unpin,
fn write_i128_le(&'a mut self, n: i128) -> WriteI128Le<&'a mut Self> where
Self: Unpin,
[src]
Self: Unpin,
fn flush(&mut self) -> Flush<Self> where
Self: Unpin,
[src]
Self: Unpin,
fn shutdown(&mut self) -> Shutdown<Self> where
Self: Unpin,
[src]
Self: Unpin,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,