The C based gRPC (C++, Python, Ruby, Objective-C, PHP, C#) https://grpc.io/
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
Craig Tiller dbb5164ac7 [clang-format] Remove custom clang-format rules for include ordering (#37820) 2 months ago
..
BUILD [sample] Client-side flow control (#37604) 2 months ago
CMakeLists.txt [Build] Bumped the minimum version of cmake (#37702) 2 months ago
README.md [samples] Server flow control example (#37591) 3 months ago
client_flow_control_client.cc [clang-format] Remove custom clang-format rules for include ordering (#37820) 2 months ago
client_flow_control_server.cc [clang-format] Remove custom clang-format rules for include ordering (#37820) 2 months ago
server_flow_control_client.cc [clang-format] Remove custom clang-format rules for include ordering (#37820) 2 months ago
server_flow_control_server.cc [clang-format] Remove custom clang-format rules for include ordering (#37820) 2 months ago

README.md

gRPC Flow Control Example

Overview

Flow control is relevant for streaming RPC calls.

The underlying layer will make the write wait when there is no space to write the next message. This causes the request stream to go into a not ready state and the method invocation waits.

Server flow control

In server case, gRPC will pause the server implementation that is sending the messages too fast. Server implementation is in server_flow_control_server.cc. It will write a specified number of responses of a specified size as fast as possible. As client-side buffer is filled, the write operation will block until the buffer is freed.

A client implementation in server_flow_control_client.cc will delay for 1s before starting a next read to simulate client that does not have resources for handling the replies.

Related information

Also see gRPC Flow Control Users Guide