safina
A safe Rust async runtime.
Features
forbid(unsafe_code)
- Depends only on
std
- Good test coverage (>92%)
Limitations
- Requires Rust
nightly
, for OnceCell and Wake trait - Allocates memory
- Not optimized
Documentation
safina_async_test
has an #[async_test]
macro for running async fn
test functions.
Examples
;
let = channel;
spawn;
receiver.recv.unwrap;
increase_threads_to
;
let result = block_on?;
spawn
Alternatives
- smol
- Popular
- Contains generous amounts of
unsafe
code
- async-std
- Very popular
- Contains generous amounts of
unsafe
code
- tokio
- Very popular
- Fast
- Internally extremely complicated
- Full of
unsafe
- nostd_async
Changelog
- v0.1.3 - Update readme
- v0.1.2 - Renamed
safina
crate tosafina-executor
. Added newsafina
crate with re-exports, examples, and integration tests. - v0.1.1 - Add badges to readme
- v0.1.0 - First published version
TO DO
- Add an integration test
- Add
init
function that starts worker threads and the timer thread. - Make it work on Rust stable
- Add an #[async_main] macro
Release Process
- Edit
Cargo.toml
and bump version number. - Run
./release.sh
License: Apache-2.0