Crates.io | tokio-sync-read-stream |
lib.rs | tokio-sync-read-stream |
version | 0.1.0 |
source | src |
created_at | 2023-03-28 10:51:56.302948 |
updated_at | 2023-03-28 10:51:56.302948 |
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();
}