#stdio #tokio #async-io #stdin #stdout #buffering #little

tokio-stdin-stdout

基于线程和future::sync::mpsc的异步Read/AsyncWrite stdin/stdout,具有少量缓冲

6个版本

使用旧Rust 2015

0.1.5 2018年10月31日
0.1.4 2018年8月15日
0.1.3 2018年6月25日
0.1.1 2017年10月12日

#724 in 异步

Download history 322/week @ 2024-01-07 332/week @ 2024-01-14 310/week @ 2024-01-21 404/week @ 2024-01-28 424/week @ 2024-02-04 486/week @ 2024-02-11 459/week @ 2024-02-18 443/week @ 2024-02-25 363/week @ 2024-03-03 331/week @ 2024-03-10 360/week @ 2024-03-17 486/week @ 2024-03-24 538/week @ 2024-03-31 341/week @ 2024-04-07 493/week @ 2024-04-14 361/week @ 2024-04-21

1,762 每月下载量
用于 10 个crates (9 直接)

MIT/Apache

23KB
410

tokio-stdin-stdout

为Tokio提供的异步Read/AsyncWrite stdin/stdout

文档 - 更多描述见此处

示例

let mut core = tokio_core::reactor::Core::new()?;

let stdin = tokio_stdin_stdout::stdin(0);
let stdout = tokio_stdin_stdout::stdout(0);

core.run(tokio_io::io::copy(stdin, stdout))?;

更多示例

  1. loop.rs - 输出hello十次
  2. line-by-line.rs - 将所有输入文本转换为ASCII大写,逐行处理。此示例还演示了tokio-codec的使用和启动Tokio程序的各种模式(多线程、单线程)。

async fn demo

与tokio-stdin-stdout关系不大,但有少数async fn示例可以通过cargo script运行。

它们需要nightly Rust。

替代品

  1. tokio-stdin 无AsyncRead,只有stdin,逐字节
  2. tokio-file-unix - 更好,但仅限Unix

依赖

~605KB
~11K SLoC