Skip to content
/ starfish Public

Lock-free data structures with a cross-platform async I/O reactor (io_uring, kqueue, IOCP) for Rust

Notifications You must be signed in to change notification settings

grlap/starfish

Repository files navigation

Starfish

Starfish is a high-performance, cross-platform asynchronous I/O and cooperative multitasking runtime for Rust. It is designed to provide efficient, non-blocking I/O operations and concurrency primitives using native OS facilities (io_uring on Linux, kqueue on macOS, IOCP on Windows).

Project Structure

This repository is a workspace containing several crates that make up the Starfish ecosystem:

Key Features

  • True Cross-Platform Async I/O: Leverages io_uring (Linux), kqueue (macOS), and IOCP (Windows) for optimal performance.
  • Cooperative Multitasking: Efficient userspace task scheduling.
  • Networking: Async TCP and UDP support.
  • File I/O: Asynchronous file operations.
  • Synchronization: Async mutexes, events, and other primitives.

Getting Started

To use the Starfish reactor in your project, add starfish-reactor to your dependencies.

Running Tests

You can run tests for the entire workspace:

cargo test

Benchmarks

Run benchmarks using:

cargo bench

Documentation

For detailed examples and API usage, please refer to the starfish-reactor README.

About

Lock-free data structures with a cross-platform async I/O reactor (io_uring, kqueue, IOCP) for Rust

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages