[−][src]Struct deflate::write::DeflateEncoder
A DEFLATE encoder/compressor.
A struct implementing a Write
interface that takes unencoded data and compresses it to
the provided writer using DEFLATE compression.
Examples
use std::io::Write; use deflate::Compression; use deflate::write::DeflateEncoder; let data = b"This is some test data"; let mut encoder = DeflateEncoder::new(Vec::new(), Compression::Default); encoder.write_all(data)?; let compressed_data = encoder.finish()?;
Methods
impl<W: Write> DeflateEncoder<W>
[src]
ⓘImportant traits for DeflateEncoder<W>pub fn new<O: Into<CompressionOptions>>(
writer: W,
options: O
) -> DeflateEncoder<W>
[src]
writer: W,
options: O
) -> DeflateEncoder<W>
Creates a new encoder using the provided compression options.
pub fn finish(self) -> Result<W>
[src]
Encode all pending data to the contained writer, consume this DeflateEncoder
,
and return the contained writer if writing succeeds.
pub fn reset(&mut self, w: W) -> Result<W>
[src]
Resets the encoder (except the compression options), replacing the current writer with a new one, returning the old one.
Trait Implementations
impl<W: Write> Drop for DeflateEncoder<W>
[src]
fn drop(&mut self)
[src]
When the encoder is dropped, output the rest of the data.
WARNING: This may silently fail if writing fails, so using this to finish encoding
for writers where writing might fail is not recommended, for that call
finish()
instead.
impl<W: Write> Write for DeflateEncoder<W>
[src]
fn write(&mut self, buf: &[u8]) -> Result<usize>
[src]
fn flush(&mut self) -> Result<()>
[src]
Flush the encoder.
This will flush the encoder, emulating the Sync flush method from Zlib. This essentially finishes the current block, and sends an additional empty stored block to the writer.
fn write_vectored(&mut self, bufs: &[IoSlice]) -> Result<usize, Error>
1.36.0[src]
fn write_all(&mut self, buf: &[u8]) -> Result<(), Error>
1.0.0[src]
fn write_fmt(&mut self, fmt: Arguments) -> Result<(), Error>
1.0.0[src]
fn by_ref(&mut self) -> &mut Self
1.0.0[src]
Auto Trait Implementations
impl<W> Send for DeflateEncoder<W> where
W: Send,
W: Send,
impl<W> Unpin for DeflateEncoder<W> where
W: Unpin,
W: Unpin,
impl<W> Sync for DeflateEncoder<W> where
W: Sync,
W: Sync,
impl<W> UnwindSafe for DeflateEncoder<W> where
W: UnwindSafe,
W: UnwindSafe,
impl<W> RefUnwindSafe for DeflateEncoder<W> where
W: RefUnwindSafe,
W: RefUnwindSafe,
Blanket Implementations
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> From<T> for T
[src]
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>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<W> WriteBytesExt for W where
W: Write + ?Sized,
[src]
W: Write + ?Sized,
fn write_u8(&mut self, n: u8) -> Result<(), Error>
[src]
fn write_i8(&mut self, n: i8) -> Result<(), Error>
[src]
fn write_u16<T>(&mut self, n: u16) -> Result<(), Error> where
T: ByteOrder,
[src]
T: ByteOrder,
fn write_i16<T>(&mut self, n: i16) -> Result<(), Error> where
T: ByteOrder,
[src]
T: ByteOrder,
fn write_u24<T>(&mut self, n: u32) -> Result<(), Error> where
T: ByteOrder,
[src]
T: ByteOrder,
fn write_i24<T>(&mut self, n: i32) -> Result<(), Error> where
T: ByteOrder,
[src]
T: ByteOrder,
fn write_u32<T>(&mut self, n: u32) -> Result<(), Error> where
T: ByteOrder,
[src]
T: ByteOrder,
fn write_i32<T>(&mut self, n: i32) -> Result<(), Error> where
T: ByteOrder,
[src]
T: ByteOrder,
fn write_u48<T>(&mut self, n: u64) -> Result<(), Error> where
T: ByteOrder,
[src]
T: ByteOrder,
fn write_i48<T>(&mut self, n: i64) -> Result<(), Error> where
T: ByteOrder,
[src]
T: ByteOrder,
fn write_u64<T>(&mut self, n: u64) -> Result<(), Error> where
T: ByteOrder,
[src]
T: ByteOrder,
fn write_i64<T>(&mut self, n: i64) -> Result<(), Error> where
T: ByteOrder,
[src]
T: ByteOrder,
fn write_u128<T>(&mut self, n: u128) -> Result<(), Error> where
T: ByteOrder,
[src]
T: ByteOrder,
fn write_i128<T>(&mut self, n: i128) -> Result<(), Error> where
T: ByteOrder,
[src]
T: ByteOrder,
fn write_uint<T>(&mut self, n: u64, nbytes: usize) -> Result<(), Error> where
T: ByteOrder,
[src]
T: ByteOrder,
fn write_int<T>(&mut self, n: i64, nbytes: usize) -> Result<(), Error> where
T: ByteOrder,
[src]
T: ByteOrder,
fn write_uint128<T>(&mut self, n: u128, nbytes: usize) -> Result<(), Error> where
T: ByteOrder,
[src]
T: ByteOrder,
fn write_int128<T>(&mut self, n: i128, nbytes: usize) -> Result<(), Error> where
T: ByteOrder,
[src]
T: ByteOrder,
fn write_f32<T>(&mut self, n: f32) -> Result<(), Error> where
T: ByteOrder,
[src]
T: ByteOrder,
fn write_f64<T>(&mut self, n: f64) -> Result<(), Error> where
T: ByteOrder,
[src]
T: ByteOrder,