ForkAnthropicAnthropicpublished Mar 12, 2026seen 6d

anthropics/tokio

forked from tokio-rs/tokio

Open original ↗

Captured source

source ↗
published Mar 12, 2026seen 6dcaptured 11hhttp 200method plain

anthropics/tokio

Description: A runtime for writing reliable asynchronous applications with Rust. Provides I/O, networking, scheduling, timers, ...

Language: Rust

License: MIT

Stars: 19

Forks: 12

Open issues: 2

Created: 2026-03-12T20:12:10Z

Pushed: 2026-06-01T18:58:18Z

Default branch: anthropic-1.52.3

Fork: yes

Parent repository: tokio-rs/tokio

Archived: no

README: *TokioConf 2026 program and tickets are now available!*

---

Tokio

A runtime for writing reliable, asynchronous, and slim applications with the Rust programming language. It is:

  • Fast: Tokio's zero-cost abstractions give you bare-metal

performance.

  • Reliable: Tokio leverages Rust's ownership, type system, and

concurrency model to reduce bugs and ensure thread safety.

  • Scalable: Tokio has a minimal footprint, and handles backpressure

and cancellation naturally.

[![Crates.io][crates-badge]][crates-url] [![MIT licensed][mit-badge]][mit-url] [![Build Status][actions-badge]][actions-url] [![Discord chat][discord-badge]][discord-url]

[crates-url]: https://crates.io/crates/tokio [mit-url]: https://github.com/tokio-rs/tokio/blob/master/LICENSE [actions-badge]: https://github.com/tokio-rs/tokio/workflows/CI/badge.svg [actions-url]: https://github.com/tokio-rs/tokio/actions?query=workflow%3ACI+branch%3Amaster [discord-url]: https://discord.gg/tokio

Website | Guides | API Docs | Chat

Overview

Tokio is an event-driven, non-blocking I/O platform for writing asynchronous applications with the Rust programming language. At a high level, it provides a few major components:

  • A multithreaded, work-stealing based task [scheduler].
  • A reactor backed by the operating system's event queue (epoll, kqueue,

IOCP, etc.).

  • Asynchronous [TCP and UDP][net] sockets.

These components provide the runtime components necessary for building an asynchronous application.

[net]: https://docs.rs/tokio/latest/tokio/net/index.html [scheduler]: https://docs.rs/tokio/latest/tokio/runtime/index.html

Example

A basic TCP echo server with Tokio.

Make sure you enable the full features of the tokio crate on Cargo.toml:

[dependencies]
tokio = { version = "1.52.3", features = ["full"] }

Then, on your main.rs:

use tokio::net::TcpListener;
use tokio::io::{AsyncReadExt, AsyncWriteExt};

#[tokio::main]
async fn main() -> Result> {
let listener = TcpListener::bind("127.0.0.1:8080").await?;

loop {
let (mut socket, _) = listener.accept().await?;

tokio::spawn(async move {
let mut buf = [0; 1024];

// In a loop, read data from the socket and write the data back.
loop {
let n = match socket.read(&mut buf).await {
// socket closed
Ok(0) => return,
Ok(n) => n,
Err(e) => {
eprintln!("failed to read from socket; err = {:?}", e);
return;
}
};

// Write the data back
if let Err(e) = socket.write_all(&buf[0..n]).await {
eprintln!("failed to write to socket; err = {:?}", e);
return;
}
}
});
}
}

More examples can be found [here][examples]. For a larger "real world" example, see the [mini-redis] repository.

[examples]: https://github.com/tokio-rs/tokio/tree/master/examples [mini-redis]: https://github.com/tokio-rs/mini-redis/

To see a list of the available feature flags that can be enabled, check our [docs][feature-flag-docs].

Getting Help

First, see if the answer to your question can be found in the [Guides] or the [API documentation]. If the answer is not there, there is an active community in the [Tokio Discord server][chat]. We would be happy to try to answer your question. You can also ask your question on [the discussions page][discussions].

[Guides]: https://tokio.rs/tokio/tutorial [API documentation]: https://docs.rs/tokio/latest/tokio [chat]: https://discord.gg/tokio [discussions]: https://github.com/tokio-rs/tokio/discussions [feature-flag-docs]: https://docs.rs/tokio/#feature-flags

Contributing

:balloon: Thanks for your help improving the project! We are so happy to have you! We have a [contributing guide][guide] to help you get involved in the Tokio project.

[guide]: https://github.com/tokio-rs/tokio/blob/master/docs/contributing/README.md

Related Projects

In addition to the crates in this repository, the Tokio project also maintains several other libraries, including:

  • [axum]: A web application framework that focuses on ergonomics and modularity.
  • [hyper]: A fast and correct HTTP/1.1 and HTTP/2 implementation for Rust.
  • [tonic]: A gRPC over HTTP/2 implementation focused on high performance, interoperability, and flexibility.
  • [warp]: A super-easy, composable, web server framework for warp speeds.
  • [tower]: A library of modular and reusable components for building robust networking clients and servers.
  • [tracing] (formerly tokio-trace): A framework for application-level tracing and async-aware diagnostics.
  • [mio]: A low-level, cross-platform abstraction over OS I/O APIs that powers tokio.
  • [bytes]: Utilities for working with bytes, including efficient byte buffers.
  • [loom]: A testing tool for concurrent Rust code.

[axum]: https://github.com/tokio-rs/axum [warp]: https://github.com/seanmonstar/warp [hyper]: https://github.com/hyperium/hyper [tonic]: https://github.com/hyperium/tonic [tower]: https://github.com/tower-rs/tower [loom]: https://github.com/tokio-rs/loom [tracing]: https://github.com/tokio-rs/tracing [mio]: https://github.com/tokio-rs/mio [bytes]: https://github.com/tokio-rs/bytes

Changelog

The Tokio repository contains multiple crates. Each crate has its own changelog.

Supported Rust Versions

Tokio will keep a rolling MSRV (minimum supported rust version) policy of at least 6 months. When increasing the MSRV, the new Rust version must have been released at least six months ago. The current MSRV is 1.71.

Note that the MSRV…

Excerpt shown — open the source for the full document.

Notability

notability 1.0/10

Low-star fork, trivial event