add LB policy metadata lookup API (#27307)

pull/27361/head
Mark D. Roth 4 years ago committed by GitHub
parent 9bdc3be88f
commit 17862e51dc
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 5
      src/core/ext/filters/client_channel/client_channel.cc
  2. 3
      src/core/ext/filters/client_channel/lb_policy.h

@ -2513,6 +2513,11 @@ class ClientChannel::LoadBalancedCall::Metadata
return result;
}
absl::optional<absl::string_view> Lookup(absl::string_view key,
std::string* buffer) const override {
return grpc_metadata_batch_get_value(batch_, key, buffer);
}
private:
LoadBalancedCall* lb_call_;
grpc_metadata_batch* batch_;

@ -154,6 +154,9 @@ class LoadBalancingPolicy : public InternallyRefCounted<LoadBalancingPolicy> {
/// Produce a vector of metadata key/value strings for tests.
virtual std::vector<std::pair<std::string, std::string>>
TestOnlyCopyToVector() = 0;
virtual absl::optional<absl::string_view> Lookup(
absl::string_view key, std::string* buffer) const = 0;
};
/// Arguments used when picking a subchannel for a call.

Loading…
Cancel
Save