Rust is great for writing async code. But what async code should you write?
This workshop will take this question and introduce you to basic async patterns and how to apply them in Rust. It will guide you through async programming concepts and give you a glimpse into constructing larger, concurrent applications out of the basic elements. It will introduce you to tasks, how they apply to threads, evented IO and how Rust manages all the hard bits. Other topics include async testing and how to come up with new, high-level abstractions.
Workshop contents:
- The basic model of async in Rust: Futures, Tasks, async/.await
- How this model applies to libraries like tokio
- How to use building blocks like tasks and channels to build reactive systems
Along the way, we’ll build a small, but meaningful asynchronous application from the ground up using tokio. This application also serves as a playground for your future experiments with Rust async.
The course is accessible to people with basic Rust knowledge and teaches the fundamentals of concurrency needed within the course.
The learned lessons are transferrable to other async/.await systems such as async-std and embassy.
In classic Ferrous Systems style, workbook material will be open source.