Open LowderPlay opened 1 year ago
I am unsure if this is unexpected behavior - stopping the server just sends a GO_AWAY
, see https://github.com/grpc/grpc-java/issues/8770#issuecomment-999840527.
That makes sense. But I haven't found any way to detect that the server sent GO_AWAY
. How could I subscribe for these events?
This is a low-level HTTP2 event, which is not exposed in the package. The recommendation in the comment above is to wait for some amount before force-shutting down. shutdownNow
is not implemented here, but I would be happy to review a PR for this feature.
I am creating server-side stream from Flutter client to Rust server (using tonic). When I'm gracefully stopping the server, it cancels all in-progress streams. However, grpc-dart client doesn't stop the streaming call when canceled from the server, thus making the server hang during shutdown.
This is not server implementation's fault. I verified that the stream gets cancelled by making the streaming call from Postman.
grpc-dart version: 3.2.3
Repro steps
Expected result: When the call is cancelled on the server, stream should close on the client side.
Actual result: Stream doesn't close when the call is cancelled from the server.