-
Notifications
You must be signed in to change notification settings - Fork 13.7k
Closed
Labels
C-enhancementCategory: An issue proposing an enhancement or a PR with one.Category: An issue proposing an enhancement or a PR with one.E-hardCall for participation: Hard difficulty. Experience needed to fix: A lot.Call for participation: Hard difficulty. Experience needed to fix: A lot.metabugIssues about issues themselves ("bugs about bugs")Issues about issues themselves ("bugs about bugs")
Milestone
Description
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:
- Design and implement I/O error handling strategy #6163 Error handling
- String encoding/decoding and I/O #6164 String encoding/decoding
- Implement non-blocking TCP #6165 Non-blocking TCP
- Benchmark single-threaded, non-blocking TCP performance #6166 Benchmark single-threaded TCP performance
- Non-blocking File
- Non-blocking UDP
- Non-blocking Unix
- Non-blocking stdio
- Implement blocking file I/O using new I/O subsystem #6168 Blocking File
- Platform-backed, non-scheduler/runtime entangled IO #9488 non-scheduler/runtime-coupled IO
- Blocking TCP
- Blocking UDP
- Blocking Unix
- Blocking stdio
- Replace core::io with blocking implementation of core::rt::io #6169 Remove old core::io
- DeflateStream
- Memory streams
- Implement HTTP client and server library #6167 HTTP
- Pipe adapters
- Base64 adapters
- Add timers to core #6435 Timers
- Add a uv backend to core::run #6436 Reimplement
core::run
- Iterators and I/O
- Need a solution for select / async events #6842 async i/o
- Add buffered I/O #8953 buffered I/O
- DNS name resolution more than getaddrinfo() #8925 DNS
Completeness
- io::file needs to get expanded to be "fully functional" #10131 finish io::file
- io::FileStat needs to be less platform-dependent #10130 FileStat needs polishing.
Metadata
Metadata
Assignees
Labels
C-enhancementCategory: An issue proposing an enhancement or a PR with one.Category: An issue proposing an enhancement or a PR with one.E-hardCall for participation: Hard difficulty. Experience needed to fix: A lot.Call for participation: Hard difficulty. Experience needed to fix: A lot.metabugIssues about issues themselves ("bugs about bugs")Issues about issues themselves ("bugs about bugs")