🔗 特性:客户端清理
- 目标:提高代码质量和可维护性。
- 状态:已开始;
- 预计完成时间:开始后两到三个月
- 版本:Squid 3.4 及更高版本
- 开发者:AmosJeffries
- 更多:squid-dev 讨论串
🔗 详细信息
我们需要精简、清晰的 HTTP 服务器代码,让开发者易于理解。清晰地与 Comm、Store 和 Forward API 进行交互(这些 API 可能在此项目之前就需要清理)。当前的 Our accumulated many serious design flaws that make changes difficult and risky. Most (perhaps all) developers cannot even grasp all the interactions and inner dependencies, which causes the snowball effect of degrading code quality.
受影响的 client_side* 类可能会重命名,以反映它们实现了 HTTP 服务器的事实。这段代码与 Squid 客户端通信,因此被称为客户端。
🔗 进展
🔗 已完成
- Comm::TcpAcceptor 已分离
- 类,用于处理 accept() 的 Comm 层操作和后续的套接字状态查找
- 定义了 ConnStateData 的范围和目的
- 类,用于管理客户端 TCP 连接
- 读取 HTTP/1.1 帧(请求头块、正文块)
- 写入 HTTP/1.1 帧(响应头块、1xx 头块、正文块)
- 类,用于管理客户端 TCP 连接
- 生成 HttpParser、ClientSocketContext 和其他 AsyncJobs,根据需要操作上述帧类型
🔗 进行中
- 创建一个主事务状态对象,以便轻松传递数据
- 重构 ConnStateData 以满足上述标准
🔗 待办事项
- 定义 ClientSocketContext 的范围和目的
- 定义 ClientHttpRequest 的范围和目的
分类: WantedFeature
导航:站点搜索,站点页面,类别,🔼 向上