Struct zstd::stream::Encoder [−][src]
pub struct Encoder<W: Write> { /* fields omitted */ }
An encoder that compress and forward data to another writer.
This allows to compress a stream of data (good for files or heavy network stream).
Don't forget to call finish()
before dropping it!
Note: The zstd library has its own internal input buffer (~128kb).
Methods
impl<W: Write> Encoder<W>
[src]
impl<W: Write> Encoder<W>
pub fn new(writer: W, level: i32) -> Result<Self>
[src]
pub fn new(writer: W, level: i32) -> Result<Self>
Creates a new encoder.
level
: compression level (1-21).
A level of 0
uses zstd's default (currently 3
).
pub fn with_dictionary(writer: W, level: i32, dictionary: &[u8]) -> Result<Self>
[src]
pub fn with_dictionary(writer: W, level: i32, dictionary: &[u8]) -> Result<Self>
Creates a new encoder, using an existing dictionary.
(Provides better compression ratio for small files, but requires the dictionary to be present during decompression.)
A level of 0
uses zstd's default (currently 3
).
pub fn with_prepared_dictionary(
writer: W,
dictionary: &EncoderDictionary
) -> Result<Self>
[src]
pub fn with_prepared_dictionary(
writer: W,
dictionary: &EncoderDictionary
) -> Result<Self>
Creates a new encoder, using an existing prepared EncoderDictionary
.
(Provides better compression ratio for small files, but requires the dictionary to be present during decompression.)
ⓘImportant traits for AutoFinishEncoder<W>pub fn auto_finish(self) -> AutoFinishEncoder<W>
[src]
pub fn auto_finish(self) -> AutoFinishEncoder<W>
Returns a wrapper around self
that will finish the stream on drop.
Panic
Panics on drop if an error happens when finishing the stream.
ⓘImportant traits for AutoFinishEncoder<W>pub fn on_finish<F: 'static + FnMut(Result<W>)>(
self,
f: F
) -> AutoFinishEncoder<W>
[src]
pub fn on_finish<F: 'static + FnMut(Result<W>)>(
self,
f: F
) -> AutoFinishEncoder<W>
Returns an encoder that will finish the stream on drop.
Calls the given callback with the result from finish()
.
pub fn get_ref(&self) -> &W
[src]
pub fn get_ref(&self) -> &W
Acquires a reference to the underlying writer.
pub fn get_mut(&mut self) -> &mut W
[src]
pub fn get_mut(&mut self) -> &mut W
Acquires a mutable reference to the underlying writer.
Note that mutation of the writer may result in surprising results if this encoder is continued to be used.
pub fn finish(self) -> Result<W>
[src]
pub fn finish(self) -> Result<W>
Required: Finishes the stream.
You need to finish the stream when you're done writing, either with
this method or with try_finish(self)
.
This returns the inner writer in case you need it.
To get back self
in case an error happened, use try_finish
.
Note: If you don't want (or can't) call finish()
manually after
writing your data, consider using auto_finish()
to get an
AutoFinishEncoder
.
pub fn try_finish(self) -> Result<W, (Self, Error)>
[src]
pub fn try_finish(self) -> Result<W, (Self, Error)>
Required: Attempts to finish the stream.
You need to finish the stream when you're done writing, either with
this method or with finish(self)
.
This returns the inner writer if the finish was successful, or the object plus an error if it wasn't.
write
on this object will panic after try_finish
has been called,
even if it fails.
pub fn recommended_input_size() -> usize
[src]
pub fn recommended_input_size() -> usize
Return a recommendation for the size of data to write at once.
Trait Implementations
impl<W: Write> Write for Encoder<W>
[src]
impl<W: Write> Write for Encoder<W>
fn write(&mut self, buf: &[u8]) -> Result<usize>
[src]
fn write(&mut self, buf: &[u8]) -> Result<usize>
Write a buffer into this object, returning how many bytes were written. Read more
fn flush(&mut self) -> Result<()>
[src]
fn flush(&mut self) -> Result<()>
Flush this output stream, ensuring that all intermediately buffered contents reach their destination. Read more
fn write_all(&mut self, buf: &[u8]) -> Result<(), Error>
1.0.0[src]
fn write_all(&mut self, buf: &[u8]) -> Result<(), Error>
Attempts to write an entire buffer into this write. Read more
fn write_fmt(&mut self, fmt: Arguments) -> Result<(), Error>
1.0.0[src]
fn write_fmt(&mut self, fmt: Arguments) -> Result<(), Error>
Writes a formatted string into this writer, returning any error encountered. Read more
fn by_ref(&mut self) -> &mut Self
1.0.0[src]
fn by_ref(&mut self) -> &mut Self
Creates a "by reference" adaptor for this instance of Write
. Read more