I'm looking at using gRPC for a project of mine but am having problems 
understanding if my needs are supported by gRPC. Before jumping into code 
and trying via trial and error I thought I would ask here for faster turn 
around.

I have a two processes running on a machine and am looking to use gRPC for 
the IPC between them. The client will send many various async unary RPCs to 
the server. But I also want the server to be able to send "push 
notifications" (usually work progress information, but some potentially 
unsolicited) to the client. The latter is where I am getting stuck. Here 
are what I believe are my options.

Option 1) The client opens many long-lived server streams.
But can server streams multiplex? Can the client stay async and continue to 
make requests and accept responses (some server streaming some not) from 
the server? I most definitely want to have the server processing multiple 
requests at once and sending request progress to the client simultaneously.

Option 2) Both processes function bidirectionally as a client and a server. 
Meaning "push notifications" are simply the server acting as a client, and 
the client acting as a server.
Not ideal since I assume this would take two sockets and multiple channels? 
Plus the proto definitions get wonky when we have the client defining 
Services.

Are there other options I am missing? Thanks!

-- 
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/06c03b05-cae0-4747-ab31-16cfa4e4fb7d%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to