safina-executor
This is a safe Rust async executor.
It is part of safina, a safe async runtime.
Features
forbid(unsafe_code)- Depends only on
std - Good test coverage (100%)
Limitations
- Requires Rust
nightly, for OnceCell and Wake trait - Allocates memory
- Not optimized
Documentation
https://docs.rs/safina-executor
Examples
increase_threads_to;
let = channel;
spawn;
receiver.recv.unwrap;
spawn;
let result = block_on?;
Alternatives
- smol
- popular
- Contains generous amounts of
unsafecode
- async-std
- popular
- Contains generous amounts of
unsafecode
- tokio
- very popular
- Fast, internally complicated, and full of
unsafe
- nostd_async
Release Process
- Edit
Cargo.tomland bump version number. - Run
./release.sh
Changelog
- v0.1.1 - Fix badge and update readme
- v0.1.0 - Renamed from
safina
TO DO
- DONE - Implement
spawn - DONE - Implement
block_on - DONE - Implement
increase_threads_to - DONE - Drop finished futures
- DONE - Handle task panic
- DONE - Add
stop_threads,allow_threads, andincrease_threads_to. - DONE - Add tests
- DONE - Add docs
- DONE - Publish on crates.io
- DONE - Add an #[async_test] macro
- Add a stress test
- Add a benchmark
- Make a version of the crate that uses
unsafe
once_celland unsafeRawWakerand builds with Ruststable. - Add an #[async_main] macro
License: Apache-2.0