lustre-executor 0.2.0

A blazingly fast, minimal async executor with pluggable ID generation and I/O support.
Documentation
  • Coverage
  • 69.77%
    30 out of 43 items documented1 out of 30 items with examples
  • Size
  • Source code size: 24.7 kB This is the summed size of all the files inside the crates.io package for this release.
  • Documentation size: 4.83 MB This is the summed size of all files generated by rustdoc for all configured targets
  • Ø build duration
  • this release: 41s Average build duration of successful builds.
  • all releases: 35s Average build duration of successful builds in releases after 2024-10-23.
  • Links
  • Homepage
  • Repository
  • crates.io
  • Dependencies
  • Versions
  • Owners
  • ParkBlake

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