#gate #run-time #framework #await #api-bindings

gain

针对 Gate 运行时 (wasm32 目标) 的基于 async/await 的框架

7 个版本 (4 个破坏性更新)

0.5.0 2021 年 12 月 27 日
0.4.1 2021 年 6 月 12 日
0.4.0 2021 年 3 月 6 日
0.3.0 2020 年 11 月 6 日
0.1.0 2018 年 12 月 2 日

WebAssembly 中排名第 722


3 个 crate 中使用

MIT 许可证

85KB
2.5K SLoC

Gate 接口

异步执行

task 模块提供了一个用于创建和运行异步任务的框架。

典型程序运行一个顶级任务

use gain::task::{block_on, spawn};

fn main() {
    block_on(async {
        spawn(concurrent_work());
        do_something().await;
    })
}

async fn concurrent_work() {
    do_stuff().await;
}

通过创建更多任务来实现并发。程序在顶级任务返回时退出。

服务 API

catalogidentityoriginpeerpeerindex 模块提供了对内置 Gate 服务的访问。

stream 模块中定义了常见的 I/O 流类型。

服务实现

可以使用 service 模块实现额外的服务绑定。

依赖

~170–405KB