问题描述
HTTP/2 flow control 在 Node.js 版本的 gRPC (grpc-js) 中是如何实现的?
对于Go实现(grpc-go),逻辑主要在https://github.com/grpc/grpc-go/blob/master/internal/transport/(flowcontrol.go,bdp_estimator.go);此外,它被描述为 here。但是,我找不到 grpc-js 的任何内容。
我主要对 Node.js 接收器何时发送 WINDOW_UPDATE 帧感兴趣。
解决方法
grpc-js 库是使用 Node 的 http2 模块实现的,该模块处理 HTTP/2 协议的细节,包括流量控制。所以,grpc-js 中没有代码明确执行流控操作。反过来,http2 模块是使用 nghttp2 库实现的,因此您可能会在该代码中找到流控制逻辑。