17 #ifndef GRPC_CORE_EXT_FILTERS_CLIENT_CHANNEL_SERVICE_CONFIG_H
18 #define GRPC_CORE_EXT_FILTERS_CLIENT_CHANNEL_SERVICE_CONFIG_H
22 #include <unordered_map>
24 #include "absl/container/inlined_vector.h"
76 const std::string&
json_string()
const {
return json_string_; }
83 return parsed_global_configs_[index].get();
100 static std::string ParseJsonMethodName(
const Json& json,
103 std::string json_string_;
106 absl::InlinedVector<std::unique_ptr<ServiceConfigParser::ParsedConfig>,
108 parsed_global_configs_;
114 parsed_method_configs_map_;
120 absl::InlinedVector<std::unique_ptr<ServiceConfigParser::ParsedConfigVector>,
122 parsed_method_config_vectors_storage_;
Definition: ref_counted.h:282
Definition: ref_counted_ptr.h:35
Definition: service_config.h:64
ServiceConfig(const grpc_channel_args *args, std::string json_string, Json json, grpc_error_handle *error)
Definition: service_config.cc:43
static RefCountedPtr< ServiceConfig > Create(const grpc_channel_args *args, absl::string_view json_string, grpc_error_handle *error)
Creates a new service config from parsing json_string.
Definition: service_config.cc:33
~ServiceConfig() override
Definition: service_config.cc:66
ServiceConfigParser::ParsedConfig * GetGlobalParsedConfig(size_t index)
Retrieves the global parsed config at index index.
Definition: service_config.h:81
const std::string & json_string() const
Definition: service_config.h:76
const ServiceConfigParser::ParsedConfigVector * GetMethodParsedConfigVector(const grpc_slice &path) const
Retrieves the vector of parsed configs for the method identified by path.
Definition: service_config.cc:207
This is the base class that all service config parsers MUST use to store parsed service config data.
Definition: service_config_parser.h:39
static constexpr int kNumPreallocatedParsers
Definition: service_config_parser.h:68
absl::InlinedVector< std::unique_ptr< ParsedConfig >, kNumPreallocatedParsers > ParsedConfigVector
Definition: service_config_parser.h:71
#define GPR_DEBUG_ASSERT(x)
Definition: log.h:101
struct grpc_slice grpc_slice
Definition: slice.h:28
grpc_error_handle error
Definition: lame_client.cc:54
Round Robin Policy.
Definition: backend_metric.cc:26
An array of arguments that can be passed around.
Definition: grpc_types.h:132
Definition: slice_internal.h:353
Definition: error_internal.h:41
A grpc_slice s, if initialized, represents the byte range s.bytes[0..s.length-1].
Definition: slice.h:60