Non-blocking I/O The network resource. Using the resource Registering the resource with the driver Handle::current vs Handle::default The network driver Linking the driver wit...
Loops Resuming an async operation Modifying a branch Loops The select! macro is often used in loops. This section will go over some examples to show common ways of using the...
Errors Errors Using the ? operator propagates the error from the expression. How this works depends on whether ? is used from an async expression or from a handler. Using ? ...
Breaking it down What is asynchronous programming? Compile-time green-threading Using async/await Async main function Cargo features Breaking it down Let’s take some tim...
Holding a MutexGuard across an .await Restructure your code to not hold the lock across an .await Spawn a task to manage the state and use message passing to operate on it Use...
Echo server Using io::copy() Splitting a reader + writer Manual copying Allocating a buffer Handling EOF Echo server Let’s practice doing some asynchronous I/O. We will b...