In the previous chapter, we wrote a synchronous FTP server. Now, we'll write an asynchronous version with tokio, the asynchronous IO (Input/Output) library for Rust. We'll cover the following topics:
- Asynchronous servers
- Futures
- Streams
- Tokio
- Async/await
- Error handling