Rust in Everything
基于 hyper 1.12.0

全景

这一部分不进细节,先把整张地图画出来:

  1. hyper 解决什么问题:hyper 只管「一条连接上的 HTTP」,接受连接、连接池、路由、运行时都不管;1.0 把 Server、Client 移到 hyper-util,Service 去掉 poll_ready,理由都写在 hyper 自己的路线图和 PR 里;drop 一个请求 future 在 HTTP/1 和 HTTP/2 上的后果不同。
  2. 一个请求的一生:同一个程序里一个 hyper 服务端、一个 hyper 客户端互发一个请求,日志标出每次读写 socket、每次调用 service 发生在哪个任务里;一张时序图同时画出两条主线。

后面每一部分都是在把这张地图上的某一段放大。

💬 关联讨论

发起讨论
加载中...