pub enum CompressedWriter {
Gzip(GzEncoder<File>),
Zlib(ZlibEncoder<File>),
Zstd(Encoder<'static, File>),
Brotli(CompressorWriter<File>),
}Expand description
Encoder wrapper that provides a uniform interface for different compression formats.
This enum wraps the various compression encoders so we can treat them uniformly in the append-to-compressed-archive flow.
Variants§
Gzip(GzEncoder<File>)
Zlib(ZlibEncoder<File>)
Zstd(Encoder<'static, File>)
Brotli(CompressorWriter<File>)
Implementations§
Source§impl CompressedWriter
impl CompressedWriter
Sourcepub fn new(format: CompressionFormat, file: File) -> Result<Self, Diagnostic>
pub fn new(format: CompressionFormat, file: File) -> Result<Self, Diagnostic>
Create a new compressed writer for the given format and file.
Sourcepub fn finish(self) -> Result<(), Diagnostic>
pub fn finish(self) -> Result<(), Diagnostic>
Finish compression and return any errors.
This must be called before the file is closed to ensure all compressed data is flushed.
Trait Implementations§
Source§impl Write for CompressedWriter
Available on crate feature compression only.
impl Write for CompressedWriter
Available on crate feature
compression only.Source§fn write(&mut self, buf: &[u8]) -> Result<usize>
fn write(&mut self, buf: &[u8]) -> Result<usize>
Writes a buffer into this writer, returning how many bytes were written. Read more
Source§fn flush(&mut self) -> Result<()>
fn flush(&mut self) -> Result<()>
Flushes 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 Freeze for CompressedWriter
impl !RefUnwindSafe for CompressedWriter
impl Send for CompressedWriter
impl Sync for CompressedWriter
impl Unpin for CompressedWriter
impl !UnwindSafe for CompressedWriter
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