No description
Find a file
2026-02-26 18:53:28 +00:00
examples modularize IO code, implement O(1) hashed wheel timer, optimize task scheduling 2026-02-26 18:53:28 +00:00
src modularize IO code, implement O(1) hashed wheel timer, optimize task scheduling 2026-02-26 18:53:28 +00:00
.gitignore Initial commit: Minimal async executor with pluggable ID generation and I/O support 2026-02-26 12:34:16 +00:00
Cargo.toml modularize IO code, implement O(1) hashed wheel timer, optimize task scheduling 2026-02-26 18:53:28 +00:00
README.md modularize IO code, implement O(1) hashed wheel timer, optimize task scheduling 2026-02-26 18:53:28 +00:00

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