Skip to content

Implement common grpc::Client #1612

@coryan

Description

@coryan

The generated code for gRPC-based clients has a lot of code that does not depend on the specific service: the generated client creates auth headers, implements the retry loop, adds the telemetry headers, etc.

We should refactor this code to google-cloud-gax-internal, where it can be reused and tested.

  • Need to convert tonic::Status errors to our types
  • Need to implement retry loop
  • Need to implement timeouts per RPC
  • Need to set idempotency from the generated code
  • grpc::Client should use gax::Response
  • Need to change the generated code to use this client
  • Support user agent over gRPC #1881

Metadata

Metadata

Assignees

Labels

priority: p3Desirable enhancement or fix. May not be included in next release.type: feature request‘Nice-to-have’ improvement, new feature or different behavior or design.

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions