Hi,
Our client application and our server will continuously exchange messages:
- Client may send a message containing a gps coordinate every 10 seconds
to the server
- Server may send a message containing geolocalized information
- If there is nothing close the client gps position, server sends
nothing
- If an incoming information appears close the client gps position,
server push a message to the client
We plan to define our service like this:
service Information
rpc GetInformation(stream ClientPosition) returns (stream GeoInformation);
}
>From an implementation point of view, client and server will keep sending
and receiving message forever.
They won't call grpc::ClientReaderWriter::WritesDone at any time, or may be
only if grpc::ClientReaderWriter::Write or grpc::ClientReaderWriter::Read
return false.
We didn't see any such use case in C++ examples
<https://github.com/grpc/grpc/tree/master/examples/cpp> in the github gRPC
repository. Stream based examples assumes that client or server will write
a sequence of messages, indicate the sequence is finished, then read a
sequence as a response. done.
Is a never ending bidirectionnal stream a valid usage of gRPC ?
Thank you,
David
--
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/ae2fbc6f-dbb5-4093-8354-cf3ca3172621%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.