diff --git a/BUILD b/BUILD index 449a668cd08..145f9803428 100644 --- a/BUILD +++ b/BUILD @@ -3002,52 +3002,52 @@ grpc_cc_library( grpc_cc_library( name = "grpc_client_channel", srcs = [ - "//src/core:ext/filters/client_channel/backend_metric.cc", - "//src/core:ext/filters/client_channel/backup_poller.cc", - "//src/core:ext/filters/client_channel/channel_connectivity.cc", - "//src/core:ext/filters/client_channel/client_channel.cc", - "//src/core:ext/filters/client_channel/client_channel_channelz.cc", - "//src/core:ext/filters/client_channel/client_channel_factory.cc", - "//src/core:ext/filters/client_channel/client_channel_plugin.cc", - "//src/core:ext/filters/client_channel/client_channel_service_config.cc", - "//src/core:ext/filters/client_channel/config_selector.cc", - "//src/core:ext/filters/client_channel/dynamic_filters.cc", - "//src/core:ext/filters/client_channel/global_subchannel_pool.cc", - "//src/core:ext/filters/client_channel/http_proxy_mapper.cc", - "//src/core:ext/filters/client_channel/local_subchannel_pool.cc", - "//src/core:ext/filters/client_channel/retry_filter.cc", - "//src/core:ext/filters/client_channel/retry_filter_legacy_call_data.cc", - "//src/core:ext/filters/client_channel/retry_service_config.cc", - "//src/core:ext/filters/client_channel/retry_throttle.cc", - "//src/core:ext/filters/client_channel/service_config_channel_arg_filter.cc", - "//src/core:ext/filters/client_channel/subchannel.cc", - "//src/core:ext/filters/client_channel/subchannel_pool_interface.cc", - "//src/core:ext/filters/client_channel/subchannel_stream_client.cc", + "//src/core:client_channel/backend_metric.cc", + "//src/core:client_channel/backup_poller.cc", + "//src/core:client_channel/channel_connectivity.cc", + "//src/core:client_channel/client_channel_channelz.cc", + "//src/core:client_channel/client_channel_factory.cc", + "//src/core:client_channel/client_channel_filter.cc", + "//src/core:client_channel/client_channel_plugin.cc", + "//src/core:client_channel/client_channel_service_config.cc", + "//src/core:client_channel/config_selector.cc", + "//src/core:client_channel/dynamic_filters.cc", + "//src/core:client_channel/global_subchannel_pool.cc", + "//src/core:client_channel/http_proxy_mapper.cc", + "//src/core:client_channel/local_subchannel_pool.cc", + "//src/core:client_channel/retry_filter.cc", + "//src/core:client_channel/retry_filter_legacy_call_data.cc", + "//src/core:client_channel/retry_service_config.cc", + "//src/core:client_channel/retry_throttle.cc", + "//src/core:client_channel/service_config_channel_arg_filter.cc", + "//src/core:client_channel/subchannel.cc", + "//src/core:client_channel/subchannel_pool_interface.cc", + "//src/core:client_channel/subchannel_stream_client.cc", "//src/core:load_balancing/child_policy_handler.cc", "//src/core:load_balancing/oob_backend_metric.cc", ], hdrs = [ - "//src/core:ext/filters/client_channel/backend_metric.h", - "//src/core:ext/filters/client_channel/backup_poller.h", - "//src/core:ext/filters/client_channel/client_channel.h", - "//src/core:ext/filters/client_channel/client_channel_channelz.h", - "//src/core:ext/filters/client_channel/client_channel_factory.h", - "//src/core:ext/filters/client_channel/client_channel_internal.h", - "//src/core:ext/filters/client_channel/client_channel_service_config.h", - "//src/core:ext/filters/client_channel/config_selector.h", - "//src/core:ext/filters/client_channel/connector.h", - "//src/core:ext/filters/client_channel/dynamic_filters.h", - "//src/core:ext/filters/client_channel/global_subchannel_pool.h", - "//src/core:ext/filters/client_channel/http_proxy_mapper.h", - "//src/core:ext/filters/client_channel/local_subchannel_pool.h", - "//src/core:ext/filters/client_channel/retry_filter.h", - "//src/core:ext/filters/client_channel/retry_filter_legacy_call_data.h", - "//src/core:ext/filters/client_channel/retry_service_config.h", - "//src/core:ext/filters/client_channel/retry_throttle.h", - "//src/core:ext/filters/client_channel/subchannel.h", - "//src/core:ext/filters/client_channel/subchannel_interface_internal.h", - "//src/core:ext/filters/client_channel/subchannel_pool_interface.h", - "//src/core:ext/filters/client_channel/subchannel_stream_client.h", + "//src/core:client_channel/backend_metric.h", + "//src/core:client_channel/backup_poller.h", + "//src/core:client_channel/client_channel_channelz.h", + "//src/core:client_channel/client_channel_factory.h", + "//src/core:client_channel/client_channel_filter.h", + "//src/core:client_channel/client_channel_internal.h", + "//src/core:client_channel/client_channel_service_config.h", + "//src/core:client_channel/config_selector.h", + "//src/core:client_channel/connector.h", + "//src/core:client_channel/dynamic_filters.h", + "//src/core:client_channel/global_subchannel_pool.h", + "//src/core:client_channel/http_proxy_mapper.h", + "//src/core:client_channel/local_subchannel_pool.h", + "//src/core:client_channel/retry_filter.h", + "//src/core:client_channel/retry_filter_legacy_call_data.h", + "//src/core:client_channel/retry_service_config.h", + "//src/core:client_channel/retry_throttle.h", + "//src/core:client_channel/subchannel.h", + "//src/core:client_channel/subchannel_interface_internal.h", + "//src/core:client_channel/subchannel_pool_interface.h", + "//src/core:client_channel/subchannel_stream_client.h", "//src/core:load_balancing/child_policy_handler.h", "//src/core:load_balancing/oob_backend_metric.h", "//src/core:load_balancing/oob_backend_metric_internal.h", diff --git a/CMakeLists.txt b/CMakeLists.txt index 98b83d153a5..797ee03bb3a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1777,32 +1777,32 @@ endif() add_library(grpc + src/core/client_channel/backend_metric.cc + src/core/client_channel/backup_poller.cc + src/core/client_channel/channel_connectivity.cc + src/core/client_channel/client_channel_channelz.cc + src/core/client_channel/client_channel_factory.cc + src/core/client_channel/client_channel_filter.cc + src/core/client_channel/client_channel_plugin.cc + src/core/client_channel/client_channel_service_config.cc + src/core/client_channel/config_selector.cc + src/core/client_channel/dynamic_filters.cc + src/core/client_channel/global_subchannel_pool.cc + src/core/client_channel/http_proxy_mapper.cc + src/core/client_channel/local_subchannel_pool.cc + src/core/client_channel/retry_filter.cc + src/core/client_channel/retry_filter_legacy_call_data.cc + src/core/client_channel/retry_service_config.cc + src/core/client_channel/retry_throttle.cc + src/core/client_channel/service_config_channel_arg_filter.cc + src/core/client_channel/subchannel.cc + src/core/client_channel/subchannel_pool_interface.cc + src/core/client_channel/subchannel_stream_client.cc src/core/ext/filters/backend_metrics/backend_metric_filter.cc src/core/ext/filters/census/grpc_context.cc src/core/ext/filters/channel_idle/channel_idle_filter.cc src/core/ext/filters/channel_idle/idle_filter_state.cc src/core/ext/filters/channel_idle/legacy_channel_idle_filter.cc - src/core/ext/filters/client_channel/backend_metric.cc - src/core/ext/filters/client_channel/backup_poller.cc - src/core/ext/filters/client_channel/channel_connectivity.cc - src/core/ext/filters/client_channel/client_channel.cc - src/core/ext/filters/client_channel/client_channel_channelz.cc - src/core/ext/filters/client_channel/client_channel_factory.cc - src/core/ext/filters/client_channel/client_channel_plugin.cc - src/core/ext/filters/client_channel/client_channel_service_config.cc - src/core/ext/filters/client_channel/config_selector.cc - src/core/ext/filters/client_channel/dynamic_filters.cc - src/core/ext/filters/client_channel/global_subchannel_pool.cc - src/core/ext/filters/client_channel/http_proxy_mapper.cc - src/core/ext/filters/client_channel/local_subchannel_pool.cc - src/core/ext/filters/client_channel/retry_filter.cc - src/core/ext/filters/client_channel/retry_filter_legacy_call_data.cc - src/core/ext/filters/client_channel/retry_service_config.cc - src/core/ext/filters/client_channel/retry_throttle.cc - src/core/ext/filters/client_channel/service_config_channel_arg_filter.cc - src/core/ext/filters/client_channel/subchannel.cc - src/core/ext/filters/client_channel/subchannel_pool_interface.cc - src/core/ext/filters/client_channel/subchannel_stream_client.cc src/core/ext/filters/deadline/deadline_filter.cc src/core/ext/filters/fault_injection/fault_injection_filter.cc src/core/ext/filters/fault_injection/fault_injection_service_config_parser.cc @@ -2875,32 +2875,32 @@ endif() add_library(grpc_unsecure + src/core/client_channel/backend_metric.cc + src/core/client_channel/backup_poller.cc + src/core/client_channel/channel_connectivity.cc + src/core/client_channel/client_channel_channelz.cc + src/core/client_channel/client_channel_factory.cc + src/core/client_channel/client_channel_filter.cc + src/core/client_channel/client_channel_plugin.cc + src/core/client_channel/client_channel_service_config.cc + src/core/client_channel/config_selector.cc + src/core/client_channel/dynamic_filters.cc + src/core/client_channel/global_subchannel_pool.cc + src/core/client_channel/http_proxy_mapper.cc + src/core/client_channel/local_subchannel_pool.cc + src/core/client_channel/retry_filter.cc + src/core/client_channel/retry_filter_legacy_call_data.cc + src/core/client_channel/retry_service_config.cc + src/core/client_channel/retry_throttle.cc + src/core/client_channel/service_config_channel_arg_filter.cc + src/core/client_channel/subchannel.cc + src/core/client_channel/subchannel_pool_interface.cc + src/core/client_channel/subchannel_stream_client.cc src/core/ext/filters/backend_metrics/backend_metric_filter.cc src/core/ext/filters/census/grpc_context.cc src/core/ext/filters/channel_idle/channel_idle_filter.cc src/core/ext/filters/channel_idle/idle_filter_state.cc src/core/ext/filters/channel_idle/legacy_channel_idle_filter.cc - src/core/ext/filters/client_channel/backend_metric.cc - src/core/ext/filters/client_channel/backup_poller.cc - src/core/ext/filters/client_channel/channel_connectivity.cc - src/core/ext/filters/client_channel/client_channel.cc - src/core/ext/filters/client_channel/client_channel_channelz.cc - src/core/ext/filters/client_channel/client_channel_factory.cc - src/core/ext/filters/client_channel/client_channel_plugin.cc - src/core/ext/filters/client_channel/client_channel_service_config.cc - src/core/ext/filters/client_channel/config_selector.cc - src/core/ext/filters/client_channel/dynamic_filters.cc - src/core/ext/filters/client_channel/global_subchannel_pool.cc - src/core/ext/filters/client_channel/http_proxy_mapper.cc - src/core/ext/filters/client_channel/local_subchannel_pool.cc - src/core/ext/filters/client_channel/retry_filter.cc - src/core/ext/filters/client_channel/retry_filter_legacy_call_data.cc - src/core/ext/filters/client_channel/retry_service_config.cc - src/core/ext/filters/client_channel/retry_throttle.cc - src/core/ext/filters/client_channel/service_config_channel_arg_filter.cc - src/core/ext/filters/client_channel/subchannel.cc - src/core/ext/filters/client_channel/subchannel_pool_interface.cc - src/core/ext/filters/client_channel/subchannel_stream_client.cc src/core/ext/filters/deadline/deadline_filter.cc src/core/ext/filters/fault_injection/fault_injection_filter.cc src/core/ext/filters/fault_injection/fault_injection_service_config_parser.cc diff --git a/Makefile b/Makefile index 2a61f91ad28..5ad65ba66e1 100644 --- a/Makefile +++ b/Makefile @@ -959,32 +959,32 @@ endif # deps: ['upb_json_lib', 'upb_textformat_lib', 're2', 'z', 'grpc_abseil', 'cares', 'gpr', 'libssl', 'address_sorting'] # transitive_deps: ['address_sorting', 'gpr', 'grpc_abseil', 'cares', 'z', 're2', 'upb_textformat_lib', 'upb_json_lib', 'utf8_range_lib', 'upb_message_lib', 'upb_mem_lib', 'upb_base_lib', 'libssl'] LIBGRPC_SRC = \ + src/core/client_channel/backend_metric.cc \ + src/core/client_channel/backup_poller.cc \ + src/core/client_channel/channel_connectivity.cc \ + src/core/client_channel/client_channel_channelz.cc \ + src/core/client_channel/client_channel_factory.cc \ + src/core/client_channel/client_channel_filter.cc \ + src/core/client_channel/client_channel_plugin.cc \ + src/core/client_channel/client_channel_service_config.cc \ + src/core/client_channel/config_selector.cc \ + src/core/client_channel/dynamic_filters.cc \ + src/core/client_channel/global_subchannel_pool.cc \ + src/core/client_channel/http_proxy_mapper.cc \ + src/core/client_channel/local_subchannel_pool.cc \ + src/core/client_channel/retry_filter.cc \ + src/core/client_channel/retry_filter_legacy_call_data.cc \ + src/core/client_channel/retry_service_config.cc \ + src/core/client_channel/retry_throttle.cc \ + src/core/client_channel/service_config_channel_arg_filter.cc \ + src/core/client_channel/subchannel.cc \ + src/core/client_channel/subchannel_pool_interface.cc \ + src/core/client_channel/subchannel_stream_client.cc \ src/core/ext/filters/backend_metrics/backend_metric_filter.cc \ src/core/ext/filters/census/grpc_context.cc \ src/core/ext/filters/channel_idle/channel_idle_filter.cc \ src/core/ext/filters/channel_idle/idle_filter_state.cc \ src/core/ext/filters/channel_idle/legacy_channel_idle_filter.cc \ - src/core/ext/filters/client_channel/backend_metric.cc \ - src/core/ext/filters/client_channel/backup_poller.cc \ - src/core/ext/filters/client_channel/channel_connectivity.cc \ - src/core/ext/filters/client_channel/client_channel.cc \ - src/core/ext/filters/client_channel/client_channel_channelz.cc \ - src/core/ext/filters/client_channel/client_channel_factory.cc \ - src/core/ext/filters/client_channel/client_channel_plugin.cc \ - src/core/ext/filters/client_channel/client_channel_service_config.cc \ - src/core/ext/filters/client_channel/config_selector.cc \ - src/core/ext/filters/client_channel/dynamic_filters.cc \ - src/core/ext/filters/client_channel/global_subchannel_pool.cc \ - src/core/ext/filters/client_channel/http_proxy_mapper.cc \ - src/core/ext/filters/client_channel/local_subchannel_pool.cc \ - src/core/ext/filters/client_channel/retry_filter.cc \ - src/core/ext/filters/client_channel/retry_filter_legacy_call_data.cc \ - src/core/ext/filters/client_channel/retry_service_config.cc \ - src/core/ext/filters/client_channel/retry_throttle.cc \ - src/core/ext/filters/client_channel/service_config_channel_arg_filter.cc \ - src/core/ext/filters/client_channel/subchannel.cc \ - src/core/ext/filters/client_channel/subchannel_pool_interface.cc \ - src/core/ext/filters/client_channel/subchannel_stream_client.cc \ src/core/ext/filters/deadline/deadline_filter.cc \ src/core/ext/filters/fault_injection/fault_injection_filter.cc \ src/core/ext/filters/fault_injection/fault_injection_service_config_parser.cc \ @@ -1891,32 +1891,32 @@ endif # deps: ['upb_message_lib', 'utf8_range_lib', 'z', 'grpc_abseil', 'cares', 'gpr', 'address_sorting'] # transitive_deps: ['address_sorting', 'gpr', 'grpc_abseil', 'cares', 'z', 'utf8_range_lib', 'upb_message_lib', 'upb_mem_lib', 'upb_base_lib'] LIBGRPC_UNSECURE_SRC = \ + src/core/client_channel/backend_metric.cc \ + src/core/client_channel/backup_poller.cc \ + src/core/client_channel/channel_connectivity.cc \ + src/core/client_channel/client_channel_channelz.cc \ + src/core/client_channel/client_channel_factory.cc \ + src/core/client_channel/client_channel_filter.cc \ + src/core/client_channel/client_channel_plugin.cc \ + src/core/client_channel/client_channel_service_config.cc \ + src/core/client_channel/config_selector.cc \ + src/core/client_channel/dynamic_filters.cc \ + src/core/client_channel/global_subchannel_pool.cc \ + src/core/client_channel/http_proxy_mapper.cc \ + src/core/client_channel/local_subchannel_pool.cc \ + src/core/client_channel/retry_filter.cc \ + src/core/client_channel/retry_filter_legacy_call_data.cc \ + src/core/client_channel/retry_service_config.cc \ + src/core/client_channel/retry_throttle.cc \ + src/core/client_channel/service_config_channel_arg_filter.cc \ + src/core/client_channel/subchannel.cc \ + src/core/client_channel/subchannel_pool_interface.cc \ + src/core/client_channel/subchannel_stream_client.cc \ src/core/ext/filters/backend_metrics/backend_metric_filter.cc \ src/core/ext/filters/census/grpc_context.cc \ src/core/ext/filters/channel_idle/channel_idle_filter.cc \ src/core/ext/filters/channel_idle/idle_filter_state.cc \ src/core/ext/filters/channel_idle/legacy_channel_idle_filter.cc \ - src/core/ext/filters/client_channel/backend_metric.cc \ - src/core/ext/filters/client_channel/backup_poller.cc \ - src/core/ext/filters/client_channel/channel_connectivity.cc \ - src/core/ext/filters/client_channel/client_channel.cc \ - src/core/ext/filters/client_channel/client_channel_channelz.cc \ - src/core/ext/filters/client_channel/client_channel_factory.cc \ - src/core/ext/filters/client_channel/client_channel_plugin.cc \ - src/core/ext/filters/client_channel/client_channel_service_config.cc \ - src/core/ext/filters/client_channel/config_selector.cc \ - src/core/ext/filters/client_channel/dynamic_filters.cc \ - src/core/ext/filters/client_channel/global_subchannel_pool.cc \ - src/core/ext/filters/client_channel/http_proxy_mapper.cc \ - src/core/ext/filters/client_channel/local_subchannel_pool.cc \ - src/core/ext/filters/client_channel/retry_filter.cc \ - src/core/ext/filters/client_channel/retry_filter_legacy_call_data.cc \ - src/core/ext/filters/client_channel/retry_service_config.cc \ - src/core/ext/filters/client_channel/retry_throttle.cc \ - src/core/ext/filters/client_channel/service_config_channel_arg_filter.cc \ - src/core/ext/filters/client_channel/subchannel.cc \ - src/core/ext/filters/client_channel/subchannel_pool_interface.cc \ - src/core/ext/filters/client_channel/subchannel_stream_client.cc \ src/core/ext/filters/deadline/deadline_filter.cc \ src/core/ext/filters/fault_injection/fault_injection_filter.cc \ src/core/ext/filters/fault_injection/fault_injection_service_config_parser.cc \ diff --git a/Package.swift b/Package.swift index 79c17f2bfc4..6cf43da1fb0 100644 --- a/Package.swift +++ b/Package.swift @@ -115,6 +115,48 @@ let package = Package( "include/grpc/support/thd_id.h", "include/grpc/support/time.h", "include/grpc/support/workaround_list.h", + "src/core/client_channel/backend_metric.cc", + "src/core/client_channel/backend_metric.h", + "src/core/client_channel/backup_poller.cc", + "src/core/client_channel/backup_poller.h", + "src/core/client_channel/channel_connectivity.cc", + "src/core/client_channel/client_channel_channelz.cc", + "src/core/client_channel/client_channel_channelz.h", + "src/core/client_channel/client_channel_factory.cc", + "src/core/client_channel/client_channel_factory.h", + "src/core/client_channel/client_channel_filter.cc", + "src/core/client_channel/client_channel_filter.h", + "src/core/client_channel/client_channel_internal.h", + "src/core/client_channel/client_channel_plugin.cc", + "src/core/client_channel/client_channel_service_config.cc", + "src/core/client_channel/client_channel_service_config.h", + "src/core/client_channel/config_selector.cc", + "src/core/client_channel/config_selector.h", + "src/core/client_channel/connector.h", + "src/core/client_channel/dynamic_filters.cc", + "src/core/client_channel/dynamic_filters.h", + "src/core/client_channel/global_subchannel_pool.cc", + "src/core/client_channel/global_subchannel_pool.h", + "src/core/client_channel/http_proxy_mapper.cc", + "src/core/client_channel/http_proxy_mapper.h", + "src/core/client_channel/local_subchannel_pool.cc", + "src/core/client_channel/local_subchannel_pool.h", + "src/core/client_channel/retry_filter.cc", + "src/core/client_channel/retry_filter.h", + "src/core/client_channel/retry_filter_legacy_call_data.cc", + "src/core/client_channel/retry_filter_legacy_call_data.h", + "src/core/client_channel/retry_service_config.cc", + "src/core/client_channel/retry_service_config.h", + "src/core/client_channel/retry_throttle.cc", + "src/core/client_channel/retry_throttle.h", + "src/core/client_channel/service_config_channel_arg_filter.cc", + "src/core/client_channel/subchannel.cc", + "src/core/client_channel/subchannel.h", + "src/core/client_channel/subchannel_interface_internal.h", + "src/core/client_channel/subchannel_pool_interface.cc", + "src/core/client_channel/subchannel_pool_interface.h", + "src/core/client_channel/subchannel_stream_client.cc", + "src/core/client_channel/subchannel_stream_client.h", "src/core/ext/filters/backend_metrics/backend_metric_filter.cc", "src/core/ext/filters/backend_metrics/backend_metric_filter.h", "src/core/ext/filters/backend_metrics/backend_metric_provider.h", @@ -125,48 +167,6 @@ let package = Package( "src/core/ext/filters/channel_idle/idle_filter_state.h", "src/core/ext/filters/channel_idle/legacy_channel_idle_filter.cc", "src/core/ext/filters/channel_idle/legacy_channel_idle_filter.h", - "src/core/ext/filters/client_channel/backend_metric.cc", - "src/core/ext/filters/client_channel/backend_metric.h", - "src/core/ext/filters/client_channel/backup_poller.cc", - "src/core/ext/filters/client_channel/backup_poller.h", - "src/core/ext/filters/client_channel/channel_connectivity.cc", - "src/core/ext/filters/client_channel/client_channel.cc", - "src/core/ext/filters/client_channel/client_channel.h", - "src/core/ext/filters/client_channel/client_channel_channelz.cc", - "src/core/ext/filters/client_channel/client_channel_channelz.h", - "src/core/ext/filters/client_channel/client_channel_factory.cc", - "src/core/ext/filters/client_channel/client_channel_factory.h", - "src/core/ext/filters/client_channel/client_channel_internal.h", - "src/core/ext/filters/client_channel/client_channel_plugin.cc", - "src/core/ext/filters/client_channel/client_channel_service_config.cc", - "src/core/ext/filters/client_channel/client_channel_service_config.h", - "src/core/ext/filters/client_channel/config_selector.cc", - "src/core/ext/filters/client_channel/config_selector.h", - "src/core/ext/filters/client_channel/connector.h", - "src/core/ext/filters/client_channel/dynamic_filters.cc", - "src/core/ext/filters/client_channel/dynamic_filters.h", - "src/core/ext/filters/client_channel/global_subchannel_pool.cc", - "src/core/ext/filters/client_channel/global_subchannel_pool.h", - "src/core/ext/filters/client_channel/http_proxy_mapper.cc", - "src/core/ext/filters/client_channel/http_proxy_mapper.h", - "src/core/ext/filters/client_channel/local_subchannel_pool.cc", - "src/core/ext/filters/client_channel/local_subchannel_pool.h", - "src/core/ext/filters/client_channel/retry_filter.cc", - "src/core/ext/filters/client_channel/retry_filter.h", - "src/core/ext/filters/client_channel/retry_filter_legacy_call_data.cc", - "src/core/ext/filters/client_channel/retry_filter_legacy_call_data.h", - "src/core/ext/filters/client_channel/retry_service_config.cc", - "src/core/ext/filters/client_channel/retry_service_config.h", - "src/core/ext/filters/client_channel/retry_throttle.cc", - "src/core/ext/filters/client_channel/retry_throttle.h", - "src/core/ext/filters/client_channel/service_config_channel_arg_filter.cc", - "src/core/ext/filters/client_channel/subchannel.cc", - "src/core/ext/filters/client_channel/subchannel.h", - "src/core/ext/filters/client_channel/subchannel_interface_internal.h", - "src/core/ext/filters/client_channel/subchannel_pool_interface.cc", - "src/core/ext/filters/client_channel/subchannel_pool_interface.h", - "src/core/ext/filters/client_channel/subchannel_stream_client.cc", - "src/core/ext/filters/client_channel/subchannel_stream_client.h", "src/core/ext/filters/deadline/deadline_filter.cc", "src/core/ext/filters/deadline/deadline_filter.h", "src/core/ext/filters/fault_injection/fault_injection_filter.cc", diff --git a/bazel/grpc_deps.bzl b/bazel/grpc_deps.bzl index 8e49b733cba..bd3763579e1 100644 --- a/bazel/grpc_deps.bzl +++ b/bazel/grpc_deps.bzl @@ -240,11 +240,11 @@ def grpc_deps(): name = "boringssl", # Use github mirror instead of https://boringssl.googlesource.com/boringssl # to obtain a boringssl archive with consistent sha256 - sha256 = "c21ac7356f885189959b7f8b3df5fcc65e54098bfae323396fbb467205c64030", - strip_prefix = "boringssl-311e6f6d8e77da1f64c3256b30bd1992a555ce6c", + sha256 = "057f662b0e85931a84945b2e89ba201fd44b0583da827c948fe443593690fb83", + strip_prefix = "boringssl-ae72a4514c7afd150596b0a80947f3ca9b8363b5", urls = [ - "https://storage.googleapis.com/grpc-bazel-mirror/github.com/google/boringssl/archive/311e6f6d8e77da1f64c3256b30bd1992a555ce6c.tar.gz", - "https://github.com/google/boringssl/archive/311e6f6d8e77da1f64c3256b30bd1992a555ce6c.tar.gz", + "https://storage.googleapis.com/grpc-bazel-mirror/github.com/google/boringssl/archive/ae72a4514c7afd150596b0a80947f3ca9b8363b5.tar.gz", + "https://github.com/google/boringssl/archive/ae72a4514c7afd150596b0a80947f3ca9b8363b5.tar.gz", ], ) diff --git a/build_autogenerated.yaml b/build_autogenerated.yaml index 9bb7a8a93dc..04c2cd81a07 100644 --- a/build_autogenerated.yaml +++ b/build_autogenerated.yaml @@ -217,32 +217,32 @@ libs: - include/grpc/support/time.h - include/grpc/support/workaround_list.h headers: + - src/core/client_channel/backend_metric.h + - src/core/client_channel/backup_poller.h + - src/core/client_channel/client_channel_channelz.h + - src/core/client_channel/client_channel_factory.h + - src/core/client_channel/client_channel_filter.h + - src/core/client_channel/client_channel_internal.h + - src/core/client_channel/client_channel_service_config.h + - src/core/client_channel/config_selector.h + - src/core/client_channel/connector.h + - src/core/client_channel/dynamic_filters.h + - src/core/client_channel/global_subchannel_pool.h + - src/core/client_channel/http_proxy_mapper.h + - src/core/client_channel/local_subchannel_pool.h + - src/core/client_channel/retry_filter.h + - src/core/client_channel/retry_filter_legacy_call_data.h + - src/core/client_channel/retry_service_config.h + - src/core/client_channel/retry_throttle.h + - src/core/client_channel/subchannel.h + - src/core/client_channel/subchannel_interface_internal.h + - src/core/client_channel/subchannel_pool_interface.h + - src/core/client_channel/subchannel_stream_client.h - src/core/ext/filters/backend_metrics/backend_metric_filter.h - src/core/ext/filters/backend_metrics/backend_metric_provider.h - src/core/ext/filters/channel_idle/channel_idle_filter.h - src/core/ext/filters/channel_idle/idle_filter_state.h - src/core/ext/filters/channel_idle/legacy_channel_idle_filter.h - - src/core/ext/filters/client_channel/backend_metric.h - - src/core/ext/filters/client_channel/backup_poller.h - - src/core/ext/filters/client_channel/client_channel.h - - src/core/ext/filters/client_channel/client_channel_channelz.h - - src/core/ext/filters/client_channel/client_channel_factory.h - - src/core/ext/filters/client_channel/client_channel_internal.h - - src/core/ext/filters/client_channel/client_channel_service_config.h - - src/core/ext/filters/client_channel/config_selector.h - - src/core/ext/filters/client_channel/connector.h - - src/core/ext/filters/client_channel/dynamic_filters.h - - src/core/ext/filters/client_channel/global_subchannel_pool.h - - src/core/ext/filters/client_channel/http_proxy_mapper.h - - src/core/ext/filters/client_channel/local_subchannel_pool.h - - src/core/ext/filters/client_channel/retry_filter.h - - src/core/ext/filters/client_channel/retry_filter_legacy_call_data.h - - src/core/ext/filters/client_channel/retry_service_config.h - - src/core/ext/filters/client_channel/retry_throttle.h - - src/core/ext/filters/client_channel/subchannel.h - - src/core/ext/filters/client_channel/subchannel_interface_internal.h - - src/core/ext/filters/client_channel/subchannel_pool_interface.h - - src/core/ext/filters/client_channel/subchannel_stream_client.h - src/core/ext/filters/deadline/deadline_filter.h - src/core/ext/filters/fault_injection/fault_injection_filter.h - src/core/ext/filters/fault_injection/fault_injection_service_config_parser.h @@ -1234,32 +1234,32 @@ libs: - third_party/upb/upb/generated_code_support.h - third_party/xxhash/xxhash.h src: + - src/core/client_channel/backend_metric.cc + - src/core/client_channel/backup_poller.cc + - src/core/client_channel/channel_connectivity.cc + - src/core/client_channel/client_channel_channelz.cc + - src/core/client_channel/client_channel_factory.cc + - src/core/client_channel/client_channel_filter.cc + - src/core/client_channel/client_channel_plugin.cc + - src/core/client_channel/client_channel_service_config.cc + - src/core/client_channel/config_selector.cc + - src/core/client_channel/dynamic_filters.cc + - src/core/client_channel/global_subchannel_pool.cc + - src/core/client_channel/http_proxy_mapper.cc + - src/core/client_channel/local_subchannel_pool.cc + - src/core/client_channel/retry_filter.cc + - src/core/client_channel/retry_filter_legacy_call_data.cc + - src/core/client_channel/retry_service_config.cc + - src/core/client_channel/retry_throttle.cc + - src/core/client_channel/service_config_channel_arg_filter.cc + - src/core/client_channel/subchannel.cc + - src/core/client_channel/subchannel_pool_interface.cc + - src/core/client_channel/subchannel_stream_client.cc - src/core/ext/filters/backend_metrics/backend_metric_filter.cc - src/core/ext/filters/census/grpc_context.cc - src/core/ext/filters/channel_idle/channel_idle_filter.cc - src/core/ext/filters/channel_idle/idle_filter_state.cc - src/core/ext/filters/channel_idle/legacy_channel_idle_filter.cc - - src/core/ext/filters/client_channel/backend_metric.cc - - src/core/ext/filters/client_channel/backup_poller.cc - - src/core/ext/filters/client_channel/channel_connectivity.cc - - src/core/ext/filters/client_channel/client_channel.cc - - src/core/ext/filters/client_channel/client_channel_channelz.cc - - src/core/ext/filters/client_channel/client_channel_factory.cc - - src/core/ext/filters/client_channel/client_channel_plugin.cc - - src/core/ext/filters/client_channel/client_channel_service_config.cc - - src/core/ext/filters/client_channel/config_selector.cc - - src/core/ext/filters/client_channel/dynamic_filters.cc - - src/core/ext/filters/client_channel/global_subchannel_pool.cc - - src/core/ext/filters/client_channel/http_proxy_mapper.cc - - src/core/ext/filters/client_channel/local_subchannel_pool.cc - - src/core/ext/filters/client_channel/retry_filter.cc - - src/core/ext/filters/client_channel/retry_filter_legacy_call_data.cc - - src/core/ext/filters/client_channel/retry_service_config.cc - - src/core/ext/filters/client_channel/retry_throttle.cc - - src/core/ext/filters/client_channel/service_config_channel_arg_filter.cc - - src/core/ext/filters/client_channel/subchannel.cc - - src/core/ext/filters/client_channel/subchannel_pool_interface.cc - - src/core/ext/filters/client_channel/subchannel_stream_client.cc - src/core/ext/filters/deadline/deadline_filter.cc - src/core/ext/filters/fault_injection/fault_injection_filter.cc - src/core/ext/filters/fault_injection/fault_injection_service_config_parser.cc @@ -2196,32 +2196,32 @@ libs: - include/grpc/support/time.h - include/grpc/support/workaround_list.h headers: + - src/core/client_channel/backend_metric.h + - src/core/client_channel/backup_poller.h + - src/core/client_channel/client_channel_channelz.h + - src/core/client_channel/client_channel_factory.h + - src/core/client_channel/client_channel_filter.h + - src/core/client_channel/client_channel_internal.h + - src/core/client_channel/client_channel_service_config.h + - src/core/client_channel/config_selector.h + - src/core/client_channel/connector.h + - src/core/client_channel/dynamic_filters.h + - src/core/client_channel/global_subchannel_pool.h + - src/core/client_channel/http_proxy_mapper.h + - src/core/client_channel/local_subchannel_pool.h + - src/core/client_channel/retry_filter.h + - src/core/client_channel/retry_filter_legacy_call_data.h + - src/core/client_channel/retry_service_config.h + - src/core/client_channel/retry_throttle.h + - src/core/client_channel/subchannel.h + - src/core/client_channel/subchannel_interface_internal.h + - src/core/client_channel/subchannel_pool_interface.h + - src/core/client_channel/subchannel_stream_client.h - src/core/ext/filters/backend_metrics/backend_metric_filter.h - src/core/ext/filters/backend_metrics/backend_metric_provider.h - src/core/ext/filters/channel_idle/channel_idle_filter.h - src/core/ext/filters/channel_idle/idle_filter_state.h - src/core/ext/filters/channel_idle/legacy_channel_idle_filter.h - - src/core/ext/filters/client_channel/backend_metric.h - - src/core/ext/filters/client_channel/backup_poller.h - - src/core/ext/filters/client_channel/client_channel.h - - src/core/ext/filters/client_channel/client_channel_channelz.h - - src/core/ext/filters/client_channel/client_channel_factory.h - - src/core/ext/filters/client_channel/client_channel_internal.h - - src/core/ext/filters/client_channel/client_channel_service_config.h - - src/core/ext/filters/client_channel/config_selector.h - - src/core/ext/filters/client_channel/connector.h - - src/core/ext/filters/client_channel/dynamic_filters.h - - src/core/ext/filters/client_channel/global_subchannel_pool.h - - src/core/ext/filters/client_channel/http_proxy_mapper.h - - src/core/ext/filters/client_channel/local_subchannel_pool.h - - src/core/ext/filters/client_channel/retry_filter.h - - src/core/ext/filters/client_channel/retry_filter_legacy_call_data.h - - src/core/ext/filters/client_channel/retry_service_config.h - - src/core/ext/filters/client_channel/retry_throttle.h - - src/core/ext/filters/client_channel/subchannel.h - - src/core/ext/filters/client_channel/subchannel_interface_internal.h - - src/core/ext/filters/client_channel/subchannel_pool_interface.h - - src/core/ext/filters/client_channel/subchannel_stream_client.h - src/core/ext/filters/deadline/deadline_filter.h - src/core/ext/filters/fault_injection/fault_injection_filter.h - src/core/ext/filters/fault_injection/fault_injection_service_config_parser.h @@ -2685,32 +2685,32 @@ libs: - third_party/upb/upb/wire/reader.h - third_party/upb/upb/wire/types.h src: + - src/core/client_channel/backend_metric.cc + - src/core/client_channel/backup_poller.cc + - src/core/client_channel/channel_connectivity.cc + - src/core/client_channel/client_channel_channelz.cc + - src/core/client_channel/client_channel_factory.cc + - src/core/client_channel/client_channel_filter.cc + - src/core/client_channel/client_channel_plugin.cc + - src/core/client_channel/client_channel_service_config.cc + - src/core/client_channel/config_selector.cc + - src/core/client_channel/dynamic_filters.cc + - src/core/client_channel/global_subchannel_pool.cc + - src/core/client_channel/http_proxy_mapper.cc + - src/core/client_channel/local_subchannel_pool.cc + - src/core/client_channel/retry_filter.cc + - src/core/client_channel/retry_filter_legacy_call_data.cc + - src/core/client_channel/retry_service_config.cc + - src/core/client_channel/retry_throttle.cc + - src/core/client_channel/service_config_channel_arg_filter.cc + - src/core/client_channel/subchannel.cc + - src/core/client_channel/subchannel_pool_interface.cc + - src/core/client_channel/subchannel_stream_client.cc - src/core/ext/filters/backend_metrics/backend_metric_filter.cc - src/core/ext/filters/census/grpc_context.cc - src/core/ext/filters/channel_idle/channel_idle_filter.cc - src/core/ext/filters/channel_idle/idle_filter_state.cc - src/core/ext/filters/channel_idle/legacy_channel_idle_filter.cc - - src/core/ext/filters/client_channel/backend_metric.cc - - src/core/ext/filters/client_channel/backup_poller.cc - - src/core/ext/filters/client_channel/channel_connectivity.cc - - src/core/ext/filters/client_channel/client_channel.cc - - src/core/ext/filters/client_channel/client_channel_channelz.cc - - src/core/ext/filters/client_channel/client_channel_factory.cc - - src/core/ext/filters/client_channel/client_channel_plugin.cc - - src/core/ext/filters/client_channel/client_channel_service_config.cc - - src/core/ext/filters/client_channel/config_selector.cc - - src/core/ext/filters/client_channel/dynamic_filters.cc - - src/core/ext/filters/client_channel/global_subchannel_pool.cc - - src/core/ext/filters/client_channel/http_proxy_mapper.cc - - src/core/ext/filters/client_channel/local_subchannel_pool.cc - - src/core/ext/filters/client_channel/retry_filter.cc - - src/core/ext/filters/client_channel/retry_filter_legacy_call_data.cc - - src/core/ext/filters/client_channel/retry_service_config.cc - - src/core/ext/filters/client_channel/retry_throttle.cc - - src/core/ext/filters/client_channel/service_config_channel_arg_filter.cc - - src/core/ext/filters/client_channel/subchannel.cc - - src/core/ext/filters/client_channel/subchannel_pool_interface.cc - - src/core/ext/filters/client_channel/subchannel_stream_client.cc - src/core/ext/filters/deadline/deadline_filter.cc - src/core/ext/filters/fault_injection/fault_injection_filter.cc - src/core/ext/filters/fault_injection/fault_injection_service_config_parser.cc diff --git a/config.m4 b/config.m4 index e6ca5d180da..7d05f7b8f43 100644 --- a/config.m4 +++ b/config.m4 @@ -41,32 +41,32 @@ if test "$PHP_GRPC" != "no"; then PHP_SUBST(GRPC_SHARED_LIBADD) PHP_NEW_EXTENSION(grpc, + src/core/client_channel/backend_metric.cc \ + src/core/client_channel/backup_poller.cc \ + src/core/client_channel/channel_connectivity.cc \ + src/core/client_channel/client_channel_channelz.cc \ + src/core/client_channel/client_channel_factory.cc \ + src/core/client_channel/client_channel_filter.cc \ + src/core/client_channel/client_channel_plugin.cc \ + src/core/client_channel/client_channel_service_config.cc \ + src/core/client_channel/config_selector.cc \ + src/core/client_channel/dynamic_filters.cc \ + src/core/client_channel/global_subchannel_pool.cc \ + src/core/client_channel/http_proxy_mapper.cc \ + src/core/client_channel/local_subchannel_pool.cc \ + src/core/client_channel/retry_filter.cc \ + src/core/client_channel/retry_filter_legacy_call_data.cc \ + src/core/client_channel/retry_service_config.cc \ + src/core/client_channel/retry_throttle.cc \ + src/core/client_channel/service_config_channel_arg_filter.cc \ + src/core/client_channel/subchannel.cc \ + src/core/client_channel/subchannel_pool_interface.cc \ + src/core/client_channel/subchannel_stream_client.cc \ src/core/ext/filters/backend_metrics/backend_metric_filter.cc \ src/core/ext/filters/census/grpc_context.cc \ src/core/ext/filters/channel_idle/channel_idle_filter.cc \ src/core/ext/filters/channel_idle/idle_filter_state.cc \ src/core/ext/filters/channel_idle/legacy_channel_idle_filter.cc \ - src/core/ext/filters/client_channel/backend_metric.cc \ - src/core/ext/filters/client_channel/backup_poller.cc \ - src/core/ext/filters/client_channel/channel_connectivity.cc \ - src/core/ext/filters/client_channel/client_channel.cc \ - src/core/ext/filters/client_channel/client_channel_channelz.cc \ - src/core/ext/filters/client_channel/client_channel_factory.cc \ - src/core/ext/filters/client_channel/client_channel_plugin.cc \ - src/core/ext/filters/client_channel/client_channel_service_config.cc \ - src/core/ext/filters/client_channel/config_selector.cc \ - src/core/ext/filters/client_channel/dynamic_filters.cc \ - src/core/ext/filters/client_channel/global_subchannel_pool.cc \ - src/core/ext/filters/client_channel/http_proxy_mapper.cc \ - src/core/ext/filters/client_channel/local_subchannel_pool.cc \ - src/core/ext/filters/client_channel/retry_filter.cc \ - src/core/ext/filters/client_channel/retry_filter_legacy_call_data.cc \ - src/core/ext/filters/client_channel/retry_service_config.cc \ - src/core/ext/filters/client_channel/retry_throttle.cc \ - src/core/ext/filters/client_channel/service_config_channel_arg_filter.cc \ - src/core/ext/filters/client_channel/subchannel.cc \ - src/core/ext/filters/client_channel/subchannel_pool_interface.cc \ - src/core/ext/filters/client_channel/subchannel_stream_client.cc \ src/core/ext/filters/deadline/deadline_filter.cc \ src/core/ext/filters/fault_injection/fault_injection_filter.cc \ src/core/ext/filters/fault_injection/fault_injection_service_config_parser.cc \ @@ -1370,10 +1370,10 @@ if test "$PHP_GRPC" != "no"; then -DGRPC_XDS_USER_AGENT_NAME_SUFFIX='"\"PHP\""' \ -DGRPC_XDS_USER_AGENT_VERSION_SUFFIX='"\"1.62.0dev\""') + PHP_ADD_BUILD_DIR($ext_builddir/src/core/client_channel) PHP_ADD_BUILD_DIR($ext_builddir/src/core/ext/filters/backend_metrics) PHP_ADD_BUILD_DIR($ext_builddir/src/core/ext/filters/census) PHP_ADD_BUILD_DIR($ext_builddir/src/core/ext/filters/channel_idle) - PHP_ADD_BUILD_DIR($ext_builddir/src/core/ext/filters/client_channel) PHP_ADD_BUILD_DIR($ext_builddir/src/core/ext/filters/deadline) PHP_ADD_BUILD_DIR($ext_builddir/src/core/ext/filters/fault_injection) PHP_ADD_BUILD_DIR($ext_builddir/src/core/ext/filters/http) diff --git a/config.w32 b/config.w32 index 226e4817739..4a6bd77a184 100644 --- a/config.w32 +++ b/config.w32 @@ -6,32 +6,32 @@ ARG_WITH("grpc", "grpc support", "no"); if (PHP_GRPC != "no") { EXTENSION("grpc", + "src\\core\\client_channel\\backend_metric.cc " + + "src\\core\\client_channel\\backup_poller.cc " + + "src\\core\\client_channel\\channel_connectivity.cc " + + "src\\core\\client_channel\\client_channel_channelz.cc " + + "src\\core\\client_channel\\client_channel_factory.cc " + + "src\\core\\client_channel\\client_channel_filter.cc " + + "src\\core\\client_channel\\client_channel_plugin.cc " + + "src\\core\\client_channel\\client_channel_service_config.cc " + + "src\\core\\client_channel\\config_selector.cc " + + "src\\core\\client_channel\\dynamic_filters.cc " + + "src\\core\\client_channel\\global_subchannel_pool.cc " + + "src\\core\\client_channel\\http_proxy_mapper.cc " + + "src\\core\\client_channel\\local_subchannel_pool.cc " + + "src\\core\\client_channel\\retry_filter.cc " + + "src\\core\\client_channel\\retry_filter_legacy_call_data.cc " + + "src\\core\\client_channel\\retry_service_config.cc " + + "src\\core\\client_channel\\retry_throttle.cc " + + "src\\core\\client_channel\\service_config_channel_arg_filter.cc " + + "src\\core\\client_channel\\subchannel.cc " + + "src\\core\\client_channel\\subchannel_pool_interface.cc " + + "src\\core\\client_channel\\subchannel_stream_client.cc " + "src\\core\\ext\\filters\\backend_metrics\\backend_metric_filter.cc " + "src\\core\\ext\\filters\\census\\grpc_context.cc " + "src\\core\\ext\\filters\\channel_idle\\channel_idle_filter.cc " + "src\\core\\ext\\filters\\channel_idle\\idle_filter_state.cc " + "src\\core\\ext\\filters\\channel_idle\\legacy_channel_idle_filter.cc " + - "src\\core\\ext\\filters\\client_channel\\backend_metric.cc " + - "src\\core\\ext\\filters\\client_channel\\backup_poller.cc " + - "src\\core\\ext\\filters\\client_channel\\channel_connectivity.cc " + - "src\\core\\ext\\filters\\client_channel\\client_channel.cc " + - "src\\core\\ext\\filters\\client_channel\\client_channel_channelz.cc " + - "src\\core\\ext\\filters\\client_channel\\client_channel_factory.cc " + - "src\\core\\ext\\filters\\client_channel\\client_channel_plugin.cc " + - "src\\core\\ext\\filters\\client_channel\\client_channel_service_config.cc " + - "src\\core\\ext\\filters\\client_channel\\config_selector.cc " + - "src\\core\\ext\\filters\\client_channel\\dynamic_filters.cc " + - "src\\core\\ext\\filters\\client_channel\\global_subchannel_pool.cc " + - "src\\core\\ext\\filters\\client_channel\\http_proxy_mapper.cc " + - "src\\core\\ext\\filters\\client_channel\\local_subchannel_pool.cc " + - "src\\core\\ext\\filters\\client_channel\\retry_filter.cc " + - "src\\core\\ext\\filters\\client_channel\\retry_filter_legacy_call_data.cc " + - "src\\core\\ext\\filters\\client_channel\\retry_service_config.cc " + - "src\\core\\ext\\filters\\client_channel\\retry_throttle.cc " + - "src\\core\\ext\\filters\\client_channel\\service_config_channel_arg_filter.cc " + - "src\\core\\ext\\filters\\client_channel\\subchannel.cc " + - "src\\core\\ext\\filters\\client_channel\\subchannel_pool_interface.cc " + - "src\\core\\ext\\filters\\client_channel\\subchannel_stream_client.cc " + "src\\core\\ext\\filters\\deadline\\deadline_filter.cc " + "src\\core\\ext\\filters\\fault_injection\\fault_injection_filter.cc " + "src\\core\\ext\\filters\\fault_injection\\fault_injection_service_config_parser.cc " + @@ -1362,12 +1362,12 @@ if (PHP_GRPC != "no") { FSO.CreateFolder(base_dir+"\\ext\\grpc"); FSO.CreateFolder(base_dir+"\\ext\\grpc\\src"); FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core"); + FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\client_channel"); FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext"); FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\filters"); FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\filters\\backend_metrics"); FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\filters\\census"); FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\filters\\channel_idle"); - FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\filters\\client_channel"); FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\filters\\deadline"); FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\filters\\fault_injection"); FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\filters\\http"); diff --git a/gRPC-C++.podspec b/gRPC-C++.podspec index cee645af1f6..fd75e613cd3 100644 --- a/gRPC-C++.podspec +++ b/gRPC-C++.podspec @@ -257,32 +257,32 @@ Pod::Spec.new do |s| ss.dependency 'abseil/types/variant', abseil_version ss.dependency 'abseil/utility/utility', abseil_version - ss.source_files = 'src/core/ext/filters/backend_metrics/backend_metric_filter.h', + ss.source_files = 'src/core/client_channel/backend_metric.h', + 'src/core/client_channel/backup_poller.h', + 'src/core/client_channel/client_channel_channelz.h', + 'src/core/client_channel/client_channel_factory.h', + 'src/core/client_channel/client_channel_filter.h', + 'src/core/client_channel/client_channel_internal.h', + 'src/core/client_channel/client_channel_service_config.h', + 'src/core/client_channel/config_selector.h', + 'src/core/client_channel/connector.h', + 'src/core/client_channel/dynamic_filters.h', + 'src/core/client_channel/global_subchannel_pool.h', + 'src/core/client_channel/http_proxy_mapper.h', + 'src/core/client_channel/local_subchannel_pool.h', + 'src/core/client_channel/retry_filter.h', + 'src/core/client_channel/retry_filter_legacy_call_data.h', + 'src/core/client_channel/retry_service_config.h', + 'src/core/client_channel/retry_throttle.h', + 'src/core/client_channel/subchannel.h', + 'src/core/client_channel/subchannel_interface_internal.h', + 'src/core/client_channel/subchannel_pool_interface.h', + 'src/core/client_channel/subchannel_stream_client.h', + 'src/core/ext/filters/backend_metrics/backend_metric_filter.h', 'src/core/ext/filters/backend_metrics/backend_metric_provider.h', 'src/core/ext/filters/channel_idle/channel_idle_filter.h', 'src/core/ext/filters/channel_idle/idle_filter_state.h', 'src/core/ext/filters/channel_idle/legacy_channel_idle_filter.h', - 'src/core/ext/filters/client_channel/backend_metric.h', - 'src/core/ext/filters/client_channel/backup_poller.h', - 'src/core/ext/filters/client_channel/client_channel.h', - 'src/core/ext/filters/client_channel/client_channel_channelz.h', - 'src/core/ext/filters/client_channel/client_channel_factory.h', - 'src/core/ext/filters/client_channel/client_channel_internal.h', - 'src/core/ext/filters/client_channel/client_channel_service_config.h', - 'src/core/ext/filters/client_channel/config_selector.h', - 'src/core/ext/filters/client_channel/connector.h', - 'src/core/ext/filters/client_channel/dynamic_filters.h', - 'src/core/ext/filters/client_channel/global_subchannel_pool.h', - 'src/core/ext/filters/client_channel/http_proxy_mapper.h', - 'src/core/ext/filters/client_channel/local_subchannel_pool.h', - 'src/core/ext/filters/client_channel/retry_filter.h', - 'src/core/ext/filters/client_channel/retry_filter_legacy_call_data.h', - 'src/core/ext/filters/client_channel/retry_service_config.h', - 'src/core/ext/filters/client_channel/retry_throttle.h', - 'src/core/ext/filters/client_channel/subchannel.h', - 'src/core/ext/filters/client_channel/subchannel_interface_internal.h', - 'src/core/ext/filters/client_channel/subchannel_pool_interface.h', - 'src/core/ext/filters/client_channel/subchannel_stream_client.h', 'src/core/ext/filters/deadline/deadline_filter.h', 'src/core/ext/filters/fault_injection/fault_injection_filter.h', 'src/core/ext/filters/fault_injection/fault_injection_service_config_parser.h', @@ -1532,32 +1532,32 @@ Pod::Spec.new do |s| 'third_party/zlib/zlib.h', 'third_party/zlib/zutil.h' - ss.private_header_files = 'src/core/ext/filters/backend_metrics/backend_metric_filter.h', + ss.private_header_files = 'src/core/client_channel/backend_metric.h', + 'src/core/client_channel/backup_poller.h', + 'src/core/client_channel/client_channel_channelz.h', + 'src/core/client_channel/client_channel_factory.h', + 'src/core/client_channel/client_channel_filter.h', + 'src/core/client_channel/client_channel_internal.h', + 'src/core/client_channel/client_channel_service_config.h', + 'src/core/client_channel/config_selector.h', + 'src/core/client_channel/connector.h', + 'src/core/client_channel/dynamic_filters.h', + 'src/core/client_channel/global_subchannel_pool.h', + 'src/core/client_channel/http_proxy_mapper.h', + 'src/core/client_channel/local_subchannel_pool.h', + 'src/core/client_channel/retry_filter.h', + 'src/core/client_channel/retry_filter_legacy_call_data.h', + 'src/core/client_channel/retry_service_config.h', + 'src/core/client_channel/retry_throttle.h', + 'src/core/client_channel/subchannel.h', + 'src/core/client_channel/subchannel_interface_internal.h', + 'src/core/client_channel/subchannel_pool_interface.h', + 'src/core/client_channel/subchannel_stream_client.h', + 'src/core/ext/filters/backend_metrics/backend_metric_filter.h', 'src/core/ext/filters/backend_metrics/backend_metric_provider.h', 'src/core/ext/filters/channel_idle/channel_idle_filter.h', 'src/core/ext/filters/channel_idle/idle_filter_state.h', 'src/core/ext/filters/channel_idle/legacy_channel_idle_filter.h', - 'src/core/ext/filters/client_channel/backend_metric.h', - 'src/core/ext/filters/client_channel/backup_poller.h', - 'src/core/ext/filters/client_channel/client_channel.h', - 'src/core/ext/filters/client_channel/client_channel_channelz.h', - 'src/core/ext/filters/client_channel/client_channel_factory.h', - 'src/core/ext/filters/client_channel/client_channel_internal.h', - 'src/core/ext/filters/client_channel/client_channel_service_config.h', - 'src/core/ext/filters/client_channel/config_selector.h', - 'src/core/ext/filters/client_channel/connector.h', - 'src/core/ext/filters/client_channel/dynamic_filters.h', - 'src/core/ext/filters/client_channel/global_subchannel_pool.h', - 'src/core/ext/filters/client_channel/http_proxy_mapper.h', - 'src/core/ext/filters/client_channel/local_subchannel_pool.h', - 'src/core/ext/filters/client_channel/retry_filter.h', - 'src/core/ext/filters/client_channel/retry_filter_legacy_call_data.h', - 'src/core/ext/filters/client_channel/retry_service_config.h', - 'src/core/ext/filters/client_channel/retry_throttle.h', - 'src/core/ext/filters/client_channel/subchannel.h', - 'src/core/ext/filters/client_channel/subchannel_interface_internal.h', - 'src/core/ext/filters/client_channel/subchannel_pool_interface.h', - 'src/core/ext/filters/client_channel/subchannel_stream_client.h', 'src/core/ext/filters/deadline/deadline_filter.h', 'src/core/ext/filters/fault_injection/fault_injection_filter.h', 'src/core/ext/filters/fault_injection/fault_injection_service_config_parser.h', diff --git a/gRPC-Core.podspec b/gRPC-Core.podspec index a668f3de855..6c9edbce1d7 100644 --- a/gRPC-Core.podspec +++ b/gRPC-Core.podspec @@ -195,7 +195,7 @@ Pod::Spec.new do |s| ss.libraries = 'z' ss.dependency "#{s.name}/Interface", version ss.dependency "#{s.name}/Privacy", version - ss.dependency 'BoringSSL-GRPC', '0.0.33' + ss.dependency 'BoringSSL-GRPC', '0.0.32' ss.dependency 'abseil/algorithm/container', abseil_version ss.dependency 'abseil/base/base', abseil_version ss.dependency 'abseil/base/config', abseil_version @@ -228,7 +228,49 @@ Pod::Spec.new do |s| ss.dependency 'abseil/utility/utility', abseil_version ss.compiler_flags = '-DBORINGSSL_PREFIX=GRPC -Wno-unreachable-code -Wno-shorten-64-to-32' - ss.source_files = 'src/core/ext/filters/backend_metrics/backend_metric_filter.cc', + ss.source_files = 'src/core/client_channel/backend_metric.cc', + 'src/core/client_channel/backend_metric.h', + 'src/core/client_channel/backup_poller.cc', + 'src/core/client_channel/backup_poller.h', + 'src/core/client_channel/channel_connectivity.cc', + 'src/core/client_channel/client_channel_channelz.cc', + 'src/core/client_channel/client_channel_channelz.h', + 'src/core/client_channel/client_channel_factory.cc', + 'src/core/client_channel/client_channel_factory.h', + 'src/core/client_channel/client_channel_filter.cc', + 'src/core/client_channel/client_channel_filter.h', + 'src/core/client_channel/client_channel_internal.h', + 'src/core/client_channel/client_channel_plugin.cc', + 'src/core/client_channel/client_channel_service_config.cc', + 'src/core/client_channel/client_channel_service_config.h', + 'src/core/client_channel/config_selector.cc', + 'src/core/client_channel/config_selector.h', + 'src/core/client_channel/connector.h', + 'src/core/client_channel/dynamic_filters.cc', + 'src/core/client_channel/dynamic_filters.h', + 'src/core/client_channel/global_subchannel_pool.cc', + 'src/core/client_channel/global_subchannel_pool.h', + 'src/core/client_channel/http_proxy_mapper.cc', + 'src/core/client_channel/http_proxy_mapper.h', + 'src/core/client_channel/local_subchannel_pool.cc', + 'src/core/client_channel/local_subchannel_pool.h', + 'src/core/client_channel/retry_filter.cc', + 'src/core/client_channel/retry_filter.h', + 'src/core/client_channel/retry_filter_legacy_call_data.cc', + 'src/core/client_channel/retry_filter_legacy_call_data.h', + 'src/core/client_channel/retry_service_config.cc', + 'src/core/client_channel/retry_service_config.h', + 'src/core/client_channel/retry_throttle.cc', + 'src/core/client_channel/retry_throttle.h', + 'src/core/client_channel/service_config_channel_arg_filter.cc', + 'src/core/client_channel/subchannel.cc', + 'src/core/client_channel/subchannel.h', + 'src/core/client_channel/subchannel_interface_internal.h', + 'src/core/client_channel/subchannel_pool_interface.cc', + 'src/core/client_channel/subchannel_pool_interface.h', + 'src/core/client_channel/subchannel_stream_client.cc', + 'src/core/client_channel/subchannel_stream_client.h', + 'src/core/ext/filters/backend_metrics/backend_metric_filter.cc', 'src/core/ext/filters/backend_metrics/backend_metric_filter.h', 'src/core/ext/filters/backend_metrics/backend_metric_provider.h', 'src/core/ext/filters/census/grpc_context.cc', @@ -238,48 +280,6 @@ Pod::Spec.new do |s| 'src/core/ext/filters/channel_idle/idle_filter_state.h', 'src/core/ext/filters/channel_idle/legacy_channel_idle_filter.cc', 'src/core/ext/filters/channel_idle/legacy_channel_idle_filter.h', - 'src/core/ext/filters/client_channel/backend_metric.cc', - 'src/core/ext/filters/client_channel/backend_metric.h', - 'src/core/ext/filters/client_channel/backup_poller.cc', - 'src/core/ext/filters/client_channel/backup_poller.h', - 'src/core/ext/filters/client_channel/channel_connectivity.cc', - 'src/core/ext/filters/client_channel/client_channel.cc', - 'src/core/ext/filters/client_channel/client_channel.h', - 'src/core/ext/filters/client_channel/client_channel_channelz.cc', - 'src/core/ext/filters/client_channel/client_channel_channelz.h', - 'src/core/ext/filters/client_channel/client_channel_factory.cc', - 'src/core/ext/filters/client_channel/client_channel_factory.h', - 'src/core/ext/filters/client_channel/client_channel_internal.h', - 'src/core/ext/filters/client_channel/client_channel_plugin.cc', - 'src/core/ext/filters/client_channel/client_channel_service_config.cc', - 'src/core/ext/filters/client_channel/client_channel_service_config.h', - 'src/core/ext/filters/client_channel/config_selector.cc', - 'src/core/ext/filters/client_channel/config_selector.h', - 'src/core/ext/filters/client_channel/connector.h', - 'src/core/ext/filters/client_channel/dynamic_filters.cc', - 'src/core/ext/filters/client_channel/dynamic_filters.h', - 'src/core/ext/filters/client_channel/global_subchannel_pool.cc', - 'src/core/ext/filters/client_channel/global_subchannel_pool.h', - 'src/core/ext/filters/client_channel/http_proxy_mapper.cc', - 'src/core/ext/filters/client_channel/http_proxy_mapper.h', - 'src/core/ext/filters/client_channel/local_subchannel_pool.cc', - 'src/core/ext/filters/client_channel/local_subchannel_pool.h', - 'src/core/ext/filters/client_channel/retry_filter.cc', - 'src/core/ext/filters/client_channel/retry_filter.h', - 'src/core/ext/filters/client_channel/retry_filter_legacy_call_data.cc', - 'src/core/ext/filters/client_channel/retry_filter_legacy_call_data.h', - 'src/core/ext/filters/client_channel/retry_service_config.cc', - 'src/core/ext/filters/client_channel/retry_service_config.h', - 'src/core/ext/filters/client_channel/retry_throttle.cc', - 'src/core/ext/filters/client_channel/retry_throttle.h', - 'src/core/ext/filters/client_channel/service_config_channel_arg_filter.cc', - 'src/core/ext/filters/client_channel/subchannel.cc', - 'src/core/ext/filters/client_channel/subchannel.h', - 'src/core/ext/filters/client_channel/subchannel_interface_internal.h', - 'src/core/ext/filters/client_channel/subchannel_pool_interface.cc', - 'src/core/ext/filters/client_channel/subchannel_pool_interface.h', - 'src/core/ext/filters/client_channel/subchannel_stream_client.cc', - 'src/core/ext/filters/client_channel/subchannel_stream_client.h', 'src/core/ext/filters/deadline/deadline_filter.cc', 'src/core/ext/filters/deadline/deadline_filter.h', 'src/core/ext/filters/fault_injection/fault_injection_filter.cc', @@ -2333,32 +2333,32 @@ Pod::Spec.new do |s| 'third_party/zlib/zlib.h', 'third_party/zlib/zutil.c', 'third_party/zlib/zutil.h' - ss.private_header_files = 'src/core/ext/filters/backend_metrics/backend_metric_filter.h', + ss.private_header_files = 'src/core/client_channel/backend_metric.h', + 'src/core/client_channel/backup_poller.h', + 'src/core/client_channel/client_channel_channelz.h', + 'src/core/client_channel/client_channel_factory.h', + 'src/core/client_channel/client_channel_filter.h', + 'src/core/client_channel/client_channel_internal.h', + 'src/core/client_channel/client_channel_service_config.h', + 'src/core/client_channel/config_selector.h', + 'src/core/client_channel/connector.h', + 'src/core/client_channel/dynamic_filters.h', + 'src/core/client_channel/global_subchannel_pool.h', + 'src/core/client_channel/http_proxy_mapper.h', + 'src/core/client_channel/local_subchannel_pool.h', + 'src/core/client_channel/retry_filter.h', + 'src/core/client_channel/retry_filter_legacy_call_data.h', + 'src/core/client_channel/retry_service_config.h', + 'src/core/client_channel/retry_throttle.h', + 'src/core/client_channel/subchannel.h', + 'src/core/client_channel/subchannel_interface_internal.h', + 'src/core/client_channel/subchannel_pool_interface.h', + 'src/core/client_channel/subchannel_stream_client.h', + 'src/core/ext/filters/backend_metrics/backend_metric_filter.h', 'src/core/ext/filters/backend_metrics/backend_metric_provider.h', 'src/core/ext/filters/channel_idle/channel_idle_filter.h', 'src/core/ext/filters/channel_idle/idle_filter_state.h', 'src/core/ext/filters/channel_idle/legacy_channel_idle_filter.h', - 'src/core/ext/filters/client_channel/backend_metric.h', - 'src/core/ext/filters/client_channel/backup_poller.h', - 'src/core/ext/filters/client_channel/client_channel.h', - 'src/core/ext/filters/client_channel/client_channel_channelz.h', - 'src/core/ext/filters/client_channel/client_channel_factory.h', - 'src/core/ext/filters/client_channel/client_channel_internal.h', - 'src/core/ext/filters/client_channel/client_channel_service_config.h', - 'src/core/ext/filters/client_channel/config_selector.h', - 'src/core/ext/filters/client_channel/connector.h', - 'src/core/ext/filters/client_channel/dynamic_filters.h', - 'src/core/ext/filters/client_channel/global_subchannel_pool.h', - 'src/core/ext/filters/client_channel/http_proxy_mapper.h', - 'src/core/ext/filters/client_channel/local_subchannel_pool.h', - 'src/core/ext/filters/client_channel/retry_filter.h', - 'src/core/ext/filters/client_channel/retry_filter_legacy_call_data.h', - 'src/core/ext/filters/client_channel/retry_service_config.h', - 'src/core/ext/filters/client_channel/retry_throttle.h', - 'src/core/ext/filters/client_channel/subchannel.h', - 'src/core/ext/filters/client_channel/subchannel_interface_internal.h', - 'src/core/ext/filters/client_channel/subchannel_pool_interface.h', - 'src/core/ext/filters/client_channel/subchannel_stream_client.h', 'src/core/ext/filters/deadline/deadline_filter.h', 'src/core/ext/filters/fault_injection/fault_injection_filter.h', 'src/core/ext/filters/fault_injection/fault_injection_service_config_parser.h', diff --git a/grpc.gemspec b/grpc.gemspec index 4caf5f23bc2..234cd253852 100644 --- a/grpc.gemspec +++ b/grpc.gemspec @@ -121,6 +121,48 @@ Gem::Specification.new do |s| s.files += %w( include/grpc/support/thd_id.h ) s.files += %w( include/grpc/support/time.h ) s.files += %w( include/grpc/support/workaround_list.h ) + s.files += %w( src/core/client_channel/backend_metric.cc ) + s.files += %w( src/core/client_channel/backend_metric.h ) + s.files += %w( src/core/client_channel/backup_poller.cc ) + s.files += %w( src/core/client_channel/backup_poller.h ) + s.files += %w( src/core/client_channel/channel_connectivity.cc ) + s.files += %w( src/core/client_channel/client_channel_channelz.cc ) + s.files += %w( src/core/client_channel/client_channel_channelz.h ) + s.files += %w( src/core/client_channel/client_channel_factory.cc ) + s.files += %w( src/core/client_channel/client_channel_factory.h ) + s.files += %w( src/core/client_channel/client_channel_filter.cc ) + s.files += %w( src/core/client_channel/client_channel_filter.h ) + s.files += %w( src/core/client_channel/client_channel_internal.h ) + s.files += %w( src/core/client_channel/client_channel_plugin.cc ) + s.files += %w( src/core/client_channel/client_channel_service_config.cc ) + s.files += %w( src/core/client_channel/client_channel_service_config.h ) + s.files += %w( src/core/client_channel/config_selector.cc ) + s.files += %w( src/core/client_channel/config_selector.h ) + s.files += %w( src/core/client_channel/connector.h ) + s.files += %w( src/core/client_channel/dynamic_filters.cc ) + s.files += %w( src/core/client_channel/dynamic_filters.h ) + s.files += %w( src/core/client_channel/global_subchannel_pool.cc ) + s.files += %w( src/core/client_channel/global_subchannel_pool.h ) + s.files += %w( src/core/client_channel/http_proxy_mapper.cc ) + s.files += %w( src/core/client_channel/http_proxy_mapper.h ) + s.files += %w( src/core/client_channel/local_subchannel_pool.cc ) + s.files += %w( src/core/client_channel/local_subchannel_pool.h ) + s.files += %w( src/core/client_channel/retry_filter.cc ) + s.files += %w( src/core/client_channel/retry_filter.h ) + s.files += %w( src/core/client_channel/retry_filter_legacy_call_data.cc ) + s.files += %w( src/core/client_channel/retry_filter_legacy_call_data.h ) + s.files += %w( src/core/client_channel/retry_service_config.cc ) + s.files += %w( src/core/client_channel/retry_service_config.h ) + s.files += %w( src/core/client_channel/retry_throttle.cc ) + s.files += %w( src/core/client_channel/retry_throttle.h ) + s.files += %w( src/core/client_channel/service_config_channel_arg_filter.cc ) + s.files += %w( src/core/client_channel/subchannel.cc ) + s.files += %w( src/core/client_channel/subchannel.h ) + s.files += %w( src/core/client_channel/subchannel_interface_internal.h ) + s.files += %w( src/core/client_channel/subchannel_pool_interface.cc ) + s.files += %w( src/core/client_channel/subchannel_pool_interface.h ) + s.files += %w( src/core/client_channel/subchannel_stream_client.cc ) + s.files += %w( src/core/client_channel/subchannel_stream_client.h ) s.files += %w( src/core/ext/filters/backend_metrics/backend_metric_filter.cc ) s.files += %w( src/core/ext/filters/backend_metrics/backend_metric_filter.h ) s.files += %w( src/core/ext/filters/backend_metrics/backend_metric_provider.h ) @@ -131,48 +173,6 @@ Gem::Specification.new do |s| s.files += %w( src/core/ext/filters/channel_idle/idle_filter_state.h ) s.files += %w( src/core/ext/filters/channel_idle/legacy_channel_idle_filter.cc ) s.files += %w( src/core/ext/filters/channel_idle/legacy_channel_idle_filter.h ) - s.files += %w( src/core/ext/filters/client_channel/backend_metric.cc ) - s.files += %w( src/core/ext/filters/client_channel/backend_metric.h ) - s.files += %w( src/core/ext/filters/client_channel/backup_poller.cc ) - s.files += %w( src/core/ext/filters/client_channel/backup_poller.h ) - s.files += %w( src/core/ext/filters/client_channel/channel_connectivity.cc ) - s.files += %w( src/core/ext/filters/client_channel/client_channel.cc ) - s.files += %w( src/core/ext/filters/client_channel/client_channel.h ) - s.files += %w( src/core/ext/filters/client_channel/client_channel_channelz.cc ) - s.files += %w( src/core/ext/filters/client_channel/client_channel_channelz.h ) - s.files += %w( src/core/ext/filters/client_channel/client_channel_factory.cc ) - s.files += %w( src/core/ext/filters/client_channel/client_channel_factory.h ) - s.files += %w( src/core/ext/filters/client_channel/client_channel_internal.h ) - s.files += %w( src/core/ext/filters/client_channel/client_channel_plugin.cc ) - s.files += %w( src/core/ext/filters/client_channel/client_channel_service_config.cc ) - s.files += %w( src/core/ext/filters/client_channel/client_channel_service_config.h ) - s.files += %w( src/core/ext/filters/client_channel/config_selector.cc ) - s.files += %w( src/core/ext/filters/client_channel/config_selector.h ) - s.files += %w( src/core/ext/filters/client_channel/connector.h ) - s.files += %w( src/core/ext/filters/client_channel/dynamic_filters.cc ) - s.files += %w( src/core/ext/filters/client_channel/dynamic_filters.h ) - s.files += %w( src/core/ext/filters/client_channel/global_subchannel_pool.cc ) - s.files += %w( src/core/ext/filters/client_channel/global_subchannel_pool.h ) - s.files += %w( src/core/ext/filters/client_channel/http_proxy_mapper.cc ) - s.files += %w( src/core/ext/filters/client_channel/http_proxy_mapper.h ) - s.files += %w( src/core/ext/filters/client_channel/local_subchannel_pool.cc ) - s.files += %w( src/core/ext/filters/client_channel/local_subchannel_pool.h ) - s.files += %w( src/core/ext/filters/client_channel/retry_filter.cc ) - s.files += %w( src/core/ext/filters/client_channel/retry_filter.h ) - s.files += %w( src/core/ext/filters/client_channel/retry_filter_legacy_call_data.cc ) - s.files += %w( src/core/ext/filters/client_channel/retry_filter_legacy_call_data.h ) - s.files += %w( src/core/ext/filters/client_channel/retry_service_config.cc ) - s.files += %w( src/core/ext/filters/client_channel/retry_service_config.h ) - s.files += %w( src/core/ext/filters/client_channel/retry_throttle.cc ) - s.files += %w( src/core/ext/filters/client_channel/retry_throttle.h ) - s.files += %w( src/core/ext/filters/client_channel/service_config_channel_arg_filter.cc ) - s.files += %w( src/core/ext/filters/client_channel/subchannel.cc ) - s.files += %w( src/core/ext/filters/client_channel/subchannel.h ) - s.files += %w( src/core/ext/filters/client_channel/subchannel_interface_internal.h ) - s.files += %w( src/core/ext/filters/client_channel/subchannel_pool_interface.cc ) - s.files += %w( src/core/ext/filters/client_channel/subchannel_pool_interface.h ) - s.files += %w( src/core/ext/filters/client_channel/subchannel_stream_client.cc ) - s.files += %w( src/core/ext/filters/client_channel/subchannel_stream_client.h ) s.files += %w( src/core/ext/filters/deadline/deadline_filter.cc ) s.files += %w( src/core/ext/filters/deadline/deadline_filter.h ) s.files += %w( src/core/ext/filters/fault_injection/fault_injection_filter.cc ) diff --git a/grpc.gyp b/grpc.gyp index 97d4590242b..e7245887711 100644 --- a/grpc.gyp +++ b/grpc.gyp @@ -273,32 +273,32 @@ 'address_sorting', ], 'sources': [ + 'src/core/client_channel/backend_metric.cc', + 'src/core/client_channel/backup_poller.cc', + 'src/core/client_channel/channel_connectivity.cc', + 'src/core/client_channel/client_channel_channelz.cc', + 'src/core/client_channel/client_channel_factory.cc', + 'src/core/client_channel/client_channel_filter.cc', + 'src/core/client_channel/client_channel_plugin.cc', + 'src/core/client_channel/client_channel_service_config.cc', + 'src/core/client_channel/config_selector.cc', + 'src/core/client_channel/dynamic_filters.cc', + 'src/core/client_channel/global_subchannel_pool.cc', + 'src/core/client_channel/http_proxy_mapper.cc', + 'src/core/client_channel/local_subchannel_pool.cc', + 'src/core/client_channel/retry_filter.cc', + 'src/core/client_channel/retry_filter_legacy_call_data.cc', + 'src/core/client_channel/retry_service_config.cc', + 'src/core/client_channel/retry_throttle.cc', + 'src/core/client_channel/service_config_channel_arg_filter.cc', + 'src/core/client_channel/subchannel.cc', + 'src/core/client_channel/subchannel_pool_interface.cc', + 'src/core/client_channel/subchannel_stream_client.cc', 'src/core/ext/filters/backend_metrics/backend_metric_filter.cc', 'src/core/ext/filters/census/grpc_context.cc', 'src/core/ext/filters/channel_idle/channel_idle_filter.cc', 'src/core/ext/filters/channel_idle/idle_filter_state.cc', 'src/core/ext/filters/channel_idle/legacy_channel_idle_filter.cc', - 'src/core/ext/filters/client_channel/backend_metric.cc', - 'src/core/ext/filters/client_channel/backup_poller.cc', - 'src/core/ext/filters/client_channel/channel_connectivity.cc', - 'src/core/ext/filters/client_channel/client_channel.cc', - 'src/core/ext/filters/client_channel/client_channel_channelz.cc', - 'src/core/ext/filters/client_channel/client_channel_factory.cc', - 'src/core/ext/filters/client_channel/client_channel_plugin.cc', - 'src/core/ext/filters/client_channel/client_channel_service_config.cc', - 'src/core/ext/filters/client_channel/config_selector.cc', - 'src/core/ext/filters/client_channel/dynamic_filters.cc', - 'src/core/ext/filters/client_channel/global_subchannel_pool.cc', - 'src/core/ext/filters/client_channel/http_proxy_mapper.cc', - 'src/core/ext/filters/client_channel/local_subchannel_pool.cc', - 'src/core/ext/filters/client_channel/retry_filter.cc', - 'src/core/ext/filters/client_channel/retry_filter_legacy_call_data.cc', - 'src/core/ext/filters/client_channel/retry_service_config.cc', - 'src/core/ext/filters/client_channel/retry_throttle.cc', - 'src/core/ext/filters/client_channel/service_config_channel_arg_filter.cc', - 'src/core/ext/filters/client_channel/subchannel.cc', - 'src/core/ext/filters/client_channel/subchannel_pool_interface.cc', - 'src/core/ext/filters/client_channel/subchannel_stream_client.cc', 'src/core/ext/filters/deadline/deadline_filter.cc', 'src/core/ext/filters/fault_injection/fault_injection_filter.cc', 'src/core/ext/filters/fault_injection/fault_injection_service_config_parser.cc', @@ -1145,32 +1145,32 @@ 'address_sorting', ], 'sources': [ + 'src/core/client_channel/backend_metric.cc', + 'src/core/client_channel/backup_poller.cc', + 'src/core/client_channel/channel_connectivity.cc', + 'src/core/client_channel/client_channel_channelz.cc', + 'src/core/client_channel/client_channel_factory.cc', + 'src/core/client_channel/client_channel_filter.cc', + 'src/core/client_channel/client_channel_plugin.cc', + 'src/core/client_channel/client_channel_service_config.cc', + 'src/core/client_channel/config_selector.cc', + 'src/core/client_channel/dynamic_filters.cc', + 'src/core/client_channel/global_subchannel_pool.cc', + 'src/core/client_channel/http_proxy_mapper.cc', + 'src/core/client_channel/local_subchannel_pool.cc', + 'src/core/client_channel/retry_filter.cc', + 'src/core/client_channel/retry_filter_legacy_call_data.cc', + 'src/core/client_channel/retry_service_config.cc', + 'src/core/client_channel/retry_throttle.cc', + 'src/core/client_channel/service_config_channel_arg_filter.cc', + 'src/core/client_channel/subchannel.cc', + 'src/core/client_channel/subchannel_pool_interface.cc', + 'src/core/client_channel/subchannel_stream_client.cc', 'src/core/ext/filters/backend_metrics/backend_metric_filter.cc', 'src/core/ext/filters/census/grpc_context.cc', 'src/core/ext/filters/channel_idle/channel_idle_filter.cc', 'src/core/ext/filters/channel_idle/idle_filter_state.cc', 'src/core/ext/filters/channel_idle/legacy_channel_idle_filter.cc', - 'src/core/ext/filters/client_channel/backend_metric.cc', - 'src/core/ext/filters/client_channel/backup_poller.cc', - 'src/core/ext/filters/client_channel/channel_connectivity.cc', - 'src/core/ext/filters/client_channel/client_channel.cc', - 'src/core/ext/filters/client_channel/client_channel_channelz.cc', - 'src/core/ext/filters/client_channel/client_channel_factory.cc', - 'src/core/ext/filters/client_channel/client_channel_plugin.cc', - 'src/core/ext/filters/client_channel/client_channel_service_config.cc', - 'src/core/ext/filters/client_channel/config_selector.cc', - 'src/core/ext/filters/client_channel/dynamic_filters.cc', - 'src/core/ext/filters/client_channel/global_subchannel_pool.cc', - 'src/core/ext/filters/client_channel/http_proxy_mapper.cc', - 'src/core/ext/filters/client_channel/local_subchannel_pool.cc', - 'src/core/ext/filters/client_channel/retry_filter.cc', - 'src/core/ext/filters/client_channel/retry_filter_legacy_call_data.cc', - 'src/core/ext/filters/client_channel/retry_service_config.cc', - 'src/core/ext/filters/client_channel/retry_throttle.cc', - 'src/core/ext/filters/client_channel/service_config_channel_arg_filter.cc', - 'src/core/ext/filters/client_channel/subchannel.cc', - 'src/core/ext/filters/client_channel/subchannel_pool_interface.cc', - 'src/core/ext/filters/client_channel/subchannel_stream_client.cc', 'src/core/ext/filters/deadline/deadline_filter.cc', 'src/core/ext/filters/fault_injection/fault_injection_filter.cc', 'src/core/ext/filters/fault_injection/fault_injection_service_config_parser.cc', diff --git a/include/grpcpp/ext/csm_observability.h b/include/grpcpp/ext/csm_observability.h index a3b50a72387..706807032d7 100644 --- a/include/grpcpp/ext/csm_observability.h +++ b/include/grpcpp/ext/csm_observability.h @@ -26,7 +26,7 @@ #include "absl/functional/any_invocable.h" #include "absl/status/statusor.h" #include "absl/strings/string_view.h" -#include "opentelemetry/sdk/metrics/meter_provider.h" +#include "opentelemetry/metrics/meter_provider.h" #include @@ -40,7 +40,15 @@ namespace experimental { // This is a no-op at present, but in the future, this object would be useful // for performing cleanup. -class CsmObservability {}; +class CsmObservability { + public: + CsmObservability() = default; + // Disable copy constructor and copy-assignment operator. + CsmObservability(const CsmObservability&) = delete; + CsmObservability& operator=(const CsmObservability&) = delete; + CsmObservability(CsmObservability&&) = default; + CsmObservability& operator=(CsmObservability&&) = default; +}; // CsmObservabilityBuilder configures observability for all service mesh traffic // for a binary running on CSM. @@ -49,8 +57,7 @@ class CsmObservabilityBuilder { CsmObservabilityBuilder(); ~CsmObservabilityBuilder(); CsmObservabilityBuilder& SetMeterProvider( - std::shared_ptr - meter_provider); + std::shared_ptr meter_provider); // If set, \a target_attribute_filter is called per channel to decide whether // to record the target attribute on client or to replace it with "other". // This helps reduce the cardinality on metrics in cases where many channels @@ -90,16 +97,6 @@ class CsmObservabilityBuilder { std::unique_ptr builder_; }; -/// Creates an OpenTelemetryPluginOption that would add additional labels on -/// gRPC metrics to enhance observability for CSM users. -/// -/// Sample Usage - -/// OpenTelemetryPluginBuilder() -/// .SetMeterProvider(provider) -/// .AddPluginOption(MakeCsmOpenTelemetryPluginOption()) -/// .BuildAndRegisterGlobal(); -std::unique_ptr MakeCsmOpenTelemetryPluginOption(); - } // namespace experimental } // namespace grpc diff --git a/package.xml b/package.xml index 5b1b5aae823..4b276061aac 100644 --- a/package.xml +++ b/package.xml @@ -103,6 +103,48 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -113,48 +155,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/boringssl/boringssl_prefix_symbols.h b/src/boringssl/boringssl_prefix_symbols.h index fdb81e30c7f..368614cbed7 100644 --- a/src/boringssl/boringssl_prefix_symbols.h +++ b/src/boringssl/boringssl_prefix_symbols.h @@ -1,4 +1,4 @@ -// generated by generate_boringssl_prefix_header.sh on BoringSSL commit: 311e6f6d8e77da1f64c3256b30bd1992a555ce6c +// generated by generate_boringssl_prefix_header.sh on BoringSSL commit: ae72a4514c7afd150596b0a80947f3ca9b8363b5 // Copyright (c) 2018, Google Inc. // @@ -1285,17 +1285,12 @@ #define ChaCha20_ctr32_ssse3_4x BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, ChaCha20_ctr32_ssse3_4x) #define DES_decrypt3 BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, DES_decrypt3) #define DES_ecb3_encrypt BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, DES_ecb3_encrypt) -#define DES_ecb3_encrypt_ex BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, DES_ecb3_encrypt_ex) #define DES_ecb_encrypt BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, DES_ecb_encrypt) -#define DES_ecb_encrypt_ex BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, DES_ecb_encrypt_ex) #define DES_ede2_cbc_encrypt BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, DES_ede2_cbc_encrypt) #define DES_ede3_cbc_encrypt BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, DES_ede3_cbc_encrypt) -#define DES_ede3_cbc_encrypt_ex BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, DES_ede3_cbc_encrypt_ex) #define DES_encrypt3 BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, DES_encrypt3) #define DES_ncbc_encrypt BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, DES_ncbc_encrypt) -#define DES_ncbc_encrypt_ex BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, DES_ncbc_encrypt_ex) #define DES_set_key BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, DES_set_key) -#define DES_set_key_ex BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, DES_set_key_ex) #define DES_set_key_unchecked BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, DES_set_key_unchecked) #define DES_set_odd_parity BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, DES_set_odd_parity) #define DH_bits BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, DH_bits) diff --git a/src/core/ext/filters/client_channel/.clang-format b/src/core/client_channel/.clang-format similarity index 100% rename from src/core/ext/filters/client_channel/.clang-format rename to src/core/client_channel/.clang-format diff --git a/src/core/ext/filters/client_channel/README.md b/src/core/client_channel/README.md similarity index 100% rename from src/core/ext/filters/client_channel/README.md rename to src/core/client_channel/README.md diff --git a/src/core/ext/filters/client_channel/backend_metric.cc b/src/core/client_channel/backend_metric.cc similarity index 98% rename from src/core/ext/filters/client_channel/backend_metric.cc rename to src/core/client_channel/backend_metric.cc index 14f65dd298d..31423662a18 100644 --- a/src/core/ext/filters/client_channel/backend_metric.cc +++ b/src/core/client_channel/backend_metric.cc @@ -16,7 +16,7 @@ #include -#include "src/core/ext/filters/client_channel/backend_metric.h" +#include "src/core/client_channel/backend_metric.h" #include diff --git a/src/core/ext/filters/client_channel/backend_metric.h b/src/core/client_channel/backend_metric.h similarity index 86% rename from src/core/ext/filters/client_channel/backend_metric.h rename to src/core/client_channel/backend_metric.h index e6d12bbd57a..15670c24ca5 100644 --- a/src/core/ext/filters/client_channel/backend_metric.h +++ b/src/core/client_channel/backend_metric.h @@ -14,8 +14,8 @@ // limitations under the License. // -#ifndef GRPC_SRC_CORE_EXT_FILTERS_CLIENT_CHANNEL_BACKEND_METRIC_H -#define GRPC_SRC_CORE_EXT_FILTERS_CLIENT_CHANNEL_BACKEND_METRIC_H +#ifndef GRPC_SRC_CORE_CLIENT_CHANNEL_BACKEND_METRIC_H +#define GRPC_SRC_CORE_CLIENT_CHANNEL_BACKEND_METRIC_H #include @@ -44,4 +44,4 @@ const BackendMetricData* ParseBackendMetricData( } // namespace grpc_core -#endif // GRPC_SRC_CORE_EXT_FILTERS_CLIENT_CHANNEL_BACKEND_METRIC_H +#endif // GRPC_SRC_CORE_CLIENT_CHANNEL_BACKEND_METRIC_H diff --git a/src/core/ext/filters/client_channel/backup_poller.cc b/src/core/client_channel/backup_poller.cc similarity index 98% rename from src/core/ext/filters/client_channel/backup_poller.cc rename to src/core/client_channel/backup_poller.cc index 0aab5985eaa..94adb85d44f 100644 --- a/src/core/ext/filters/client_channel/backup_poller.cc +++ b/src/core/client_channel/backup_poller.cc @@ -18,7 +18,7 @@ #include -#include "src/core/ext/filters/client_channel/backup_poller.h" +#include "src/core/client_channel/backup_poller.h" #include diff --git a/src/core/ext/filters/client_channel/backup_poller.h b/src/core/client_channel/backup_poller.h similarity index 84% rename from src/core/ext/filters/client_channel/backup_poller.h rename to src/core/client_channel/backup_poller.h index e2982bbe3cd..2667e5455c9 100644 --- a/src/core/ext/filters/client_channel/backup_poller.h +++ b/src/core/client_channel/backup_poller.h @@ -16,8 +16,8 @@ // // -#ifndef GRPC_SRC_CORE_EXT_FILTERS_CLIENT_CHANNEL_BACKUP_POLLER_H -#define GRPC_SRC_CORE_EXT_FILTERS_CLIENT_CHANNEL_BACKUP_POLLER_H +#ifndef GRPC_SRC_CORE_CLIENT_CHANNEL_BACKUP_POLLER_H +#define GRPC_SRC_CORE_CLIENT_CHANNEL_BACKUP_POLLER_H #include @@ -34,4 +34,4 @@ void grpc_client_channel_start_backup_polling( void grpc_client_channel_stop_backup_polling( grpc_pollset_set* interested_parties); -#endif // GRPC_SRC_CORE_EXT_FILTERS_CLIENT_CHANNEL_BACKUP_POLLER_H +#endif // GRPC_SRC_CORE_CLIENT_CHANNEL_BACKUP_POLLER_H diff --git a/src/core/ext/filters/client_channel/channel_connectivity.cc b/src/core/client_channel/channel_connectivity.cc similarity index 99% rename from src/core/ext/filters/client_channel/channel_connectivity.cc rename to src/core/client_channel/channel_connectivity.cc index 8795a1faae3..5ae94d612a5 100644 --- a/src/core/ext/filters/client_channel/channel_connectivity.cc +++ b/src/core/client_channel/channel_connectivity.cc @@ -28,7 +28,7 @@ #include #include -#include "src/core/ext/filters/client_channel/client_channel.h" +#include "src/core/client_channel/client_channel_filter.h" #include "src/core/lib/channel/channel_fwd.h" #include "src/core/lib/channel/channel_stack.h" #include "src/core/lib/debug/trace.h" diff --git a/src/core/ext/filters/client_channel/client_channel_channelz.cc b/src/core/client_channel/client_channel_channelz.cc similarity index 97% rename from src/core/ext/filters/client_channel/client_channel_channelz.cc rename to src/core/client_channel/client_channel_channelz.cc index de36ab1a032..29be8b0a29b 100644 --- a/src/core/ext/filters/client_channel/client_channel_channelz.cc +++ b/src/core/client_channel/client_channel_channelz.cc @@ -18,7 +18,7 @@ #include -#include "src/core/ext/filters/client_channel/client_channel_channelz.h" +#include "src/core/client_channel/client_channel_channelz.h" #include "absl/strings/str_cat.h" diff --git a/src/core/ext/filters/client_channel/client_channel_channelz.h b/src/core/client_channel/client_channel_channelz.h similarity index 92% rename from src/core/ext/filters/client_channel/client_channel_channelz.h rename to src/core/client_channel/client_channel_channelz.h index 867e086ab1c..d9601c118ee 100644 --- a/src/core/ext/filters/client_channel/client_channel_channelz.h +++ b/src/core/client_channel/client_channel_channelz.h @@ -16,8 +16,8 @@ // // -#ifndef GRPC_SRC_CORE_EXT_FILTERS_CLIENT_CHANNEL_CLIENT_CHANNEL_CHANNELZ_H -#define GRPC_SRC_CORE_EXT_FILTERS_CLIENT_CHANNEL_CLIENT_CHANNEL_CHANNELZ_H +#ifndef GRPC_SRC_CORE_CLIENT_CHANNEL_CLIENT_CHANNEL_CHANNELZ_H +#define GRPC_SRC_CORE_CLIENT_CHANNEL_CLIENT_CHANNEL_CHANNELZ_H #include @@ -82,4 +82,4 @@ class SubchannelNode : public BaseNode { } // namespace channelz } // namespace grpc_core -#endif // GRPC_SRC_CORE_EXT_FILTERS_CLIENT_CHANNEL_CLIENT_CHANNEL_CHANNELZ_H +#endif // GRPC_SRC_CORE_CLIENT_CHANNEL_CLIENT_CHANNEL_CHANNELZ_H diff --git a/src/core/ext/filters/client_channel/client_channel_factory.cc b/src/core/client_channel/client_channel_factory.cc similarity index 92% rename from src/core/ext/filters/client_channel/client_channel_factory.cc rename to src/core/client_channel/client_channel_factory.cc index 45804e7db26..39b5c20e97e 100644 --- a/src/core/ext/filters/client_channel/client_channel_factory.cc +++ b/src/core/client_channel/client_channel_factory.cc @@ -18,7 +18,7 @@ #include -#include "src/core/ext/filters/client_channel/client_channel_factory.h" +#include "src/core/client_channel/client_channel_factory.h" // Channel arg key for client channel factory. #define GRPC_ARG_CLIENT_CHANNEL_FACTORY "grpc.client_channel_factory" diff --git a/src/core/ext/filters/client_channel/client_channel_factory.h b/src/core/client_channel/client_channel_factory.h similarity index 81% rename from src/core/ext/filters/client_channel/client_channel_factory.h rename to src/core/client_channel/client_channel_factory.h index 35133f60ab4..e72f9923dd1 100644 --- a/src/core/ext/filters/client_channel/client_channel_factory.h +++ b/src/core/client_channel/client_channel_factory.h @@ -14,14 +14,14 @@ // limitations under the License. // -#ifndef GRPC_SRC_CORE_EXT_FILTERS_CLIENT_CHANNEL_CLIENT_CHANNEL_FACTORY_H -#define GRPC_SRC_CORE_EXT_FILTERS_CLIENT_CHANNEL_CLIENT_CHANNEL_FACTORY_H +#ifndef GRPC_SRC_CORE_CLIENT_CHANNEL_CLIENT_CHANNEL_FACTORY_H +#define GRPC_SRC_CORE_CLIENT_CHANNEL_CLIENT_CHANNEL_FACTORY_H #include #include "absl/strings/string_view.h" -#include "src/core/ext/filters/client_channel/subchannel.h" +#include "src/core/client_channel/subchannel.h" #include "src/core/lib/channel/channel_args.h" #include "src/core/lib/gprpp/ref_counted_ptr.h" #include "src/core/lib/iomgr/resolved_address.h" @@ -43,4 +43,4 @@ class ClientChannelFactory { } // namespace grpc_core -#endif // GRPC_SRC_CORE_EXT_FILTERS_CLIENT_CHANNEL_CLIENT_CHANNEL_FACTORY_H +#endif // GRPC_SRC_CORE_CLIENT_CHANNEL_CLIENT_CHANNEL_FACTORY_H diff --git a/src/core/ext/filters/client_channel/client_channel.cc b/src/core/client_channel/client_channel_filter.cc similarity index 99% rename from src/core/ext/filters/client_channel/client_channel.cc rename to src/core/client_channel/client_channel_filter.cc index 8fc6976560d..f54758aa490 100644 --- a/src/core/ext/filters/client_channel/client_channel.cc +++ b/src/core/client_channel/client_channel_filter.cc @@ -16,7 +16,7 @@ #include -#include "src/core/ext/filters/client_channel/client_channel.h" +#include "src/core/client_channel/client_channel_filter.h" #include #include @@ -49,18 +49,18 @@ #include #include -#include "src/core/ext/filters/client_channel/backend_metric.h" -#include "src/core/ext/filters/client_channel/backup_poller.h" -#include "src/core/ext/filters/client_channel/client_channel_channelz.h" -#include "src/core/ext/filters/client_channel/client_channel_internal.h" -#include "src/core/ext/filters/client_channel/client_channel_service_config.h" -#include "src/core/ext/filters/client_channel/config_selector.h" -#include "src/core/ext/filters/client_channel/dynamic_filters.h" -#include "src/core/ext/filters/client_channel/global_subchannel_pool.h" -#include "src/core/ext/filters/client_channel/local_subchannel_pool.h" -#include "src/core/ext/filters/client_channel/retry_filter.h" -#include "src/core/ext/filters/client_channel/subchannel.h" -#include "src/core/ext/filters/client_channel/subchannel_interface_internal.h" +#include "src/core/client_channel/backend_metric.h" +#include "src/core/client_channel/backup_poller.h" +#include "src/core/client_channel/client_channel_channelz.h" +#include "src/core/client_channel/client_channel_internal.h" +#include "src/core/client_channel/client_channel_service_config.h" +#include "src/core/client_channel/config_selector.h" +#include "src/core/client_channel/dynamic_filters.h" +#include "src/core/client_channel/global_subchannel_pool.h" +#include "src/core/client_channel/local_subchannel_pool.h" +#include "src/core/client_channel/retry_filter.h" +#include "src/core/client_channel/subchannel.h" +#include "src/core/client_channel/subchannel_interface_internal.h" #include "src/core/ext/filters/deadline/deadline_filter.h" #include "src/core/lib/channel/channel_args.h" #include "src/core/lib/channel/channel_stack.h" diff --git a/src/core/ext/filters/client_channel/client_channel.h b/src/core/client_channel/client_channel_filter.h similarity index 97% rename from src/core/ext/filters/client_channel/client_channel.h rename to src/core/client_channel/client_channel_filter.h index 6e9cec84b4f..d57c711e7db 100644 --- a/src/core/ext/filters/client_channel/client_channel.h +++ b/src/core/client_channel/client_channel_filter.h @@ -14,8 +14,8 @@ // limitations under the License. // -#ifndef GRPC_SRC_CORE_EXT_FILTERS_CLIENT_CHANNEL_CLIENT_CHANNEL_H -#define GRPC_SRC_CORE_EXT_FILTERS_CLIENT_CHANNEL_CLIENT_CHANNEL_H +#ifndef GRPC_SRC_CORE_CLIENT_CHANNEL_CLIENT_CHANNEL_FILTER_H +#define GRPC_SRC_CORE_CLIENT_CHANNEL_CLIENT_CHANNEL_FILTER_H #include @@ -37,11 +37,11 @@ #include #include -#include "src/core/ext/filters/client_channel/client_channel_factory.h" -#include "src/core/ext/filters/client_channel/config_selector.h" -#include "src/core/ext/filters/client_channel/dynamic_filters.h" -#include "src/core/ext/filters/client_channel/subchannel.h" -#include "src/core/ext/filters/client_channel/subchannel_pool_interface.h" +#include "src/core/client_channel/client_channel_factory.h" +#include "src/core/client_channel/config_selector.h" +#include "src/core/client_channel/dynamic_filters.h" +#include "src/core/client_channel/subchannel.h" +#include "src/core/client_channel/subchannel_pool_interface.h" #include "src/core/lib/channel/call_tracer.h" #include "src/core/lib/channel/channel_args.h" #include "src/core/lib/channel/channel_fwd.h" @@ -628,4 +628,4 @@ class ClientChannelFilter::PromiseBasedLoadBalancedCall } // namespace grpc_core -#endif // GRPC_SRC_CORE_EXT_FILTERS_CLIENT_CHANNEL_CLIENT_CHANNEL_H +#endif // GRPC_SRC_CORE_CLIENT_CHANNEL_CLIENT_CHANNEL_FILTER_H diff --git a/src/core/ext/filters/client_channel/client_channel_internal.h b/src/core/client_channel/client_channel_internal.h similarity index 91% rename from src/core/ext/filters/client_channel/client_channel_internal.h rename to src/core/client_channel/client_channel_internal.h index 2559068b56b..33590550130 100644 --- a/src/core/ext/filters/client_channel/client_channel_internal.h +++ b/src/core/client_channel/client_channel_internal.h @@ -14,8 +14,8 @@ // limitations under the License. // -#ifndef GRPC_SRC_CORE_EXT_FILTERS_CLIENT_CHANNEL_CLIENT_CHANNEL_INTERNAL_H -#define GRPC_SRC_CORE_EXT_FILTERS_CLIENT_CHANNEL_CLIENT_CHANNEL_INTERNAL_H +#ifndef GRPC_SRC_CORE_CLIENT_CHANNEL_CLIENT_CHANNEL_INTERNAL_H +#define GRPC_SRC_CORE_CLIENT_CHANNEL_CLIENT_CHANNEL_INTERNAL_H #include @@ -76,4 +76,4 @@ class ClientChannelServiceConfigCallData : public ServiceConfigCallData { } // namespace grpc_core -#endif // GRPC_SRC_CORE_EXT_FILTERS_CLIENT_CHANNEL_CLIENT_CHANNEL_INTERNAL_H +#endif // GRPC_SRC_CORE_CLIENT_CHANNEL_CLIENT_CHANNEL_INTERNAL_H diff --git a/src/core/ext/filters/client_channel/client_channel_plugin.cc b/src/core/client_channel/client_channel_plugin.cc similarity index 89% rename from src/core/ext/filters/client_channel/client_channel_plugin.cc rename to src/core/client_channel/client_channel_plugin.cc index 3dc57fe3e04..2aa115f579c 100644 --- a/src/core/ext/filters/client_channel/client_channel_plugin.cc +++ b/src/core/client_channel/client_channel_plugin.cc @@ -22,9 +22,9 @@ #include -#include "src/core/ext/filters/client_channel/client_channel.h" -#include "src/core/ext/filters/client_channel/client_channel_service_config.h" -#include "src/core/ext/filters/client_channel/retry_service_config.h" +#include "src/core/client_channel/client_channel_filter.h" +#include "src/core/client_channel/client_channel_service_config.h" +#include "src/core/client_channel/retry_service_config.h" #include "src/core/lib/channel/channel_args.h" #include "src/core/lib/config/core_configuration.h" #include "src/core/lib/surface/channel_stack_type.h" diff --git a/src/core/ext/filters/client_channel/client_channel_service_config.cc b/src/core/client_channel/client_channel_service_config.cc similarity index 98% rename from src/core/ext/filters/client_channel/client_channel_service_config.cc rename to src/core/client_channel/client_channel_service_config.cc index 62a606775c2..af08f54a956 100644 --- a/src/core/ext/filters/client_channel/client_channel_service_config.cc +++ b/src/core/client_channel/client_channel_service_config.cc @@ -16,7 +16,7 @@ #include -#include "src/core/ext/filters/client_channel/client_channel_service_config.h" +#include "src/core/client_channel/client_channel_service_config.h" #include #include diff --git a/src/core/ext/filters/client_channel/client_channel_service_config.h b/src/core/client_channel/client_channel_service_config.h similarity index 93% rename from src/core/ext/filters/client_channel/client_channel_service_config.h rename to src/core/client_channel/client_channel_service_config.h index 74a8a770292..7bbcf772a2f 100644 --- a/src/core/ext/filters/client_channel/client_channel_service_config.h +++ b/src/core/client_channel/client_channel_service_config.h @@ -14,8 +14,8 @@ // limitations under the License. // -#ifndef GRPC_SRC_CORE_EXT_FILTERS_CLIENT_CHANNEL_CLIENT_CHANNEL_SERVICE_CONFIG_H -#define GRPC_SRC_CORE_EXT_FILTERS_CLIENT_CHANNEL_CLIENT_CHANNEL_SERVICE_CONFIG_H +#ifndef GRPC_SRC_CORE_CLIENT_CHANNEL_CLIENT_CHANNEL_SERVICE_CONFIG_H +#define GRPC_SRC_CORE_CLIENT_CHANNEL_CLIENT_CHANNEL_SERVICE_CONFIG_H #include @@ -108,4 +108,4 @@ class ClientChannelServiceConfigParser : public ServiceConfigParser::Parser { } // namespace internal } // namespace grpc_core -#endif // GRPC_SRC_CORE_EXT_FILTERS_CLIENT_CHANNEL_CLIENT_CHANNEL_SERVICE_CONFIG_H +#endif // GRPC_SRC_CORE_CLIENT_CHANNEL_CLIENT_CHANNEL_SERVICE_CONFIG_H diff --git a/src/core/ext/filters/client_channel/config_selector.cc b/src/core/client_channel/config_selector.cc similarity index 96% rename from src/core/ext/filters/client_channel/config_selector.cc rename to src/core/client_channel/config_selector.cc index cab51937d02..2cba7a1a215 100644 --- a/src/core/ext/filters/client_channel/config_selector.cc +++ b/src/core/client_channel/config_selector.cc @@ -16,7 +16,7 @@ #include -#include "src/core/ext/filters/client_channel/config_selector.h" +#include "src/core/client_channel/config_selector.h" #include "src/core/lib/channel/channel_args.h" #include "src/core/lib/gpr/useful.h" diff --git a/src/core/ext/filters/client_channel/config_selector.h b/src/core/client_channel/config_selector.h similarity index 93% rename from src/core/ext/filters/client_channel/config_selector.h rename to src/core/client_channel/config_selector.h index 620237a4a5d..265a1d01d32 100644 --- a/src/core/ext/filters/client_channel/config_selector.h +++ b/src/core/client_channel/config_selector.h @@ -14,8 +14,8 @@ // limitations under the License. // -#ifndef GRPC_SRC_CORE_EXT_FILTERS_CLIENT_CHANNEL_CONFIG_SELECTOR_H -#define GRPC_SRC_CORE_EXT_FILTERS_CLIENT_CHANNEL_CONFIG_SELECTOR_H +#ifndef GRPC_SRC_CORE_CLIENT_CHANNEL_CONFIG_SELECTOR_H +#define GRPC_SRC_CORE_CLIENT_CHANNEL_CONFIG_SELECTOR_H #include @@ -30,7 +30,7 @@ #include #include -#include "src/core/ext/filters/client_channel/client_channel_internal.h" +#include "src/core/client_channel/client_channel_internal.h" #include "src/core/lib/channel/channel_fwd.h" #include "src/core/lib/gpr/useful.h" #include "src/core/lib/gprpp/ref_counted.h" @@ -122,4 +122,4 @@ class DefaultConfigSelector : public ConfigSelector { } // namespace grpc_core -#endif // GRPC_SRC_CORE_EXT_FILTERS_CLIENT_CHANNEL_CONFIG_SELECTOR_H +#endif // GRPC_SRC_CORE_CLIENT_CHANNEL_CONFIG_SELECTOR_H diff --git a/src/core/ext/filters/client_channel/connector.h b/src/core/client_channel/connector.h similarity index 93% rename from src/core/ext/filters/client_channel/connector.h rename to src/core/client_channel/connector.h index a1346c5d856..7b1e73f63fb 100644 --- a/src/core/ext/filters/client_channel/connector.h +++ b/src/core/client_channel/connector.h @@ -14,8 +14,8 @@ // limitations under the License. // -#ifndef GRPC_SRC_CORE_EXT_FILTERS_CLIENT_CHANNEL_CONNECTOR_H -#define GRPC_SRC_CORE_EXT_FILTERS_CLIENT_CHANNEL_CONNECTOR_H +#ifndef GRPC_SRC_CORE_CLIENT_CHANNEL_CONNECTOR_H +#define GRPC_SRC_CORE_CLIENT_CHANNEL_CONNECTOR_H #include @@ -84,4 +84,4 @@ class SubchannelConnector : public InternallyRefCounted { } // namespace grpc_core -#endif // GRPC_SRC_CORE_EXT_FILTERS_CLIENT_CHANNEL_CONNECTOR_H +#endif // GRPC_SRC_CORE_CLIENT_CHANNEL_CONNECTOR_H diff --git a/src/core/ext/filters/client_channel/dynamic_filters.cc b/src/core/client_channel/dynamic_filters.cc similarity index 98% rename from src/core/ext/filters/client_channel/dynamic_filters.cc rename to src/core/client_channel/dynamic_filters.cc index 7572bb05221..3d035bbf20b 100644 --- a/src/core/ext/filters/client_channel/dynamic_filters.cc +++ b/src/core/client_channel/dynamic_filters.cc @@ -16,7 +16,7 @@ #include -#include "src/core/ext/filters/client_channel/dynamic_filters.h" +#include "src/core/client_channel/dynamic_filters.h" #include diff --git a/src/core/ext/filters/client_channel/dynamic_filters.h b/src/core/client_channel/dynamic_filters.h similarity index 94% rename from src/core/ext/filters/client_channel/dynamic_filters.h rename to src/core/client_channel/dynamic_filters.h index 9944c10f0b9..641be64fc41 100644 --- a/src/core/ext/filters/client_channel/dynamic_filters.h +++ b/src/core/client_channel/dynamic_filters.h @@ -14,8 +14,8 @@ // limitations under the License. // -#ifndef GRPC_SRC_CORE_EXT_FILTERS_CLIENT_CHANNEL_DYNAMIC_FILTERS_H -#define GRPC_SRC_CORE_EXT_FILTERS_CLIENT_CHANNEL_DYNAMIC_FILTERS_H +#ifndef GRPC_SRC_CORE_CLIENT_CHANNEL_DYNAMIC_FILTERS_H +#define GRPC_SRC_CORE_CLIENT_CHANNEL_DYNAMIC_FILTERS_H #include @@ -107,4 +107,4 @@ class DynamicFilters : public RefCounted { } // namespace grpc_core -#endif // GRPC_SRC_CORE_EXT_FILTERS_CLIENT_CHANNEL_DYNAMIC_FILTERS_H +#endif // GRPC_SRC_CORE_CLIENT_CHANNEL_DYNAMIC_FILTERS_H diff --git a/src/core/ext/filters/client_channel/global_subchannel_pool.cc b/src/core/client_channel/global_subchannel_pool.cc similarity index 93% rename from src/core/ext/filters/client_channel/global_subchannel_pool.cc rename to src/core/client_channel/global_subchannel_pool.cc index 2b3bc02e0bd..2f3ecf9faeb 100644 --- a/src/core/ext/filters/client_channel/global_subchannel_pool.cc +++ b/src/core/client_channel/global_subchannel_pool.cc @@ -18,11 +18,11 @@ #include -#include "src/core/ext/filters/client_channel/global_subchannel_pool.h" +#include "src/core/client_channel/global_subchannel_pool.h" #include -#include "src/core/ext/filters/client_channel/subchannel.h" +#include "src/core/client_channel/subchannel.h" namespace grpc_core { diff --git a/src/core/ext/filters/client_channel/global_subchannel_pool.h b/src/core/client_channel/global_subchannel_pool.h similarity index 85% rename from src/core/ext/filters/client_channel/global_subchannel_pool.h rename to src/core/client_channel/global_subchannel_pool.h index 1d80c71b712..bad648a595d 100644 --- a/src/core/ext/filters/client_channel/global_subchannel_pool.h +++ b/src/core/client_channel/global_subchannel_pool.h @@ -16,8 +16,8 @@ // // -#ifndef GRPC_SRC_CORE_EXT_FILTERS_CLIENT_CHANNEL_GLOBAL_SUBCHANNEL_POOL_H -#define GRPC_SRC_CORE_EXT_FILTERS_CLIENT_CHANNEL_GLOBAL_SUBCHANNEL_POOL_H +#ifndef GRPC_SRC_CORE_CLIENT_CHANNEL_GLOBAL_SUBCHANNEL_POOL_H +#define GRPC_SRC_CORE_CLIENT_CHANNEL_GLOBAL_SUBCHANNEL_POOL_H #include @@ -25,7 +25,7 @@ #include "absl/base/thread_annotations.h" -#include "src/core/ext/filters/client_channel/subchannel_pool_interface.h" +#include "src/core/client_channel/subchannel_pool_interface.h" #include "src/core/lib/gprpp/ref_counted_ptr.h" #include "src/core/lib/gprpp/sync.h" @@ -60,4 +60,4 @@ class GlobalSubchannelPool final : public SubchannelPoolInterface { } // namespace grpc_core -#endif // GRPC_SRC_CORE_EXT_FILTERS_CLIENT_CHANNEL_GLOBAL_SUBCHANNEL_POOL_H +#endif // GRPC_SRC_CORE_CLIENT_CHANNEL_GLOBAL_SUBCHANNEL_POOL_H diff --git a/src/core/ext/filters/client_channel/http_proxy_mapper.cc b/src/core/client_channel/http_proxy_mapper.cc similarity index 99% rename from src/core/ext/filters/client_channel/http_proxy_mapper.cc rename to src/core/client_channel/http_proxy_mapper.cc index 787b6b03591..da59b76c10e 100644 --- a/src/core/ext/filters/client_channel/http_proxy_mapper.cc +++ b/src/core/client_channel/http_proxy_mapper.cc @@ -18,7 +18,7 @@ #include -#include "src/core/ext/filters/client_channel/http_proxy_mapper.h" +#include "src/core/client_channel/http_proxy_mapper.h" #include #include diff --git a/src/core/ext/filters/client_channel/http_proxy_mapper.h b/src/core/client_channel/http_proxy_mapper.h similarity index 88% rename from src/core/ext/filters/client_channel/http_proxy_mapper.h rename to src/core/client_channel/http_proxy_mapper.h index 446fca98d8a..bed8ab650e0 100644 --- a/src/core/ext/filters/client_channel/http_proxy_mapper.h +++ b/src/core/client_channel/http_proxy_mapper.h @@ -16,8 +16,8 @@ // // -#ifndef GRPC_SRC_CORE_EXT_FILTERS_CLIENT_CHANNEL_HTTP_PROXY_MAPPER_H -#define GRPC_SRC_CORE_EXT_FILTERS_CLIENT_CHANNEL_HTTP_PROXY_MAPPER_H +#ifndef GRPC_SRC_CORE_CLIENT_CHANNEL_HTTP_PROXY_MAPPER_H +#define GRPC_SRC_CORE_CLIENT_CHANNEL_HTTP_PROXY_MAPPER_H #include @@ -50,4 +50,4 @@ void RegisterHttpProxyMapper(CoreConfiguration::Builder* builder); } // namespace grpc_core -#endif // GRPC_SRC_CORE_EXT_FILTERS_CLIENT_CHANNEL_HTTP_PROXY_MAPPER_H +#endif // GRPC_SRC_CORE_CLIENT_CHANNEL_HTTP_PROXY_MAPPER_H diff --git a/src/core/ext/filters/client_channel/local_subchannel_pool.cc b/src/core/client_channel/local_subchannel_pool.cc similarity index 93% rename from src/core/ext/filters/client_channel/local_subchannel_pool.cc rename to src/core/client_channel/local_subchannel_pool.cc index 53045b187c3..2297fb365ff 100644 --- a/src/core/ext/filters/client_channel/local_subchannel_pool.cc +++ b/src/core/client_channel/local_subchannel_pool.cc @@ -18,13 +18,13 @@ #include -#include "src/core/ext/filters/client_channel/local_subchannel_pool.h" +#include "src/core/client_channel/local_subchannel_pool.h" #include #include -#include "src/core/ext/filters/client_channel/subchannel.h" +#include "src/core/client_channel/subchannel.h" namespace grpc_core { diff --git a/src/core/ext/filters/client_channel/local_subchannel_pool.h b/src/core/client_channel/local_subchannel_pool.h similarity index 86% rename from src/core/ext/filters/client_channel/local_subchannel_pool.h rename to src/core/client_channel/local_subchannel_pool.h index cf0c109d038..5e4cce51b28 100644 --- a/src/core/ext/filters/client_channel/local_subchannel_pool.h +++ b/src/core/client_channel/local_subchannel_pool.h @@ -16,14 +16,14 @@ // // -#ifndef GRPC_SRC_CORE_EXT_FILTERS_CLIENT_CHANNEL_LOCAL_SUBCHANNEL_POOL_H -#define GRPC_SRC_CORE_EXT_FILTERS_CLIENT_CHANNEL_LOCAL_SUBCHANNEL_POOL_H +#ifndef GRPC_SRC_CORE_CLIENT_CHANNEL_LOCAL_SUBCHANNEL_POOL_H +#define GRPC_SRC_CORE_CLIENT_CHANNEL_LOCAL_SUBCHANNEL_POOL_H #include #include -#include "src/core/ext/filters/client_channel/subchannel_pool_interface.h" +#include "src/core/client_channel/subchannel_pool_interface.h" #include "src/core/lib/gprpp/ref_counted_ptr.h" namespace grpc_core { @@ -56,4 +56,4 @@ class LocalSubchannelPool final : public SubchannelPoolInterface { } // namespace grpc_core -#endif // GRPC_SRC_CORE_EXT_FILTERS_CLIENT_CHANNEL_LOCAL_SUBCHANNEL_POOL_H +#endif // GRPC_SRC_CORE_CLIENT_CHANNEL_LOCAL_SUBCHANNEL_POOL_H diff --git a/src/core/ext/filters/client_channel/retry_filter.cc b/src/core/client_channel/retry_filter.cc similarity index 94% rename from src/core/ext/filters/client_channel/retry_filter.cc rename to src/core/client_channel/retry_filter.cc index b48bc0b3d9d..d328ad00f53 100644 --- a/src/core/ext/filters/client_channel/retry_filter.cc +++ b/src/core/client_channel/retry_filter.cc @@ -16,7 +16,7 @@ #include -#include "src/core/ext/filters/client_channel/retry_filter.h" +#include "src/core/client_channel/retry_filter.h" #include @@ -26,10 +26,10 @@ #include -#include "src/core/ext/filters/client_channel/client_channel.h" -#include "src/core/ext/filters/client_channel/retry_filter_legacy_call_data.h" -#include "src/core/ext/filters/client_channel/retry_service_config.h" -#include "src/core/ext/filters/client_channel/retry_throttle.h" +#include "src/core/client_channel/client_channel_filter.h" +#include "src/core/client_channel/retry_filter_legacy_call_data.h" +#include "src/core/client_channel/retry_service_config.h" +#include "src/core/client_channel/retry_throttle.h" #include "src/core/lib/channel/channel_args.h" #include "src/core/lib/channel/channel_stack.h" #include "src/core/lib/debug/trace.h" diff --git a/src/core/ext/filters/client_channel/retry_filter.h b/src/core/client_channel/retry_filter.h similarity index 90% rename from src/core/ext/filters/client_channel/retry_filter.h rename to src/core/client_channel/retry_filter.h index 189b3eac874..bb11badcc78 100644 --- a/src/core/ext/filters/client_channel/retry_filter.h +++ b/src/core/client_channel/retry_filter.h @@ -14,8 +14,8 @@ // limitations under the License. // -#ifndef GRPC_SRC_CORE_EXT_FILTERS_CLIENT_CHANNEL_RETRY_FILTER_H -#define GRPC_SRC_CORE_EXT_FILTERS_CLIENT_CHANNEL_RETRY_FILTER_H +#ifndef GRPC_SRC_CORE_CLIENT_CHANNEL_RETRY_FILTER_H +#define GRPC_SRC_CORE_CLIENT_CHANNEL_RETRY_FILTER_H #include @@ -31,9 +31,9 @@ #include #include -#include "src/core/ext/filters/client_channel/client_channel.h" -#include "src/core/ext/filters/client_channel/retry_service_config.h" -#include "src/core/ext/filters/client_channel/retry_throttle.h" +#include "src/core/client_channel/client_channel_filter.h" +#include "src/core/client_channel/retry_service_config.h" +#include "src/core/client_channel/retry_throttle.h" #include "src/core/lib/channel/channel_args.h" #include "src/core/lib/channel/channel_fwd.h" #include "src/core/lib/channel/channel_stack.h" @@ -119,4 +119,4 @@ class RetryFilter { } // namespace grpc_core -#endif // GRPC_SRC_CORE_EXT_FILTERS_CLIENT_CHANNEL_RETRY_FILTER_H +#endif // GRPC_SRC_CORE_CLIENT_CHANNEL_RETRY_FILTER_H diff --git a/src/core/ext/filters/client_channel/retry_filter_legacy_call_data.cc b/src/core/client_channel/retry_filter_legacy_call_data.cc similarity index 99% rename from src/core/ext/filters/client_channel/retry_filter_legacy_call_data.cc rename to src/core/client_channel/retry_filter_legacy_call_data.cc index 6f1d4ffd184..a4bb16ace9f 100644 --- a/src/core/ext/filters/client_channel/retry_filter_legacy_call_data.cc +++ b/src/core/client_channel/retry_filter_legacy_call_data.cc @@ -14,7 +14,7 @@ #include -#include "src/core/ext/filters/client_channel/retry_filter_legacy_call_data.h" +#include "src/core/client_channel/retry_filter_legacy_call_data.h" #include @@ -26,9 +26,9 @@ #include -#include "src/core/ext/filters/client_channel/client_channel_internal.h" -#include "src/core/ext/filters/client_channel/retry_service_config.h" -#include "src/core/ext/filters/client_channel/retry_throttle.h" +#include "src/core/client_channel/client_channel_internal.h" +#include "src/core/client_channel/retry_service_config.h" +#include "src/core/client_channel/retry_throttle.h" #include "src/core/lib/backoff/backoff.h" #include "src/core/lib/channel/channel_stack.h" #include "src/core/lib/channel/context.h" diff --git a/src/core/ext/filters/client_channel/retry_filter_legacy_call_data.h b/src/core/client_channel/retry_filter_legacy_call_data.h similarity index 97% rename from src/core/ext/filters/client_channel/retry_filter_legacy_call_data.h rename to src/core/client_channel/retry_filter_legacy_call_data.h index 1e5ec3253fc..8d45393f48b 100644 --- a/src/core/ext/filters/client_channel/retry_filter_legacy_call_data.h +++ b/src/core/client_channel/retry_filter_legacy_call_data.h @@ -12,8 +12,8 @@ // See the License for the specific language governing permissions and // limitations under the License. -#ifndef GRPC_SRC_CORE_EXT_FILTERS_CLIENT_CHANNEL_RETRY_FILTER_LEGACY_CALL_DATA_H -#define GRPC_SRC_CORE_EXT_FILTERS_CLIENT_CHANNEL_RETRY_FILTER_LEGACY_CALL_DATA_H +#ifndef GRPC_SRC_CORE_CLIENT_CHANNEL_RETRY_FILTER_LEGACY_CALL_DATA_H +#define GRPC_SRC_CORE_CLIENT_CHANNEL_RETRY_FILTER_LEGACY_CALL_DATA_H #include @@ -30,10 +30,10 @@ #include #include -#include "src/core/ext/filters/client_channel/client_channel.h" -#include "src/core/ext/filters/client_channel/retry_filter.h" -#include "src/core/ext/filters/client_channel/retry_service_config.h" -#include "src/core/ext/filters/client_channel/retry_throttle.h" +#include "src/core/client_channel/client_channel_filter.h" +#include "src/core/client_channel/retry_filter.h" +#include "src/core/client_channel/retry_service_config.h" +#include "src/core/client_channel/retry_throttle.h" #include "src/core/lib/backoff/backoff.h" #include "src/core/lib/channel/channel_fwd.h" #include "src/core/lib/channel/channel_stack.h" @@ -440,4 +440,4 @@ class RetryFilter::LegacyCallData { } // namespace grpc_core -#endif // GRPC_SRC_CORE_EXT_FILTERS_CLIENT_CHANNEL_RETRY_FILTER_LEGACY_CALL_DATA_H +#endif // GRPC_SRC_CORE_CLIENT_CHANNEL_RETRY_FILTER_LEGACY_CALL_DATA_H diff --git a/src/core/ext/filters/client_channel/retry_service_config.cc b/src/core/client_channel/retry_service_config.cc similarity index 99% rename from src/core/ext/filters/client_channel/retry_service_config.cc rename to src/core/client_channel/retry_service_config.cc index db8ee915791..dd228d5f4f0 100644 --- a/src/core/ext/filters/client_channel/retry_service_config.cc +++ b/src/core/client_channel/retry_service_config.cc @@ -16,7 +16,7 @@ #include -#include "src/core/ext/filters/client_channel/retry_service_config.h" +#include "src/core/client_channel/retry_service_config.h" #include #include diff --git a/src/core/ext/filters/client_channel/retry_service_config.h b/src/core/client_channel/retry_service_config.h similarity index 93% rename from src/core/ext/filters/client_channel/retry_service_config.h rename to src/core/client_channel/retry_service_config.h index f5bddc56509..92f0272a28b 100644 --- a/src/core/ext/filters/client_channel/retry_service_config.h +++ b/src/core/client_channel/retry_service_config.h @@ -14,8 +14,8 @@ // limitations under the License. // -#ifndef GRPC_SRC_CORE_EXT_FILTERS_CLIENT_CHANNEL_RETRY_SERVICE_CONFIG_H -#define GRPC_SRC_CORE_EXT_FILTERS_CLIENT_CHANNEL_RETRY_SERVICE_CONFIG_H +#ifndef GRPC_SRC_CORE_CLIENT_CHANNEL_RETRY_SERVICE_CONFIG_H +#define GRPC_SRC_CORE_CLIENT_CHANNEL_RETRY_SERVICE_CONFIG_H #include @@ -102,4 +102,4 @@ class RetryServiceConfigParser : public ServiceConfigParser::Parser { } // namespace internal } // namespace grpc_core -#endif // GRPC_SRC_CORE_EXT_FILTERS_CLIENT_CHANNEL_RETRY_SERVICE_CONFIG_H +#endif // GRPC_SRC_CORE_CLIENT_CHANNEL_RETRY_SERVICE_CONFIG_H diff --git a/src/core/ext/filters/client_channel/retry_throttle.cc b/src/core/client_channel/retry_throttle.cc similarity index 98% rename from src/core/ext/filters/client_channel/retry_throttle.cc rename to src/core/client_channel/retry_throttle.cc index 91403843e41..c9671832309 100644 --- a/src/core/ext/filters/client_channel/retry_throttle.cc +++ b/src/core/client_channel/retry_throttle.cc @@ -18,7 +18,7 @@ #include -#include "src/core/ext/filters/client_channel/retry_throttle.h" +#include "src/core/client_channel/retry_throttle.h" #include #include diff --git a/src/core/ext/filters/client_channel/retry_throttle.h b/src/core/client_channel/retry_throttle.h similarity index 92% rename from src/core/ext/filters/client_channel/retry_throttle.h rename to src/core/client_channel/retry_throttle.h index 90c1e6f44e4..2c7c9f78504 100644 --- a/src/core/ext/filters/client_channel/retry_throttle.h +++ b/src/core/client_channel/retry_throttle.h @@ -16,8 +16,8 @@ // // -#ifndef GRPC_SRC_CORE_EXT_FILTERS_CLIENT_CHANNEL_RETRY_THROTTLE_H -#define GRPC_SRC_CORE_EXT_FILTERS_CLIENT_CHANNEL_RETRY_THROTTLE_H +#ifndef GRPC_SRC_CORE_CLIENT_CHANNEL_RETRY_THROTTLE_H +#define GRPC_SRC_CORE_CLIENT_CHANNEL_RETRY_THROTTLE_H #include @@ -89,4 +89,4 @@ class ServerRetryThrottleMap { } // namespace internal } // namespace grpc_core -#endif // GRPC_SRC_CORE_EXT_FILTERS_CLIENT_CHANNEL_RETRY_THROTTLE_H +#endif // GRPC_SRC_CORE_CLIENT_CHANNEL_RETRY_THROTTLE_H diff --git a/src/core/ext/filters/client_channel/service_config_channel_arg_filter.cc b/src/core/client_channel/service_config_channel_arg_filter.cc similarity index 100% rename from src/core/ext/filters/client_channel/service_config_channel_arg_filter.cc rename to src/core/client_channel/service_config_channel_arg_filter.cc diff --git a/src/core/ext/filters/client_channel/subchannel.cc b/src/core/client_channel/subchannel.cc similarity index 99% rename from src/core/ext/filters/client_channel/subchannel.cc rename to src/core/client_channel/subchannel.cc index 67497d13ff6..39cc7043f63 100644 --- a/src/core/ext/filters/client_channel/subchannel.cc +++ b/src/core/client_channel/subchannel.cc @@ -16,7 +16,7 @@ #include -#include "src/core/ext/filters/client_channel/subchannel.h" +#include "src/core/client_channel/subchannel.h" #include #include @@ -37,7 +37,7 @@ #include #include -#include "src/core/ext/filters/client_channel/subchannel_pool_interface.h" +#include "src/core/client_channel/subchannel_pool_interface.h" #include "src/core/lib/address_utils/sockaddr_utils.h" #include "src/core/lib/backoff/backoff.h" #include "src/core/lib/channel/channel_args.h" diff --git a/src/core/ext/filters/client_channel/subchannel.h b/src/core/client_channel/subchannel.h similarity index 97% rename from src/core/ext/filters/client_channel/subchannel.h rename to src/core/client_channel/subchannel.h index fe629fc3716..df52d58d65e 100644 --- a/src/core/ext/filters/client_channel/subchannel.h +++ b/src/core/client_channel/subchannel.h @@ -14,8 +14,8 @@ // limitations under the License. // -#ifndef GRPC_SRC_CORE_EXT_FILTERS_CLIENT_CHANNEL_SUBCHANNEL_H -#define GRPC_SRC_CORE_EXT_FILTERS_CLIENT_CHANNEL_SUBCHANNEL_H +#ifndef GRPC_SRC_CORE_CLIENT_CHANNEL_SUBCHANNEL_H +#define GRPC_SRC_CORE_CLIENT_CHANNEL_SUBCHANNEL_H #include @@ -31,9 +31,9 @@ #include #include -#include "src/core/ext/filters/client_channel/client_channel_channelz.h" -#include "src/core/ext/filters/client_channel/connector.h" -#include "src/core/ext/filters/client_channel/subchannel_pool_interface.h" +#include "src/core/client_channel/client_channel_channelz.h" +#include "src/core/client_channel/connector.h" +#include "src/core/client_channel/subchannel_pool_interface.h" #include "src/core/lib/backoff/backoff.h" #include "src/core/lib/channel/channel_args.h" #include "src/core/lib/channel/channel_fwd.h" @@ -384,4 +384,4 @@ class Subchannel : public DualRefCounted { } // namespace grpc_core -#endif // GRPC_SRC_CORE_EXT_FILTERS_CLIENT_CHANNEL_SUBCHANNEL_H +#endif // GRPC_SRC_CORE_CLIENT_CHANNEL_SUBCHANNEL_H diff --git a/src/core/ext/filters/client_channel/subchannel_interface_internal.h b/src/core/client_channel/subchannel_interface_internal.h similarity index 79% rename from src/core/ext/filters/client_channel/subchannel_interface_internal.h rename to src/core/client_channel/subchannel_interface_internal.h index d1c353fd0cb..fc5b9faaed5 100644 --- a/src/core/ext/filters/client_channel/subchannel_interface_internal.h +++ b/src/core/client_channel/subchannel_interface_internal.h @@ -14,12 +14,12 @@ // limitations under the License. // -#ifndef GRPC_SRC_CORE_EXT_FILTERS_CLIENT_CHANNEL_SUBCHANNEL_INTERFACE_INTERNAL_H -#define GRPC_SRC_CORE_EXT_FILTERS_CLIENT_CHANNEL_SUBCHANNEL_INTERFACE_INTERNAL_H +#ifndef GRPC_SRC_CORE_CLIENT_CHANNEL_SUBCHANNEL_INTERFACE_INTERNAL_H +#define GRPC_SRC_CORE_CLIENT_CHANNEL_SUBCHANNEL_INTERFACE_INTERNAL_H #include -#include "src/core/ext/filters/client_channel/subchannel.h" +#include "src/core/client_channel/subchannel.h" #include "src/core/lib/gprpp/unique_type_name.h" #include "src/core/load_balancing/subchannel_interface.h" @@ -38,4 +38,4 @@ class InternalSubchannelDataWatcherInterface } // namespace grpc_core -#endif // GRPC_SRC_CORE_EXT_FILTERS_CLIENT_CHANNEL_SUBCHANNEL_INTERFACE_INTERNAL_H +#endif // GRPC_SRC_CORE_CLIENT_CHANNEL_SUBCHANNEL_INTERFACE_INTERNAL_H diff --git a/src/core/ext/filters/client_channel/subchannel_pool_interface.cc b/src/core/client_channel/subchannel_pool_interface.cc similarity index 96% rename from src/core/ext/filters/client_channel/subchannel_pool_interface.cc rename to src/core/client_channel/subchannel_pool_interface.cc index ebf7e77f163..82c7841d133 100644 --- a/src/core/ext/filters/client_channel/subchannel_pool_interface.cc +++ b/src/core/client_channel/subchannel_pool_interface.cc @@ -18,7 +18,7 @@ #include -#include "src/core/ext/filters/client_channel/subchannel_pool_interface.h" +#include "src/core/client_channel/subchannel_pool_interface.h" #include diff --git a/src/core/ext/filters/client_channel/subchannel_pool_interface.h b/src/core/client_channel/subchannel_pool_interface.h similarity index 93% rename from src/core/ext/filters/client_channel/subchannel_pool_interface.h rename to src/core/client_channel/subchannel_pool_interface.h index aa6ee3ef857..235b23b1dbe 100644 --- a/src/core/ext/filters/client_channel/subchannel_pool_interface.h +++ b/src/core/client_channel/subchannel_pool_interface.h @@ -16,8 +16,8 @@ // // -#ifndef GRPC_SRC_CORE_EXT_FILTERS_CLIENT_CHANNEL_SUBCHANNEL_POOL_INTERFACE_H -#define GRPC_SRC_CORE_EXT_FILTERS_CLIENT_CHANNEL_SUBCHANNEL_POOL_INTERFACE_H +#ifndef GRPC_SRC_CORE_CLIENT_CHANNEL_SUBCHANNEL_POOL_INTERFACE_H +#define GRPC_SRC_CORE_CLIENT_CHANNEL_SUBCHANNEL_POOL_INTERFACE_H #include @@ -97,4 +97,4 @@ class SubchannelPoolInterface : public RefCounted { } // namespace grpc_core -#endif // GRPC_SRC_CORE_EXT_FILTERS_CLIENT_CHANNEL_SUBCHANNEL_POOL_INTERFACE_H +#endif // GRPC_SRC_CORE_CLIENT_CHANNEL_SUBCHANNEL_POOL_INTERFACE_H diff --git a/src/core/ext/filters/client_channel/subchannel_stream_client.cc b/src/core/client_channel/subchannel_stream_client.cc similarity index 99% rename from src/core/ext/filters/client_channel/subchannel_stream_client.cc rename to src/core/client_channel/subchannel_stream_client.cc index e40da82db6d..57b9cbbc483 100644 --- a/src/core/ext/filters/client_channel/subchannel_stream_client.cc +++ b/src/core/client_channel/subchannel_stream_client.cc @@ -16,7 +16,7 @@ #include -#include "src/core/ext/filters/client_channel/subchannel_stream_client.h" +#include "src/core/client_channel/subchannel_stream_client.h" #include #include diff --git a/src/core/ext/filters/client_channel/subchannel_stream_client.h b/src/core/client_channel/subchannel_stream_client.h similarity index 96% rename from src/core/ext/filters/client_channel/subchannel_stream_client.h rename to src/core/client_channel/subchannel_stream_client.h index e9d720f4734..37230f9e33c 100644 --- a/src/core/ext/filters/client_channel/subchannel_stream_client.h +++ b/src/core/client_channel/subchannel_stream_client.h @@ -14,8 +14,8 @@ // limitations under the License. // -#ifndef GRPC_SRC_CORE_EXT_FILTERS_CLIENT_CHANNEL_SUBCHANNEL_STREAM_CLIENT_H -#define GRPC_SRC_CORE_EXT_FILTERS_CLIENT_CHANNEL_SUBCHANNEL_STREAM_CLIENT_H +#ifndef GRPC_SRC_CORE_CLIENT_CHANNEL_SUBCHANNEL_STREAM_CLIENT_H +#define GRPC_SRC_CORE_CLIENT_CHANNEL_SUBCHANNEL_STREAM_CLIENT_H #include @@ -32,7 +32,7 @@ #include #include -#include "src/core/ext/filters/client_channel/subchannel.h" +#include "src/core/client_channel/subchannel.h" #include "src/core/lib/backoff/backoff.h" #include "src/core/lib/channel/context.h" #include "src/core/lib/gprpp/orphanable.h" @@ -222,4 +222,4 @@ class SubchannelStreamClient } // namespace grpc_core -#endif // GRPC_SRC_CORE_EXT_FILTERS_CLIENT_CHANNEL_SUBCHANNEL_STREAM_CLIENT_H +#endif // GRPC_SRC_CORE_CLIENT_CHANNEL_SUBCHANNEL_STREAM_CLIENT_H diff --git a/src/core/ext/filters/logging/logging_filter.cc b/src/core/ext/filters/logging/logging_filter.cc index f68ce1788c1..89fe46bcb66 100644 --- a/src/core/ext/filters/logging/logging_filter.cc +++ b/src/core/ext/filters/logging/logging_filter.cc @@ -47,7 +47,7 @@ #include #include -#include "src/core/ext/filters/client_channel/client_channel.h" +#include "src/core/client_channel/client_channel_filter.h" #include "src/core/ext/filters/logging/logging_sink.h" #include "src/core/lib/channel/call_tracer.h" #include "src/core/lib/channel/channel_args.h" diff --git a/src/core/ext/transport/binder/client/binder_connector.cc b/src/core/ext/transport/binder/client/binder_connector.cc index 3ee5f59dc25..c948e372ad5 100644 --- a/src/core/ext/transport/binder/client/binder_connector.cc +++ b/src/core/ext/transport/binder/client/binder_connector.cc @@ -28,8 +28,8 @@ #include -#include "src/core/ext/filters/client_channel/connector.h" -#include "src/core/ext/filters/client_channel/subchannel.h" +#include "src/core/client_channel/connector.h" +#include "src/core/client_channel/subchannel.h" #include "src/core/ext/transport/binder/client/endpoint_binder_pool.h" #include "src/core/ext/transport/binder/client/security_policy_setting.h" #include "src/core/ext/transport/binder/transport/binder_transport.h" diff --git a/src/core/ext/transport/binder/client/binder_connector.h b/src/core/ext/transport/binder/client/binder_connector.h index baa050fc65a..4a350251677 100644 --- a/src/core/ext/transport/binder/client/binder_connector.h +++ b/src/core/ext/transport/binder/client/binder_connector.h @@ -27,8 +27,8 @@ #include #include -#include "src/core/ext/filters/client_channel/client_channel.h" -#include "src/core/ext/filters/client_channel/client_channel_factory.h" +#include "src/core/client_channel/client_channel_factory.h" +#include "src/core/client_channel/client_channel_filter.h" namespace grpc_core { diff --git a/src/core/ext/transport/binder/client/channel_create.cc b/src/core/ext/transport/binder/client/channel_create.cc index 1c785daffb8..b22176e090d 100644 --- a/src/core/ext/transport/binder/client/channel_create.cc +++ b/src/core/ext/transport/binder/client/channel_create.cc @@ -43,7 +43,7 @@ #include -#include "src/core/ext/filters/client_channel/client_channel.h" +#include "src/core/client_channel/client_channel_filter.h" #include "src/core/ext/transport/binder/client/channel_create_impl.h" #include "src/core/ext/transport/binder/client/connection_id_generator.h" #include "src/core/ext/transport/binder/client/endpoint_binder_pool.h" diff --git a/src/core/ext/transport/chaotic_good/client/chaotic_good_connector.h b/src/core/ext/transport/chaotic_good/client/chaotic_good_connector.h index 0122d3fd2cf..7375b9d78a6 100644 --- a/src/core/ext/transport/chaotic_good/client/chaotic_good_connector.h +++ b/src/core/ext/transport/chaotic_good/client/chaotic_good_connector.h @@ -26,7 +26,7 @@ #include -#include "src/core/ext/filters/client_channel/connector.h" +#include "src/core/client_channel/connector.h" #include "src/core/ext/transport/chttp2/transport/hpack_encoder.h" #include "src/core/ext/transport/chttp2/transport/hpack_parser.h" #include "src/core/lib/channel/channel_args.h" diff --git a/src/core/ext/transport/chttp2/client/chttp2_connector.cc b/src/core/ext/transport/chttp2/client/chttp2_connector.cc index 17d7975dc6c..1d06bfc4cf1 100644 --- a/src/core/ext/transport/chttp2/client/chttp2_connector.cc +++ b/src/core/ext/transport/chttp2/client/chttp2_connector.cc @@ -39,10 +39,10 @@ #include #include -#include "src/core/ext/filters/client_channel/client_channel.h" -#include "src/core/ext/filters/client_channel/client_channel_factory.h" -#include "src/core/ext/filters/client_channel/connector.h" -#include "src/core/ext/filters/client_channel/subchannel.h" +#include "src/core/client_channel/client_channel_factory.h" +#include "src/core/client_channel/client_channel_filter.h" +#include "src/core/client_channel/connector.h" +#include "src/core/client_channel/subchannel.h" #include "src/core/ext/transport/chttp2/transport/chttp2_transport.h" #include "src/core/lib/address_utils/sockaddr_utils.h" #include "src/core/lib/channel/channel_args.h" diff --git a/src/core/ext/transport/chttp2/client/chttp2_connector.h b/src/core/ext/transport/chttp2/client/chttp2_connector.h index b6143b31fef..adf8d8f5c5c 100644 --- a/src/core/ext/transport/chttp2/client/chttp2_connector.h +++ b/src/core/ext/transport/chttp2/client/chttp2_connector.h @@ -26,7 +26,7 @@ #include -#include "src/core/ext/filters/client_channel/connector.h" +#include "src/core/client_channel/connector.h" #include "src/core/lib/gprpp/ref_counted_ptr.h" #include "src/core/lib/gprpp/sync.h" #include "src/core/lib/iomgr/closure.h" diff --git a/src/core/ext/xds/xds_transport_grpc.cc b/src/core/ext/xds/xds_transport_grpc.cc index 3cc054cfa2b..136a514e131 100644 --- a/src/core/ext/xds/xds_transport_grpc.cc +++ b/src/core/ext/xds/xds_transport_grpc.cc @@ -37,7 +37,7 @@ #include #include -#include "src/core/ext/filters/client_channel/client_channel.h" +#include "src/core/client_channel/client_channel_filter.h" #include "src/core/ext/xds/xds_bootstrap.h" #include "src/core/ext/xds/xds_bootstrap_grpc.h" #include "src/core/lib/channel/channel_args.h" diff --git a/src/core/lib/security/security_connector/local/local_security_connector.cc b/src/core/lib/security/security_connector/local/local_security_connector.cc index 722175a07df..7bc88d74de9 100644 --- a/src/core/lib/security/security_connector/local/local_security_connector.cc +++ b/src/core/lib/security/security_connector/local/local_security_connector.cc @@ -37,7 +37,7 @@ #include #include -#include "src/core/ext/filters/client_channel/client_channel.h" +#include "src/core/client_channel/client_channel_filter.h" #include "src/core/lib/address_utils/parse_address.h" #include "src/core/lib/address_utils/sockaddr_utils.h" #include "src/core/lib/channel/channel_args.h" diff --git a/src/core/lib/surface/init.cc b/src/core/lib/surface/init.cc index eb09119ee1d..25ba6fb97cf 100644 --- a/src/core/lib/surface/init.cc +++ b/src/core/lib/surface/init.cc @@ -29,7 +29,7 @@ #include #include -#include "src/core/ext/filters/client_channel/backup_poller.h" +#include "src/core/client_channel/backup_poller.h" #include "src/core/lib/config/core_configuration.h" #include "src/core/lib/debug/trace.h" #include "src/core/lib/event_engine/posix_engine/timer_manager.h" diff --git a/src/core/lib/transport/call_filters.h b/src/core/lib/transport/call_filters.h index 9c1b1a1069f..3df2c50e7a3 100644 --- a/src/core/lib/transport/call_filters.h +++ b/src/core/lib/transport/call_filters.h @@ -491,8 +491,8 @@ struct AddOpImpl + absl::Status (FilterType::Call::*impl)( + const typename T::element_type&, FilterType*)> struct AddOpImpl>::value>> { + absl::enable_if_t::value && + std::is_same>::value>> { static void Add(FilterType* channel_data, size_t call_offset, Layout>& to) { class Promise { diff --git a/src/core/lib/transport/metadata_batch.cc b/src/core/lib/transport/metadata_batch.cc index 7dcd1a0dd57..9d992129ef6 100644 --- a/src/core/lib/transport/metadata_batch.cc +++ b/src/core/lib/transport/metadata_batch.cc @@ -64,7 +64,7 @@ absl::optional UnknownMap::GetStringValue( } // namespace metadata_detail ContentTypeMetadata::MementoType ContentTypeMetadata::ParseMemento( - Slice value, bool, MetadataParseErrorFn on_error) { + Slice value, bool, MetadataParseErrorFn /*on_error*/) { auto out = kInvalid; auto value_string = value.as_string_view(); if (value_string == "application/grpc") { @@ -76,7 +76,9 @@ ContentTypeMetadata::MementoType ContentTypeMetadata::ParseMemento( } else if (value_string.empty()) { out = kEmpty; } else { - on_error("invalid value", value); + // We are intentionally not invoking on_error here since the spec is not + // clear on what the behavior should be here, so to avoid breaking anyone, + // we should continue to accept this. } return out; } diff --git a/src/core/load_balancing/grpclb/grpclb.cc b/src/core/load_balancing/grpclb/grpclb.cc index d4697e5d465..f739ae74ee2 100644 --- a/src/core/load_balancing/grpclb/grpclb.cc +++ b/src/core/load_balancing/grpclb/grpclb.cc @@ -93,7 +93,7 @@ #include #include -#include "src/core/ext/filters/client_channel/client_channel.h" +#include "src/core/client_channel/client_channel_filter.h" #include "src/core/lib/address_utils/sockaddr_utils.h" #include "src/core/lib/backoff/backoff.h" #include "src/core/lib/channel/channel_args.h" diff --git a/src/core/load_balancing/health_check_client.cc b/src/core/load_balancing/health_check_client.cc index dac81f49079..e1317bc04b0 100644 --- a/src/core/load_balancing/health_check_client.cc +++ b/src/core/load_balancing/health_check_client.cc @@ -40,11 +40,11 @@ #include #include -#include "src/core/ext/filters/client_channel/client_channel_channelz.h" -#include "src/core/ext/filters/client_channel/client_channel_internal.h" +#include "src/core/client_channel/client_channel_channelz.h" +#include "src/core/client_channel/client_channel_internal.h" #include "src/core/load_balancing/health_check_client_internal.h" -#include "src/core/ext/filters/client_channel/subchannel.h" -#include "src/core/ext/filters/client_channel/subchannel_stream_client.h" +#include "src/core/client_channel/subchannel.h" +#include "src/core/client_channel/subchannel_stream_client.h" #include "src/core/lib/address_utils/sockaddr_utils.h" #include "src/core/lib/channel/channel_args.h" #include "src/core/lib/channel/channel_trace.h" diff --git a/src/core/load_balancing/health_check_client_internal.h b/src/core/load_balancing/health_check_client_internal.h index aeb48becc37..ae223bec875 100644 --- a/src/core/load_balancing/health_check_client_internal.h +++ b/src/core/load_balancing/health_check_client_internal.h @@ -32,9 +32,9 @@ #include -#include "src/core/ext/filters/client_channel/subchannel.h" -#include "src/core/ext/filters/client_channel/subchannel_interface_internal.h" -#include "src/core/ext/filters/client_channel/subchannel_stream_client.h" +#include "src/core/client_channel/subchannel.h" +#include "src/core/client_channel/subchannel_interface_internal.h" +#include "src/core/client_channel/subchannel_stream_client.h" #include "src/core/lib/gprpp/orphanable.h" #include "src/core/lib/gprpp/ref_counted_ptr.h" #include "src/core/lib/gprpp/sync.h" diff --git a/src/core/load_balancing/oob_backend_metric.cc b/src/core/load_balancing/oob_backend_metric.cc index c3720577654..ac7bcb36154 100644 --- a/src/core/load_balancing/oob_backend_metric.cc +++ b/src/core/load_balancing/oob_backend_metric.cc @@ -38,11 +38,11 @@ #include #include -#include "src/core/ext/filters/client_channel/backend_metric.h" -#include "src/core/ext/filters/client_channel/client_channel_channelz.h" +#include "src/core/client_channel/backend_metric.h" +#include "src/core/client_channel/client_channel_channelz.h" #include "src/core/load_balancing/oob_backend_metric_internal.h" -#include "src/core/ext/filters/client_channel/subchannel.h" -#include "src/core/ext/filters/client_channel/subchannel_stream_client.h" +#include "src/core/client_channel/subchannel.h" +#include "src/core/client_channel/subchannel_stream_client.h" #include "src/core/lib/channel/channel_trace.h" #include "src/core/lib/debug/trace.h" #include "src/core/lib/gprpp/debug_location.h" diff --git a/src/core/load_balancing/oob_backend_metric_internal.h b/src/core/load_balancing/oob_backend_metric_internal.h index 49667c3bad8..8508ecbaf06 100644 --- a/src/core/load_balancing/oob_backend_metric_internal.h +++ b/src/core/load_balancing/oob_backend_metric_internal.h @@ -30,9 +30,9 @@ #include "src/core/load_balancing/backend_metric_data.h" #include "src/core/load_balancing/oob_backend_metric.h" -#include "src/core/ext/filters/client_channel/subchannel.h" -#include "src/core/ext/filters/client_channel/subchannel_interface_internal.h" -#include "src/core/ext/filters/client_channel/subchannel_stream_client.h" +#include "src/core/client_channel/subchannel.h" +#include "src/core/client_channel/subchannel_interface_internal.h" +#include "src/core/client_channel/subchannel_stream_client.h" #include "src/core/lib/gprpp/orphanable.h" #include "src/core/lib/gprpp/ref_counted_ptr.h" #include "src/core/lib/gprpp/sync.h" diff --git a/src/core/load_balancing/outlier_detection/outlier_detection.cc b/src/core/load_balancing/outlier_detection/outlier_detection.cc index 5318356d39d..f6934f1655f 100644 --- a/src/core/load_balancing/outlier_detection/outlier_detection.cc +++ b/src/core/load_balancing/outlier_detection/outlier_detection.cc @@ -46,7 +46,7 @@ #include "src/core/load_balancing/child_policy_handler.h" #include "src/core/load_balancing/health_check_client_internal.h" -#include "src/core/ext/filters/client_channel/subchannel_interface_internal.h" +#include "src/core/client_channel/subchannel_interface_internal.h" #include "src/core/lib/address_utils/sockaddr_utils.h" #include "src/core/lib/channel/channel_args.h" #include "src/core/lib/config/core_configuration.h" diff --git a/src/core/load_balancing/ring_hash/ring_hash.cc b/src/core/load_balancing/ring_hash/ring_hash.cc index f6b403b03dc..a5d607266b6 100644 --- a/src/core/load_balancing/ring_hash/ring_hash.cc +++ b/src/core/load_balancing/ring_hash/ring_hash.cc @@ -42,7 +42,7 @@ #include #include -#include "src/core/ext/filters/client_channel/client_channel_internal.h" +#include "src/core/client_channel/client_channel_internal.h" #include "src/core/load_balancing/pick_first/pick_first.h" #include "src/core/lib/address_utils/sockaddr_utils.h" #include "src/core/lib/channel/channel_args.h" diff --git a/src/core/load_balancing/rls/rls.cc b/src/core/load_balancing/rls/rls.cc index e5f895eae73..2ce049d9a6f 100644 --- a/src/core/load_balancing/rls/rls.cc +++ b/src/core/load_balancing/rls/rls.cc @@ -63,7 +63,7 @@ #include #include -#include "src/core/ext/filters/client_channel/client_channel.h" +#include "src/core/client_channel/client_channel_filter.h" #include "src/core/load_balancing/child_policy_handler.h" #include "src/core/lib/backoff/backoff.h" #include "src/core/lib/channel/channel_args.h" diff --git a/src/core/load_balancing/xds/xds_cluster_impl.cc b/src/core/load_balancing/xds/xds_cluster_impl.cc index 8650f4de5e4..c4a6b1dddd8 100644 --- a/src/core/load_balancing/xds/xds_cluster_impl.cc +++ b/src/core/load_balancing/xds/xds_cluster_impl.cc @@ -37,7 +37,7 @@ #include #include -#include "src/core/ext/filters/client_channel/client_channel_internal.h" +#include "src/core/client_channel/client_channel_internal.h" #include "src/core/load_balancing/backend_metric_data.h" #include "src/core/load_balancing/child_policy_handler.h" #include "src/core/load_balancing/xds/xds_channel_args.h" diff --git a/src/core/load_balancing/xds/xds_cluster_manager.cc b/src/core/load_balancing/xds/xds_cluster_manager.cc index c52e464fd71..2dfc4498aae 100644 --- a/src/core/load_balancing/xds/xds_cluster_manager.cc +++ b/src/core/load_balancing/xds/xds_cluster_manager.cc @@ -38,7 +38,7 @@ #include #include -#include "src/core/ext/filters/client_channel/client_channel_internal.h" +#include "src/core/client_channel/client_channel_internal.h" #include "src/core/load_balancing/child_policy_handler.h" #include "src/core/lib/channel/channel_args.h" #include "src/core/lib/config/core_configuration.h" diff --git a/src/core/load_balancing/xds/xds_override_host.cc b/src/core/load_balancing/xds/xds_override_host.cc index ffe13949117..335dfaebe89 100644 --- a/src/core/load_balancing/xds/xds_override_host.cc +++ b/src/core/load_balancing/xds/xds_override_host.cc @@ -47,7 +47,7 @@ #include #include -#include "src/core/ext/filters/client_channel/client_channel_internal.h" +#include "src/core/client_channel/client_channel_internal.h" #include "src/core/load_balancing/child_policy_handler.h" #include "src/core/ext/filters/stateful_session/stateful_session_filter.h" #include "src/core/ext/xds/xds_health_status.h" diff --git a/src/core/resolver/xds/xds_resolver.cc b/src/core/resolver/xds/xds_resolver.cc index aff6f61f584..6ac69817204 100644 --- a/src/core/resolver/xds/xds_resolver.cc +++ b/src/core/resolver/xds/xds_resolver.cc @@ -48,8 +48,8 @@ #include #include -#include "src/core/ext/filters/client_channel/client_channel_internal.h" -#include "src/core/ext/filters/client_channel/config_selector.h" +#include "src/core/client_channel/client_channel_internal.h" +#include "src/core/client_channel/config_selector.h" #include "src/core/ext/xds/xds_bootstrap.h" #include "src/core/ext/xds/xds_bootstrap_grpc.h" #include "src/core/ext/xds/xds_client_grpc.h" diff --git a/src/cpp/ext/csm/BUILD b/src/cpp/ext/csm/BUILD index f6599816485..25aa1bf21dc 100644 --- a/src/cpp/ext/csm/BUILD +++ b/src/cpp/ext/csm/BUILD @@ -46,6 +46,7 @@ grpc_cc_library( "absl/types:optional", "absl/types:variant", "google_cloud_cpp:opentelemetry", + "otel/api", "otel/sdk/src/metrics", "otel/sdk:headers", "upb_base_lib", diff --git a/src/cpp/ext/csm/csm_observability.cc b/src/cpp/ext/csm/csm_observability.cc index b012ce04fec..0bb2590daaf 100644 --- a/src/cpp/ext/csm/csm_observability.cc +++ b/src/cpp/ext/csm/csm_observability.cc @@ -107,8 +107,7 @@ CsmObservabilityBuilder::CsmObservabilityBuilder() CsmObservabilityBuilder::~CsmObservabilityBuilder() = default; CsmObservabilityBuilder& CsmObservabilityBuilder::SetMeterProvider( - std::shared_ptr - meter_provider) { + std::shared_ptr meter_provider) { builder_->SetMeterProvider(meter_provider); return *this; } @@ -139,9 +138,5 @@ absl::StatusOr CsmObservabilityBuilder::BuildAndRegister() { return CsmObservability(); } -std::unique_ptr MakeCsmOpenTelemetryPluginOption() { - return std::make_unique(); -} - } // namespace experimental } // namespace grpc diff --git a/src/cpp/ext/otel/otel_client_filter.cc b/src/cpp/ext/otel/otel_client_filter.cc index 0a9f6cc714d..dfef7badf62 100644 --- a/src/cpp/ext/otel/otel_client_filter.cc +++ b/src/cpp/ext/otel/otel_client_filter.cc @@ -44,7 +44,7 @@ #include #include -#include "src/core/ext/filters/client_channel/client_channel.h" +#include "src/core/client_channel/client_channel_filter.h" #include "src/core/lib/channel/channel_stack.h" #include "src/core/lib/channel/context.h" #include "src/core/lib/channel/status_util.h" diff --git a/src/cpp/ext/otel/otel_plugin.cc b/src/cpp/ext/otel/otel_plugin.cc index 2e56245df01..b61af9857c1 100644 --- a/src/cpp/ext/otel/otel_plugin.cc +++ b/src/cpp/ext/otel/otel_plugin.cc @@ -32,7 +32,7 @@ #include #include -#include "src/core/ext/filters/client_channel/client_channel.h" +#include "src/core/client_channel/client_channel_filter.h" #include "src/core/lib/channel/call_tracer.h" #include "src/core/lib/channel/channel_args.h" #include "src/core/lib/config/core_configuration.h" diff --git a/src/objective-c/BoringSSL-GRPC.podspec b/src/objective-c/BoringSSL-GRPC.podspec index cbed966aa69..a1f9c545f8d 100644 --- a/src/objective-c/BoringSSL-GRPC.podspec +++ b/src/objective-c/BoringSSL-GRPC.podspec @@ -39,7 +39,7 @@ Pod::Spec.new do |s| s.name = 'BoringSSL-GRPC' - version = '0.0.33' + version = '0.0.32' s.version = version s.summary = 'BoringSSL is a fork of OpenSSL that is designed to meet Google\'s needs.' # Adapted from the homepage: @@ -76,7 +76,7 @@ Pod::Spec.new do |s| s.source = { :git => 'https://github.com/google/boringssl.git', - :commit => "311e6f6d8e77da1f64c3256b30bd1992a555ce6c", + :commit => "ae72a4514c7afd150596b0a80947f3ca9b8363b5", } s.ios.deployment_target = '10.0' @@ -175,524 +175,523 @@ Pod::Spec.new do |s| *) opts="--ignore-garbage" ;; esac base64 --decode $opts < src/include/openssl/boringssl_prefix_symbols.h - H4sICAAAAAAC/2JvcmluZ3NzbF9wcmVmaXhfc3ltYm9scy5oALS9XXPbuJaofT+/wnXm5kzVrpnYaafd - 751jK4kmju0tKT2duWFREmRzhyIVgvJH//oDkJSIj7VArgW/VbtmOpaeZ1EAiC+CwH/918mDKESV1mJ9 - snw9/iNZllVWPEiZJ7tKbLKX5FGka1H9p3w8KYuTj82n8/nNyarcbrP6/zt5f3oqPmw+rC/E77+v09PN - h99W78/OPyzfv1uuT//44yw9Pz9fiQ+rf/u3//qvk6ty91plD4/1yf9d/cfJ2bvTi3+cfC7Lh1ycTIvV - f6qv6G/di2qbSZmpeHV5spfiHyra7vUfJ9tynW3U/0+L9X+V1ck6k3WVLfe1OKkfM3kiy039nFbiZKM+ - TItX7drtq10pxclzVqsfUDX/v9zXJxshThTyKCqhf32VFioh/nGyq8qnbK2SpH5Ma/V/xEm6LJ+ENq2O - 116UdbYS+irauLv+eg8f7XYirU6y4iTNc01mQh5+3eLL5GR+92nxP5ezycl0fnI/u/tzej25Pvk/l3P1 - 7/9zcnl73Xzp8vviy93s5Ho6v7q5nH6bn1ze3JwoanZ5u5hO5tr1P9PFl5PZ5PPlTCF3ilK+3n17dfP9 - enr7uQGn3+5vpipKLzi5+6Qd3yazqy/qL5cfpzfTxY8m/Kfp4nYyn/+ncpzc3p1M/pzcLk7mX7THuLKP - k5Ob6eXHm8nJJ/Wvy9sfWje/n1xNL2/+oa57Nrla/EMpDv+lvnR1dzuf/PO70qnvnFxffrv8rC+koQ// - bH7Yl8vF/E7FnamfN/9+s9A/49Ps7tvJzd1cX/nJ9/lExbhcXGpapaG65Pk/FDdRFzjT132p/ne1mN7d - ap8CVOjF7FJfx+3k88308+T2aqLZuwZY3M3Ud7/PO+YfJ5ez6VwHvfu+0PSddjZF+O72dtJ8p019nR7q - WpqrmMxUQny7bMSf7Nz4z6b8f7ybKae6fZLL6+vkfjb5NP3rZJfKWsiT+rk8UUWvqLNNJiqpCo8q/GUh - VCbUuoipQr2V+g9alNX6btUlrtycbNNVVZ6Il11aNIVQ/S+r5UlaPey3yidPlkLBogmk7t7//Ld/X6s7 - uxDg5fzf9B8ny/8AP0qm6qfP2i8EHeYXT9KTf//3k0T/n+W/9dT0LtkkqpaBr6H/Y/uHf/TAf1gOKWqq - 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 - yLmGfFHYBAA= + H4sICAAAAAAC/2JvcmluZ3NzbF9wcmVmaXhfc3ltYm9scy5oALS9XXPbuJaofT+/wnXm5kzVrpnYidPu + 986xlY4mju0tKT2duWFREmRzhyIVgvJH//oDkJSIj7VArgW/VbtmOpaeZ1EAiC+CwH/918mDKESV1mJ9 + snw9/iNZllVWPEiZJ7tKbLKX5FGka1H9p3w8KYuTT82n8/nNyarcbrP6/ztJxW9n6Yfz0w+r39LN+vT8 + 3fnvH5fv0ot3v3/4bfN+lf6+vHj/8f3y/N/+7b/+6+Sq3L1W2cNjffJ/V/9xcvbu9OIfJ3+U5UMuTqbF + 6j/VV/S37kW1zaTMVLy6PNlL8Q8Vbff6j5Ntuc426v+nxfq/yupkncm6ypb7WpzUj5k8keWmfk4rcbJR + H6bFq3bt9tWulOLkOavVD6ia/1/u65ONECcKeRSV0L++SguVEP842VXlU7ZWSVI/prX6P+IkXZZPQptW + x2svyjpbCX0Vbdxdf72Hj3Y7kVYnWXGS5rkmMyEPv27xZXIyv/u8+J/L2eRkOj+5n939Ob2eXJ/8n8u5 + +vf/Obm8vW6+dPl98eVudnI9nV/dXE6/zU8ub25OFDW7vF1MJ3Pt+p/p4svJbPLH5Uwhd4pSvt59e3Xz + /Xp6+0cDTr/d30xVlF5wcvdZO75NZldf1F8uP01vposfTfjP08XtZD7/T+U4ub07mfw5uV2czL9oj3Fl + nyYnN9PLTzeTk8/qX5e3P7Rufj+5ml7e/ENd92xytfiHUhz+S33p6u52Pvnnd6VT3zm5vvx2+Ye+kIY+ + /LP5YV8uF/M7FXemft78+81C/4zPs7tvJzd3c33lJ9/nExXjcnGpaZWG6pLn/1DcRF3gTF/3pfrf1WJ6 + d6t9ClChF7NLfR23kz9upn9Mbq8mmr1rgMXdTH33+7xj/nFyOZvOddC77wtN32lnU4Tvbm8nzXfa1Nfp + oa6luYrJTCXEt8tG/NnOjf9syv+nu5lyqtsnuby+Tu5nk8/Tv052qayFPKmfyxNV9Io622SikqrwqMJf + FkJlQq2LmCrUW6n/oEVZre9WXeLKzck2XVXliXjZpUVTCNX/slqepNXDfqt88mQpFCyaQOru/c9/+/e1 + urMLAV7O/03/cbL8D/CjZKp++qz9QtBhfvEkPfn3fz9J9P9Z/ltPTe+STaJqGfga+j+2f/hHD/yH5ZCi + plo6pPdcL27mySrPVFIlW6Gqh/VYnU86VoYO9EhRPYmKo7NIx6rrwmS532xUceO4Ad6O8HSanPFT1qcB + O1OL+tgp7dOePSYlwunwoMp0nW2FbtloXoP0rI+qhcsFU2zDnpuVCMivj8mzcI7puiIrsjpL88MvSdb7 + rualBsJVfdzJbJb8MVkkN9NPY/0G4ntmk8u5aqmIqpaybXmZrhP9Zd3nUh1EitNle/Pd/eRWf6BThlKR + u1xvvJ98SyrRxZurTsx0/O+HWMC8zMoou8PbEZ4r1bZz9R4MuSMuHxT0MfQfr6b3qj+VrIVcVdmOcqPA + NGjXtVa6V61Pka0ZehNH/Uvdh+K5NYp6V9lOjToirrwXoDHW2YOQdUSMXoDG0BW8fEx/iu7LzEiuBo3H + /i2B3/DzJSnSrWCKOzpoZ191C6PubfqSqIZL8u4vx4BHyYrYKL0BjRKRBcH031WbiAzo6IC9rMtVmScR + EY4GNEpc6odSPpNJqlojhrkjMesyL1c/u1qKZzcNYBRZq1ojrdbcomPxToS7b/dJul4nq3K7q0QzrUPs + Wg5ogHibSgjgm5IcERMBMVX5eEdPP4uErW/yQxAPEjFbswJka8THTRYoVRZ/6XLwLlk9pqouXImK1lL6 + OOg/jfOfDvmbT6wcSfMHRiDQg0Rsh7xXl6wwBxh2i5e6SuOSzHPAkWT7MzkBOtT3rh6Fqh93VfakZ+x/ + ileq3RMAMdpepvptD1W535Ej2Djgz0VaGaknyRFcARbDzSdmJE+DxduWa8ELoUnMWjajIea1d7DvFkW6 + zEVSruRON4q7XA3PqSEgBxpJZg+F6GoBPQ2igO1OMkPCMjR2nUudf0UhyJ02TOLH2uR7+Xi4dck/zKYB + u2rfyU7F+KamEdcpl22ylaoFqFaXxyLo+4Xn1mTIyruZXR6JsEurdMtyNyRmbWtcRo3t4KC/vRFkrZ/1 + 0PUGjdibKl2y1C2KeA9NdZJnsmbpLQMcRf0p3edq0JVK+azqjCUnkCcZGSvZS1Gt0zp9k6BHGxxdvCTc + UB2KegvxrJr0tXhhyo88FiGypQYlcKys2JTJKs3zZbr6yYljCeAY6kbNy4eoKI4CjqOncpq7l3sDWQI8 + RjNhwZqSwCRILJV18bFcCRKL0Vs7cLCx2G9Vb2T1U/DKr4HDfmZP0EBh7699ph+NP+7rdfnMSnLbAEdp + noCkj9SZJ4+G7V3PSd0vaojDzlvfAkcjPhkFUMSbS1WLdaVAVwGszPYtcDR1e2Sb16haylEE46zFrn6M + CNLwwQjcbDdw3988w+y+kZerlHUPghI/ViHUqKbe7pLZnDz5YbKQ+ZkufPY9ldiWT4I7uWHTvl1/kKSr + lcppqtpAg97koSzXEfKGD0eoRCEeyjpjDK4QDRKvraY2+zxnxelxzL9MHjN6Y2aymLlU4+gVL5M7Nmzm + Z7MpGIgRm9GAB4nYDHaa7JLZ37xgtiIQp/nikh2jxQN+PRaI8Ld4wN9VMhEhjgYkCvumCNwReiGx4Flb + FPGqXuWS+DjORhGvjC+RckyJlHElUg6VSBlXIuVQiZTRJVKOKJFdr5JXfg4w5K7fdQs9k11ZMpoZm0ci + sOYKZWCusP3sMDkkeeojjvgPfV/23BtsAaOdstPoNJBG6rN99cSpdY5o0MualnB5JIJYPbIGSBaMuJsn + V0m25smPdMgeoQ57+Wlu8EgE1tx4TyJWmT2k+QMvQTo2bOYniSlAYsQ9WwIUSJy3qG1OR9Y2iRrOl8/J + vvhZlM/6Qf2um1HjZBIuw2JHRhvjlyLXHW9Oi+wa4CjtageWvkMDXm7+D+Z783nktBDmQSI20/Vpseas + ZvAESIx2SQKzFjBxxB/1HEuOeI5lfCemYFkGJEq53eVZWqyE6rDl2YqXJ64EibWvKn1Buv/J/Um2Aouj + ivy2K4+8KIYAjhH9lFGOe8oo3/QpoyQ+ZTS/393eu7R+lDFxTQ8SsZRNja7q22Zynpe2rgSOJdIqf22e + hXbrPjhNOmBBovGe2MrQE1v94SbNpdBrcqqu+RXrpHsBumm9OAGHnPCVPFQiVVhEWtoGOErUM105/ExX + xj/TlWOe6crYZ7py+JmufItnunLcM93D16RQ7fOmSh/0a8ncWJYEiRX7/FiOe34smc+PJfr8uPlExhUv + kx+OkKTVQ2wU7YAjFfoJZJuKUX1tyDMUUSbp+kkvUJNiHR3WkSGx+U/+5dCTf/2FZollJeSuLCSr0FkC + JAZvdYEMrS7QH+pNMva10MtzRCG5IXwLEq1f2sx5eQO1INHkz2OvOuLGBTR4vO7F5dh4jgaJ122iwonR + orD31z5bRWSPgaP+iBUtcsSKFhm1okUOrGhpP1+V1bp/VyyiRUNUWNxaj6jLQvVg5WN6dv4xKTfm2FHy + LmHIil1NNz5QfXZVf+23ghfdtcDRDk1Mv7qZ2X6AIixm7MolOXLlkvm9TL+gVtSqOo2J1lvC0XSFs34U + 3HVTARUSF3o/gN2hxm149Kx40C84lZUaIW2bHbUkNzSgQuJW9U7f5JssF7xopgCJUVfZKnpKzbfA0bol + bPql04jmwrdg0dilM1ga7fn9mLEwbEKj6k5s287r1xO5HX5QNDZmTDcFt4Wj12m9l7G/9igZE4vXSLiO + YKR+NWdcNMszMqJ8k3gyGG2vJ5dU/RMR6qBA4qg6e/3I0jdkyBpXzG0FHkes+NevWdxcyZQrVmjQG500 + pgOJVO15zVADwk7+w4LQU4KuF/oGHQPYFIzKWn8tB9df7/XEwobqbSnApu7h+3b0/ZX+QNCmh+zJ5fz2 + NC5EoxiMo/tTkXG0Ao4zm1/GJZglGBGDnWy+ZUw0buL5FjhaxKuwDj7oZ6ec6xiO1D4W56YdbBqO+hbx + 8Eh66NdulFq/Jo8Z/UkCKLFjTa6+JF8nP+Z6HwaK3uQQI/UVbgtEnI+pTNb7Xd5lVVlssgfiMqQhFxJ5 + m1byMc31xE712n1bsuKCJiQq8TUWk0OM9ObLQW1vtzVeojeNPj4e7R8HU+IMqOC4xpPnVbrTw0NOSN8C + R6MWaZPDjOU2Wb7WtAkMn4bt7R4A5A2qADzg502tIYpAHPZDIdwSiLYTEWmm4QG32QbIqECWaShqOxcd + F691BCK9zXTkSGXgOtqxODtmi6N+zmoWAA/6WfsQYA48Eq0FtUncutX7vVfUhY6wAY8S88Ao5MEjdlM8 + ebYRzTo8atdsyBWKvBX8SFsRNhPnggEc90dmTjBPdEcusnJzFHgcfpXS07A9k+2jOm4fxuThCMTOpIHB + vmaFPa/q6NCgN6ZX4SjQODF1uByqw+Ub1U5ydO3UP/3hxgmVUBlRA8lgDSTjaiA5VANJNZbI18lSv3lZ + PORCj4xZgQAPHLEu+b36Axs2J5uyishsQAPHow8YbdK20jc7gPY4iNhnNLjHaMT+osG9RfUml+munWrQ + D/VVga0pZwuEHH4kvW19++bLfvkvsaqlzmzVYaY9kwib/KisXUwDO5jqj/Tc2Bv9lIDKiZvrL+mN+btT + HEiRXHjAneRlZIDGAEVp5ga6Rxm6Y5DX9Di+A4pUv+4EO60MeMDNTCvXYEdp1w89ZqTEOUKuS6+2ypvl + +8w9axGFE0cvH2s3PCW5e8zxxeyyO7DDLv0qgeuL2UF3YPdc3k622C627B1sA7vXMraOAXeMWe3r+rEq + 9w+P7ftqgvb8B8Bt/1oV2wd9ymKyqkTzwCHNdf+IND5AJU6ssj9Og6Q3OMeoOiuMFxoNzPa1M8rH9wZW + 9Uu/lFuPaClBhlxQ5GYuu+060XIAwFG/flNJ90TIVT/mcCKtHnk/weAcY+Qu0MM7QL/Z7s+EnZ+jd30e + seOzqCo1TmAeduTBjvtlV1bNkindRm/V7V+p254UADTYUajPbvxnNsejY/VisuboDorPp117/c581Z5W + 5n0asJuPnXW3SJIjeAYoCq+hDu9X3Xyqb+xmXWSp+qRVRmuzYQMShf2UFzYAUYwXvY6bodFzHLQA0djP + zoaemfH2EMf2D++fMcWOlsMmLCr3mdyYZ3H9d7pOTncmSLuejRkOVGFx3TV0zJieBojXvW1ViV971WSp + Boy4KxUqAWPFvOKBKKA4b/JUk/Q086HZlIe+96jJecakWx5EFB4w36c6psez+lTdSs1oj0ci6C2yIgL0 + OOxvt7Fi+w0c9us8T+t9JYxFrOxoqAyJfTgGLDabQBEcs3tQwY9lCfwYzHWMDgp421+2fE2e0nxPd9s4 + 6mfUG/j7Q8xTK9ATK+JOqxg6qcL4vFLFqdwy5S0MuLtNcugLn3w6YO+P9mKH6BV4nP64e2aUowCMoSrF + bM1QNxxmpB4rZ5O+9bB3DuMZIYD7fm8+ghrBEwAx9CCY7NUQ4KI/tUZXHBkfJH+dv/s9mS/uZpNm/XC2 + fmGGAExgVNb6pvC6pu5olK1M5H6npwXoagP23Rvy3bIB7hP1j0w+Crqr43zjYRtOqvHAYUbOvdyTvpW9 + d9HAWTTNx0/k9k8hvuc4RZPkglwXWLDvZu93NHB+TfTZNSPOrYk+s2bEeTWcs2rgc2ra3dMPsyL04x0h + 3o/AeNqDnlDTrEM8TCPQt0AG8ICf2Xl2eSQCt4KzYMy91wO6uCRyHEikZueVWnU0ZTPB3ExZSVY80IRE + BUZ3rJiAB4pYrPWsOa+3bNOAnXUQoE0CVuOlJrLXYMNm8sJeUODH4O/WM3T2VHOYwzIrqU7NACbWfj+h + 06uOn0k9p1esBEt8gAE3vXNWQb0zKVb6runPKWkmj3ndyZALitw+vbH2JqGHBCRQrHZ+lTUGt2DUrV9o + Z9z7No3ZOT3TngxZm2dbfHWDQ37WbAE6jysf00qsuRM/No3aGbvV+zRk59V+eL0HTYmuswdB72TjpnFR + 9QCAVYACrnGRWXcE4gEicvdbegjvtWS8B5M+iET+pL2nAOCAn704wqdh+77IftGni3sStBr75RwfwjJC + QJqheJwS7Bv8KBHb7Q+ewBhz+mL45MWIUxeDJy4aH9IX6Xow6Oa0OejI/JnRu3wGe5fP9L7aM9RXe1ZV + lmB3KG3atus3tmLXIWAOP1I3kqLKO8z2ZQXzHXwL9JzGluhEqUF6VjXWp+o04nhksla1D8nTIp5Hy1nT + Fy7rmdseIlHZQr4LaLb11lE7SU2EgMmOqvsi+92aOGfUU7Ytz5ZVWr2Ss9/kHKM+dLZ/8EgdOQE44G/X + MrbLVSVZb9G2fZs+ZKvjfMpx+8+aVF5QiRur3YJEL1Rrl6jRgri0a9eb16sv6EV21OkDD7bd3BOD8dOC + iW/Fem/D6s3MrcE9qVT4tG3fCUHqIunvuwZyuwK2KarvvtKnJzYTmbtS1rwl+AENHE9V0afvm4d9h+JM + f+lxyOVFfsrWor1Eagvqwba73cpblfHjr042efbwWFOfNAVFQMxm5iwXTyInR+lRwNt2oHhig7XNFbHS + qLx6gnlUMXoysfEB544CcNffLHI0clPPHUtaDFDhxpHucoV/Ed8uQhR2nG5D8H59MiWCB7tufTCKipy3 + r/jR1DbrmvV7A9nfot0GKsuzOqNNdcAGLEpEbqMSN1Zbz1WC+iqWTbpWzim22Am2EafXBk+ubT6kPg45 + QoAr6kzKMaffNt955lzxM3TFp6w8OkXyiHN6LnpybsypueETc5tPofcIySEgCRCr7wbzfonDAxFY5/OG + zuZlnsuLnskbcx5v+Cze5tPHkqHUEOAiv6uCnefLPcsXP8c36gzfgfN7I8/uHTy3N/7M3jHn9Ure2wsS + e3uhOd22eVO0mbOmXq/FAmbeyb7BU327D2Wzt6seyKzKtdiVxIUKuMWPRm+NEqgt4hzkip4OHHWS7sAp + uhEn6AZPz407OXfo1Nzos2xHnGPbfqXZWoB3u1gw4OaeWztwZm38OadjzjhtvtO+SK1b9PYYT3IQVwDF + 2JSVyiE9RdvMrcr0gREHkACx6OvM0V3RJHnttATWTuu/RY2a6qHxUt30HDZ5+kA3H0DfyV71PHBaq/74 + X+ufp6fJc1n9TFU3qiCnscv7EdhrlgfOZ40+m3XEuazRZ7KOOI81+izWEeewcs5ghc9fjTl7NXzuauyZ + q8PnrTbfqPdkab33PeyX4gdOGGWeLoqeLBp/quiYE0XjTxMdc5LoG5wiOuoE0Tc4PXTUyaHMU0PRE0OP + x32aW9LT32oPaJB4vOxGTyY9fhizeB6VILH0aEZP2axe+cMiVATGZK5kHDpxlX/aauik1faz/kEEpzVx + eSjCW56nyjlLVdJXgktoJbjkrdmV2Jrd+PNIx5xF2nznUayNfi79ET8qgWLxyj9e8t9mow3KSaZvdIrp + 6BNMo04vHTi5tD1vlDE6R0blcSegjjn99G3ODB17XqhxgKIer5HXTEM8GiFm7a4cu3ZXRq/dlSPW7kae + XTl4biXvzErsvMrIsyoHz6nknlGJn0/JPJsSPZcy9kzK4fMoWWdRIudQ8s6gxM6ffJuzJ8eeOxlz5mT4 + vElJXyctoXXSrDYabp/JLQvQqug/MXYNNTncSN4m2oNtd13WzWFt3BV+EG9H4J8BGjr/M/Lsz8FzPyPP + /Bw87zPqrM+Bcz7jz/gcc75n/NmeY871jDjTM3ieZ+xZnsPneMaepjl8kmb0KZojTtDUq6OSR5HnZbfn + Z7cOjxgGdNiRGPPK4Ezyc0pLBP191yD7x0ZJVjylOW09AShwYujFoSSnBizH09n7wzQBeXrLYz0zS4m4 + ujlGltJie/PiZs778R5oO+kyyML6wR5oO/WZoclyv9moQs8wA7jlfzpNTtkp6sO+myfFbNwU9mHXfRaT + CmfhVDhjSjFbRCqchVMhIg2CKcARwqaI34788vVZlhgnPI11Ohjqo6w1AtDem52tOdfpYKiPcp0A2ntV + z+Jq9uN+cZd8+v7582TWDLTbA5A3+2I1NsaAZiie3un+DeIdNYF4ayF2zYWxQx0NgSh6RVuxz3N2kIMg + FGO/5ev324B5t5ePbLWGA245/r0piA2YSZvlwrRln88W9+r7d4vJ1ULfN+o/P09vJpy8HVKNi0vK74Bl + VDRiGQhp7Hh6Fez0/suxjtjuqHc+psDi6FX0teAFaFnUPH47Pw/EnOpPa55Uk5iVU2h9GrXTiqYFYk5q + AbRJzEqtJFzU8jZbzN5efpuwizJiCEZhtM2YIhSH0yZjCiQOpy0GaMROvJFsEHESXtV2OdxIvTF9GHOT + bkuLQ4y7ckc6xgiEETetZ2BxuDHupjQFWAzChnweiDiplZRD+ta4G3roXuYWYbz0MgouWGa5xRUvqfIx + 25Dzu4F8FyubnRy+vLpSw7rkejK/mk3vm64X5QcjeNA/frMUEA66CfUrTBv2yTy5+nZ5NdrXfd82rJar + RBSr6nX8kdEO5vg2y9OzC5bSIh1rXXGtFmlb14Ks6xDbI1ZLzqUZmONjuCBPyc6LMpAXsjnuofmA8l4Y + gPreLiDHa6C2d188V+mOquwpzJbs0vV6/AIqELbdnOuErzLiGvErnN+eJpe3Pyj1Y484nk/TRTJf6O+3 + xxuTjC6Mu0lNBcDi5ofmJcyaK+9w3M9Xh6yU5sdHA979Nlm+Eo70QwV4DEL3GUCD3piclHBOfrtnF0EL + Rb3UKzZA1EkuHibpWu/ubiaXt+TrPGKOb3L7/dtkdrmYXNOT1GFx8wOxjNlo0JtkRf3xQ4S9FYRj7KOD + 7AeiZOwECuUoteDZKO6V/PyUofyUsfkph/NTRuenHJGfdZl8uuUGaGDH/Zl5439G7/w/Jrcq3s30fyfX + i+m3SZKu/0UyA/xABHqXBDQMRCFXY5BgIAYxE3x8wE+9cQF+IMKuIiwoww0DUagVBcAPRyAuyB3QwPG4 + vQ4fD/p55QrrgdgfM8sU2hOZXp5zU8VGUS8xNUwQdVJTwSJd6+1i8od+mrjd0Zw9hxgJDwhdDjHS88gA + ESe1W2dwuJHRAfDogH0fp9+H/BkvOTIsNchltecQo2TmmERzTEblmBzIMRmXY3Iox+jdNIt0rLffb27o + N9qRgmzEItUxkIlamA6Q47r79N+Tq4XeV5CwZN8nYSs57QwONhLT70jBNmoa9pjru1pM+sk2YvPhwiE3 + tSFx4ZCbnlsuHbJTc85mQ2ZyLjpwyE2tYF3Ycd+rvy8uP91MuEkOCQZiEBPexwf81OQHeCxCRPoEU4ad + JoHU4KcDkALzyT+/T26vJpwHCQ6LmblWwLjgXeYCucK2WLRJk67XNKsDh9yrXKQFsT6FBHAMaiuA1v+H + Dwjro1wONlI21HM5xMhLzTWWhuTbH68V+wdK79g//Aij7kT9Od3neps2+ZMZwnLAkXJRPIx/u9snYSu1 + AkPr7+4D+pSUCQaciXhhaxUbNiebXYxc4bCf2pNA+xD9B++YwneoMVm+JrfTa6a3o3F77N0hR90d7reS + VK7eIpr2wBHV4PH74vMFJ0iHIl7C7ikuhxu5N/qBdcyLj6fc6tpGUS+xZ2GCqJOaBhbpWpnPchbosxzW + AxzkqQ3zUQ36fKb5YJ1tNnSdpiAbveAgz3U4D3PgJzisxzbIsxrmAxr0qQzrUQzy/OX4tGRXyuyFZWxR + zMt4mBN+guN82iyHjdE3AiiGqpofRCGq5nCbtd61jR7GdyCRmMl/IBGrDpjULG2Lut4f9xPyyOYAQS76 + nX+gIBv1AcYBglzke7+DIJfkXJeEr0ufTsGSnTq277fTPyezOf9ZKCQYiEGsmn18wE/NNIB3IyyuWI2x + wSFGepNskZh1u+Pc9T6O+OmlxAARZ8a71gy7RnIp6DnESG+8LRKxUqsFg8ONnAbXxz3/5wt2NWGzuJlc + DAwSt9ILg4k63j+n82nE7L2PB/3EBHHhoJuaLB7t2NfZA2GrKQNxPG1vqRbJ03uSzOA8Y52US8rZkg7m + +LJabJP1WUayHSDERdnHwwMxJ3Eiy+BAIz2DDQ407jkXuAevTh/0wsmSlkOM5PvbBBFndrZmKRWHGKl3 + ssFBRt6Pxn4x6+civ1VvYMO6TzoQc3Luk5aDjKzsQPJilxJ7iEcKsukNwek2TWG2ZFW/8IyahKz7gveb + Ww4y0vbydTnHuF12cwbkp3EWiVkLvrYAvG3zpdL7b9odbXCOUfVmt1mdPQl6NWGjrndfJ6KkzdJ3DGBi + tPY95vjq9OGM+tpTxwAmlVlkk2Jck9ju8mafUWomWKRh/b74ooDFj2R6+/ku6V6pJtlRw1AUQtoi/FAE + So2MCaAYXyc/ptfMVOpZ3MxJmQOJW1mpcUR776fL+fQqubq7VUOCy+ntglZeYDpkH58aEBsyE1IEhA33 + 9C5Jd7vmeLYsF5QDHQDU9h5PIlvVVU6xWqDjzEVaJaQTBh0M8rUbBzOtBuy49WZFhT61ofkKyWyjjpea + nH4qqr80w8XmuCPipsuoAInR7C2cPOzTKi1qIVhhHAcQSZdDwiSSy9nGdXk4b5Xi6ynbJsoNRaO+bvN6 + VyfSg3ULclw5YXOyI+A4KlouOvVk95ckzXOqRTO2qVl9RFgcZTK+iXhmq4OBPr1VkMqK8et/INY3jz/Y + oicAy45s2fmWrMhqqkczvmmrp0sYGXDgYONufBfWwXwfOzsDeclsfRwU8+qjkMdvfA+xvpl6JorLeUbq + D3d+7aN4We+3pMLcIbZHZ1BBKsst4Vpqcht9YGyTLobNQXUFLYVMzjXWj+QK/AgBLkpX1GAAU7NlHeml + HgDFvMTssEDEuVZdnqp8ZWk7FjFTbwgLRJy7PdOpQcRZEQ7Y9EDESTq6wid9a0nvOxmY7SMWdq+c60Zg + mZXJLs0qoujI+UZGV9XAfB+tb9ESgIVwIo3JAKYd2bPzLbpOXO43VFWH+T5Zrn4KcqK3lGt7IXpeXMN+ + uxQV+X40MNCn7yjVhjCUHWlbGUM0cHS2K0kFQn3d4fUCB1JBaAnHUlfkZuXAOCbikGznjciolbtfp1OL + jl9m2pOTZXFK1TQQ4OLMR1mg65S027UBHMcz76qekWuSnLpbwjW3JNbb0qu1JbnOlkCNrc//2dIkCnAd + 9NpVgnWrFOInyaK+7xpULzAnnFFvQYBLZV5z+i21FHkw4tZDiR1hb2cQRtxsL+ykjvUlOHMjeTM3Epu5 + keT5FQnMrzR/o47pjxDg2pFFO99CnauR4FyN7KZIiP0pA4N9otzomYd9VXC0Pe3bC8IyDJPxTceZEXIJ + 6cmAlThXI4NzNf2ncidWWZrz1B2MuclDNgf1vZz5JYnOLx0Hh90JdaTlBajAifFY7vN1osZonJR2YdBN + LnI9hviID6VMDjTSC4LBucY2J9VnNOERc3wFvdd/YGxTLWjPLfT3XYNkNA09Zdv2+lh70u9qCdvyRJ0T + fPLnA584ifwEp/IzY7D4DI4WyYUSKI3tzU98YHWEIBdnGGGThvXm8uvk7NPZ+cfRtiMBWZLPWUGowBwO + NE4p3Q4bA33fd2vKPLELGs7b5NPN9Pa63XeieBKE/q2Pwl7SreVwsLE79JeSBCCN2pnJkAVSgTJ3amOW + 72rxVyLGH4/UE56FmC0HxPMQXuHrCc9CS56O8CyyTivq1TSMZfpjcnv1qVmFQ1D1EOAipnUPAS79IDGt + Hsi6jgOMtLQ/MoBJksrCkbFM3+5uF03GUJbWuhxsJGaDxcFGWtKZGOrTlamsKS8vowI8xqaskm253ud7 + yY1iKOA4tMJgYqgvyfUc15qp7WjLni5lksnkuawoVoOybWuSZe3R5AvpENsjV2fLgmJpAMuxzAqaowVs + h/pLRnI0AOAgHvficoBxl9Jtu9QzrZZL1rX1nGtcixVNpQDX8UhYn3MAXEcuWD/siPk+TqofKNe23WU0 + kQIsR7N2laBovu8bKAesmAxgIjZOPWS7CMuAbu09Htp/U2ugA2J7aE2312Kvyn2hq+vn5G9RlTrBJEnn + 0ZZd3TG0uq0FbEf2RBFkTy5NTecDYnv2lNy23sRU/xbFY1qsxDrZZnmuH4SnTZVZZVs1PqpfmykXgn6M + zo7/a5/mrO6OQ9rWF0qaqG9bNPEu9O6/TVVuVbeoqB/KraheSSqLtKwPK0pRUd+26cOb1jovREJqHDzW + MddJtVm9Pz/72H3h9Pz9R5IeEgzEOHv34SIqhhYMxHj/7rezqBhaMBDjw7vf49JKCwZifDz98CEqhhYM + xLg4/T0urbTAi7H/SL3w/Uf/Som17AGxPKp3RGsvWsBykB483rrPHG/1aEO1Y8QxVQ+5rkI8pPrVTprs + QLm2kjTsaQHPURAvRgGuY1c+n9EkmvAs9FrSoGDbJlUtlX6CwdMauOsnFnBo1Kr+pjtKNIsmLEsuaDdJ + 833HQB51HhDbQzrr+QgAjlOy5NSybNNKPqqeCmldmI05PvmT2hs+MrapXBNnKzoCsiS/9tn4PQBczjPS + enAdAVnOmv4U3dVykJEpDPtYXWBYgMcg1hMe65mbhx2SeskdhdmSZa5fKVnzrAcatZdrrrkESj65nukh + xHXKkp1iNtZ9abGIOUKMeLf7nKhTBGThDb582HMTOxcHxPPIXxVRowjIUtM1frmT+yVVs19CFlaROHKe + kVFd+bXULqP1JlrAdtDKpVsmVZGi/pIOsTy0x0zu06WiUMlD4fX3fQP1Dugh26VPxKZ1YQ4I6KEmsMX5 + Rsph3yZjmWiDGXcks0t1i6M7f8m+0HsvkdpDgLbt3Pm9wEweabfNw/d9A2WRb4/YHin26zKpUtIaCYPC + bPr/PAies2UtM/ECvStjXVLgWto/04anFmcbqT2jyu8VVeQeUQX0hqRY7StBrEB7yHHVxOc9HeFZGNMv + Jub5aHNlEpgrk/S5MgnNldF6N27Phtir8Xo0tN6M25PRvRFqGnSI5anLxDlQnGD0YdDdnYLJEHeka2V1 + my3OMu5pkwt7d2ZhT3uQuXefZO5pRWHvloWnNN8LYjt+ZCwTcWrNmVc7fmWzL1Z1VhbJI6EGAmnI/lOs + VulPurflcKNeKVNWS664wwN+0rw6BAfc8tdeCMKrEggPRZAi39D6Xz5qeL9/Tr5NvnXbkY1WWpRvIz0K + NRjf9FCVz1STZmBTe4ofx9eSvpXSO+gR36Nfma2eyInWYbZvK7aUp/tHwrbIuiJaWsKz5Ku0Jmo0AngI + K0N6xPMU9J9VQL+ryEVB9eTmm/1Xnz41U9mUKX6TgU3Jsixzjq4BESfpGG+fDFmT56x+1Juf8vVHBRKn + XNXksxJQARYjW7frMGrCnhS4AYmy52fEPpQT+zfIiv1QXpAmSCzId+VqNEO/a1rKt8lduhJUWQP5rv3p + R6pJIaCnO8Ez2VXqo5fxUzkBBRgnFwxzDv32M3LZVAjoif7tvgKI8/6M7H1/BnoYaaghwEW/v/fQfa3+ + yLgmDQGuC7LoArJEZ+rFiDxdybNkSf/lLQb46s17lrDjQOMFwwakqB7xkWvUBrJdxNOxDcT2UDaSOHzf + MWTEl6EtyHXJVVqtk9Vjlq9pPgO0neo/svF7DvUEZKEcmGFTjo2yM+0RABxtO64n58bvuwvCtrtZYKfK + b0LoMLucbaQM3Q/f9w0JuQ7qKdtG/GHe7yGO/gzE9lAmjA7fNw3zbiAgKj0/txbVeJmHQt6s7k6weEwl + ZT4cNwBRdD9an2lJ6of7rG3We4KmWSG79wJeKRUURLv23Su1e2xSto1WC8+9WnjevvBZvBJHpjaHGxOR + iy1ht1iMhyPoEhgbxXUAkTgpA6cKfczugIiT+/sHf3eSbXd5tsroQ2rcgUWiDXddErHu+do94iXfvEfI + d+WprEldbguDfLSxskn5tnKnnwYQV6aC8ICbdVP4hqEovMmhIdNQVF4RhBx+JNIMxBEBPfwBG6oA4+SC + Yc4F4DojJ6ozA3H8Y/RvD89AdF+izEAcEdDDSEN3BmJOfX3GQECPfv9RL/1h+A4o6GX8Vndmo/szuZqF + atiYmQ3MAEShzmxYGOAr6ixXw5lKkjsJBgp4yTMmNgcaLxg2J6doo8a5N2qc65dXDgvjjr0M8UAbJmEO + L1Kz1ZAz7CEGghShOLyf4wtCMdQQi+9XsO0mjbzn7sh73u5+qV8JpliOkO1ql0+2r73m2d8qfykvZuAG + KMq+XjHtB9KxCvGzTWLS4x8HtJ3yZ7ajqPT3HUM9/un/4fuugfIUuycMy2S2mH6eXl0uJvd3N9Or6YR2 + +h3GhyMQaiqQDtsJqxYQ3PB/u7wib7pkQYCLlMAmBLgoP9ZgHBNpZ7+ecCyU3fyOgOOYUbZj7wnHQtsH + 0EAMz93t5+TPy5vvE1IaW5Rja3aFEpKW/y6IOPOy2+GeJT7Sjr2tVPOM0IeyMcM3u0mup/NFcn9HPmMT + YnEzoRB6JG6lFAIfNb0/7hd3yafvnz9PZuobdzfEpADxoJ906RCN2dM8H3/UMYBiXtIcr0diVn4yh1K4 + eWqimlae+UBjdkoP0AUxJ7s4BEpCs/GdXt7DTgnTMBhF1mmdrZrc1uONdCMig/pC7Bpo+ypDrGf+9n0x + +Yv8mBpgETNpaOiCiFNvGUjaehymQ3bak3IYR/z7Iu76DT4cgf8bTIEXQ3VWf6heBvWBPQSjbkapMVHU + u286WslS/zzJDGA5vEiLL7PJ5fX0Olntq4rykAjGcX9zjEl3KDU3iOkIRyr2W1Flq5hAnSIcZ1fqiY4q + Jk6n8OKslqvTsws9+Vm97qj5YsOYWxQR7g723Zul/viUa3dwzH8R5x+8/ig76n5M1f+Ss3dU7YHzjW1r + pvuI1AN8cIMfpa4i0sSCB9z6n4QnIbjCi7PJdjI5vfiYnCW7itopsWHfXVY/1c1Wi1Wt/3slkm26fkqe + s50oi+ZDvdOxfuGGMnXLcPtXRu/Igz345uhwXgEzUc/7sNrqrEvJnYsexJy8mtOGB9ys0gopsDi8O86G + B9wxvyF8x3VfYnW8LBYzNyPCn+KV5z7QmF01zuM3aAVQzEuZV3dB36mPc3tt+7/t8c3cXlbAFIzancP8 + FmFdVTBue6HxQS0PGJFX7T1AZ+PZnx0PtOepjzjob5qGbuvVrCwYIRwDGKVJPcopPBCLmvX6zogsdhVg + nPqxOfFUfZcwrQ/jvv8x1eu06aPDHvScer1rKrdEYUf5trZrSe6RHjnP2FSr8lVSdicBUN/bHNq6ydZq + mJmlebLcUxbzBxxepDxbVmn1ysk3E/W8W84c8Bae/W3/zLlEg/StYkvYM8GCPJeunXg1p0H61v024cyG + HDnPWMaM98rweK8sVtSKUSOeZ1fmr6fv353z+lIOjdsZpclicfOe9pARpH17JRKpqopl+cK6dAf3/NWa + UYe1EOLSO7PV2S4XF5RzXwMKP47gVDIdBdg27UEIarCS6ODNBsKkl0uGRHjMrFhxoyjU83YbMvErTl8w + IkbWLt+JDtV5sIh7yY2hScBat69JR/SxQQcY6W3GL5IwfpFvN36RlPGLfKPxixw9fpHs8YsMjF+aI63X + MVdv0KA9svcvx/T+ZVzvXw71/nmdYKz/2/29me2TQjC1Rxz1Z5skfUqzPF3mghnDVHhx6lyevk8ef643 + enNo/XX1PUFNfMQCRmPM9x4ww7eYJdezT3/QTn2yKcBGmp81IcB1OGeF7DuAgJPUTpoQ4KIspjAYwKTf + eSXcATZm+B7TKz2GbecvVZl9GT8P6qOotygfn5lejaJeKaV4zxQ3bNicfHiJkSu8919P5ocJ79FXbDK2 + SayW76kDNpfzjEwh4luLM/2glCV1WM/8PsL8PmAu6PlzYGxTwby+Ar023dYSJvoNBPQk+2L1KCjHgIKw + 7y5Vh3eXVllNvtSeNKxfSLtcd1+3+OZKCYLm+74h2e2XpAxwONtYbnd71T0n+noKs+lZzkdCnkIw6qad + ZAnClpvS8ndft/jjqWq0ZDQx2KdKYboVtagkYStnVODEqN8lDySnBnwH9Te3iO/ZUS07wPGL/IsUAniq + 7Inzww4cYCTftCbm+35RTb9chz607bffT38nnb8HoJb3cNRRX+4IZh+23IQ+a/ttmyaeU2Aglqd9SYD1 + +1zU8kr6vSShe0nS7wMJ3QfNsL15+5Vm6iDblf1NqV/11y2etnj5CJiOJtUl5YRVkzFM09nkanE3+zFf + aIDWdAAsbh4/2PNJ3Eq5iXzU9M7vby5/LCZ/LYhpYHOwkfLbTQq2kX6zhVm+7sWY5Pby24T6mz0WN5N+ + u0PiVloauCjoZSYB+utZPxz5zbyfi/3SZo53R1laAcKGe36ZzKfE2sNgfJNu46kmzfimrhWmyjrM91Gy + okd8T9N6Uk0N5LskI7Wkl1qk7kT3fdvQDsz0xgNpva9Iv85Bbe+6jFH7tGfXnxCVGvE8T6LKNq9EUws5 + LtXkX38hiRrCtlDvR/9eZA0FHQ4x8gaDqMGNQhoOHgnAQv7lXi/28Ncd2bODLL/ov8vuDR//Sh0WuiDk + JA4MHQ4w/iK7fnkW6oNKBwN95CWWEGubI4abII3YVe4xbmkAR/z7ZZ6t2PojbduJ7a7X5rIHugALmnmp + 6sGgm5WiLmubJaNuk2DdJhm1kgRrJcm7UyV2p1Kbdb9NJw31u+/bBuJg/0jYFnrHAuhVMCYNTKh3Ta54 + c+0uhxub16K42ga23IzxiU3BtpJ4IifEQmbK6MemMFtS8XxJhRol0wj+YuIozQNh5wtl5wYPhJyEVsiC + IBdpBOhgkE+ySo1ESk1dcsv2gXStxHGWBQEuWpXoYK6PfmHQVem/tYfTFHqxdbMcNRfpT7N957yvybP7 + V/e3oEb82ytpnGT30zz54/OuOZwxUT2qx/HnP/ukZy0yWe/Ozj7wzA6N2M8/xtiPNGj/O8r+N2af3X2/ + TwivYJgMYCJ0IkwGMNEaZQMCXO0gvp0fKCuy1cYxf1kRTi0AUNjbbnC4ydMHjrqnEfuq3KQrZpocYcy9 + r56ELoE8+YEO2imz1QiO+NfigVMCexTxsosJWkra25pwcIpPAlY9F7F8jUlmz4BE4ZcTiwbsTYqRJrAB + FPDKqPtSDtyX+nN+ZWXRiL3ZAUa/mKhaYKkP2FXdgy0rEmiyon6d/Ojm2WljNwdEnKRRps15RpXhmSpK + 7ZZjYlWN3+oSFfgxSO1jR3gWYtt4QDwPZxofQINeTrZ7PBBBN8lVSU7OHoSdjPk6BEf85Dk7mIbszX1I + vZc9FjSLYtVUV5JhPrKwmTax55OYlTwRj+CeP5NJuUt/7am34JHzjCo/zwivZ9qUZztMmbOabliAxuDf + LsHnBt13SNMqBwKysHsyIA9GIA/NbNBzlqv6jJ6qHQXadEozdBrzfO1DBHaSujjipz+WQXDMzy69gecz + h2+ozxg39QGDfSo/OD6FeT5uH9ZjQTO3JZLBlkhGtEQy2BJJdkskAy1R0xdndFKOHGjkl1qHhu3cDooN + D7iTdKM/VHmtBlpZkZJmlMf5vCugPXKzIMv1bbL4cnfdbliUiXyd1K87SgUI8laEdklduqY0J0cGMDXv + glJHDS4KeUnzhkcGMhFOcLAgwLVe5mSVYiDTnv773PEafRWpBQGuZl4v5vYJaUbHI07YDKmAuJmeVKjJ + MVoM8skk1Tt16E1panpps3HYXxZtp4YjP7CAebunl2jFACZajxpYL3z8a9M11LM/ZN+RBKzN34ndJodE + ravlkmlVJGqldckcErDKt7m75di7W77d3S0pd3fb09vuKiGlWL9JbFyHxK9LfnXg8FaEbmCTrc8Kwuks + Hgg6Za0+WzOcLWg5m5Ng91leZ13dQylnPmy7df810c9MKc4jBLrOPzJc5x8h1/sLxnUpCHKdn53SXQqy + XM3+i6pAtdnVPA1+2a4T+Zjq/5TyeU+IMSwLxVY/8/B1/Z9xsQGZEfv67Pz89Hfdg9+l2fiHHTaG+g5T + 8ePfokYFfgzS2hCD8U3EtRMWZdqm95ezxQ/yi1seiDjHv7nkYIiP0hdxOMN4+8f0lvh7e8Tz6EqtXZxC + nM+DcdA/i7HPcHdzTtihRhbFg/pIEiNACi8OJd+OhGepxINqkvRp93netNy5qKlZCDq8SDIuT+VQnsqY + PJVYns5myfzyz0kyX1wuiOXbR22v3iRPVFVZ0ea7PDJk3fC1G9vbzkA0H1OcBgb55KsqOFuu1qRte/sz + aEfmuhxuTAquMylsa3NGQvuRpDhNzjHuixX753uw7W6eyVGz6gghriTXf+IIGzJkJd9YAO77C/HSf6vZ + 9pkawjfYUdQf2Vnoso5ZtyyfpnecMueygFn/B9dssIB5dnl7zVabMOBu9p0q2XYbt/3N4cjkW6anMBv5 + pnHQoJd820A8ECFPZc1MjB4NennJ4vDDEXgJBEmcWOVOD9m2afWTZO8xx1fpZWFNSFKxNjncmKyWXKlC + A97Nju3d7BzvnlPi9mBZq0Qqy4JdMQO469+WT6I5ZlPQxD0HGrvNarliE3f9si4r1iUboO2UKScNesqx + HRt06i1rk76VepMeGMP0531yObm8bs4bTwnHbHog4iSelgqxiJk0DnJBxKk7RoSVMT6KeCk72XpgwNm+ + 7LPOKrGinLMz5EEiUkb7DocYy53gXbQGA87kIa0fCWvrER6JIAXhPUQXDDgTuUrrmnnZpgCJUacPpNcd + ARYxU05l8EDAqZdx0PZiA1DAq9/bVM1J9cip6UwYcXNT2GABc/syHzM9TNh2f9KvYC7Kr4TlPRZl266m + 918msyZTm+N+aS8TYgI0xirbEW9wD8bd9DbLp3E7ZX2Lj+Leusq5XoWi3m5PZEpPExOgMWir+AAWNxN7 + CQ6KepvlK7sdrUuHK9A41J6Dg+LeJ0aFAvFoBF4dDgrQGNtyzc1djaJeYk/HJnFrtuZaszVq1QcLcItI + w6JmGV/G5Zgyrr8UUwMc+WCE6PJoS4Kx9Jbb/ArTMIBRotrXgbaVmw94+sfUNOFaJipHB3KSWbOgtQrv + 3vfve3q3B+rrNH/7nBW0cYyBoT7CTn0+CVmn1AbwSGE21iV2IOT8Tjpf0OVs47VYqRL0KZXi4weK0eRA + o77rGUKNQT5y2TEwyEfN5Z6CbPQcMTnIuL4h1zMW6Dl1j5iTiEcONxLLt4OCXkb2HDDUx7tM8D7sPmNl + ew86zuxBSNqPbgjIQs/oHkN9f919ZioViVqpuWKRkJVcdI4UZmNdIlxumo/mlNV7FoXZmPl9RDEvLy0P + JGZl3DYOC5m5Vtz4J21tpMPhRmZuGTDu5uVYz+JmbvqatG2f3F7dXU9YsyYOinqJ42qbdKwFq19jYJCP + XBYMDPJR87+nIBs9z00OMjL6NRboOVn9GpPDjcR630FBLyN74H6N8QHvMsH2qfuMle1Yv+bL/ddJ+2SA + +rjXJjFrxnRmkJHzVNoCESdjht9lEbN42ZVVzRK3KOKl1sgWiDh/rjcspeIwo9jyjGKLGLlP7EABEoPY + KpkcYqQ+17ZAxEl96myBqLPe75J0Xz8mlVhlu0wUNTOGLxqOKUWxps1m4Zax0dqlDvo9HtY+qwx38Mre + ItnHpXh0Yo9I5/+fkpiRutQVCRYIOL9ef25P/N7SqyGDRcwZTwq2mV8n35rdTXJGFWSwiJlzpQ2G+Myd + iblX7DiwSP0OIexAlgKM84PdtzBYzExcOWCBiJPVrwB2ETQ/op4FD8KIm/o83AIRJ6fX0nGIUa9ZZSk1 + iDg5vRR/HzTzE87uQQiPRaDvIATjiJ9Vyx9A2/ntOmLtkgeD7ubulhxxR+JWWn3zLbC+9vAZsa4xMNRH + HBnbJGytBLGesUDQuVb9iqrk/PiOBK3UevYbtlb5G29F8TdsPXH3Aa1bc4RgF7H2MzDQR6z5viGrjru/ + k9fLmBxoZK1fcVnYzKuH0BqItD2ZjXk+dk0ZqCU5qQinnn6Jut1XjaG0Yc9NXMvREp6FkXJgmjHy1M/P + +0+TRDZzhhRVTzm2r1fzizPV1v4g2Y6Ua5v8OGs+pNkOlG9rpwfX69N2WJYVm5KqBhRIHOq6XAtEnGta + e29yiJHaPlkg4mz3qSZ2/nw6ZK9kmpSp2CV5uhQ5P47twSM2X9w+bE6JDSbmGIjUXFJkpM4xEImxYhFz + DEWSMpFpXhMH4SFPIOLxRN+YZDQlSKx2foe4aNCnETuxB2RyuJE4l+OgiFe+0V0pR9+V6ptdJcytaSzD + YBRd5iLDaAUeJ1k391KVbh9EQTuyZNA0NuqvN4z7ayiyWLVf1lOP7JCmZEQsfWHHLfaig1q2QHTGDDLE + ByLoW0aV4uiS43jGRdztl+Jl9xYxW9NA1Jh2WI5qh+UbtMNyVDss36AdlqPaYWm0n11qR/4yy0SI+gbZ + 5+vGx4/phOC6EfHfKvBwxOjejxzu/aRSEhdQGhjqS67nl0ynRnFvu5k7V93SuH3Gv+oZeNXLVApOR63j + ICOnWUDaAMqu7wYDmzhnfMA45NezyDEBbB6IsBb0+RODw43kuV4PBt36gDKGVWOoj3upRxY3Ny/FCdoC + BogHInQvKJPNHYcbeclhwoCbNVODzNKQjhE3IcSVXH9h6RSHGhk16gHEnMw2wGAx84x7tTPsak+ZaXqK + pukpN01P8TQ9jUjT02CannLT9DSUpnUu9X2mFzLTTi4IWuBoSZU+c5+1Y45QJNYzd0QBxGF0RsB+CP3s + PI8ErG1nnKxsMdTHq8gNFjBvM9XvKx5iOiW+AojDmTuE5w31xF9sWQYcoUj8suwrgDiHyRuy/QAGnLwy + Y9GQvdlpsPkWvbyYMO5uc4Yrb2nc3mQHV97AgFtyWzWJt2oyolWTwVZNcls1ibdq8k1aNTmyVWtOPCE+ + d7ZAyMmZRUDmEJoBNev+O5Kg9W/GL/ae2Td/ZqUeknLE0+xsDPA9kV+0NDDUx8sPg8XNlVjpVzy48g4f + 9Ef9AtNhR2K9MYy8K8x5Sxh+P/jwV+KiPQPzffQX2bB3jJlv7qLv7PLe1sXe0+3/Tkw9C4Sc9BTE3/fV + Ry20O+ElaZ6lpO6Ey/rmNXn/hJ5ybHrn31TI5PTsIlktV/r8oKaVIskxychYSbbdqb5HRt0fdpRw+Br0 + WU1v8Is7TSjeapss872oy5L2WjBuGRstuXibeMnFQMQteZdVRBGKU1fJ4zY9pDo/mO0JRHxYbdlRFBs2 + q6FUsW62Eo2J0VsGosmIm6zjByKou+D0LCpGYxgR5X10lPdYlN/P+LnesohZ1xPRNa0rGRkruqYNCUPX + 8AZ3LOAJROTmXceGzZF3rGcZiCYjMit8xx6+wb9jLcOIKO+jo0B37OoxVf87e5fsyvz19P27c3IUzwBE + WasrEWvxPu72BS1jo0XdwING4Cpe4pP2ZTBtj/0omvuIIb66YvnqCvYJwnkoNgb7yFUU2p9oPyg3rOtT + GOBTTRgnP1oM8THyo8VgHyc/Wgz2cfIDbunbDzj50WK+r2t3qb4OQ3z0/Ogw2MfIjw6DfYz8QFrv9gNG + fnSY7Vvm6U9xtiT2Y3rKtjFeMQXfLdWVO7GEdIjvIeZkhwAe2pL9DgE97xmi97CJk0wHDjFyEqzjQCPz + Ev0r1BtOFPucNJF3YGyTfn7dzkotX4t0S8pYlw2YaU/AHdT3tnNevCs22YCZfsUGinvL5b+4XoXa3sdU + NtXZY1qtn9OKlBIu65h3PwW3Q+OyiJnRFLgsYI7q1sIGIEr7Rgp5zOuygPmlPZ08JoCvsONs00r9Oe+K + VZLmD2WV1Y+knMAccCTm4gcAR/ysJQ8+7djXpO3E1ddd/pzGn3t8M5ojShrGNu3ULxVR+Q0boCjMvPZg + 0M3KZ5e1zdXqLPnwjtow95RvY6gAzweawyl71HLjl5lmHmHTbATa7SG2qvSLDfvNJnuhqlGRF/Ps7ANR + rgjfQqs2oVqye/LzRikQUnlx319Q00ARnuWcNvPXEpAloadmR9k2PSmlZ6ia1wK2KekmcVnY3NVPetlA + teboLQEco/3s8E253+kNSAUrGqLC4jaHujLedYMNRpS/FpPb68l1s8nT9/nlHxPaenkYD/oJSwYgOOim + rN0E6d7+eXo/J72gfgQAR0LYQseCfNc+Fwll5ONyjvHXXlSvfavenMe7lyQ5rHDiNMcRr8p9QXiS7IGO + U4rqKVvpF2HW2SqtyypJN+pbySodPzgeFA3GXIqNPhb5DYIaJifqk6gk4bxak+lNf0xuJ7PLm+T28ttk + TrrNfRKzjr+5XQ4zEm5pD4SdlLfwXA4xEvaXcTnEyM2eQO60L86U+qDeW0IFElCE4jyl+T4iRoMjfl4h + Q8sYt4gFSliz/JrlbEjEKo+JX3Dzz1aE4vDzTwbyb/7902I24RVvk8XN9MLRk7iVUUQMtPd++Xo9+hQi + /V2b1Fvep8WaIugQz1NX6aomihrGMH27vBptUN+1Sc4Ony6HGcfXxi4HGQk7e1oQ4iIscXU5wEi5kSwI + cOn55vH7HjgY4KMs/7YgwEW4AU0GMJH2s7Qpx0ZaTt0TjmVKTaWpn0LEpdMm45hoC6YNxPFQ3v04AoZj + Np/rV/LT8XfykXAsoqBaGsKxHLbZpkxAeqDj5E9hI7jj506cgrDrLvPX9+pmVaOMmuY1QNC53ecMoaJ6 + 23Q+/66+mlxP54vk/m56uyDVkwge9I+/h0E46CbUfTDd27/++DSZ0W4sA3E9pFvLQECP7mDobmmu/llX + hEY35HAjcW5jnwxZI39GUOXGjXjGhgrQGORqBOPdCOxnRwiO+JnXj9eD3eftJ5uq3FJfBUYFfYxv16Mf + B6ivWhyte3IEbAelc3L4vm1YVKqnvimrLUVzhGwXrXPSE6blfDx+bnHU9Dz30/OcmJ7nXnqec9LzHE7P + c3J6nvvpOVl8ubumvE7bE55lX9A9DdObmgmIq7vb+WJ2qRq/ebJ6FOMPvITpgJ3SqwDhgHt8QQHQgJfQ + m4BYw6w++UxLgiPhWppdg8WqJkxyeyDorCvCEzOXc415Of5QvZ6ALMkyK+kmTbk2SnYeAMMxWcyvLu8n + yfz+qxqEkTLTR1EvoSy7IOqk/HCPhK3TZPnxg+7qEh77YXwoQrtbBD9Cy2MRuJk4DeThtLkrVFeF0H/C + eCwCr5BM0TIy5RaRaaiEyMh0kIPpQNnYwycxK22TCog1zHeL6dVEfZVW1iwKshFKgMFAJkrOm1Dvuvv0 + 38lqKc8Ia4ENxPHQJqUNxPFsaY6ty5OOf+oJ27Km/ZK1+yvUf6x1Uc3WetGApLgcFPUuX2PUHW3bm6eS + qvObUqRHyHOpjut6fGfXgmxXTjqQvCccS0Et6C1hW9QfzlbLJUXTIb4nL6iavPAthBX3BuJ7JPlqpHM1 + SktN4g7xPfVLTfUoxPZIco5LIMeVlqrpEN9DzKsOMTz3k1v9Jb0vSprn/YokmazKYvy9FtYA8WTz0J4e + oON8o14BVK6ovpYCbLSHrA6G+AhtgI3BvorUk/BJwKryKnsgGxsKsO32qmFoTlcmK3vU93J+Nfx79fzh + y1q1XzXddyB9q250svT9GWGeH0AB77bOtuRf3lKYTd2x/+IZNYla19lmw9Rq1Pc+pvLx/RlV2VK+rUvi + 5J4qPIKAUz8abjbVLsnWHgW8Ms2L/ZbsbDHYt3tMOT6FQT7WDdRhkE/u0pWg+xoM8r0wLxC7v/PHZC1y + UZOv8QjCzrJpOasHjvbAgmZOhdlhoC9TTVxVM4wtCDoJg0+bgm37rRrkivHb10IsaK5EXWXiiZOeBzTo + pTxsQ3DA38yD7rO8zopuXTs9ZQCHH2nL6oVtkV5Y+3fSmigABbxiu6Z3SlrKtxUls+N0BH3nrpTZS1KX + SU2u+Q3U91aClUEd5vukWOlDe/jdUU+AxuAVLQsG3D9VlSx2pAWLEIuYOa3EEQw4k2zD1io2ZN6N3w0F + hGE3/W5rKdCmp50YOo3BPk65/YmV1p/M9vEIwk6ZSNKLcxALmhktb0thNtJGGwAKe+ld4JYCbbuSUx4V + hdmawkBYTQrTsH0vHzlahYE+wkpem8JszcFYm32x4mmPOOx/zDas69UcbCxZ96bGQB/ppQ+XA41/i6pk + CDUG+OpqlapWcEsv8UcStHLq9IYCbXqoztBpDPTlq7Rm+DSG+BgdhBYDfQU/U4pQrhS8bCmwfCkIh0g6 + mO/TEzwP5Hq8pQDbVvdym+4uWdmjgLfMy2dB7gV1mO974k52P+Gz3cePVJ+hXe/Klh8NfpS/WV3uv92+ + 9uLLZEZ+QdOmIBthUGgwkInSBTIhw7UTBfwAZLQYNeBR2i2/2CE6HPe3Oy2w/R3u+4mvZjsY6iN1En20 + 995PviWX89vT5kX6sUYLQlyUJWweCDifVQkRZGFDYTbWJR5J2/rX+bvfk+nt5ztyQtpkyEq9Xp+27cvX + WkiW2SZtq/rP5lnjMh2/stblHGOZPKpQ49spC7Jd+rGT3vnkanqvarcmdShWALf91Nz387xJ1esvtDPJ + PBByzi/v2xcIvo6feIVp2J7cf/9EON4LQGEvNykOJGCdXEUkhQmDbm5CHEnAev/1av4b2dhQiO2CZbvA + bOrr0z+b7XKoNxXmgCLxEhZPVX4pCJaBWdS9Nhu41/TnzWtBXPkBht3cVJ6F7mPdGJGNGkJcyeX3v1g+ + DWLOq9kNz6lAzDmb/JPnVCDgJLbUcBt9+Cu/nTFhzB11D3gGPAq3vNo47o9JokAbpD+PaodcARojJoFC + bZL+nNcuHcmA9YJtvQhZI9spxINF5Cd8ONXjSs1gmZlF37uzEfduVDvmCvAYMbkwG6ofWO3aAQw4We2b + CYfcnHbOhENuTntnwrabPOwHRvztkJ3T1NkkaOXeKACO+BnF12URMztB4Fat/ZDbpPk0bGcnB9KStR+S + mzEDw3wXPN8F6otJWEcwIkZCWLkflKCx+E0xKgFjMQtMoLTEZEQwD2Zx9clsqD7hNrk+jdjZqT0L1lbU + ZranMBu1gbVJ1EpsWm0StRIbVZsMWZPbyf/wzZqG7MRBKjKnfvxzRNuNj1ONz+PuuYGRqvUl9t0RGqta + 34hKqFC7HjNchQ14lKhkCrbzrCGrg4a8F3zvRdAbm/Aj2n/ga7w+ACIKxoztC4walxtfjShgA6UrNqMG + 82gWX1/NxtRXcX2F8Pjc+k5UbswGa0Ve3wEeo9uf8foQ+Cjd+ZzVl8DH6c7nrD7FwEjd+pzXt3ANRhR1 + e5+eJfefJnrdxWizRXk22qYHFuS5KIt+DMTz6KfMeoO/tFgnK1GNX5aC8V6EZts6orVhPFO7+Qfl0BYP + dJzJtz8+n5JkDWFbzlWGf73+fJZQtqH2wIAzmX+5PGWLG9q175biTG8PpF+PJL0JhOCgXxRRfhO3/b8l + y32xzoWud0gF1gIRpy7F2UYfhCF4blOAxKjS5/g4rsSNRa0ifgNqiN+aG5yezAcKsun6l2c8kJiVn6SQ + AYoSF2HIHlcsIIMbhbKjU0+4lvp1J/T7L5RNaHwStTYLHJnehsXMXY0i1jz5Ecf9TyIvd3x/h2N+nRdc + ecuGzZfFehL3E3yPHdEZMpHrKIgPR6A1PT4dthPWOCO46+9aVZq1g1xXV2Bprg5yXYfdk483AWef5BEq + N2676/EbRA2IjJh3N9OrH/SiaWOgj1AQTQh0UYqdRbm2f36/vGH+WgtFvdRfbYCok/zrTdK1snfRRfCg + n5oa6F66wMfkVMH30+0+/3Z5f69J+mUbJGblpLWJol7uxYaulZ62BtlbZ5e310n3jsRYn8k4JvUXkb6S + RC3ieAgzHIfvO4ZmkT7J0RCQpT2aVp8OqndS1od7EzqZAxonHnH7MJNxTOtMpks1JNuU1c9kX8h0I9Qo + bbMRlD2fh01OVPFAyzf1fddQvNFlh0ROzE1GPDfUphxbO+gp1slW1I8lLT0cFjDLV1mL7eHQC/3zktVe + 1s35CMQUGtY58ZutYfTPJoU5Uo5tV47fPeAIuA4p9uuScbOboOOUQtAyTQOeg18GZLAM0M6gNRDDczX6 + 3Az1VYtrLo7QzzUQw2M+fqFsGeKBtvPwrIWqNDnL+L/J6buzD3oTJH1SYJI+vZwRvABt2ZP7+Ty5v5xd + fqP18gAU9Y7veXgg6iT0PHzStuoXSHc/V/JU1TaCcHg8xNrmZTb+ucHh+44h14cPFw/J+PdXHcz2Ncdl + qHpwR7qunoJslDvRhGwXcXxvIK5nk+7zmlrneaRtJc4YGIjt2eTpAynpG8BxEG9T/950jrCiyBw04KUW + Mg923fW7ZFXVCW11DYAC3jVZt4Ys290pXaQg0PWL4/oFuQRZJADLJl3VZUVP+I4DjNmv7Y6s0xDgIlZC + BwYwFWRPAVjoPwz6VTspueW9RwHvL7Lul2dRdz9tDGpjoE9vyqVaLmqVZLO2OZNJuUt/7Uk3wRGyXRGn + +SE44iefhAfTtp3YZfL6STqB6a1qT2E2vTOl4Ckb1Pcy88dBg94kT6sHQb9uQBGOo7ftrOqYMK1hMIqI + jAH9DlY5tsmQlZ0JnsGOstPzY6r3rHv37eqWu8vJfbJ92JDa5IBmKJ4er8SHO1iGojVPKSNjtQ48UlEW + ghtBs7C5HUy8QR6BouGY/JTzLW405pmrIAy6WXcnftpq86ne5Iuk04DnaC6bMSJ0UNjLGMs5KOxtxi36 + jFjaRCBqwKPUZVyMugQjtHnKSXaLBK2cRLdI0BqR5JAAjcFKcB+3/ZI/opWhEa1kjtYkOlqTjBGWBEdY + kjdukNi4gbJu6/B939AMlqgthwUCzip9JusU45r+FjTL305LqYpdTZ926inbtt9RThLuCdtCO+mwJyBL + RIcJFIAxOOXDQUEvsYz0VG+jrIG2Vzzrf9GOzO4Jx0I5NPsIOA7ysdk25dhoB2cbiOU5O/tAUKhvuzQ5 + fY+MZyKm8QHxPOSU6SHbdf6RIjn/6NL0tDkwnomaNh3ieThl0OJw46e8XP2UXG9Le3Z6Xh4hy/X+glLO + 1bddmpyXR8YzEfPygHgectr0kOU6Pz0jSNS3XTqh3SkdAVnIqWxxoJGY2iYG+sipboOek/OL4V/L+KXg + r+TUERbnGVlp5qXX9P7L5fxLQmixjoRhub/8OjlLrhZ/kR4zOhjoI0w/25RnOz4p3MoHotJEPe+uKldC + d9fIWoM0rKRliO4KxPbf1M2rbaq3LWbf54tkcfd1cptc3Uwnt4tmYo0wpsMNwShL8ZAV+ry8fVqMP2dv + UESImZQqNZKtyp704e0uwLKOuJpKrMV2VxOycoQqGFf9PZOPb5H0jmlM1Df5uZ4rHJlQXyF40E+ov2A6 + aNczHLKqIu9IwwJHm87n3yezmHvfNgSjcHPEwIN+XSBjAjR8MAIzz3s6aNcFW2wjArSCETGi60DcFoyu + y+NW1KmeuIsscK5qMG7E3eRb4GiKbf+DW9ItARxjLVblun+Wc0gCTjREhcVVXzMeSUixqsaf5TVsgqOK + l5369lYUdfJ0yglmCYZjqK7bdhkbp5GMifVU7qpNfLRGA8fjFkS8/JnL8jhmk4cjMCtZtHbdSZ333Izt + 6aCdnZUm30f4Pp/Mbu8W0yvasUUOBvrGj3otCHQRssqmettfZ+fnp6P3Amq/7dK6LO3SrKJZDpRn657U + NZVTVzkSzYDBiHL+7vc/3yeTvxZ6k4Z2QYM+iXd0DIQHI+gde2IiWDwYgfBWnE1htiTNs1TynC2Lmrmp + MJgC7aeJ/BkjVzjoX59lDK2iQBulPnEw0PcwvhdgU5iNssGdT4LW7IxjVBRo45YivAS12c/73UcWNJMW + 4Lgcbkw2O65UoZ63O2mv7QxSZgkw3ougbrJTRjE4YJBPv8JWrNNKv0lVi0JPsEm6HrKA0UgnvbocbkyW + ZZlztQ0ccNPLnsV6Zh2uy+ea8u4tgnv+5lZiVJBHzjP2mcq6FV3c8+taj94+dBRo492BBgla2WXNhgNu + euJarGduFzbmmaRqe9BzNgdO1y9EYUeBNk5bdORsY3J588fdLCEcC2xToI3w1qtNgTbqrWlgoE+/ysLw + aQz0ZTXDltWgizC2sinQJnm/VGK/tJl+W/OMCnSdi8Vs+un7YqJq0n1BTESbxc2kXUVBeMCdLF+T2+l1 + VIjOMSLS3af/jo6kHCMi1S91dCTlQCOR6wiTRK30usJCUW/7ZiVhyhXjwxHK5b9UcxoTozWEo+g3DWJi + aB6NkHEvP8OvmlwrmiRqVZXSaUyeHvlwhKg8NQxOlKvJbKE3rqYXeYvErMRsNDjMSM1EE8Sc5N61g7re + 6e1nRnoeKMhGTceWgUzk9Osg1zW7oe8u6ZOYlfp7ew4zkn+3AQJONdZ8l1Tiqfwp1mSvCcPuUz16o845 + eDDs1p9ytJoDjNQ+f8cAprXIhX4xinF5PQp5SZvdOhjk29N/sd/b0H9l3TzIfdO0qaq3pLcmJjtNOOCW + osrSnG1vcczPmwmDeCxCnsqatkAS47EIhbqImAg9j0XQ7/ak9b5iBjjisD+ZTf68+zq55sgPLGLm3NYd + hxs5wyYfD/upgyUfD/tXVVZnK95t5ToCkeijY48O2InziC6LmJtVVRVL3KKIN64iGKwHIquBwVqgv4up + z31gAxKFuF4YYgEzo2sH9uq2ab16JKsaCrBxuodwz5AxmDhQmI34xMwCAWczGoy4BRweixBxEzg8FqEv + xGn+UPKi2I7hSORHaagEjtVVXKTdWzEeicC9r2Xwvqa8Pm1BiIv6sMMCIWfJ6BdrCHDRXl12MMBHe4nZ + wRzf5K/F5HY+vbudU6tai8SsEfPViGNEJGoXDHGgkagjOotEreTRnY2i3uaYG06nEVYE45AnNn086GdM + a0ICNAb3FgjdAdS+gkWiVhmfq3JMrsq4XJVDuSpjc1Viucqbb8TmGm/u7r5+v28mttYZbYxho7B3VVc5 + R6o52EjZp9zlECM1LQ0ONj6m8pGbnAcWNpO3agdhx92s/ZrcLmbTCbm1dFjM/COiwcQkY2JRm0xMMiYW + 9SEvJsFjURtoG8W95DvAYXEzq/EE+HAERkULGvAoGdseuieoTaiN4l4p2JcrRR30RuWmHMxNGZ2bMpib + 09vFZHZ7ecPKUAOG3M3DoaKuXunmIxr0sitP1zAYhVVtuobBKKwK0zVAUagP4w4Q5Do8U+NlrEmDdvpD + OYMDjZw2Amkd2nSmT5m7MOTmtTlYa9MuCSJOklskYuVm/BHFvM3G2uw72jUMRmHd0a4Bi1Izn0FBgqEY + 7B9So0+imq/ofjddrCnMlpT5mmfUJGTlNFpwW8XqeSB9jrIQeVYwbuYOhJz0xwc9hvoIB3P4ZMhKfTLh + wpCb1Yfze2+qtE+u6K+smRxu1G9t1KqWk1z1UQDHaOpm/QeO/wijbvraTYeFzdR7q8cc3/33T/r8XnLe + GRxsJL5waGCo7x1T+A43tlvxcr0tHbKTN+sOKOA4GSuZMySVqeWqx2Cf5JUCiZUCGZVnEs+z2f3dfMIp + ZD0YcNKfMXp0yC7j9DLs1x0a4toHjw7bo67/KAjEoA8vPDpgj0icYMrU1V7yr7qhETv9tjxyjlHvPMB7 + WmCRmJVYuxkcZqTWcCYIOJtFwGldV2TpkQxZOSMeSDAUgzrigQRDMahTMZAAjsFd0Orjg37yMjBYAcRp + jxZhHB2CG4Ao3WQRq8QaLGSmTzP1GOQjTjJ1DGA6Jj0r8ywasLMqPqTOO/T4OLlvsJiZt6LZx2H/aSK2 + aZZz3B0Ke3mF9QAGnNzK1eEHInCqVocPRaB3bXwc8UfUqjaO+PkFPVjOI9bsggYsyr55AkTv2kMCJAZn + /aDDAmZGpwrsT3G6UnAvij4Vd6QwG3UizgRR52bHdG6gdil2ZS3iGI5EX1mLSeBY3Dtbhu5sGXvPyeF7 + TkbcczJ4z5HX7B4gxEVes2uCgJOxLrbHPF/zdhL/7UpIgMcgv+/ksIiZ+Y6kj2N+cv/2yCFGRk+0BxFn + zPuCiCMUSb+qu0r1/kTX1LcZAp5QxPZNydv9dikqfjzTgkdjFyb47TznU153FlIMx6F3aiHFcBzWMt2A + ZyAipzMNGAaiUN/gA3gkQsa7+Ay7YnoP78ghRt1KvsFN7msC8aJvcVfixJpP/6DXvQcIcJGfQhwg2LXl + uLaAi1i6WgTwUEtVx7imxd1s0pw2s8pFWhBbU49G7fSctVDU27Qb5C0EAH4gwmOaFVEhtGAgxr6q9C7n + K+JCfFwTjkd/AAgJBmM010LsZqOWcDRZl5WICdQIwjFUw6QfCRF3UcEkoVinTbmU/DidYCBGXMk+HS7Z + p7ooxv0MxYcjMF68Bw2hKM0j0j19yTMmCcaKzJbhXOnriajK09IE44mqKiNyqOWHI6gh465+jI3TWsLR + Xugr7EHDUBTVaLdrO+NCHTVovKzIuCUhKzI898k9FZNErd054Oya5ciHI8S0knK4lWy+0jUGenvs1c+Y + WJYoFDOqfpGD9Uvz+ojYpPu8jojRGQai8O/2Ix+MEFNvycF6S0bXJHJETaK/QzoHHeODEXb7aldKERGj + MwSj1Nk2JoTGB/2JuorsJTJKKwnHIq9NAvhghO7Y9NUyIsrRgUZ6iwpsuO7SM83M3soBxb2sQVdHota8 + LH+yhtQ9DLqZo2l0JG3socupIkwc93Nb0oGxZvOudN7NYXGu3haAMXg9GKz30jwC5KZGD2PubgUTr0Rb + PBqha5nVddSPkhnFcgQi8dr3cNse0x6G20L9abtZCTf1Oxq181vZoRY2pkUKt0axLdFwK8TY4cgEHWd7 + aB15BrnHUB/9obvDYmbG+nKHRc305zkOi5rp96DDomZ6OXZY0Exd8X2kHNufl4y9dA8Q4CKO2/+E3ozX + f6S2cx3jmiaz6ecfyf3l7PJbu3f0rsyzFW1dBCYZiHWaPJbEjIcVoTj6YUfFKLyYJBSLXkxcOmR/YDWx + sGIoTmR6Yfe89aWseFTNRET+d4JQDEanHuBDEci3oQOH3Lr/yJdresjOWMCMOAYjxd3rR8VgnGwXGSXb + jYiRpHIVHUdLBmM1VWkmZGS0g2YgXmwNI8fUMDK+hpFjahj9JV1m3iDWUTMUj9PlxyRDscjTa6BhTBTG + JFvAMxiR3CGEFU4c9urMwKrM5qNKNEtsGVss+Tjkb34MW2/Svp28Qg9eQ9qcb0wfhfUY6CM3gD3m+Jpn + IJyRpwl6Tj33kv4kDuV6DPStUoZtlYIueutucKCR3Ir3GOgjttYHCHGRW2UThJ16qQEnf1sQdHLfeBx6 + 27H7nNEAWSRopVfJBucaiRuJ+XuIqb8cFzOQG0EXBtwsZ8DFaD5t1PEyV+qjK/QZb7KCb7FSV/j7K/ub + moc+kO4xx6f+a91MmbU716fqX4yDhlALEo2z9MhhXTM1RYC0aOYl0339WKpR8ytnHRZoCEdR1RR1rhM0 + hKMw8hQ0QFGY74KE3wFp54jL+nJTc/LgQCLWT2JDXV1po5CX8Yob/oa28UmyzGpZV1xxh0N+9jL4oTdc + It4tD75X3n7YvbHHvXNsHopQL6W+hDR/oNt7FjLvszXjLtGUb+NMTqFv1jcflCu5o+s05dsSY5slqtNk + AfPhaateBJGklUjJfs8wFIW6rTokGBEjEcVTdBwtGYpF3swdNIyJEv+TDpZAtEOfPyabDAcQibOuDV8X + G7UadmANLOetQvhtwoi3CINvD0a8NRh8WzD2LcHhtwP5bwWG3gbkvgWIv/133GxjLdZNO7eX6YPgyB0F + FqfZDYc+jQzwQATuqVwPwRO59Kf8pAmlCLfbGui18jutoT5rs14pFwXZ2XGQkdUJRvvAUV3UgR5qxK4w + QzvCRO0GM7ATDHcXGHwHGP1yJ7vQbgOldssvtlu83G6baZ90/S+a84g5PqOGIM+8OWzATN7o24UH3ORt + vyGBG4PWxHkrDdQdna3pzzx6DPSRn3n0mONrFss2XcxVldO7xD6O+iPcqJd/yfDVUhdq+GszdmklRbKp + ym2y3G82xLrEo117s2SqnTaniQ3QdZJ3mYJ2mGLtLoXsLMXd3B3f1521TxWyR1U3o8SYDrdIx9o9320W + kZGkJug421NsOW2aRSJWRptmo5A3Yt+v4T2/ovf7GrHXF/f9L/ytr5gzecPn8UpuP13i/XTJ7qfLQD+d + uXsaunNa1P4nA/ueRO3INrAbG3cnNnwXNvIObMDua6yd15Bd1/q7a70ndkRtFPXS2zuHdc1GdpE7zy4c + cpO7zx49ZCd3oEGDF2W3Kyv9JuBxloMYw+OdCKyxEDISOvyZ2pUxONfYLK2iN+wG5xgZK5TAtUmM3Q3B + nQ0Pb/JQX+U0ONzY7d8ga3XrPXD1lsSO9fSes8Ktpzwbb92FBXpOxnx2T2E2xpy2B4fcxHltDw65OXPb + sAGNQp7fdtnenJ5lyfReCWaT+Xys0oIQV3J7xdIpzjAus6RWI5JkqQbG++JZrzGpxVZVuun48/eCknCs + 56osHlT19JBJQkd02AREXeXlUvXYkur0HTmOwQbNpxHm06D5LMJ8FjS/jzC/D5o/RJg/BM3nEebzkPmC + L74IeX/ne38PedMXvjh9CZmXO755uQuaI655GbzmVYR5FTSvM755nQXNEde8Dl6zjLhmGbrml+2WX4Vq + OOw+jXGfDrijLvx06MrjLn3o2s+i7GcD9vdR9vcD9g9R9g8D9vMo+3nYHpXsA6kelegDaR6V5AMpHpXg + A+n9Mcb9Mez+Lcb9W9h9EeO+CLt/j3FDPYjmuBvVbW7fXF9nlVjVhzUo5FghGRC7eQc0LqKvAOLUVbrV + D7/Gn5IMoIC3G3FUot5XBVlt0bhd1un4KRUQDrnLHV9dmr07IU/PLh5WW5k9Jeofyc/RC6AANOhNRLFK + Xk4j9J0BibIWK5ZbcYhRrJZNyGVejn9kixuwKOrzrXxIXj7wQhzxIf9FnP8C8f9cb1hixVnGs/OP3HLo + okEvvRwiBiQKrRxaHGLklkPEgEXhlEMIH/JfxPkvED+tHFqcZUxWddW0T4Qnlg5m+x6fk9VypX9A9bqr + KUqb9K119f7s8Gmbt5KqBxReHFUyGVfeUZ6tK4sMo0H6Vp4RsbW7XLSJQiwGPg3aD0nOsxu0bS9Kfmlz + WcgcWeJQCRCLUepMDjBy0wRPj4hyAvFIBGZZgXgrQlcBPtbpMhcfSVuOwzRuj5IPuVVH//Vp/PMkjIci + dB8lj2VVEJ5vILwVocgS9SVGMbdByEkv6DZoOGVxql/A7B6/JrkoHsZvHwTTjn1dJul6SVK2iOPRHQTK + W9QWBLhIJdaEAFclSMehuBxglOkTXach31Wudd6QFjkAqON9EKq8p3n2t1g3yyvqMhl/bBNu8KLoHXLL + bCVURZeLVV1WxBgeD0TYZCJfJ7ua7j6SgLW7J9oqaFNWzSidsE5iUOTEzGS7BEp/jRTDBB1nJTbN43Jd + GTUzSM1Mw9+iKkkRcA0WTzdrZSF4UTrYccvIsiQHy1L9uhPUo708EHLK9rykilp6XBhyNwtlk1SVgVKV + AVHRA7gGJ8q+XjFrCIvsrUsh9sm2XKvKWK+b1BdQUTZ8wXgjQlZ2c6VSdV6p51LAtG1XfyrKRD6W+7yZ + ahy/mAOmbbveD0ndZXppnk687jL0n9L1mvQ7wiY7qv6QnlI95dv0qmP131Rdh4E+bpIDuOEvklRvq7Bf + JquykDWpNAKsbV6vk+eyGr8vg8nYJinbN3Zqqcp+snytBUkK4JZ/mT2oTsM6SwtdVqjXDNCWfVXuXsnS + HrJca9V15+SUxVlG8bJTdwVB1QKW45Cy1B9pcbZRv620LYv6odyK6jWR2zTPKWaItyI8pPWjqM4Jzo6w + LOriq7R4EOSfboO2U7ZDE3XXkq0O6norkad19iTyV91zIpUggLbs/0pX5TIjCFvAcuRqpMcp3RZnG4WU + Sf2obk2jMMwoalCAxKBml0Na1m2W581iqmVWkIZ8EBswq35Pc6YJW38QODGKTN1yyXO2Hj8qdznbWK7b + k3QY5cNjQTM19yzOM6pqsiky5KrLhz131/97196G/DCoB4vITn2PRyNQ6yWPRc1SrCpRRwUwFV6cXD5m + G30QKTONPB6JEBkg4N/u85hGF1N4cbj9TY8FzZz7+Mh5xv3pR/a1Wqxjbo8qpo66ART2UlsMk4ONulMx + mzHTAnH4kYp3VG/xzrbs8w8vzScU0RFyXbyWweQ846rcLtMPRF0Lwa4LjusCcDFy1uQ8Iz0X4Dxo8pne + YXdR2KufRnGkmvOM5CrzwHgmTpkDy9sL63Z4ge6HUpXponk9WQ8HyuVTVu6lGg2oAqU3C64pJWfQZUcu + mtm0vmWhRHJZy7wrn2mlqgUsR6XnlXjjQBf1vV2fo/kOVWyytlms9yuhkmZFcvYUZtMD212ecrVH3PHL + 7G9G2hqY7et6WmShyQHGQ3o3/yB7LRqy8y4XuFq5SuuaVuoPiO1pHieQr8vEHF/NHjl6rGeWtRqnrhhX + a6OelyMETL+qC939UolcpJQmxAYBJ7Hy7yHXRe+59BDsuuC4LgAXvedicZ6R2o4fGc9ELh0HxjW9sIvH + C1o+GKMleKRkta/k1ANoy77nTvzs8VmfPXcQusdHoM/kyfRnYDa9SV2dJv2DBYrRpw17qZ+mSpnrOnjT + Ps1+3KYr1eakZ+ej348Z0ITjxYcaGeV8/HttuKGPsjrLksv57WnyabpI5gutGKsHUMA7vV1M/pjMyNKO + A4x3n/57crUgC1vM8D2m6n9nzeGar6fv350n5W783qYwHbJLMb6Gg2nDrpeNlc0aslWux0ii0MtFRt+j + GN9HWOtku7rSGyBcT+ZXs+n9Ynp3O9YP046dV+rWoVLXf/jtnqs9kJD17u5mcnlLd7YcYJzcfv82mV0u + JtdkaY8C3j8mt+qzm+n/Tq4X028Tstzh8QjMVLZowD69PGeajyRkpdVFa7QuOn5y+/3mhqzTEOCi1Wtr + rF7rP7haTNh3lwkD7nv198Xlpxt6yTqSISvzoh0eiDCf/PP75PZqklze/iDrTRh0L5jaBWJcfDxlpsSR + hKycCgGpBRY/7hkuBQGu77fTPyezObtOcXgowuKK9eM7DjR+vuBe7hEFvH9O51P+fWDRjv374osCFz9U + pfb5rmukSQEgARbj6+TH9Jpnb1DHu6/L+/bYja/j383wSdv66XI+vUqu7m5Vcl2q+oOUGh5su68ms8X0 + 8/RKtdL3dzfTq+mEZAdwxz+7Sa6n80Vyf0e9cge1vddfdmmVbiVFeGBgU0JYOOhyjnE6U+3d3ewH/eZw + UNc7v7+5/LGY/LWgOY+Y5+sSl6jrKMyW3F7SqjAHdbzzS94tZYEBJznjXTjkHr9NNcT65v0yz1aMhDhw + npF4opVNYTZGkhokaiUnZg/6zvn0D6pNIZ6HUQ0dINs1uWJc1RFyXfc6gqhFJWm6nvOMrJvQ5HAjtby4 + bMBMKzMO6noZN8sRQlz0n47eKf1H1B+N3SeqyZjcXk+udV8n+T6//INUrfu0be+G2OTmwuRw45yrdHoa + 0/n8uyKYraVP2/bbyWJ+dXk/Seb3Xy+vKGabxK1TrnTqOO8WU9Xdm3wm+Q6Q7br/ejUfP0vcE5CFegP1 + FGij3TpHyHf9RvX8Bjg4P+43+Ldd8KtbAA/76Yl4Eah3m8/11MmfTU2iR3VkvY0P+lkp5CuG4zBSyjNA + UVjXj1wx5xq9q9Kjwx/krDtSkO2f3y9veMYD6VjJjTvUsvOadaxNZzXoSGvO68Fh/beI6iRUk7ArkUD9 + wRk0ISOmGXc0OsNHo7OY0egsPBqdRYxGZ8HR6Iw5Gp2ho1HzE04ymGzATE8EA/W8yf18ntxfzi6/zYla + gwSs5LpohozKZ+xR+SwwKp9xR+UzfFT+fT6ZtR1GirCnbJvexZ/i0d/3DcnlzR93M6qnpSDbYjGbfvq+ + mNCNBxKyfv+L7vv+F2DS87ks3QGEnKqlpfsUBLlmN3TV7AY2kXuSFog4ifeYySFG2v1lYICvGZLPiesk + bDJknfO1c8BLnRg4QoCLXqEa2P9r7fyaHMWtKP6eb5K3aXp6Z/cxqWRTW9nKJp6teaWwwTZlDAzC/Wc+ + fSRhGyTdKzgXv3U1nN8BgYSQxRHB2/zzfzBMa2iS7E68CRmm5E686hii4E4cZCTv2x//xiaVTHUEERw6 + vWkI0re/4a2M1hAkyTWgy19Q9k65H4f1QtPrj1b7bPl6l5TWJTfn9tIXdg3xNsvNAusmbuQ2pQ/xiZMm + ripLbebLuVg+Xd0RuazhBIFAPUc0sopd+q9frx8R6+NfSvNkNC/fVhKeltG8fVEVZ/PNs4R6F8fYw+K3 + SGxIjBFzOl8quYUWx9jDdzJy/KCPOajvnRyvxTG2mZK87grcCLSL+XI1bbvCVF2Jx1RPOwivLXtVzXTS + baYKIdRqY+R+d5SjtZhnryjmiTzCt2+6605hygic6lL1ZvXCXZMX5tumKutMcgp6c3KYwE+V57ayi3Gm + 7/rh0nR5WWc9euUZCue2su1jKHE3YS0nGZzToWsu7RCReOlehYXoQeJe6hFeas7Lpkz0MotBy5JVmpkW + bm8auQ+hg8OIODX1mrKaADgPG9dnE7JkFqM+7oBkKHD6uIO5JfTdvu7CkKior0qL75esWmF3JTgu2d78 + dc11ymrYg9RTDsP3ozh50FFEXXA3Wxw7Ebts9LVgqnFI2/JQX2y7aBtIgOcpGerw5BJhB6nDXfGQiz7Z + bu9kb//5268IcyJzeMPDBns5umsIEnq/T1QETfTYjj6rh411cYCBWkORdDttonDTc6ZOOHOqJuhAiO5U + Q5Dg5mIqo3iXLQ67bAnS8JWmrkkw765kqKL7hux3mR7StEqavFwUzzJmneCWiYc4XnZZeX2+tp+RtsnL + T+n7Ob9+WZoq9XYBPOdhMe/nnz/fdjd/rvMmYAu9X54Su3uad9m+//TlIcfgQ8ljub43eccu8KdBSz3N + scrPPQ50jkE4UMGOT9w7TPowhi4JQA3FM2z4pZxDOD6tGWgF+0p3jUuyvWHTuphVHRCcIySY9rF6qU35 + d4VSRQ7DAwLhYoYuJIPWLIDxgFtWXxrlouNapH7OAbsPaUDcA6+lHGLGx45VrbKxhCUu6wuOHVm7vYmC + /a2pjOT1t4ZjfK4rAZ/CEH6C/pMrdJnD9ReUiiN0mCbbq7FdaNuDhqsyqXccrlcaezkaRRTLvuigSx4w + coovemEKtCwZj55jAZRHWb9+WuXhAUgPBa2AEggpppv3iqNdPeWAvbCOIooF/4Lm6CgiXK0dHUmEXi9H + EcUSNGWekqGuueRMFiOzg7mx5a0Gi3J9h7FTle2vw5uIka91ycOY6fpKHuNEHB9SlMuI06MwkxLyJn0t + unL/IezO8gzfSZWHOn0r+6N5ou2GpaZOdfNWp1mt3opOYLwIOT2O4bfAH+aFP3t9T+4Zh8C7JItgfNCE + XVLMsKFG19UxRN3jWnfEU0DEw+TnrfK4ARiPoasHdYwo9RwdfpOPQKJeeXMB1l1jAYzH7R5+ERnc1TP0 + L6voXP1adScRd1GevLw8/SL4WcgXhkx8+MQXjsx9mV1/p77a5u/IzBdGHucr3blfvgolT/Bc7FCs5Pin + Qo4JzJUKhCPTBMsd7CCibvOX8hwRxbJRdTjNyigekpHuqiiaUqp4xnFW5vH08fZwyd1EFAsvuVFG8eCS + u6soGl5yo8zl2dFksOBuGoIEF9uoImhood1FBAsuslE10o6nfI83sq5qpJVJJs00JKQEF0zv83UEEUvc + 82QED0sk8mRT3k6ajklICS5ckju2JPMVKaG02qNLyyGPlUMuTAkNlRQVSwn1dQRRUqPyWI3KV6WEcnre + QVjKTErofTucEhoqKSpaO/JY7UBTQh0RwULbrJxrs3J5SigpJthwSmiojFGFB82mhN73kKSEkmKS/acQ + +ydDhFNCQyVFlTQITCuApIQ6IoIlTAnl9JQDlhLq60gimhJKSAmuKCWUVnv0NSmhLIDzgFJCCanLFed5 + kmKXvSLPk5F7fFmeJyF1uWie51RDk5BvL32dR5TleRJSnwvneXqygAcmlLkqjgZ9h01IPa4kQSUQRpjw + hecTVMLNyz/DpbQhGU1Q8XUBEfzQ3VVxNEGRkskh3ja4MKnkkNsm4PPviSTgCJqhMM/T/BvO83REPgvP + 8/R1AVFUCek8T38Ler/weZ7BVuyeYfM8h42CykLkeTr/xk+drSmSPE9f5xHFeZ602qVL8jx9HU/8KkV6 + PQ15nietdumyPM9QyVN/k0J/85honqcjcllYnueooChoBaLyPCf/x6oOked5+/cXlPOFYEhO7gt9bpPE + zN/qfSMhE4h5H7xAQ0LUZeWZzJ7FujOYPfq6zNeewRUx77PuTAYC4SLLWmXks3xRacWyVrmdBKUVyVod + 9xEdP3PEkmMMjgrOWnVVFA3NWg2VHhXueFG9LlmXi+tviTpbTE9L1rvm+tYrGsdYuyhuEiOtoeSFlnmb + 3UhHCjb8SMFmzUjBJj5SsFkxUrCJjhRshCMFG3akQJq1SmkjZLwQyKzV60ZB1mqoJKhwW7RhRkw24hGT + TWTEZCMdMdnwIyZ41qqrcmlI1upt/5CAZa26KoqGZq2GSoq6PBx1qiFIaNZqIKSYQNaqI6JYm99x1OZ3 + mgT3JJmsVWcTWMforFVnC1a/yKxVZ0O/VSKg1hFEOL01VMaoX+XYrwQXHQYi0lvv/8abaDK99b4BSG+d + amiS7N4O01udTZJ7O0hvdbYI7m0/vXWyAUpv9XUEERwoD9Nb7/8F0lunGoIkuQZ0+QvKnix3SXsStCVd + IW6gPCnNNXeNkHuV0lwh0+M15kcBvDPtyKY8JZ8Bp2Iz4JRwrpdi53qpNfOpVHw+VS+b+9Vzc79ehb8m + vLK/JrxKf0145X5NONnPIP6LZRU4ognr701X1ge9p+60f/3e9X++LW57KG2c/PvyhA5GPuH/0Ra12Vxk + qqm/9mbvf2R9ttiA0XMO37LqsvzLWkobJyNlQ8tH/jn/nG6rZndKc31G5jO3YvHHK5R2Sn65bs3UWUSn + 9aNDMyyHiLaUnmzktaedekrSsi+6rC+bWqXZble0fQZ8BhdjBE7mA4DD8ovpqgJauy3Sot51Hy0WUMnI + Xf4X+9Wg+fi1yO3FQOiB2Ge3WaeK9FhkwP0RKl3qz/aM8sKeEQJ1hBPmeds3p6I2ieJP+s4s68UfehJS + jruryqLu7TXGYysWoDhfXXzlazHurPTpF73MmGZxzvpWNnWlQKLteQLv0qdH+7G2+T5bN+BSKw/D+ZVK + XYruIdeRRHG+na4JMhuj5Kim6sqoRslRL/WKWnQV0+xEXj+TNMp9WP1MkPqZPLB+JlD9TFbXz2RB/Uwe + Uz+TpfUzeVz9TJD6mYjrZxKpn4m4fiaR+pmsqZ9JpH62qpc+P0cpx31M/eRRnO+D6meExTmvqp8BgXdZ + Wz9pDOf3mPrJozhfUf28KzmqqH7elRxVWj+n4gm7qT7SzXckEWEiGTkmQs5c4ZO2sNlH28t+X5h3Zv16 + YV6DFh/wPGniKlltqaNXW+ruCydd8wyBmkVpXbL+MzOf3rfDj+lpr09T6bM8IxYshPayoUVd9iaxuGk5 + 8o9CRv1RuMSyfs2qMgdbslDpUuFP8x2Rx1pzxWauVLBZlI01T3Jd7bWVGgVil70i4ouRk3x9Z6718BGO + z4/06VPyOT1k/bHoXmz+FmBBqCm6Sa+SkW9Kilrri590RS5EO3KKr7clZich35FTfLXL+l5e6I6c5H/v + pOircqSqpBT9GuLrCKLk1xBSPGEfs6dg6BYJfWEBCzyS1SbJnMvykBhOP+eABNHwhDkXKKImgnB8TNrU + ymvPIeZ9oFJjCPMu4NVhGfNO6BXiIY6XWSFg5TXiEPM+YOmxjInTSb96FYs7itfdHX1d6If0paoAxk3i + cpavqTLs7ajbpgXUem9fjZbDTUJy0uJdgNIql3ZRRwSjd3f0r+ZXRQBg958Q2neb6Z8uDjceFS7FrNtm + 3gDarLRZ4x0CDMQuW3eklX4vuA7IlAcE7WsJMjJA4Igo1gn5UdGTEbxe3zMmZg8m3oQuUzJe5et44m3E + bPkoA0/wXXp7Rvp1MwfqXaB0qccevvZXScAZ3mZA0iByWXY5ymNW1nAlcpUhdUimFEDvwpAprfC+NiRX + 2Uch447KkGrvBAn0LmSYx6I8HHsRdZAyXPh+V5H73W77aAuYpzUeCaw2YZ3p7V21RyBXCcU54pwjyTmr + gwClVRSt7QTnp0UMS3Rsg44i9iec1p9IUiUgVR6pSS9l3f/0GULdRB5L8NCkn5cD3fhURY39DsLIXT7+ + 2KCeGW9NL+4f+VqaDPZpJjKChzYed5HLej8r8Vn7WoKMHuVdNLJek1I0T9XX8cSvUuRXngm82BDSCfc5 + zUyXrlzcGxwVLqXqEULVO+rtrqkVoLf7O4Rd21QIwe7vErrK/FCSA8vuuqqABrxJj4qA0tmZqSBoEPms + HKO4Vzgvqj4z/wYgd41DKt51x/ICYAaBw9Dv6epYqB48oKnM4ZV5C2D03q663jeIXO/u6Y/l1iSE1x/Q + YUxkDs9U0IvKDsidfNc4pDo7m0XfatV3mVm8HAD6Uper0jJ7SatSIe3GROXRdkWHgYzAYTQ71Zq5yPoO + Qa7BVBby6sb+1o3yrjKHpxuscvchvBahmGKfs7Yt64MAfFM6VAVWCxXUCwU/m1TwbGp071ow5dHXkcRV + k6nmOKTjumlUsyDSUzIgxchJ/qqpTHMc0hGZxOTJSB7SD/VkJA+cuBQqfSo+pdDXkcQH3P9LZhJO9nzE + /b9oDuFkV/n9H5k9ONnhAff/knl8kz3x+5+YwTfZgN//xNw9b8OwhlzbNc3+vhgoPrsSgpLHIqqL9AzC + 1zYrVLrb7m7fES2G+sKA2XfPyf3rJPtjowLhBMF3Ab8VckQ+S1QCzNmb8c+rDVRHKTHFvpWKiD0Rj+x3 + 4YJm7+x6ZtcthwJZYM8RUSzTjthmBF38MoKgfNqn9skMwbUJbjBqo+TnFeRnkvxstu0y3VUXFPhUTdGH + 1smsQYWzR22cDC01zwIWeJjF21b7GMiMlzpnVYUuPT9PIl2XrzXsiChW30CP/EAYMOFJve/smobXLWoH + rgDt6wjibRXrXnB7eOoJ/eXTL9+e7fe0dh7F0FYq+036Yo8Iw3W6TmW3Pa986FzoA6u22fJ3/hmM55eX + BzN8ZfsyWXVoOr3vGbIiCbTLdfov8q00I/f4bWeWP7WTsc0YP5TXzgI8D/uhQW9/f9L7QHRXSnCNqWm9 + +3eYO0pdrhkVT8q0bJHHt6cLiMNzV9sdi3cQOpUGXPvYMsOyRa1KYOiekYf8pt4P44fnrNf7wga+PnDQ + ZwUv8U5IA27VNCeVVuWpSPNa2WMA8QThr3/5P8wvEPid1gQA EOF # PrivacyInfo.xcprivacy is not part of BoringSSL repo, inject it during pod installation diff --git a/src/python/grpcio/grpc_core_dependencies.py b/src/python/grpcio/grpc_core_dependencies.py index 886feca5dcc..2551487924b 100644 --- a/src/python/grpcio/grpc_core_dependencies.py +++ b/src/python/grpcio/grpc_core_dependencies.py @@ -15,32 +15,32 @@ # AUTO-GENERATED FROM `$REPO_ROOT/templates/src/python/grpcio/grpc_core_dependencies.py.template`!!! CORE_SOURCE_FILES = [ + 'src/core/client_channel/backend_metric.cc', + 'src/core/client_channel/backup_poller.cc', + 'src/core/client_channel/channel_connectivity.cc', + 'src/core/client_channel/client_channel_channelz.cc', + 'src/core/client_channel/client_channel_factory.cc', + 'src/core/client_channel/client_channel_filter.cc', + 'src/core/client_channel/client_channel_plugin.cc', + 'src/core/client_channel/client_channel_service_config.cc', + 'src/core/client_channel/config_selector.cc', + 'src/core/client_channel/dynamic_filters.cc', + 'src/core/client_channel/global_subchannel_pool.cc', + 'src/core/client_channel/http_proxy_mapper.cc', + 'src/core/client_channel/local_subchannel_pool.cc', + 'src/core/client_channel/retry_filter.cc', + 'src/core/client_channel/retry_filter_legacy_call_data.cc', + 'src/core/client_channel/retry_service_config.cc', + 'src/core/client_channel/retry_throttle.cc', + 'src/core/client_channel/service_config_channel_arg_filter.cc', + 'src/core/client_channel/subchannel.cc', + 'src/core/client_channel/subchannel_pool_interface.cc', + 'src/core/client_channel/subchannel_stream_client.cc', 'src/core/ext/filters/backend_metrics/backend_metric_filter.cc', 'src/core/ext/filters/census/grpc_context.cc', 'src/core/ext/filters/channel_idle/channel_idle_filter.cc', 'src/core/ext/filters/channel_idle/idle_filter_state.cc', 'src/core/ext/filters/channel_idle/legacy_channel_idle_filter.cc', - 'src/core/ext/filters/client_channel/backend_metric.cc', - 'src/core/ext/filters/client_channel/backup_poller.cc', - 'src/core/ext/filters/client_channel/channel_connectivity.cc', - 'src/core/ext/filters/client_channel/client_channel.cc', - 'src/core/ext/filters/client_channel/client_channel_channelz.cc', - 'src/core/ext/filters/client_channel/client_channel_factory.cc', - 'src/core/ext/filters/client_channel/client_channel_plugin.cc', - 'src/core/ext/filters/client_channel/client_channel_service_config.cc', - 'src/core/ext/filters/client_channel/config_selector.cc', - 'src/core/ext/filters/client_channel/dynamic_filters.cc', - 'src/core/ext/filters/client_channel/global_subchannel_pool.cc', - 'src/core/ext/filters/client_channel/http_proxy_mapper.cc', - 'src/core/ext/filters/client_channel/local_subchannel_pool.cc', - 'src/core/ext/filters/client_channel/retry_filter.cc', - 'src/core/ext/filters/client_channel/retry_filter_legacy_call_data.cc', - 'src/core/ext/filters/client_channel/retry_service_config.cc', - 'src/core/ext/filters/client_channel/retry_throttle.cc', - 'src/core/ext/filters/client_channel/service_config_channel_arg_filter.cc', - 'src/core/ext/filters/client_channel/subchannel.cc', - 'src/core/ext/filters/client_channel/subchannel_pool_interface.cc', - 'src/core/ext/filters/client_channel/subchannel_stream_client.cc', 'src/core/ext/filters/deadline/deadline_filter.cc', 'src/core/ext/filters/fault_injection/fault_injection_filter.cc', 'src/core/ext/filters/fault_injection/fault_injection_service_config_parser.cc', diff --git a/src/python/grpcio_observability/make_grpcio_observability.py b/src/python/grpcio_observability/make_grpcio_observability.py index 740cdfffc4a..e6646e2f8bb 100755 --- a/src/python/grpcio_observability/make_grpcio_observability.py +++ b/src/python/grpcio_observability/make_grpcio_observability.py @@ -66,11 +66,7 @@ GRPCIO_OBSERVABILITY_ROOT_PREFIX = "src/python/grpcio_observability/" COPY_FILES_SOURCE_TARGET_PAIRS = [ ("include", "grpc_root/include"), ("third_party/abseil-cpp/absl", "third_party/abseil-cpp/absl"), - ("src/core/lib", "grpc_root/src/core/lib"), - ( - "src/core/load_balancing", - "grpc_root/src/core/load_balancing", - ), + ("src/core", "grpc_root/src/core"), ] # grpc repo root diff --git a/templates/gRPC-Core.podspec.template b/templates/gRPC-Core.podspec.template index 790db12b670..2a20a9c5a94 100644 --- a/templates/gRPC-Core.podspec.template +++ b/templates/gRPC-Core.podspec.template @@ -198,7 +198,7 @@ ss.libraries = 'z' ss.dependency "#{s.name}/Interface", version ss.dependency "#{s.name}/Privacy", version - ss.dependency 'BoringSSL-GRPC', '0.0.33' + ss.dependency 'BoringSSL-GRPC', '0.0.32' % for abseil_spec in grpc_abseil_specs: ss.dependency '${abseil_spec}', abseil_version % endfor diff --git a/templates/src/objective-c/BoringSSL-GRPC.podspec.template b/templates/src/objective-c/BoringSSL-GRPC.podspec.template index 0d99cd189a8..b770f9f6cc1 100644 --- a/templates/src/objective-c/BoringSSL-GRPC.podspec.template +++ b/templates/src/objective-c/BoringSSL-GRPC.podspec.template @@ -70,7 +70,7 @@ Pod::Spec.new do |s| s.name = 'BoringSSL-GRPC' - version = '0.0.33' + version = '0.0.32' s.version = version s.summary = 'BoringSSL is a fork of OpenSSL that is designed to meet Google\'s needs.' # Adapted from the homepage: diff --git a/test/core/bad_client/tests/simple_request.cc b/test/core/bad_client/tests/simple_request.cc index 628b9d53f10..dcc650194fe 100644 --- a/test/core/bad_client/tests/simple_request.cc +++ b/test/core/bad_client/tests/simple_request.cc @@ -81,6 +81,27 @@ "\x10\x0cgrpc-timeout\x02" \ "5S" +#define PFX_STR_TEXT_HTML_CONTENT_TYPE_HEADER \ + "PRI * HTTP/2.0\r\n\r\nSM\r\n\r\n" \ + "\x00\x00\x00\x04\x00\x00\x00\x00\x00" /* settings frame */ \ + "\x00\x00\xdf\x01\x04\x00\x00\x00\x01" /* headers: generated from \ + simple_request_text_html_content_type.headers \ + in this directory */ \ + "\x10\x05:path\x08/foo/bar" \ + "\x10\x07:scheme\x04http" \ + "\x10\x07:method\x04POST" \ + "\x10\x04host\x09localhost" \ + "\x10\x0c" \ + "content-type\x09text/html" \ + "\x10\x14grpc-accept-encoding\x15" \ + "deflate,identity,gzip" \ + "\x10\x02te\x08trailers" \ + "\x10\x0auser-agent\"bad-client grpc-c/0.12.0.0 (linux)" \ + "\x10\x0cgrpc-timeout\x03" \ + "10S" \ + "\x10\x0cgrpc-timeout\x02" \ + "5S" + static void verifier(grpc_server* server, grpc_completion_queue* cq, void* /*registered_method*/) { grpc_call_error error; @@ -107,6 +128,67 @@ static void verifier(grpc_server* server, grpc_completion_queue* cq, grpc_call_unref(s); } +static void VerifyRpcDoesNotGetCanceled(grpc_server* server, + grpc_completion_queue* cq, + void* /*registered_method*/) { + grpc_call_error error; + grpc_call* s; + grpc_call_details call_details; + grpc_core::CqVerifier cqv(cq); + grpc_metadata_array request_metadata_recv; + int was_cancelled = 2; + + grpc_call_details_init(&call_details); + grpc_metadata_array_init(&request_metadata_recv); + + error = grpc_server_request_call(server, &s, &call_details, + &request_metadata_recv, cq, cq, + grpc_core::CqVerifier::tag(101)); + GPR_ASSERT(GRPC_CALL_OK == error); + cqv.Expect(grpc_core::CqVerifier::tag(101), true); + cqv.Verify(); + + GPR_ASSERT(0 == grpc_slice_str_cmp(call_details.host, "localhost")); + GPR_ASSERT(0 == grpc_slice_str_cmp(call_details.method, "/foo/bar")); + + grpc_op* op; + grpc_op ops[6]; + // Send the initial metadata and the status from the server. + memset(ops, 0, sizeof(ops)); + op = ops; + op->op = GRPC_OP_SEND_INITIAL_METADATA; + op->data.send_initial_metadata.count = 0; + op->flags = 0; + op->reserved = nullptr; + op++; + op->op = GRPC_OP_RECV_CLOSE_ON_SERVER; + op->data.recv_close_on_server.cancelled = &was_cancelled; + op->flags = 0; + op->reserved = nullptr; + op++; + op->op = GRPC_OP_SEND_STATUS_FROM_SERVER; + op->data.send_status_from_server.trailing_metadata_count = 0; + op->data.send_status_from_server.status = GRPC_STATUS_UNIMPLEMENTED; + grpc_slice status_details = grpc_slice_from_static_string("xyz"); + op->data.send_status_from_server.status_details = &status_details; + op->flags = 0; + op->reserved = nullptr; + op++; + error = grpc_call_start_batch(s, ops, static_cast(op - ops), + grpc_core::CqVerifier::tag(103), nullptr); + GPR_ASSERT(GRPC_CALL_OK == error); + + cqv.Expect(grpc_core::CqVerifier::tag(103), true); + cqv.Verify(); + + // If the call had an error, `was_cancelled` would be 1. + // GPR_ASSERT(was_cancelled == 1); + + grpc_metadata_array_destroy(&request_metadata_recv); + grpc_call_details_destroy(&call_details); + grpc_call_unref(s); +} + static void failure_verifier(grpc_server* server, grpc_completion_queue* cq, void* /*registered_method*/) { while (grpc_core::Server::FromC(server)->HasOpenConnections()) { @@ -120,45 +202,50 @@ int main(int argc, char** argv) { grpc::testing::TestEnvironment env(&argc, argv); grpc_init(); - /* basic request: check that things are working */ + // basic request: check that things are working GRPC_RUN_BAD_CLIENT_TEST(verifier, nullptr, PFX_STR, 0); GRPC_RUN_BAD_CLIENT_TEST(verifier, nullptr, PFX_STR_UNUSUAL, 0); GRPC_RUN_BAD_CLIENT_TEST(verifier, nullptr, PFX_STR_UNUSUAL2, 0); - /* push an illegal data frame */ + // A basic request with a "content-type: text/html" header. The spec is + // not clear on what the behavior should be here, so to avoid breaking anyone, + // we should continue to accept this header. + GRPC_RUN_BAD_CLIENT_TEST(VerifyRpcDoesNotGetCanceled, nullptr, + PFX_STR_TEXT_HTML_CONTENT_TYPE_HEADER, 0); + + // push an illegal data frame GRPC_RUN_BAD_CLIENT_TEST(verifier, nullptr, PFX_STR "\x00\x00\x05\x00\x00\x00\x00\x00\x01" "\x34\x00\x00\x00\x00", 0); - /* push a data frame with bad flags */ + // push a data frame with bad flags GRPC_RUN_BAD_CLIENT_TEST(verifier, nullptr, PFX_STR "\x00\x00\x00\x00\x02\x00\x00\x00\x01", 0); - /* push a window update with a bad length */ + // push a window update with a bad length GRPC_RUN_BAD_CLIENT_TEST(failure_verifier, nullptr, PFX_STR "\x00\x00\x01\x08\x00\x00\x00\x00\x01", 0); - /* push a window update with bad flags */ + // push a window update with bad flags GRPC_RUN_BAD_CLIENT_TEST(failure_verifier, nullptr, PFX_STR "\x00\x00\x00\x08\x10\x00\x00\x00\x01", 0); - /* push a window update with bad data (0 is not legal window size increment) - */ + // push a window update with bad data (0 is not legal window size increment) GRPC_RUN_BAD_CLIENT_TEST(failure_verifier, nullptr, PFX_STR "\x00\x00\x04\x08\x00\x00\x00\x00\x01" "\x00\x00\x00\x00", 0); - /* push a short goaway */ + // push a short goaway GRPC_RUN_BAD_CLIENT_TEST(failure_verifier, nullptr, PFX_STR "\x00\x00\x04\x07\x00\x00\x00\x00\x00", 0); - /* disconnect before sending goaway */ + // disconnect before sending goaway GRPC_RUN_BAD_CLIENT_TEST(failure_verifier, nullptr, PFX_STR "\x00\x01\x12\x07\x00\x00\x00\x00\x00", GRPC_BAD_CLIENT_DISCONNECT); - /* push a rst_stream with a bad length */ + // push a rst_stream with a bad length GRPC_RUN_BAD_CLIENT_TEST(failure_verifier, nullptr, PFX_STR "\x00\x00\x01\x03\x00\x00\x00\x00\x01", 0); - /* push a rst_stream with bad flags */ + // push a rst_stream with bad flags GRPC_RUN_BAD_CLIENT_TEST(failure_verifier, nullptr, PFX_STR "\x00\x00\x00\x03\x10\x00\x00\x00\x01", 0); diff --git a/test/core/bad_client/tests/simple_request_text_html_content_type.headers b/test/core/bad_client/tests/simple_request_text_html_content_type.headers new file mode 100644 index 00000000000..4da77cb1246 --- /dev/null +++ b/test/core/bad_client/tests/simple_request_text_html_content_type.headers @@ -0,0 +1,13 @@ +# headers used in simple_request.c +# use tools/codegen/core/gen_header_frame.py to generate the binary strings +# contained in the source code +:path: /foo/bar +:scheme: http +:method: POST +host: localhost +content-type: text/html +grpc-accept-encoding: deflate,identity,gzip +te: trailers +user-agent: bad-client grpc-c/0.12.0.0 (linux) +grpc-timeout: 10S +grpc-timeout: 5S diff --git a/test/core/client_channel/client_channel_service_config_test.cc b/test/core/client_channel/client_channel_service_config_test.cc index e265653daea..b857c85c2ea 100644 --- a/test/core/client_channel/client_channel_service_config_test.cc +++ b/test/core/client_channel/client_channel_service_config_test.cc @@ -14,7 +14,7 @@ // limitations under the License. // -#include "src/core/ext/filters/client_channel/client_channel_service_config.h" +#include "src/core/client_channel/client_channel_service_config.h" #include "absl/status/status.h" #include "absl/status/statusor.h" diff --git a/test/core/client_channel/client_channel_test.cc b/test/core/client_channel/client_channel_test.cc index 51cbf8f9aa1..b7ce9652087 100644 --- a/test/core/client_channel/client_channel_test.cc +++ b/test/core/client_channel/client_channel_test.cc @@ -16,8 +16,6 @@ #include -#include "src/core/ext/filters/client_channel/client_channel.h" - #include #include "absl/types/optional.h" @@ -25,7 +23,8 @@ #include -#include "src/core/ext/filters/client_channel/subchannel_pool_interface.h" +#include "src/core/client_channel/client_channel_filter.h" +#include "src/core/client_channel/subchannel_pool_interface.h" #include "src/core/lib/channel/channel_args.h" #include "src/core/resolver/endpoint_addresses.h" #include "test/core/util/test_config.h" diff --git a/test/core/client_channel/http_proxy_mapper_test.cc b/test/core/client_channel/http_proxy_mapper_test.cc index 8ec584a75ab..aea41023f9a 100644 --- a/test/core/client_channel/http_proxy_mapper_test.cc +++ b/test/core/client_channel/http_proxy_mapper_test.cc @@ -16,7 +16,7 @@ // // -#include "src/core/ext/filters/client_channel/http_proxy_mapper.h" +#include "src/core/client_channel/http_proxy_mapper.h" #include "absl/status/status.h" #include "absl/status/statusor.h" diff --git a/test/core/client_channel/lb_policy/lb_policy_test_lib.h b/test/core/client_channel/lb_policy/lb_policy_test_lib.h index 125f343e2d4..83ed95e9e09 100644 --- a/test/core/client_channel/lb_policy/lb_policy_test_lib.h +++ b/test/core/client_channel/lb_policy/lb_policy_test_lib.h @@ -54,9 +54,9 @@ #include #include -#include "src/core/ext/filters/client_channel/client_channel_internal.h" -#include "src/core/ext/filters/client_channel/subchannel_interface_internal.h" -#include "src/core/ext/filters/client_channel/subchannel_pool_interface.h" +#include "src/core/client_channel/client_channel_internal.h" +#include "src/core/client_channel/subchannel_interface_internal.h" +#include "src/core/client_channel/subchannel_pool_interface.h" #include "src/core/lib/address_utils/parse_address.h" #include "src/core/lib/address_utils/sockaddr_utils.h" #include "src/core/lib/channel/channel_args.h" diff --git a/test/core/client_channel/lb_policy/xds_override_host_lb_config_parser_test.cc b/test/core/client_channel/lb_policy/xds_override_host_lb_config_parser_test.cc index 0a6ff47767c..ace8c54dadb 100644 --- a/test/core/client_channel/lb_policy/xds_override_host_lb_config_parser_test.cc +++ b/test/core/client_channel/lb_policy/xds_override_host_lb_config_parser_test.cc @@ -22,7 +22,7 @@ #include -#include "src/core/ext/filters/client_channel/client_channel_service_config.h" +#include "src/core/client_channel/client_channel_service_config.h" #include "src/core/ext/xds/xds_health_status.h" #include "src/core/lib/channel/channel_args.h" #include "src/core/lib/gprpp/ref_counted_ptr.h" diff --git a/test/core/client_channel/retry_service_config_test.cc b/test/core/client_channel/retry_service_config_test.cc index b161b6091e8..b80018929ca 100644 --- a/test/core/client_channel/retry_service_config_test.cc +++ b/test/core/client_channel/retry_service_config_test.cc @@ -14,7 +14,7 @@ // limitations under the License. // -#include "src/core/ext/filters/client_channel/retry_service_config.h" +#include "src/core/client_channel/retry_service_config.h" #include "absl/status/status.h" #include "absl/status/statusor.h" diff --git a/test/core/client_channel/retry_throttle_test.cc b/test/core/client_channel/retry_throttle_test.cc index 0e9ad1e6f41..85b3d0e83e9 100644 --- a/test/core/client_channel/retry_throttle_test.cc +++ b/test/core/client_channel/retry_throttle_test.cc @@ -16,7 +16,7 @@ // // -#include "src/core/ext/filters/client_channel/retry_throttle.h" +#include "src/core/client_channel/retry_throttle.h" #include "gtest/gtest.h" diff --git a/test/cpp/end2end/async_end2end_test.cc b/test/cpp/end2end/async_end2end_test.cc index 503cc071038..22da0ecd6d3 100644 --- a/test/cpp/end2end/async_end2end_test.cc +++ b/test/cpp/end2end/async_end2end_test.cc @@ -36,7 +36,7 @@ #include #include -#include "src/core/ext/filters/client_channel/backup_poller.h" +#include "src/core/client_channel/backup_poller.h" #include "src/core/lib/config/config_vars.h" #include "src/core/lib/gprpp/crash.h" #include "src/core/lib/gprpp/debug_location.h" diff --git a/test/cpp/end2end/client_lb_end2end_test.cc b/test/cpp/end2end/client_lb_end2end_test.cc index 770d7879737..fc511fb6c25 100644 --- a/test/cpp/end2end/client_lb_end2end_test.cc +++ b/test/cpp/end2end/client_lb_end2end_test.cc @@ -48,9 +48,9 @@ #include #include -#include "src/core/ext/filters/client_channel/backup_poller.h" -#include "src/core/ext/filters/client_channel/config_selector.h" -#include "src/core/ext/filters/client_channel/global_subchannel_pool.h" +#include "src/core/client_channel/backup_poller.h" +#include "src/core/client_channel/config_selector.h" +#include "src/core/client_channel/global_subchannel_pool.h" #include "src/core/lib/address_utils/parse_address.h" #include "src/core/lib/address_utils/sockaddr_utils.h" #include "src/core/lib/backoff/backoff.h" diff --git a/test/cpp/end2end/end2end_test.cc b/test/cpp/end2end/end2end_test.cc index 40964abe03f..673ce88315a 100644 --- a/test/cpp/end2end/end2end_test.cc +++ b/test/cpp/end2end/end2end_test.cc @@ -41,7 +41,7 @@ #include #include -#include "src/core/ext/filters/client_channel/backup_poller.h" +#include "src/core/client_channel/backup_poller.h" #include "src/core/lib/config/config_vars.h" #include "src/core/lib/gprpp/crash.h" #include "src/core/lib/gprpp/env.h" diff --git a/test/cpp/end2end/grpclb_end2end_test.cc b/test/cpp/end2end/grpclb_end2end_test.cc index ef6f7610fe9..7864614ce2b 100644 --- a/test/cpp/end2end/grpclb_end2end_test.cc +++ b/test/cpp/end2end/grpclb_end2end_test.cc @@ -42,7 +42,7 @@ #include #include -#include "src/core/ext/filters/client_channel/backup_poller.h" +#include "src/core/client_channel/backup_poller.h" #include "src/core/lib/address_utils/parse_address.h" #include "src/core/lib/channel/channel_args.h" #include "src/core/lib/config/config_vars.h" diff --git a/test/cpp/end2end/rls_end2end_test.cc b/test/cpp/end2end/rls_end2end_test.cc index eaa0c908cd1..e51a5064ff2 100644 --- a/test/cpp/end2end/rls_end2end_test.cc +++ b/test/cpp/end2end/rls_end2end_test.cc @@ -39,7 +39,7 @@ #include #include -#include "src/core/ext/filters/client_channel/backup_poller.h" +#include "src/core/client_channel/backup_poller.h" #include "src/core/lib/address_utils/parse_address.h" #include "src/core/lib/channel/channel_args.h" #include "src/core/lib/config/config_vars.h" diff --git a/test/cpp/end2end/server_load_reporting_end2end_test.cc b/test/cpp/end2end/server_load_reporting_end2end_test.cc index 77d58702717..393af8614e3 100644 --- a/test/cpp/end2end/server_load_reporting_end2end_test.cc +++ b/test/cpp/end2end/server_load_reporting_end2end_test.cc @@ -30,7 +30,7 @@ #include #include -#include "src/core/ext/filters/client_channel/backup_poller.h" +#include "src/core/client_channel/backup_poller.h" #include "src/core/lib/config/config_vars.h" #include "src/core/lib/gprpp/crash.h" #include "src/proto/grpc/lb/v1/load_reporter.grpc.pb.h" diff --git a/test/cpp/end2end/service_config_end2end_test.cc b/test/cpp/end2end/service_config_end2end_test.cc index d2772bc13a8..1960e874aa9 100644 --- a/test/cpp/end2end/service_config_end2end_test.cc +++ b/test/cpp/end2end/service_config_end2end_test.cc @@ -44,8 +44,8 @@ #include #include -#include "src/core/ext/filters/client_channel/backup_poller.h" -#include "src/core/ext/filters/client_channel/global_subchannel_pool.h" +#include "src/core/client_channel/backup_poller.h" +#include "src/core/client_channel/global_subchannel_pool.h" #include "src/core/lib/address_utils/parse_address.h" #include "src/core/lib/backoff/backoff.h" #include "src/core/lib/channel/channel_args.h" diff --git a/test/cpp/end2end/xds/xds_cluster_end2end_test.cc b/test/cpp/end2end/xds/xds_cluster_end2end_test.cc index 7662f064ed8..18562fee895 100644 --- a/test/cpp/end2end/xds/xds_cluster_end2end_test.cc +++ b/test/cpp/end2end/xds/xds_cluster_end2end_test.cc @@ -23,7 +23,7 @@ #include "absl/strings/match.h" #include "absl/strings/str_cat.h" -#include "src/core/ext/filters/client_channel/backup_poller.h" +#include "src/core/client_channel/backup_poller.h" #include "src/core/lib/address_utils/sockaddr_utils.h" #include "src/core/lib/channel/call_tracer.h" #include "src/core/lib/config/config_vars.h" diff --git a/test/cpp/end2end/xds/xds_cluster_type_end2end_test.cc b/test/cpp/end2end/xds/xds_cluster_type_end2end_test.cc index 95a9fa1b68d..2866a7a4e5d 100644 --- a/test/cpp/end2end/xds/xds_cluster_type_end2end_test.cc +++ b/test/cpp/end2end/xds/xds_cluster_type_end2end_test.cc @@ -23,7 +23,7 @@ #include -#include "src/core/ext/filters/client_channel/backup_poller.h" +#include "src/core/client_channel/backup_poller.h" #include "src/core/lib/address_utils/sockaddr_utils.h" #include "src/core/lib/config/config_vars.h" #include "src/core/lib/gprpp/env.h" diff --git a/test/cpp/end2end/xds/xds_core_end2end_test.cc b/test/cpp/end2end/xds/xds_core_end2end_test.cc index 6ab8094b5e1..4f4f792affd 100644 --- a/test/cpp/end2end/xds/xds_core_end2end_test.cc +++ b/test/cpp/end2end/xds/xds_core_end2end_test.cc @@ -22,7 +22,7 @@ #include "absl/strings/str_cat.h" -#include "src/core/ext/filters/client_channel/backup_poller.h" +#include "src/core/client_channel/backup_poller.h" #include "src/core/lib/config/config_vars.h" #include "test/core/util/resolve_localhost_ip46.h" #include "test/core/util/scoped_env_var.h" diff --git a/test/cpp/end2end/xds/xds_csds_end2end_test.cc b/test/cpp/end2end/xds/xds_csds_end2end_test.cc index 575923b41fb..117e5555285 100644 --- a/test/cpp/end2end/xds/xds_csds_end2end_test.cc +++ b/test/cpp/end2end/xds/xds_csds_end2end_test.cc @@ -26,7 +26,7 @@ #include #include -#include "src/core/ext/filters/client_channel/backup_poller.h" +#include "src/core/client_channel/backup_poller.h" #include "src/core/lib/config/config_vars.h" #include "src/cpp/client/secure_credentials.h" #include "src/proto/grpc/testing/xds/v3/cluster.grpc.pb.h" diff --git a/test/cpp/end2end/xds/xds_end2end_test.cc b/test/cpp/end2end/xds/xds_end2end_test.cc index d6426220bcc..78907cbb1c9 100644 --- a/test/cpp/end2end/xds/xds_end2end_test.cc +++ b/test/cpp/end2end/xds/xds_end2end_test.cc @@ -55,7 +55,7 @@ #include #include -#include "src/core/ext/filters/client_channel/backup_poller.h" +#include "src/core/client_channel/backup_poller.h" #include "src/core/ext/filters/http/client/http_client_filter.h" #include "src/core/ext/xds/xds_api.h" #include "src/core/ext/xds/xds_channel_args.h" diff --git a/test/cpp/end2end/xds/xds_fault_injection_end2end_test.cc b/test/cpp/end2end/xds/xds_fault_injection_end2end_test.cc index e2ab47ac272..82cd3070ee9 100644 --- a/test/cpp/end2end/xds/xds_fault_injection_end2end_test.cc +++ b/test/cpp/end2end/xds/xds_fault_injection_end2end_test.cc @@ -19,7 +19,7 @@ #include #include -#include "src/core/ext/filters/client_channel/backup_poller.h" +#include "src/core/client_channel/backup_poller.h" #include "src/core/lib/config/config_vars.h" #include "src/proto/grpc/testing/xds/v3/cluster.grpc.pb.h" #include "src/proto/grpc/testing/xds/v3/fault.grpc.pb.h" diff --git a/test/cpp/end2end/xds/xds_outlier_detection_end2end_test.cc b/test/cpp/end2end/xds/xds_outlier_detection_end2end_test.cc index 3977680ec27..29df8961ce0 100644 --- a/test/cpp/end2end/xds/xds_outlier_detection_end2end_test.cc +++ b/test/cpp/end2end/xds/xds_outlier_detection_end2end_test.cc @@ -20,7 +20,7 @@ #include #include -#include "src/core/ext/filters/client_channel/backup_poller.h" +#include "src/core/client_channel/backup_poller.h" #include "src/core/lib/config/config_vars.h" #include "src/proto/grpc/testing/xds/v3/cluster.grpc.pb.h" #include "src/proto/grpc/testing/xds/v3/fault.grpc.pb.h" diff --git a/test/cpp/end2end/xds/xds_pick_first_end2end_test.cc b/test/cpp/end2end/xds/xds_pick_first_end2end_test.cc index 7aad620437f..bec9a6f475b 100644 --- a/test/cpp/end2end/xds/xds_pick_first_end2end_test.cc +++ b/test/cpp/end2end/xds/xds_pick_first_end2end_test.cc @@ -29,7 +29,7 @@ #include #include -#include "src/core/ext/filters/client_channel/backup_poller.h" +#include "src/core/client_channel/backup_poller.h" #include "src/core/lib/address_utils/sockaddr_utils.h" #include "src/core/lib/config/config_vars.h" #include "src/core/lib/gprpp/env.h" diff --git a/test/cpp/end2end/xds/xds_ring_hash_end2end_test.cc b/test/cpp/end2end/xds/xds_ring_hash_end2end_test.cc index 534fc99595c..595e7109f8d 100644 --- a/test/cpp/end2end/xds/xds_ring_hash_end2end_test.cc +++ b/test/cpp/end2end/xds/xds_ring_hash_end2end_test.cc @@ -24,7 +24,7 @@ #include -#include "src/core/ext/filters/client_channel/backup_poller.h" +#include "src/core/client_channel/backup_poller.h" #include "src/core/lib/address_utils/sockaddr_utils.h" #include "src/core/lib/config/config_vars.h" #include "src/core/lib/gprpp/env.h" diff --git a/test/cpp/end2end/xds/xds_rls_end2end_test.cc b/test/cpp/end2end/xds/xds_rls_end2end_test.cc index 3ddcdcf193d..4b9725d5e15 100644 --- a/test/cpp/end2end/xds/xds_rls_end2end_test.cc +++ b/test/cpp/end2end/xds/xds_rls_end2end_test.cc @@ -21,7 +21,7 @@ #include "absl/memory/memory.h" #include "absl/strings/str_cat.h" -#include "src/core/ext/filters/client_channel/backup_poller.h" +#include "src/core/client_channel/backup_poller.h" #include "src/core/lib/config/config_vars.h" #include "src/core/lib/gprpp/env.h" #include "src/proto/grpc/lookup/v1/rls.grpc.pb.h" diff --git a/test/cpp/end2end/xds/xds_routing_end2end_test.cc b/test/cpp/end2end/xds/xds_routing_end2end_test.cc index b4b3ec04fb7..fc05fc17b9c 100644 --- a/test/cpp/end2end/xds/xds_routing_end2end_test.cc +++ b/test/cpp/end2end/xds/xds_routing_end2end_test.cc @@ -20,7 +20,7 @@ #include #include -#include "src/core/ext/filters/client_channel/backup_poller.h" +#include "src/core/client_channel/backup_poller.h" #include "src/core/lib/config/config_vars.h" #include "src/proto/grpc/testing/xds/v3/fault.grpc.pb.h" #include "src/proto/grpc/testing/xds/v3/router.grpc.pb.h" diff --git a/test/cpp/end2end/xds/xds_wrr_end2end_test.cc b/test/cpp/end2end/xds/xds_wrr_end2end_test.cc index 444f9dd6d7f..02166375669 100644 --- a/test/cpp/end2end/xds/xds_wrr_end2end_test.cc +++ b/test/cpp/end2end/xds/xds_wrr_end2end_test.cc @@ -25,7 +25,7 @@ #include #include -#include "src/core/ext/filters/client_channel/backup_poller.h" +#include "src/core/client_channel/backup_poller.h" #include "src/core/lib/config/config_vars.h" #include "src/proto/grpc/testing/xds/v3/client_side_weighted_round_robin.grpc.pb.h" #include "src/proto/grpc/testing/xds/v3/wrr_locality.grpc.pb.h" diff --git a/test/cpp/ext/csm/csm_observability_test.cc b/test/cpp/ext/csm/csm_observability_test.cc index 60517193aa2..69073ff8f92 100644 --- a/test/cpp/ext/csm/csm_observability_test.cc +++ b/test/cpp/ext/csm/csm_observability_test.cc @@ -63,14 +63,6 @@ TEST(CsmChannelTargetSelectorTest, XdsTargetsWithTDAuthority) { "xds://traffic-director-global.xds.googleapis.com/foo")); } -TEST(CsmPluginOptionTest, Basic) { - EXPECT_EQ( - OpenTelemetryPluginBuilder() - .AddPluginOption(experimental::MakeCsmOpenTelemetryPluginOption()) - .BuildAndRegisterGlobal(), - absl::OkStatus()); -} - } // namespace } // namespace testing } // namespace grpc diff --git a/test/cpp/interop/xds_interop_client.cc b/test/cpp/interop/xds_interop_client.cc index 5c2eac7aa81..76dab581fa3 100644 --- a/test/cpp/interop/xds_interop_client.cc +++ b/test/cpp/interop/xds_interop_client.cc @@ -427,7 +427,7 @@ void RunTestLoop(std::chrono::duration duration_per_query, GPR_UNREACHABLE_CODE(thread.join()); } -void EnableCsmObservability() { +grpc::experimental::CsmObservability EnableCsmObservability() { gpr_log(GPR_DEBUG, "Registering Prometheus exporter"); opentelemetry::exporter::metrics::PrometheusExporterOptions opts; // default was "localhost:9464" which causes connection issue across GKE @@ -438,12 +438,11 @@ void EnableCsmObservability() { auto meter_provider = std::make_shared(); meter_provider->AddMetricReader(std::move(prometheus_exporter)); - assert(grpc::OpenTelemetryPluginBuilder() - .AddPluginOption( - grpc::experimental::MakeCsmOpenTelemetryPluginOption()) - .SetMeterProvider(std::move(meter_provider)) - .BuildAndRegisterGlobal() - .ok()); + auto observability = grpc::experimental::CsmObservabilityBuilder() + .SetMeterProvider(std::move(meter_provider)) + .BuildAndRegister(); + assert(observability.ok()); + return *std::move(observability); } void RunServer(const int port, StatsWatchers* stats_watchers, @@ -554,8 +553,9 @@ int main(int argc, char** argv) { } BuildRpcConfigsFromFlags(&rpc_config_queue); + grpc::experimental::CsmObservability observability; if (absl::GetFlag(FLAGS_enable_csm_observability)) { - EnableCsmObservability(); + observability = EnableCsmObservability(); } std::chrono::duration duration_per_query = diff --git a/test/cpp/interop/xds_interop_server.cc b/test/cpp/interop/xds_interop_server.cc index 8a66e173bc2..80637dfa050 100644 --- a/test/cpp/interop/xds_interop_server.cc +++ b/test/cpp/interop/xds_interop_server.cc @@ -43,7 +43,7 @@ ABSL_FLAG(bool, secure_mode, false, ABSL_FLAG(bool, enable_csm_observability, false, "Whether to enable CSM Observability"); -void EnableCsmObservability() { +grpc::experimental::CsmObservability EnableCsmObservability() { gpr_log(GPR_DEBUG, "Registering Prometheus exporter"); opentelemetry::exporter::metrics::PrometheusExporterOptions opts; // default was "localhost:9464" which causes connection issue across GKE @@ -54,12 +54,11 @@ void EnableCsmObservability() { auto meter_provider = std::make_shared(); meter_provider->AddMetricReader(std::move(prometheus_exporter)); - assert(grpc::OpenTelemetryPluginBuilder() - .AddPluginOption( - grpc::experimental::MakeCsmOpenTelemetryPluginOption()) - .SetMeterProvider(std::move(meter_provider)) - .BuildAndRegisterGlobal() - .ok()); + auto observability = grpc::experimental::CsmObservabilityBuilder() + .SetMeterProvider(std::move(meter_provider)) + .BuildAndRegister(); + assert(observability.ok()); + return *std::move(observability); } int main(int argc, char** argv) { @@ -82,8 +81,9 @@ int main(int argc, char** argv) { } grpc::EnableDefaultHealthCheckService(false); bool enable_csm_observability = absl::GetFlag(FLAGS_enable_csm_observability); + grpc::experimental::CsmObservability observability; if (enable_csm_observability) { - EnableCsmObservability(); + observability = EnableCsmObservability(); } grpc::testing::RunServer(absl::GetFlag(FLAGS_secure_mode), enable_csm_observability, port, maintenance_port, diff --git a/test/cpp/naming/address_sorting_test.cc b/test/cpp/naming/address_sorting_test.cc index 3a768e2ad39..8e0b45872e7 100644 --- a/test/cpp/naming/address_sorting_test.cc +++ b/test/cpp/naming/address_sorting_test.cc @@ -31,7 +31,7 @@ #include #include -#include "src/core/ext/filters/client_channel/client_channel.h" +#include "src/core/client_channel/client_channel_filter.h" #include "src/core/lib/address_utils/sockaddr_utils.h" #include "src/core/lib/channel/channel_args.h" #include "src/core/lib/config/config_vars.h" diff --git a/test/cpp/naming/resolver_component_test.cc b/test/cpp/naming/resolver_component_test.cc index 64155d3bc7e..bfbb0956c69 100644 --- a/test/cpp/naming/resolver_component_test.cc +++ b/test/cpp/naming/resolver_component_test.cc @@ -40,7 +40,7 @@ #include #include -#include "src/core/ext/filters/client_channel/client_channel.h" +#include "src/core/client_channel/client_channel_filter.h" #include "src/core/lib/address_utils/parse_address.h" #include "src/core/lib/address_utils/sockaddr_utils.h" #include "src/core/lib/channel/channel_args.h" diff --git a/third_party/boringssl-with-bazel b/third_party/boringssl-with-bazel index 311e6f6d8e7..ae72a4514c7 160000 --- a/third_party/boringssl-with-bazel +++ b/third_party/boringssl-with-bazel @@ -1 +1 @@ -Subproject commit 311e6f6d8e77da1f64c3256b30bd1992a555ce6c +Subproject commit ae72a4514c7afd150596b0a80947f3ca9b8363b5 diff --git a/tools/doxygen/Doxyfile.c++.internal b/tools/doxygen/Doxyfile.c++.internal index ecefda74720..83b2932d558 100644 --- a/tools/doxygen/Doxyfile.c++.internal +++ b/tools/doxygen/Doxyfile.c++.internal @@ -1081,6 +1081,48 @@ include/grpcpp/support/time.h \ include/grpcpp/support/validate_service_config.h \ include/grpcpp/version_info.h \ include/grpcpp/xds_server_builder.h \ +src/core/client_channel/backend_metric.cc \ +src/core/client_channel/backend_metric.h \ +src/core/client_channel/backup_poller.cc \ +src/core/client_channel/backup_poller.h \ +src/core/client_channel/channel_connectivity.cc \ +src/core/client_channel/client_channel_channelz.cc \ +src/core/client_channel/client_channel_channelz.h \ +src/core/client_channel/client_channel_factory.cc \ +src/core/client_channel/client_channel_factory.h \ +src/core/client_channel/client_channel_filter.cc \ +src/core/client_channel/client_channel_filter.h \ +src/core/client_channel/client_channel_internal.h \ +src/core/client_channel/client_channel_plugin.cc \ +src/core/client_channel/client_channel_service_config.cc \ +src/core/client_channel/client_channel_service_config.h \ +src/core/client_channel/config_selector.cc \ +src/core/client_channel/config_selector.h \ +src/core/client_channel/connector.h \ +src/core/client_channel/dynamic_filters.cc \ +src/core/client_channel/dynamic_filters.h \ +src/core/client_channel/global_subchannel_pool.cc \ +src/core/client_channel/global_subchannel_pool.h \ +src/core/client_channel/http_proxy_mapper.cc \ +src/core/client_channel/http_proxy_mapper.h \ +src/core/client_channel/local_subchannel_pool.cc \ +src/core/client_channel/local_subchannel_pool.h \ +src/core/client_channel/retry_filter.cc \ +src/core/client_channel/retry_filter.h \ +src/core/client_channel/retry_filter_legacy_call_data.cc \ +src/core/client_channel/retry_filter_legacy_call_data.h \ +src/core/client_channel/retry_service_config.cc \ +src/core/client_channel/retry_service_config.h \ +src/core/client_channel/retry_throttle.cc \ +src/core/client_channel/retry_throttle.h \ +src/core/client_channel/service_config_channel_arg_filter.cc \ +src/core/client_channel/subchannel.cc \ +src/core/client_channel/subchannel.h \ +src/core/client_channel/subchannel_interface_internal.h \ +src/core/client_channel/subchannel_pool_interface.cc \ +src/core/client_channel/subchannel_pool_interface.h \ +src/core/client_channel/subchannel_stream_client.cc \ +src/core/client_channel/subchannel_stream_client.h \ src/core/ext/filters/backend_metrics/backend_metric_filter.cc \ src/core/ext/filters/backend_metrics/backend_metric_filter.h \ src/core/ext/filters/backend_metrics/backend_metric_provider.h \ @@ -1091,48 +1133,6 @@ src/core/ext/filters/channel_idle/idle_filter_state.cc \ src/core/ext/filters/channel_idle/idle_filter_state.h \ src/core/ext/filters/channel_idle/legacy_channel_idle_filter.cc \ src/core/ext/filters/channel_idle/legacy_channel_idle_filter.h \ -src/core/ext/filters/client_channel/backend_metric.cc \ -src/core/ext/filters/client_channel/backend_metric.h \ -src/core/ext/filters/client_channel/backup_poller.cc \ -src/core/ext/filters/client_channel/backup_poller.h \ -src/core/ext/filters/client_channel/channel_connectivity.cc \ -src/core/ext/filters/client_channel/client_channel.cc \ -src/core/ext/filters/client_channel/client_channel.h \ -src/core/ext/filters/client_channel/client_channel_channelz.cc \ -src/core/ext/filters/client_channel/client_channel_channelz.h \ -src/core/ext/filters/client_channel/client_channel_factory.cc \ -src/core/ext/filters/client_channel/client_channel_factory.h \ -src/core/ext/filters/client_channel/client_channel_internal.h \ -src/core/ext/filters/client_channel/client_channel_plugin.cc \ -src/core/ext/filters/client_channel/client_channel_service_config.cc \ -src/core/ext/filters/client_channel/client_channel_service_config.h \ -src/core/ext/filters/client_channel/config_selector.cc \ -src/core/ext/filters/client_channel/config_selector.h \ -src/core/ext/filters/client_channel/connector.h \ -src/core/ext/filters/client_channel/dynamic_filters.cc \ -src/core/ext/filters/client_channel/dynamic_filters.h \ -src/core/ext/filters/client_channel/global_subchannel_pool.cc \ -src/core/ext/filters/client_channel/global_subchannel_pool.h \ -src/core/ext/filters/client_channel/http_proxy_mapper.cc \ -src/core/ext/filters/client_channel/http_proxy_mapper.h \ -src/core/ext/filters/client_channel/local_subchannel_pool.cc \ -src/core/ext/filters/client_channel/local_subchannel_pool.h \ -src/core/ext/filters/client_channel/retry_filter.cc \ -src/core/ext/filters/client_channel/retry_filter.h \ -src/core/ext/filters/client_channel/retry_filter_legacy_call_data.cc \ -src/core/ext/filters/client_channel/retry_filter_legacy_call_data.h \ -src/core/ext/filters/client_channel/retry_service_config.cc \ -src/core/ext/filters/client_channel/retry_service_config.h \ -src/core/ext/filters/client_channel/retry_throttle.cc \ -src/core/ext/filters/client_channel/retry_throttle.h \ -src/core/ext/filters/client_channel/service_config_channel_arg_filter.cc \ -src/core/ext/filters/client_channel/subchannel.cc \ -src/core/ext/filters/client_channel/subchannel.h \ -src/core/ext/filters/client_channel/subchannel_interface_internal.h \ -src/core/ext/filters/client_channel/subchannel_pool_interface.cc \ -src/core/ext/filters/client_channel/subchannel_pool_interface.h \ -src/core/ext/filters/client_channel/subchannel_stream_client.cc \ -src/core/ext/filters/client_channel/subchannel_stream_client.h \ src/core/ext/filters/deadline/deadline_filter.cc \ src/core/ext/filters/deadline/deadline_filter.h \ src/core/ext/filters/fault_injection/fault_injection_filter.cc \ diff --git a/tools/doxygen/Doxyfile.core.internal b/tools/doxygen/Doxyfile.core.internal index 84df8476912..a0e3208e899 100644 --- a/tools/doxygen/Doxyfile.core.internal +++ b/tools/doxygen/Doxyfile.core.internal @@ -884,6 +884,49 @@ include/grpc/support/thd_id.h \ include/grpc/support/time.h \ include/grpc/support/workaround_list.h \ src/core/README.md \ +src/core/client_channel/README.md \ +src/core/client_channel/backend_metric.cc \ +src/core/client_channel/backend_metric.h \ +src/core/client_channel/backup_poller.cc \ +src/core/client_channel/backup_poller.h \ +src/core/client_channel/channel_connectivity.cc \ +src/core/client_channel/client_channel_channelz.cc \ +src/core/client_channel/client_channel_channelz.h \ +src/core/client_channel/client_channel_factory.cc \ +src/core/client_channel/client_channel_factory.h \ +src/core/client_channel/client_channel_filter.cc \ +src/core/client_channel/client_channel_filter.h \ +src/core/client_channel/client_channel_internal.h \ +src/core/client_channel/client_channel_plugin.cc \ +src/core/client_channel/client_channel_service_config.cc \ +src/core/client_channel/client_channel_service_config.h \ +src/core/client_channel/config_selector.cc \ +src/core/client_channel/config_selector.h \ +src/core/client_channel/connector.h \ +src/core/client_channel/dynamic_filters.cc \ +src/core/client_channel/dynamic_filters.h \ +src/core/client_channel/global_subchannel_pool.cc \ +src/core/client_channel/global_subchannel_pool.h \ +src/core/client_channel/http_proxy_mapper.cc \ +src/core/client_channel/http_proxy_mapper.h \ +src/core/client_channel/local_subchannel_pool.cc \ +src/core/client_channel/local_subchannel_pool.h \ +src/core/client_channel/retry_filter.cc \ +src/core/client_channel/retry_filter.h \ +src/core/client_channel/retry_filter_legacy_call_data.cc \ +src/core/client_channel/retry_filter_legacy_call_data.h \ +src/core/client_channel/retry_service_config.cc \ +src/core/client_channel/retry_service_config.h \ +src/core/client_channel/retry_throttle.cc \ +src/core/client_channel/retry_throttle.h \ +src/core/client_channel/service_config_channel_arg_filter.cc \ +src/core/client_channel/subchannel.cc \ +src/core/client_channel/subchannel.h \ +src/core/client_channel/subchannel_interface_internal.h \ +src/core/client_channel/subchannel_pool_interface.cc \ +src/core/client_channel/subchannel_pool_interface.h \ +src/core/client_channel/subchannel_stream_client.cc \ +src/core/client_channel/subchannel_stream_client.h \ src/core/ext/README.md \ src/core/ext/filters/backend_metrics/backend_metric_filter.cc \ src/core/ext/filters/backend_metrics/backend_metric_filter.h \ @@ -895,49 +938,6 @@ src/core/ext/filters/channel_idle/idle_filter_state.cc \ src/core/ext/filters/channel_idle/idle_filter_state.h \ src/core/ext/filters/channel_idle/legacy_channel_idle_filter.cc \ src/core/ext/filters/channel_idle/legacy_channel_idle_filter.h \ -src/core/ext/filters/client_channel/README.md \ -src/core/ext/filters/client_channel/backend_metric.cc \ -src/core/ext/filters/client_channel/backend_metric.h \ -src/core/ext/filters/client_channel/backup_poller.cc \ -src/core/ext/filters/client_channel/backup_poller.h \ -src/core/ext/filters/client_channel/channel_connectivity.cc \ -src/core/ext/filters/client_channel/client_channel.cc \ -src/core/ext/filters/client_channel/client_channel.h \ -src/core/ext/filters/client_channel/client_channel_channelz.cc \ -src/core/ext/filters/client_channel/client_channel_channelz.h \ -src/core/ext/filters/client_channel/client_channel_factory.cc \ -src/core/ext/filters/client_channel/client_channel_factory.h \ -src/core/ext/filters/client_channel/client_channel_internal.h \ -src/core/ext/filters/client_channel/client_channel_plugin.cc \ -src/core/ext/filters/client_channel/client_channel_service_config.cc \ -src/core/ext/filters/client_channel/client_channel_service_config.h \ -src/core/ext/filters/client_channel/config_selector.cc \ -src/core/ext/filters/client_channel/config_selector.h \ -src/core/ext/filters/client_channel/connector.h \ -src/core/ext/filters/client_channel/dynamic_filters.cc \ -src/core/ext/filters/client_channel/dynamic_filters.h \ -src/core/ext/filters/client_channel/global_subchannel_pool.cc \ -src/core/ext/filters/client_channel/global_subchannel_pool.h \ -src/core/ext/filters/client_channel/http_proxy_mapper.cc \ -src/core/ext/filters/client_channel/http_proxy_mapper.h \ -src/core/ext/filters/client_channel/local_subchannel_pool.cc \ -src/core/ext/filters/client_channel/local_subchannel_pool.h \ -src/core/ext/filters/client_channel/retry_filter.cc \ -src/core/ext/filters/client_channel/retry_filter.h \ -src/core/ext/filters/client_channel/retry_filter_legacy_call_data.cc \ -src/core/ext/filters/client_channel/retry_filter_legacy_call_data.h \ -src/core/ext/filters/client_channel/retry_service_config.cc \ -src/core/ext/filters/client_channel/retry_service_config.h \ -src/core/ext/filters/client_channel/retry_throttle.cc \ -src/core/ext/filters/client_channel/retry_throttle.h \ -src/core/ext/filters/client_channel/service_config_channel_arg_filter.cc \ -src/core/ext/filters/client_channel/subchannel.cc \ -src/core/ext/filters/client_channel/subchannel.h \ -src/core/ext/filters/client_channel/subchannel_interface_internal.h \ -src/core/ext/filters/client_channel/subchannel_pool_interface.cc \ -src/core/ext/filters/client_channel/subchannel_pool_interface.h \ -src/core/ext/filters/client_channel/subchannel_stream_client.cc \ -src/core/ext/filters/client_channel/subchannel_stream_client.h \ src/core/ext/filters/deadline/deadline_filter.cc \ src/core/ext/filters/deadline/deadline_filter.h \ src/core/ext/filters/fault_injection/fault_injection_filter.cc \ diff --git a/tools/run_tests/sanity/check_submodules.sh b/tools/run_tests/sanity/check_submodules.sh index 9f79f7bae78..35a19807ae9 100755 --- a/tools/run_tests/sanity/check_submodules.sh +++ b/tools/run_tests/sanity/check_submodules.sh @@ -28,7 +28,7 @@ cat <"$want_submodules" third_party/abseil-cpp 4a2c63365eff8823a5221db86ef490e828306f9d third_party/benchmark 344117638c8ff7e239044fd0fa7085839fc03021 third_party/bloaty 60209eb1ccc34d5deefb002d1b7f37545204f7f2 -third_party/boringssl-with-bazel 311e6f6d8e77da1f64c3256b30bd1992a555ce6c +third_party/boringssl-with-bazel ae72a4514c7afd150596b0a80947f3ca9b8363b5 third_party/cares/cares 6360e96b5cf8e5980c887ce58ef727e53d77243a third_party/envoy-api 78f198cf96ecdc7120ef640406770aa01af775c4 third_party/googleapis 2f9af297c84c55c8b871ba4495e01ade42476c92