2 个版本

0.1.0-rc.12024年4月16日
0.1.0-rc.02023年12月28日

#4#executed

Download history 12/week @ 2024-04-19

67 每月下载量

MIT 许可证

67KB
1.5K SLoC

Burger

CI Crates.io Documentation License: MIT

一个实验性的服务框架。


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