nginx http2 源码分析

来源:互联网 发布:知乎网站 源码 编辑:程序博客网 时间:2024/06/06 02:43



static ngx_chain_t *
ngx_http_v2_send_chain(ngx_connection_t *fc, ngx_chain_t *in, off_t limit)


流程走读:

1 找到当前chain中第一个非空buf;

2 没有一个非空buf,直接返回(?);

3 如果当前stream发送窗口不大于0或者当前http2连接发送窗口等于0,直接返回;

4 (?)

5 设置这次发送直接数据的阈值;

6 设置这次帧大小;

7 如果帧大小大于数据阈值,设置帧大小为数据阈值;

8 遍历chain,构造出一个个输出chain,每个chain中buf大小为一个帧大小,再将每个chain构建一个http2帧;

9 调用发送接口,发送构造的每个http2帧;

原创粉丝点击