resolver_result_parsing.h
Go to the documentation of this file.
1 //
2 // Copyright 2018 gRPC authors.
3 //
4 // Licensed under the Apache License, Version 2.0 (the "License");
5 // you may not use this file except in compliance with the License.
6 // You may obtain a copy of the License at
7 //
8 // http://www.apache.org/licenses/LICENSE-2.0
9 //
10 // Unless required by applicable law or agreed to in writing, software
11 // distributed under the License is distributed on an "AS IS" BASIS,
12 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 // See the License for the specific language governing permissions and
14 // limitations under the License.
15 //
16 
17 #ifndef GRPC_CORE_EXT_FILTERS_CLIENT_CHANNEL_RESOLVER_RESULT_PARSING_H
18 #define GRPC_CORE_EXT_FILTERS_CLIENT_CHANNEL_RESOLVER_RESULT_PARSING_H
19 
21 
22 #include <stddef.h>
23 
24 #include <memory>
25 #include <string>
26 #include <utility>
27 
28 #include "absl/strings/string_view.h"
29 #include "absl/types/optional.h"
30 
32 
38 #include "src/core/lib/json/json.h"
40 
41 namespace grpc_core {
42 namespace internal {
43 
46  public:
54 
56  return parsed_lb_config_;
57  }
58 
61  }
62 
65  }
66 
67  private:
71 };
72 
75  public:
79 
80  Duration timeout() const { return timeout_; }
81 
83 
84  private:
87 };
88 
90  public:
91  absl::string_view name() const override { return parser_name(); }
92 
93  std::unique_ptr<ServiceConfigParser::ParsedConfig> ParseGlobalParams(
94  const grpc_channel_args* /*args*/, const Json& json,
95  grpc_error_handle* error) override;
96 
97  std::unique_ptr<ServiceConfigParser::ParsedConfig> ParsePerMethodParams(
98  const grpc_channel_args* /*args*/, const Json& json,
99  grpc_error_handle* error) override;
100 
101  static size_t ParserIndex();
103 
104  private:
105  static absl::string_view parser_name() { return "client_channel"; }
106 };
107 
108 } // namespace internal
109 } // namespace grpc_core
110 
111 #endif // GRPC_CORE_EXT_FILTERS_CLIENT_CHANNEL_RESOLVER_RESULT_PARSING_H
grpc_core::internal::ClientChannelMethodParsedConfig::timeout_
Duration timeout_
Definition: resolver_result_parsing.h:85
core_configuration.h
grpc_core::internal::ClientChannelMethodParsedConfig::wait_for_ready
absl::optional< bool > wait_for_ready() const
Definition: resolver_result_parsing.h:82
grpc_core
Definition: call_metric_recorder.h:31
grpc_core::CoreConfiguration::Builder
Definition: core_configuration.h:41
grpc_core::ServiceConfigParser::Parser
This is the base class that all service config parsers should derive from.
Definition: lib/service_config/service_config_parser.h:51
absl::string_view
Definition: abseil-cpp/absl/strings/string_view.h:167
grpc_core::internal::ClientChannelGlobalParsedConfig::parsed_lb_config
RefCountedPtr< LoadBalancingPolicy::Config > parsed_lb_config() const
Definition: resolver_result_parsing.h:55
testing::internal::string
::std::string string
Definition: bloaty/third_party/protobuf/third_party/googletest/googletest/include/gtest/internal/gtest-port.h:881
error
grpc_error_handle error
Definition: retry_filter.cc:499
lb_policy.h
grpc_core::internal::ClientChannelServiceConfigParser::ParsePerMethodParams
std::unique_ptr< ServiceConfigParser::ParsedConfig > ParsePerMethodParams(const grpc_channel_args *, const Json &json, grpc_error_handle *error) override
Definition: resolver_result_parsing.cc:148
grpc_core::internal::ClientChannelGlobalParsedConfig::parsed_deprecated_lb_policy
const std::string & parsed_deprecated_lb_policy() const
Definition: resolver_result_parsing.h:59
grpc_channel_args
Definition: grpc_types.h:132
grpc_types.h
grpc_core::internal::ClientChannelMethodParsedConfig::timeout
Duration timeout() const
Definition: resolver_result_parsing.h:80
profile_analyzer.builder
builder
Definition: profile_analyzer.py:159
grpc_core::RefCountedPtr
Definition: ref_counted_ptr.h:35
absl::move
constexpr absl::remove_reference_t< T > && move(T &&t) noexcept
Definition: abseil-cpp/absl/utility/utility.h:221
grpc_core::internal::ClientChannelServiceConfigParser
Definition: resolver_result_parsing.h:89
Json
JSON (JavaScript Object Notation).
Definition: third_party/bloaty/third_party/protobuf/conformance/third_party/jsoncpp/json.h:227
grpc_core::internal::ClientChannelGlobalParsedConfig::health_check_service_name_
absl::optional< std::string > health_check_service_name_
Definition: resolver_result_parsing.h:70
absl::optional< std::string >
time.h
error.h
json.h
grpc_core::internal::ClientChannelServiceConfigParser::Register
static void Register(CoreConfiguration::Builder *builder)
Definition: resolver_result_parsing.cc:47
service_config_parser.h
grpc_core::internal::ClientChannelServiceConfigParser::parser_name
static absl::string_view parser_name()
Definition: resolver_result_parsing.h:105
grpc_core::internal::ClientChannelMethodParsedConfig::ClientChannelMethodParsedConfig
ClientChannelMethodParsedConfig(Duration timeout, const absl::optional< bool > &wait_for_ready)
Definition: resolver_result_parsing.h:76
grpc_core::internal::ClientChannelGlobalParsedConfig::parsed_deprecated_lb_policy_
std::string parsed_deprecated_lb_policy_
Definition: resolver_result_parsing.h:69
grpc_core::internal::ClientChannelGlobalParsedConfig::ClientChannelGlobalParsedConfig
ClientChannelGlobalParsedConfig(RefCountedPtr< LoadBalancingPolicy::Config > parsed_lb_config, std::string parsed_deprecated_lb_policy, absl::optional< std::string > health_check_service_name)
Definition: resolver_result_parsing.h:47
grpc_core::internal::ClientChannelGlobalParsedConfig::health_check_service_name
const absl::optional< std::string > & health_check_service_name() const
Definition: resolver_result_parsing.h:63
grpc_core::internal::ClientChannelServiceConfigParser::ParseGlobalParams
std::unique_ptr< ServiceConfigParser::ParsedConfig > ParseGlobalParams(const grpc_channel_args *, const Json &json, grpc_error_handle *error) override
Definition: resolver_result_parsing.cc:82
std
Definition: grpcpp/impl/codegen/async_unary_call.h:407
grpc_core::internal::ClientChannelServiceConfigParser::name
absl::string_view name() const override
Definition: resolver_result_parsing.h:91
ref_counted_ptr.h
grpc_core::internal::ClientChannelGlobalParsedConfig::parsed_lb_config_
RefCountedPtr< LoadBalancingPolicy::Config > parsed_lb_config_
Definition: resolver_result_parsing.h:68
internal
Definition: benchmark/test/output_test_helper.cc:20
grpc_core::internal::ClientChannelMethodParsedConfig
Definition: resolver_result_parsing.h:73
grpc_core::internal::ClientChannelMethodParsedConfig::wait_for_ready_
absl::optional< bool > wait_for_ready_
Definition: resolver_result_parsing.h:86
grpc_error
Definition: error_internal.h:42
grpc_core::Duration
Definition: src/core/lib/gprpp/time.h:122
grpc_core::internal::ClientChannelGlobalParsedConfig
Definition: resolver_result_parsing.h:44
grpc_core::ServiceConfigParser::ParsedConfig
Definition: lib/service_config/service_config_parser.h:45
grpc_core::internal::ClientChannelServiceConfigParser::ParserIndex
static size_t ParserIndex()
Definition: resolver_result_parsing.cc:42
port_platform.h


grpc
Author(s):
autogenerated on Thu Mar 13 2025 03:01:11