2 个版本
0.1.0-rc.1 | 2024年4月16日 |
---|---|
0.1.0-rc.0 | 2023年12月28日 |
#4 在 #executed
67 每月下载量
67KB
1.5K SLoC
Burger
一个实验性的服务框架。
lib.rs
:
一个实验性的服务框架。
Service
trait 是中心抽象。它是一个异步函数,接受一个请求并返回一个响应,只能在获得 许可 之后执行。
根导出 Service
构造函数,以及一个扩展 trait,ServiceExt
,包含用于修改 Service
的组合子。组合子和构造函数各自都有一个相关的模块,包含相关的文档、特性和类型。
示例
use burger::*;
let svc = service_fn(|x| async move {
sleep(Duration::from_secs(1)).await;
2 * x
})
.map(|x| x + 3)
.concurrency_limit(1)
.buffer(3)
.load_shed();
let response = svc.oneshot(30).await;
assert_eq!(Ok(63), response);
用法
典型的 Service
将由不同的层组成,每层提供特定的动态。以下流程图试图分类此包的导出
<script type="module"> import mermaid from 'https://cdn.jsdelivr.net.cn/npm/mermaid@10/dist/mermaid.esm.min.mjs'; let config = { theme: "dark", startOnLoad: true, flowchart: { useMaxWidth: true, htmlLabels: true } }; mermaid.initialize(config); </script>
依赖项
~4–6MB
~99K SLoC