Vulnerabilities | |||||
---|---|---|---|---|---|
Version | Suggest | Low | Medium | High | Critical |
2.0.13+zstd.1.5.6 - This version is safe to use because it has no known security vulnerabilities at this time. Find out if your coding project uses this component and get notified of any reported security vulnerabilities with Meterian-X Open Source Security Platform
Maintain your licence declarations and avoid unwanted licences to protect your IP the way you intended.
Apache-2.0 - Apache License 2.0This library is a rust binding for the zstd compression library.
$ cargo add zstd
# Cargo.toml
[dependencies]
zstd = "0.13"
This library provides Read
and Write
wrappers to handle (de)compression,
along with convenience functions to made common tasks easier.
For instance, stream::copy_encode
and stream::copy_decode
are easy-to-use
wrappers around std::io::copy
. Check the stream example:
use std::io;
// This function use the convenient `copy_encode` method
fn compress(level: i32) {
zstd::stream::copy_encode(io::stdin(), io::stdout(), level).unwrap();
}
// This function does the same thing, directly using an `Encoder`:
fn compress_manually(level: i32) {
let mut encoder = zstd::stream::Encoder::new(io::stdout(), level).unwrap();
io::copy(&mut io::stdin(), &mut encoder).unwrap();
encoder.finish().unwrap();
}
fn decompress() {
zstd::stream::copy_decode(io::stdin(), io::stdout()).unwrap();
}
The async-compression
crate
provides an async-ready integration of various compression algorithms,
including zstd-rs
.
zstd
is included as a submodule. To get everything during your clone, use:
git clone https://github.com/gyscos/zstd-rs --recursive
Or, if you cloned it without the --recursive
flag,
call this from inside the repository:
git submodule update --init
Then, running cargo build
should take care
of building the C library and linking to it.
This library includes a pre-generated bindings.rs
file.
You can also generate new bindings at build-time, using the bindgen
feature:
cargo build --features bindgen
This implementation is largely inspired by bozaro's lz4-rs.