Skip to content

Nullus157/async-compression

Repository files navigation

async-compression

crates.io version build status downloads docs.rs docs MIT or Apache 2.0 licensed dependency status

This crate provides adaptors between compression crates and Rust's modern asynchronous IO types.

Development

When developing you will need to enable appropriate features for the different test cases to run, the simplest is cargo test --all-features, but you can enable different subsets of features as appropriate for the code you are testing to avoid compiling all dependencies, e.g. cargo test --features tokio,gzip.

To prepare for a pull request, you can run several other checks:

  1. fmt

    cargo fmt --all
    cargo clippy --no-deps
  2. build

    cargo build --lib --all-features
  3. nextest

    cargo --locked nextest run --workspace --all-features
  4. hack check

    cargo hack check --workspace --feature-powerset --all-targets --skip 'all,all-algorithms,all-implementations'
  5. wasm32 - Linux only

    gh release download --repo WebAssembly/wasi-sdk --pattern 'wasi-sysroot-*.tar.gz'
    rustup target add wasm32-wasip1-threads
    
    export "CFLAGS_wasm32_wasip1_threads=--sysroot=\"${PWD}/wasi-sysroot\" -I\"${PWD}/wasi-sysroot/include/wasm32-wasip1-threads\" -L-I\"${PWD}/wasi-sysroot/lib/wasm32-wasip1-threads\""
    cargo build --lib --features all-implementations,brotli,bzip2,deflate,gzip,lz4,lzma,xz,zlib,zstd,deflate64 --target wasm32-wasip1-threads

License

Licensed under either of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you shall be dual licensed as above, without any additional terms or conditions.

About

Adaptors between compression crates and Rust's async IO types

Resources

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT

Stars

Watchers

Forks

Packages

No packages published

Contributors 43