I have been thinking about using a queue providers (like 0MQ), but I prefer not to add too many different models to project at same time if possible.
Why you say that client will not notice the connection is broken unless it actually uses channel to send something? if I have a used ClientAsyncReader (or ClientAsyncResponseReader) to read from channel and connection is broken, CompletionQueue::Next() should get tag with ok==false, isn't it? So I should be able to find out that connection is broken without sending anything on it.
Finally, is starting new rpc call has a high burden or gRPC server/client? I ask this because I want to know if trying to pull new data from client side every new seconds is a bad idea or not.
Thanks a lot for your time.