From 431e52c1fae602ae900c0c942467ef57b09d989a Mon Sep 17 00:00:00 2001 From: Carl Fredrik Samson Date: Wed, 2 Feb 2022 14:05:17 +0100 Subject: [PATCH] updated with mentions of smol + further reading section --- src/conclusion.md | 6 +++++- src/introduction.md | 6 ++++-- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/src/conclusion.md b/src/conclusion.md index fcaf020..009735a 100644 --- a/src/conclusion.md +++ b/src/conclusion.md @@ -37,7 +37,7 @@ function which let's you start off a future and `await` it later so you can run multiple futures concurrently. As I suggested in the start of this book, visiting [@stjepan'sblog series about implementing your own executors](https://web.archive.org/web/20200207092849/https://stjepang.github.io/2020/01/31/build-your-own-executor.html) -is the place I would start and take it from there. +is the place I would start and take it from there. You could further examine the source code of [smol - A small and fast async runtime](https://github.com/smol-rs/smol) wich is a good project to learn from. ### Create an unique Id for each task @@ -68,8 +68,12 @@ linked to in the book, here are some of my suggestions: [The official Asyc book](https://rust-lang.github.io/async-book/01_getting_started/01_chapter.html) +[Tokio tutorial](https://tokio.rs/tokio/tutorial) + [The async_std book](https://book.async.rs/) +[smol - a small and fast async runtime](https://github.com/smol-rs/async-executor/blob/master/src/lib.rs) + [Aron Turon: Designing futures for Rust](https://aturon.github.io/blog/2016/09/07/futures-design/) [Steve Klabnik's presentation: Rust's journey to Async/Await](https://www.infoq.com/presentations/rust-2019/) diff --git a/src/introduction.md b/src/introduction.md index b01e9c5..0655f41 100644 --- a/src/introduction.md +++ b/src/introduction.md @@ -17,8 +17,7 @@ simple runtime in this book introducing some concepts but it's enough to get started. [Stjepan Glavina](https://web.archive.org/web/20200812203230/https://github.com/stjepang) -has made an excellent series of articles about async runtimes and executors, -and if the rumors are right there is more to come from him in the near future. +has made an excellent series of articles about async runtimes and executors. The way you should go about it is to read this book first, then continue reading [Stjepan's articles](https://web.archive.org/web/20200610130514/https://stjepang.github.io/) @@ -27,6 +26,9 @@ to learn more about runtimes and how they work, especially: 1. [Build your own block_on()](https://web.archive.org/web/20200511234503/https://stjepang.github.io/2020/01/25/build-your-own-block-on.html) 2. [Build your own executor](https://web.archive.org/web/20200207092849/https://stjepang.github.io/2020/01/31/build-your-own-executor.html) +You should also check out the [smol](https://github.com/smol-rs/smol) runtime +as it's a real runtime made by the same author. It's well commented and made to be easy to learn from. + I've limited myself to a 200 line main example (hence the title) to limit the scope and introduce an example that can easily be explored further.