1 个不稳定版本
使用旧的 Rust 2015
0.1.0 | 2016年3月23日 |
---|
69 在 #coroutine
20KB
533 行代码(不包括注释)
Monkeys 是新的协程
这是一个预_alpha 库,目前没有任何功能按预期工作。
目标
Rust 的 async/await/yield 协程。
fn main() {
async(|flow| {
let stream = async(|flow| {
for i in 0..5 {
flow.yield_it(i);
}
});
for r in stream {
println!("got streamed: {:?}", r);
}
let awaitable = async(|flow | {
1 + 1
});
let r = flow.await(awaitable);
println!("awaitable res: {:?}", r);
}).get();
}
打印
> got streamed: 0
> got streamed: 1
> got streamed: 2
> got streamed: 3
> got streamed: 4
> awaitable res: 2
非目标
不会包含网络栈本身。Monkeys 是构建更高级别库的模块。
计划
初始原型- 简单的计时器
- 支持可插拔网络栈
- 基准测试和优化
依赖项
~400KB