WIP: add an example of a bidirectional gRPC call via tonic #404
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Hi! This is an attempt to add an example of using actix and tonic together (#348) by integrating a client bidirectional gRPC call with other actors.
The proto provides an
Echo
service with anEcho
RPC. It’s a bidirectional stream, sendingEchoRequest
and receivedEchoReply
. I haven’t written the corresponding server yet, but it should be easy enough.Anyway, this doesn’t build at the moment and I’m not sure to be on the right track…
The current idea is to have an
EchoService
, looking like gRPC, responsible for maintaining a connection to the gRPC server.It accepts a
RunEcho
message to call the RPC and start anEchoRpc
actor that would handle input/output for the bidirectional stream. Does it make sense to architecture things this way?Where I’m stuck is how to implement the actual call to the RPC (see the
RunEcho
handler). I can’t find the proper way to integrate the call without lifetime issues. Any idea?I'm quite new to Rust, so I would be thankful for any other comments.
This PR is also missing a
README
, which I would happily write after a validation of the general architecture by someone more knowledgeable with Actix and the general ecosystem.