MCPcopy Index your code
hub / github.com/PacktPublishing/Asynchronous-Programming-in-Rust

github.com/PacktPublishing/Asynchronous-Programming-in-Rust @v1.0.0

Chat with this repo
repository ↗ · DeepWiki ↗ · release v1.0.0 ↗ · + Follow
611 symbols 1,092 edges 104 files 19 documented · 3% updated 57d agofirst-edition-end · 2026-02-09★ 3196 open issues
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Asynchronous Programming in Rust

This is the repository for the book: Asynchronous Programming in Rust.

Written by Carl Fredrik Samson, published by Packt

How to use this repository

My clear recommendation is to clone this repository by either clicking on the <> Code button and select "Download ZIP" or clone the repository using your preferred git client.

Each chapter has its own folder in this repository. Each example is organized as a standalone crate within that folder.

When encountering examples in the book, you might find it easier to read the code in the repository since you'll be able to open it up in the editor of your choice and have appropriate highlighting and formatting.

Even if you only write the examples directly from the book line by line, you'll need the repository for delayserver and corofy which is two tools I wrote to help in the learning process.

Delayserver

Most of the examples will use a program called delayserver that's provided in this repository. Delayserver is a simple local webserver where you can write a HTTP GET request with a configurable delay.

You have two options for running the delayserver:

  1. Go to the folder named /delayserver and write cargo run in a separate terminal window and leave it running there
  2. Go to the same folder and install the server by writing cargo install --force --path .. By doing so you install the program locally in you PATH so you can run it from any location by simply writing delayserver and leave the terminal process running.

How delayserver works is described in the book, but you'll also find the relevant information in its root folder.

Corofy

Corofy is another tool that we'll use from chapter 7 onwards. I recommend installing this tool locally by entering the folder ch7/corofy and installing it on your machine by writing cargo install --force --path .

I'll be going on a plane, how can I use the repository in an offline situation?

You'll need to install both delayserver and corofy locally on your machine while you're online. The process is described above.

Most of the examples have no external dependencies, but from chapter 6 onwards we will have some of them. The best way to be able to run these examples while offline is to enter each folder and use cargo vendor to vendor the dependencies locally. This way you'll be able to build and experiment with the examples even though you'll be offline.


Asynchronous Programming in Rust, published by Packt

Extension points exported contracts — how you extend this code

Core symbols most depended-on inside this repo

Shape

Method 247
Function 201
Class 120
Enum 32
Interface 11

Languages

Rust100%

Modules by API surface

ch05/d-fibers-closure/src/main.rs16 symbols
ch05/e-fibers-windows/src/main.rs15 symbols
ch05/c-fibers/src/main.rs15 symbols
ch10/b-rust-futures-experiments/src/runtime/executor.rs12 symbols
ch10/a-rust-futures/src/runtime/executor.rs12 symbols
ch10/a-rust-futures-bonus/src/runtime/executor.rs12 symbols
ch09/e-coroutines-pin/src/runtime/executor.rs12 symbols
ch09/c-coroutines-problem/src/runtime/executor.rs12 symbols
ch09/b-coroutines-references/src/runtime/executor.rs12 symbols
ch09/a-coroutines-variables/src/runtime/executor.rs12 symbols
ch08/d-multiple-threads/src/runtime/executor.rs12 symbols
ch08/c-reactor-executor/src/runtime/executor.rs12 symbols

For agents

$ claude mcp add Asynchronous-Programming-in-Rust \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page