Abstraction over OS APIs to handle asynchronous device waking.
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.
- Epoll (Linux)
- Run loops (MacOS)
- Kqueue (BSD/MacOS)
- IOCP (Windows)
- Various Bare Metal?
- Others?
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.
Licensed under any of
- Apache License, Version 2.0, (LICENSE_APACHE_2_0.txt or https://www.apache.org/licenses/LICENSE-2.0)
- Boost Software License, Version 1.0, (LICENSE_BOOST_1_0.txt or https://www.boost.org/LICENSE_1_0.txt)
- MIT License, (LICENSE_MIT.txt or https://mit-license.org/)
at your option.
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.
If you want help using or contributing to this library, feel free to send me an email at aldaronlau@gmail.com.