我正在构建一个http/2客户端,对于RFC和我应该如何处理实现特别是与流控制有关的问题有疑问。
我知道流控制使用基于信用的窗口大小系统,但我不确定如何处理窗口耗尽的情况。
1. 当窗口被耗尽时,我是永久阻塞直到WINDOW_UPDATE帧释放了一些东西吗?还是会有一个合理的超时时间?
2. 当窗口被耗尽时,我需要暂停发送所有帧吗?RFC指出流中帧的顺序很重要,特别是标题和数据帧,但它并没有明确说明在窗口耗尽时应暂停所有帧。这对我来说有点模糊,因为只有数据帧才会影响窗口大小。所以我是要阻止发送所有帧还是只有头/数据帧?这个答案在连接流控制上下文和流流控制上下文中是否不同?
我知道流控制使用基于信用的窗口大小系统,但我不确定如何处理窗口耗尽的情况。
1. 当窗口被耗尽时,我是永久阻塞直到WINDOW_UPDATE帧释放了一些东西吗?还是会有一个合理的超时时间?
2. 当窗口被耗尽时,我需要暂停发送所有帧吗?RFC指出流中帧的顺序很重要,特别是标题和数据帧,但它并没有明确说明在窗口耗尽时应暂停所有帧。这对我来说有点模糊,因为只有数据帧才会影响窗口大小。所以我是要阻止发送所有帧还是只有头/数据帧?这个答案在连接流控制上下文和流流控制上下文中是否不同?