#async-executor #async #executor #run-time #single-file

whorl

涡流是为了教你如何理解Rust中的异步执行器而创建的

2个版本

0.1.1 2023年4月10日
0.1.0 2023年4月10日

#1188异步

每月22次下载

MIT 协议

71KB
241

whorl - 单文件,仅std,异步Rust执行器

涡流是为了教你如何理解Rust中的异步执行器而创建的。它不是最快的执行器,其API也不是完美的,但它会教你它们的工作原理以及如何开始自己制作。它是用文献编程风格编写的,从开始到结束阅读它告诉你它是如何工作的故事,或者你可以根据你想要从中获得的内容来分块阅读它。

你可以在这里在线阅读全部内容 GitHub,或者你可以自己克隆仓库并打开 src/lib.rs 用你喜欢的文本编辑器阅读,或者玩弄它并更改一些东西。所有代码均采用 MIT 协议 发布,所以你可以自由地做你想要的事情。如果你想制作下一个 tokio 或者只是为了乐趣制作一些东西,你可以做到。

如果你想看看它的工作情况,文件中包含一个示例测试程序。你可以通过运行以下命令查看其输出:

cargo test -- --nocapture

这应该看起来像这样

whorl on  main [!] is 📦 v0.1.0 via 🦀 v1.56.0 took 10s
 cargo test -- --nocapture
   Compiling whorl v0.1.0 (/home/michael/whorl)
    Finished test [unoptimized + debuginfo] target(s) in 0.47s
     Running unittests (target/debug/deps/whorl-6d670ffb5bb225ca)

running 1 test
Begin Asynchronous Execution
Blocking Function Polled To Completion
Spawned Fn #00: Start 1635276666
Spawned Fn #01: Start 1635276666
Spawned Fn #02: Start 1635276666
Spawned Fn #03: Start 1635276666
Spawned Fn #04: Start 1635276666
Spawned Fn #00: Ended 1635276669
Spawned Fn #02: Ended 1635276669
Spawned Fn #03: Ended 1635276669
Spawned Fn #01: Ended 1635276670
Spawned Fn #00: Inner 1635276671
Spawned Fn #03: Inner 1635276674
Spawned Fn #04: Ended 1635276675
Spawned Fn #02: Inner 1635276675
Spawned Fn #01: Inner 1635276678
Spawned Fn #04: Inner 1635276678
End of Asynchronous Execution
test library_test ... ok

test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 23.00s

   Doc-tests whorl

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

这最初是为我的月度通讯录创建的。你可以在 这里 找到该帖子,或者你可以在 这里 注册。

无运行时依赖