pub struct Encoder(/* private fields */);Expand description
A streaming encoder for any Format.
§Examples
use compress_lib::{Encoder, Format, Level, deflate::Flush, gzip};
let mut enc = Encoder::new(Format::Gzip, Level::DEFAULT);
let mut out = Vec::new();
enc.compress_vec(b"response body", &mut out, Flush::Finish)?;
assert_eq!(gzip::decompress(&out)?, b"response body");Implementations§
Source§impl Encoder
impl Encoder
Sourcepub fn new(format: Format, level: Level) -> Self
pub fn new(format: Format, level: Level) -> Self
An encoder for format at level.
§Examples
use compress_lib::{Encoder, Format, Level};
assert_eq!(Encoder::new(Format::Zlib, Level::FAST).format(), Format::Zlib);Sourcepub fn format(&self) -> Format
pub fn format(&self) -> Format
The format written.
§Examples
use compress_lib::{Encoder, Format, Level};
assert_eq!(Encoder::new(Format::Raw, Level::FAST).format(), Format::Raw);Sourcepub fn compress(
&mut self,
input: &[u8],
output: &mut [u8],
flush: Flush,
) -> Result<Progress, Error>
pub fn compress( &mut self, input: &[u8], output: &mut [u8], flush: Flush, ) -> Result<Progress, Error>
As Deflater::compress, with the format’s header and trailer.
§Errors
As Deflater::compress.
§Examples
use compress_lib::{Encoder, Format, Level, deflate::{Flush, Status}};
let mut enc = Encoder::new(Format::Zlib, Level::DEFAULT);
let mut out = [0u8; 64];
assert_eq!(enc.compress(b"abc", &mut out, Flush::Finish)?.status, Status::Done);Sourcepub fn compress_vec(
&mut self,
input: &[u8],
out: &mut Vec<u8>,
flush: Flush,
) -> Result<Progress, Error>
pub fn compress_vec( &mut self, input: &[u8], out: &mut Vec<u8>, flush: Flush, ) -> Result<Progress, Error>
Trait Implementations§
Auto Trait Implementations§
impl Forget for Encoder
impl Freeze for Encoder
impl RefUnwindSafe for Encoder
impl Send for Encoder
impl Sync for Encoder
impl Unpin for Encoder
impl UnsafeUnpin for Encoder
impl UnwindSafe for Encoder
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more