pub struct GzBuilder {
extra: Option<Vec<u8>>,
filename: Option<CString>,
comment: Option<CString>,
operating_system: Option<u8>,
mtime: u32,
}
Expand description
A builder structure to create a new gzip Encoder.
This structure controls header configuration options such as the filename.
§Examples
use std::io::prelude::*;
use std::fs::File;
use flate2::GzBuilder;
use flate2::Compression;
// GzBuilder opens a file and writes a sample string using GzBuilder pattern
let f = File::create("examples/hello_world.gz")?;
let mut gz = GzBuilder::new()
.filename("hello_world.txt")
.comment("test file, please delete")
.write(f, Compression::default());
gz.write_all(b"hello world")?;
gz.finish()?;
Fields§
§extra: Option<Vec<u8>>
§filename: Option<CString>
§comment: Option<CString>
§operating_system: Option<u8>
§mtime: u32
Implementations§
source§impl GzBuilder
impl GzBuilder
sourcepub fn operating_system(self, os: u8) -> GzBuilder
pub fn operating_system(self, os: u8) -> GzBuilder
Configure the operating_system
field in the gzip header.
sourcepub fn extra<T: Into<Vec<u8>>>(self, extra: T) -> GzBuilder
pub fn extra<T: Into<Vec<u8>>>(self, extra: T) -> GzBuilder
Configure the extra
field in the gzip header.
sourcepub fn filename<T: Into<Vec<u8>>>(self, filename: T) -> GzBuilder
pub fn filename<T: Into<Vec<u8>>>(self, filename: T) -> GzBuilder
Configure the filename
field in the gzip header.
§Panics
Panics if the filename
slice contains a zero.
sourcepub fn comment<T: Into<Vec<u8>>>(self, comment: T) -> GzBuilder
pub fn comment<T: Into<Vec<u8>>>(self, comment: T) -> GzBuilder
Configure the comment
field in the gzip header.
§Panics
Panics if the comment
slice contains a zero.
sourcepub fn write<W: Write>(self, w: W, lvl: Compression) -> GzEncoder<W> ⓘ
pub fn write<W: Write>(self, w: W, lvl: Compression) -> GzEncoder<W> ⓘ
Consume this builder, creating a writer encoder in the process.
The data written to the returned encoder will be compressed and then
written out to the supplied parameter w
.
sourcepub fn read<R: Read>(self, r: R, lvl: Compression) -> GzEncoder<R> ⓘ
pub fn read<R: Read>(self, r: R, lvl: Compression) -> GzEncoder<R> ⓘ
Consume this builder, creating a reader encoder in the process.
Data read from the returned encoder will be the compressed version of the data read from the given reader.
sourcepub fn buf_read<R>(self, r: R, lvl: Compression) -> GzEncoder<R> ⓘwhere
R: BufRead,
pub fn buf_read<R>(self, r: R, lvl: Compression) -> GzEncoder<R> ⓘwhere
R: BufRead,
Consume this builder, creating a reader encoder in the process.
Data read from the returned encoder will be the compressed version of the data read from the given reader.