Struct brotli::enc::writer::CompressorWriter
source · pub struct CompressorWriter<W: Write>(/* private fields */);
Implementations§
source§impl<W: Write> CompressorWriter<W>
impl<W: Write> CompressorWriter<W>
sourcepub fn new(w: W, buffer_size: usize, q: u32, lgwin: u32) -> Self
pub fn new(w: W, buffer_size: usize, q: u32, lgwin: u32) -> Self
Examples found in repository?
examples/compress.rs (line 12)
7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42
fn main() {
use std::io;
use std::io::{Read, Write};
let stdout = &mut io::stdout();
{
let mut writer = brotli::CompressorWriter::new(stdout, 4096, 11, 22);
let mut buf = [0u8; 4096];
loop {
match io::stdin().read(&mut buf[..]) {
Err(e) => {
if let io::ErrorKind::Interrupted = e.kind() {
continue;
}
panic!("{}", e);
}
Ok(size) => {
if size == 0 {
match writer.flush() {
Err(e) => {
if let io::ErrorKind::Interrupted = e.kind() {
continue;
}
panic!("{}", e)
}
Ok(_) => break,
}
}
match writer.write_all(&buf[..size]) {
Err(e) => panic!("{}", e),
Ok(_) => {}
}
}
}
}
}
}
pub fn with_params( w: W, buffer_size: usize, params: &BrotliEncoderParams ) -> Self
pub fn get_ref(&self) -> &W
pub fn get_mut(&mut self) -> &mut W
pub fn into_inner(self) -> W
Trait Implementations§
source§impl<W: Write> Write for CompressorWriter<W>
impl<W: Write> Write for CompressorWriter<W>
source§fn write(&mut self, buf: &[u8]) -> Result<usize, Error>
fn write(&mut self, buf: &[u8]) -> Result<usize, Error>
Write a buffer into this writer, returning how many bytes were written. Read more
source§fn flush(&mut self) -> Result<(), Error>
fn flush(&mut self) -> Result<(), Error>
Flush this output stream, ensuring that all intermediately buffered
contents reach their destination. Read more
source§fn is_write_vectored(&self) -> bool
fn is_write_vectored(&self) -> bool
🔬This is a nightly-only experimental API. (
can_vector
)1.0.0 · source§fn write_all(&mut self, buf: &[u8]) -> Result<(), Error>
fn write_all(&mut self, buf: &[u8]) -> Result<(), Error>
Attempts to write an entire buffer into this writer. Read more
source§fn write_all_vectored(&mut self, bufs: &mut [IoSlice<'_>]) -> Result<(), Error>
fn write_all_vectored(&mut self, bufs: &mut [IoSlice<'_>]) -> Result<(), Error>
🔬This is a nightly-only experimental API. (
write_all_vectored
)Attempts to write multiple buffers into this writer. Read more
Auto Trait Implementations§
impl<W> Freeze for CompressorWriter<W>where
W: Freeze,
impl<W> !RefUnwindSafe for CompressorWriter<W>
impl<W> Send for CompressorWriter<W>where
W: Send,
impl<W> Sync for CompressorWriter<W>where
W: Sync,
impl<W> Unpin for CompressorWriter<W>where
W: Unpin,
impl<W> !UnwindSafe for CompressorWriter<W>
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