# tokio-borrow-stdio
“Borrow” the standard input/output streams temporarily, exposing them to a
Tokio core as nonblocking streams.
There are several crates implementing this general class of functionality:
- [tokio-file-unix](https://crates.io/crates/tokio-file-unix)
- [tokio-stdin-stdout](https://github.com/vi/tokio-stdin-stdout)
- [tokio-stdin](https://crates.io/crates/tokio-stdin)
- [tokio-stdio](https://github.com/smith61/tokio-stdio)
Why yet another one? The key is in the name — this is the only crate that
*temporarily* takes over stdin/stdout. This makes it possible for the
[stund](https://github.com/pkgw/stund) CLI client to temporarily start up an
asynchronous Tokio core when necessary, but otherwise use traditional blocking
I/O for most of its user interactions.
This crate only works on Unix-like operating systems. (The program for which
it was developed, [stund](https://github.com/pkgw/stund), uses things like
pseudo-TTYs and Unix domain sockets, so there is no expectation of ever
porting it to other kinds of OS.)