It is desperately needed. Some requirements: - Default implementations must not ever block the Rust scheduler - Should support posix streams, files, sockets, etc. - Should support streams built around uv (non blocking) Work items: - [x] #6163 Error handling - [ ] #6164 String encoding/decoding - [x] #6165 Non-blocking TCP - [ ] #6166 Benchmark single-threaded TCP performance - [x] Non-blocking File - [x] Non-blocking UDP - [x] Non-blocking Unix - [x] Non-blocking stdio - [x] #6168 Blocking File - [x] #9488 non-scheduler/runtime-coupled IO - [x] Blocking TCP - [ ] Blocking UDP - [ ] Blocking Unix - [x] Blocking stdio - [x] #6169 Remove old core::io - [ ] DeflateStream - [x] Memory streams - [x] #6167 HTTP - [ ] Pipe adapters - [ ] Base64 adapters - [x] #6435 Timers - [x] #6436 Reimplement `core::run` - [x] Iterators and I/O - [ ] #6842 async i/o - [x] #8953 buffered I/O - [ ] #8925 DNS Completeness - [x] #10131 finish io::file - [x] #10130 FileStat needs polishing.
It is desperately needed. Some requirements:
Work items:
core::runCompleteness