8个版本
0.1.7 | 2023年1月11日 |
---|---|
0.1.6 | 2023年1月6日 |
0.1.1 | 2022年12月26日 |
#1693 in 嵌入式开发
每月29次下载
24KB
587 行
已弃用,请使用 MicroAsync-RT 代替!
microasync-util
MicroAsync (GitHub) 功能有限,没有IO支持,没有合适的运行时。MicroAsync-Util提供这些功能
- 支持添加任务的小型运行时(支持
no_std
) - 小型计时器
- 文件、TCP和UDP的异步IO
队列运行时
队列运行时是一个非常小的异步运行时,支持在运行时添加更多任务。新任务必须仅从它上面正在运行的任务中或在其等待之前添加!
use microasync::sync;
use microasync_util::{QueuedRuntime, wait_ms};
fn main() {
let mut runtime = QueuedRuntime::new();
for _ in 0..50 {
runtime.push(print_something_after_ms(2000));
}
sync(runtime);
}
async fn print_something_after_ms(ms: u64) {
wait_ms(ms).await;
println!("something! :D");
}
use microasync::sync;
use microasync_util::{QueuedRuntime, wait_ms, get_current_runtime};
fn main() {
let mut runtime = QueuedRuntime::new();
runtime.push(print_something_after_ms(0));
sync(runtime);
}
async fn print_something_after_ms(ms: u64) {
wait_ms(ms).await;
println!("something after {ms}ms! :D");
get_current_runtime().await.push(print_something_after_ms(ms + 1));
}
示例
在examples/中有许多示例 - 欢迎查看!
依赖项
~7KB