Trait libflate::lz77::Lz77Encode

source ·
pub trait Lz77Encode {
    // Required methods
    fn encode<S>(&mut self, buf: &[u8], sink: S)
       where S: Sink;
    fn flush<S>(&mut self, sink: S)
       where S: Sink;

    // Provided methods
    fn compression_level(&self) -> CompressionLevel { ... }
    fn window_size(&self) -> u16 { ... }
}
Expand description

The LZ77Encode trait defines the interface of LZ77 encoding algorithm.

Required Methods§

source

fn encode<S>(&mut self, buf: &[u8], sink: S)where S: Sink,

Encodes a buffer and writes result LZ77 codes to sink.

source

fn flush<S>(&mut self, sink: S)where S: Sink,

Flushes the encoder, ensuring that all intermediately buffered codes are consumed by sink.

Provided Methods§

source

fn compression_level(&self) -> CompressionLevel

Returns the compression level of the encoder.

If the implementation is omitted, CompressionLevel::Balance will be returned.

source

fn window_size(&self) -> u16

Returns the window size of the encoder.

If the implementation is omitted, MAX_WINDOW_SIZE will be returned.

Implementors§