11 个版本
使用旧的 Rust 2015
0.0.12 | 2018 年 3 月 25 日 |
---|---|
0.0.11 | 2018 年 3 月 25 日 |
#22 in #radix-tree
每月 31 次下载
43KB
974 行
luminal_router
hyper 的路由器
为什么
有几个尝试为 hyper 构建路由器。大多数都不是活跃开发。正在开发的那个,hyper-router,非常基础,依赖于正则表达式匹配。
luminal_router 使用内部基数树进行高效分发。包含的基准测试表明性能是匹配路径的线性函数。它不引入任何额外的特性和类型,只有别名,所以任何 Service
实现或与 hyper::server::service_fn
兼容的函数都将与 luminal_router 或标准 hyper 一起工作。
需要帮助
基数树实现看起来合理,无疑可以经过基准测试和改进,特别是在它获得支持路径参数的能力后,这将直接影响到基于使用路径组件作为底层树边沿的查找时间。
待办事项
- 支持路径参数
- 将消息错误转换为显式类型。
- 添加基准测试。
- 向 RouteTree 添加迭代器,该迭代器消耗路径令牌,在首次失败时返回 None
- 将示例添加到文档中
- 将示例添加到示例 crate 中
依赖项
~13MB
~225K SLoC