| Crates.io | tokio-sync-read-stream |
| lib.rs | tokio-sync-read-stream |
| version | 0.1.0 |
| created_at | 2023-03-28 10:51:56.302948+00 |
| updated_at | 2023-03-28 10:51:56.302948+00 |
| description | Create a stream from a std::io::Read using Tokio blocking threads |
| homepage | https://github.com/wilsonzlin/tokio-sync-read-stream |
| repository | https://github.com/wilsonzlin/tokio-sync-read-stream.git |
| max_upload_size | |
| id | 822915 |
| size | 16,903 |
Transforms a std::io::Read into a fallable futures::stream::Stream that yields Result<Vec<u8>, std::io::Error>.
Under the hood, it reads from the file in chunks of up to buffer_size on a Tokio blocking thread using spawn_blocking. A Handle to the Tokio runtime must be provided.
Add the library as a dependency:
cargo add tokio-sync-read-stream
Sample Rust code:
use std::io::File;
use tokio_sync_read_stream::SyncReadStream;
#[tokio::main]
async fn main() {
let file = File::open("data.bin").unwrap();
let stream: SyncReadStream<File> = file.into();
}