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.
