A safe Rust async runtime.
Features
forbid(unsafe_code)- Depends only on
stdat runtime - Good test coverage (>85%)
Limitations
- No
fsmodule yet. async-fs is a fast async networking library that works well with Safina. It contains some unsafe code. netmodule has poor performance. async-net is a fast async networking library that works well with Safina. It contains some unsafe code.- Not optimized
Examples
use Arc;
use Executor;
let executor: = default;
let = channel;
executor.spawn;
receiver.recv.unwrap;
let result = block_on?;
Alternatives
- smol
- Popular
- Contains some
unsafecode
- async-std
- Very popular
- Contains generous amounts of
unsafecode
- futures
- Very popular
- Contains generous amounts of
unsafecode
- tokio
- Very popular
- Fast
- Internally extremely complicated
- Full of
unsafecode
- bastion
- Generous amounts of
unsafecode
- Generous amounts of
nostd_async
Cargo Geiger Safety Report
Metric output format: x/y
x = unsafe code used by the build
y = total unsafe code found in the crate
Symbols:
🔒 = No `unsafe` usage found, declares #![forbid(unsafe_code)]
❓ = No `unsafe` usage found, missing #![forbid(unsafe_code)]
☢️ = `unsafe` usage found
Functions Expressions Impls Traits Methods Dependency
0/0 0/0 0/0 0/0 0/0 🔒 safina 0.5.0
0/0 0/0 0/0 0/0 0/0 🔒 └── safina-macros 0.1.2
0/0 0/0 0/0 0/0 0/0 🔒 ├── safe-proc-macro2 1.0.67
0/0 4/4 0/0 0/0 0/0 ☢️ │ └── unicode-ident 1.0.13
0/0 0/0 0/0 0/0 0/0 🔒 └── safe-quote 1.0.15
0/0 0/0 0/0 0/0 0/0 🔒 └── safe-proc-macro2 1.0.67
0/0 4/4 0/0 0/0 0/0
Changelog
TO DO
- Add
initfunction that makes an executor and starts the timer thread. - Add an
#[async_main]macro
License: Apache-2.0