1个不稳定版本
0.0.2 | 2024年6月2日 |
---|---|
0.0.1 |
|
#1889 in 网络编程
68 每月下载量
245KB
5K SLoC
scr-axum-cranker-router
A Rust移植自mu-cranker-router
"scr"意味着从头开始,之前有一个"cranker-ruster",因为Rust对我来说太难了。Rust仍然很难,但现在不那么痛苦了,所以这次又从头开始写了。
待办事项
- 将
VecDeque
替换为可超时的mpsc通道以轮询路由器套接字 [ ] 使用当前方法应该是足够的。thiserror
crate定义错误[ ] 将整个程序封装成tower服务看起来tower http没有为WebSocket设计,所以没有方法。- 支持V3
- 处理无效的路由器套接字
-
在挂钩点调用监听器在ProxyListener
中调用on_failure_to_acquire_proxy_socket
-
添加健康映射以实现可观察性。为此,我们需要将route_to_socket_chan
中的当前Arc<dyn RouteSocket>
更改为Weak<_>
,并将唯一的Arc存储在AppState的全局映射中。参考mu cranker router中的WebSocketFarm
。WebSocketFarm已完成。/health/connectors默认可用。 - 注销处理程序
[ ] 将所有不必要的async mpmc无界通道替换为tokio的mpsc无界通道。已放弃。- 暗黑模式管理器
- 整理访问修饰符,尽可能少地暴露实现细节。
- 考虑使用
tracing
crate进行日志记录 - 删除具有解析带端口号的主机时存在错误的
rfc7239
crate - 文档。从所有公共代码迁移到java doc。
- 优雅关闭。检查simple_v1。
依赖项
~12–22MB
~318K SLoC