grpc-rust
grpc-rust copied to clipboard
Unclear how to send an empty response stream
Steps to repro with 0.8.0 and master:
- Open the server implementation in the
route_guide
example in an editor. - In the implementation of the
list_features
trait method, delete every line in the async closure passed too.spawn(...)
except the final expression callingresp.send_trailers(...)
. - Build the example, run the server and the client.
This results in an internal error in the server sent as a response to the client:
thread 'main' panicked at 'feature: GrpcMessage(GrpcMessageError { grpc_status: 13, grpc_message: "grpc server handler did not close the sender" })', /somewhere/grpc-rust/grpc-examples/route_guide/src/client.rs:37:23
Same happens if the method does o.pump(stream::empty(), resp)
.