Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/mulimoen/rust-blosc-src
https://github.com/mulimoen/rust-blosc-src
Last synced: 3 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/mulimoen/rust-blosc-src
- Owner: mulimoen
- Created: 2021-02-06T21:59:31.000Z (almost 4 years ago)
- Default Branch: main
- Last Pushed: 2024-06-22T06:43:58.000Z (7 months ago)
- Last Synced: 2024-10-14T01:36:21.815Z (3 months ago)
- Language: Rust
- Size: 36.1 KB
- Stars: 5
- Watchers: 1
- Forks: 2
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# blosc-src
This is an FFI crate for using the Blosc compressor as implemented in [`c-blosc`](https://github.com/Blosc/c-blosc). The blosc compressor is a library of lossless compressors, which enables the developer to more easily use different compression algorithms depending on the data.
## Non-rust dependencies
The crate builds `c-blosc` from source using the `cc` crate. As such it is required to have a C compiler installed.## Features
`c-blosc` can transparently use different compressors, but some of these are only available when included though `cargo` features. These include
* `zlib`
* `zstd`
* `lz4`
* `snappy`When these are requested they will be built from source and available for use by `blosc`.
## Usage
As this crate only provides FFI, the [examples from `c-blosc`](https://github.com/Blosc/c-blosc/tree/main/examples) also functions as examples for this crate. A simple roundtrip is included in [`test.rs`](tests/test.rs).The developer must take special care in dealing with memory and in multi-threaded environments. It is recommended to create and use a safe interface instead of this crate directly.