Systemcluster / minilz4

Minimal interface for the LZ4 compression library frame format

Home Page:https://crates.io/crates/minilz4

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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

https://crates.io/crates/minilz4

License:BSD 2-Clause "Simplified" License


Languages

Language:Rust 100.0%