diff --git a/executor/waker_implementation.html b/executor/waker_implementation.html index 57f4115..072dbc9 100644 --- a/executor/waker_implementation.html +++ b/executor/waker_implementation.html @@ -143,7 +143,7 @@

Building an Asynchronous Runtime like Glommio

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.

Here is the vtable for the task:

impl<F, R, S> RawTask<F, R, S>
diff --git a/index.html b/index.html
index a900012..dec660c 100644
--- a/index.html
+++ b/index.html
@@ -145,7 +145,7 @@ 

Building an Asynchronous Runtime like Glommio

Motivation

I've always wondered how asynchronous runtimes like Node.js, Seastar, Glommio, and Tokio 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.

-

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 and 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 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 and 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 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.

What is an asynchronous runtime?

@@ -171,7 +171,7 @@

Wha
  • Phase 4 [WIP]: In phase 4, we will build more advanced abstractions such as Executor Pools.
  • As a teaser, here is the architecture of the async runtime that we are building:

    - +