#async-executor #mio #async-io #minimal

lustre-executor

A blazingly fast, minimal async executor with pluggable ID generation and I/O support

2 unstable releases

new 0.2.0 Feb 26, 2026
0.1.0 Feb 26, 2026

#2365 in Asynchronous

MIT license

17KB
371 lines

lustre-executor

A blazingly fast, minimal async executor built on Mio for low-level I/O. Features pluggable ID generation, modular design, and support for custom futures.

Installation

Add this to your Cargo.toml:

[dependencies]
lustre-executor = "0.1"

Quick Start

Get up and running in under a minute:

use lustre_executor::prelude::*;

let mut executor = Executor::new().unwrap();
executor.spawn(Task::new(async {
    println!("Hello from an async task!");
}));
executor.run();

This spawns a simple task and runs the executor.

Features

  • Minimal Dependencies: Only Mio and Futures.
  • Pluggable ID Generation: Use custom generators for task IDs.
  • I/O Support: Reactor-based async I/O with futures like TcpListenerFuture and TimerFuture.
  • Generic Task IDs: TaskId<Id> for flexibility.

Examples

See the examples/ directory for complete sample projects:

  • basic_spawn: Simple task spawning.
  • custom_id_timer: Basic timer usage.

License

MIT

Dependencies

~1–11MB
~73K SLoC