Struct lz4_flex::frame::FrameEncoder [−][src]
pub struct FrameEncoder<W: Write> { /* fields omitted */ }
Expand description
A writer for compressing a LZ4 stream.
This FrameEncoder
wraps any other writer that implements io::Write
.
Bytes written to this writer are compressed using the LZ4 frame
format.
Writes are buffered automatically, so there’s no need to wrap the given
writer in a std::io::BufWriter
.
To ensure a well formed stream the encoder must be finalized by calling
either finish
or try_finish()
methods.
Example 1
Serializing json values into a compressed file.
let compressed_file = std::fs::File::create("datafile").unwrap(); let mut compressor = lz4_flex::frame::FrameEncoder::new(compressed_file); serde_json::to_writer(&mut compressor, &serde_json::json!({ "an": "object" })).unwrap(); compressor.finish().unwrap();
Example 2
Serializing multiple json values into a compressed file using linked blocks.
let compressed_file = std::fs::File::create("datafile").unwrap(); let mut frame_info = lz4_flex::frame::FrameInfo::new(); frame_info.block_mode = lz4_flex::frame::BlockMode::Linked; let mut compressor = lz4_flex::frame::FrameEncoder::with_frame_info(frame_info, compressed_file); for i in 0..10u64 { serde_json::to_writer(&mut compressor, &serde_json::json!({ "i": i })).unwrap(); } compressor.finish().unwrap();
Implementations
Creates a new Encoder with the specified FrameInfo.
The frame information used by this Encoder.
Consumes this encoder, flushing internal buffer and writing stream terminator.
Attempt to finish this output stream, flushing internal buffer and writing stream terminator.
Returns the underlying writer without flushing the stream. This may lave the output in an unfinished state.
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
can_vector
)Determines if this Write
r has an efficient write_vectored
implementation. Read more
Attempts to write an entire buffer into this writer. Read more
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
Auto Trait Implementations
impl<W> RefUnwindSafe for FrameEncoder<W> where
W: RefUnwindSafe,
impl<W> Send for FrameEncoder<W> where
W: Send,
impl<W> Sync for FrameEncoder<W> where
W: Sync,
impl<W> Unpin for FrameEncoder<W> where
W: Unpin,
impl<W> UnwindSafe for FrameEncoder<W> where
W: UnwindSafe,