Skip to content

Minimal interface for the LZ4 compression library frame format

License

Notifications You must be signed in to change notification settings

Systemcluster/minilz4

Repository files navigation

minilz4

Crates.io Docs.rs Tests & Checks

Minimal interface for the LZ4 compression library frame format.

Links to LZ4 1.9.4.

Usage

minilz4 provides Encoder and Decoder structs to encode and decode commpressed data in the LZ4 frame format, as well as Encode and Decode traits with convenience methods for Read and Write types.

Dependency

[dependencies]
minilz4 = "^0.6"

Examples

Simple

use minilz4::{Encode, EncoderBuilder, Decode};
use std::io::Cursor;

let data = "Blushing is the color of virtue.";

let encoded = Cursor::new(data).encode(&EncoderBuilder::new()).unwrap();
let decoded = Cursor::new(encoded).decode().unwrap();

Read & Write Traits

use minilz4::{EncoderBuilder, Decoder};
use std::io::{Cursor, copy};

let data = "Blushing is the color of virtue.";

let mut encoder = EncoderBuilder::new().build(Vec::new()).unwrap();
copy(&mut Cursor::new(data.as_bytes()), &mut encoder).unwrap();
let encoded = encoder.finish().unwrap();

let mut decoder = Decoder::new(Cursor::new(encoded)).unwrap();
let mut decoded = Vec::new();
decoder.read_to_end(&mut decoded).unwrap();

About

Minimal interface for the LZ4 compression library frame format

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Sponsor this project

 

Packages

No packages published

Languages