Introduction
1.
Navigation
1.1.
By topic
1.2.
FAQs
1.3.
Index
Part 1: guide
2.
Introduction
3.
Concurrent programming
4.
Async and await
5.
More async/await topics
6.
IO and issues with blocking
7.
Concurrency primitives
8.
Channels, locking, and synchronization
9.
Tools for async programming
10.
Destruction and clean-up
11.
Futures
12.
Runtimes
13.
Timers and signal handling
14.
Async iterators (streams)
Part 2: reference
15.
Implementing futures and streams
16.
Alternate runtimes
17.
Implementing your own runtime
18.
async in sync, sync in async
19.
Async IO: readiness vs completion, and io_uring
20.
Design patterns
21.
Cancellation
22.
Starvation
23.
Pinning
24.
Async and FFI
25.
Comparing async programming in Rust to other languages
26.
The implementation of async/await in rustc
27.
Structured concurrency?
Old chapters
28.
Getting Started
28.1.
Why Async?
28.2.
The State of Asynchronous Rust
28.3.
async/.await Primer
29.
Under the Hood: Executing Futures and Tasks
29.1.
The Future Trait
29.2.
Task Wakeups with Waker
29.3.
Applied: Build an Executor
29.4.
Executors and System IO
30.
async/await
31.
Pinning
32.
Streams
32.1.
Iteration and Concurrency
33.
Executing Multiple Futures at a Time
33.1.
join!
33.2.
select!
33.3.
Spawning
33.4.
TODO: Cancellation and Timeouts
33.5.
TODO: FuturesUnordered
34.
Workarounds to Know and Love
34.1.
Send Approximation
34.2.
Recursion
34.3.
async in Traits
35.
The Async Ecosystem
36.
Final Project: HTTP Server
36.1.
Running Asynchronous Code
36.2.
Handling Connections Concurrently
36.3.
Testing the Server
37.
TODO: I/O
37.1.
TODO: AsyncRead and AsyncWrite
38.
TODO: Asynchronous Design Patterns: Solutions and Suggestions
38.1.
TODO: Modeling Servers and the Request/Response Pattern
38.2.
TODO: Managing Shared State
39.
Appendix: Translations of the Book
Light
Rust
Coal
Navy
Ayu
Asynchronous Programming in Rust
Topic index
Concurrency and parallelism
Introduction
Running async tasks in parallel using
spawn
Correctness and safety
Cancellation
Introduction
Performance
Blocking
Introduction
Testing
Unit test syntax