Skip to content

dope — the runtime

: wild

dope is the foundation: a thread-per-core async runtime built on io_uring. Each core runs one fully independent, single-threaded executor — one driver, one connection slab, one waker arena, no shared state. Everything else stands on it.

main thread Launcher::from_affinity().run(|ctx| …)
spawns ↓ CPU 0 pinned thread
  • Executor
  • io_uring driver
  • slab
  • wakers
spawns ↓ CPU 1 pinned thread
  • Executor
  • io_uring driver
  • slab
  • wakers
this thread ↓ CPU N main thread · leader
  • Executor
  • io_uring driver
  • slab
  • wakers
SO_REUSEPORT:8080

The backend is io_uring and the runtime is shaped to it — submit, complete, batch. kqueue is an unoptimized dev stand-in for macOS, not a second target.

A Manifold is the per-core state machine the runtime drives; a Fiber is the async / await layer on top. Both obey the four features, like everything in the stack.