ardaku / smelling_salts

Start a thread to wake an async executor when the OS's I/O event notifier gathers that the hardware is ready.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Smelling Salts

tests docs crates.io

Abstraction over OS APIs to handle asynchronous device waking.

About

If you're writing a Rust library to handle hardware asynchronously, you should use this crate. This library automatically wakes futures by registering a waker with a device that you construct with a file descriptor.

Currently Supported APIs

  • Epoll (Linux)

Planned APIs

  • Run loops (MacOS)
  • Kqueue (BSD/MacOS)
  • IOCP (Windows)
  • Various Bare Metal?
  • Others?

MSRV

The minimum supported Rust version of Smelling Salts is 1.66; bumping the MSRV is considered a breaking change and requires incrementing the leftmost version number.

License

Licensed under any of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be licensed as described above, without any additional terms or conditions.

Help

If you want help using or contributing to this library, feel free to send me an email at aldaronlau@gmail.com.

About

Start a thread to wake an async executor when the OS's I/O event notifier gathers that the hardware is ready.

License:Apache License 2.0


Languages

Language:Rust 100.0%