博文资讯

镍元素对不锈钢的影响(A)


更新时间:2019-10-10  


  前一篇文章主要介绍了.NET Core继承Kestrel的目的、运行方式以及相关的使用,接下来将进一步从源码角度探讨.NET Core 3.0中关于Kestrel的其他内容,该部分内容,我们无需掌握,戴尔游侠3000系列3579-2545BL西安现货!依然可以用好Kestrel,本文只是将一些内部的技术点揭露出来,供自己及大家有一个较深的认识。

  接下来,我们详细讨论一下流控制,其中内部有一个结构体的实现:FlowControl,118kj开奖现场开奖记录FlowControl在初始化的时候设置了所能接收或者输出的数据量大小,并会根据输入输出进行动态控制,毕竟资源是有限的,在有限资源的限制下,需要灵活处理数据包对资源的占用。FlowControl.Advance方法的调用会腾出空间,FlowControl.TryUpdateWindow会占用空间,以下是FlowControl的源码:

  HPackDecoder提供了三个公共方法,这三个方法最终都会调用EncodeString进行最终的编码,目前可以看到其内部只有整形编码,我相信在未来会增加哈夫曼编码,以下是EncodeString源码(有兴趣的朋友可以关注下Span的使用):

  HPackEncoder只有一个公共方法Decode,不过其内部实现非常复杂,它实现了流的不同帧的处理、大小的控制以及多路复用。

  读取功能主要由Http2FrameReader实现,内部有四个常数,如下所示:

  除此以外还包括Stream生命周期处理、错误编码、连接控制等,限于篇幅此处不做其他说明,有兴趣的朋友可以自己查看源代码。返回搜狐,查看更多