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.

Reply via email to