1. Motivation
  2. Phase 1 - The Executor
  3. 1. What is an executor?
  4. 2. API
  5. 3. Prerequisites - Rust Primitives
    1. 3.1. Future
    2. 3.2. Async/Await
    3. 3.3. Waker
  6. 4. Implementation Details
    1. 4.1. Architecture
    2. 4.2. Task
    3. 4.3. Running the Task
    4. 4.4. TaskQueue
    5. 4.5. Waker
    6. 4.6. Local Executor
    7. 4.7. Join Handle
  7. 5. Life of a Task
  8. 6. Pinned Threads
  9. Phase 2 - Asynchronous I/O
  10. 7. What is Asynchronous I/O?
  11. 8. Prerequisites
    1. 8.1. Non-blocking I/O
    2. 8.2. Io_uring
  12. 9. API
  13. 10. Implementation Details
    1. 10.1. Core abstractions
    2. 10.2. Step 1 - Setting the O_NONBLOCK Flag
    3. 10.3. Step 2 - Submitting a SQE
    4. 10.4. Step 3 - Processing the CQE

Building an Asynchronous Runtime like Glommio

Implementation Details