KillingSpark / KillingSpark/zstd-rs

Usage with tokio

Open
#68 1 comment 0 reactions 0 assignees View on GitHub
Dominant language
Rust
Stars
449
Forks
66
PR merge metrics
No merged PRs in 30d

Description

hello!

I was wondering, are there any plans for a [`tokio`](https://crates.io/crates/tokio) integration? This would allow passing an `AsyncRead` object to `StreamingDecoder` (or an equivalent) and then being able to `.await` decompressed data.

I think I had a need for that earlier but didn't open an issue back then. :)

The [`async_compression`](https://crates.io/crates/async-compression) crate has implemented something like this on top of the zstd/zstd-safe crates, maybe that could be of use:

https://docs.rs/async-compression/0.4.12/async_compression/tokio/bufread/struct.ZstdDecoder.html

Thanks!

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by reviewing the existing StreamingDecoder API and the async_compression Tokio ZstdDecoder reference linked in the issue. Define an equivalent Tokio integration that accepts AsyncRead and supports awaited decompression; done means the requested asynchronous usage is available and covered by appropriate tests.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
backend-api-design
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
38/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.