#read-stream #io-read #tokio #thread #file-io #blocking #sync

tokio-sync-read-stream

使用 Tokio 阻塞线程从 std::io::Read 创建流

1 个不稳定版本

0.1.0 2023 年 3 月 28 日

1147并发

每月 下载 24
blobc 中使用

Apache-2.0

7KB
69

tokio-sync-read-stream

std::io::Read 转换为一个可失败 futures::stream::Stream,它生成 Result<Vec<u8>, std::io::Error>.

底层,它使用 spawn_blocking 在 Tokio 阻塞线程上以 buffer_size 为单位的块从文件中读取。必须提供对 Tokio 运行时的 Handle

用法

将库作为依赖项添加

cargo add tokio-sync-read-stream

示例 Rust 代码

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();
}

依赖项

~2.6–4MB
~61K SLoC