Hello Vjpai, Thanks for your answer. I created issue 14812 here: https://github.com/grpc/grpc/issues/14812
I raised this issue because one of the main assumptions of gRPC is that both server and client can cancel a stream at any time. I.e., a server that has received "enough" items should be able to tell the client to stop sending. Cancelling a stream is an implicit operation and should not require an explicit flag in some message. In case of a client to server stream, this would not even be possible. Since there is only one response message flowing from server to client, a server has no way to communicate with a client and tell him: "Now please stop sending and wait for my status". I wouldn't really care how this is implemented. Returning ok=false on the completion queue was my assumption, because the documentation for the synchronous implementation <https://github.com/grpc/grpc/blob/34e8e0a6400d8b529125a3b83ec1facf71acf99b/include/grpcpp/impl/codegen/sync_stream.h#L115> indicates it should return false. Following ok=false, a client would need to call Finish() to receive the status from the server. I will add some code examples for repro to the issue soon. Best regards, Norman -- 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 post to this group, send email to [email protected]. Visit this group at https://groups.google.com/group/grpc-io. To view this discussion on the web visit https://groups.google.com/d/msgid/grpc-io/a98bdcbf-607e-4b9f-80e0-1e9c155f0807%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.
