[grpc-io] Re: How to terminate a C++ client

2018-11-06 Thread michi.henning via grpc.io
Thinking about this again, having TryCancel() on the call context is truly surprising to me. It's spooky action at a distance. The call context is used once when the stream is established, and then typically forgotten, and the data is received by calling a method on the stream. So, why isn't

[grpc-io] Re: How to terminate a C++ client

2018-11-04 Thread michi.henning via grpc.io
On Thursday, November 1, 2018 at 1:12:42 PM UTC+10, michi@crowdstrike.com wrote: > > > I need to cancel the Read() call from another thread in my client, but I > can't find anything in the API to do this. What am I missing? > No suggestions? Anyone? -- *CONFIDENTIALITY NOTICE:* The

[grpc-io] How to terminate a C++ client

2018-10-31 Thread michi.henning via grpc.io
I have a C++ client that reads data from a stream using a ClientReader. The client runs a separate thread that effectively does: while (reader_stream->Read(buf)) { // Do something with buf } This works just fine, no problem. At some point, my process receives a message from an external

[grpc-io] Re: Assertion failure with C++ in perform_stream_op_locked

2018-10-15 Thread michi.henning via grpc.io
Issue opened here: https://github.com/grpc/grpc/issues/16876 -- *CONFIDENTIALITY NOTICE:* The information contained in this message may be privileged and/or confidential. It is the property of CrowdStrike. If you are not the intended recipient, or responsible for delivering this message to

[grpc-io] Assertion failure with C++ in perform_stream_op_locked

2018-10-04 Thread michi.henning via grpc.io
I have a simple C++ grpc client that talks to a grpc echo server written in Go via a bidir stream. The messages that are sent back and forth are binary blobs around 200 bytes in size. On the C++ client side, I have a reader thread and a writer thread. The reader sits in a loop and calls a