/gj

event loop and promises in Rust

Primary LanguageRustMIT LicenseMIT

Good Job Event Loop

Build Status crates.io

documentation

EXPERIMENTAL! UNSTABLE! A WORK IN PROGRESS!

GJ is a port of the KJ event loop into Rust. Its central abstraction is the Promise<T,E> struct which is similar to Javascript's Promise class.

Promises that are chained recursively can be thought of as lightweight stackless tasks. A GJ event loop allows you to execute many such tasks on a single operating system thread and to safely share mutable data between them without any need for mutexes or atomics.

For a completion-based I/O interface built on top of GJ, see gjio.