Struct libflate::zlib::Encoder [] [src]

pub struct Encoder<W, E = DefaultLz77Encoder> { /* fields omitted */ }

ZLIB encoder.

Methods

impl<W> Encoder<W, DefaultLz77Encoder> where
    W: Write
[src]

Makes a new encoder instance.

Encoded ZLIB stream is written to inner.

Examples

use std::io::Write;
use libflate::zlib::Encoder;

let mut encoder = Encoder::new(Vec::new()).unwrap();
encoder.write_all(b"Hello World!").unwrap();

assert_eq!(encoder.finish().into_result().unwrap(),
           [120, 156, 5, 128, 65, 9, 0, 0, 8, 3, 171, 104, 27, 27, 88, 64, 127,
            7, 131, 245, 127, 140, 121, 80, 173, 204, 117, 0, 28, 73, 4, 62]);

impl<W, E> Encoder<W, E> where
    W: Write,
    E: Lz77Encode
[src]

Makes a new encoder instance with specified options.

Encoded ZLIB stream is written to inner.

Examples

use std::io::Write;
use libflate::zlib::{Encoder, EncodeOptions};

let options = EncodeOptions::new().no_compression();
let mut encoder = Encoder::with_options(Vec::new(), options).unwrap();
encoder.write_all(b"Hello World!").unwrap();

assert_eq!(encoder.finish().into_result().unwrap(),
           [120, 1, 1, 12, 0, 243, 255, 72, 101, 108, 108, 111, 32, 87, 111,
            114, 108, 100, 33, 28, 73, 4, 62]);

Returns the header of the ZLIB stream.

Examples

use libflate::zlib::{Encoder, Lz77WindowSize};

let encoder = Encoder::new(Vec::new()).unwrap();
assert_eq!(encoder.header().window_size(), Lz77WindowSize::KB32);

Writes the ZLIB trailer and returns the inner stream.

Examples

use std::io::Write;
use libflate::zlib::Encoder;

let mut encoder = Encoder::new(Vec::new()).unwrap();
encoder.write_all(b"Hello World!").unwrap();

assert_eq!(encoder.finish().into_result().unwrap(),
           [120, 156, 5, 128, 65, 9, 0, 0, 8, 3, 171, 104, 27, 27, 88, 64, 127,
            7, 131, 245, 127, 140, 121, 80, 173, 204, 117, 0, 28, 73, 4, 62]);

Trait Implementations

impl<W: Debug, E: Debug> Debug for Encoder<W, E>
[src]

Formats the value using the given formatter.

impl<W> Write for Encoder<W> where
    W: Write
[src]

Write a buffer into this object, returning how many bytes were written. Read more

Flush this output stream, ensuring that all intermediately buffered contents reach their destination. Read more

Attempts to write an entire buffer into this write. Read more

Writes a formatted string into this writer, returning any error encountered. Read more

Creates a "by reference" adaptor for this instance of Write. Read more