Struct zstd::stream::write::Encoder

source ·
pub struct Encoder<W: Write> { /* private fields */ }
Expand description

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).

Implementations

Creates a new encoder.

level: compression level (1-21).

A level of 0 uses zstd’s default (currently 3).

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).

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.)

Returns a wrapper around self that will finish the stream on drop.

Panic

Panics on drop if an error happens when finishing the stream.

Returns an encoder that will finish the stream on drop.

Calls the given callback with the result from finish().

Acquires a reference to the underlying writer.

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.

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.

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.

Attemps to finish the stream.

You need to finish the stream when you’re done writing, either with this method or with finish(self).

Return a recommendation for the size of data to write at once.

Trait Implementations

Write a buffer into this writer, returning how many bytes were written. Read more
Flush this output stream, ensuring that all intermediately buffered contents reach their destination. Read more
Like write, except that it writes from a slice of buffers. Read more
🔬This is a nightly-only experimental API. (can_vector)
Determines if this Writer has an efficient write_vectored implementation. Read more
Attempts to write an entire buffer into this writer. Read more
🔬This is a nightly-only experimental API. (write_all_vectored)
Attempts to write multiple buffers into this writer. Read more
Writes a formatted string into this writer, returning any error encountered. Read more
Creates a “by reference” adapter for this instance of Write. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.