impl(gax-internal): support server-side streaming - #6504
Conversation
Add the execute_server_streaming helper on the gRPC transport client to support server-side streaming RPCs. The helper handles converting domain requests to proto messages and decodes the response stream using decode_response_stream into a ResponseReceiver. Gate server streaming execution helpers under the google_cloud_unstable_gapic_streaming cfg. Enable include_server_streaming_methods for Showcase in librarian.yaml, regenerate google-cloud-showcase-v1beta1, and add integration tests for server-side streaming.
There was a problem hiding this comment.
Code Review
This pull request adds support for server-side streaming RPCs in the Rust SDK. It implements execute_server_streaming in the internal gRPC client, adds unimplemented server streaming stubs, and updates the generated showcase client, builders, and transport layers to support streaming methods like expand, stream_blurbs, and attempt_streaming_sequence. Comprehensive integration and unit tests are also included. The review feedback recommends using the fully qualified path google_cloud_gax::streaming::decode_response_stream in src/gax-internal/src/grpc.rs to ensure consistency with the fully qualified ResponseReceiver type used nearby.
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #6504 +/- ##
==========================================
- Coverage 96.39% 96.39% -0.01%
==========================================
Files 301 301
Lines 84762 84800 +38
==========================================
+ Hits 81710 81744 +34
- Misses 3052 3056 +4 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
Add the execute_server_streaming helper on the gRPC transport client to support server-side streaming RPCs. The helper handles converting domain requests to proto messages and decodes the response stream using decode_response_stream into a ResponseReceiver.
Gate server streaming execution helpers under the
google_cloud_unstable_gapic_streaming cfg.
Enable include_server_streaming_methods for Showcase in librarian.yaml, regenerate google-cloud-showcase-v1beta1, and add integration tests for server-side streaming.
For #2318