Go发起HTTP2.0请求流程分析(前篇)(6)
2023-04-30 来源:飞速影视
在(*http2clientConnPool).getClientConn中会遍历同地址的连接,并判断连接的状态从而获取一个可以处理请求的连接。
cc.idleState()判断当前连接池中的连接能否处理新的请求:
1、当前连接是否能被多个请求共享,如果仅单个请求使用且已经有一个数据流,则当前连接不能处理新的请求。
2、以下几点均为true时,才代表当前连接能够处理新的请求:
连接状态正常,即未关闭并且不处于正在关闭的状态。当前连接正在处理的数据流小于maxConcurrentStreams。下一个要处理的数据流 当前连接处于等待状态的请求*2 < math.MaxInt32。当前连接没有长时间处于空闲状态(主要通过cc.tooIdleLocked()判断)。
本站仅为学习交流之用,所有视频和图片均来自互联网收集而来,版权归原创者所有,本网站只提供web页面服务,并不提供资源存储,也不参与录制、上传
若本站收录的节目无意侵犯了贵司版权,请发邮件(我们会在3个工作日内删除侵权内容,谢谢。)
www.fs94.org-飞速影视 粤ICP备74369512号