We currently do not expose flow control semantics directly in the stub. Inbound flow control implicitly "consumes" bytes upon returning from onNext. Outbound is simply not exposed at all. As it stands, developers needing flow control would either have to rewrite their client to use the Channel API directly, or perform some tricks using interceptors (or handler registries on the server-side).
We need an easy way to allow developers who begin by using the stub API to upgrade their code to interact with flow control directly.
/cc @louiscryan @ejona86 @Scottmitch
@ejona86 This has reared its head on the server side too so we need to come up with a way to provide a graduated experience for both client & server developers. Lets discuss
Being able to use ReactiveStreams-like API on both sides would be great.
https://github.com/grpc/grpc-java/pull/1842
adds the client-side equivalent of what was added earlier for servers
This is now resolved by #1842
Most helpful comment
https://github.com/grpc/grpc-java/pull/1842
adds the client-side equivalent of what was added earlier for servers