Skip to content

Commit

Permalink
blog - fix image path
Browse files Browse the repository at this point in the history
  • Loading branch information
brianshih1 committed Jul 27, 2024
1 parent 95d1793 commit fa6f8d2
Show file tree
Hide file tree
Showing 2 changed files with 3 additions and 3 deletions.
2 changes: 1 addition & 1 deletion mdbook/src/executor/waker_implementation.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Waker

Earlier, we saw that when `RawTask::run` is called, `run` creates a `waker` which is used to `poll` the user-provided `Future`. In this section, we look at how the `Waker` is implemented.
Earlier, we saw that when `RawTask::run` is called, `run` creates a `waker` which is used to `poll` the user-provided `Future`. In this section, we look at how the `Waker` instance is created.

To create a `waker` in Rust, we need to pass a `RawWakerVTable` to the `Waker` constructor.

Expand Down
4 changes: 2 additions & 2 deletions mdbook/src/motivation.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
I've always wondered how asynchronous runtimes like [Node.js](https://nodejs.org/en/about), [Seastar](https://seastar.io/), [Glommio](https://docs.rs/glommio/latest/glommio/), and [Tokio](https://tokio.rs/) work under the hood. Luckily, most asynchronous runtimes are open source.
There is also a bunch of excellent blogs online such as the [Asychronous Programming in Rust blog series](https://rust-lang.github.io/async-book/).

To better understand the internals of asynchronous runtimes, I built `mini-async-runtime`, a lightweight, toy asynchronous runtime written in Rust. I borrowed a lot of code from [Glommio](https://github.com/DataDog/glommio) and [async-io](https://github.com/smol-rs/async-io) to help myself prototype faster, since my goal was simply to gain a better intuition for how these systems really work. The [source code](https://github.com/brianshih1/mini-async-runtime) is available online.
To better understand the internals of asynchronous runtimes, I built `mini-async-runtime`, a lightweight, toy asynchronous runtime written in Rust. I reused a lot of code from [Glommio](https://github.com/DataDog/glommio) and [async-io](https://github.com/smol-rs/async-io) to help myself prototype faster, since my goal was just to gain a better intuition for how these systems really work. The [source code](https://github.com/brianshih1/mini-async-runtime) is available online.

In this blog series, I will deep dive into the internals of `mini-async-runtime`. Even though my implementation is in Rust, this blog is meant to
be language agnostic as most asynchronous runtimes, even in other languages, use a similar event-loop + reactor architecture.
Expand Down Expand Up @@ -40,4 +40,4 @@ I’ve split up the blog series into four phases:

As a teaser, here is the architecture of the async runtime that we are building:

<img src="../images/architecture.png" width="110%">
<img src="./images/architecture.png" width="110%">

0 comments on commit fa6f8d2

Please sign in to comment.