grpc-java
grpc-java copied to clipboard
binder: ServerCall.Listener.onComplete() is called prematurely when transport not ready
Both SingleMessageServerStream and MultiMessageServerStream implement close() by asking Outbound to enqueue the status and trailers for sending, then calling Inbound#onCloseSent(). This method always calls ServerStreamListener.closed() even though the status and trailers may still be sitting in the Outbound queue due to transport-level flow control.