1
0
Fork
You've already forked ringframe
0
A minimal event-driven async framework built directly on io_uring, exposing explicit frames, lifetimes, and continuations instead of coroutines.
  • Zig 100%
2026年02月07日 19:13:31 +08:00
src Improved codes reliability 2026年02月07日 19:13:31 +08:00
.gitignore Improved codes reliability 2026年02月07日 19:13:31 +08:00
build.zig First runnable example 2026年01月22日 09:16:57 +00:00
build.zig.zon First runnable example 2026年01月22日 09:16:57 +00:00
LICENSE Initial commit 2026年01月22日 17:04:09 +08:00
README.md Improved codes reliability 2026年02月07日 19:13:31 +08:00

RingFrame

A minimal event-driven async framework built directly on io_uring, exposing explicit frames, lifetimes, and continuations instead of coroutines.

This project is a small experimental async framework built directly on Linux io_uring.

It exposes async execution as an explicit event-driven state machine. IO lifetimes and user state lifetimes are modeled separately.

This repository is a work in progress. TODO comments document design questions and future improvements, and are kept intentionally.

How to run

Use following command to build and run a local cat-server build on this async framework, the default port is 54321.

git clone https://github.com/violeshnv/ringframe.git
cd ringframe
zig build run # or zig build run -- <port>

While the cat server is waiting for connection, open another terminal and run

import socket
client = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
client.connect(('localhost', 54321))
client.send(b'src/main.zig')
print(client.recv(1024).decode())

More

More information can be found in source codes' comments.