Skip to content

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

License

Apache-2.0 and 2 other licenses found

Licenses found

Apache-2.0
LICENSE_APACHE_2_0.txt
BSL-1.0
LICENSE_BOOST_1_0.txt
MIT
LICENSE_MIT.txt
Notifications You must be signed in to change notification settings

ardaku/smelling_salts

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.

Topics

Resources

License

Apache-2.0 and 2 other licenses found

Licenses found

Apache-2.0
LICENSE_APACHE_2_0.txt
BSL-1.0
LICENSE_BOOST_1_0.txt
MIT
LICENSE_MIT.txt

Stars

Watchers

Forks

Packages

No packages published

Languages