Recently, I hit a `Send` block problem with grpc-go streaming. We located 
the problem that happened in the flowcontrol.go/writeQuota with pprof. I'm 
trying to read the source code to figure out how the flow control works, 
but it's a little bit complex.

If someone is familiar with grpc-go, could you please explain the following 
3 ingredients in the flow control? I'd like to know if they're impacted by 
each other.
Thanks.


1. 
writeQuota: 
https://github.com/grpc/grpc-go/blob/master/internal/transport/flowcontrol.go#L30

2. trInFlow: 
https://github.com/grpc/grpc-go/blob/master/internal/transport/flowcontrol.go#L80

3. inFlow: 
https://github.com/grpc/grpc-go/blob/master/internal/transport/flowcontrol.go#L119

Also, it looks like the quota of 'writeQuota' is hardcoded in 64 * 1024 and 
can not be changed.

-- 
You received this message because you are subscribed to the Google Groups 
"grpc.io" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion visit 
https://groups.google.com/d/msgid/grpc-io/c7c162eb-3ffd-4486-97cf-47826f183f3dn%40googlegroups.com.

Reply via email to