| Crates.io | epox |
| lib.rs | epox |
| version | 0.2.0 |
| created_at | 2025-11-17 04:13:04.907388+00 |
| updated_at | 2025-11-19 23:17:19.174516+00 |
| description | An epoll driven async executor. |
| homepage | |
| repository | https://github.com/relectrify/epox |
| max_upload_size | |
| id | 1936223 |
| size | 106,379 |
epoxepox is an async executor for Rust based on the Linux epoll I/O event
notification facility.
epox differs from other async executors in the Rust ecosystem as it:
We aim to provide a minimal executor which minimises I/O latency as much as
possible while providing a high degree of control to application authors.
epox is well suited for applications such as real-time control, audio
processing, games and other applications where it is important to separate time
critical tasks from other processing.
The epox async executor is thread-local. This means that:
epox::spawn() spawns tasks on the thread-local executor only.epox::spawn() can be called from any context, async or not.Rc<RefCell> rather than an Arc<Mutex>.Even though the epox async executor is thread-local, threading is fully
supported. Calling epox::spawn() from two different threads runs tasks in
parallel in two completely separate executors.
See the examples/ directory to get started.