diff --git a/BUILD b/BUILD index 388996cda2269..4988a73ab194a 100644 --- a/BUILD +++ b/BUILD @@ -702,6 +702,7 @@ grpc_cc_library( "absl/base", "absl/base:core_headers", "absl/memory", + "absl/random", "absl/status", "absl/strings", "absl/strings:cord", diff --git a/BUILD.gn b/BUILD.gn new file mode 100644 index 0000000000000..2d558a8873941 --- /dev/null +++ b/BUILD.gn @@ -0,0 +1,1654 @@ +# GRPC Fuchsia GN build file + +# This file has been automatically generated from a template file. +# Please look at the templates directory instead. +# This file can be regenerated from the template by running +# tools/buildgen/generate_projects.sh + +# Copyright 2019 gRPC authors. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +config("grpc_config") { + include_dirs = [ + ".", + "include/", + ] + defines = [ + "GRPC_USE_PROTO_LITE", + "GPR_SUPPORT_CHANNELS_FROM_FD", + "PB_FIELD_16BIT", + ] +} + + + + source_set("address_sorting") { + sources = [ + "third_party/address_sorting/address_sorting.c", + "third_party/address_sorting/address_sorting_internal.h", + "third_party/address_sorting/address_sorting_posix.c", + "third_party/address_sorting/address_sorting_windows.c", + "third_party/address_sorting/include/address_sorting/address_sorting.h", + ] + deps = [ + ] + + public_configs = [ + ":grpc_config", + ] + include_dirs = [ + "third_party/address_sorting/include", + ] + } + + + + source_set("gpr") { + sources = [ + "include/grpc/impl/codegen/atm.h", + "include/grpc/impl/codegen/atm_gcc_atomic.h", + "include/grpc/impl/codegen/atm_gcc_sync.h", + "include/grpc/impl/codegen/atm_windows.h", + "include/grpc/impl/codegen/byte_buffer.h", + "include/grpc/impl/codegen/byte_buffer_reader.h", + "include/grpc/impl/codegen/compression_types.h", + "include/grpc/impl/codegen/connectivity_state.h", + "include/grpc/impl/codegen/fork.h", + "include/grpc/impl/codegen/gpr_slice.h", + "include/grpc/impl/codegen/gpr_types.h", + "include/grpc/impl/codegen/grpc_types.h", + "include/grpc/impl/codegen/log.h", + "include/grpc/impl/codegen/port_platform.h", + "include/grpc/impl/codegen/propagation_bits.h", + "include/grpc/impl/codegen/slice.h", + "include/grpc/impl/codegen/status.h", + "include/grpc/impl/codegen/sync.h", + "include/grpc/impl/codegen/sync_abseil.h", + "include/grpc/impl/codegen/sync_custom.h", + "include/grpc/impl/codegen/sync_generic.h", + "include/grpc/impl/codegen/sync_posix.h", + "include/grpc/impl/codegen/sync_windows.h", + "include/grpc/support/alloc.h", + "include/grpc/support/atm.h", + "include/grpc/support/atm_gcc_atomic.h", + "include/grpc/support/atm_gcc_sync.h", + "include/grpc/support/atm_windows.h", + "include/grpc/support/cpu.h", + "include/grpc/support/log.h", + "include/grpc/support/log_windows.h", + "include/grpc/support/port_platform.h", + "include/grpc/support/string_util.h", + "include/grpc/support/sync.h", + "include/grpc/support/sync_abseil.h", + "include/grpc/support/sync_custom.h", + "include/grpc/support/sync_generic.h", + "include/grpc/support/sync_posix.h", + "include/grpc/support/sync_windows.h", + "include/grpc/support/thd_id.h", + "include/grpc/support/time.h", + "src/core/ext/upb-generated/google/api/annotations.upb.c", + "src/core/ext/upb-generated/google/api/annotations.upb.h", + "src/core/ext/upb-generated/google/api/expr/v1alpha1/checked.upb.c", + "src/core/ext/upb-generated/google/api/expr/v1alpha1/checked.upb.h", + "src/core/ext/upb-generated/google/api/expr/v1alpha1/syntax.upb.c", + "src/core/ext/upb-generated/google/api/expr/v1alpha1/syntax.upb.h", + "src/core/ext/upb-generated/google/api/http.upb.c", + "src/core/ext/upb-generated/google/api/http.upb.h", + "src/core/ext/upb-generated/google/protobuf/any.upb.c", + "src/core/ext/upb-generated/google/protobuf/any.upb.h", + "src/core/ext/upb-generated/google/protobuf/duration.upb.c", + "src/core/ext/upb-generated/google/protobuf/duration.upb.h", + "src/core/ext/upb-generated/google/protobuf/empty.upb.c", + "src/core/ext/upb-generated/google/protobuf/empty.upb.h", + "src/core/ext/upb-generated/google/protobuf/struct.upb.c", + "src/core/ext/upb-generated/google/protobuf/struct.upb.h", + "src/core/ext/upb-generated/google/protobuf/timestamp.upb.c", + "src/core/ext/upb-generated/google/protobuf/timestamp.upb.h", + "src/core/ext/upb-generated/google/protobuf/wrappers.upb.c", + "src/core/ext/upb-generated/google/protobuf/wrappers.upb.h", + "src/core/ext/upb-generated/google/rpc/status.upb.c", + "src/core/ext/upb-generated/google/rpc/status.upb.h", + "src/core/lib/gpr/alloc.cc", + "src/core/lib/gpr/alloc.h", + "src/core/lib/gpr/arena.h", + "src/core/lib/gpr/atm.cc", + "src/core/lib/gpr/cpu_iphone.cc", + "src/core/lib/gpr/cpu_linux.cc", + "src/core/lib/gpr/cpu_posix.cc", + "src/core/lib/gpr/cpu_windows.cc", + "src/core/lib/gpr/env.h", + "src/core/lib/gpr/env_linux.cc", + "src/core/lib/gpr/env_posix.cc", + "src/core/lib/gpr/env_windows.cc", + "src/core/lib/gpr/log.cc", + "src/core/lib/gpr/log_android.cc", + "src/core/lib/gpr/log_linux.cc", + "src/core/lib/gpr/log_posix.cc", + "src/core/lib/gpr/log_windows.cc", + "src/core/lib/gpr/murmur_hash.cc", + "src/core/lib/gpr/murmur_hash.h", + "src/core/lib/gpr/spinlock.h", + "src/core/lib/gpr/string.cc", + "src/core/lib/gpr/string.h", + "src/core/lib/gpr/string_posix.cc", + "src/core/lib/gpr/string_util_windows.cc", + "src/core/lib/gpr/string_windows.cc", + "src/core/lib/gpr/string_windows.h", + "src/core/lib/gpr/sync.cc", + "src/core/lib/gpr/sync_abseil.cc", + "src/core/lib/gpr/sync_posix.cc", + "src/core/lib/gpr/sync_windows.cc", + "src/core/lib/gpr/time.cc", + "src/core/lib/gpr/time_posix.cc", + "src/core/lib/gpr/time_precise.cc", + "src/core/lib/gpr/time_precise.h", + "src/core/lib/gpr/time_windows.cc", + "src/core/lib/gpr/tls.h", + "src/core/lib/gpr/tls_gcc.h", + "src/core/lib/gpr/tls_msvc.h", + "src/core/lib/gpr/tls_pthread.cc", + "src/core/lib/gpr/tls_pthread.h", + "src/core/lib/gpr/tls_stdcpp.h", + "src/core/lib/gpr/tmpfile.h", + "src/core/lib/gpr/tmpfile_msys.cc", + "src/core/lib/gpr/tmpfile_posix.cc", + "src/core/lib/gpr/tmpfile_windows.cc", + "src/core/lib/gpr/useful.h", + "src/core/lib/gpr/wrap_memcpy.cc", + "src/core/lib/gprpp/arena.cc", + "src/core/lib/gprpp/arena.h", + "src/core/lib/gprpp/atomic.h", + "src/core/lib/gprpp/debug_location.h", + "src/core/lib/gprpp/examine_stack.cc", + "src/core/lib/gprpp/examine_stack.h", + "src/core/lib/gprpp/fork.cc", + "src/core/lib/gprpp/fork.h", + "src/core/lib/gprpp/global_config.h", + "src/core/lib/gprpp/global_config_custom.h", + "src/core/lib/gprpp/global_config_env.cc", + "src/core/lib/gprpp/global_config_env.h", + "src/core/lib/gprpp/global_config_generic.h", + "src/core/lib/gprpp/host_port.cc", + "src/core/lib/gprpp/host_port.h", + "src/core/lib/gprpp/manual_constructor.h", + "src/core/lib/gprpp/memory.h", + "src/core/lib/gprpp/mpscq.cc", + "src/core/lib/gprpp/mpscq.h", + "src/core/lib/gprpp/stat.h", + "src/core/lib/gprpp/stat_posix.cc", + "src/core/lib/gprpp/stat_windows.cc", + "src/core/lib/gprpp/status_helper.cc", + "src/core/lib/gprpp/status_helper.h", + "src/core/lib/gprpp/sync.h", + "src/core/lib/gprpp/thd.h", + "src/core/lib/gprpp/thd_posix.cc", + "src/core/lib/gprpp/thd_windows.cc", + "src/core/lib/gprpp/time_util.cc", + "src/core/lib/gprpp/time_util.h", + "src/core/lib/profiling/basic_timers.cc", + "src/core/lib/profiling/stap_timers.cc", + "src/core/lib/profiling/timers.h", + ] + deps = [ + ":absl/base:base", + ":absl/memory:memory", + ":absl/random:random", + ":absl/status:status", + ":absl/strings:str_format", + ":absl/strings:strings", + ":absl/synchronization:synchronization", + ":absl/time:time", + ":absl/types:optional", + ":upb", + ] + + public_configs = [ + ":grpc_config", + ] + } + + + + source_set("grpc") { + sources = [ + "include/grpc/byte_buffer.h", + "include/grpc/byte_buffer_reader.h", + "include/grpc/census.h", + "include/grpc/compression.h", + "include/grpc/event_engine/endpoint_config.h", + "include/grpc/event_engine/event_engine.h", + "include/grpc/event_engine/port.h", + "include/grpc/event_engine/slice_allocator.h", + "include/grpc/fork.h", + "include/grpc/grpc.h", + "include/grpc/grpc_posix.h", + "include/grpc/grpc_security.h", + "include/grpc/grpc_security_constants.h", + "include/grpc/load_reporting.h", + "include/grpc/slice.h", + "include/grpc/slice_buffer.h", + "include/grpc/status.h", + "include/grpc/support/workaround_list.h", + "src/core/ext/filters/census/grpc_context.cc", + "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_plugin.cc", + "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/health/health_check_client.cc", + "src/core/ext/filters/client_channel/health/health_check_client.h", + "src/core/ext/filters/client_channel/http_connect_handshaker.cc", + "src/core/ext/filters/client_channel/http_connect_handshaker.h", + "src/core/ext/filters/client_channel/http_proxy.cc", + "src/core/ext/filters/client_channel/http_proxy.h", + "src/core/ext/filters/client_channel/lb_policy.cc", + "src/core/ext/filters/client_channel/lb_policy.h", + "src/core/ext/filters/client_channel/lb_policy/address_filtering.cc", + "src/core/ext/filters/client_channel/lb_policy/address_filtering.h", + "src/core/ext/filters/client_channel/lb_policy/child_policy_handler.cc", + "src/core/ext/filters/client_channel/lb_policy/child_policy_handler.h", + "src/core/ext/filters/client_channel/lb_policy/grpclb/client_load_reporting_filter.cc", + "src/core/ext/filters/client_channel/lb_policy/grpclb/client_load_reporting_filter.h", + "src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.cc", + "src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.h", + "src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_balancer_addresses.cc", + "src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_balancer_addresses.h", + "src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_channel.h", + "src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_channel_secure.cc", + "src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_client_stats.cc", + "src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_client_stats.h", + "src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.cc", + "src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.h", + "src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.cc", + "src/core/ext/filters/client_channel/lb_policy/priority/priority.cc", + "src/core/ext/filters/client_channel/lb_policy/ring_hash/ring_hash.cc", + "src/core/ext/filters/client_channel/lb_policy/ring_hash/ring_hash.h", + "src/core/ext/filters/client_channel/lb_policy/round_robin/round_robin.cc", + "src/core/ext/filters/client_channel/lb_policy/subchannel_list.h", + "src/core/ext/filters/client_channel/lb_policy/weighted_target/weighted_target.cc", + "src/core/ext/filters/client_channel/lb_policy/xds/cds.cc", + "src/core/ext/filters/client_channel/lb_policy/xds/xds.h", + "src/core/ext/filters/client_channel/lb_policy/xds/xds_channel_args.h", + "src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_impl.cc", + "src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_manager.cc", + "src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_resolver.cc", + "src/core/ext/filters/client_channel/lb_policy_factory.h", + "src/core/ext/filters/client_channel/lb_policy_registry.cc", + "src/core/ext/filters/client_channel/lb_policy_registry.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/proxy_mapper.h", + "src/core/ext/filters/client_channel/proxy_mapper_registry.cc", + "src/core/ext/filters/client_channel/proxy_mapper_registry.h", + "src/core/ext/filters/client_channel/resolver.cc", + "src/core/ext/filters/client_channel/resolver.h", + "src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.cc", + "src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver.h", + "src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_event_engine.cc", + "src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_libuv.cc", + "src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_posix.cc", + "src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_windows.cc", + "src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.cc", + "src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.h", + "src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper_event_engine.cc", + "src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper_libuv.cc", + "src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper_posix.cc", + "src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper_windows.cc", + "src/core/ext/filters/client_channel/resolver/dns/dns_resolver_selection.cc", + "src/core/ext/filters/client_channel/resolver/dns/dns_resolver_selection.h", + "src/core/ext/filters/client_channel/resolver/dns/native/dns_resolver.cc", + "src/core/ext/filters/client_channel/resolver/fake/fake_resolver.cc", + "src/core/ext/filters/client_channel/resolver/fake/fake_resolver.h", + "src/core/ext/filters/client_channel/resolver/google_c2p/google_c2p_resolver.cc", + "src/core/ext/filters/client_channel/resolver/sockaddr/sockaddr_resolver.cc", + "src/core/ext/filters/client_channel/resolver/xds/xds_resolver.cc", + "src/core/ext/filters/client_channel/resolver/xds/xds_resolver.h", + "src/core/ext/filters/client_channel/resolver_factory.h", + "src/core/ext/filters/client_channel/resolver_registry.cc", + "src/core/ext/filters/client_channel/resolver_registry.h", + "src/core/ext/filters/client_channel/resolver_result_parsing.cc", + "src/core/ext/filters/client_channel/resolver_result_parsing.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_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/server_address.cc", + "src/core/ext/filters/client_channel/server_address.h", + "src/core/ext/filters/client_channel/service_config.cc", + "src/core/ext/filters/client_channel/service_config.h", + "src/core/ext/filters/client_channel/service_config_call_data.h", + "src/core/ext/filters/client_channel/service_config_channel_arg_filter.cc", + "src/core/ext/filters/client_channel/service_config_parser.cc", + "src/core/ext/filters/client_channel/service_config_parser.h", + "src/core/ext/filters/client_channel/subchannel.cc", + "src/core/ext/filters/client_channel/subchannel.h", + "src/core/ext/filters/client_channel/subchannel_interface.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_idle/client_idle_filter.cc", + "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", + "src/core/ext/filters/fault_injection/fault_injection_filter.h", + "src/core/ext/filters/fault_injection/service_config_parser.cc", + "src/core/ext/filters/fault_injection/service_config_parser.h", + "src/core/ext/filters/http/client/http_client_filter.cc", + "src/core/ext/filters/http/client/http_client_filter.h", + "src/core/ext/filters/http/client_authority_filter.cc", + "src/core/ext/filters/http/client_authority_filter.h", + "src/core/ext/filters/http/http_filters_plugin.cc", + "src/core/ext/filters/http/message_compress/message_compress_filter.cc", + "src/core/ext/filters/http/message_compress/message_compress_filter.h", + "src/core/ext/filters/http/message_compress/message_decompress_filter.cc", + "src/core/ext/filters/http/message_compress/message_decompress_filter.h", + "src/core/ext/filters/http/server/http_server_filter.cc", + "src/core/ext/filters/http/server/http_server_filter.h", + "src/core/ext/filters/max_age/max_age_filter.cc", + "src/core/ext/filters/max_age/max_age_filter.h", + "src/core/ext/filters/message_size/message_size_filter.cc", + "src/core/ext/filters/message_size/message_size_filter.h", + "src/core/ext/filters/workarounds/workaround_cronet_compression_filter.cc", + "src/core/ext/filters/workarounds/workaround_cronet_compression_filter.h", + "src/core/ext/filters/workarounds/workaround_utils.cc", + "src/core/ext/filters/workarounds/workaround_utils.h", + "src/core/ext/transport/chttp2/alpn/alpn.cc", + "src/core/ext/transport/chttp2/alpn/alpn.h", + "src/core/ext/transport/chttp2/client/authority.cc", + "src/core/ext/transport/chttp2/client/authority.h", + "src/core/ext/transport/chttp2/client/chttp2_connector.cc", + "src/core/ext/transport/chttp2/client/chttp2_connector.h", + "src/core/ext/transport/chttp2/client/insecure/channel_create.cc", + "src/core/ext/transport/chttp2/client/insecure/channel_create_posix.cc", + "src/core/ext/transport/chttp2/client/secure/secure_channel_create.cc", + "src/core/ext/transport/chttp2/server/chttp2_server.cc", + "src/core/ext/transport/chttp2/server/chttp2_server.h", + "src/core/ext/transport/chttp2/server/insecure/server_chttp2.cc", + "src/core/ext/transport/chttp2/server/insecure/server_chttp2_posix.cc", + "src/core/ext/transport/chttp2/server/secure/server_secure_chttp2.cc", + "src/core/ext/transport/chttp2/transport/bin_decoder.cc", + "src/core/ext/transport/chttp2/transport/bin_decoder.h", + "src/core/ext/transport/chttp2/transport/bin_encoder.cc", + "src/core/ext/transport/chttp2/transport/bin_encoder.h", + "src/core/ext/transport/chttp2/transport/chttp2_plugin.cc", + "src/core/ext/transport/chttp2/transport/chttp2_transport.cc", + "src/core/ext/transport/chttp2/transport/chttp2_transport.h", + "src/core/ext/transport/chttp2/transport/context_list.cc", + "src/core/ext/transport/chttp2/transport/context_list.h", + "src/core/ext/transport/chttp2/transport/flow_control.cc", + "src/core/ext/transport/chttp2/transport/flow_control.h", + "src/core/ext/transport/chttp2/transport/frame.h", + "src/core/ext/transport/chttp2/transport/frame_data.cc", + "src/core/ext/transport/chttp2/transport/frame_data.h", + "src/core/ext/transport/chttp2/transport/frame_goaway.cc", + "src/core/ext/transport/chttp2/transport/frame_goaway.h", + "src/core/ext/transport/chttp2/transport/frame_ping.cc", + "src/core/ext/transport/chttp2/transport/frame_ping.h", + "src/core/ext/transport/chttp2/transport/frame_rst_stream.cc", + "src/core/ext/transport/chttp2/transport/frame_rst_stream.h", + "src/core/ext/transport/chttp2/transport/frame_settings.cc", + "src/core/ext/transport/chttp2/transport/frame_settings.h", + "src/core/ext/transport/chttp2/transport/frame_window_update.cc", + "src/core/ext/transport/chttp2/transport/frame_window_update.h", + "src/core/ext/transport/chttp2/transport/hpack_encoder.cc", + "src/core/ext/transport/chttp2/transport/hpack_encoder.h", + "src/core/ext/transport/chttp2/transport/hpack_parser.cc", + "src/core/ext/transport/chttp2/transport/hpack_parser.h", + "src/core/ext/transport/chttp2/transport/hpack_table.cc", + "src/core/ext/transport/chttp2/transport/hpack_table.h", + "src/core/ext/transport/chttp2/transport/http2_settings.cc", + "src/core/ext/transport/chttp2/transport/http2_settings.h", + "src/core/ext/transport/chttp2/transport/huffsyms.cc", + "src/core/ext/transport/chttp2/transport/huffsyms.h", + "src/core/ext/transport/chttp2/transport/incoming_metadata.cc", + "src/core/ext/transport/chttp2/transport/incoming_metadata.h", + "src/core/ext/transport/chttp2/transport/internal.h", + "src/core/ext/transport/chttp2/transport/parsing.cc", + "src/core/ext/transport/chttp2/transport/stream_lists.cc", + "src/core/ext/transport/chttp2/transport/stream_map.cc", + "src/core/ext/transport/chttp2/transport/stream_map.h", + "src/core/ext/transport/chttp2/transport/varint.cc", + "src/core/ext/transport/chttp2/transport/varint.h", + "src/core/ext/transport/chttp2/transport/writing.cc", + "src/core/ext/transport/inproc/inproc_plugin.cc", + "src/core/ext/transport/inproc/inproc_transport.cc", + "src/core/ext/transport/inproc/inproc_transport.h", + "src/core/ext/upb-generated/envoy/admin/v3/config_dump.upb.c", + "src/core/ext/upb-generated/envoy/admin/v3/config_dump.upb.h", + "src/core/ext/upb-generated/envoy/annotations/deprecation.upb.c", + "src/core/ext/upb-generated/envoy/annotations/deprecation.upb.h", + "src/core/ext/upb-generated/envoy/annotations/resource.upb.c", + "src/core/ext/upb-generated/envoy/annotations/resource.upb.h", + "src/core/ext/upb-generated/envoy/config/accesslog/v3/accesslog.upb.c", + "src/core/ext/upb-generated/envoy/config/accesslog/v3/accesslog.upb.h", + "src/core/ext/upb-generated/envoy/config/bootstrap/v3/bootstrap.upb.c", + "src/core/ext/upb-generated/envoy/config/bootstrap/v3/bootstrap.upb.h", + "src/core/ext/upb-generated/envoy/config/cluster/v3/circuit_breaker.upb.c", + "src/core/ext/upb-generated/envoy/config/cluster/v3/circuit_breaker.upb.h", + "src/core/ext/upb-generated/envoy/config/cluster/v3/cluster.upb.c", + "src/core/ext/upb-generated/envoy/config/cluster/v3/cluster.upb.h", + "src/core/ext/upb-generated/envoy/config/cluster/v3/filter.upb.c", + "src/core/ext/upb-generated/envoy/config/cluster/v3/filter.upb.h", + "src/core/ext/upb-generated/envoy/config/cluster/v3/outlier_detection.upb.c", + "src/core/ext/upb-generated/envoy/config/cluster/v3/outlier_detection.upb.h", + "src/core/ext/upb-generated/envoy/config/core/v3/address.upb.c", + "src/core/ext/upb-generated/envoy/config/core/v3/address.upb.h", + "src/core/ext/upb-generated/envoy/config/core/v3/backoff.upb.c", + "src/core/ext/upb-generated/envoy/config/core/v3/backoff.upb.h", + "src/core/ext/upb-generated/envoy/config/core/v3/base.upb.c", + "src/core/ext/upb-generated/envoy/config/core/v3/base.upb.h", + "src/core/ext/upb-generated/envoy/config/core/v3/config_source.upb.c", + "src/core/ext/upb-generated/envoy/config/core/v3/config_source.upb.h", + "src/core/ext/upb-generated/envoy/config/core/v3/event_service_config.upb.c", + "src/core/ext/upb-generated/envoy/config/core/v3/event_service_config.upb.h", + "src/core/ext/upb-generated/envoy/config/core/v3/extension.upb.c", + "src/core/ext/upb-generated/envoy/config/core/v3/extension.upb.h", + "src/core/ext/upb-generated/envoy/config/core/v3/grpc_service.upb.c", + "src/core/ext/upb-generated/envoy/config/core/v3/grpc_service.upb.h", + "src/core/ext/upb-generated/envoy/config/core/v3/health_check.upb.c", + "src/core/ext/upb-generated/envoy/config/core/v3/health_check.upb.h", + "src/core/ext/upb-generated/envoy/config/core/v3/http_uri.upb.c", + "src/core/ext/upb-generated/envoy/config/core/v3/http_uri.upb.h", + "src/core/ext/upb-generated/envoy/config/core/v3/protocol.upb.c", + "src/core/ext/upb-generated/envoy/config/core/v3/protocol.upb.h", + "src/core/ext/upb-generated/envoy/config/core/v3/proxy_protocol.upb.c", + "src/core/ext/upb-generated/envoy/config/core/v3/proxy_protocol.upb.h", + "src/core/ext/upb-generated/envoy/config/core/v3/socket_option.upb.c", + "src/core/ext/upb-generated/envoy/config/core/v3/socket_option.upb.h", + "src/core/ext/upb-generated/envoy/config/core/v3/substitution_format_string.upb.c", + "src/core/ext/upb-generated/envoy/config/core/v3/substitution_format_string.upb.h", + "src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint.upb.c", + "src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint.upb.h", + "src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint_components.upb.c", + "src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint_components.upb.h", + "src/core/ext/upb-generated/envoy/config/endpoint/v3/load_report.upb.c", + "src/core/ext/upb-generated/envoy/config/endpoint/v3/load_report.upb.h", + "src/core/ext/upb-generated/envoy/config/listener/v3/api_listener.upb.c", + "src/core/ext/upb-generated/envoy/config/listener/v3/api_listener.upb.h", + "src/core/ext/upb-generated/envoy/config/listener/v3/listener.upb.c", + "src/core/ext/upb-generated/envoy/config/listener/v3/listener.upb.h", + "src/core/ext/upb-generated/envoy/config/listener/v3/listener_components.upb.c", + "src/core/ext/upb-generated/envoy/config/listener/v3/listener_components.upb.h", + "src/core/ext/upb-generated/envoy/config/listener/v3/udp_listener_config.upb.c", + "src/core/ext/upb-generated/envoy/config/listener/v3/udp_listener_config.upb.h", + "src/core/ext/upb-generated/envoy/config/metrics/v3/stats.upb.c", + "src/core/ext/upb-generated/envoy/config/metrics/v3/stats.upb.h", + "src/core/ext/upb-generated/envoy/config/overload/v3/overload.upb.c", + "src/core/ext/upb-generated/envoy/config/overload/v3/overload.upb.h", + "src/core/ext/upb-generated/envoy/config/rbac/v3/rbac.upb.c", + "src/core/ext/upb-generated/envoy/config/rbac/v3/rbac.upb.h", + "src/core/ext/upb-generated/envoy/config/route/v3/route.upb.c", + "src/core/ext/upb-generated/envoy/config/route/v3/route.upb.h", + "src/core/ext/upb-generated/envoy/config/route/v3/route_components.upb.c", + "src/core/ext/upb-generated/envoy/config/route/v3/route_components.upb.h", + "src/core/ext/upb-generated/envoy/config/route/v3/scoped_route.upb.c", + "src/core/ext/upb-generated/envoy/config/route/v3/scoped_route.upb.h", + "src/core/ext/upb-generated/envoy/config/trace/v3/http_tracer.upb.c", + "src/core/ext/upb-generated/envoy/config/trace/v3/http_tracer.upb.h", + "src/core/ext/upb-generated/envoy/extensions/clusters/aggregate/v3/cluster.upb.c", + "src/core/ext/upb-generated/envoy/extensions/clusters/aggregate/v3/cluster.upb.h", + "src/core/ext/upb-generated/envoy/extensions/filters/common/fault/v3/fault.upb.c", + "src/core/ext/upb-generated/envoy/extensions/filters/common/fault/v3/fault.upb.h", + "src/core/ext/upb-generated/envoy/extensions/filters/http/fault/v3/fault.upb.c", + "src/core/ext/upb-generated/envoy/extensions/filters/http/fault/v3/fault.upb.h", + "src/core/ext/upb-generated/envoy/extensions/filters/http/router/v3/router.upb.c", + "src/core/ext/upb-generated/envoy/extensions/filters/http/router/v3/router.upb.h", + "src/core/ext/upb-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.c", + "src/core/ext/upb-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.h", + "src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/cert.upb.c", + "src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/cert.upb.h", + "src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/common.upb.c", + "src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/common.upb.h", + "src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/secret.upb.c", + "src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/secret.upb.h", + "src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/tls.upb.c", + "src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/tls.upb.h", + "src/core/ext/upb-generated/envoy/service/cluster/v3/cds.upb.c", + "src/core/ext/upb-generated/envoy/service/cluster/v3/cds.upb.h", + "src/core/ext/upb-generated/envoy/service/discovery/v3/ads.upb.c", + "src/core/ext/upb-generated/envoy/service/discovery/v3/ads.upb.h", + "src/core/ext/upb-generated/envoy/service/discovery/v3/discovery.upb.c", + "src/core/ext/upb-generated/envoy/service/discovery/v3/discovery.upb.h", + "src/core/ext/upb-generated/envoy/service/endpoint/v3/eds.upb.c", + "src/core/ext/upb-generated/envoy/service/endpoint/v3/eds.upb.h", + "src/core/ext/upb-generated/envoy/service/listener/v3/lds.upb.c", + "src/core/ext/upb-generated/envoy/service/listener/v3/lds.upb.h", + "src/core/ext/upb-generated/envoy/service/load_stats/v3/lrs.upb.c", + "src/core/ext/upb-generated/envoy/service/load_stats/v3/lrs.upb.h", + "src/core/ext/upb-generated/envoy/service/route/v3/rds.upb.c", + "src/core/ext/upb-generated/envoy/service/route/v3/rds.upb.h", + "src/core/ext/upb-generated/envoy/service/route/v3/srds.upb.c", + "src/core/ext/upb-generated/envoy/service/route/v3/srds.upb.h", + "src/core/ext/upb-generated/envoy/service/status/v3/csds.upb.c", + "src/core/ext/upb-generated/envoy/service/status/v3/csds.upb.h", + "src/core/ext/upb-generated/envoy/type/matcher/v3/metadata.upb.c", + "src/core/ext/upb-generated/envoy/type/matcher/v3/metadata.upb.h", + "src/core/ext/upb-generated/envoy/type/matcher/v3/node.upb.c", + "src/core/ext/upb-generated/envoy/type/matcher/v3/node.upb.h", + "src/core/ext/upb-generated/envoy/type/matcher/v3/number.upb.c", + "src/core/ext/upb-generated/envoy/type/matcher/v3/number.upb.h", + "src/core/ext/upb-generated/envoy/type/matcher/v3/path.upb.c", + "src/core/ext/upb-generated/envoy/type/matcher/v3/path.upb.h", + "src/core/ext/upb-generated/envoy/type/matcher/v3/regex.upb.c", + "src/core/ext/upb-generated/envoy/type/matcher/v3/regex.upb.h", + "src/core/ext/upb-generated/envoy/type/matcher/v3/string.upb.c", + "src/core/ext/upb-generated/envoy/type/matcher/v3/string.upb.h", + "src/core/ext/upb-generated/envoy/type/matcher/v3/struct.upb.c", + "src/core/ext/upb-generated/envoy/type/matcher/v3/struct.upb.h", + "src/core/ext/upb-generated/envoy/type/matcher/v3/value.upb.c", + "src/core/ext/upb-generated/envoy/type/matcher/v3/value.upb.h", + "src/core/ext/upb-generated/envoy/type/metadata/v3/metadata.upb.c", + "src/core/ext/upb-generated/envoy/type/metadata/v3/metadata.upb.h", + "src/core/ext/upb-generated/envoy/type/tracing/v3/custom_tag.upb.c", + "src/core/ext/upb-generated/envoy/type/tracing/v3/custom_tag.upb.h", + "src/core/ext/upb-generated/envoy/type/v3/http.upb.c", + "src/core/ext/upb-generated/envoy/type/v3/http.upb.h", + "src/core/ext/upb-generated/envoy/type/v3/percent.upb.c", + "src/core/ext/upb-generated/envoy/type/v3/percent.upb.h", + "src/core/ext/upb-generated/envoy/type/v3/range.upb.c", + "src/core/ext/upb-generated/envoy/type/v3/range.upb.h", + "src/core/ext/upb-generated/envoy/type/v3/semantic_version.upb.c", + "src/core/ext/upb-generated/envoy/type/v3/semantic_version.upb.h", + "src/core/ext/upb-generated/src/proto/grpc/gcp/altscontext.upb.c", + "src/core/ext/upb-generated/src/proto/grpc/gcp/altscontext.upb.h", + "src/core/ext/upb-generated/src/proto/grpc/gcp/handshaker.upb.c", + "src/core/ext/upb-generated/src/proto/grpc/gcp/handshaker.upb.h", + "src/core/ext/upb-generated/src/proto/grpc/gcp/transport_security_common.upb.c", + "src/core/ext/upb-generated/src/proto/grpc/gcp/transport_security_common.upb.h", + "src/core/ext/upb-generated/src/proto/grpc/health/v1/health.upb.c", + "src/core/ext/upb-generated/src/proto/grpc/health/v1/health.upb.h", + "src/core/ext/upb-generated/src/proto/grpc/lb/v1/load_balancer.upb.c", + "src/core/ext/upb-generated/src/proto/grpc/lb/v1/load_balancer.upb.h", + "src/core/ext/upb-generated/udpa/annotations/migrate.upb.c", + "src/core/ext/upb-generated/udpa/annotations/migrate.upb.h", + "src/core/ext/upb-generated/udpa/annotations/security.upb.c", + "src/core/ext/upb-generated/udpa/annotations/security.upb.h", + "src/core/ext/upb-generated/udpa/annotations/sensitive.upb.c", + "src/core/ext/upb-generated/udpa/annotations/sensitive.upb.h", + "src/core/ext/upb-generated/udpa/annotations/status.upb.c", + "src/core/ext/upb-generated/udpa/annotations/status.upb.h", + "src/core/ext/upb-generated/udpa/annotations/versioning.upb.c", + "src/core/ext/upb-generated/udpa/annotations/versioning.upb.h", + "src/core/ext/upb-generated/udpa/data/orca/v1/orca_load_report.upb.c", + "src/core/ext/upb-generated/udpa/data/orca/v1/orca_load_report.upb.h", + "src/core/ext/upb-generated/udpa/type/v1/typed_struct.upb.c", + "src/core/ext/upb-generated/udpa/type/v1/typed_struct.upb.h", + "src/core/ext/upb-generated/validate/validate.upb.c", + "src/core/ext/upb-generated/validate/validate.upb.h", + "src/core/ext/upb-generated/xds/core/v3/authority.upb.c", + "src/core/ext/upb-generated/xds/core/v3/authority.upb.h", + "src/core/ext/upb-generated/xds/core/v3/collection_entry.upb.c", + "src/core/ext/upb-generated/xds/core/v3/collection_entry.upb.h", + "src/core/ext/upb-generated/xds/core/v3/context_params.upb.c", + "src/core/ext/upb-generated/xds/core/v3/context_params.upb.h", + "src/core/ext/upb-generated/xds/core/v3/resource.upb.c", + "src/core/ext/upb-generated/xds/core/v3/resource.upb.h", + "src/core/ext/upb-generated/xds/core/v3/resource_locator.upb.c", + "src/core/ext/upb-generated/xds/core/v3/resource_locator.upb.h", + "src/core/ext/upb-generated/xds/core/v3/resource_name.upb.c", + "src/core/ext/upb-generated/xds/core/v3/resource_name.upb.h", + "src/core/ext/upbdefs-generated/envoy/admin/v3/config_dump.upbdefs.c", + "src/core/ext/upbdefs-generated/envoy/admin/v3/config_dump.upbdefs.h", + "src/core/ext/upbdefs-generated/envoy/annotations/deprecation.upbdefs.c", + "src/core/ext/upbdefs-generated/envoy/annotations/deprecation.upbdefs.h", + "src/core/ext/upbdefs-generated/envoy/annotations/resource.upbdefs.c", + "src/core/ext/upbdefs-generated/envoy/annotations/resource.upbdefs.h", + "src/core/ext/upbdefs-generated/envoy/config/accesslog/v3/accesslog.upbdefs.c", + "src/core/ext/upbdefs-generated/envoy/config/accesslog/v3/accesslog.upbdefs.h", + "src/core/ext/upbdefs-generated/envoy/config/bootstrap/v3/bootstrap.upbdefs.c", + "src/core/ext/upbdefs-generated/envoy/config/bootstrap/v3/bootstrap.upbdefs.h", + "src/core/ext/upbdefs-generated/envoy/config/cluster/v3/circuit_breaker.upbdefs.c", + "src/core/ext/upbdefs-generated/envoy/config/cluster/v3/circuit_breaker.upbdefs.h", + "src/core/ext/upbdefs-generated/envoy/config/cluster/v3/cluster.upbdefs.c", + "src/core/ext/upbdefs-generated/envoy/config/cluster/v3/cluster.upbdefs.h", + "src/core/ext/upbdefs-generated/envoy/config/cluster/v3/filter.upbdefs.c", + "src/core/ext/upbdefs-generated/envoy/config/cluster/v3/filter.upbdefs.h", + "src/core/ext/upbdefs-generated/envoy/config/cluster/v3/outlier_detection.upbdefs.c", + "src/core/ext/upbdefs-generated/envoy/config/cluster/v3/outlier_detection.upbdefs.h", + "src/core/ext/upbdefs-generated/envoy/config/core/v3/address.upbdefs.c", + "src/core/ext/upbdefs-generated/envoy/config/core/v3/address.upbdefs.h", + "src/core/ext/upbdefs-generated/envoy/config/core/v3/backoff.upbdefs.c", + "src/core/ext/upbdefs-generated/envoy/config/core/v3/backoff.upbdefs.h", + "src/core/ext/upbdefs-generated/envoy/config/core/v3/base.upbdefs.c", + "src/core/ext/upbdefs-generated/envoy/config/core/v3/base.upbdefs.h", + "src/core/ext/upbdefs-generated/envoy/config/core/v3/config_source.upbdefs.c", + "src/core/ext/upbdefs-generated/envoy/config/core/v3/config_source.upbdefs.h", + "src/core/ext/upbdefs-generated/envoy/config/core/v3/event_service_config.upbdefs.c", + "src/core/ext/upbdefs-generated/envoy/config/core/v3/event_service_config.upbdefs.h", + "src/core/ext/upbdefs-generated/envoy/config/core/v3/extension.upbdefs.c", + "src/core/ext/upbdefs-generated/envoy/config/core/v3/extension.upbdefs.h", + "src/core/ext/upbdefs-generated/envoy/config/core/v3/grpc_service.upbdefs.c", + "src/core/ext/upbdefs-generated/envoy/config/core/v3/grpc_service.upbdefs.h", + "src/core/ext/upbdefs-generated/envoy/config/core/v3/health_check.upbdefs.c", + "src/core/ext/upbdefs-generated/envoy/config/core/v3/health_check.upbdefs.h", + "src/core/ext/upbdefs-generated/envoy/config/core/v3/http_uri.upbdefs.c", + "src/core/ext/upbdefs-generated/envoy/config/core/v3/http_uri.upbdefs.h", + "src/core/ext/upbdefs-generated/envoy/config/core/v3/protocol.upbdefs.c", + "src/core/ext/upbdefs-generated/envoy/config/core/v3/protocol.upbdefs.h", + "src/core/ext/upbdefs-generated/envoy/config/core/v3/proxy_protocol.upbdefs.c", + "src/core/ext/upbdefs-generated/envoy/config/core/v3/proxy_protocol.upbdefs.h", + "src/core/ext/upbdefs-generated/envoy/config/core/v3/socket_option.upbdefs.c", + "src/core/ext/upbdefs-generated/envoy/config/core/v3/socket_option.upbdefs.h", + "src/core/ext/upbdefs-generated/envoy/config/core/v3/substitution_format_string.upbdefs.c", + "src/core/ext/upbdefs-generated/envoy/config/core/v3/substitution_format_string.upbdefs.h", + "src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/endpoint.upbdefs.c", + "src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/endpoint.upbdefs.h", + "src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/endpoint_components.upbdefs.c", + "src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/endpoint_components.upbdefs.h", + "src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/load_report.upbdefs.c", + "src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/load_report.upbdefs.h", + "src/core/ext/upbdefs-generated/envoy/config/listener/v3/api_listener.upbdefs.c", + "src/core/ext/upbdefs-generated/envoy/config/listener/v3/api_listener.upbdefs.h", + "src/core/ext/upbdefs-generated/envoy/config/listener/v3/listener.upbdefs.c", + "src/core/ext/upbdefs-generated/envoy/config/listener/v3/listener.upbdefs.h", + "src/core/ext/upbdefs-generated/envoy/config/listener/v3/listener_components.upbdefs.c", + "src/core/ext/upbdefs-generated/envoy/config/listener/v3/listener_components.upbdefs.h", + "src/core/ext/upbdefs-generated/envoy/config/listener/v3/udp_listener_config.upbdefs.c", + "src/core/ext/upbdefs-generated/envoy/config/listener/v3/udp_listener_config.upbdefs.h", + "src/core/ext/upbdefs-generated/envoy/config/metrics/v3/stats.upbdefs.c", + "src/core/ext/upbdefs-generated/envoy/config/metrics/v3/stats.upbdefs.h", + "src/core/ext/upbdefs-generated/envoy/config/overload/v3/overload.upbdefs.c", + "src/core/ext/upbdefs-generated/envoy/config/overload/v3/overload.upbdefs.h", + "src/core/ext/upbdefs-generated/envoy/config/route/v3/route.upbdefs.c", + "src/core/ext/upbdefs-generated/envoy/config/route/v3/route.upbdefs.h", + "src/core/ext/upbdefs-generated/envoy/config/route/v3/route_components.upbdefs.c", + "src/core/ext/upbdefs-generated/envoy/config/route/v3/route_components.upbdefs.h", + "src/core/ext/upbdefs-generated/envoy/config/route/v3/scoped_route.upbdefs.c", + "src/core/ext/upbdefs-generated/envoy/config/route/v3/scoped_route.upbdefs.h", + "src/core/ext/upbdefs-generated/envoy/config/trace/v3/http_tracer.upbdefs.c", + "src/core/ext/upbdefs-generated/envoy/config/trace/v3/http_tracer.upbdefs.h", + "src/core/ext/upbdefs-generated/envoy/extensions/clusters/aggregate/v3/cluster.upbdefs.c", + "src/core/ext/upbdefs-generated/envoy/extensions/clusters/aggregate/v3/cluster.upbdefs.h", + "src/core/ext/upbdefs-generated/envoy/extensions/filters/common/fault/v3/fault.upbdefs.c", + "src/core/ext/upbdefs-generated/envoy/extensions/filters/common/fault/v3/fault.upbdefs.h", + "src/core/ext/upbdefs-generated/envoy/extensions/filters/http/fault/v3/fault.upbdefs.c", + "src/core/ext/upbdefs-generated/envoy/extensions/filters/http/fault/v3/fault.upbdefs.h", + "src/core/ext/upbdefs-generated/envoy/extensions/filters/http/router/v3/router.upbdefs.c", + "src/core/ext/upbdefs-generated/envoy/extensions/filters/http/router/v3/router.upbdefs.h", + "src/core/ext/upbdefs-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upbdefs.c", + "src/core/ext/upbdefs-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upbdefs.h", + "src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/cert.upbdefs.c", + "src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/cert.upbdefs.h", + "src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/common.upbdefs.c", + "src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/common.upbdefs.h", + "src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/secret.upbdefs.c", + "src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/secret.upbdefs.h", + "src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/tls.upbdefs.c", + "src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/tls.upbdefs.h", + "src/core/ext/upbdefs-generated/envoy/service/cluster/v3/cds.upbdefs.c", + "src/core/ext/upbdefs-generated/envoy/service/cluster/v3/cds.upbdefs.h", + "src/core/ext/upbdefs-generated/envoy/service/discovery/v3/ads.upbdefs.c", + "src/core/ext/upbdefs-generated/envoy/service/discovery/v3/ads.upbdefs.h", + "src/core/ext/upbdefs-generated/envoy/service/discovery/v3/discovery.upbdefs.c", + "src/core/ext/upbdefs-generated/envoy/service/discovery/v3/discovery.upbdefs.h", + "src/core/ext/upbdefs-generated/envoy/service/endpoint/v3/eds.upbdefs.c", + "src/core/ext/upbdefs-generated/envoy/service/endpoint/v3/eds.upbdefs.h", + "src/core/ext/upbdefs-generated/envoy/service/listener/v3/lds.upbdefs.c", + "src/core/ext/upbdefs-generated/envoy/service/listener/v3/lds.upbdefs.h", + "src/core/ext/upbdefs-generated/envoy/service/load_stats/v3/lrs.upbdefs.c", + "src/core/ext/upbdefs-generated/envoy/service/load_stats/v3/lrs.upbdefs.h", + "src/core/ext/upbdefs-generated/envoy/service/route/v3/rds.upbdefs.c", + "src/core/ext/upbdefs-generated/envoy/service/route/v3/rds.upbdefs.h", + "src/core/ext/upbdefs-generated/envoy/service/route/v3/srds.upbdefs.c", + "src/core/ext/upbdefs-generated/envoy/service/route/v3/srds.upbdefs.h", + "src/core/ext/upbdefs-generated/envoy/service/status/v3/csds.upbdefs.c", + "src/core/ext/upbdefs-generated/envoy/service/status/v3/csds.upbdefs.h", + "src/core/ext/upbdefs-generated/envoy/type/matcher/v3/metadata.upbdefs.c", + "src/core/ext/upbdefs-generated/envoy/type/matcher/v3/metadata.upbdefs.h", + "src/core/ext/upbdefs-generated/envoy/type/matcher/v3/node.upbdefs.c", + "src/core/ext/upbdefs-generated/envoy/type/matcher/v3/node.upbdefs.h", + "src/core/ext/upbdefs-generated/envoy/type/matcher/v3/number.upbdefs.c", + "src/core/ext/upbdefs-generated/envoy/type/matcher/v3/number.upbdefs.h", + "src/core/ext/upbdefs-generated/envoy/type/matcher/v3/path.upbdefs.c", + "src/core/ext/upbdefs-generated/envoy/type/matcher/v3/path.upbdefs.h", + "src/core/ext/upbdefs-generated/envoy/type/matcher/v3/regex.upbdefs.c", + "src/core/ext/upbdefs-generated/envoy/type/matcher/v3/regex.upbdefs.h", + "src/core/ext/upbdefs-generated/envoy/type/matcher/v3/string.upbdefs.c", + "src/core/ext/upbdefs-generated/envoy/type/matcher/v3/string.upbdefs.h", + "src/core/ext/upbdefs-generated/envoy/type/matcher/v3/struct.upbdefs.c", + "src/core/ext/upbdefs-generated/envoy/type/matcher/v3/struct.upbdefs.h", + "src/core/ext/upbdefs-generated/envoy/type/matcher/v3/value.upbdefs.c", + "src/core/ext/upbdefs-generated/envoy/type/matcher/v3/value.upbdefs.h", + "src/core/ext/upbdefs-generated/envoy/type/metadata/v3/metadata.upbdefs.c", + "src/core/ext/upbdefs-generated/envoy/type/metadata/v3/metadata.upbdefs.h", + "src/core/ext/upbdefs-generated/envoy/type/tracing/v3/custom_tag.upbdefs.c", + "src/core/ext/upbdefs-generated/envoy/type/tracing/v3/custom_tag.upbdefs.h", + "src/core/ext/upbdefs-generated/envoy/type/v3/http.upbdefs.c", + "src/core/ext/upbdefs-generated/envoy/type/v3/http.upbdefs.h", + "src/core/ext/upbdefs-generated/envoy/type/v3/percent.upbdefs.c", + "src/core/ext/upbdefs-generated/envoy/type/v3/percent.upbdefs.h", + "src/core/ext/upbdefs-generated/envoy/type/v3/range.upbdefs.c", + "src/core/ext/upbdefs-generated/envoy/type/v3/range.upbdefs.h", + "src/core/ext/upbdefs-generated/envoy/type/v3/semantic_version.upbdefs.c", + "src/core/ext/upbdefs-generated/envoy/type/v3/semantic_version.upbdefs.h", + "src/core/ext/upbdefs-generated/google/api/annotations.upbdefs.c", + "src/core/ext/upbdefs-generated/google/api/annotations.upbdefs.h", + "src/core/ext/upbdefs-generated/google/api/http.upbdefs.c", + "src/core/ext/upbdefs-generated/google/api/http.upbdefs.h", + "src/core/ext/upbdefs-generated/google/protobuf/any.upbdefs.c", + "src/core/ext/upbdefs-generated/google/protobuf/any.upbdefs.h", + "src/core/ext/upbdefs-generated/google/protobuf/duration.upbdefs.c", + "src/core/ext/upbdefs-generated/google/protobuf/duration.upbdefs.h", + "src/core/ext/upbdefs-generated/google/protobuf/empty.upbdefs.c", + "src/core/ext/upbdefs-generated/google/protobuf/empty.upbdefs.h", + "src/core/ext/upbdefs-generated/google/protobuf/struct.upbdefs.c", + "src/core/ext/upbdefs-generated/google/protobuf/struct.upbdefs.h", + "src/core/ext/upbdefs-generated/google/protobuf/timestamp.upbdefs.c", + "src/core/ext/upbdefs-generated/google/protobuf/timestamp.upbdefs.h", + "src/core/ext/upbdefs-generated/google/protobuf/wrappers.upbdefs.c", + "src/core/ext/upbdefs-generated/google/protobuf/wrappers.upbdefs.h", + "src/core/ext/upbdefs-generated/google/rpc/status.upbdefs.c", + "src/core/ext/upbdefs-generated/google/rpc/status.upbdefs.h", + "src/core/ext/upbdefs-generated/udpa/annotations/migrate.upbdefs.c", + "src/core/ext/upbdefs-generated/udpa/annotations/migrate.upbdefs.h", + "src/core/ext/upbdefs-generated/udpa/annotations/security.upbdefs.c", + "src/core/ext/upbdefs-generated/udpa/annotations/security.upbdefs.h", + "src/core/ext/upbdefs-generated/udpa/annotations/sensitive.upbdefs.c", + "src/core/ext/upbdefs-generated/udpa/annotations/sensitive.upbdefs.h", + "src/core/ext/upbdefs-generated/udpa/annotations/status.upbdefs.c", + "src/core/ext/upbdefs-generated/udpa/annotations/status.upbdefs.h", + "src/core/ext/upbdefs-generated/udpa/annotations/versioning.upbdefs.c", + "src/core/ext/upbdefs-generated/udpa/annotations/versioning.upbdefs.h", + "src/core/ext/upbdefs-generated/udpa/type/v1/typed_struct.upbdefs.c", + "src/core/ext/upbdefs-generated/udpa/type/v1/typed_struct.upbdefs.h", + "src/core/ext/upbdefs-generated/validate/validate.upbdefs.c", + "src/core/ext/upbdefs-generated/validate/validate.upbdefs.h", + "src/core/ext/upbdefs-generated/xds/core/v3/authority.upbdefs.c", + "src/core/ext/upbdefs-generated/xds/core/v3/authority.upbdefs.h", + "src/core/ext/upbdefs-generated/xds/core/v3/collection_entry.upbdefs.c", + "src/core/ext/upbdefs-generated/xds/core/v3/collection_entry.upbdefs.h", + "src/core/ext/upbdefs-generated/xds/core/v3/context_params.upbdefs.c", + "src/core/ext/upbdefs-generated/xds/core/v3/context_params.upbdefs.h", + "src/core/ext/upbdefs-generated/xds/core/v3/resource.upbdefs.c", + "src/core/ext/upbdefs-generated/xds/core/v3/resource.upbdefs.h", + "src/core/ext/upbdefs-generated/xds/core/v3/resource_locator.upbdefs.c", + "src/core/ext/upbdefs-generated/xds/core/v3/resource_locator.upbdefs.h", + "src/core/ext/upbdefs-generated/xds/core/v3/resource_name.upbdefs.c", + "src/core/ext/upbdefs-generated/xds/core/v3/resource_name.upbdefs.h", + "src/core/ext/xds/certificate_provider_factory.h", + "src/core/ext/xds/certificate_provider_registry.cc", + "src/core/ext/xds/certificate_provider_registry.h", + "src/core/ext/xds/certificate_provider_store.cc", + "src/core/ext/xds/certificate_provider_store.h", + "src/core/ext/xds/file_watcher_certificate_provider_factory.cc", + "src/core/ext/xds/file_watcher_certificate_provider_factory.h", + "src/core/ext/xds/xds_api.cc", + "src/core/ext/xds/xds_api.h", + "src/core/ext/xds/xds_bootstrap.cc", + "src/core/ext/xds/xds_bootstrap.h", + "src/core/ext/xds/xds_certificate_provider.cc", + "src/core/ext/xds/xds_certificate_provider.h", + "src/core/ext/xds/xds_channel_args.h", + "src/core/ext/xds/xds_client.cc", + "src/core/ext/xds/xds_client.h", + "src/core/ext/xds/xds_client_stats.cc", + "src/core/ext/xds/xds_client_stats.h", + "src/core/ext/xds/xds_http_fault_filter.cc", + "src/core/ext/xds/xds_http_fault_filter.h", + "src/core/ext/xds/xds_http_filters.cc", + "src/core/ext/xds/xds_http_filters.h", + "src/core/ext/xds/xds_server_config_fetcher.cc", + "src/core/lib/address_utils/parse_address.cc", + "src/core/lib/address_utils/parse_address.h", + "src/core/lib/address_utils/sockaddr_utils.cc", + "src/core/lib/address_utils/sockaddr_utils.h", + "src/core/lib/avl/avl.cc", + "src/core/lib/avl/avl.h", + "src/core/lib/backoff/backoff.cc", + "src/core/lib/backoff/backoff.h", + "src/core/lib/channel/channel_args.cc", + "src/core/lib/channel/channel_args.h", + "src/core/lib/channel/channel_stack.cc", + "src/core/lib/channel/channel_stack.h", + "src/core/lib/channel/channel_stack_builder.cc", + "src/core/lib/channel/channel_stack_builder.h", + "src/core/lib/channel/channel_trace.cc", + "src/core/lib/channel/channel_trace.h", + "src/core/lib/channel/channelz.cc", + "src/core/lib/channel/channelz.h", + "src/core/lib/channel/channelz_registry.cc", + "src/core/lib/channel/channelz_registry.h", + "src/core/lib/channel/connected_channel.cc", + "src/core/lib/channel/connected_channel.h", + "src/core/lib/channel/context.h", + "src/core/lib/channel/handshaker.cc", + "src/core/lib/channel/handshaker.h", + "src/core/lib/channel/handshaker_factory.h", + "src/core/lib/channel/handshaker_registry.cc", + "src/core/lib/channel/handshaker_registry.h", + "src/core/lib/channel/status_util.cc", + "src/core/lib/channel/status_util.h", + "src/core/lib/compression/algorithm_metadata.h", + "src/core/lib/compression/compression.cc", + "src/core/lib/compression/compression_args.cc", + "src/core/lib/compression/compression_args.h", + "src/core/lib/compression/compression_internal.cc", + "src/core/lib/compression/compression_internal.h", + "src/core/lib/compression/message_compress.cc", + "src/core/lib/compression/message_compress.h", + "src/core/lib/compression/stream_compression.cc", + "src/core/lib/compression/stream_compression.h", + "src/core/lib/compression/stream_compression_gzip.cc", + "src/core/lib/compression/stream_compression_gzip.h", + "src/core/lib/compression/stream_compression_identity.cc", + "src/core/lib/compression/stream_compression_identity.h", + "src/core/lib/debug/stats.cc", + "src/core/lib/debug/stats.h", + "src/core/lib/debug/stats_data.cc", + "src/core/lib/debug/stats_data.h", + "src/core/lib/debug/trace.cc", + "src/core/lib/debug/trace.h", + "src/core/lib/event_engine/endpoint_config.cc", + "src/core/lib/event_engine/endpoint_config_internal.h", + "src/core/lib/event_engine/event_engine.cc", + "src/core/lib/event_engine/slice_allocator.cc", + "src/core/lib/event_engine/sockaddr.cc", + "src/core/lib/event_engine/sockaddr.h", + "src/core/lib/gprpp/atomic.h", + "src/core/lib/gprpp/dual_ref_counted.h", + "src/core/lib/gprpp/orphanable.h", + "src/core/lib/gprpp/ref_counted.h", + "src/core/lib/gprpp/ref_counted_ptr.h", + "src/core/lib/http/format_request.cc", + "src/core/lib/http/format_request.h", + "src/core/lib/http/httpcli.cc", + "src/core/lib/http/httpcli.h", + "src/core/lib/http/httpcli_security_connector.cc", + "src/core/lib/http/parser.cc", + "src/core/lib/http/parser.h", + "src/core/lib/iomgr/block_annotate.h", + "src/core/lib/iomgr/buffer_list.cc", + "src/core/lib/iomgr/buffer_list.h", + "src/core/lib/iomgr/call_combiner.cc", + "src/core/lib/iomgr/call_combiner.h", + "src/core/lib/iomgr/cfstream_handle.cc", + "src/core/lib/iomgr/cfstream_handle.h", + "src/core/lib/iomgr/closure.h", + "src/core/lib/iomgr/combiner.cc", + "src/core/lib/iomgr/combiner.h", + "src/core/lib/iomgr/dualstack_socket_posix.cc", + "src/core/lib/iomgr/dynamic_annotations.h", + "src/core/lib/iomgr/endpoint.cc", + "src/core/lib/iomgr/endpoint.h", + "src/core/lib/iomgr/endpoint_cfstream.cc", + "src/core/lib/iomgr/endpoint_cfstream.h", + "src/core/lib/iomgr/endpoint_pair.h", + "src/core/lib/iomgr/endpoint_pair_event_engine.cc", + "src/core/lib/iomgr/endpoint_pair_posix.cc", + "src/core/lib/iomgr/endpoint_pair_uv.cc", + "src/core/lib/iomgr/endpoint_pair_windows.cc", + "src/core/lib/iomgr/error.cc", + "src/core/lib/iomgr/error.h", + "src/core/lib/iomgr/error_cfstream.cc", + "src/core/lib/iomgr/error_cfstream.h", + "src/core/lib/iomgr/error_internal.h", + "src/core/lib/iomgr/ev_apple.cc", + "src/core/lib/iomgr/ev_apple.h", + "src/core/lib/iomgr/ev_epoll1_linux.cc", + "src/core/lib/iomgr/ev_epoll1_linux.h", + "src/core/lib/iomgr/ev_epollex_linux.cc", + "src/core/lib/iomgr/ev_epollex_linux.h", + "src/core/lib/iomgr/ev_poll_posix.cc", + "src/core/lib/iomgr/ev_poll_posix.h", + "src/core/lib/iomgr/ev_posix.cc", + "src/core/lib/iomgr/ev_posix.h", + "src/core/lib/iomgr/ev_windows.cc", + "src/core/lib/iomgr/event_engine/closure.cc", + "src/core/lib/iomgr/event_engine/closure.h", + "src/core/lib/iomgr/event_engine/endpoint.cc", + "src/core/lib/iomgr/event_engine/endpoint.h", + "src/core/lib/iomgr/event_engine/iomgr.cc", + "src/core/lib/iomgr/event_engine/iomgr.h", + "src/core/lib/iomgr/event_engine/pollset.cc", + "src/core/lib/iomgr/event_engine/pollset.h", + "src/core/lib/iomgr/event_engine/promise.h", + "src/core/lib/iomgr/event_engine/resolved_address_internal.cc", + "src/core/lib/iomgr/event_engine/resolved_address_internal.h", + "src/core/lib/iomgr/event_engine/resolver.cc", + "src/core/lib/iomgr/event_engine/tcp.cc", + "src/core/lib/iomgr/event_engine/timer.cc", + "src/core/lib/iomgr/exec_ctx.cc", + "src/core/lib/iomgr/exec_ctx.h", + "src/core/lib/iomgr/executor.cc", + "src/core/lib/iomgr/executor.h", + "src/core/lib/iomgr/executor/mpmcqueue.cc", + "src/core/lib/iomgr/executor/mpmcqueue.h", + "src/core/lib/iomgr/executor/threadpool.cc", + "src/core/lib/iomgr/executor/threadpool.h", + "src/core/lib/iomgr/fork_posix.cc", + "src/core/lib/iomgr/fork_windows.cc", + "src/core/lib/iomgr/gethostname.h", + "src/core/lib/iomgr/gethostname_fallback.cc", + "src/core/lib/iomgr/gethostname_host_name_max.cc", + "src/core/lib/iomgr/gethostname_sysconf.cc", + "src/core/lib/iomgr/grpc_if_nametoindex.h", + "src/core/lib/iomgr/grpc_if_nametoindex_posix.cc", + "src/core/lib/iomgr/grpc_if_nametoindex_unsupported.cc", + "src/core/lib/iomgr/internal_errqueue.cc", + "src/core/lib/iomgr/internal_errqueue.h", + "src/core/lib/iomgr/iocp_windows.cc", + "src/core/lib/iomgr/iocp_windows.h", + "src/core/lib/iomgr/iomgr.cc", + "src/core/lib/iomgr/iomgr.h", + "src/core/lib/iomgr/iomgr_custom.cc", + "src/core/lib/iomgr/iomgr_custom.h", + "src/core/lib/iomgr/iomgr_internal.cc", + "src/core/lib/iomgr/iomgr_internal.h", + "src/core/lib/iomgr/iomgr_posix.cc", + "src/core/lib/iomgr/iomgr_posix_cfstream.cc", + "src/core/lib/iomgr/iomgr_uv.cc", + "src/core/lib/iomgr/iomgr_windows.cc", + "src/core/lib/iomgr/is_epollexclusive_available.cc", + "src/core/lib/iomgr/is_epollexclusive_available.h", + "src/core/lib/iomgr/load_file.cc", + "src/core/lib/iomgr/load_file.h", + "src/core/lib/iomgr/lockfree_event.cc", + "src/core/lib/iomgr/lockfree_event.h", + "src/core/lib/iomgr/nameser.h", + "src/core/lib/iomgr/polling_entity.cc", + "src/core/lib/iomgr/polling_entity.h", + "src/core/lib/iomgr/pollset.cc", + "src/core/lib/iomgr/pollset.h", + "src/core/lib/iomgr/pollset_custom.cc", + "src/core/lib/iomgr/pollset_custom.h", + "src/core/lib/iomgr/pollset_set.cc", + "src/core/lib/iomgr/pollset_set.h", + "src/core/lib/iomgr/pollset_set_custom.cc", + "src/core/lib/iomgr/pollset_set_custom.h", + "src/core/lib/iomgr/pollset_set_windows.cc", + "src/core/lib/iomgr/pollset_set_windows.h", + "src/core/lib/iomgr/pollset_uv.cc", + "src/core/lib/iomgr/pollset_uv.h", + "src/core/lib/iomgr/pollset_windows.cc", + "src/core/lib/iomgr/pollset_windows.h", + "src/core/lib/iomgr/port.h", + "src/core/lib/iomgr/python_util.h", + "src/core/lib/iomgr/resolve_address.cc", + "src/core/lib/iomgr/resolve_address.h", + "src/core/lib/iomgr/resolve_address_custom.cc", + "src/core/lib/iomgr/resolve_address_custom.h", + "src/core/lib/iomgr/resolve_address_posix.cc", + "src/core/lib/iomgr/resolve_address_windows.cc", + "src/core/lib/iomgr/resource_quota.cc", + "src/core/lib/iomgr/resource_quota.h", + "src/core/lib/iomgr/sockaddr.h", + "src/core/lib/iomgr/sockaddr_custom.h", + "src/core/lib/iomgr/sockaddr_posix.h", + "src/core/lib/iomgr/sockaddr_windows.h", + "src/core/lib/iomgr/socket_factory_posix.cc", + "src/core/lib/iomgr/socket_factory_posix.h", + "src/core/lib/iomgr/socket_mutator.cc", + "src/core/lib/iomgr/socket_mutator.h", + "src/core/lib/iomgr/socket_utils.h", + "src/core/lib/iomgr/socket_utils_common_posix.cc", + "src/core/lib/iomgr/socket_utils_linux.cc", + "src/core/lib/iomgr/socket_utils_posix.cc", + "src/core/lib/iomgr/socket_utils_posix.h", + "src/core/lib/iomgr/socket_utils_uv.cc", + "src/core/lib/iomgr/socket_utils_windows.cc", + "src/core/lib/iomgr/socket_windows.cc", + "src/core/lib/iomgr/socket_windows.h", + "src/core/lib/iomgr/sys_epoll_wrapper.h", + "src/core/lib/iomgr/tcp_client.cc", + "src/core/lib/iomgr/tcp_client.h", + "src/core/lib/iomgr/tcp_client_cfstream.cc", + "src/core/lib/iomgr/tcp_client_custom.cc", + "src/core/lib/iomgr/tcp_client_posix.cc", + "src/core/lib/iomgr/tcp_client_posix.h", + "src/core/lib/iomgr/tcp_client_windows.cc", + "src/core/lib/iomgr/tcp_custom.cc", + "src/core/lib/iomgr/tcp_custom.h", + "src/core/lib/iomgr/tcp_posix.cc", + "src/core/lib/iomgr/tcp_posix.h", + "src/core/lib/iomgr/tcp_server.cc", + "src/core/lib/iomgr/tcp_server.h", + "src/core/lib/iomgr/tcp_server_custom.cc", + "src/core/lib/iomgr/tcp_server_posix.cc", + "src/core/lib/iomgr/tcp_server_utils_posix.h", + "src/core/lib/iomgr/tcp_server_utils_posix_common.cc", + "src/core/lib/iomgr/tcp_server_utils_posix_ifaddrs.cc", + "src/core/lib/iomgr/tcp_server_utils_posix_noifaddrs.cc", + "src/core/lib/iomgr/tcp_server_windows.cc", + "src/core/lib/iomgr/tcp_uv.cc", + "src/core/lib/iomgr/tcp_windows.cc", + "src/core/lib/iomgr/tcp_windows.h", + "src/core/lib/iomgr/time_averaged_stats.cc", + "src/core/lib/iomgr/time_averaged_stats.h", + "src/core/lib/iomgr/timer.cc", + "src/core/lib/iomgr/timer.h", + "src/core/lib/iomgr/timer_custom.cc", + "src/core/lib/iomgr/timer_custom.h", + "src/core/lib/iomgr/timer_generic.cc", + "src/core/lib/iomgr/timer_generic.h", + "src/core/lib/iomgr/timer_heap.cc", + "src/core/lib/iomgr/timer_heap.h", + "src/core/lib/iomgr/timer_manager.cc", + "src/core/lib/iomgr/timer_manager.h", + "src/core/lib/iomgr/timer_uv.cc", + "src/core/lib/iomgr/udp_server.cc", + "src/core/lib/iomgr/udp_server.h", + "src/core/lib/iomgr/unix_sockets_posix.cc", + "src/core/lib/iomgr/unix_sockets_posix.h", + "src/core/lib/iomgr/unix_sockets_posix_noop.cc", + "src/core/lib/iomgr/wakeup_fd_eventfd.cc", + "src/core/lib/iomgr/wakeup_fd_nospecial.cc", + "src/core/lib/iomgr/wakeup_fd_pipe.cc", + "src/core/lib/iomgr/wakeup_fd_pipe.h", + "src/core/lib/iomgr/wakeup_fd_posix.cc", + "src/core/lib/iomgr/wakeup_fd_posix.h", + "src/core/lib/iomgr/work_serializer.cc", + "src/core/lib/iomgr/work_serializer.h", + "src/core/lib/json/json.h", + "src/core/lib/json/json_reader.cc", + "src/core/lib/json/json_util.cc", + "src/core/lib/json/json_util.h", + "src/core/lib/json/json_writer.cc", + "src/core/lib/matchers/matchers.cc", + "src/core/lib/matchers/matchers.h", + "src/core/lib/security/authorization/authorization_engine.h", + "src/core/lib/security/authorization/authorization_policy_provider.h", + "src/core/lib/security/authorization/authorization_policy_provider_vtable.cc", + "src/core/lib/security/authorization/evaluate_args.cc", + "src/core/lib/security/authorization/evaluate_args.h", + "src/core/lib/security/context/security_context.cc", + "src/core/lib/security/context/security_context.h", + "src/core/lib/security/credentials/alts/alts_credentials.cc", + "src/core/lib/security/credentials/alts/alts_credentials.h", + "src/core/lib/security/credentials/alts/check_gcp_environment.cc", + "src/core/lib/security/credentials/alts/check_gcp_environment.h", + "src/core/lib/security/credentials/alts/check_gcp_environment_linux.cc", + "src/core/lib/security/credentials/alts/check_gcp_environment_no_op.cc", + "src/core/lib/security/credentials/alts/check_gcp_environment_windows.cc", + "src/core/lib/security/credentials/alts/grpc_alts_credentials_client_options.cc", + "src/core/lib/security/credentials/alts/grpc_alts_credentials_options.cc", + "src/core/lib/security/credentials/alts/grpc_alts_credentials_options.h", + "src/core/lib/security/credentials/alts/grpc_alts_credentials_server_options.cc", + "src/core/lib/security/credentials/composite/composite_credentials.cc", + "src/core/lib/security/credentials/composite/composite_credentials.h", + "src/core/lib/security/credentials/credentials.cc", + "src/core/lib/security/credentials/credentials.h", + "src/core/lib/security/credentials/credentials_metadata.cc", + "src/core/lib/security/credentials/external/aws_external_account_credentials.cc", + "src/core/lib/security/credentials/external/aws_external_account_credentials.h", + "src/core/lib/security/credentials/external/aws_request_signer.cc", + "src/core/lib/security/credentials/external/aws_request_signer.h", + "src/core/lib/security/credentials/external/external_account_credentials.cc", + "src/core/lib/security/credentials/external/external_account_credentials.h", + "src/core/lib/security/credentials/external/file_external_account_credentials.cc", + "src/core/lib/security/credentials/external/file_external_account_credentials.h", + "src/core/lib/security/credentials/external/url_external_account_credentials.cc", + "src/core/lib/security/credentials/external/url_external_account_credentials.h", + "src/core/lib/security/credentials/fake/fake_credentials.cc", + "src/core/lib/security/credentials/fake/fake_credentials.h", + "src/core/lib/security/credentials/google_default/credentials_generic.cc", + "src/core/lib/security/credentials/google_default/google_default_credentials.cc", + "src/core/lib/security/credentials/google_default/google_default_credentials.h", + "src/core/lib/security/credentials/iam/iam_credentials.cc", + "src/core/lib/security/credentials/iam/iam_credentials.h", + "src/core/lib/security/credentials/insecure/insecure_credentials.cc", + "src/core/lib/security/credentials/jwt/json_token.cc", + "src/core/lib/security/credentials/jwt/json_token.h", + "src/core/lib/security/credentials/jwt/jwt_credentials.cc", + "src/core/lib/security/credentials/jwt/jwt_credentials.h", + "src/core/lib/security/credentials/jwt/jwt_verifier.cc", + "src/core/lib/security/credentials/jwt/jwt_verifier.h", + "src/core/lib/security/credentials/local/local_credentials.cc", + "src/core/lib/security/credentials/local/local_credentials.h", + "src/core/lib/security/credentials/oauth2/oauth2_credentials.cc", + "src/core/lib/security/credentials/oauth2/oauth2_credentials.h", + "src/core/lib/security/credentials/plugin/plugin_credentials.cc", + "src/core/lib/security/credentials/plugin/plugin_credentials.h", + "src/core/lib/security/credentials/ssl/ssl_credentials.cc", + "src/core/lib/security/credentials/ssl/ssl_credentials.h", + "src/core/lib/security/credentials/tls/grpc_tls_certificate_distributor.cc", + "src/core/lib/security/credentials/tls/grpc_tls_certificate_distributor.h", + "src/core/lib/security/credentials/tls/grpc_tls_certificate_provider.cc", + "src/core/lib/security/credentials/tls/grpc_tls_certificate_provider.h", + "src/core/lib/security/credentials/tls/grpc_tls_credentials_options.cc", + "src/core/lib/security/credentials/tls/grpc_tls_credentials_options.h", + "src/core/lib/security/credentials/tls/tls_credentials.cc", + "src/core/lib/security/credentials/tls/tls_credentials.h", + "src/core/lib/security/credentials/tls/tls_utils.cc", + "src/core/lib/security/credentials/tls/tls_utils.h", + "src/core/lib/security/credentials/xds/xds_credentials.cc", + "src/core/lib/security/credentials/xds/xds_credentials.h", + "src/core/lib/security/security_connector/alts/alts_security_connector.cc", + "src/core/lib/security/security_connector/alts/alts_security_connector.h", + "src/core/lib/security/security_connector/fake/fake_security_connector.cc", + "src/core/lib/security/security_connector/fake/fake_security_connector.h", + "src/core/lib/security/security_connector/insecure/insecure_security_connector.cc", + "src/core/lib/security/security_connector/insecure/insecure_security_connector.h", + "src/core/lib/security/security_connector/load_system_roots.h", + "src/core/lib/security/security_connector/load_system_roots_fallback.cc", + "src/core/lib/security/security_connector/load_system_roots_linux.cc", + "src/core/lib/security/security_connector/load_system_roots_linux.h", + "src/core/lib/security/security_connector/local/local_security_connector.cc", + "src/core/lib/security/security_connector/local/local_security_connector.h", + "src/core/lib/security/security_connector/security_connector.cc", + "src/core/lib/security/security_connector/security_connector.h", + "src/core/lib/security/security_connector/ssl/ssl_security_connector.cc", + "src/core/lib/security/security_connector/ssl/ssl_security_connector.h", + "src/core/lib/security/security_connector/ssl_utils.cc", + "src/core/lib/security/security_connector/ssl_utils.h", + "src/core/lib/security/security_connector/ssl_utils_config.cc", + "src/core/lib/security/security_connector/ssl_utils_config.h", + "src/core/lib/security/security_connector/tls/tls_security_connector.cc", + "src/core/lib/security/security_connector/tls/tls_security_connector.h", + "src/core/lib/security/transport/auth_filters.h", + "src/core/lib/security/transport/client_auth_filter.cc", + "src/core/lib/security/transport/secure_endpoint.cc", + "src/core/lib/security/transport/secure_endpoint.h", + "src/core/lib/security/transport/security_handshaker.cc", + "src/core/lib/security/transport/security_handshaker.h", + "src/core/lib/security/transport/server_auth_filter.cc", + "src/core/lib/security/transport/tsi_error.cc", + "src/core/lib/security/transport/tsi_error.h", + "src/core/lib/security/util/json_util.cc", + "src/core/lib/security/util/json_util.h", + "src/core/lib/slice/b64.cc", + "src/core/lib/slice/b64.h", + "src/core/lib/slice/percent_encoding.cc", + "src/core/lib/slice/percent_encoding.h", + "src/core/lib/slice/slice.cc", + "src/core/lib/slice/slice_buffer.cc", + "src/core/lib/slice/slice_intern.cc", + "src/core/lib/slice/slice_internal.h", + "src/core/lib/slice/slice_string_helpers.cc", + "src/core/lib/slice/slice_string_helpers.h", + "src/core/lib/slice/slice_utils.h", + "src/core/lib/surface/api_trace.cc", + "src/core/lib/surface/api_trace.h", + "src/core/lib/surface/byte_buffer.cc", + "src/core/lib/surface/byte_buffer_reader.cc", + "src/core/lib/surface/call.cc", + "src/core/lib/surface/call.h", + "src/core/lib/surface/call_details.cc", + "src/core/lib/surface/call_log_batch.cc", + "src/core/lib/surface/call_test_only.h", + "src/core/lib/surface/channel.cc", + "src/core/lib/surface/channel.h", + "src/core/lib/surface/channel_init.cc", + "src/core/lib/surface/channel_init.h", + "src/core/lib/surface/channel_ping.cc", + "src/core/lib/surface/channel_stack_type.cc", + "src/core/lib/surface/channel_stack_type.h", + "src/core/lib/surface/completion_queue.cc", + "src/core/lib/surface/completion_queue.h", + "src/core/lib/surface/completion_queue_factory.cc", + "src/core/lib/surface/completion_queue_factory.h", + "src/core/lib/surface/event_string.cc", + "src/core/lib/surface/event_string.h", + "src/core/lib/surface/init.cc", + "src/core/lib/surface/init.h", + "src/core/lib/surface/init_secure.cc", + "src/core/lib/surface/lame_client.cc", + "src/core/lib/surface/lame_client.h", + "src/core/lib/surface/metadata_array.cc", + "src/core/lib/surface/server.cc", + "src/core/lib/surface/server.h", + "src/core/lib/surface/validate_metadata.cc", + "src/core/lib/surface/validate_metadata.h", + "src/core/lib/surface/version.cc", + "src/core/lib/transport/authority_override.cc", + "src/core/lib/transport/authority_override.h", + "src/core/lib/transport/bdp_estimator.cc", + "src/core/lib/transport/bdp_estimator.h", + "src/core/lib/transport/byte_stream.cc", + "src/core/lib/transport/byte_stream.h", + "src/core/lib/transport/connectivity_state.cc", + "src/core/lib/transport/connectivity_state.h", + "src/core/lib/transport/error_utils.cc", + "src/core/lib/transport/error_utils.h", + "src/core/lib/transport/http2_errors.h", + "src/core/lib/transport/metadata.cc", + "src/core/lib/transport/metadata.h", + "src/core/lib/transport/metadata_batch.cc", + "src/core/lib/transport/metadata_batch.h", + "src/core/lib/transport/pid_controller.cc", + "src/core/lib/transport/pid_controller.h", + "src/core/lib/transport/static_metadata.cc", + "src/core/lib/transport/static_metadata.h", + "src/core/lib/transport/status_conversion.cc", + "src/core/lib/transport/status_conversion.h", + "src/core/lib/transport/status_metadata.cc", + "src/core/lib/transport/status_metadata.h", + "src/core/lib/transport/timeout_encoding.cc", + "src/core/lib/transport/timeout_encoding.h", + "src/core/lib/transport/transport.cc", + "src/core/lib/transport/transport.h", + "src/core/lib/transport/transport_impl.h", + "src/core/lib/transport/transport_op_string.cc", + "src/core/lib/uri/uri_parser.cc", + "src/core/lib/uri/uri_parser.h", + "src/core/plugin_registry/grpc_plugin_registry.cc", + "src/core/tsi/alts/crypt/aes_gcm.cc", + "src/core/tsi/alts/crypt/gsec.cc", + "src/core/tsi/alts/crypt/gsec.h", + "src/core/tsi/alts/frame_protector/alts_counter.cc", + "src/core/tsi/alts/frame_protector/alts_counter.h", + "src/core/tsi/alts/frame_protector/alts_crypter.cc", + "src/core/tsi/alts/frame_protector/alts_crypter.h", + "src/core/tsi/alts/frame_protector/alts_frame_protector.cc", + "src/core/tsi/alts/frame_protector/alts_frame_protector.h", + "src/core/tsi/alts/frame_protector/alts_record_protocol_crypter_common.cc", + "src/core/tsi/alts/frame_protector/alts_record_protocol_crypter_common.h", + "src/core/tsi/alts/frame_protector/alts_seal_privacy_integrity_crypter.cc", + "src/core/tsi/alts/frame_protector/alts_unseal_privacy_integrity_crypter.cc", + "src/core/tsi/alts/frame_protector/frame_handler.cc", + "src/core/tsi/alts/frame_protector/frame_handler.h", + "src/core/tsi/alts/handshaker/alts_handshaker_client.cc", + "src/core/tsi/alts/handshaker/alts_handshaker_client.h", + "src/core/tsi/alts/handshaker/alts_shared_resource.cc", + "src/core/tsi/alts/handshaker/alts_shared_resource.h", + "src/core/tsi/alts/handshaker/alts_tsi_handshaker.cc", + "src/core/tsi/alts/handshaker/alts_tsi_handshaker.h", + "src/core/tsi/alts/handshaker/alts_tsi_handshaker_private.h", + "src/core/tsi/alts/handshaker/alts_tsi_utils.cc", + "src/core/tsi/alts/handshaker/alts_tsi_utils.h", + "src/core/tsi/alts/handshaker/transport_security_common_api.cc", + "src/core/tsi/alts/handshaker/transport_security_common_api.h", + "src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_integrity_only_record_protocol.cc", + "src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_integrity_only_record_protocol.h", + "src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_privacy_integrity_record_protocol.cc", + "src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_privacy_integrity_record_protocol.h", + "src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_record_protocol.h", + "src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_record_protocol_common.cc", + "src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_record_protocol_common.h", + "src/core/tsi/alts/zero_copy_frame_protector/alts_iovec_record_protocol.cc", + "src/core/tsi/alts/zero_copy_frame_protector/alts_iovec_record_protocol.h", + "src/core/tsi/alts/zero_copy_frame_protector/alts_zero_copy_grpc_protector.cc", + "src/core/tsi/alts/zero_copy_frame_protector/alts_zero_copy_grpc_protector.h", + "src/core/tsi/fake_transport_security.cc", + "src/core/tsi/fake_transport_security.h", + "src/core/tsi/local_transport_security.cc", + "src/core/tsi/local_transport_security.h", + "src/core/tsi/ssl/session_cache/ssl_session.h", + "src/core/tsi/ssl/session_cache/ssl_session_boringssl.cc", + "src/core/tsi/ssl/session_cache/ssl_session_cache.cc", + "src/core/tsi/ssl/session_cache/ssl_session_cache.h", + "src/core/tsi/ssl/session_cache/ssl_session_openssl.cc", + "src/core/tsi/ssl_transport_security.cc", + "src/core/tsi/ssl_transport_security.h", + "src/core/tsi/ssl_types.h", + "src/core/tsi/transport_security.cc", + "src/core/tsi/transport_security.h", + "src/core/tsi/transport_security_grpc.cc", + "src/core/tsi/transport_security_grpc.h", + "src/core/tsi/transport_security_interface.h", + "third_party/xxhash/xxhash.h", + ] + deps = [ + "//third_party/zlib", + ":absl/container:flat_hash_map", + ":absl/container:inlined_vector", + ":absl/functional:bind_front", + ":absl/status:statusor", + ":gpr", + "//third_party/boringssl", + ":address_sorting", + "//third_party/cares", + ":address_sorting", + ] + + public_configs = [ + ":grpc_config", + ] + include_dirs = [ + "third_party/cares", + "third_party/address_sorting/include", + ] + } + + + + source_set("grpc++") { + sources = [ + "include/grpc++/alarm.h", + "include/grpc++/channel.h", + "include/grpc++/client_context.h", + "include/grpc++/completion_queue.h", + "include/grpc++/create_channel.h", + "include/grpc++/create_channel_posix.h", + "include/grpc++/ext/health_check_service_server_builder_option.h", + "include/grpc++/generic/async_generic_service.h", + "include/grpc++/generic/generic_stub.h", + "include/grpc++/grpc++.h", + "include/grpc++/health_check_service_interface.h", + "include/grpc++/impl/call.h", + "include/grpc++/impl/channel_argument_option.h", + "include/grpc++/impl/client_unary_call.h", + "include/grpc++/impl/codegen/async_stream.h", + "include/grpc++/impl/codegen/async_unary_call.h", + "include/grpc++/impl/codegen/byte_buffer.h", + "include/grpc++/impl/codegen/call.h", + "include/grpc++/impl/codegen/call_hook.h", + "include/grpc++/impl/codegen/channel_interface.h", + "include/grpc++/impl/codegen/client_context.h", + "include/grpc++/impl/codegen/client_unary_call.h", + "include/grpc++/impl/codegen/completion_queue.h", + "include/grpc++/impl/codegen/completion_queue_tag.h", + "include/grpc++/impl/codegen/config.h", + "include/grpc++/impl/codegen/config_protobuf.h", + "include/grpc++/impl/codegen/core_codegen.h", + "include/grpc++/impl/codegen/core_codegen_interface.h", + "include/grpc++/impl/codegen/create_auth_context.h", + "include/grpc++/impl/codegen/grpc_library.h", + "include/grpc++/impl/codegen/metadata_map.h", + "include/grpc++/impl/codegen/method_handler_impl.h", + "include/grpc++/impl/codegen/proto_utils.h", + "include/grpc++/impl/codegen/rpc_method.h", + "include/grpc++/impl/codegen/rpc_service_method.h", + "include/grpc++/impl/codegen/security/auth_context.h", + "include/grpc++/impl/codegen/serialization_traits.h", + "include/grpc++/impl/codegen/server_context.h", + "include/grpc++/impl/codegen/server_interface.h", + "include/grpc++/impl/codegen/service_type.h", + "include/grpc++/impl/codegen/slice.h", + "include/grpc++/impl/codegen/status.h", + "include/grpc++/impl/codegen/status_code_enum.h", + "include/grpc++/impl/codegen/string_ref.h", + "include/grpc++/impl/codegen/stub_options.h", + "include/grpc++/impl/codegen/sync_stream.h", + "include/grpc++/impl/codegen/time.h", + "include/grpc++/impl/grpc_library.h", + "include/grpc++/impl/method_handler_impl.h", + "include/grpc++/impl/rpc_method.h", + "include/grpc++/impl/rpc_service_method.h", + "include/grpc++/impl/serialization_traits.h", + "include/grpc++/impl/server_builder_option.h", + "include/grpc++/impl/server_builder_plugin.h", + "include/grpc++/impl/server_initializer.h", + "include/grpc++/impl/service_type.h", + "include/grpc++/resource_quota.h", + "include/grpc++/security/auth_context.h", + "include/grpc++/security/auth_metadata_processor.h", + "include/grpc++/security/credentials.h", + "include/grpc++/security/server_credentials.h", + "include/grpc++/server.h", + "include/grpc++/server_builder.h", + "include/grpc++/server_context.h", + "include/grpc++/server_posix.h", + "include/grpc++/support/async_stream.h", + "include/grpc++/support/async_unary_call.h", + "include/grpc++/support/byte_buffer.h", + "include/grpc++/support/channel_arguments.h", + "include/grpc++/support/config.h", + "include/grpc++/support/slice.h", + "include/grpc++/support/status.h", + "include/grpc++/support/status_code_enum.h", + "include/grpc++/support/string_ref.h", + "include/grpc++/support/stub_options.h", + "include/grpc++/support/sync_stream.h", + "include/grpc++/support/time.h", + "include/grpcpp/alarm.h", + "include/grpcpp/channel.h", + "include/grpcpp/client_context.h", + "include/grpcpp/completion_queue.h", + "include/grpcpp/create_channel.h", + "include/grpcpp/create_channel_posix.h", + "include/grpcpp/ext/health_check_service_server_builder_option.h", + "include/grpcpp/generic/async_generic_service.h", + "include/grpcpp/generic/generic_stub.h", + "include/grpcpp/grpcpp.h", + "include/grpcpp/health_check_service_interface.h", + "include/grpcpp/impl/call.h", + "include/grpcpp/impl/channel_argument_option.h", + "include/grpcpp/impl/client_unary_call.h", + "include/grpcpp/impl/codegen/async_generic_service.h", + "include/grpcpp/impl/codegen/async_stream.h", + "include/grpcpp/impl/codegen/async_unary_call.h", + "include/grpcpp/impl/codegen/byte_buffer.h", + "include/grpcpp/impl/codegen/call.h", + "include/grpcpp/impl/codegen/call_hook.h", + "include/grpcpp/impl/codegen/call_op_set.h", + "include/grpcpp/impl/codegen/call_op_set_interface.h", + "include/grpcpp/impl/codegen/callback_common.h", + "include/grpcpp/impl/codegen/channel_interface.h", + "include/grpcpp/impl/codegen/client_callback.h", + "include/grpcpp/impl/codegen/client_context.h", + "include/grpcpp/impl/codegen/client_interceptor.h", + "include/grpcpp/impl/codegen/client_unary_call.h", + "include/grpcpp/impl/codegen/completion_queue.h", + "include/grpcpp/impl/codegen/completion_queue_tag.h", + "include/grpcpp/impl/codegen/config.h", + "include/grpcpp/impl/codegen/config_protobuf.h", + "include/grpcpp/impl/codegen/core_codegen.h", + "include/grpcpp/impl/codegen/core_codegen_interface.h", + "include/grpcpp/impl/codegen/create_auth_context.h", + "include/grpcpp/impl/codegen/delegating_channel.h", + "include/grpcpp/impl/codegen/grpc_library.h", + "include/grpcpp/impl/codegen/intercepted_channel.h", + "include/grpcpp/impl/codegen/interceptor.h", + "include/grpcpp/impl/codegen/interceptor_common.h", + "include/grpcpp/impl/codegen/message_allocator.h", + "include/grpcpp/impl/codegen/metadata_map.h", + "include/grpcpp/impl/codegen/method_handler.h", + "include/grpcpp/impl/codegen/method_handler_impl.h", + "include/grpcpp/impl/codegen/proto_buffer_reader.h", + "include/grpcpp/impl/codegen/proto_buffer_writer.h", + "include/grpcpp/impl/codegen/proto_utils.h", + "include/grpcpp/impl/codegen/rpc_method.h", + "include/grpcpp/impl/codegen/rpc_service_method.h", + "include/grpcpp/impl/codegen/security/auth_context.h", + "include/grpcpp/impl/codegen/serialization_traits.h", + "include/grpcpp/impl/codegen/server_callback.h", + "include/grpcpp/impl/codegen/server_callback_handlers.h", + "include/grpcpp/impl/codegen/server_context.h", + "include/grpcpp/impl/codegen/server_interceptor.h", + "include/grpcpp/impl/codegen/server_interface.h", + "include/grpcpp/impl/codegen/service_type.h", + "include/grpcpp/impl/codegen/slice.h", + "include/grpcpp/impl/codegen/status.h", + "include/grpcpp/impl/codegen/status_code_enum.h", + "include/grpcpp/impl/codegen/string_ref.h", + "include/grpcpp/impl/codegen/stub_options.h", + "include/grpcpp/impl/codegen/sync.h", + "include/grpcpp/impl/codegen/sync_stream.h", + "include/grpcpp/impl/codegen/time.h", + "include/grpcpp/impl/grpc_library.h", + "include/grpcpp/impl/method_handler_impl.h", + "include/grpcpp/impl/rpc_method.h", + "include/grpcpp/impl/rpc_service_method.h", + "include/grpcpp/impl/serialization_traits.h", + "include/grpcpp/impl/server_builder_option.h", + "include/grpcpp/impl/server_builder_plugin.h", + "include/grpcpp/impl/server_initializer.h", + "include/grpcpp/impl/service_type.h", + "include/grpcpp/resource_quota.h", + "include/grpcpp/security/auth_context.h", + "include/grpcpp/security/auth_metadata_processor.h", + "include/grpcpp/security/authorization_policy_provider.h", + "include/grpcpp/security/credentials.h", + "include/grpcpp/security/server_credentials.h", + "include/grpcpp/security/tls_certificate_provider.h", + "include/grpcpp/security/tls_credentials_options.h", + "include/grpcpp/server.h", + "include/grpcpp/server_builder.h", + "include/grpcpp/server_context.h", + "include/grpcpp/server_posix.h", + "include/grpcpp/support/async_stream.h", + "include/grpcpp/support/async_unary_call.h", + "include/grpcpp/support/byte_buffer.h", + "include/grpcpp/support/channel_arguments.h", + "include/grpcpp/support/client_callback.h", + "include/grpcpp/support/client_interceptor.h", + "include/grpcpp/support/config.h", + "include/grpcpp/support/interceptor.h", + "include/grpcpp/support/message_allocator.h", + "include/grpcpp/support/method_handler.h", + "include/grpcpp/support/proto_buffer_reader.h", + "include/grpcpp/support/proto_buffer_writer.h", + "include/grpcpp/support/server_callback.h", + "include/grpcpp/support/server_interceptor.h", + "include/grpcpp/support/slice.h", + "include/grpcpp/support/status.h", + "include/grpcpp/support/status_code_enum.h", + "include/grpcpp/support/string_ref.h", + "include/grpcpp/support/stub_options.h", + "include/grpcpp/support/sync_stream.h", + "include/grpcpp/support/time.h", + "include/grpcpp/support/validate_service_config.h", + "include/grpcpp/xds_server_builder.h", + "src/cpp/client/channel_cc.cc", + "src/cpp/client/client_callback.cc", + "src/cpp/client/client_context.cc", + "src/cpp/client/client_interceptor.cc", + "src/cpp/client/create_channel.cc", + "src/cpp/client/create_channel_internal.cc", + "src/cpp/client/create_channel_internal.h", + "src/cpp/client/create_channel_posix.cc", + "src/cpp/client/credentials_cc.cc", + "src/cpp/client/insecure_credentials.cc", + "src/cpp/client/secure_credentials.cc", + "src/cpp/client/secure_credentials.h", + "src/cpp/client/xds_credentials.cc", + "src/cpp/codegen/codegen_init.cc", + "src/cpp/common/alarm.cc", + "src/cpp/common/auth_property_iterator.cc", + "src/cpp/common/channel_arguments.cc", + "src/cpp/common/channel_filter.cc", + "src/cpp/common/channel_filter.h", + "src/cpp/common/completion_queue_cc.cc", + "src/cpp/common/core_codegen.cc", + "src/cpp/common/resource_quota_cc.cc", + "src/cpp/common/rpc_method.cc", + "src/cpp/common/secure_auth_context.cc", + "src/cpp/common/secure_auth_context.h", + "src/cpp/common/secure_channel_arguments.cc", + "src/cpp/common/secure_create_auth_context.cc", + "src/cpp/common/tls_certificate_provider.cc", + "src/cpp/common/tls_credentials_options.cc", + "src/cpp/common/tls_credentials_options_util.cc", + "src/cpp/common/tls_credentials_options_util.h", + "src/cpp/common/validate_service_config.cc", + "src/cpp/common/version_cc.cc", + "src/cpp/server/async_generic_service.cc", + "src/cpp/server/channel_argument_option.cc", + "src/cpp/server/create_default_thread_pool.cc", + "src/cpp/server/dynamic_thread_pool.cc", + "src/cpp/server/dynamic_thread_pool.h", + "src/cpp/server/external_connection_acceptor_impl.cc", + "src/cpp/server/external_connection_acceptor_impl.h", + "src/cpp/server/health/default_health_check_service.cc", + "src/cpp/server/health/default_health_check_service.h", + "src/cpp/server/health/health_check_service.cc", + "src/cpp/server/health/health_check_service_server_builder_option.cc", + "src/cpp/server/insecure_server_credentials.cc", + "src/cpp/server/secure_server_credentials.cc", + "src/cpp/server/secure_server_credentials.h", + "src/cpp/server/server_builder.cc", + "src/cpp/server/server_callback.cc", + "src/cpp/server/server_cc.cc", + "src/cpp/server/server_context.cc", + "src/cpp/server/server_credentials.cc", + "src/cpp/server/server_posix.cc", + "src/cpp/server/thread_pool_interface.h", + "src/cpp/server/xds_server_credentials.cc", + "src/cpp/thread_manager/thread_manager.cc", + "src/cpp/thread_manager/thread_manager.h", + "src/cpp/util/byte_buffer_cc.cc", + "src/cpp/util/status.cc", + "src/cpp/util/string_ref.cc", + "src/cpp/util/time_cc.cc", + ] + deps = [ + "//third_party/protobuf:protobuf_lite", + ":grpc", + ] + + public_configs = [ + ":grpc_config", + ] + } + + # Only compile the plugin for the host architecture. + if (current_toolchain == host_toolchain) { + + + source_set("grpc_plugin_support") { + sources = [ + "include/grpc++/impl/codegen/config_protobuf.h", + "include/grpcpp/impl/codegen/config_protobuf.h", + "src/compiler/config.h", + "src/compiler/config_protobuf.h", + "src/compiler/cpp_generator.cc", + "src/compiler/cpp_generator.h", + "src/compiler/cpp_generator_helpers.h", + "src/compiler/cpp_plugin.h", + "src/compiler/csharp_generator.cc", + "src/compiler/csharp_generator.h", + "src/compiler/csharp_generator_helpers.h", + "src/compiler/generator_helpers.h", + "src/compiler/node_generator.cc", + "src/compiler/node_generator.h", + "src/compiler/node_generator_helpers.h", + "src/compiler/objective_c_generator.cc", + "src/compiler/objective_c_generator.h", + "src/compiler/objective_c_generator_helpers.h", + "src/compiler/php_generator.cc", + "src/compiler/php_generator.h", + "src/compiler/php_generator_helpers.h", + "src/compiler/protobuf_plugin.h", + "src/compiler/python_generator.cc", + "src/compiler/python_generator.h", + "src/compiler/python_generator_helpers.h", + "src/compiler/python_private_generator.h", + "src/compiler/schema_interface.h", + ] + deps = [ + "//third_party/protobuf:protoc_lib", + ] + + public_configs = [ + ":grpc_config", + ] + } + + } + # Only compile the plugin for the host architecture. + if (current_toolchain == host_toolchain) { + + executable("grpc_cpp_plugin") { + sources = [ + "src/compiler/cpp_plugin.cc", + ] + deps = [ + "//third_party/protobuf:protoc_lib", + ":grpc_plugin_support", + ] + + configs += [ + "//third_party/protobuf:protobuf_config", + ] + public_configs = [ ":grpc_config" ] + } + + } + + diff --git a/CMakeLists.txt b/CMakeLists.txt index fe665fad82d77..bed72041c9434 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -121,6 +121,7 @@ set(gRPC_ABSL_USED_TARGETS absl_endian absl_errno_saver absl_exponential_biased + absl_fast_type_id absl_fixed_array absl_flat_hash_map absl_function_ref @@ -141,6 +142,29 @@ set(gRPC_ABSL_USED_TARGETS absl_memory absl_numeric_representation absl_optional + absl_random_distributions + absl_random_internal_distribution_caller + absl_random_internal_fast_uniform_bits + absl_random_internal_fastmath + absl_random_internal_generate_real + absl_random_internal_iostream_state_saver + absl_random_internal_nonsecure_base + absl_random_internal_pcg_engine + absl_random_internal_platform + absl_random_internal_pool_urbg + absl_random_internal_randen + absl_random_internal_randen_engine + absl_random_internal_randen_hwaes + absl_random_internal_randen_hwaes_impl + absl_random_internal_randen_slow + absl_random_internal_salted_seed_seq + absl_random_internal_seed_material + absl_random_internal_traits + absl_random_internal_uniform_helper + absl_random_internal_wide_multiply + absl_random_random + absl_random_seed_gen_exception + absl_random_seed_sequences absl_raw_hash_map absl_raw_hash_set absl_raw_logging_internal @@ -1475,6 +1499,7 @@ target_link_libraries(gpr absl::base absl::core_headers absl::memory + absl::random_random absl::status absl::cord absl::str_format @@ -7793,6 +7818,7 @@ target_link_libraries(activity_test absl::core_headers absl::flat_hash_set absl::memory + absl::random_random absl::status absl::statusor absl::cord @@ -10656,7 +10682,6 @@ target_include_directories(end2end_binder_transport_test target_link_libraries(end2end_binder_transport_test ${_gRPC_PROTOBUF_LIBRARIES} ${_gRPC_ALLTARGETS_LIBRARIES} - absl::random_random grpc_test_util ) @@ -10985,7 +11010,6 @@ target_include_directories(fake_binder_test target_link_libraries(fake_binder_test ${_gRPC_PROTOBUF_LIBRARIES} ${_gRPC_ALLTARGETS_LIBRARIES} - absl::random_random grpc_test_util ) @@ -12758,6 +12782,7 @@ target_link_libraries(latch_test absl::base absl::core_headers absl::memory + absl::random_random absl::status absl::statusor absl::cord @@ -13380,6 +13405,7 @@ target_link_libraries(observable_test absl::core_headers absl::flat_hash_set absl::memory + absl::random_random absl::status absl::statusor absl::cord @@ -17311,7 +17337,7 @@ generate_pkgconfig( "gpr" "gRPC platform support library" "${gRPC_CORE_VERSION}" - "absl_base absl_cord absl_core_headers absl_memory absl_optional absl_status absl_str_format absl_strings absl_synchronization absl_time" + "absl_base absl_cord absl_core_headers absl_memory absl_optional absl_random_random absl_status absl_str_format absl_strings absl_synchronization absl_time" "-lgpr" "" "gpr.pc") @@ -17321,7 +17347,7 @@ generate_pkgconfig( "gRPC" "high performance general RPC framework" "${gRPC_CORE_VERSION}" - "gpr openssl absl_base absl_bind_front absl_cord absl_core_headers absl_flat_hash_map absl_inlined_vector absl_memory absl_optional absl_status absl_statusor absl_str_format absl_strings absl_synchronization absl_time absl_variant" + "gpr openssl absl_base absl_bind_front absl_cord absl_core_headers absl_flat_hash_map absl_inlined_vector absl_memory absl_optional absl_random_random absl_status absl_statusor absl_str_format absl_strings absl_synchronization absl_time absl_variant" "-lgrpc -laddress_sorting -lre2 -lupb -lcares -lz" "" "grpc.pc") @@ -17331,7 +17357,7 @@ generate_pkgconfig( "gRPC unsecure" "high performance general RPC framework without SSL" "${gRPC_CORE_VERSION}" - "gpr absl_base absl_bind_front absl_cord absl_core_headers absl_flat_hash_map absl_inlined_vector absl_memory absl_optional absl_status absl_statusor absl_str_format absl_strings absl_synchronization absl_time absl_variant" + "gpr absl_base absl_bind_front absl_cord absl_core_headers absl_flat_hash_map absl_inlined_vector absl_memory absl_optional absl_random_random absl_status absl_statusor absl_str_format absl_strings absl_synchronization absl_time absl_variant" "-lgrpc_unsecure" "" "grpc_unsecure.pc") @@ -17341,7 +17367,7 @@ generate_pkgconfig( "gRPC++" "C++ wrapper for gRPC" "${gRPC_CPP_VERSION}" - "grpc absl_base absl_bind_front absl_cord absl_core_headers absl_flat_hash_map absl_inlined_vector absl_memory absl_optional absl_status absl_statusor absl_str_format absl_strings absl_synchronization absl_time absl_variant" + "grpc absl_base absl_bind_front absl_cord absl_core_headers absl_flat_hash_map absl_inlined_vector absl_memory absl_optional absl_random_random absl_status absl_statusor absl_str_format absl_strings absl_synchronization absl_time absl_variant" "-lgrpc++" "" "grpc++.pc") @@ -17351,7 +17377,7 @@ generate_pkgconfig( "gRPC++ unsecure" "C++ wrapper for gRPC without SSL" "${gRPC_CPP_VERSION}" - "grpc_unsecure absl_base absl_bind_front absl_cord absl_core_headers absl_flat_hash_map absl_inlined_vector absl_memory absl_optional absl_status absl_statusor absl_str_format absl_strings absl_synchronization absl_time absl_variant" + "grpc_unsecure absl_base absl_bind_front absl_cord absl_core_headers absl_flat_hash_map absl_inlined_vector absl_memory absl_optional absl_random_random absl_status absl_statusor absl_str_format absl_strings absl_synchronization absl_time absl_variant" "-lgrpc++_unsecure" "" "grpc++_unsecure.pc") diff --git a/Makefile b/Makefile index 6e77306d2a5ee..cfe9be6156e1c 100644 --- a/Makefile +++ b/Makefile @@ -418,7 +418,7 @@ LDFLAGS += -pthread endif ifeq ($(SYSTEM),MINGW32) -LIBS = m pthread ws2_32 dbghelp +LIBS = m pthread ws2_32 dbghelp bcrypt LDFLAGS += -pthread endif @@ -2600,6 +2600,7 @@ endif # start of build recipe for library "grpc_abseil" (generated by makelib(lib) template function) LIBGRPC_ABSEIL_SRC = \ + src/abseil-cpp/randen_hwaes_nohw.cc \ third_party/abseil-cpp/absl/base/internal/cycleclock.cc \ third_party/abseil-cpp/absl/base/internal/exponential_biased.cc \ third_party/abseil-cpp/absl/base/internal/low_level_alloc.cc \ @@ -2624,6 +2625,16 @@ LIBGRPC_ABSEIL_SRC = \ third_party/abseil-cpp/absl/hash/internal/hash.cc \ third_party/abseil-cpp/absl/hash/internal/wyhash.cc \ third_party/abseil-cpp/absl/numeric/int128.cc \ + third_party/abseil-cpp/absl/random/discrete_distribution.cc \ + third_party/abseil-cpp/absl/random/gaussian_distribution.cc \ + third_party/abseil-cpp/absl/random/internal/pool_urbg.cc \ + third_party/abseil-cpp/absl/random/internal/randen.cc \ + third_party/abseil-cpp/absl/random/internal/randen_detect.cc \ + third_party/abseil-cpp/absl/random/internal/randen_round_keys.cc \ + third_party/abseil-cpp/absl/random/internal/randen_slow.cc \ + third_party/abseil-cpp/absl/random/internal/seed_material.cc \ + third_party/abseil-cpp/absl/random/seed_gen_exception.cc \ + third_party/abseil-cpp/absl/random/seed_sequences.cc \ third_party/abseil-cpp/absl/status/status.cc \ third_party/abseil-cpp/absl/status/status_payload_printer.cc \ third_party/abseil-cpp/absl/status/statusor.cc \ diff --git a/build_autogenerated.yaml b/build_autogenerated.yaml index bd9bedab01226..20cc3aad11a4f 100644 --- a/build_autogenerated.yaml +++ b/build_autogenerated.yaml @@ -401,6 +401,7 @@ libs: - absl/base:base - absl/base:core_headers - absl/memory:memory + - absl/random:random - absl/status:status - absl/strings:cord - absl/strings:str_format @@ -4330,6 +4331,7 @@ targets: - absl/base:core_headers - absl/container:flat_hash_set - absl/memory:memory + - absl/random:random - absl/status:status - absl/status:statusor - absl/strings:cord @@ -5432,7 +5434,6 @@ targets: - test/core/transport/binder/end2end/fake_binder.cc - test/core/transport/binder/end2end/testing_channel_create.cc deps: - - absl/random:random - grpc_test_util - name: end2end_test gtest: true @@ -5541,7 +5542,6 @@ targets: - test/core/transport/binder/end2end/fake_binder.cc - test/core/transport/binder/end2end/fake_binder_test.cc deps: - - absl/random:random - grpc_test_util uses_polling: false - name: file_watcher_certificate_provider_factory_test @@ -6251,6 +6251,7 @@ targets: - absl/base:base - absl/base:core_headers - absl/memory:memory + - absl/random:random - absl/status:status - absl/status:statusor - absl/strings:cord @@ -6567,6 +6568,7 @@ targets: - absl/base:core_headers - absl/container:flat_hash_set - absl/memory:memory + - absl/random:random - absl/status:status - absl/status:statusor - absl/strings:cord diff --git a/config.m4 b/config.m4 index edbf6cdf81fc9..77a303d970955 100644 --- a/config.m4 +++ b/config.m4 @@ -40,6 +40,7 @@ if test "$PHP_GRPC" != "no"; then PHP_SUBST(GRPC_SHARED_LIBADD) PHP_NEW_EXTENSION(grpc, + src/abseil-cpp/randen_hwaes_nohw.cc \ src/core/ext/filters/census/grpc_context.cc \ src/core/ext/filters/client_channel/backend_metric.cc \ src/core/ext/filters/client_channel/backup_poller.cc \ @@ -702,6 +703,16 @@ if test "$PHP_GRPC" != "no"; then third_party/abseil-cpp/absl/hash/internal/hash.cc \ third_party/abseil-cpp/absl/hash/internal/wyhash.cc \ third_party/abseil-cpp/absl/numeric/int128.cc \ + third_party/abseil-cpp/absl/random/discrete_distribution.cc \ + third_party/abseil-cpp/absl/random/gaussian_distribution.cc \ + third_party/abseil-cpp/absl/random/internal/pool_urbg.cc \ + third_party/abseil-cpp/absl/random/internal/randen.cc \ + third_party/abseil-cpp/absl/random/internal/randen_detect.cc \ + third_party/abseil-cpp/absl/random/internal/randen_round_keys.cc \ + third_party/abseil-cpp/absl/random/internal/randen_slow.cc \ + third_party/abseil-cpp/absl/random/internal/seed_material.cc \ + third_party/abseil-cpp/absl/random/seed_gen_exception.cc \ + third_party/abseil-cpp/absl/random/seed_sequences.cc \ third_party/abseil-cpp/absl/status/status.cc \ third_party/abseil-cpp/absl/status/status_payload_printer.cc \ third_party/abseil-cpp/absl/status/statusor.cc \ @@ -1064,6 +1075,7 @@ if test "$PHP_GRPC" != "no"; then -DGRPC_XDS_USER_AGENT_NAME_SUFFIX='"\"PHP\""' \ -DGRPC_XDS_USER_AGENT_VERSION_SUFFIX='"\"1.41.0dev\""') + PHP_ADD_BUILD_DIR($ext_builddir/src/abseil-cpp) PHP_ADD_BUILD_DIR($ext_builddir/src/core/ext/filters/census) PHP_ADD_BUILD_DIR($ext_builddir/src/core/ext/filters/client_channel) PHP_ADD_BUILD_DIR($ext_builddir/src/core/ext/filters/client_channel/health) @@ -1244,6 +1256,8 @@ if test "$PHP_GRPC" != "no"; then PHP_ADD_BUILD_DIR($ext_builddir/third_party/abseil-cpp/absl/debugging/internal) PHP_ADD_BUILD_DIR($ext_builddir/third_party/abseil-cpp/absl/hash/internal) PHP_ADD_BUILD_DIR($ext_builddir/third_party/abseil-cpp/absl/numeric) + PHP_ADD_BUILD_DIR($ext_builddir/third_party/abseil-cpp/absl/random) + PHP_ADD_BUILD_DIR($ext_builddir/third_party/abseil-cpp/absl/random/internal) PHP_ADD_BUILD_DIR($ext_builddir/third_party/abseil-cpp/absl/status) PHP_ADD_BUILD_DIR($ext_builddir/third_party/abseil-cpp/absl/strings) PHP_ADD_BUILD_DIR($ext_builddir/third_party/abseil-cpp/absl/strings/internal) diff --git a/config.w32 b/config.w32 index 6dbd4d0c10df2..2369caa8cbd1b 100644 --- a/config.w32 +++ b/config.w32 @@ -6,6 +6,7 @@ ARG_WITH("grpc", "grpc support", "no"); if (PHP_GRPC != "no") { EXTENSION("grpc", + "src\\abseil-cpp\\randen_hwaes_nohw.cc " + "src\\core\\ext\\filters\\census\\grpc_context.cc " + "src\\core\\ext\\filters\\client_channel\\backend_metric.cc " + "src\\core\\ext\\filters\\client_channel\\backup_poller.cc " + @@ -668,6 +669,16 @@ if (PHP_GRPC != "no") { "third_party\\abseil-cpp\\absl\\hash\\internal\\hash.cc " + "third_party\\abseil-cpp\\absl\\hash\\internal\\wyhash.cc " + "third_party\\abseil-cpp\\absl\\numeric\\int128.cc " + + "third_party\\abseil-cpp\\absl\\random\\discrete_distribution.cc " + + "third_party\\abseil-cpp\\absl\\random\\gaussian_distribution.cc " + + "third_party\\abseil-cpp\\absl\\random\\internal\\pool_urbg.cc " + + "third_party\\abseil-cpp\\absl\\random\\internal\\randen.cc " + + "third_party\\abseil-cpp\\absl\\random\\internal\\randen_detect.cc " + + "third_party\\abseil-cpp\\absl\\random\\internal\\randen_round_keys.cc " + + "third_party\\abseil-cpp\\absl\\random\\internal\\randen_slow.cc " + + "third_party\\abseil-cpp\\absl\\random\\internal\\seed_material.cc " + + "third_party\\abseil-cpp\\absl\\random\\seed_gen_exception.cc " + + "third_party\\abseil-cpp\\absl\\random\\seed_sequences.cc " + "third_party\\abseil-cpp\\absl\\status\\status.cc " + "third_party\\abseil-cpp\\absl\\status\\status_payload_printer.cc " + "third_party\\abseil-cpp\\absl\\status\\statusor.cc " + @@ -1059,6 +1070,7 @@ if (PHP_GRPC != "no") { FSO.CreateFolder(base_dir+"\\ext"); FSO.CreateFolder(base_dir+"\\ext\\grpc"); FSO.CreateFolder(base_dir+"\\ext\\grpc\\src"); + FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\abseil-cpp"); FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core"); FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext"); FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\filters"); @@ -1355,6 +1367,8 @@ if (PHP_GRPC != "no") { FSO.CreateFolder(base_dir+"\\ext\\grpc\\third_party\\abseil-cpp\\absl\\hash"); FSO.CreateFolder(base_dir+"\\ext\\grpc\\third_party\\abseil-cpp\\absl\\hash\\internal"); FSO.CreateFolder(base_dir+"\\ext\\grpc\\third_party\\abseil-cpp\\absl\\numeric"); + FSO.CreateFolder(base_dir+"\\ext\\grpc\\third_party\\abseil-cpp\\absl\\random"); + FSO.CreateFolder(base_dir+"\\ext\\grpc\\third_party\\abseil-cpp\\absl\\random\\internal"); FSO.CreateFolder(base_dir+"\\ext\\grpc\\third_party\\abseil-cpp\\absl\\status"); FSO.CreateFolder(base_dir+"\\ext\\grpc\\third_party\\abseil-cpp\\absl\\strings"); FSO.CreateFolder(base_dir+"\\ext\\grpc\\third_party\\abseil-cpp\\absl\\strings\\internal"); diff --git a/gRPC-C++.podspec b/gRPC-C++.podspec index 27ba977635c17..389d15aca92c8 100644 --- a/gRPC-C++.podspec +++ b/gRPC-C++.podspec @@ -194,6 +194,7 @@ Pod::Spec.new do |s| ss.dependency 'abseil/container/inlined_vector', abseil_version ss.dependency 'abseil/functional/bind_front', abseil_version ss.dependency 'abseil/memory/memory', abseil_version + ss.dependency 'abseil/random/random', abseil_version ss.dependency 'abseil/status/status', abseil_version ss.dependency 'abseil/status/statusor', abseil_version ss.dependency 'abseil/strings/cord', abseil_version diff --git a/gRPC-Core.podspec b/gRPC-Core.podspec index e97cf566f4ff0..36399f509d911 100644 --- a/gRPC-Core.podspec +++ b/gRPC-Core.podspec @@ -184,6 +184,7 @@ Pod::Spec.new do |s| ss.dependency 'abseil/container/inlined_vector', abseil_version ss.dependency 'abseil/functional/bind_front', abseil_version ss.dependency 'abseil/memory/memory', abseil_version + ss.dependency 'abseil/random/random', abseil_version ss.dependency 'abseil/status/status', abseil_version ss.dependency 'abseil/status/statusor', abseil_version ss.dependency 'abseil/strings/cord', abseil_version diff --git a/grpc.gemspec b/grpc.gemspec index bacde2e04a9de..2ae1aa1dc4d76 100644 --- a/grpc.gemspec +++ b/grpc.gemspec @@ -108,6 +108,7 @@ 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/abseil-cpp/randen_hwaes_nohw.cc ) s.files += %w( src/core/ext/filters/census/grpc_context.cc ) s.files += %w( src/core/ext/filters/client_channel/backend_metric.cc ) s.files += %w( src/core/ext/filters/client_channel/backend_metric.h ) @@ -1313,6 +1314,7 @@ Gem::Specification.new do |s| s.files += %w( third_party/abseil-cpp/absl/base/internal/errno_saver.h ) s.files += %w( third_party/abseil-cpp/absl/base/internal/exponential_biased.cc ) s.files += %w( third_party/abseil-cpp/absl/base/internal/exponential_biased.h ) + s.files += %w( third_party/abseil-cpp/absl/base/internal/fast_type_id.h ) s.files += %w( third_party/abseil-cpp/absl/base/internal/hide_ptr.h ) s.files += %w( third_party/abseil-cpp/absl/base/internal/identity.h ) s.files += %w( third_party/abseil-cpp/absl/base/internal/inline_variable.h ) @@ -1414,6 +1416,50 @@ Gem::Specification.new do |s| s.files += %w( third_party/abseil-cpp/absl/numeric/int128_no_intrinsic.inc ) s.files += %w( third_party/abseil-cpp/absl/numeric/internal/bits.h ) s.files += %w( third_party/abseil-cpp/absl/numeric/internal/representation.h ) + s.files += %w( third_party/abseil-cpp/absl/random/bernoulli_distribution.h ) + s.files += %w( third_party/abseil-cpp/absl/random/beta_distribution.h ) + s.files += %w( third_party/abseil-cpp/absl/random/discrete_distribution.cc ) + s.files += %w( third_party/abseil-cpp/absl/random/discrete_distribution.h ) + s.files += %w( third_party/abseil-cpp/absl/random/distributions.h ) + s.files += %w( third_party/abseil-cpp/absl/random/exponential_distribution.h ) + s.files += %w( third_party/abseil-cpp/absl/random/gaussian_distribution.cc ) + s.files += %w( third_party/abseil-cpp/absl/random/gaussian_distribution.h ) + s.files += %w( third_party/abseil-cpp/absl/random/internal/distribution_caller.h ) + s.files += %w( third_party/abseil-cpp/absl/random/internal/fast_uniform_bits.h ) + s.files += %w( third_party/abseil-cpp/absl/random/internal/fastmath.h ) + s.files += %w( third_party/abseil-cpp/absl/random/internal/generate_real.h ) + s.files += %w( third_party/abseil-cpp/absl/random/internal/iostream_state_saver.h ) + s.files += %w( third_party/abseil-cpp/absl/random/internal/nonsecure_base.h ) + s.files += %w( third_party/abseil-cpp/absl/random/internal/pcg_engine.h ) + s.files += %w( third_party/abseil-cpp/absl/random/internal/platform.h ) + s.files += %w( third_party/abseil-cpp/absl/random/internal/pool_urbg.cc ) + s.files += %w( third_party/abseil-cpp/absl/random/internal/pool_urbg.h ) + s.files += %w( third_party/abseil-cpp/absl/random/internal/randen.cc ) + s.files += %w( third_party/abseil-cpp/absl/random/internal/randen.h ) + s.files += %w( third_party/abseil-cpp/absl/random/internal/randen_detect.cc ) + s.files += %w( third_party/abseil-cpp/absl/random/internal/randen_detect.h ) + s.files += %w( third_party/abseil-cpp/absl/random/internal/randen_engine.h ) + s.files += %w( third_party/abseil-cpp/absl/random/internal/randen_hwaes.h ) + s.files += %w( third_party/abseil-cpp/absl/random/internal/randen_round_keys.cc ) + s.files += %w( third_party/abseil-cpp/absl/random/internal/randen_slow.cc ) + s.files += %w( third_party/abseil-cpp/absl/random/internal/randen_slow.h ) + s.files += %w( third_party/abseil-cpp/absl/random/internal/randen_traits.h ) + s.files += %w( third_party/abseil-cpp/absl/random/internal/salted_seed_seq.h ) + s.files += %w( third_party/abseil-cpp/absl/random/internal/seed_material.cc ) + s.files += %w( third_party/abseil-cpp/absl/random/internal/seed_material.h ) + s.files += %w( third_party/abseil-cpp/absl/random/internal/traits.h ) + s.files += %w( third_party/abseil-cpp/absl/random/internal/uniform_helper.h ) + s.files += %w( third_party/abseil-cpp/absl/random/internal/wide_multiply.h ) + s.files += %w( third_party/abseil-cpp/absl/random/log_uniform_int_distribution.h ) + s.files += %w( third_party/abseil-cpp/absl/random/poisson_distribution.h ) + s.files += %w( third_party/abseil-cpp/absl/random/random.h ) + s.files += %w( third_party/abseil-cpp/absl/random/seed_gen_exception.cc ) + s.files += %w( third_party/abseil-cpp/absl/random/seed_gen_exception.h ) + s.files += %w( third_party/abseil-cpp/absl/random/seed_sequences.cc ) + s.files += %w( third_party/abseil-cpp/absl/random/seed_sequences.h ) + s.files += %w( third_party/abseil-cpp/absl/random/uniform_int_distribution.h ) + s.files += %w( third_party/abseil-cpp/absl/random/uniform_real_distribution.h ) + s.files += %w( third_party/abseil-cpp/absl/random/zipf_distribution.h ) s.files += %w( third_party/abseil-cpp/absl/status/internal/status_internal.h ) s.files += %w( third_party/abseil-cpp/absl/status/internal/statusor_internal.h ) s.files += %w( third_party/abseil-cpp/absl/status/status.cc ) diff --git a/grpc.gyp b/grpc.gyp index 7ffc7e095e2d2..e9e7939c7cb3e 100644 --- a/grpc.gyp +++ b/grpc.gyp @@ -403,6 +403,7 @@ 'absl/base:base', 'absl/base:core_headers', 'absl/memory:memory', + 'absl/random:random', 'absl/status:status', 'absl/strings:cord', 'absl/strings:str_format', diff --git a/package.xml b/package.xml index 4a8f454398c70..48f11943854a0 100644 --- a/package.xml +++ b/package.xml @@ -88,6 +88,7 @@ + @@ -1315,6 +1316,7 @@ + @@ -1416,6 +1418,50 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/setup.py b/setup.py index 65c7c373f21ee..39e43cef78cce 100644 --- a/setup.py +++ b/setup.py @@ -311,8 +311,9 @@ def check_linker_need_libatomic(): if "win32" in sys.platform: EXTENSION_LIBRARIES += ( 'advapi32', - 'ws2_32', + 'bcrypt', 'dbghelp', + 'ws2_32', ) if BUILD_WITH_SYSTEM_OPENSSL: EXTENSION_LIBRARIES += ( diff --git a/src/abseil-cpp/preprocessed_builds.yaml b/src/abseil-cpp/preprocessed_builds.yaml index 6c73dd3d5adc4..f82139dbd6f39 100644 --- a/src/abseil-cpp/preprocessed_builds.yaml +++ b/src/abseil-cpp/preprocessed_builds.yaml @@ -1003,7 +1003,7 @@ - third_party/abseil-cpp/absl/random/internal/randen_hwaes.h name: absl/random/internal:randen_hwaes_impl src: - - third_party/abseil-cpp/absl/random/internal/randen_hwaes.cc + - src/abseil-cpp/randen_hwaes_nohw.cc - cmake_target: absl::random_internal_randen_slow deps: - absl/base:config diff --git a/src/abseil-cpp/preprocessed_builds.yaml.gen.py b/src/abseil-cpp/preprocessed_builds.yaml.gen.py index 599cc98de7f38..b45b9faa4c249 100755 --- a/src/abseil-cpp/preprocessed_builds.yaml.gen.py +++ b/src/abseil-cpp/preprocessed_builds.yaml.gen.py @@ -166,7 +166,19 @@ def resolve_hdrs(files): def resolve_srcs(files): - return [ABSEIL_PATH + "/" + f for f in files if f.endswith(".cc")] + srcs = [ABSEIL_PATH + "/" + f for f in files if f.endswith(".cc")] + # Replace absl/random/internal/randen_hwaes.cc with + # src/abseil-cpp/randen_hwaes_nohw.c + # Currently abseil doesn't have a simple way to disable it to use instrinsic + # instruction. Some build targets, however, cannot understand those resulting + # in build failures. Until abseil gets a build flag to ignore them, this hack + # is needed. (https://github.com/grpc/grpc/issues/26478) + try: + i = srcs.index(ABSEIL_PATH + "/absl/random/internal/randen_hwaes.cc") + srcs[i] = "src/abseil-cpp/randen_hwaes_nohw.cc" + except ValueError: + pass + return srcs def resolve_deps(targets): diff --git a/src/abseil-cpp/randen_hwaes_nohw.cc b/src/abseil-cpp/randen_hwaes_nohw.cc new file mode 100644 index 0000000000000..0d424061ae34b --- /dev/null +++ b/src/abseil-cpp/randen_hwaes_nohw.cc @@ -0,0 +1,47 @@ +// Copyright 2021 The gRPC Authors +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +#include "absl/random/internal/randen_slow.h" + +#include "absl/random/internal/randen_hwaes.h" + +namespace absl { +ABSL_NAMESPACE_BEGIN +namespace random_internal { + +// This module is a custome implementation of RandenHwAes forarding all ops +// to RandenSlow. This is devised to address the issue where some build +// targets (e.g. php) which cannot specify the compiler options to allow to +// understand instrinsics used in the actual RandenHwAes implementation. +// (https://github.com/grpc/grpc/issues/26478) + +void RandenHwAes::Generate(const void* keys, void* state_void) { + return RandenSlow::Generate(keys, state_void); +} + +void RandenHwAes::Absorb(const void* seed_void, void* state_void) { + return RandenSlow::Absorb(seed_void, state_void); +} + +const void* RandenHwAes::GetKeys() { + return RandenSlow::GetKeys(); +} + +bool HasRandenHwAesImplementation() { + return false; +} + +} // namespace random_internal +ABSL_NAMESPACE_END +} // namespace absl diff --git a/src/core/lib/backoff/backoff.cc b/src/core/lib/backoff/backoff.cc index e536abde0a28e..ca90f2b8c70b4 100644 --- a/src/core/lib/backoff/backoff.cc +++ b/src/core/lib/backoff/backoff.cc @@ -26,31 +26,7 @@ namespace grpc_core { -namespace { - -/* Generate a random number between 0 and 1. We roll our own RNG because seeding - * rand() modifies a global variable we have no control over. */ -double generate_uniform_random_number(uint32_t* rng_state) { - constexpr uint32_t two_raise_31 = uint32_t(1) << 31; - *rng_state = (1103515245 * *rng_state + 12345) % two_raise_31; - return *rng_state / static_cast(two_raise_31); -} - -double generate_uniform_random_number_between(uint32_t* rng_state, double a, - double b) { - if (a == b) return a; - if (a > b) GPR_SWAP(double, a, b); // make sure a < b - const double range = b - a; - return a + generate_uniform_random_number(rng_state) * range; -} - -} // namespace - -BackOff::BackOff(const Options& options) - : options_(options), - rng_state_(static_cast(gpr_now(GPR_CLOCK_REALTIME).tv_nsec)) { - Reset(); -} +BackOff::BackOff(const Options& options) : options_(options) { Reset(); } grpc_millis BackOff::NextAttemptTime() { if (initial_) { @@ -60,9 +36,9 @@ grpc_millis BackOff::NextAttemptTime() { current_backoff_ = static_cast( std::min(current_backoff_ * options_.multiplier(), static_cast(options_.max_backoff()))); - const double jitter = generate_uniform_random_number_between( - &rng_state_, -options_.jitter() * current_backoff_, - options_.jitter() * current_backoff_); + const double jitter = + absl::Uniform(rand_gen_, -options_.jitter() * current_backoff_, + options_.jitter() * current_backoff_); const grpc_millis next_timeout = static_cast(current_backoff_ + jitter); return next_timeout + grpc_core::ExecCtx::Get()->Now(); @@ -73,6 +49,4 @@ void BackOff::Reset() { initial_ = true; } -void BackOff::SetRandomSeed(uint32_t seed) { rng_state_ = seed; } - } // namespace grpc_core diff --git a/src/core/lib/backoff/backoff.h b/src/core/lib/backoff/backoff.h index e769d150ef433..57b7743ed68b8 100644 --- a/src/core/lib/backoff/backoff.h +++ b/src/core/lib/backoff/backoff.h @@ -23,6 +23,8 @@ #include "src/core/lib/iomgr/exec_ctx.h" +#include "absl/random/random.h" + namespace grpc_core { /// Implementation of the backoff mechanism described in @@ -41,8 +43,6 @@ class BackOff { /// will be the time of the second attempt (rather than the Nth). void Reset(); - void SetRandomSeed(unsigned int seed); - class Options { public: Options& set_initial_backoff(grpc_millis initial_backoff) { @@ -79,7 +79,7 @@ class BackOff { private: const Options options_; - uint32_t rng_state_; + absl::InsecureBitGen rand_gen_; bool initial_; /// current delay before retries grpc_millis current_backoff_; diff --git a/src/python/grpcio/grpc_core_dependencies.py b/src/python/grpcio/grpc_core_dependencies.py index 66aa2c8b3b802..bee52586049b7 100644 --- a/src/python/grpcio/grpc_core_dependencies.py +++ b/src/python/grpcio/grpc_core_dependencies.py @@ -15,6 +15,7 @@ # AUTO-GENERATED FROM `$REPO_ROOT/templates/src/python/grpcio/grpc_core_dependencies.py.template`!!! CORE_SOURCE_FILES = [ + 'src/abseil-cpp/randen_hwaes_nohw.cc', 'src/core/ext/filters/census/grpc_context.cc', 'src/core/ext/filters/client_channel/backend_metric.cc', 'src/core/ext/filters/client_channel/backup_poller.cc', @@ -667,6 +668,16 @@ 'third_party/abseil-cpp/absl/hash/internal/hash.cc', 'third_party/abseil-cpp/absl/hash/internal/wyhash.cc', 'third_party/abseil-cpp/absl/numeric/int128.cc', + 'third_party/abseil-cpp/absl/random/discrete_distribution.cc', + 'third_party/abseil-cpp/absl/random/gaussian_distribution.cc', + 'third_party/abseil-cpp/absl/random/internal/pool_urbg.cc', + 'third_party/abseil-cpp/absl/random/internal/randen.cc', + 'third_party/abseil-cpp/absl/random/internal/randen_detect.cc', + 'third_party/abseil-cpp/absl/random/internal/randen_round_keys.cc', + 'third_party/abseil-cpp/absl/random/internal/randen_slow.cc', + 'third_party/abseil-cpp/absl/random/internal/seed_material.cc', + 'third_party/abseil-cpp/absl/random/seed_gen_exception.cc', + 'third_party/abseil-cpp/absl/random/seed_sequences.cc', 'third_party/abseil-cpp/absl/status/status.cc', 'third_party/abseil-cpp/absl/status/status_payload_printer.cc', 'third_party/abseil-cpp/absl/status/statusor.cc', diff --git a/templates/Makefile.template b/templates/Makefile.template index 5afb36ce6a47f..a8a5151e52226 100644 --- a/templates/Makefile.template +++ b/templates/Makefile.template @@ -284,7 +284,7 @@ endif ifeq ($(SYSTEM),MINGW32) - LIBS = m pthread ws2_32 dbghelp + LIBS = m pthread ws2_32 dbghelp bcrypt LDFLAGS += -pthread endif diff --git a/test/core/backoff/backoff_test.cc b/test/core/backoff/backoff_test.cc index 62d6059044030..52953bbd83bcc 100644 --- a/test/core/backoff/backoff_test.cc +++ b/test/core/backoff/backoff_test.cc @@ -138,8 +138,6 @@ TEST(BackOffTest, JitterBackOff) { .set_max_backoff(max_backoff); BackOff backoff(options); - backoff.SetRandomSeed(0); // force consistent PRNG - grpc_core::ExecCtx exec_ctx; grpc_millis next = backoff.NextAttemptTime(); EXPECT_EQ(next - grpc_core::ExecCtx::Get()->Now(), initial_backoff);