Merge "Calculate battery charge from energy and voltage"
diff --git a/Android.bp b/Android.bp
index 420723f..687d3f5 100644
--- a/Android.bp
+++ b/Android.bp
@@ -6744,6 +6744,7 @@
genrule {
name: "perfetto_protos_perfetto_trace_processor_zero_gen",
srcs: [
+ "protos/perfetto/trace_processor/cloud_trace_processor.proto",
"protos/perfetto/trace_processor/metatrace_categories.proto",
"protos/perfetto/trace_processor/trace_processor.proto",
],
@@ -6753,6 +6754,7 @@
],
cmd: "mkdir -p $(genDir)/external/perfetto/ && $(location aprotoc) --proto_path=external/perfetto --plugin=protoc-gen-plugin=$(location protozero_plugin) --plugin_out=wrapper_namespace=pbzero:$(genDir)/external/perfetto/ $(in)",
out: [
+ "external/perfetto/protos/perfetto/trace_processor/cloud_trace_processor.pbzero.cc",
"external/perfetto/protos/perfetto/trace_processor/metatrace_categories.pbzero.cc",
"external/perfetto/protos/perfetto/trace_processor/trace_processor.pbzero.cc",
],
@@ -6762,6 +6764,7 @@
genrule {
name: "perfetto_protos_perfetto_trace_processor_zero_gen_headers",
srcs: [
+ "protos/perfetto/trace_processor/cloud_trace_processor.proto",
"protos/perfetto/trace_processor/metatrace_categories.proto",
"protos/perfetto/trace_processor/trace_processor.proto",
],
@@ -6771,6 +6774,7 @@
],
cmd: "mkdir -p $(genDir)/external/perfetto/ && $(location aprotoc) --proto_path=external/perfetto --plugin=protoc-gen-plugin=$(location protozero_plugin) --plugin_out=wrapper_namespace=pbzero:$(genDir)/external/perfetto/ $(in)",
out: [
+ "external/perfetto/protos/perfetto/trace_processor/cloud_trace_processor.pbzero.h",
"external/perfetto/protos/perfetto/trace_processor/metatrace_categories.pbzero.h",
"external/perfetto/protos/perfetto/trace_processor/trace_processor.pbzero.h",
],
@@ -8139,6 +8143,7 @@
filegroup {
name: "perfetto_src_base_threading_unittests",
srcs: [
+ "src/base/threading/channel_unittest.cc",
"src/base/threading/thread_pool_unittest.cc",
],
}
@@ -8849,6 +8854,7 @@
name: "perfetto_src_protozero_protozero",
srcs: [
"src/protozero/field.cc",
+ "src/protozero/gen_field_helpers.cc",
"src/protozero/message.cc",
"src/protozero/message_arena.cc",
"src/protozero/message_handle.cc",
@@ -12888,6 +12894,8 @@
srcs: [
"protos/perfetto/trace/perfetto_trace.proto",
],
+ // b/267831518: Pin tradefed and dependencies to Java 11.
+ java_version: "11",
}
java_library_host {
@@ -12898,6 +12906,8 @@
srcs: [
"protos/perfetto/metrics/perfetto_merged_metrics.proto",
],
+ // b/267831518: Pin tradefed and dependencies to Java 11.
+ java_version: "11",
}
// This sample target shows how to use the perfetto client API from within the
diff --git a/Android.bp.extras b/Android.bp.extras
index f1251b4..ded8bdb 100644
--- a/Android.bp.extras
+++ b/Android.bp.extras
@@ -18,6 +18,8 @@
srcs: [
"protos/perfetto/trace/perfetto_trace.proto",
],
+ // b/267831518: Pin tradefed and dependencies to Java 11.
+ java_version: "11",
}
java_library_host {
@@ -28,6 +30,8 @@
srcs: [
"protos/perfetto/metrics/perfetto_merged_metrics.proto",
],
+ // b/267831518: Pin tradefed and dependencies to Java 11.
+ java_version: "11",
}
// This sample target shows how to use the perfetto client API from within the
diff --git a/BUILD b/BUILD
index c4c9781..2232f30 100644
--- a/BUILD
+++ b/BUILD
@@ -126,6 +126,7 @@
name = "protozero",
srcs = [
"src/protozero/field.cc",
+ "src/protozero/gen_field_helpers.cc",
"src/protozero/message.cc",
"src/protozero/message_arena.cc",
"src/protozero/message_handle.cc",
@@ -554,6 +555,7 @@
"include/perfetto/protozero/cpp_message_obj.h",
"include/perfetto/protozero/field.h",
"include/perfetto/protozero/field_writer.h",
+ "include/perfetto/protozero/gen_field_helpers.h",
"include/perfetto/protozero/message.h",
"include/perfetto/protozero/message_arena.h",
"include/perfetto/protozero/message_handle.h",
@@ -4033,6 +4035,7 @@
perfetto_proto_library(
name = "protos_perfetto_trace_processor_protos",
srcs = [
+ "protos/perfetto/trace_processor/cloud_trace_processor.proto",
"protos/perfetto/trace_processor/metatrace_categories.proto",
"protos/perfetto/trace_processor/trace_processor.proto",
],
diff --git a/PRESUBMIT.py b/PRESUBMIT.py
index 6682fec..7b11412 100644
--- a/PRESUBMIT.py
+++ b/PRESUBMIT.py
@@ -41,6 +41,7 @@
files_to_check='.*',
files_to_skip=[
'Android[.]bp',
+ "buildtools/grpc/BUILD.gn",
'.*[.]json$',
'.*[.]sql$',
'.*[.]out$',
diff --git a/buildtools/.gitignore b/buildtools/.gitignore
index 869315f..ad3768e 100644
--- a/buildtools/.gitignore
+++ b/buildtools/.gitignore
@@ -17,6 +17,7 @@
debian_sid_armel-sysroot/
emulator/
googletest/
+grpc/src
jsoncpp/
libbacktrace/
libbase/
diff --git a/buildtools/BUILD.gn b/buildtools/BUILD.gn
index 5eced89..d1dc6c8 100644
--- a/buildtools/BUILD.gn
+++ b/buildtools/BUILD.gn
@@ -129,21 +129,8 @@
defines = [ "HAVE_PTHREAD=1" ]
cflags = []
- if (is_clang) {
- # We do NOT build libprotobuf with -Wextra or -Weverything. But still it
- # hits some warnings that we need to suppress.
- cflags += [
- "-Wno-unknown-warning-option",
- "-Wno-enum-compare-switch",
- "-Wno-user-defined-warnings",
- "-Wno-tautological-constant-compare",
- "-Wno-inconsistent-missing-override",
- ]
- } else if (!is_win) { # implies gcc
- cflags += [
- "-Wno-return-type",
- "-Wno-stringop-overread",
- ]
+ if (!is_clang && !is_win) { # implies gcc
+ cflags += [ "-Wno-stringop-overread" ]
}
if (is_win) {
cflags += [ "/W0" ]
@@ -162,57 +149,101 @@
source_set("protobuf_lite") {
visibility = _buildtools_visibility
sources = [
+ "protobuf/src/google/protobuf/any.h",
+ "protobuf/src/google/protobuf/any.pb.h",
"protobuf/src/google/protobuf/any_lite.cc",
+ "protobuf/src/google/protobuf/api.pb.h",
"protobuf/src/google/protobuf/arena.cc",
"protobuf/src/google/protobuf/arena.h",
"protobuf/src/google/protobuf/arena_impl.h",
+ "protobuf/src/google/protobuf/arenastring.cc",
"protobuf/src/google/protobuf/arenastring.h",
+ "protobuf/src/google/protobuf/arenaz_sampler.cc",
+ "protobuf/src/google/protobuf/arenaz_sampler.h",
+ "protobuf/src/google/protobuf/compiler/importer.h",
+ "protobuf/src/google/protobuf/compiler/parser.h",
+ "protobuf/src/google/protobuf/descriptor.h",
+ "protobuf/src/google/protobuf/descriptor.pb.h",
+ "protobuf/src/google/protobuf/descriptor_database.h",
+ "protobuf/src/google/protobuf/duration.pb.h",
+ "protobuf/src/google/protobuf/dynamic_message.h",
+ "protobuf/src/google/protobuf/empty.pb.h",
+ "protobuf/src/google/protobuf/explicitly_constructed.h",
"protobuf/src/google/protobuf/extension_set.cc",
"protobuf/src/google/protobuf/extension_set.h",
+ "protobuf/src/google/protobuf/extension_set_inl.h",
+ "protobuf/src/google/protobuf/field_access_listener.h",
+ "protobuf/src/google/protobuf/field_mask.pb.h",
+ "protobuf/src/google/protobuf/generated_enum_reflection.h",
"protobuf/src/google/protobuf/generated_enum_util.cc",
"protobuf/src/google/protobuf/generated_enum_util.h",
- "protobuf/src/google/protobuf/generated_message_table_driven_lite.cc",
- "protobuf/src/google/protobuf/generated_message_table_driven_lite.h",
+ "protobuf/src/google/protobuf/generated_message_bases.h",
+ "protobuf/src/google/protobuf/generated_message_reflection.h",
+ "protobuf/src/google/protobuf/generated_message_tctable_decl.h",
+ "protobuf/src/google/protobuf/generated_message_tctable_impl.h",
+ "protobuf/src/google/protobuf/generated_message_tctable_lite.cc",
"protobuf/src/google/protobuf/generated_message_util.cc",
"protobuf/src/google/protobuf/generated_message_util.h",
"protobuf/src/google/protobuf/has_bits.h",
"protobuf/src/google/protobuf/implicit_weak_message.cc",
"protobuf/src/google/protobuf/implicit_weak_message.h",
+ "protobuf/src/google/protobuf/inlined_string_field.cc",
"protobuf/src/google/protobuf/inlined_string_field.h",
"protobuf/src/google/protobuf/io/coded_stream.cc",
"protobuf/src/google/protobuf/io/coded_stream.h",
- "protobuf/src/google/protobuf/io/coded_stream_inl.h",
"protobuf/src/google/protobuf/io/io_win32.cc",
"protobuf/src/google/protobuf/io/io_win32.h",
+ "protobuf/src/google/protobuf/io/printer.h",
"protobuf/src/google/protobuf/io/strtod.cc",
"protobuf/src/google/protobuf/io/strtod.h",
+ "protobuf/src/google/protobuf/io/tokenizer.h",
"protobuf/src/google/protobuf/io/zero_copy_stream.cc",
"protobuf/src/google/protobuf/io/zero_copy_stream.h",
"protobuf/src/google/protobuf/io/zero_copy_stream_impl.cc",
"protobuf/src/google/protobuf/io/zero_copy_stream_impl.h",
"protobuf/src/google/protobuf/io/zero_copy_stream_impl_lite.cc",
"protobuf/src/google/protobuf/io/zero_copy_stream_impl_lite.h",
+ "protobuf/src/google/protobuf/map.cc",
"protobuf/src/google/protobuf/map.h",
+ "protobuf/src/google/protobuf/map_entry.h",
"protobuf/src/google/protobuf/map_entry_lite.h",
+ "protobuf/src/google/protobuf/map_field.h",
+ "protobuf/src/google/protobuf/map_field_inl.h",
"protobuf/src/google/protobuf/map_field_lite.h",
"protobuf/src/google/protobuf/map_type_handler.h",
+ "protobuf/src/google/protobuf/message.h",
"protobuf/src/google/protobuf/message_lite.cc",
"protobuf/src/google/protobuf/message_lite.h",
+ "protobuf/src/google/protobuf/metadata.h",
+ "protobuf/src/google/protobuf/metadata_lite.h",
+ "protobuf/src/google/protobuf/parse_context.cc",
+ "protobuf/src/google/protobuf/parse_context.h",
+ "protobuf/src/google/protobuf/port.h",
+ "protobuf/src/google/protobuf/port_def.inc",
+ "protobuf/src/google/protobuf/port_undef.inc",
+ "protobuf/src/google/protobuf/reflection.h",
+ "protobuf/src/google/protobuf/reflection_ops.h",
"protobuf/src/google/protobuf/repeated_field.cc",
"protobuf/src/google/protobuf/repeated_field.h",
+ "protobuf/src/google/protobuf/repeated_ptr_field.cc",
+ "protobuf/src/google/protobuf/repeated_ptr_field.h",
+ "protobuf/src/google/protobuf/service.h",
+ "protobuf/src/google/protobuf/source_context.pb.h",
+ "protobuf/src/google/protobuf/string_member_robber.h",
+ "protobuf/src/google/protobuf/struct.pb.h",
"protobuf/src/google/protobuf/stubs/bytestream.cc",
"protobuf/src/google/protobuf/stubs/bytestream.h",
"protobuf/src/google/protobuf/stubs/callback.h",
"protobuf/src/google/protobuf/stubs/casts.h",
"protobuf/src/google/protobuf/stubs/common.cc",
"protobuf/src/google/protobuf/stubs/common.h",
- "protobuf/src/google/protobuf/stubs/fastmem.h",
"protobuf/src/google/protobuf/stubs/hash.h",
"protobuf/src/google/protobuf/stubs/int128.cc",
"protobuf/src/google/protobuf/stubs/int128.h",
"protobuf/src/google/protobuf/stubs/logging.h",
"protobuf/src/google/protobuf/stubs/macros.h",
"protobuf/src/google/protobuf/stubs/map_util.h",
+ "protobuf/src/google/protobuf/stubs/mathutil.h",
"protobuf/src/google/protobuf/stubs/mutex.h",
"protobuf/src/google/protobuf/stubs/once.h",
"protobuf/src/google/protobuf/stubs/platform_macros.h",
@@ -233,8 +264,22 @@
"protobuf/src/google/protobuf/stubs/template_util.h",
"protobuf/src/google/protobuf/stubs/time.cc",
"protobuf/src/google/protobuf/stubs/time.h",
+ "protobuf/src/google/protobuf/text_format.h",
+ "protobuf/src/google/protobuf/timestamp.pb.h",
+ "protobuf/src/google/protobuf/type.pb.h",
+ "protobuf/src/google/protobuf/unknown_field_set.h",
+ "protobuf/src/google/protobuf/util/delimited_message_util.h",
+ "protobuf/src/google/protobuf/util/field_comparator.h",
+ "protobuf/src/google/protobuf/util/field_mask_util.h",
+ "protobuf/src/google/protobuf/util/json_util.h",
+ "protobuf/src/google/protobuf/util/message_differencer.h",
+ "protobuf/src/google/protobuf/util/time_util.h",
+ "protobuf/src/google/protobuf/util/type_resolver.h",
+ "protobuf/src/google/protobuf/util/type_resolver_util.h",
+ "protobuf/src/google/protobuf/wire_format.h",
"protobuf/src/google/protobuf/wire_format_lite.cc",
"protobuf/src/google/protobuf/wire_format_lite.h",
+ "protobuf/src/google/protobuf/wrappers.pb.h",
]
configs -= [ "//gn/standalone:extra_warnings" ]
if (is_win) {
@@ -259,6 +304,10 @@
"protobuf/src/google/protobuf/any.pb.h",
"protobuf/src/google/protobuf/api.pb.cc",
"protobuf/src/google/protobuf/api.pb.h",
+ "protobuf/src/google/protobuf/arena.h",
+ "protobuf/src/google/protobuf/arena_impl.h",
+ "protobuf/src/google/protobuf/arenastring.h",
+ "protobuf/src/google/protobuf/arenaz_sampler.h",
"protobuf/src/google/protobuf/compiler/importer.cc",
"protobuf/src/google/protobuf/compiler/importer.h",
"protobuf/src/google/protobuf/compiler/parser.cc",
@@ -275,40 +324,85 @@
"protobuf/src/google/protobuf/dynamic_message.h",
"protobuf/src/google/protobuf/empty.pb.cc",
"protobuf/src/google/protobuf/empty.pb.h",
+ "protobuf/src/google/protobuf/explicitly_constructed.h",
+ "protobuf/src/google/protobuf/extension_set.h",
"protobuf/src/google/protobuf/extension_set_heavy.cc",
+ "protobuf/src/google/protobuf/extension_set_inl.h",
+ "protobuf/src/google/protobuf/field_access_listener.h",
"protobuf/src/google/protobuf/field_mask.pb.cc",
"protobuf/src/google/protobuf/field_mask.pb.h",
"protobuf/src/google/protobuf/generated_enum_reflection.h",
+ "protobuf/src/google/protobuf/generated_enum_util.h",
+ "protobuf/src/google/protobuf/generated_message_bases.cc",
+ "protobuf/src/google/protobuf/generated_message_bases.h",
"protobuf/src/google/protobuf/generated_message_reflection.cc",
"protobuf/src/google/protobuf/generated_message_reflection.h",
+ "protobuf/src/google/protobuf/generated_message_tctable_decl.h",
+ "protobuf/src/google/protobuf/generated_message_tctable_full.cc",
+ "protobuf/src/google/protobuf/generated_message_tctable_impl.h",
+ "protobuf/src/google/protobuf/generated_message_util.h",
+ "protobuf/src/google/protobuf/has_bits.h",
+ "protobuf/src/google/protobuf/implicit_weak_message.h",
+ "protobuf/src/google/protobuf/inlined_string_field.h",
+ "protobuf/src/google/protobuf/io/coded_stream.h",
"protobuf/src/google/protobuf/io/gzip_stream.cc",
- "protobuf/src/google/protobuf/io/gzip_stream.h",
+ "protobuf/src/google/protobuf/io/io_win32.h",
"protobuf/src/google/protobuf/io/printer.cc",
"protobuf/src/google/protobuf/io/printer.h",
+ "protobuf/src/google/protobuf/io/strtod.h",
"protobuf/src/google/protobuf/io/tokenizer.cc",
"protobuf/src/google/protobuf/io/tokenizer.h",
+ "protobuf/src/google/protobuf/io/zero_copy_stream.h",
+ "protobuf/src/google/protobuf/io/zero_copy_stream_impl.h",
+ "protobuf/src/google/protobuf/io/zero_copy_stream_impl_lite.h",
+ "protobuf/src/google/protobuf/map.h",
"protobuf/src/google/protobuf/map_entry.h",
+ "protobuf/src/google/protobuf/map_entry_lite.h",
"protobuf/src/google/protobuf/map_field.cc",
"protobuf/src/google/protobuf/map_field.h",
"protobuf/src/google/protobuf/map_field_inl.h",
+ "protobuf/src/google/protobuf/map_field_lite.h",
+ "protobuf/src/google/protobuf/map_type_handler.h",
"protobuf/src/google/protobuf/message.cc",
"protobuf/src/google/protobuf/message.h",
+ "protobuf/src/google/protobuf/message_lite.h",
"protobuf/src/google/protobuf/metadata.h",
+ "protobuf/src/google/protobuf/metadata_lite.h",
+ "protobuf/src/google/protobuf/parse_context.h",
+ "protobuf/src/google/protobuf/port.h",
+ "protobuf/src/google/protobuf/port_def.inc",
+ "protobuf/src/google/protobuf/port_undef.inc",
"protobuf/src/google/protobuf/reflection.h",
"protobuf/src/google/protobuf/reflection_internal.h",
"protobuf/src/google/protobuf/reflection_ops.cc",
"protobuf/src/google/protobuf/reflection_ops.h",
+ "protobuf/src/google/protobuf/repeated_field.h",
+ "protobuf/src/google/protobuf/repeated_ptr_field.h",
"protobuf/src/google/protobuf/service.cc",
"protobuf/src/google/protobuf/service.h",
"protobuf/src/google/protobuf/source_context.pb.cc",
"protobuf/src/google/protobuf/source_context.pb.h",
"protobuf/src/google/protobuf/struct.pb.cc",
"protobuf/src/google/protobuf/struct.pb.h",
- "protobuf/src/google/protobuf/stubs/mathlimits.cc",
- "protobuf/src/google/protobuf/stubs/mathlimits.h",
- "protobuf/src/google/protobuf/stubs/mathutil.h",
+ "protobuf/src/google/protobuf/stubs/bytestream.h",
+ "protobuf/src/google/protobuf/stubs/callback.h",
+ "protobuf/src/google/protobuf/stubs/casts.h",
+ "protobuf/src/google/protobuf/stubs/common.h",
+ "protobuf/src/google/protobuf/stubs/hash.h",
+ "protobuf/src/google/protobuf/stubs/logging.h",
+ "protobuf/src/google/protobuf/stubs/macros.h",
+ "protobuf/src/google/protobuf/stubs/map_util.h",
+ "protobuf/src/google/protobuf/stubs/mutex.h",
+ "protobuf/src/google/protobuf/stubs/once.h",
+ "protobuf/src/google/protobuf/stubs/platform_macros.h",
+ "protobuf/src/google/protobuf/stubs/port.h",
+ "protobuf/src/google/protobuf/stubs/status.h",
+ "protobuf/src/google/protobuf/stubs/stl_util.h",
+ "protobuf/src/google/protobuf/stubs/stringpiece.h",
+ "protobuf/src/google/protobuf/stubs/strutil.h",
"protobuf/src/google/protobuf/stubs/substitute.cc",
"protobuf/src/google/protobuf/stubs/substitute.h",
+ "protobuf/src/google/protobuf/stubs/template_util.h",
"protobuf/src/google/protobuf/text_format.cc",
"protobuf/src/google/protobuf/text_format.h",
"protobuf/src/google/protobuf/timestamp.pb.cc",
@@ -317,6 +411,8 @@
"protobuf/src/google/protobuf/type.pb.h",
"protobuf/src/google/protobuf/unknown_field_set.cc",
"protobuf/src/google/protobuf/unknown_field_set.h",
+ "protobuf/src/google/protobuf/util/delimited_message_util.cc",
+ "protobuf/src/google/protobuf/util/delimited_message_util.h",
"protobuf/src/google/protobuf/util/field_comparator.cc",
"protobuf/src/google/protobuf/util/field_comparator.h",
"protobuf/src/google/protobuf/util/field_mask_util.cc",
@@ -328,6 +424,7 @@
"protobuf/src/google/protobuf/util/internal/default_value_objectwriter.h",
"protobuf/src/google/protobuf/util/internal/error_listener.cc",
"protobuf/src/google/protobuf/util/internal/error_listener.h",
+ "protobuf/src/google/protobuf/util/internal/expecting_objectwriter.h",
"protobuf/src/google/protobuf/util/internal/field_mask_utility.cc",
"protobuf/src/google/protobuf/util/internal/field_mask_utility.h",
"protobuf/src/google/protobuf/util/internal/json_escaping.cc",
@@ -337,6 +434,7 @@
"protobuf/src/google/protobuf/util/internal/json_stream_parser.cc",
"protobuf/src/google/protobuf/util/internal/json_stream_parser.h",
"protobuf/src/google/protobuf/util/internal/location_tracker.h",
+ "protobuf/src/google/protobuf/util/internal/mock_error_listener.h",
"protobuf/src/google/protobuf/util/internal/object_location_tracker.h",
"protobuf/src/google/protobuf/util/internal/object_source.h",
"protobuf/src/google/protobuf/util/internal/object_writer.cc",
@@ -350,7 +448,6 @@
"protobuf/src/google/protobuf/util/internal/structured_objectwriter.h",
"protobuf/src/google/protobuf/util/internal/type_info.cc",
"protobuf/src/google/protobuf/util/internal/type_info.h",
- "protobuf/src/google/protobuf/util/internal/type_info_test_helper.cc",
"protobuf/src/google/protobuf/util/internal/type_info_test_helper.h",
"protobuf/src/google/protobuf/util/internal/utility.cc",
"protobuf/src/google/protobuf/util/internal/utility.h",
@@ -365,6 +462,7 @@
"protobuf/src/google/protobuf/util/type_resolver_util.h",
"protobuf/src/google/protobuf/wire_format.cc",
"protobuf/src/google/protobuf/wire_format.h",
+ "protobuf/src/google/protobuf/wire_format_lite.h",
"protobuf/src/google/protobuf/wrappers.pb.cc",
"protobuf/src/google/protobuf/wrappers.pb.h",
]
@@ -412,9 +510,12 @@
"protobuf/src/google/protobuf/compiler/cpp/cpp_message_field.cc",
"protobuf/src/google/protobuf/compiler/cpp/cpp_message_field.h",
"protobuf/src/google/protobuf/compiler/cpp/cpp_message_layout_helper.h",
+ "protobuf/src/google/protobuf/compiler/cpp/cpp_names.h",
"protobuf/src/google/protobuf/compiler/cpp/cpp_options.h",
"protobuf/src/google/protobuf/compiler/cpp/cpp_padding_optimizer.cc",
"protobuf/src/google/protobuf/compiler/cpp/cpp_padding_optimizer.h",
+ "protobuf/src/google/protobuf/compiler/cpp/cpp_parse_function_generator.cc",
+ "protobuf/src/google/protobuf/compiler/cpp/cpp_parse_function_generator.h",
"protobuf/src/google/protobuf/compiler/cpp/cpp_primitive_field.cc",
"protobuf/src/google/protobuf/compiler/cpp/cpp_primitive_field.h",
"protobuf/src/google/protobuf/compiler/cpp/cpp_service.cc",
@@ -439,6 +540,7 @@
"protobuf/src/google/protobuf/compiler/csharp/csharp_message.h",
"protobuf/src/google/protobuf/compiler/csharp/csharp_message_field.cc",
"protobuf/src/google/protobuf/compiler/csharp/csharp_message_field.h",
+ "protobuf/src/google/protobuf/compiler/csharp/csharp_names.h",
"protobuf/src/google/protobuf/compiler/csharp/csharp_options.h",
"protobuf/src/google/protobuf/compiler/csharp/csharp_primitive_field.cc",
"protobuf/src/google/protobuf/compiler/csharp/csharp_primitive_field.h",
@@ -480,6 +582,8 @@
"protobuf/src/google/protobuf/compiler/java/java_generator_factory.h",
"protobuf/src/google/protobuf/compiler/java/java_helpers.cc",
"protobuf/src/google/protobuf/compiler/java/java_helpers.h",
+ "protobuf/src/google/protobuf/compiler/java/java_kotlin_generator.cc",
+ "protobuf/src/google/protobuf/compiler/java/java_kotlin_generator.h",
"protobuf/src/google/protobuf/compiler/java/java_map_field.cc",
"protobuf/src/google/protobuf/compiler/java/java_map_field.h",
"protobuf/src/google/protobuf/compiler/java/java_map_field_lite.cc",
@@ -498,6 +602,7 @@
"protobuf/src/google/protobuf/compiler/java/java_message_lite.h",
"protobuf/src/google/protobuf/compiler/java/java_name_resolver.cc",
"protobuf/src/google/protobuf/compiler/java/java_name_resolver.h",
+ "protobuf/src/google/protobuf/compiler/java/java_names.h",
"protobuf/src/google/protobuf/compiler/java/java_options.h",
"protobuf/src/google/protobuf/compiler/java/java_primitive_field.cc",
"protobuf/src/google/protobuf/compiler/java/java_primitive_field.h",
@@ -535,6 +640,7 @@
"protobuf/src/google/protobuf/compiler/objectivec/objectivec_message.h",
"protobuf/src/google/protobuf/compiler/objectivec/objectivec_message_field.cc",
"protobuf/src/google/protobuf/compiler/objectivec/objectivec_message_field.h",
+ "protobuf/src/google/protobuf/compiler/objectivec/objectivec_nsobject_methods.h",
"protobuf/src/google/protobuf/compiler/objectivec/objectivec_oneof.cc",
"protobuf/src/google/protobuf/compiler/objectivec/objectivec_oneof.h",
"protobuf/src/google/protobuf/compiler/objectivec/objectivec_primitive_field.cc",
@@ -547,8 +653,13 @@
"protobuf/src/google/protobuf/compiler/plugin.pb.h",
"protobuf/src/google/protobuf/compiler/python/python_generator.cc",
"protobuf/src/google/protobuf/compiler/python/python_generator.h",
+ "protobuf/src/google/protobuf/compiler/python/python_helpers.cc",
+ "protobuf/src/google/protobuf/compiler/python/python_helpers.h",
+ "protobuf/src/google/protobuf/compiler/python/python_pyi_generator.cc",
+ "protobuf/src/google/protobuf/compiler/python/python_pyi_generator.h",
"protobuf/src/google/protobuf/compiler/ruby/ruby_generator.cc",
"protobuf/src/google/protobuf/compiler/ruby/ruby_generator.h",
+ "protobuf/src/google/protobuf/compiler/scc.h",
"protobuf/src/google/protobuf/compiler/subprocess.cc",
"protobuf/src/google/protobuf/compiler/subprocess.h",
"protobuf/src/google/protobuf/compiler/zip_writer.cc",
@@ -1340,3 +1451,65 @@
]
deps = [ "//gn:default_deps" ]
}
+
+if (enable_perfetto_grpc) {
+ config("grpc_absl_config") {
+ visibility = _buildtools_visibility
+ include_dirs = [ "grpc/src/third_party/abseil-cpp" ]
+ cflags = [ "-Wno-deprecated-builtins" ]
+ }
+
+ config("grpc_boringssl_config") {
+ visibility = _buildtools_visibility
+ include_dirs = [ "grpc/src/third_party/boringssl-with-bazel/src/include" ]
+ }
+
+ config("grpc_upb_config") {
+ visibility = _buildtools_visibility
+ include_dirs = [
+ "grpc/src/third_party/upb",
+ "grpc/src/src/core/ext/upb-generated",
+ "grpc/src/src/core/ext/upbdefs-generated",
+ ]
+ }
+
+ config("grpc_re2_config") {
+ visibility = _buildtools_visibility
+ include_dirs = [ "grpc/src/third_party/re2" ]
+ }
+
+ config("grpc_internal_config") {
+ visibility = _buildtools_visibility
+ include_dirs = [
+ "grpc/src/include",
+ "grpc/src",
+ "grpc/src/third_party/address_sorting/include",
+ "grpc/src/third_party/re2",
+ "grpc/src/src/core/ext/upb-generated",
+ "grpc/src/src/core/ext/upbdefs-generated",
+ "grpc/src/third_party/xxhash",
+ ]
+ cflags = [ "-DGRPC_ARES=0" ]
+ }
+
+ config("grpc_gen_config") {
+ cflags = [
+ # Using -isystem instead of include_dirs (-I), so we don't need to
+ # suppress warnings coming from libprotobuf headers. Doing so would mask
+ # warnings in our own code.
+ perfetto_isystem_cflag,
+ rebase_path("grpc/src/include", root_build_dir),
+ perfetto_isystem_cflag,
+ rebase_path("grpc/src/third_party/abseil-cpp", root_build_dir),
+ ]
+
+ # This issues appear in .grpc.pb.h files so we unfortunately need to leak
+ # the cflags outside of just compiling this code.
+ if (is_clang && !is_win) {
+ cflags += [
+ "-Wno-weak-vtables",
+ "-Wno-suggest-destructor-override",
+ ]
+ }
+ }
+}
diff --git a/buildtools/grpc/BUILD.gn b/buildtools/grpc/BUILD.gn
new file mode 100644
index 0000000..16ca941
--- /dev/null
+++ b/buildtools/grpc/BUILD.gn
@@ -0,0 +1,6448 @@
+#
+# DO NOT EDIT. AUTOGENERATED file
+#
+# This file is generated with the command:
+# tools/gen_grpc_build_gn.py > buildtools/grpc/BUILD.gn
+#
+
+import("../../gn/perfetto.gni")
+
+# Prevent the gRPC from being depended upon without explicitly being opted in.
+assert(enable_perfetto_grpc)
+
+# BoringSSL has assembly code which is tied to platform-specific. For now, we
+# only care about Linux x64 so assert this as the case.
+assert(is_linux && current_cpu == "x64")
+
+source_set("absl_algorithm_algorithm") {
+ sources = [ "src/third_party/abseil-cpp/absl/algorithm/algorithm.h" ]
+ public_deps = [ ":absl_base_config" ]
+ public_configs = [ "..:grpc_absl_config" ]
+ configs -= [ "//gn/standalone:extra_warnings" ]
+}
+
+source_set("absl_algorithm_container") {
+ sources = [ "src/third_party/abseil-cpp/absl/algorithm/container.h" ]
+ public_deps = [
+ ":absl_algorithm_algorithm",
+ ":absl_base_core_headers",
+ ":absl_meta_type_traits",
+ ]
+ public_configs = [ "..:grpc_absl_config" ]
+ configs -= [ "//gn/standalone:extra_warnings" ]
+}
+
+source_set("absl_base_atomic_hook") {
+ sources = [ "src/third_party/abseil-cpp/absl/base/internal/atomic_hook.h" ]
+ public_deps = [
+ ":absl_base_config",
+ ":absl_base_core_headers",
+ ]
+ public_configs = [ "..:grpc_absl_config" ]
+ configs -= [ "//gn/standalone:extra_warnings" ]
+}
+
+source_set("absl_base_base") {
+ sources = [
+ "src/third_party/abseil-cpp/absl/base/call_once.h",
+ "src/third_party/abseil-cpp/absl/base/casts.h",
+ "src/third_party/abseil-cpp/absl/base/internal/cycleclock.cc",
+ "src/third_party/abseil-cpp/absl/base/internal/cycleclock.h",
+ "src/third_party/abseil-cpp/absl/base/internal/low_level_scheduling.h",
+ "src/third_party/abseil-cpp/absl/base/internal/per_thread_tls.h",
+ "src/third_party/abseil-cpp/absl/base/internal/spinlock.cc",
+ "src/third_party/abseil-cpp/absl/base/internal/spinlock.h",
+ "src/third_party/abseil-cpp/absl/base/internal/sysinfo.cc",
+ "src/third_party/abseil-cpp/absl/base/internal/sysinfo.h",
+ "src/third_party/abseil-cpp/absl/base/internal/thread_identity.cc",
+ "src/third_party/abseil-cpp/absl/base/internal/thread_identity.h",
+ "src/third_party/abseil-cpp/absl/base/internal/tsan_mutex_interface.h",
+ "src/third_party/abseil-cpp/absl/base/internal/unscaledcycleclock.cc",
+ "src/third_party/abseil-cpp/absl/base/internal/unscaledcycleclock.h",
+ ]
+ public_deps = [
+ ":absl_base_atomic_hook",
+ ":absl_base_base_internal",
+ ":absl_base_config",
+ ":absl_base_core_headers",
+ ":absl_base_cycleclock_internal",
+ ":absl_base_dynamic_annotations",
+ ":absl_base_log_severity",
+ ":absl_base_raw_logging_internal",
+ ":absl_base_spinlock_wait",
+ ":absl_meta_type_traits",
+ ]
+ public_configs = [ "..:grpc_absl_config" ]
+ configs -= [ "//gn/standalone:extra_warnings" ]
+}
+
+source_set("absl_base_base_internal") {
+ sources = [
+ "src/third_party/abseil-cpp/absl/base/internal/hide_ptr.h",
+ "src/third_party/abseil-cpp/absl/base/internal/identity.h",
+ "src/third_party/abseil-cpp/absl/base/internal/inline_variable.h",
+ "src/third_party/abseil-cpp/absl/base/internal/invoke.h",
+ "src/third_party/abseil-cpp/absl/base/internal/scheduling_mode.h",
+ ]
+ public_deps = [
+ ":absl_base_config",
+ ":absl_meta_type_traits",
+ ]
+ public_configs = [ "..:grpc_absl_config" ]
+ configs -= [ "//gn/standalone:extra_warnings" ]
+}
+
+source_set("absl_base_config") {
+ sources = [
+ "src/third_party/abseil-cpp/absl/base/config.h",
+ "src/third_party/abseil-cpp/absl/base/options.h",
+ "src/third_party/abseil-cpp/absl/base/policy_checks.h",
+ ]
+ public_deps = []
+ public_configs = [ "..:grpc_absl_config" ]
+ configs -= [ "//gn/standalone:extra_warnings" ]
+}
+
+source_set("absl_base_core_headers") {
+ sources = [
+ "src/third_party/abseil-cpp/absl/base/attributes.h",
+ "src/third_party/abseil-cpp/absl/base/const_init.h",
+ "src/third_party/abseil-cpp/absl/base/internal/thread_annotations.h",
+ "src/third_party/abseil-cpp/absl/base/macros.h",
+ "src/third_party/abseil-cpp/absl/base/optimization.h",
+ "src/third_party/abseil-cpp/absl/base/port.h",
+ "src/third_party/abseil-cpp/absl/base/thread_annotations.h",
+ ]
+ public_deps = [ ":absl_base_config" ]
+ public_configs = [ "..:grpc_absl_config" ]
+ configs -= [ "//gn/standalone:extra_warnings" ]
+}
+
+source_set("absl_base_cycleclock_internal") {
+ sources = [
+ "src/third_party/abseil-cpp/absl/base/internal/cycleclock_config.h",
+ "src/third_party/abseil-cpp/absl/base/internal/unscaledcycleclock_config.h",
+ ]
+ public_deps = [
+ ":absl_base_base_internal",
+ ":absl_base_config",
+ ]
+ public_configs = [ "..:grpc_absl_config" ]
+ configs -= [ "//gn/standalone:extra_warnings" ]
+}
+
+source_set("absl_base_dynamic_annotations") {
+ sources = [
+ "src/third_party/abseil-cpp/absl/base/dynamic_annotations.h",
+ "src/third_party/abseil-cpp/absl/base/internal/dynamic_annotations.h",
+ ]
+ public_deps = [
+ ":absl_base_config",
+ ":absl_base_core_headers",
+ ]
+ public_configs = [ "..:grpc_absl_config" ]
+ configs -= [ "//gn/standalone:extra_warnings" ]
+}
+
+source_set("absl_base_endian") {
+ sources = [
+ "src/third_party/abseil-cpp/absl/base/internal/endian.h",
+ "src/third_party/abseil-cpp/absl/base/internal/unaligned_access.h",
+ ]
+ public_deps = [
+ ":absl_base_base",
+ ":absl_base_config",
+ ":absl_base_core_headers",
+ ]
+ public_configs = [ "..:grpc_absl_config" ]
+ configs -= [ "//gn/standalone:extra_warnings" ]
+}
+
+source_set("absl_base_errno_saver") {
+ sources = [ "src/third_party/abseil-cpp/absl/base/internal/errno_saver.h" ]
+ public_deps = [ ":absl_base_config" ]
+ public_configs = [ "..:grpc_absl_config" ]
+ configs -= [ "//gn/standalone:extra_warnings" ]
+}
+
+source_set("absl_base_fast_type_id") {
+ sources = [ "src/third_party/abseil-cpp/absl/base/internal/fast_type_id.h" ]
+ public_deps = [ ":absl_base_config" ]
+ public_configs = [ "..:grpc_absl_config" ]
+ configs -= [ "//gn/standalone:extra_warnings" ]
+}
+
+source_set("absl_base_log_severity") {
+ sources = [
+ "src/third_party/abseil-cpp/absl/base/log_severity.cc",
+ "src/third_party/abseil-cpp/absl/base/log_severity.h",
+ ]
+ public_deps = [
+ ":absl_base_config",
+ ":absl_base_core_headers",
+ ]
+ public_configs = [ "..:grpc_absl_config" ]
+ configs -= [ "//gn/standalone:extra_warnings" ]
+}
+
+source_set("absl_base_malloc_internal") {
+ sources = [
+ "src/third_party/abseil-cpp/absl/base/internal/direct_mmap.h",
+ "src/third_party/abseil-cpp/absl/base/internal/low_level_alloc.cc",
+ "src/third_party/abseil-cpp/absl/base/internal/low_level_alloc.h",
+ ]
+ public_deps = [
+ ":absl_base_base",
+ ":absl_base_base_internal",
+ ":absl_base_config",
+ ":absl_base_core_headers",
+ ":absl_base_dynamic_annotations",
+ ":absl_base_raw_logging_internal",
+ ]
+ public_configs = [ "..:grpc_absl_config" ]
+ configs -= [ "//gn/standalone:extra_warnings" ]
+}
+
+source_set("absl_base_prefetch") {
+ sources = [ "src/third_party/abseil-cpp/absl/base/internal/prefetch.h" ]
+ public_deps = [ ":absl_base_config" ]
+ public_configs = [ "..:grpc_absl_config" ]
+ configs -= [ "//gn/standalone:extra_warnings" ]
+}
+
+source_set("absl_base_pretty_function") {
+ sources =
+ [ "src/third_party/abseil-cpp/absl/base/internal/pretty_function.h" ]
+ public_deps = []
+ public_configs = [ "..:grpc_absl_config" ]
+ configs -= [ "//gn/standalone:extra_warnings" ]
+}
+
+source_set("absl_base_raw_logging_internal") {
+ sources = [
+ "src/third_party/abseil-cpp/absl/base/internal/raw_logging.cc",
+ "src/third_party/abseil-cpp/absl/base/internal/raw_logging.h",
+ ]
+ public_deps = [
+ ":absl_base_atomic_hook",
+ ":absl_base_config",
+ ":absl_base_core_headers",
+ ":absl_base_errno_saver",
+ ":absl_base_log_severity",
+ ]
+ public_configs = [ "..:grpc_absl_config" ]
+ configs -= [ "//gn/standalone:extra_warnings" ]
+}
+
+source_set("absl_base_spinlock_wait") {
+ sources = [
+ "src/third_party/abseil-cpp/absl/base/internal/spinlock_akaros.inc",
+ "src/third_party/abseil-cpp/absl/base/internal/spinlock_linux.inc",
+ "src/third_party/abseil-cpp/absl/base/internal/spinlock_posix.inc",
+ "src/third_party/abseil-cpp/absl/base/internal/spinlock_wait.cc",
+ "src/third_party/abseil-cpp/absl/base/internal/spinlock_wait.h",
+ "src/third_party/abseil-cpp/absl/base/internal/spinlock_win32.inc",
+ ]
+ public_deps = [
+ ":absl_base_base_internal",
+ ":absl_base_core_headers",
+ ":absl_base_errno_saver",
+ ]
+ public_configs = [ "..:grpc_absl_config" ]
+ configs -= [ "//gn/standalone:extra_warnings" ]
+}
+
+source_set("absl_base_strerror") {
+ sources = [
+ "src/third_party/abseil-cpp/absl/base/internal/strerror.cc",
+ "src/third_party/abseil-cpp/absl/base/internal/strerror.h",
+ ]
+ public_deps = [
+ ":absl_base_config",
+ ":absl_base_core_headers",
+ ":absl_base_errno_saver",
+ ]
+ public_configs = [ "..:grpc_absl_config" ]
+ configs -= [ "//gn/standalone:extra_warnings" ]
+}
+
+source_set("absl_base_throw_delegate") {
+ sources = [
+ "src/third_party/abseil-cpp/absl/base/internal/throw_delegate.cc",
+ "src/third_party/abseil-cpp/absl/base/internal/throw_delegate.h",
+ ]
+ public_deps = [
+ ":absl_base_config",
+ ":absl_base_raw_logging_internal",
+ ]
+ public_configs = [ "..:grpc_absl_config" ]
+ configs -= [ "//gn/standalone:extra_warnings" ]
+}
+
+source_set("absl_cleanup_cleanup") {
+ sources = [ "src/third_party/abseil-cpp/absl/cleanup/cleanup.h" ]
+ public_deps = [
+ ":absl_base_config",
+ ":absl_base_core_headers",
+ ":absl_cleanup_cleanup_internal",
+ ]
+ public_configs = [ "..:grpc_absl_config" ]
+ configs -= [ "//gn/standalone:extra_warnings" ]
+}
+
+source_set("absl_cleanup_cleanup_internal") {
+ sources = [ "src/third_party/abseil-cpp/absl/cleanup/internal/cleanup.h" ]
+ public_deps = [
+ ":absl_base_base_internal",
+ ":absl_base_core_headers",
+ ":absl_utility_utility",
+ ]
+ public_configs = [ "..:grpc_absl_config" ]
+ configs -= [ "//gn/standalone:extra_warnings" ]
+}
+
+source_set("absl_container_btree") {
+ sources = [
+ "src/third_party/abseil-cpp/absl/container/btree_map.h",
+ "src/third_party/abseil-cpp/absl/container/btree_set.h",
+ "src/third_party/abseil-cpp/absl/container/internal/btree.h",
+ "src/third_party/abseil-cpp/absl/container/internal/btree_container.h",
+ ]
+ public_deps = [
+ ":absl_base_core_headers",
+ ":absl_base_raw_logging_internal",
+ ":absl_base_throw_delegate",
+ ":absl_container_common",
+ ":absl_container_common_policy_traits",
+ ":absl_container_compressed_tuple",
+ ":absl_container_container_memory",
+ ":absl_container_layout",
+ ":absl_memory_memory",
+ ":absl_meta_type_traits",
+ ":absl_strings_cord",
+ ":absl_strings_strings",
+ ":absl_types_compare",
+ ":absl_utility_utility",
+ ]
+ public_configs = [ "..:grpc_absl_config" ]
+ configs -= [ "//gn/standalone:extra_warnings" ]
+}
+
+source_set("absl_container_common") {
+ sources = [ "src/third_party/abseil-cpp/absl/container/internal/common.h" ]
+ public_deps = [
+ ":absl_meta_type_traits",
+ ":absl_types_optional",
+ ]
+ public_configs = [ "..:grpc_absl_config" ]
+ configs -= [ "//gn/standalone:extra_warnings" ]
+}
+
+source_set("absl_container_common_policy_traits") {
+ sources = [
+ "src/third_party/abseil-cpp/absl/container/internal/common_policy_traits.h",
+ ]
+ public_deps = [ ":absl_meta_type_traits" ]
+ public_configs = [ "..:grpc_absl_config" ]
+ configs -= [ "//gn/standalone:extra_warnings" ]
+}
+
+source_set("absl_container_compressed_tuple") {
+ sources = [
+ "src/third_party/abseil-cpp/absl/container/internal/compressed_tuple.h",
+ ]
+ public_deps = [ ":absl_utility_utility" ]
+ public_configs = [ "..:grpc_absl_config" ]
+ configs -= [ "//gn/standalone:extra_warnings" ]
+}
+
+source_set("absl_container_container_memory") {
+ sources = [
+ "src/third_party/abseil-cpp/absl/container/internal/container_memory.h",
+ ]
+ public_deps = [
+ ":absl_base_config",
+ ":absl_memory_memory",
+ ":absl_meta_type_traits",
+ ":absl_utility_utility",
+ ]
+ public_configs = [ "..:grpc_absl_config" ]
+ configs -= [ "//gn/standalone:extra_warnings" ]
+}
+
+source_set("absl_container_fixed_array") {
+ sources = [ "src/third_party/abseil-cpp/absl/container/fixed_array.h" ]
+ public_deps = [
+ ":absl_algorithm_algorithm",
+ ":absl_base_config",
+ ":absl_base_core_headers",
+ ":absl_base_dynamic_annotations",
+ ":absl_base_throw_delegate",
+ ":absl_container_compressed_tuple",
+ ":absl_memory_memory",
+ ]
+ public_configs = [ "..:grpc_absl_config" ]
+ configs -= [ "//gn/standalone:extra_warnings" ]
+}
+
+source_set("absl_container_flat_hash_map") {
+ sources = [ "src/third_party/abseil-cpp/absl/container/flat_hash_map.h" ]
+ public_deps = [
+ ":absl_algorithm_container",
+ ":absl_base_core_headers",
+ ":absl_container_container_memory",
+ ":absl_container_hash_function_defaults",
+ ":absl_container_raw_hash_map",
+ ":absl_memory_memory",
+ ]
+ public_configs = [ "..:grpc_absl_config" ]
+ configs -= [ "//gn/standalone:extra_warnings" ]
+}
+
+source_set("absl_container_flat_hash_set") {
+ sources = [ "src/third_party/abseil-cpp/absl/container/flat_hash_set.h" ]
+ public_deps = [
+ ":absl_algorithm_container",
+ ":absl_base_core_headers",
+ ":absl_container_container_memory",
+ ":absl_container_hash_function_defaults",
+ ":absl_container_raw_hash_set",
+ ":absl_memory_memory",
+ ]
+ public_configs = [ "..:grpc_absl_config" ]
+ configs -= [ "//gn/standalone:extra_warnings" ]
+}
+
+source_set("absl_container_hash_function_defaults") {
+ sources = [ "src/third_party/abseil-cpp/absl/container/internal/hash_function_defaults.h" ]
+ public_deps = [
+ ":absl_base_config",
+ ":absl_hash_hash",
+ ":absl_strings_cord",
+ ":absl_strings_strings",
+ ]
+ public_configs = [ "..:grpc_absl_config" ]
+ configs -= [ "//gn/standalone:extra_warnings" ]
+}
+
+source_set("absl_container_hash_policy_traits") {
+ sources = [
+ "src/third_party/abseil-cpp/absl/container/internal/hash_policy_traits.h",
+ ]
+ public_deps = [
+ ":absl_container_common_policy_traits",
+ ":absl_meta_type_traits",
+ ]
+ public_configs = [ "..:grpc_absl_config" ]
+ configs -= [ "//gn/standalone:extra_warnings" ]
+}
+
+source_set("absl_container_hashtable_debug") {
+ sources =
+ [ "src/third_party/abseil-cpp/absl/container/internal/hashtable_debug.h" ]
+ public_deps = [ ":absl_container_hashtable_debug_hooks" ]
+ public_configs = [ "..:grpc_absl_config" ]
+ configs -= [ "//gn/standalone:extra_warnings" ]
+}
+
+source_set("absl_container_hashtable_debug_hooks") {
+ sources = [ "src/third_party/abseil-cpp/absl/container/internal/hashtable_debug_hooks.h" ]
+ public_deps = [ ":absl_base_config" ]
+ public_configs = [ "..:grpc_absl_config" ]
+ configs -= [ "//gn/standalone:extra_warnings" ]
+}
+
+source_set("absl_container_hashtablez_sampler") {
+ sources = [
+ "src/third_party/abseil-cpp/absl/container/internal/hashtablez_sampler.cc",
+ "src/third_party/abseil-cpp/absl/container/internal/hashtablez_sampler.h",
+ "src/third_party/abseil-cpp/absl/container/internal/hashtablez_sampler_force_weak_definition.cc",
+ ]
+ public_deps = [
+ ":absl_base_base",
+ ":absl_base_config",
+ ":absl_base_core_headers",
+ ":absl_debugging_stacktrace",
+ ":absl_memory_memory",
+ ":absl_profiling_exponential_biased",
+ ":absl_profiling_sample_recorder",
+ ":absl_synchronization_synchronization",
+ ":absl_utility_utility",
+ ]
+ public_configs = [ "..:grpc_absl_config" ]
+ configs -= [ "//gn/standalone:extra_warnings" ]
+}
+
+source_set("absl_container_inlined_vector") {
+ sources = [ "src/third_party/abseil-cpp/absl/container/inlined_vector.h" ]
+ public_deps = [
+ ":absl_algorithm_algorithm",
+ ":absl_base_core_headers",
+ ":absl_base_throw_delegate",
+ ":absl_container_inlined_vector_internal",
+ ":absl_memory_memory",
+ ":absl_meta_type_traits",
+ ]
+ public_configs = [ "..:grpc_absl_config" ]
+ configs -= [ "//gn/standalone:extra_warnings" ]
+}
+
+source_set("absl_container_inlined_vector_internal") {
+ sources =
+ [ "src/third_party/abseil-cpp/absl/container/internal/inlined_vector.h" ]
+ public_deps = [
+ ":absl_base_core_headers",
+ ":absl_container_compressed_tuple",
+ ":absl_memory_memory",
+ ":absl_meta_type_traits",
+ ":absl_types_span",
+ ]
+ public_configs = [ "..:grpc_absl_config" ]
+ configs -= [ "//gn/standalone:extra_warnings" ]
+}
+
+source_set("absl_container_layout") {
+ sources = [ "src/third_party/abseil-cpp/absl/container/internal/layout.h" ]
+ public_deps = [
+ ":absl_base_config",
+ ":absl_base_core_headers",
+ ":absl_meta_type_traits",
+ ":absl_strings_strings",
+ ":absl_types_span",
+ ":absl_utility_utility",
+ ]
+ public_configs = [ "..:grpc_absl_config" ]
+ configs -= [ "//gn/standalone:extra_warnings" ]
+}
+
+source_set("absl_container_node_hash_map") {
+ sources = [ "src/third_party/abseil-cpp/absl/container/node_hash_map.h" ]
+ public_deps = [
+ ":absl_algorithm_container",
+ ":absl_base_core_headers",
+ ":absl_container_container_memory",
+ ":absl_container_hash_function_defaults",
+ ":absl_container_node_slot_policy",
+ ":absl_container_raw_hash_map",
+ ":absl_memory_memory",
+ ]
+ public_configs = [ "..:grpc_absl_config" ]
+ configs -= [ "//gn/standalone:extra_warnings" ]
+}
+
+source_set("absl_container_node_hash_set") {
+ sources = [ "src/third_party/abseil-cpp/absl/container/node_hash_set.h" ]
+ public_deps = [
+ ":absl_algorithm_container",
+ ":absl_base_core_headers",
+ ":absl_container_hash_function_defaults",
+ ":absl_container_node_slot_policy",
+ ":absl_container_raw_hash_set",
+ ":absl_memory_memory",
+ ]
+ public_configs = [ "..:grpc_absl_config" ]
+ configs -= [ "//gn/standalone:extra_warnings" ]
+}
+
+source_set("absl_container_node_slot_policy") {
+ sources = [
+ "src/third_party/abseil-cpp/absl/container/internal/node_slot_policy.h",
+ ]
+ public_deps = [ ":absl_base_config" ]
+ public_configs = [ "..:grpc_absl_config" ]
+ configs -= [ "//gn/standalone:extra_warnings" ]
+}
+
+source_set("absl_container_raw_hash_map") {
+ sources =
+ [ "src/third_party/abseil-cpp/absl/container/internal/raw_hash_map.h" ]
+ public_deps = [
+ ":absl_base_throw_delegate",
+ ":absl_container_container_memory",
+ ":absl_container_raw_hash_set",
+ ]
+ public_configs = [ "..:grpc_absl_config" ]
+ configs -= [ "//gn/standalone:extra_warnings" ]
+}
+
+source_set("absl_container_raw_hash_set") {
+ sources = [
+ "src/third_party/abseil-cpp/absl/container/internal/raw_hash_set.cc",
+ "src/third_party/abseil-cpp/absl/container/internal/raw_hash_set.h",
+ ]
+ public_deps = [
+ ":absl_base_config",
+ ":absl_base_core_headers",
+ ":absl_base_endian",
+ ":absl_base_prefetch",
+ ":absl_base_raw_logging_internal",
+ ":absl_container_common",
+ ":absl_container_compressed_tuple",
+ ":absl_container_container_memory",
+ ":absl_container_hash_policy_traits",
+ ":absl_container_hashtable_debug_hooks",
+ ":absl_container_hashtablez_sampler",
+ ":absl_memory_memory",
+ ":absl_meta_type_traits",
+ ":absl_numeric_bits",
+ ":absl_utility_utility",
+ ]
+ public_configs = [ "..:grpc_absl_config" ]
+ configs -= [ "//gn/standalone:extra_warnings" ]
+}
+
+source_set("absl_crc_cpu_detect") {
+ sources = [
+ "src/third_party/abseil-cpp/absl/crc/internal/cpu_detect.cc",
+ "src/third_party/abseil-cpp/absl/crc/internal/cpu_detect.h",
+ ]
+ public_deps = [
+ ":absl_base_base",
+ ":absl_base_config",
+ ]
+ public_configs = [ "..:grpc_absl_config" ]
+ configs -= [ "//gn/standalone:extra_warnings" ]
+}
+
+source_set("absl_crc_crc32c") {
+ sources = [
+ "src/third_party/abseil-cpp/absl/crc/crc32c.cc",
+ "src/third_party/abseil-cpp/absl/crc/crc32c.h",
+ "src/third_party/abseil-cpp/absl/crc/internal/crc32c.h",
+ "src/third_party/abseil-cpp/absl/crc/internal/crc32c_inline.h",
+ "src/third_party/abseil-cpp/absl/crc/internal/crc_memcpy.h",
+ "src/third_party/abseil-cpp/absl/crc/internal/crc_memcpy_fallback.cc",
+ "src/third_party/abseil-cpp/absl/crc/internal/crc_memcpy_x86_64.cc",
+ "src/third_party/abseil-cpp/absl/crc/internal/crc_non_temporal_memcpy.cc",
+ ]
+ public_deps = [
+ ":absl_base_config",
+ ":absl_base_core_headers",
+ ":absl_base_dynamic_annotations",
+ ":absl_base_endian",
+ ":absl_base_prefetch",
+ ":absl_crc_cpu_detect",
+ ":absl_crc_crc_internal",
+ ":absl_crc_non_temporal_memcpy",
+ ":absl_strings_strings",
+ ]
+ public_configs = [ "..:grpc_absl_config" ]
+ configs -= [ "//gn/standalone:extra_warnings" ]
+}
+
+source_set("absl_crc_crc_cord_state") {
+ sources = [
+ "src/third_party/abseil-cpp/absl/crc/internal/crc_cord_state.cc",
+ "src/third_party/abseil-cpp/absl/crc/internal/crc_cord_state.h",
+ ]
+ public_deps = [
+ ":absl_base_config",
+ ":absl_crc_crc32c",
+ ":absl_numeric_bits",
+ ":absl_strings_strings",
+ ]
+ public_configs = [ "..:grpc_absl_config" ]
+ configs -= [ "//gn/standalone:extra_warnings" ]
+}
+
+source_set("absl_crc_crc_internal") {
+ sources = [
+ "src/third_party/abseil-cpp/absl/crc/internal/crc.cc",
+ "src/third_party/abseil-cpp/absl/crc/internal/crc.h",
+ "src/third_party/abseil-cpp/absl/crc/internal/crc32_x86_arm_combined_simd.h",
+ "src/third_party/abseil-cpp/absl/crc/internal/crc_internal.h",
+ "src/third_party/abseil-cpp/absl/crc/internal/crc_x86_arm_combined.cc",
+ ]
+ public_deps = [
+ ":absl_base_base",
+ ":absl_base_config",
+ ":absl_base_core_headers",
+ ":absl_base_dynamic_annotations",
+ ":absl_base_endian",
+ ":absl_base_prefetch",
+ ":absl_base_raw_logging_internal",
+ ":absl_crc_cpu_detect",
+ ":absl_memory_memory",
+ ":absl_numeric_bits",
+ ]
+ public_configs = [ "..:grpc_absl_config" ]
+ configs -= [ "//gn/standalone:extra_warnings" ]
+}
+
+source_set("absl_crc_non_temporal_arm_intrinsics") {
+ sources = [ "src/third_party/abseil-cpp/absl/crc/internal/non_temporal_arm_intrinsics.h" ]
+ public_deps = [ ":absl_base_config" ]
+ public_configs = [ "..:grpc_absl_config" ]
+ configs -= [ "//gn/standalone:extra_warnings" ]
+}
+
+source_set("absl_crc_non_temporal_memcpy") {
+ sources =
+ [ "src/third_party/abseil-cpp/absl/crc/internal/non_temporal_memcpy.h" ]
+ public_deps = [
+ ":absl_base_config",
+ ":absl_base_core_headers",
+ ":absl_crc_non_temporal_arm_intrinsics",
+ ]
+ public_configs = [ "..:grpc_absl_config" ]
+ configs -= [ "//gn/standalone:extra_warnings" ]
+}
+
+source_set("absl_debugging_debugging_internal") {
+ sources = [
+ "src/third_party/abseil-cpp/absl/debugging/internal/address_is_readable.cc",
+ "src/third_party/abseil-cpp/absl/debugging/internal/address_is_readable.h",
+ "src/third_party/abseil-cpp/absl/debugging/internal/elf_mem_image.cc",
+ "src/third_party/abseil-cpp/absl/debugging/internal/elf_mem_image.h",
+ "src/third_party/abseil-cpp/absl/debugging/internal/vdso_support.cc",
+ "src/third_party/abseil-cpp/absl/debugging/internal/vdso_support.h",
+ ]
+ public_deps = [
+ ":absl_base_config",
+ ":absl_base_core_headers",
+ ":absl_base_dynamic_annotations",
+ ":absl_base_errno_saver",
+ ":absl_base_raw_logging_internal",
+ ]
+ public_configs = [ "..:grpc_absl_config" ]
+ configs -= [ "//gn/standalone:extra_warnings" ]
+}
+
+source_set("absl_debugging_demangle_internal") {
+ sources = [
+ "src/third_party/abseil-cpp/absl/debugging/internal/demangle.cc",
+ "src/third_party/abseil-cpp/absl/debugging/internal/demangle.h",
+ ]
+ public_deps = [
+ ":absl_base_base",
+ ":absl_base_config",
+ ":absl_base_core_headers",
+ ]
+ public_configs = [ "..:grpc_absl_config" ]
+ configs -= [ "//gn/standalone:extra_warnings" ]
+}
+
+source_set("absl_debugging_examine_stack") {
+ sources = [
+ "src/third_party/abseil-cpp/absl/debugging/internal/examine_stack.cc",
+ "src/third_party/abseil-cpp/absl/debugging/internal/examine_stack.h",
+ ]
+ public_deps = [
+ ":absl_base_config",
+ ":absl_base_core_headers",
+ ":absl_base_raw_logging_internal",
+ ":absl_debugging_stacktrace",
+ ":absl_debugging_symbolize",
+ ]
+ public_configs = [ "..:grpc_absl_config" ]
+ configs -= [ "//gn/standalone:extra_warnings" ]
+}
+
+source_set("absl_debugging_failure_signal_handler") {
+ sources = [
+ "src/third_party/abseil-cpp/absl/debugging/failure_signal_handler.cc",
+ "src/third_party/abseil-cpp/absl/debugging/failure_signal_handler.h",
+ ]
+ public_deps = [
+ ":absl_base_base",
+ ":absl_base_config",
+ ":absl_base_core_headers",
+ ":absl_base_raw_logging_internal",
+ ":absl_debugging_examine_stack",
+ ":absl_debugging_stacktrace",
+ ]
+ public_configs = [ "..:grpc_absl_config" ]
+ configs -= [ "//gn/standalone:extra_warnings" ]
+}
+
+source_set("absl_debugging_leak_check") {
+ sources = [
+ "src/third_party/abseil-cpp/absl/debugging/leak_check.cc",
+ "src/third_party/abseil-cpp/absl/debugging/leak_check.h",
+ ]
+ public_deps = [
+ ":absl_base_config",
+ ":absl_base_core_headers",
+ ]
+ public_configs = [ "..:grpc_absl_config" ]
+ configs -= [ "//gn/standalone:extra_warnings" ]
+}
+
+source_set("absl_debugging_stacktrace") {
+ sources = [
+ "src/third_party/abseil-cpp/absl/debugging/internal/stacktrace_aarch64-inl.inc",
+ "src/third_party/abseil-cpp/absl/debugging/internal/stacktrace_arm-inl.inc",
+ "src/third_party/abseil-cpp/absl/debugging/internal/stacktrace_config.h",
+ "src/third_party/abseil-cpp/absl/debugging/internal/stacktrace_emscripten-inl.inc",
+ "src/third_party/abseil-cpp/absl/debugging/internal/stacktrace_generic-inl.inc",
+ "src/third_party/abseil-cpp/absl/debugging/internal/stacktrace_powerpc-inl.inc",
+ "src/third_party/abseil-cpp/absl/debugging/internal/stacktrace_riscv-inl.inc",
+ "src/third_party/abseil-cpp/absl/debugging/internal/stacktrace_unimplemented-inl.inc",
+ "src/third_party/abseil-cpp/absl/debugging/internal/stacktrace_win32-inl.inc",
+ "src/third_party/abseil-cpp/absl/debugging/internal/stacktrace_x86-inl.inc",
+ "src/third_party/abseil-cpp/absl/debugging/stacktrace.cc",
+ "src/third_party/abseil-cpp/absl/debugging/stacktrace.h",
+ ]
+ public_deps = [
+ ":absl_base_config",
+ ":absl_base_core_headers",
+ ":absl_base_raw_logging_internal",
+ ":absl_debugging_debugging_internal",
+ ]
+ public_configs = [ "..:grpc_absl_config" ]
+ configs -= [ "//gn/standalone:extra_warnings" ]
+}
+
+source_set("absl_debugging_symbolize") {
+ sources = [
+ "src/third_party/abseil-cpp/absl/debugging/internal/symbolize.h",
+ "src/third_party/abseil-cpp/absl/debugging/symbolize.cc",
+ "src/third_party/abseil-cpp/absl/debugging/symbolize.h",
+ "src/third_party/abseil-cpp/absl/debugging/symbolize_darwin.inc",
+ "src/third_party/abseil-cpp/absl/debugging/symbolize_elf.inc",
+ "src/third_party/abseil-cpp/absl/debugging/symbolize_emscripten.inc",
+ "src/third_party/abseil-cpp/absl/debugging/symbolize_unimplemented.inc",
+ "src/third_party/abseil-cpp/absl/debugging/symbolize_win32.inc",
+ ]
+ public_deps = [
+ ":absl_base_base",
+ ":absl_base_config",
+ ":absl_base_core_headers",
+ ":absl_base_dynamic_annotations",
+ ":absl_base_malloc_internal",
+ ":absl_base_raw_logging_internal",
+ ":absl_debugging_debugging_internal",
+ ":absl_debugging_demangle_internal",
+ ":absl_strings_strings",
+ ]
+ public_configs = [ "..:grpc_absl_config" ]
+ configs -= [ "//gn/standalone:extra_warnings" ]
+}
+
+source_set("absl_flags_commandlineflag") {
+ sources = [
+ "src/third_party/abseil-cpp/absl/flags/commandlineflag.cc",
+ "src/third_party/abseil-cpp/absl/flags/commandlineflag.h",
+ ]
+ public_deps = [
+ ":absl_base_config",
+ ":absl_base_fast_type_id",
+ ":absl_flags_commandlineflag_internal",
+ ":absl_strings_strings",
+ ":absl_types_optional",
+ ]
+ public_configs = [ "..:grpc_absl_config" ]
+ configs -= [ "//gn/standalone:extra_warnings" ]
+}
+
+source_set("absl_flags_commandlineflag_internal") {
+ sources = [
+ "src/third_party/abseil-cpp/absl/flags/internal/commandlineflag.cc",
+ "src/third_party/abseil-cpp/absl/flags/internal/commandlineflag.h",
+ ]
+ public_deps = [
+ ":absl_base_config",
+ ":absl_base_fast_type_id",
+ ]
+ public_configs = [ "..:grpc_absl_config" ]
+ configs -= [ "//gn/standalone:extra_warnings" ]
+}
+
+source_set("absl_flags_config") {
+ sources = [
+ "src/third_party/abseil-cpp/absl/flags/config.h",
+ "src/third_party/abseil-cpp/absl/flags/usage_config.cc",
+ "src/third_party/abseil-cpp/absl/flags/usage_config.h",
+ ]
+ public_deps = [
+ ":absl_base_config",
+ ":absl_base_core_headers",
+ ":absl_flags_path_util",
+ ":absl_flags_program_name",
+ ":absl_strings_strings",
+ ":absl_synchronization_synchronization",
+ ]
+ public_configs = [ "..:grpc_absl_config" ]
+ configs -= [ "//gn/standalone:extra_warnings" ]
+}
+
+source_set("absl_flags_flag") {
+ sources = [
+ "src/third_party/abseil-cpp/absl/flags/declare.h",
+ "src/third_party/abseil-cpp/absl/flags/flag.cc",
+ "src/third_party/abseil-cpp/absl/flags/flag.h",
+ "src/third_party/abseil-cpp/absl/flags/internal/flag_msvc.inc",
+ ]
+ public_deps = [
+ ":absl_base_base",
+ ":absl_base_config",
+ ":absl_base_core_headers",
+ ":absl_flags_config",
+ ":absl_flags_flag_internal",
+ ":absl_flags_reflection",
+ ":absl_strings_strings",
+ ]
+ public_configs = [ "..:grpc_absl_config" ]
+ configs -= [ "//gn/standalone:extra_warnings" ]
+}
+
+source_set("absl_flags_flag_internal") {
+ sources = [
+ "src/third_party/abseil-cpp/absl/flags/internal/flag.cc",
+ "src/third_party/abseil-cpp/absl/flags/internal/flag.h",
+ "src/third_party/abseil-cpp/absl/flags/internal/sequence_lock.h",
+ ]
+ public_deps = [
+ ":absl_base_base",
+ ":absl_base_config",
+ ":absl_base_core_headers",
+ ":absl_base_dynamic_annotations",
+ ":absl_flags_commandlineflag",
+ ":absl_flags_commandlineflag_internal",
+ ":absl_flags_config",
+ ":absl_flags_marshalling",
+ ":absl_flags_reflection",
+ ":absl_memory_memory",
+ ":absl_meta_type_traits",
+ ":absl_strings_strings",
+ ":absl_synchronization_synchronization",
+ ":absl_utility_utility",
+ ]
+ public_configs = [ "..:grpc_absl_config" ]
+ configs -= [ "//gn/standalone:extra_warnings" ]
+}
+
+source_set("absl_flags_marshalling") {
+ sources = [
+ "src/third_party/abseil-cpp/absl/flags/marshalling.cc",
+ "src/third_party/abseil-cpp/absl/flags/marshalling.h",
+ ]
+ public_deps = [
+ ":absl_base_config",
+ ":absl_base_core_headers",
+ ":absl_base_log_severity",
+ ":absl_strings_str_format",
+ ":absl_strings_strings",
+ ":absl_types_optional",
+ ]
+ public_configs = [ "..:grpc_absl_config" ]
+ configs -= [ "//gn/standalone:extra_warnings" ]
+}
+
+source_set("absl_flags_parse") {
+ sources = [
+ "src/third_party/abseil-cpp/absl/flags/internal/parse.h",
+ "src/third_party/abseil-cpp/absl/flags/parse.cc",
+ "src/third_party/abseil-cpp/absl/flags/parse.h",
+ ]
+ public_deps = [
+ ":absl_algorithm_container",
+ ":absl_base_config",
+ ":absl_base_core_headers",
+ ":absl_flags_commandlineflag",
+ ":absl_flags_commandlineflag_internal",
+ ":absl_flags_config",
+ ":absl_flags_flag",
+ ":absl_flags_flag_internal",
+ ":absl_flags_private_handle_accessor",
+ ":absl_flags_program_name",
+ ":absl_flags_reflection",
+ ":absl_flags_usage",
+ ":absl_flags_usage_internal",
+ ":absl_strings_strings",
+ ":absl_synchronization_synchronization",
+ ]
+ public_configs = [ "..:grpc_absl_config" ]
+ configs -= [ "//gn/standalone:extra_warnings" ]
+}
+
+source_set("absl_flags_path_util") {
+ sources = [ "src/third_party/abseil-cpp/absl/flags/internal/path_util.h" ]
+ public_deps = [
+ ":absl_base_config",
+ ":absl_strings_strings",
+ ]
+ public_configs = [ "..:grpc_absl_config" ]
+ configs -= [ "//gn/standalone:extra_warnings" ]
+}
+
+source_set("absl_flags_private_handle_accessor") {
+ sources = [
+ "src/third_party/abseil-cpp/absl/flags/internal/private_handle_accessor.cc",
+ "src/third_party/abseil-cpp/absl/flags/internal/private_handle_accessor.h",
+ ]
+ public_deps = [
+ ":absl_base_config",
+ ":absl_flags_commandlineflag",
+ ":absl_flags_commandlineflag_internal",
+ ":absl_strings_strings",
+ ]
+ public_configs = [ "..:grpc_absl_config" ]
+ configs -= [ "//gn/standalone:extra_warnings" ]
+}
+
+source_set("absl_flags_program_name") {
+ sources = [
+ "src/third_party/abseil-cpp/absl/flags/internal/program_name.cc",
+ "src/third_party/abseil-cpp/absl/flags/internal/program_name.h",
+ ]
+ public_deps = [
+ ":absl_base_config",
+ ":absl_base_core_headers",
+ ":absl_flags_path_util",
+ ":absl_strings_strings",
+ ":absl_synchronization_synchronization",
+ ]
+ public_configs = [ "..:grpc_absl_config" ]
+ configs -= [ "//gn/standalone:extra_warnings" ]
+}
+
+source_set("absl_flags_reflection") {
+ sources = [
+ "src/third_party/abseil-cpp/absl/flags/internal/registry.h",
+ "src/third_party/abseil-cpp/absl/flags/reflection.cc",
+ "src/third_party/abseil-cpp/absl/flags/reflection.h",
+ ]
+ public_deps = [
+ ":absl_base_config",
+ ":absl_base_core_headers",
+ ":absl_container_flat_hash_map",
+ ":absl_flags_commandlineflag",
+ ":absl_flags_commandlineflag_internal",
+ ":absl_flags_config",
+ ":absl_flags_private_handle_accessor",
+ ":absl_strings_strings",
+ ":absl_synchronization_synchronization",
+ ]
+ public_configs = [ "..:grpc_absl_config" ]
+ configs -= [ "//gn/standalone:extra_warnings" ]
+}
+
+source_set("absl_flags_usage") {
+ sources = [
+ "src/third_party/abseil-cpp/absl/flags/usage.cc",
+ "src/third_party/abseil-cpp/absl/flags/usage.h",
+ ]
+ public_deps = [
+ ":absl_base_config",
+ ":absl_base_core_headers",
+ ":absl_flags_usage_internal",
+ ":absl_strings_strings",
+ ":absl_synchronization_synchronization",
+ ]
+ public_configs = [ "..:grpc_absl_config" ]
+ configs -= [ "//gn/standalone:extra_warnings" ]
+}
+
+source_set("absl_flags_usage_internal") {
+ sources = [
+ "src/third_party/abseil-cpp/absl/flags/internal/usage.cc",
+ "src/third_party/abseil-cpp/absl/flags/internal/usage.h",
+ ]
+ public_deps = [
+ ":absl_base_config",
+ ":absl_base_core_headers",
+ ":absl_container_flat_hash_map",
+ ":absl_flags_commandlineflag",
+ ":absl_flags_config",
+ ":absl_flags_flag",
+ ":absl_flags_flag_internal",
+ ":absl_flags_path_util",
+ ":absl_flags_private_handle_accessor",
+ ":absl_flags_program_name",
+ ":absl_flags_reflection",
+ ":absl_strings_strings",
+ ]
+ public_configs = [ "..:grpc_absl_config" ]
+ configs -= [ "//gn/standalone:extra_warnings" ]
+}
+
+source_set("absl_functional_any_invocable") {
+ sources = [
+ "src/third_party/abseil-cpp/absl/functional/any_invocable.h",
+ "src/third_party/abseil-cpp/absl/functional/internal/any_invocable.h",
+ ]
+ public_deps = [
+ ":absl_base_base_internal",
+ ":absl_base_config",
+ ":absl_base_core_headers",
+ ":absl_meta_type_traits",
+ ":absl_utility_utility",
+ ]
+ public_configs = [ "..:grpc_absl_config" ]
+ configs -= [ "//gn/standalone:extra_warnings" ]
+}
+
+source_set("absl_functional_bind_front") {
+ sources = [
+ "src/third_party/abseil-cpp/absl/functional/bind_front.h",
+ "src/third_party/abseil-cpp/absl/functional/internal/front_binder.h",
+ ]
+ public_deps = [
+ ":absl_base_base_internal",
+ ":absl_container_compressed_tuple",
+ ":absl_meta_type_traits",
+ ":absl_utility_utility",
+ ]
+ public_configs = [ "..:grpc_absl_config" ]
+ configs -= [ "//gn/standalone:extra_warnings" ]
+}
+
+source_set("absl_functional_function_ref") {
+ sources = [
+ "src/third_party/abseil-cpp/absl/functional/function_ref.h",
+ "src/third_party/abseil-cpp/absl/functional/internal/function_ref.h",
+ ]
+ public_deps = [
+ ":absl_base_base_internal",
+ ":absl_base_core_headers",
+ ":absl_meta_type_traits",
+ ]
+ public_configs = [ "..:grpc_absl_config" ]
+ configs -= [ "//gn/standalone:extra_warnings" ]
+}
+
+source_set("absl_hash_city") {
+ sources = [
+ "src/third_party/abseil-cpp/absl/hash/internal/city.cc",
+ "src/third_party/abseil-cpp/absl/hash/internal/city.h",
+ ]
+ public_deps = [
+ ":absl_base_config",
+ ":absl_base_core_headers",
+ ":absl_base_endian",
+ ]
+ public_configs = [ "..:grpc_absl_config" ]
+ configs -= [ "//gn/standalone:extra_warnings" ]
+}
+
+source_set("absl_hash_hash") {
+ sources = [
+ "src/third_party/abseil-cpp/absl/hash/hash.h",
+ "src/third_party/abseil-cpp/absl/hash/internal/hash.cc",
+ "src/third_party/abseil-cpp/absl/hash/internal/hash.h",
+ ]
+ public_deps = [
+ ":absl_base_config",
+ ":absl_base_core_headers",
+ ":absl_base_endian",
+ ":absl_container_fixed_array",
+ ":absl_functional_function_ref",
+ ":absl_hash_city",
+ ":absl_hash_low_level_hash",
+ ":absl_meta_type_traits",
+ ":absl_numeric_bits",
+ ":absl_numeric_int128",
+ ":absl_strings_strings",
+ ":absl_types_optional",
+ ":absl_types_variant",
+ ":absl_utility_utility",
+ ]
+ public_configs = [ "..:grpc_absl_config" ]
+ configs -= [ "//gn/standalone:extra_warnings" ]
+}
+
+source_set("absl_hash_low_level_hash") {
+ sources = [
+ "src/third_party/abseil-cpp/absl/hash/internal/low_level_hash.cc",
+ "src/third_party/abseil-cpp/absl/hash/internal/low_level_hash.h",
+ ]
+ public_deps = [
+ ":absl_base_config",
+ ":absl_base_endian",
+ ":absl_numeric_int128",
+ ]
+ public_configs = [ "..:grpc_absl_config" ]
+ configs -= [ "//gn/standalone:extra_warnings" ]
+}
+
+source_set("absl_log_internal_append_truncated") {
+ sources =
+ [ "src/third_party/abseil-cpp/absl/log/internal/append_truncated.h" ]
+ public_deps = [
+ ":absl_base_config",
+ ":absl_strings_strings",
+ ":absl_types_span",
+ ]
+ public_configs = [ "..:grpc_absl_config" ]
+ configs -= [ "//gn/standalone:extra_warnings" ]
+}
+
+source_set("absl_log_internal_check_impl") {
+ sources = [ "src/third_party/abseil-cpp/absl/log/internal/check_impl.h" ]
+ public_deps = [
+ ":absl_base_core_headers",
+ ":absl_log_internal_check_op",
+ ":absl_log_internal_conditions",
+ ":absl_log_internal_log_message",
+ ":absl_log_internal_strip",
+ ]
+ public_configs = [ "..:grpc_absl_config" ]
+ configs -= [ "//gn/standalone:extra_warnings" ]
+}
+
+source_set("absl_log_internal_check_op") {
+ sources = [
+ "src/third_party/abseil-cpp/absl/log/internal/check_op.cc",
+ "src/third_party/abseil-cpp/absl/log/internal/check_op.h",
+ ]
+ public_deps = [
+ ":absl_base_config",
+ ":absl_base_core_headers",
+ ":absl_log_internal_nullguard",
+ ":absl_log_internal_nullstream",
+ ":absl_log_internal_strip",
+ ":absl_strings_strings",
+ ]
+ public_configs = [ "..:grpc_absl_config" ]
+ configs -= [ "//gn/standalone:extra_warnings" ]
+}
+
+source_set("absl_log_internal_conditions") {
+ sources = [
+ "src/third_party/abseil-cpp/absl/log/internal/conditions.cc",
+ "src/third_party/abseil-cpp/absl/log/internal/conditions.h",
+ ]
+ public_deps = [
+ ":absl_base_base",
+ ":absl_base_config",
+ ":absl_base_core_headers",
+ ":absl_log_internal_voidify",
+ ]
+ public_configs = [ "..:grpc_absl_config" ]
+ configs -= [ "//gn/standalone:extra_warnings" ]
+}
+
+source_set("absl_log_internal_config") {
+ sources = [ "src/third_party/abseil-cpp/absl/log/internal/config.h" ]
+ public_deps = [
+ ":absl_base_config",
+ ":absl_base_core_headers",
+ ]
+ public_configs = [ "..:grpc_absl_config" ]
+ configs -= [ "//gn/standalone:extra_warnings" ]
+}
+
+source_set("absl_log_internal_flags") {
+ sources = [ "src/third_party/abseil-cpp/absl/log/internal/flags.h" ]
+ public_deps = [ ":absl_flags_flag" ]
+ public_configs = [ "..:grpc_absl_config" ]
+ configs -= [ "//gn/standalone:extra_warnings" ]
+}
+
+source_set("absl_log_internal_format") {
+ sources = [
+ "src/third_party/abseil-cpp/absl/log/internal/log_format.cc",
+ "src/third_party/abseil-cpp/absl/log/internal/log_format.h",
+ ]
+ public_deps = [
+ ":absl_base_config",
+ ":absl_base_core_headers",
+ ":absl_base_log_severity",
+ ":absl_log_internal_append_truncated",
+ ":absl_log_internal_config",
+ ":absl_log_internal_globals",
+ ":absl_strings_str_format",
+ ":absl_strings_strings",
+ ":absl_time_time",
+ ":absl_types_span",
+ ]
+ public_configs = [ "..:grpc_absl_config" ]
+ configs -= [ "//gn/standalone:extra_warnings" ]
+}
+
+source_set("absl_log_internal_globals") {
+ sources = [
+ "src/third_party/abseil-cpp/absl/log/internal/globals.cc",
+ "src/third_party/abseil-cpp/absl/log/internal/globals.h",
+ ]
+ public_deps = [
+ ":absl_base_config",
+ ":absl_base_core_headers",
+ ":absl_base_log_severity",
+ ":absl_base_raw_logging_internal",
+ ":absl_strings_strings",
+ ":absl_time_time",
+ ]
+ public_configs = [ "..:grpc_absl_config" ]
+ configs -= [ "//gn/standalone:extra_warnings" ]
+}
+
+source_set("absl_log_internal_log_impl") {
+ sources = [ "src/third_party/abseil-cpp/absl/log/internal/log_impl.h" ]
+ public_deps = [
+ ":absl_log_internal_conditions",
+ ":absl_log_internal_log_message",
+ ":absl_log_internal_strip",
+ ]
+ public_configs = [ "..:grpc_absl_config" ]
+ configs -= [ "//gn/standalone:extra_warnings" ]
+}
+
+source_set("absl_log_internal_log_message") {
+ sources = [
+ "src/third_party/abseil-cpp/absl/log/internal/log_message.cc",
+ "src/third_party/abseil-cpp/absl/log/internal/log_message.h",
+ ]
+ public_deps = [
+ ":absl_base_base",
+ ":absl_base_config",
+ ":absl_base_core_headers",
+ ":absl_base_errno_saver",
+ ":absl_base_log_severity",
+ ":absl_base_raw_logging_internal",
+ ":absl_base_strerror",
+ ":absl_container_inlined_vector",
+ ":absl_debugging_examine_stack",
+ ":absl_log_globals",
+ ":absl_log_internal_append_truncated",
+ ":absl_log_internal_format",
+ ":absl_log_internal_globals",
+ ":absl_log_internal_log_sink_set",
+ ":absl_log_internal_nullguard",
+ ":absl_log_internal_proto",
+ ":absl_log_log_entry",
+ ":absl_log_log_sink",
+ ":absl_log_log_sink_registry",
+ ":absl_memory_memory",
+ ":absl_strings_strings",
+ ":absl_time_time",
+ ":absl_types_span",
+ ]
+ public_configs = [ "..:grpc_absl_config" ]
+ configs -= [ "//gn/standalone:extra_warnings" ]
+}
+
+source_set("absl_log_internal_log_sink_set") {
+ sources = [
+ "src/third_party/abseil-cpp/absl/log/internal/log_sink_set.cc",
+ "src/third_party/abseil-cpp/absl/log/internal/log_sink_set.h",
+ ]
+ public_deps = [
+ ":absl_base_base",
+ ":absl_base_config",
+ ":absl_base_core_headers",
+ ":absl_base_log_severity",
+ ":absl_base_raw_logging_internal",
+ ":absl_cleanup_cleanup",
+ ":absl_log_globals",
+ ":absl_log_internal_config",
+ ":absl_log_internal_globals",
+ ":absl_log_log_entry",
+ ":absl_log_log_sink",
+ ":absl_strings_strings",
+ ":absl_synchronization_synchronization",
+ ":absl_types_span",
+ ]
+ public_configs = [ "..:grpc_absl_config" ]
+ configs -= [ "//gn/standalone:extra_warnings" ]
+}
+
+source_set("absl_log_internal_nullguard") {
+ sources = [
+ "src/third_party/abseil-cpp/absl/log/internal/nullguard.cc",
+ "src/third_party/abseil-cpp/absl/log/internal/nullguard.h",
+ ]
+ public_deps = [
+ ":absl_base_config",
+ ":absl_base_core_headers",
+ ]
+ public_configs = [ "..:grpc_absl_config" ]
+ configs -= [ "//gn/standalone:extra_warnings" ]
+}
+
+source_set("absl_log_internal_nullstream") {
+ sources = [ "src/third_party/abseil-cpp/absl/log/internal/nullstream.h" ]
+ public_deps = [
+ ":absl_base_config",
+ ":absl_base_core_headers",
+ ":absl_base_log_severity",
+ ":absl_strings_strings",
+ ]
+ public_configs = [ "..:grpc_absl_config" ]
+ configs -= [ "//gn/standalone:extra_warnings" ]
+}
+
+source_set("absl_log_internal_proto") {
+ sources = [
+ "src/third_party/abseil-cpp/absl/log/internal/proto.cc",
+ "src/third_party/abseil-cpp/absl/log/internal/proto.h",
+ ]
+ public_deps = [
+ ":absl_base_base",
+ ":absl_base_config",
+ ":absl_base_core_headers",
+ ":absl_strings_strings",
+ ":absl_types_span",
+ ]
+ public_configs = [ "..:grpc_absl_config" ]
+ configs -= [ "//gn/standalone:extra_warnings" ]
+}
+
+source_set("absl_log_internal_strip") {
+ sources = [ "src/third_party/abseil-cpp/absl/log/internal/strip.h" ]
+ public_deps = [
+ ":absl_base_log_severity",
+ ":absl_log_internal_log_message",
+ ":absl_log_internal_nullstream",
+ ]
+ public_configs = [ "..:grpc_absl_config" ]
+ configs -= [ "//gn/standalone:extra_warnings" ]
+}
+
+source_set("absl_log_internal_structured") {
+ sources = [ "src/third_party/abseil-cpp/absl/log/internal/structured.h" ]
+ public_deps = [
+ ":absl_base_config",
+ ":absl_log_internal_log_message",
+ ":absl_strings_strings",
+ ]
+ public_configs = [ "..:grpc_absl_config" ]
+ configs -= [ "//gn/standalone:extra_warnings" ]
+}
+
+source_set("absl_log_internal_voidify") {
+ sources = [ "src/third_party/abseil-cpp/absl/log/internal/voidify.h" ]
+ public_deps = [ ":absl_base_config" ]
+ public_configs = [ "..:grpc_absl_config" ]
+ configs -= [ "//gn/standalone:extra_warnings" ]
+}
+
+source_set("absl_log_absl_check") {
+ sources = [ "src/third_party/abseil-cpp/absl/log/absl_check.h" ]
+ public_deps = [ ":absl_log_internal_check_impl" ]
+ public_configs = [ "..:grpc_absl_config" ]
+ configs -= [ "//gn/standalone:extra_warnings" ]
+}
+
+source_set("absl_log_absl_log") {
+ sources = [ "src/third_party/abseil-cpp/absl/log/absl_log.h" ]
+ public_deps = [ ":absl_log_internal_log_impl" ]
+ public_configs = [ "..:grpc_absl_config" ]
+ configs -= [ "//gn/standalone:extra_warnings" ]
+}
+
+source_set("absl_log_check") {
+ sources = [ "src/third_party/abseil-cpp/absl/log/check.h" ]
+ public_deps = [
+ ":absl_log_internal_check_impl",
+ ":absl_log_internal_check_op",
+ ":absl_log_internal_conditions",
+ ":absl_log_internal_log_message",
+ ":absl_log_internal_strip",
+ ]
+ public_configs = [ "..:grpc_absl_config" ]
+ configs -= [ "//gn/standalone:extra_warnings" ]
+}
+
+source_set("absl_log_die_if_null") {
+ sources = [
+ "src/third_party/abseil-cpp/absl/log/die_if_null.cc",
+ "src/third_party/abseil-cpp/absl/log/die_if_null.h",
+ ]
+ public_deps = [
+ ":absl_base_config",
+ ":absl_base_core_headers",
+ ":absl_log_log",
+ ":absl_strings_strings",
+ ]
+ public_configs = [ "..:grpc_absl_config" ]
+ configs -= [ "//gn/standalone:extra_warnings" ]
+}
+
+source_set("absl_log_flags") {
+ sources = [
+ "src/third_party/abseil-cpp/absl/log/flags.cc",
+ "src/third_party/abseil-cpp/absl/log/flags.h",
+ ]
+ public_deps = [
+ ":absl_base_config",
+ ":absl_base_core_headers",
+ ":absl_base_log_severity",
+ ":absl_flags_flag",
+ ":absl_flags_marshalling",
+ ":absl_log_globals",
+ ":absl_log_internal_config",
+ ":absl_log_internal_flags",
+ ":absl_strings_strings",
+ ]
+ public_configs = [ "..:grpc_absl_config" ]
+ configs -= [ "//gn/standalone:extra_warnings" ]
+}
+
+source_set("absl_log_globals") {
+ sources = [
+ "src/third_party/abseil-cpp/absl/log/globals.cc",
+ "src/third_party/abseil-cpp/absl/log/globals.h",
+ ]
+ public_deps = [
+ ":absl_base_atomic_hook",
+ ":absl_base_config",
+ ":absl_base_core_headers",
+ ":absl_base_log_severity",
+ ":absl_hash_hash",
+ ":absl_strings_strings",
+ ]
+ public_configs = [ "..:grpc_absl_config" ]
+ configs -= [ "//gn/standalone:extra_warnings" ]
+}
+
+source_set("absl_log_initialize") {
+ sources = [
+ "src/third_party/abseil-cpp/absl/log/initialize.cc",
+ "src/third_party/abseil-cpp/absl/log/initialize.h",
+ ]
+ public_deps = [
+ ":absl_base_config",
+ ":absl_log_globals",
+ ":absl_log_internal_globals",
+ ":absl_time_time",
+ ]
+ public_configs = [ "..:grpc_absl_config" ]
+ configs -= [ "//gn/standalone:extra_warnings" ]
+}
+
+source_set("absl_log_log") {
+ sources = [ "src/third_party/abseil-cpp/absl/log/log.h" ]
+ public_deps = [ ":absl_log_internal_log_impl" ]
+ public_configs = [ "..:grpc_absl_config" ]
+ configs -= [ "//gn/standalone:extra_warnings" ]
+}
+
+source_set("absl_log_log_entry") {
+ sources = [
+ "src/third_party/abseil-cpp/absl/log/log_entry.cc",
+ "src/third_party/abseil-cpp/absl/log/log_entry.h",
+ ]
+ public_deps = [
+ ":absl_base_config",
+ ":absl_base_core_headers",
+ ":absl_base_log_severity",
+ ":absl_log_internal_config",
+ ":absl_strings_strings",
+ ":absl_time_time",
+ ":absl_types_span",
+ ]
+ public_configs = [ "..:grpc_absl_config" ]
+ configs -= [ "//gn/standalone:extra_warnings" ]
+}
+
+source_set("absl_log_log_sink") {
+ sources = [
+ "src/third_party/abseil-cpp/absl/log/log_sink.cc",
+ "src/third_party/abseil-cpp/absl/log/log_sink.h",
+ ]
+ public_deps = [
+ ":absl_base_config",
+ ":absl_log_log_entry",
+ ]
+ public_configs = [ "..:grpc_absl_config" ]
+ configs -= [ "//gn/standalone:extra_warnings" ]
+}
+
+source_set("absl_log_log_sink_registry") {
+ sources = [ "src/third_party/abseil-cpp/absl/log/log_sink_registry.h" ]
+ public_deps = [
+ ":absl_base_config",
+ ":absl_log_internal_log_sink_set",
+ ":absl_log_log_sink",
+ ]
+ public_configs = [ "..:grpc_absl_config" ]
+ configs -= [ "//gn/standalone:extra_warnings" ]
+}
+
+source_set("absl_log_log_streamer") {
+ sources = [ "src/third_party/abseil-cpp/absl/log/log_streamer.h" ]
+ public_deps = [
+ ":absl_base_config",
+ ":absl_base_log_severity",
+ ":absl_log_absl_log",
+ ":absl_strings_internal",
+ ":absl_strings_strings",
+ ":absl_types_optional",
+ ":absl_utility_utility",
+ ]
+ public_configs = [ "..:grpc_absl_config" ]
+ configs -= [ "//gn/standalone:extra_warnings" ]
+}
+
+source_set("absl_log_structured") {
+ sources = [ "src/third_party/abseil-cpp/absl/log/structured.h" ]
+ public_deps = [
+ ":absl_base_config",
+ ":absl_log_internal_structured",
+ ":absl_strings_strings",
+ ]
+ public_configs = [ "..:grpc_absl_config" ]
+ configs -= [ "//gn/standalone:extra_warnings" ]
+}
+
+source_set("absl_memory_memory") {
+ sources = [ "src/third_party/abseil-cpp/absl/memory/memory.h" ]
+ public_deps = [
+ ":absl_base_core_headers",
+ ":absl_meta_type_traits",
+ ]
+ public_configs = [ "..:grpc_absl_config" ]
+ configs -= [ "//gn/standalone:extra_warnings" ]
+}
+
+source_set("absl_meta_type_traits") {
+ sources = [ "src/third_party/abseil-cpp/absl/meta/type_traits.h" ]
+ public_deps = [ ":absl_base_config" ]
+ public_configs = [ "..:grpc_absl_config" ]
+ configs -= [ "//gn/standalone:extra_warnings" ]
+}
+
+source_set("absl_numeric_bits") {
+ sources = [
+ "src/third_party/abseil-cpp/absl/numeric/bits.h",
+ "src/third_party/abseil-cpp/absl/numeric/internal/bits.h",
+ ]
+ public_deps = [
+ ":absl_base_config",
+ ":absl_base_core_headers",
+ ]
+ public_configs = [ "..:grpc_absl_config" ]
+ configs -= [ "//gn/standalone:extra_warnings" ]
+}
+
+source_set("absl_numeric_int128") {
+ sources = [
+ "src/third_party/abseil-cpp/absl/numeric/int128.cc",
+ "src/third_party/abseil-cpp/absl/numeric/int128.h",
+ "src/third_party/abseil-cpp/absl/numeric/int128_have_intrinsic.inc",
+ "src/third_party/abseil-cpp/absl/numeric/int128_no_intrinsic.inc",
+ ]
+ public_deps = [
+ ":absl_base_config",
+ ":absl_base_core_headers",
+ ":absl_numeric_bits",
+ ]
+ public_configs = [ "..:grpc_absl_config" ]
+ configs -= [ "//gn/standalone:extra_warnings" ]
+}
+
+source_set("absl_numeric_representation") {
+ sources =
+ [ "src/third_party/abseil-cpp/absl/numeric/internal/representation.h" ]
+ public_deps = [ ":absl_base_config" ]
+ public_configs = [ "..:grpc_absl_config" ]
+ configs -= [ "//gn/standalone:extra_warnings" ]
+}
+
+source_set("absl_profiling_exponential_biased") {
+ sources = [
+ "src/third_party/abseil-cpp/absl/profiling/internal/exponential_biased.cc",
+ "src/third_party/abseil-cpp/absl/profiling/internal/exponential_biased.h",
+ ]
+ public_deps = [
+ ":absl_base_config",
+ ":absl_base_core_headers",
+ ]
+ public_configs = [ "..:grpc_absl_config" ]
+ configs -= [ "//gn/standalone:extra_warnings" ]
+}
+
+source_set("absl_profiling_periodic_sampler") {
+ sources = [
+ "src/third_party/abseil-cpp/absl/profiling/internal/periodic_sampler.cc",
+ "src/third_party/abseil-cpp/absl/profiling/internal/periodic_sampler.h",
+ ]
+ public_deps = [
+ ":absl_base_core_headers",
+ ":absl_profiling_exponential_biased",
+ ]
+ public_configs = [ "..:grpc_absl_config" ]
+ configs -= [ "//gn/standalone:extra_warnings" ]
+}
+
+source_set("absl_profiling_sample_recorder") {
+ sources =
+ [ "src/third_party/abseil-cpp/absl/profiling/internal/sample_recorder.h" ]
+ public_deps = [
+ ":absl_base_config",
+ ":absl_base_core_headers",
+ ":absl_synchronization_synchronization",
+ ":absl_time_time",
+ ]
+ public_configs = [ "..:grpc_absl_config" ]
+ configs -= [ "//gn/standalone:extra_warnings" ]
+}
+
+source_set("absl_random_internal_distribution_caller") {
+ sources = [
+ "src/third_party/abseil-cpp/absl/random/internal/distribution_caller.h",
+ ]
+ public_deps = [
+ ":absl_base_config",
+ ":absl_base_fast_type_id",
+ ":absl_utility_utility",
+ ]
+ public_configs = [ "..:grpc_absl_config" ]
+ configs -= [ "//gn/standalone:extra_warnings" ]
+}
+
+source_set("absl_random_internal_fast_uniform_bits") {
+ sources =
+ [ "src/third_party/abseil-cpp/absl/random/internal/fast_uniform_bits.h" ]
+ public_deps = [
+ ":absl_base_config",
+ ":absl_meta_type_traits",
+ ":absl_random_internal_traits",
+ ]
+ public_configs = [ "..:grpc_absl_config" ]
+ configs -= [ "//gn/standalone:extra_warnings" ]
+}
+
+source_set("absl_random_internal_fastmath") {
+ sources = [ "src/third_party/abseil-cpp/absl/random/internal/fastmath.h" ]
+ public_deps = [ ":absl_numeric_bits" ]
+ public_configs = [ "..:grpc_absl_config" ]
+ configs -= [ "//gn/standalone:extra_warnings" ]
+}
+
+source_set("absl_random_internal_generate_real") {
+ sources =
+ [ "src/third_party/abseil-cpp/absl/random/internal/generate_real.h" ]
+ public_deps = [
+ ":absl_meta_type_traits",
+ ":absl_numeric_bits",
+ ":absl_random_internal_fastmath",
+ ":absl_random_internal_traits",
+ ]
+ public_configs = [ "..:grpc_absl_config" ]
+ configs -= [ "//gn/standalone:extra_warnings" ]
+}
+
+source_set("absl_random_internal_iostream_state_saver") {
+ sources = [
+ "src/third_party/abseil-cpp/absl/random/internal/iostream_state_saver.h",
+ ]
+ public_deps = [
+ ":absl_meta_type_traits",
+ ":absl_numeric_int128",
+ ]
+ public_configs = [ "..:grpc_absl_config" ]
+ configs -= [ "//gn/standalone:extra_warnings" ]
+}
+
+source_set("absl_random_internal_mock_helpers") {
+ sources = [ "src/third_party/abseil-cpp/absl/random/internal/mock_helpers.h" ]
+ public_deps = [
+ ":absl_base_fast_type_id",
+ ":absl_types_optional",
+ ]
+ public_configs = [ "..:grpc_absl_config" ]
+ configs -= [ "//gn/standalone:extra_warnings" ]
+}
+
+source_set("absl_random_internal_nanobenchmark") {
+ sources = [
+ "src/third_party/abseil-cpp/absl/random/internal/nanobenchmark.cc",
+ "src/third_party/abseil-cpp/absl/random/internal/nanobenchmark.h",
+ ]
+ public_deps = [
+ ":absl_base_config",
+ ":absl_base_core_headers",
+ ":absl_base_raw_logging_internal",
+ ":absl_random_internal_platform",
+ ":absl_random_internal_randen_engine",
+ ]
+ public_configs = [ "..:grpc_absl_config" ]
+ configs -= [ "//gn/standalone:extra_warnings" ]
+}
+
+source_set("absl_random_internal_nonsecure_base") {
+ sources =
+ [ "src/third_party/abseil-cpp/absl/random/internal/nonsecure_base.h" ]
+ public_deps = [
+ ":absl_base_core_headers",
+ ":absl_container_inlined_vector",
+ ":absl_meta_type_traits",
+ ":absl_random_internal_pool_urbg",
+ ":absl_random_internal_salted_seed_seq",
+ ":absl_random_internal_seed_material",
+ ":absl_types_span",
+ ]
+ public_configs = [ "..:grpc_absl_config" ]
+ configs -= [ "//gn/standalone:extra_warnings" ]
+}
+
+source_set("absl_random_internal_pcg_engine") {
+ sources = [ "src/third_party/abseil-cpp/absl/random/internal/pcg_engine.h" ]
+ public_deps = [
+ ":absl_base_config",
+ ":absl_meta_type_traits",
+ ":absl_numeric_bits",
+ ":absl_numeric_int128",
+ ":absl_random_internal_fastmath",
+ ":absl_random_internal_iostream_state_saver",
+ ]
+ public_configs = [ "..:grpc_absl_config" ]
+ configs -= [ "//gn/standalone:extra_warnings" ]
+}
+
+source_set("absl_random_internal_platform") {
+ sources = [
+ "src/third_party/abseil-cpp/absl/random/internal/platform.h",
+ "src/third_party/abseil-cpp/absl/random/internal/randen_round_keys.cc",
+ "src/third_party/abseil-cpp/absl/random/internal/randen_traits.h",
+ ]
+ public_deps = [ ":absl_base_config" ]
+ public_configs = [ "..:grpc_absl_config" ]
+ configs -= [ "//gn/standalone:extra_warnings" ]
+}
+
+source_set("absl_random_internal_pool_urbg") {
+ sources = [
+ "src/third_party/abseil-cpp/absl/random/internal/pool_urbg.cc",
+ "src/third_party/abseil-cpp/absl/random/internal/pool_urbg.h",
+ ]
+ public_deps = [
+ ":absl_base_base",
+ ":absl_base_config",
+ ":absl_base_core_headers",
+ ":absl_base_endian",
+ ":absl_base_raw_logging_internal",
+ ":absl_random_internal_randen",
+ ":absl_random_internal_seed_material",
+ ":absl_random_internal_traits",
+ ":absl_random_seed_gen_exception",
+ ":absl_types_span",
+ ]
+ public_configs = [ "..:grpc_absl_config" ]
+ configs -= [ "//gn/standalone:extra_warnings" ]
+}
+
+source_set("absl_random_internal_randen") {
+ sources = [
+ "src/third_party/abseil-cpp/absl/random/internal/randen.cc",
+ "src/third_party/abseil-cpp/absl/random/internal/randen.h",
+ ]
+ public_deps = [
+ ":absl_base_raw_logging_internal",
+ ":absl_random_internal_platform",
+ ":absl_random_internal_randen_hwaes",
+ ":absl_random_internal_randen_slow",
+ ]
+ public_configs = [ "..:grpc_absl_config" ]
+ configs -= [ "//gn/standalone:extra_warnings" ]
+}
+
+source_set("absl_random_internal_randen_engine") {
+ sources =
+ [ "src/third_party/abseil-cpp/absl/random/internal/randen_engine.h" ]
+ public_deps = [
+ ":absl_base_endian",
+ ":absl_meta_type_traits",
+ ":absl_random_internal_iostream_state_saver",
+ ":absl_random_internal_randen",
+ ]
+ public_configs = [ "..:grpc_absl_config" ]
+ configs -= [ "//gn/standalone:extra_warnings" ]
+}
+
+source_set("absl_random_internal_randen_hwaes") {
+ sources = [
+ "src/third_party/abseil-cpp/absl/random/internal/randen_detect.cc",
+ "src/third_party/abseil-cpp/absl/random/internal/randen_detect.h",
+ "src/third_party/abseil-cpp/absl/random/internal/randen_hwaes.h",
+ ]
+ public_deps = [
+ ":absl_base_config",
+ ":absl_random_internal_platform",
+ ":absl_random_internal_randen_hwaes_impl",
+ ]
+ public_configs = [ "..:grpc_absl_config" ]
+ configs -= [ "//gn/standalone:extra_warnings" ]
+}
+
+source_set("absl_random_internal_randen_hwaes_impl") {
+ sources = [
+ "src/third_party/abseil-cpp/absl/random/internal/randen_hwaes.cc",
+ "src/third_party/abseil-cpp/absl/random/internal/randen_hwaes.h",
+ ]
+ public_deps = [
+ ":absl_base_config",
+ ":absl_base_core_headers",
+ ":absl_numeric_int128",
+ ":absl_random_internal_platform",
+ ]
+ public_configs = [ "..:grpc_absl_config" ]
+ configs -= [ "//gn/standalone:extra_warnings" ]
+}
+
+source_set("absl_random_internal_randen_slow") {
+ sources = [
+ "src/third_party/abseil-cpp/absl/random/internal/randen_slow.cc",
+ "src/third_party/abseil-cpp/absl/random/internal/randen_slow.h",
+ ]
+ public_deps = [
+ ":absl_base_config",
+ ":absl_base_core_headers",
+ ":absl_base_endian",
+ ":absl_numeric_int128",
+ ":absl_random_internal_platform",
+ ]
+ public_configs = [ "..:grpc_absl_config" ]
+ configs -= [ "//gn/standalone:extra_warnings" ]
+}
+
+source_set("absl_random_internal_salted_seed_seq") {
+ sources =
+ [ "src/third_party/abseil-cpp/absl/random/internal/salted_seed_seq.h" ]
+ public_deps = [
+ ":absl_container_inlined_vector",
+ ":absl_meta_type_traits",
+ ":absl_random_internal_seed_material",
+ ":absl_types_optional",
+ ":absl_types_span",
+ ]
+ public_configs = [ "..:grpc_absl_config" ]
+ configs -= [ "//gn/standalone:extra_warnings" ]
+}
+
+source_set("absl_random_internal_seed_material") {
+ sources = [
+ "src/third_party/abseil-cpp/absl/random/internal/seed_material.cc",
+ "src/third_party/abseil-cpp/absl/random/internal/seed_material.h",
+ ]
+ public_deps = [
+ ":absl_base_core_headers",
+ ":absl_base_dynamic_annotations",
+ ":absl_base_raw_logging_internal",
+ ":absl_random_internal_fast_uniform_bits",
+ ":absl_strings_strings",
+ ":absl_types_optional",
+ ":absl_types_span",
+ ]
+ public_configs = [ "..:grpc_absl_config" ]
+ configs -= [ "//gn/standalone:extra_warnings" ]
+}
+
+source_set("absl_random_internal_traits") {
+ sources = [ "src/third_party/abseil-cpp/absl/random/internal/traits.h" ]
+ public_deps = [
+ ":absl_base_config",
+ ":absl_numeric_bits",
+ ":absl_numeric_int128",
+ ]
+ public_configs = [ "..:grpc_absl_config" ]
+ configs -= [ "//gn/standalone:extra_warnings" ]
+}
+
+source_set("absl_random_internal_uniform_helper") {
+ sources =
+ [ "src/third_party/abseil-cpp/absl/random/internal/uniform_helper.h" ]
+ public_deps = [
+ ":absl_base_config",
+ ":absl_meta_type_traits",
+ ":absl_numeric_int128",
+ ":absl_random_internal_traits",
+ ]
+ public_configs = [ "..:grpc_absl_config" ]
+ configs -= [ "//gn/standalone:extra_warnings" ]
+}
+
+source_set("absl_random_internal_wide_multiply") {
+ sources =
+ [ "src/third_party/abseil-cpp/absl/random/internal/wide_multiply.h" ]
+ public_deps = [
+ ":absl_base_config",
+ ":absl_numeric_bits",
+ ":absl_numeric_int128",
+ ":absl_random_internal_traits",
+ ]
+ public_configs = [ "..:grpc_absl_config" ]
+ configs -= [ "//gn/standalone:extra_warnings" ]
+}
+
+source_set("absl_random_bit_gen_ref") {
+ sources = [ "src/third_party/abseil-cpp/absl/random/bit_gen_ref.h" ]
+ public_deps = [
+ ":absl_base_core_headers",
+ ":absl_base_fast_type_id",
+ ":absl_meta_type_traits",
+ ":absl_random_internal_distribution_caller",
+ ":absl_random_internal_fast_uniform_bits",
+ ":absl_random_random",
+ ]
+ public_configs = [ "..:grpc_absl_config" ]
+ configs -= [ "//gn/standalone:extra_warnings" ]
+}
+
+source_set("absl_random_distributions") {
+ sources = [
+ "src/third_party/abseil-cpp/absl/random/bernoulli_distribution.h",
+ "src/third_party/abseil-cpp/absl/random/beta_distribution.h",
+ "src/third_party/abseil-cpp/absl/random/discrete_distribution.cc",
+ "src/third_party/abseil-cpp/absl/random/discrete_distribution.h",
+ "src/third_party/abseil-cpp/absl/random/distributions.h",
+ "src/third_party/abseil-cpp/absl/random/exponential_distribution.h",
+ "src/third_party/abseil-cpp/absl/random/gaussian_distribution.cc",
+ "src/third_party/abseil-cpp/absl/random/gaussian_distribution.h",
+ "src/third_party/abseil-cpp/absl/random/log_uniform_int_distribution.h",
+ "src/third_party/abseil-cpp/absl/random/poisson_distribution.h",
+ "src/third_party/abseil-cpp/absl/random/uniform_int_distribution.h",
+ "src/third_party/abseil-cpp/absl/random/uniform_real_distribution.h",
+ "src/third_party/abseil-cpp/absl/random/zipf_distribution.h",
+ ]
+ public_deps = [
+ ":absl_base_base_internal",
+ ":absl_base_config",
+ ":absl_base_core_headers",
+ ":absl_meta_type_traits",
+ ":absl_numeric_bits",
+ ":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_traits",
+ ":absl_random_internal_uniform_helper",
+ ":absl_random_internal_wide_multiply",
+ ":absl_strings_strings",
+ ]
+ public_configs = [ "..:grpc_absl_config" ]
+ configs -= [ "//gn/standalone:extra_warnings" ]
+}
+
+source_set("absl_random_random") {
+ sources = [ "src/third_party/abseil-cpp/absl/random/random.h" ]
+ public_deps = [
+ ":absl_random_distributions",
+ ":absl_random_internal_nonsecure_base",
+ ":absl_random_internal_pcg_engine",
+ ":absl_random_internal_pool_urbg",
+ ":absl_random_internal_randen_engine",
+ ":absl_random_seed_sequences",
+ ]
+ public_configs = [ "..:grpc_absl_config" ]
+ configs -= [ "//gn/standalone:extra_warnings" ]
+}
+
+source_set("absl_random_seed_gen_exception") {
+ sources = [
+ "src/third_party/abseil-cpp/absl/random/seed_gen_exception.cc",
+ "src/third_party/abseil-cpp/absl/random/seed_gen_exception.h",
+ ]
+ public_deps = [ ":absl_base_config" ]
+ public_configs = [ "..:grpc_absl_config" ]
+ configs -= [ "//gn/standalone:extra_warnings" ]
+}
+
+source_set("absl_random_seed_sequences") {
+ sources = [
+ "src/third_party/abseil-cpp/absl/random/seed_sequences.cc",
+ "src/third_party/abseil-cpp/absl/random/seed_sequences.h",
+ ]
+ public_deps = [
+ ":absl_base_config",
+ ":absl_random_internal_pool_urbg",
+ ":absl_random_internal_salted_seed_seq",
+ ":absl_random_internal_seed_material",
+ ":absl_random_seed_gen_exception",
+ ":absl_types_span",
+ ]
+ public_configs = [ "..:grpc_absl_config" ]
+ configs -= [ "//gn/standalone:extra_warnings" ]
+}
+
+source_set("absl_status_status") {
+ sources = [
+ "src/third_party/abseil-cpp/absl/status/internal/status_internal.h",
+ "src/third_party/abseil-cpp/absl/status/status.cc",
+ "src/third_party/abseil-cpp/absl/status/status.h",
+ "src/third_party/abseil-cpp/absl/status/status_payload_printer.cc",
+ "src/third_party/abseil-cpp/absl/status/status_payload_printer.h",
+ ]
+ public_deps = [
+ ":absl_base_atomic_hook",
+ ":absl_base_core_headers",
+ ":absl_base_raw_logging_internal",
+ ":absl_base_strerror",
+ ":absl_container_inlined_vector",
+ ":absl_debugging_stacktrace",
+ ":absl_debugging_symbolize",
+ ":absl_functional_function_ref",
+ ":absl_strings_cord",
+ ":absl_strings_str_format",
+ ":absl_strings_strings",
+ ":absl_types_optional",
+ ]
+ public_configs = [ "..:grpc_absl_config" ]
+ configs -= [ "//gn/standalone:extra_warnings" ]
+}
+
+source_set("absl_status_statusor") {
+ sources = [
+ "src/third_party/abseil-cpp/absl/status/internal/statusor_internal.h",
+ "src/third_party/abseil-cpp/absl/status/statusor.cc",
+ "src/third_party/abseil-cpp/absl/status/statusor.h",
+ ]
+ public_deps = [
+ ":absl_base_base",
+ ":absl_base_core_headers",
+ ":absl_base_raw_logging_internal",
+ ":absl_meta_type_traits",
+ ":absl_status_status",
+ ":absl_strings_strings",
+ ":absl_types_variant",
+ ":absl_utility_utility",
+ ]
+ public_configs = [ "..:grpc_absl_config" ]
+ configs -= [ "//gn/standalone:extra_warnings" ]
+}
+
+source_set("absl_strings_cord") {
+ sources = [
+ "src/third_party/abseil-cpp/absl/strings/cord.cc",
+ "src/third_party/abseil-cpp/absl/strings/cord.h",
+ "src/third_party/abseil-cpp/absl/strings/cord_analysis.cc",
+ "src/third_party/abseil-cpp/absl/strings/cord_analysis.h",
+ "src/third_party/abseil-cpp/absl/strings/cord_buffer.cc",
+ "src/third_party/abseil-cpp/absl/strings/cord_buffer.h",
+ ]
+ public_deps = [
+ ":absl_base_base",
+ ":absl_base_config",
+ ":absl_base_core_headers",
+ ":absl_base_endian",
+ ":absl_base_raw_logging_internal",
+ ":absl_container_fixed_array",
+ ":absl_container_inlined_vector",
+ ":absl_crc_crc_cord_state",
+ ":absl_functional_function_ref",
+ ":absl_meta_type_traits",
+ ":absl_numeric_bits",
+ ":absl_strings_cord_internal",
+ ":absl_strings_cordz_functions",
+ ":absl_strings_cordz_info",
+ ":absl_strings_cordz_statistics",
+ ":absl_strings_cordz_update_scope",
+ ":absl_strings_cordz_update_tracker",
+ ":absl_strings_internal",
+ ":absl_strings_str_format",
+ ":absl_strings_strings",
+ ":absl_types_optional",
+ ":absl_types_span",
+ ]
+ public_configs = [ "..:grpc_absl_config" ]
+ configs -= [ "//gn/standalone:extra_warnings" ]
+}
+
+source_set("absl_strings_cord_internal") {
+ sources = [
+ "src/third_party/abseil-cpp/absl/strings/internal/cord_data_edge.h",
+ "src/third_party/abseil-cpp/absl/strings/internal/cord_internal.cc",
+ "src/third_party/abseil-cpp/absl/strings/internal/cord_internal.h",
+ "src/third_party/abseil-cpp/absl/strings/internal/cord_rep_btree.cc",
+ "src/third_party/abseil-cpp/absl/strings/internal/cord_rep_btree.h",
+ "src/third_party/abseil-cpp/absl/strings/internal/cord_rep_btree_navigator.cc",
+ "src/third_party/abseil-cpp/absl/strings/internal/cord_rep_btree_navigator.h",
+ "src/third_party/abseil-cpp/absl/strings/internal/cord_rep_btree_reader.cc",
+ "src/third_party/abseil-cpp/absl/strings/internal/cord_rep_btree_reader.h",
+ "src/third_party/abseil-cpp/absl/strings/internal/cord_rep_consume.cc",
+ "src/third_party/abseil-cpp/absl/strings/internal/cord_rep_consume.h",
+ "src/third_party/abseil-cpp/absl/strings/internal/cord_rep_crc.cc",
+ "src/third_party/abseil-cpp/absl/strings/internal/cord_rep_crc.h",
+ "src/third_party/abseil-cpp/absl/strings/internal/cord_rep_flat.h",
+ "src/third_party/abseil-cpp/absl/strings/internal/cord_rep_ring.cc",
+ "src/third_party/abseil-cpp/absl/strings/internal/cord_rep_ring.h",
+ "src/third_party/abseil-cpp/absl/strings/internal/cord_rep_ring_reader.h",
+ ]
+ public_deps = [
+ ":absl_base_base_internal",
+ ":absl_base_config",
+ ":absl_base_core_headers",
+ ":absl_base_endian",
+ ":absl_base_raw_logging_internal",
+ ":absl_base_throw_delegate",
+ ":absl_container_compressed_tuple",
+ ":absl_container_container_memory",
+ ":absl_container_inlined_vector",
+ ":absl_container_layout",
+ ":absl_crc_crc_cord_state",
+ ":absl_functional_function_ref",
+ ":absl_meta_type_traits",
+ ":absl_strings_strings",
+ ":absl_types_span",
+ ]
+ public_configs = [ "..:grpc_absl_config" ]
+ configs -= [ "//gn/standalone:extra_warnings" ]
+}
+
+source_set("absl_strings_cordz_functions") {
+ sources = [
+ "src/third_party/abseil-cpp/absl/strings/internal/cordz_functions.cc",
+ "src/third_party/abseil-cpp/absl/strings/internal/cordz_functions.h",
+ ]
+ public_deps = [
+ ":absl_base_config",
+ ":absl_base_core_headers",
+ ":absl_base_raw_logging_internal",
+ ":absl_profiling_exponential_biased",
+ ]
+ public_configs = [ "..:grpc_absl_config" ]
+ configs -= [ "//gn/standalone:extra_warnings" ]
+}
+
+source_set("absl_strings_cordz_handle") {
+ sources = [
+ "src/third_party/abseil-cpp/absl/strings/internal/cordz_handle.cc",
+ "src/third_party/abseil-cpp/absl/strings/internal/cordz_handle.h",
+ ]
+ public_deps = [
+ ":absl_base_base",
+ ":absl_base_config",
+ ":absl_base_raw_logging_internal",
+ ":absl_synchronization_synchronization",
+ ]
+ public_configs = [ "..:grpc_absl_config" ]
+ configs -= [ "//gn/standalone:extra_warnings" ]
+}
+
+source_set("absl_strings_cordz_info") {
+ sources = [
+ "src/third_party/abseil-cpp/absl/strings/internal/cordz_info.cc",
+ "src/third_party/abseil-cpp/absl/strings/internal/cordz_info.h",
+ ]
+ public_deps = [
+ ":absl_base_base",
+ ":absl_base_config",
+ ":absl_base_core_headers",
+ ":absl_base_raw_logging_internal",
+ ":absl_container_inlined_vector",
+ ":absl_debugging_stacktrace",
+ ":absl_strings_cord_internal",
+ ":absl_strings_cordz_functions",
+ ":absl_strings_cordz_handle",
+ ":absl_strings_cordz_statistics",
+ ":absl_strings_cordz_update_tracker",
+ ":absl_synchronization_synchronization",
+ ":absl_types_span",
+ ]
+ public_configs = [ "..:grpc_absl_config" ]
+ configs -= [ "//gn/standalone:extra_warnings" ]
+}
+
+source_set("absl_strings_cordz_sample_token") {
+ sources = [
+ "src/third_party/abseil-cpp/absl/strings/internal/cordz_sample_token.cc",
+ "src/third_party/abseil-cpp/absl/strings/internal/cordz_sample_token.h",
+ ]
+ public_deps = [
+ ":absl_base_config",
+ ":absl_strings_cordz_handle",
+ ":absl_strings_cordz_info",
+ ]
+ public_configs = [ "..:grpc_absl_config" ]
+ configs -= [ "//gn/standalone:extra_warnings" ]
+}
+
+source_set("absl_strings_cordz_statistics") {
+ sources =
+ [ "src/third_party/abseil-cpp/absl/strings/internal/cordz_statistics.h" ]
+ public_deps = [
+ ":absl_base_config",
+ ":absl_strings_cordz_update_tracker",
+ ]
+ public_configs = [ "..:grpc_absl_config" ]
+ configs -= [ "//gn/standalone:extra_warnings" ]
+}
+
+source_set("absl_strings_cordz_update_scope") {
+ sources = [
+ "src/third_party/abseil-cpp/absl/strings/internal/cordz_update_scope.h",
+ ]
+ public_deps = [
+ ":absl_base_config",
+ ":absl_base_core_headers",
+ ":absl_strings_cord_internal",
+ ":absl_strings_cordz_info",
+ ":absl_strings_cordz_update_tracker",
+ ]
+ public_configs = [ "..:grpc_absl_config" ]
+ configs -= [ "//gn/standalone:extra_warnings" ]
+}
+
+source_set("absl_strings_cordz_update_tracker") {
+ sources = [
+ "src/third_party/abseil-cpp/absl/strings/internal/cordz_update_tracker.h",
+ ]
+ public_deps = [ ":absl_base_config" ]
+ public_configs = [ "..:grpc_absl_config" ]
+ configs -= [ "//gn/standalone:extra_warnings" ]
+}
+
+source_set("absl_strings_internal") {
+ sources = [
+ "src/third_party/abseil-cpp/absl/strings/internal/char_map.h",
+ "src/third_party/abseil-cpp/absl/strings/internal/escaping.cc",
+ "src/third_party/abseil-cpp/absl/strings/internal/escaping.h",
+ "src/third_party/abseil-cpp/absl/strings/internal/ostringstream.cc",
+ "src/third_party/abseil-cpp/absl/strings/internal/ostringstream.h",
+ "src/third_party/abseil-cpp/absl/strings/internal/resize_uninitialized.h",
+ "src/third_party/abseil-cpp/absl/strings/internal/utf8.cc",
+ "src/third_party/abseil-cpp/absl/strings/internal/utf8.h",
+ ]
+ public_deps = [
+ ":absl_base_config",
+ ":absl_base_core_headers",
+ ":absl_base_endian",
+ ":absl_base_raw_logging_internal",
+ ":absl_meta_type_traits",
+ ]
+ public_configs = [ "..:grpc_absl_config" ]
+ configs -= [ "//gn/standalone:extra_warnings" ]
+}
+
+source_set("absl_strings_str_format") {
+ sources = [ "src/third_party/abseil-cpp/absl/strings/str_format.h" ]
+ public_deps = [ ":absl_strings_str_format_internal" ]
+ public_configs = [ "..:grpc_absl_config" ]
+ configs -= [ "//gn/standalone:extra_warnings" ]
+}
+
+source_set("absl_strings_str_format_internal") {
+ sources = [
+ "src/third_party/abseil-cpp/absl/strings/internal/str_format/arg.cc",
+ "src/third_party/abseil-cpp/absl/strings/internal/str_format/arg.h",
+ "src/third_party/abseil-cpp/absl/strings/internal/str_format/bind.cc",
+ "src/third_party/abseil-cpp/absl/strings/internal/str_format/bind.h",
+ "src/third_party/abseil-cpp/absl/strings/internal/str_format/checker.h",
+ "src/third_party/abseil-cpp/absl/strings/internal/str_format/constexpr_parser.h",
+ "src/third_party/abseil-cpp/absl/strings/internal/str_format/extension.cc",
+ "src/third_party/abseil-cpp/absl/strings/internal/str_format/extension.h",
+ "src/third_party/abseil-cpp/absl/strings/internal/str_format/float_conversion.cc",
+ "src/third_party/abseil-cpp/absl/strings/internal/str_format/float_conversion.h",
+ "src/third_party/abseil-cpp/absl/strings/internal/str_format/output.cc",
+ "src/third_party/abseil-cpp/absl/strings/internal/str_format/output.h",
+ "src/third_party/abseil-cpp/absl/strings/internal/str_format/parser.cc",
+ "src/third_party/abseil-cpp/absl/strings/internal/str_format/parser.h",
+ ]
+ public_deps = [
+ ":absl_base_config",
+ ":absl_base_core_headers",
+ ":absl_functional_function_ref",
+ ":absl_meta_type_traits",
+ ":absl_numeric_bits",
+ ":absl_numeric_int128",
+ ":absl_numeric_representation",
+ ":absl_strings_strings",
+ ":absl_types_optional",
+ ":absl_types_span",
+ ":absl_utility_utility",
+ ]
+ public_configs = [ "..:grpc_absl_config" ]
+ configs -= [ "//gn/standalone:extra_warnings" ]
+}
+
+source_set("absl_strings_strings") {
+ sources = [
+ "src/third_party/abseil-cpp/absl/strings/ascii.cc",
+ "src/third_party/abseil-cpp/absl/strings/ascii.h",
+ "src/third_party/abseil-cpp/absl/strings/charconv.cc",
+ "src/third_party/abseil-cpp/absl/strings/charconv.h",
+ "src/third_party/abseil-cpp/absl/strings/escaping.cc",
+ "src/third_party/abseil-cpp/absl/strings/escaping.h",
+ "src/third_party/abseil-cpp/absl/strings/internal/charconv_bigint.cc",
+ "src/third_party/abseil-cpp/absl/strings/internal/charconv_bigint.h",
+ "src/third_party/abseil-cpp/absl/strings/internal/charconv_parse.cc",
+ "src/third_party/abseil-cpp/absl/strings/internal/charconv_parse.h",
+ "src/third_party/abseil-cpp/absl/strings/internal/damerau_levenshtein_distance.cc",
+ "src/third_party/abseil-cpp/absl/strings/internal/damerau_levenshtein_distance.h",
+ "src/third_party/abseil-cpp/absl/strings/internal/has_absl_stringify.h",
+ "src/third_party/abseil-cpp/absl/strings/internal/memutil.cc",
+ "src/third_party/abseil-cpp/absl/strings/internal/memutil.h",
+ "src/third_party/abseil-cpp/absl/strings/internal/stl_type_traits.h",
+ "src/third_party/abseil-cpp/absl/strings/internal/str_join_internal.h",
+ "src/third_party/abseil-cpp/absl/strings/internal/str_split_internal.h",
+ "src/third_party/abseil-cpp/absl/strings/internal/string_constant.h",
+ "src/third_party/abseil-cpp/absl/strings/internal/stringify_sink.cc",
+ "src/third_party/abseil-cpp/absl/strings/internal/stringify_sink.h",
+ "src/third_party/abseil-cpp/absl/strings/match.cc",
+ "src/third_party/abseil-cpp/absl/strings/match.h",
+ "src/third_party/abseil-cpp/absl/strings/numbers.cc",
+ "src/third_party/abseil-cpp/absl/strings/numbers.h",
+ "src/third_party/abseil-cpp/absl/strings/str_cat.cc",
+ "src/third_party/abseil-cpp/absl/strings/str_cat.h",
+ "src/third_party/abseil-cpp/absl/strings/str_join.h",
+ "src/third_party/abseil-cpp/absl/strings/str_replace.cc",
+ "src/third_party/abseil-cpp/absl/strings/str_replace.h",
+ "src/third_party/abseil-cpp/absl/strings/str_split.cc",
+ "src/third_party/abseil-cpp/absl/strings/str_split.h",
+ "src/third_party/abseil-cpp/absl/strings/string_view.cc",
+ "src/third_party/abseil-cpp/absl/strings/string_view.h",
+ "src/third_party/abseil-cpp/absl/strings/strip.h",
+ "src/third_party/abseil-cpp/absl/strings/substitute.cc",
+ "src/third_party/abseil-cpp/absl/strings/substitute.h",
+ ]
+ public_deps = [
+ ":absl_base_base",
+ ":absl_base_config",
+ ":absl_base_core_headers",
+ ":absl_base_endian",
+ ":absl_base_raw_logging_internal",
+ ":absl_base_throw_delegate",
+ ":absl_memory_memory",
+ ":absl_meta_type_traits",
+ ":absl_numeric_bits",
+ ":absl_numeric_int128",
+ ":absl_strings_internal",
+ ]
+ public_configs = [ "..:grpc_absl_config" ]
+ configs -= [ "//gn/standalone:extra_warnings" ]
+}
+
+source_set("absl_synchronization_graphcycles_internal") {
+ sources = [
+ "src/third_party/abseil-cpp/absl/synchronization/internal/graphcycles.cc",
+ "src/third_party/abseil-cpp/absl/synchronization/internal/graphcycles.h",
+ ]
+ public_deps = [
+ ":absl_base_base",
+ ":absl_base_base_internal",
+ ":absl_base_config",
+ ":absl_base_core_headers",
+ ":absl_base_malloc_internal",
+ ":absl_base_raw_logging_internal",
+ ]
+ public_configs = [ "..:grpc_absl_config" ]
+ configs -= [ "//gn/standalone:extra_warnings" ]
+}
+
+source_set("absl_synchronization_kernel_timeout_internal") {
+ sources = [
+ "src/third_party/abseil-cpp/absl/synchronization/internal/kernel_timeout.h",
+ ]
+ public_deps = [
+ ":absl_base_core_headers",
+ ":absl_base_raw_logging_internal",
+ ":absl_time_time",
+ ]
+ public_configs = [ "..:grpc_absl_config" ]
+ configs -= [ "//gn/standalone:extra_warnings" ]
+}
+
+source_set("absl_synchronization_synchronization") {
+ sources = [
+ "src/third_party/abseil-cpp/absl/synchronization/barrier.cc",
+ "src/third_party/abseil-cpp/absl/synchronization/barrier.h",
+ "src/third_party/abseil-cpp/absl/synchronization/blocking_counter.cc",
+ "src/third_party/abseil-cpp/absl/synchronization/blocking_counter.h",
+ "src/third_party/abseil-cpp/absl/synchronization/internal/create_thread_identity.cc",
+ "src/third_party/abseil-cpp/absl/synchronization/internal/create_thread_identity.h",
+ "src/third_party/abseil-cpp/absl/synchronization/internal/futex.h",
+ "src/third_party/abseil-cpp/absl/synchronization/internal/per_thread_sem.cc",
+ "src/third_party/abseil-cpp/absl/synchronization/internal/per_thread_sem.h",
+ "src/third_party/abseil-cpp/absl/synchronization/internal/waiter.cc",
+ "src/third_party/abseil-cpp/absl/synchronization/internal/waiter.h",
+ "src/third_party/abseil-cpp/absl/synchronization/mutex.cc",
+ "src/third_party/abseil-cpp/absl/synchronization/mutex.h",
+ "src/third_party/abseil-cpp/absl/synchronization/notification.cc",
+ "src/third_party/abseil-cpp/absl/synchronization/notification.h",
+ ]
+ public_deps = [
+ ":absl_base_atomic_hook",
+ ":absl_base_base",
+ ":absl_base_base_internal",
+ ":absl_base_config",
+ ":absl_base_core_headers",
+ ":absl_base_dynamic_annotations",
+ ":absl_base_malloc_internal",
+ ":absl_base_raw_logging_internal",
+ ":absl_debugging_stacktrace",
+ ":absl_debugging_symbolize",
+ ":absl_synchronization_graphcycles_internal",
+ ":absl_synchronization_kernel_timeout_internal",
+ ":absl_time_time",
+ ]
+ public_configs = [ "..:grpc_absl_config" ]
+ configs -= [ "//gn/standalone:extra_warnings" ]
+}
+
+source_set("absl_time_internal_cctz_civil_time") {
+ sources = [
+ "src/third_party/abseil-cpp/absl/time/internal/cctz/include/cctz/civil_time.h",
+ "src/third_party/abseil-cpp/absl/time/internal/cctz/include/cctz/civil_time_detail.h",
+ "src/third_party/abseil-cpp/absl/time/internal/cctz/src/civil_time_detail.cc",
+ ]
+ public_deps = [ ":absl_base_config" ]
+ public_configs = [ "..:grpc_absl_config" ]
+ configs -= [ "//gn/standalone:extra_warnings" ]
+}
+
+source_set("absl_time_internal_cctz_time_zone") {
+ sources = [
+ "src/third_party/abseil-cpp/absl/time/internal/cctz/include/cctz/time_zone.h",
+ "src/third_party/abseil-cpp/absl/time/internal/cctz/include/cctz/zone_info_source.h",
+ "src/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_fixed.cc",
+ "src/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_fixed.h",
+ "src/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_format.cc",
+ "src/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_if.cc",
+ "src/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_if.h",
+ "src/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_impl.cc",
+ "src/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_impl.h",
+ "src/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_info.cc",
+ "src/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_info.h",
+ "src/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_libc.cc",
+ "src/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_libc.h",
+ "src/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_lookup.cc",
+ "src/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_posix.cc",
+ "src/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_posix.h",
+ "src/third_party/abseil-cpp/absl/time/internal/cctz/src/tzfile.h",
+ "src/third_party/abseil-cpp/absl/time/internal/cctz/src/zone_info_source.cc",
+ ]
+ public_deps = [
+ ":absl_base_config",
+ ":absl_time_internal_cctz_civil_time",
+ ]
+ public_configs = [ "..:grpc_absl_config" ]
+ configs -= [ "//gn/standalone:extra_warnings" ]
+}
+
+source_set("absl_time_time") {
+ sources = [
+ "src/third_party/abseil-cpp/absl/time/civil_time.cc",
+ "src/third_party/abseil-cpp/absl/time/civil_time.h",
+ "src/third_party/abseil-cpp/absl/time/clock.cc",
+ "src/third_party/abseil-cpp/absl/time/clock.h",
+ "src/third_party/abseil-cpp/absl/time/duration.cc",
+ "src/third_party/abseil-cpp/absl/time/format.cc",
+ "src/third_party/abseil-cpp/absl/time/internal/get_current_time_chrono.inc",
+ "src/third_party/abseil-cpp/absl/time/internal/get_current_time_posix.inc",
+ "src/third_party/abseil-cpp/absl/time/time.cc",
+ "src/third_party/abseil-cpp/absl/time/time.h",
+ ]
+ public_deps = [
+ ":absl_base_base",
+ ":absl_base_config",
+ ":absl_base_core_headers",
+ ":absl_base_raw_logging_internal",
+ ":absl_numeric_int128",
+ ":absl_strings_strings",
+ ":absl_time_internal_cctz_civil_time",
+ ":absl_time_internal_cctz_time_zone",
+ ":absl_types_optional",
+ ]
+ public_configs = [ "..:grpc_absl_config" ]
+ configs -= [ "//gn/standalone:extra_warnings" ]
+}
+
+source_set("absl_types_any") {
+ sources = [ "src/third_party/abseil-cpp/absl/types/any.h" ]
+ public_deps = [
+ ":absl_base_config",
+ ":absl_base_core_headers",
+ ":absl_base_fast_type_id",
+ ":absl_meta_type_traits",
+ ":absl_types_bad_any_cast",
+ ":absl_utility_utility",
+ ]
+ public_configs = [ "..:grpc_absl_config" ]
+ configs -= [ "//gn/standalone:extra_warnings" ]
+}
+
+source_set("absl_types_bad_any_cast") {
+ sources = [ "src/third_party/abseil-cpp/absl/types/bad_any_cast.h" ]
+ public_deps = [
+ ":absl_base_config",
+ ":absl_types_bad_any_cast_impl",
+ ]
+ public_configs = [ "..:grpc_absl_config" ]
+ configs -= [ "//gn/standalone:extra_warnings" ]
+}
+
+source_set("absl_types_bad_any_cast_impl") {
+ sources = [
+ "src/third_party/abseil-cpp/absl/types/bad_any_cast.cc",
+ "src/third_party/abseil-cpp/absl/types/bad_any_cast.h",
+ ]
+ public_deps = [
+ ":absl_base_config",
+ ":absl_base_raw_logging_internal",
+ ]
+ public_configs = [ "..:grpc_absl_config" ]
+ configs -= [ "//gn/standalone:extra_warnings" ]
+}
+
+source_set("absl_types_bad_optional_access") {
+ sources = [
+ "src/third_party/abseil-cpp/absl/types/bad_optional_access.cc",
+ "src/third_party/abseil-cpp/absl/types/bad_optional_access.h",
+ ]
+ public_deps = [
+ ":absl_base_config",
+ ":absl_base_raw_logging_internal",
+ ]
+ public_configs = [ "..:grpc_absl_config" ]
+ configs -= [ "//gn/standalone:extra_warnings" ]
+}
+
+source_set("absl_types_bad_variant_access") {
+ sources = [
+ "src/third_party/abseil-cpp/absl/types/bad_variant_access.cc",
+ "src/third_party/abseil-cpp/absl/types/bad_variant_access.h",
+ ]
+ public_deps = [
+ ":absl_base_config",
+ ":absl_base_raw_logging_internal",
+ ]
+ public_configs = [ "..:grpc_absl_config" ]
+ configs -= [ "//gn/standalone:extra_warnings" ]
+}
+
+source_set("absl_types_compare") {
+ sources = [ "src/third_party/abseil-cpp/absl/types/compare.h" ]
+ public_deps = [
+ ":absl_base_core_headers",
+ ":absl_meta_type_traits",
+ ]
+ public_configs = [ "..:grpc_absl_config" ]
+ configs -= [ "//gn/standalone:extra_warnings" ]
+}
+
+source_set("absl_types_optional") {
+ sources = [
+ "src/third_party/abseil-cpp/absl/types/internal/optional.h",
+ "src/third_party/abseil-cpp/absl/types/optional.h",
+ ]
+ public_deps = [
+ ":absl_base_base_internal",
+ ":absl_base_config",
+ ":absl_base_core_headers",
+ ":absl_memory_memory",
+ ":absl_meta_type_traits",
+ ":absl_types_bad_optional_access",
+ ":absl_utility_utility",
+ ]
+ public_configs = [ "..:grpc_absl_config" ]
+ configs -= [ "//gn/standalone:extra_warnings" ]
+}
+
+source_set("absl_types_span") {
+ sources = [
+ "src/third_party/abseil-cpp/absl/types/internal/span.h",
+ "src/third_party/abseil-cpp/absl/types/span.h",
+ ]
+ public_deps = [
+ ":absl_algorithm_algorithm",
+ ":absl_base_core_headers",
+ ":absl_base_throw_delegate",
+ ":absl_meta_type_traits",
+ ]
+ public_configs = [ "..:grpc_absl_config" ]
+ configs -= [ "//gn/standalone:extra_warnings" ]
+}
+
+source_set("absl_types_variant") {
+ sources = [
+ "src/third_party/abseil-cpp/absl/types/internal/variant.h",
+ "src/third_party/abseil-cpp/absl/types/variant.h",
+ ]
+ public_deps = [
+ ":absl_base_base_internal",
+ ":absl_base_config",
+ ":absl_base_core_headers",
+ ":absl_meta_type_traits",
+ ":absl_types_bad_variant_access",
+ ":absl_utility_utility",
+ ]
+ public_configs = [ "..:grpc_absl_config" ]
+ configs -= [ "//gn/standalone:extra_warnings" ]
+}
+
+source_set("absl_utility_utility") {
+ sources = [ "src/third_party/abseil-cpp/absl/utility/utility.h" ]
+ public_deps = [
+ ":absl_base_base_internal",
+ ":absl_base_config",
+ ":absl_meta_type_traits",
+ ]
+ public_configs = [ "..:grpc_absl_config" ]
+ configs -= [ "//gn/standalone:extra_warnings" ]
+}
+
+static_library("upb") {
+ sources = [
+ "src/src/core/ext/upb-generated/google/protobuf/descriptor.upb.c",
+ "src/src/core/ext/upb-generated/google/protobuf/descriptor.upb.h",
+ "src/src/core/ext/upbdefs-generated/google/protobuf/descriptor.upbdefs.c",
+ "src/src/core/ext/upbdefs-generated/google/protobuf/descriptor.upbdefs.h",
+ "src/third_party/upb/third_party/utf8_range/naive.c",
+ "src/third_party/upb/third_party/utf8_range/range2-neon.c",
+ "src/third_party/upb/third_party/utf8_range/range2-sse.c",
+ "src/third_party/upb/third_party/utf8_range/utf8_range.h",
+ "src/third_party/upb/upb/arena.c",
+ "src/third_party/upb/upb/arena.h",
+ "src/third_party/upb/upb/array.c",
+ "src/third_party/upb/upb/array.h",
+ "src/third_party/upb/upb/collections.h",
+ "src/third_party/upb/upb/decode.c",
+ "src/third_party/upb/upb/decode.h",
+ "src/third_party/upb/upb/decode_fast.c",
+ "src/third_party/upb/upb/decode_fast.h",
+ "src/third_party/upb/upb/def.c",
+ "src/third_party/upb/upb/def.h",
+ "src/third_party/upb/upb/def.hpp",
+ "src/third_party/upb/upb/encode.c",
+ "src/third_party/upb/upb/encode.h",
+ "src/third_party/upb/upb/extension_registry.c",
+ "src/third_party/upb/upb/extension_registry.h",
+ "src/third_party/upb/upb/internal/decode.h",
+ "src/third_party/upb/upb/internal/table.h",
+ "src/third_party/upb/upb/internal/upb.h",
+ "src/third_party/upb/upb/internal/vsnprintf_compat.h",
+ "src/third_party/upb/upb/json_decode.c",
+ "src/third_party/upb/upb/json_decode.h",
+ "src/third_party/upb/upb/json_encode.c",
+ "src/third_party/upb/upb/json_encode.h",
+ "src/third_party/upb/upb/map.c",
+ "src/third_party/upb/upb/map.h",
+ "src/third_party/upb/upb/message_value.h",
+ "src/third_party/upb/upb/mini_table.c",
+ "src/third_party/upb/upb/mini_table.h",
+ "src/third_party/upb/upb/mini_table.hpp",
+ "src/third_party/upb/upb/msg.c",
+ "src/third_party/upb/upb/msg.h",
+ "src/third_party/upb/upb/msg_internal.h",
+ "src/third_party/upb/upb/port_def.inc",
+ "src/third_party/upb/upb/port_undef.inc",
+ "src/third_party/upb/upb/reflection.c",
+ "src/third_party/upb/upb/reflection.h",
+ "src/third_party/upb/upb/reflection.hpp",
+ "src/third_party/upb/upb/status.c",
+ "src/third_party/upb/upb/status.h",
+ "src/third_party/upb/upb/table.c",
+ "src/third_party/upb/upb/table_internal.h",
+ "src/third_party/upb/upb/text_encode.c",
+ "src/third_party/upb/upb/text_encode.h",
+ "src/third_party/upb/upb/upb.c",
+ "src/third_party/upb/upb/upb.h",
+ "src/third_party/upb/upb/upb.hpp",
+ ]
+ public_deps = []
+ public_configs = [ "..:grpc_upb_config" ]
+ configs -= [ "//gn/standalone:extra_warnings" ]
+}
+
+static_library("re2") {
+ sources = [
+ "src/third_party/re2/re2/bitmap256.h",
+ "src/third_party/re2/re2/bitstate.cc",
+ "src/third_party/re2/re2/compile.cc",
+ "src/third_party/re2/re2/dfa.cc",
+ "src/third_party/re2/re2/filtered_re2.cc",
+ "src/third_party/re2/re2/filtered_re2.h",
+ "src/third_party/re2/re2/mimics_pcre.cc",
+ "src/third_party/re2/re2/nfa.cc",
+ "src/third_party/re2/re2/onepass.cc",
+ "src/third_party/re2/re2/parse.cc",
+ "src/third_party/re2/re2/perl_groups.cc",
+ "src/third_party/re2/re2/pod_array.h",
+ "src/third_party/re2/re2/prefilter.cc",
+ "src/third_party/re2/re2/prefilter.h",
+ "src/third_party/re2/re2/prefilter_tree.cc",
+ "src/third_party/re2/re2/prefilter_tree.h",
+ "src/third_party/re2/re2/prog.cc",
+ "src/third_party/re2/re2/prog.h",
+ "src/third_party/re2/re2/re2.cc",
+ "src/third_party/re2/re2/re2.h",
+ "src/third_party/re2/re2/regexp.cc",
+ "src/third_party/re2/re2/regexp.h",
+ "src/third_party/re2/re2/set.cc",
+ "src/third_party/re2/re2/set.h",
+ "src/third_party/re2/re2/simplify.cc",
+ "src/third_party/re2/re2/sparse_array.h",
+ "src/third_party/re2/re2/sparse_set.h",
+ "src/third_party/re2/re2/stringpiece.cc",
+ "src/third_party/re2/re2/stringpiece.h",
+ "src/third_party/re2/re2/tostring.cc",
+ "src/third_party/re2/re2/unicode_casefold.cc",
+ "src/third_party/re2/re2/unicode_casefold.h",
+ "src/third_party/re2/re2/unicode_groups.cc",
+ "src/third_party/re2/re2/unicode_groups.h",
+ "src/third_party/re2/re2/walker-inl.h",
+ "src/third_party/re2/util/benchmark.h",
+ "src/third_party/re2/util/flags.h",
+ "src/third_party/re2/util/logging.h",
+ "src/third_party/re2/util/malloc_counter.h",
+ "src/third_party/re2/util/mix.h",
+ "src/third_party/re2/util/mutex.h",
+ "src/third_party/re2/util/pcre.cc",
+ "src/third_party/re2/util/pcre.h",
+ "src/third_party/re2/util/rune.cc",
+ "src/third_party/re2/util/strutil.cc",
+ "src/third_party/re2/util/strutil.h",
+ "src/third_party/re2/util/test.h",
+ "src/third_party/re2/util/utf.h",
+ "src/third_party/re2/util/util.h",
+ ]
+ public_deps = []
+ public_configs = [ "..:grpc_re2_config" ]
+ configs -= [ "//gn/standalone:extra_warnings" ]
+}
+
+static_library("boringssl") {
+ sources = [
+ "src/third_party/boringssl-with-bazel/err_data.c",
+ "src/third_party/boringssl-with-bazel/linux-x86_64/crypto/chacha/chacha-x86_64.S",
+ "src/third_party/boringssl-with-bazel/linux-x86_64/crypto/cipher_extra/aes128gcmsiv-x86_64.S",
+ "src/third_party/boringssl-with-bazel/linux-x86_64/crypto/cipher_extra/chacha20_poly1305_x86_64.S",
+ "src/third_party/boringssl-with-bazel/linux-x86_64/crypto/fipsmodule/aesni-gcm-x86_64.S",
+ "src/third_party/boringssl-with-bazel/linux-x86_64/crypto/fipsmodule/aesni-x86_64.S",
+ "src/third_party/boringssl-with-bazel/linux-x86_64/crypto/fipsmodule/ghash-ssse3-x86_64.S",
+ "src/third_party/boringssl-with-bazel/linux-x86_64/crypto/fipsmodule/ghash-x86_64.S",
+ "src/third_party/boringssl-with-bazel/linux-x86_64/crypto/fipsmodule/md5-x86_64.S",
+ "src/third_party/boringssl-with-bazel/linux-x86_64/crypto/fipsmodule/p256-x86_64-asm.S",
+ "src/third_party/boringssl-with-bazel/linux-x86_64/crypto/fipsmodule/p256_beeu-x86_64-asm.S",
+ "src/third_party/boringssl-with-bazel/linux-x86_64/crypto/fipsmodule/rdrand-x86_64.S",
+ "src/third_party/boringssl-with-bazel/linux-x86_64/crypto/fipsmodule/rsaz-avx2.S",
+ "src/third_party/boringssl-with-bazel/linux-x86_64/crypto/fipsmodule/sha1-x86_64.S",
+ "src/third_party/boringssl-with-bazel/linux-x86_64/crypto/fipsmodule/sha256-x86_64.S",
+ "src/third_party/boringssl-with-bazel/linux-x86_64/crypto/fipsmodule/sha512-x86_64.S",
+ "src/third_party/boringssl-with-bazel/linux-x86_64/crypto/fipsmodule/vpaes-x86_64.S",
+ "src/third_party/boringssl-with-bazel/linux-x86_64/crypto/fipsmodule/x86_64-mont.S",
+ "src/third_party/boringssl-with-bazel/linux-x86_64/crypto/fipsmodule/x86_64-mont5.S",
+ "src/third_party/boringssl-with-bazel/linux-x86_64/crypto/test/trampoline-x86_64.S",
+ "src/third_party/boringssl-with-bazel/src/crypto/asn1/a_bitstr.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/asn1/a_bool.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/asn1/a_d2i_fp.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/asn1/a_dup.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/asn1/a_enum.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/asn1/a_gentm.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/asn1/a_i2d_fp.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/asn1/a_int.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/asn1/a_mbstr.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/asn1/a_object.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/asn1/a_octet.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/asn1/a_print.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/asn1/a_strex.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/asn1/a_strnid.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/asn1/a_time.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/asn1/a_type.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/asn1/a_utctm.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/asn1/a_utf8.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/asn1/asn1_lib.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/asn1/asn1_par.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/asn1/asn_pack.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/asn1/charmap.h",
+ "src/third_party/boringssl-with-bazel/src/crypto/asn1/f_int.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/asn1/f_string.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/asn1/internal.h",
+ "src/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_dec.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_enc.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_fre.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_new.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_typ.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_utl.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/asn1/time_support.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/base64/base64.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/bio/bio.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/bio/bio_mem.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/bio/connect.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/bio/fd.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/bio/file.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/bio/hexdump.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/bio/internal.h",
+ "src/third_party/boringssl-with-bazel/src/crypto/bio/pair.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/bio/printf.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/bio/socket.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/bio/socket_helper.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/blake2/blake2.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/bn_extra/bn_asn1.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/bn_extra/convert.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/buf/buf.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/bytestring/asn1_compat.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/bytestring/ber.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/bytestring/cbb.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/bytestring/cbs.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/bytestring/internal.h",
+ "src/third_party/boringssl-with-bazel/src/crypto/bytestring/unicode.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/chacha/chacha.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/chacha/internal.h",
+ "src/third_party/boringssl-with-bazel/src/crypto/cipher_extra/cipher_extra.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/cipher_extra/derive_key.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_aesccm.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_aesctrhmac.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_aesgcmsiv.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_chacha20poly1305.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_null.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_rc2.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_rc4.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_tls.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/cipher_extra/internal.h",
+ "src/third_party/boringssl-with-bazel/src/crypto/cipher_extra/tls_cbc.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/cmac/cmac.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/conf/conf.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/conf/conf_def.h",
+ "src/third_party/boringssl-with-bazel/src/crypto/conf/internal.h",
+ "src/third_party/boringssl-with-bazel/src/crypto/cpu-aarch64-fuchsia.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/cpu-aarch64-linux.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/cpu-aarch64-win.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/cpu-arm-linux.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/cpu-arm-linux.h",
+ "src/third_party/boringssl-with-bazel/src/crypto/cpu-arm.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/cpu-intel.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/cpu-ppc64le.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/crypto.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/curve25519/curve25519.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/curve25519/curve25519_tables.h",
+ "src/third_party/boringssl-with-bazel/src/crypto/curve25519/internal.h",
+ "src/third_party/boringssl-with-bazel/src/crypto/curve25519/spake25519.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/dh_extra/dh_asn1.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/dh_extra/params.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/digest_extra/digest_extra.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/dsa/dsa.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/dsa/dsa_asn1.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/dsa/internal.h",
+ "src/third_party/boringssl-with-bazel/src/crypto/ec_extra/ec_asn1.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/ec_extra/ec_derive.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/ec_extra/hash_to_curve.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/ec_extra/internal.h",
+ "src/third_party/boringssl-with-bazel/src/crypto/ecdh_extra/ecdh_extra.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/ecdsa_extra/ecdsa_asn1.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/engine/engine.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/err/err.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/err/internal.h",
+ "src/third_party/boringssl-with-bazel/src/crypto/evp/digestsign.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/evp/evp.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/evp/evp_asn1.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/evp/evp_ctx.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/evp/internal.h",
+ "src/third_party/boringssl-with-bazel/src/crypto/evp/p_dsa_asn1.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/evp/p_ec.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/evp/p_ec_asn1.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/evp/p_ed25519.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/evp/p_ed25519_asn1.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/evp/p_rsa.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/evp/p_rsa_asn1.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/evp/p_x25519.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/evp/p_x25519_asn1.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/evp/pbkdf.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/evp/print.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/evp/scrypt.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/evp/sign.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/ex_data.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/aes.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/aes_nohw.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/internal.h",
+ "src/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/key_wrap.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/mode_wrappers.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bcm.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/add.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/asm/x86_64-gcc.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/bn.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/bytes.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/cmp.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/ctx.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/div.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/div_extra.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/exponentiation.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/gcd.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/gcd_extra.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/generic.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/internal.h",
+ "src/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/jacobi.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/montgomery.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/montgomery_inv.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/mul.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/prime.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/random.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/rsaz_exp.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/rsaz_exp.h",
+ "src/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/shift.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/sqrt.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/fipsmodule/cipher/aead.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/fipsmodule/cipher/cipher.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/fipsmodule/cipher/e_aes.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/fipsmodule/cipher/e_des.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/fipsmodule/cipher/internal.h",
+ "src/third_party/boringssl-with-bazel/src/crypto/fipsmodule/delocate.h",
+ "src/third_party/boringssl-with-bazel/src/crypto/fipsmodule/des/des.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/fipsmodule/des/internal.h",
+ "src/third_party/boringssl-with-bazel/src/crypto/fipsmodule/dh/check.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/fipsmodule/dh/dh.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/fipsmodule/digest/digest.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/fipsmodule/digest/digests.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/fipsmodule/digest/internal.h",
+ "src/third_party/boringssl-with-bazel/src/crypto/fipsmodule/digest/md32_common.h",
+ "src/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/ec.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/ec_key.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/ec_montgomery.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/felem.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/internal.h",
+ "src/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/oct.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/p224-64.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/p256-x86_64-table.h",
+ "src/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/p256-x86_64.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/p256-x86_64.h",
+ "src/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/p256.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/p256_table.h",
+ "src/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/scalar.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/simple.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/simple_mul.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/util.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/wnaf.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ecdh/ecdh.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ecdsa/ecdsa.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ecdsa/internal.h",
+ "src/third_party/boringssl-with-bazel/src/crypto/fipsmodule/fips_shared_support.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/fipsmodule/hmac/hmac.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/fipsmodule/md4/md4.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/fipsmodule/md5/internal.h",
+ "src/third_party/boringssl-with-bazel/src/crypto/fipsmodule/md5/md5.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/cbc.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/cfb.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/ctr.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/gcm.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/gcm_nohw.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/internal.h",
+ "src/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/ofb.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/polyval.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/ctrdrbg.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/fork_detect.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/fork_detect.h",
+ "src/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/getrandom_fillin.h",
+ "src/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/internal.h",
+ "src/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/rand.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/urandom.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/blinding.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/internal.h",
+ "src/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/padding.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/rsa.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/rsa_impl.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/fipsmodule/self_check/fips.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/fipsmodule/self_check/self_check.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/internal.h",
+ "src/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/sha1-altivec.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/sha1.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/sha256.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/sha512.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/fipsmodule/tls/internal.h",
+ "src/third_party/boringssl-with-bazel/src/crypto/fipsmodule/tls/kdf.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/hkdf/hkdf.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/hpke/hpke.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/hrss/asm/poly_rq_mul.S",
+ "src/third_party/boringssl-with-bazel/src/crypto/hrss/hrss.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/hrss/internal.h",
+ "src/third_party/boringssl-with-bazel/src/crypto/internal.h",
+ "src/third_party/boringssl-with-bazel/src/crypto/lhash/internal.h",
+ "src/third_party/boringssl-with-bazel/src/crypto/lhash/lhash.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/mem.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/obj/obj.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/obj/obj_dat.h",
+ "src/third_party/boringssl-with-bazel/src/crypto/obj/obj_xref.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/pem/pem_all.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/pem/pem_info.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/pem/pem_lib.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/pem/pem_oth.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/pem/pem_pk8.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/pem/pem_pkey.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/pem/pem_x509.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/pem/pem_xaux.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/pkcs7/internal.h",
+ "src/third_party/boringssl-with-bazel/src/crypto/pkcs7/pkcs7.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/pkcs7/pkcs7_x509.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/pkcs8/internal.h",
+ "src/third_party/boringssl-with-bazel/src/crypto/pkcs8/p5_pbev2.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/pkcs8/pkcs8.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/pkcs8/pkcs8_x509.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/poly1305/internal.h",
+ "src/third_party/boringssl-with-bazel/src/crypto/poly1305/poly1305.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/poly1305/poly1305_arm.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/poly1305/poly1305_vec.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/pool/internal.h",
+ "src/third_party/boringssl-with-bazel/src/crypto/pool/pool.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/rand_extra/deterministic.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/rand_extra/forkunsafe.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/rand_extra/fuchsia.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/rand_extra/passive.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/rand_extra/rand_extra.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/rand_extra/windows.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/rc4/rc4.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/refcount_c11.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/refcount_lock.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/rsa_extra/rsa_asn1.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/rsa_extra/rsa_print.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/siphash/siphash.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/stack/stack.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/thread.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/thread_none.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/thread_pthread.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/thread_win.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/trust_token/internal.h",
+ "src/third_party/boringssl-with-bazel/src/crypto/trust_token/pmbtoken.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/trust_token/trust_token.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/trust_token/voprf.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/x509/a_digest.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/x509/a_sign.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/x509/a_verify.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/x509/algorithm.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/x509/asn1_gen.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/x509/by_dir.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/x509/by_file.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/x509/i2d_pr.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/x509/internal.h",
+ "src/third_party/boringssl-with-bazel/src/crypto/x509/name_print.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/x509/rsa_pss.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/x509/t_crl.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/x509/t_req.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/x509/t_x509.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/x509/t_x509a.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/x509/x509.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/x509/x509_att.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/x509/x509_cmp.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/x509/x509_d2.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/x509/x509_def.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/x509/x509_ext.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/x509/x509_lu.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/x509/x509_obj.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/x509/x509_req.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/x509/x509_set.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/x509/x509_trs.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/x509/x509_txt.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/x509/x509_v3.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/x509/x509_vfy.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/x509/x509_vpm.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/x509/x509cset.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/x509/x509name.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/x509/x509rset.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/x509/x509spki.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/x509/x_algor.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/x509/x_all.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/x509/x_attrib.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/x509/x_crl.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/x509/x_exten.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/x509/x_info.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/x509/x_name.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/x509/x_pkey.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/x509/x_pubkey.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/x509/x_req.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/x509/x_sig.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/x509/x_spki.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/x509/x_val.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/x509/x_x509.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/x509/x_x509a.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/x509v3/ext_dat.h",
+ "src/third_party/boringssl-with-bazel/src/crypto/x509v3/internal.h",
+ "src/third_party/boringssl-with-bazel/src/crypto/x509v3/pcy_cache.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/x509v3/pcy_data.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/x509v3/pcy_lib.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/x509v3/pcy_map.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/x509v3/pcy_node.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/x509v3/pcy_tree.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_akey.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_akeya.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_alt.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_bcons.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_bitst.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_conf.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_cpols.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_crld.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_enum.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_extku.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_genn.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_ia5.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_info.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_int.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_lib.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_ncons.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_ocsp.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_pci.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_pcia.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_pcons.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_pmaps.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_prn.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_purp.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_skey.c",
+ "src/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_utl.c",
+ "src/third_party/boringssl-with-bazel/src/include/openssl/aead.h",
+ "src/third_party/boringssl-with-bazel/src/include/openssl/aes.h",
+ "src/third_party/boringssl-with-bazel/src/include/openssl/arm_arch.h",
+ "src/third_party/boringssl-with-bazel/src/include/openssl/asn1.h",
+ "src/third_party/boringssl-with-bazel/src/include/openssl/asn1_mac.h",
+ "src/third_party/boringssl-with-bazel/src/include/openssl/asn1t.h",
+ "src/third_party/boringssl-with-bazel/src/include/openssl/base.h",
+ "src/third_party/boringssl-with-bazel/src/include/openssl/base64.h",
+ "src/third_party/boringssl-with-bazel/src/include/openssl/bio.h",
+ "src/third_party/boringssl-with-bazel/src/include/openssl/blake2.h",
+ "src/third_party/boringssl-with-bazel/src/include/openssl/blowfish.h",
+ "src/third_party/boringssl-with-bazel/src/include/openssl/bn.h",
+ "src/third_party/boringssl-with-bazel/src/include/openssl/buf.h",
+ "src/third_party/boringssl-with-bazel/src/include/openssl/buffer.h",
+ "src/third_party/boringssl-with-bazel/src/include/openssl/bytestring.h",
+ "src/third_party/boringssl-with-bazel/src/include/openssl/cast.h",
+ "src/third_party/boringssl-with-bazel/src/include/openssl/chacha.h",
+ "src/third_party/boringssl-with-bazel/src/include/openssl/cipher.h",
+ "src/third_party/boringssl-with-bazel/src/include/openssl/cmac.h",
+ "src/third_party/boringssl-with-bazel/src/include/openssl/conf.h",
+ "src/third_party/boringssl-with-bazel/src/include/openssl/cpu.h",
+ "src/third_party/boringssl-with-bazel/src/include/openssl/crypto.h",
+ "src/third_party/boringssl-with-bazel/src/include/openssl/curve25519.h",
+ "src/third_party/boringssl-with-bazel/src/include/openssl/des.h",
+ "src/third_party/boringssl-with-bazel/src/include/openssl/dh.h",
+ "src/third_party/boringssl-with-bazel/src/include/openssl/digest.h",
+ "src/third_party/boringssl-with-bazel/src/include/openssl/dsa.h",
+ "src/third_party/boringssl-with-bazel/src/include/openssl/dtls1.h",
+ "src/third_party/boringssl-with-bazel/src/include/openssl/e_os2.h",
+ "src/third_party/boringssl-with-bazel/src/include/openssl/ec.h",
+ "src/third_party/boringssl-with-bazel/src/include/openssl/ec_key.h",
+ "src/third_party/boringssl-with-bazel/src/include/openssl/ecdh.h",
+ "src/third_party/boringssl-with-bazel/src/include/openssl/ecdsa.h",
+ "src/third_party/boringssl-with-bazel/src/include/openssl/engine.h",
+ "src/third_party/boringssl-with-bazel/src/include/openssl/err.h",
+ "src/third_party/boringssl-with-bazel/src/include/openssl/evp.h",
+ "src/third_party/boringssl-with-bazel/src/include/openssl/evp_errors.h",
+ "src/third_party/boringssl-with-bazel/src/include/openssl/ex_data.h",
+ "src/third_party/boringssl-with-bazel/src/include/openssl/hkdf.h",
+ "src/third_party/boringssl-with-bazel/src/include/openssl/hmac.h",
+ "src/third_party/boringssl-with-bazel/src/include/openssl/hpke.h",
+ "src/third_party/boringssl-with-bazel/src/include/openssl/hrss.h",
+ "src/third_party/boringssl-with-bazel/src/include/openssl/is_boringssl.h",
+ "src/third_party/boringssl-with-bazel/src/include/openssl/lhash.h",
+ "src/third_party/boringssl-with-bazel/src/include/openssl/md4.h",
+ "src/third_party/boringssl-with-bazel/src/include/openssl/md5.h",
+ "src/third_party/boringssl-with-bazel/src/include/openssl/mem.h",
+ "src/third_party/boringssl-with-bazel/src/include/openssl/nid.h",
+ "src/third_party/boringssl-with-bazel/src/include/openssl/obj.h",
+ "src/third_party/boringssl-with-bazel/src/include/openssl/obj_mac.h",
+ "src/third_party/boringssl-with-bazel/src/include/openssl/objects.h",
+ "src/third_party/boringssl-with-bazel/src/include/openssl/opensslconf.h",
+ "src/third_party/boringssl-with-bazel/src/include/openssl/opensslv.h",
+ "src/third_party/boringssl-with-bazel/src/include/openssl/ossl_typ.h",
+ "src/third_party/boringssl-with-bazel/src/include/openssl/pem.h",
+ "src/third_party/boringssl-with-bazel/src/include/openssl/pkcs12.h",
+ "src/third_party/boringssl-with-bazel/src/include/openssl/pkcs7.h",
+ "src/third_party/boringssl-with-bazel/src/include/openssl/pkcs8.h",
+ "src/third_party/boringssl-with-bazel/src/include/openssl/poly1305.h",
+ "src/third_party/boringssl-with-bazel/src/include/openssl/pool.h",
+ "src/third_party/boringssl-with-bazel/src/include/openssl/rand.h",
+ "src/third_party/boringssl-with-bazel/src/include/openssl/rc4.h",
+ "src/third_party/boringssl-with-bazel/src/include/openssl/ripemd.h",
+ "src/third_party/boringssl-with-bazel/src/include/openssl/rsa.h",
+ "src/third_party/boringssl-with-bazel/src/include/openssl/safestack.h",
+ "src/third_party/boringssl-with-bazel/src/include/openssl/sha.h",
+ "src/third_party/boringssl-with-bazel/src/include/openssl/siphash.h",
+ "src/third_party/boringssl-with-bazel/src/include/openssl/span.h",
+ "src/third_party/boringssl-with-bazel/src/include/openssl/srtp.h",
+ "src/third_party/boringssl-with-bazel/src/include/openssl/ssl.h",
+ "src/third_party/boringssl-with-bazel/src/include/openssl/ssl3.h",
+ "src/third_party/boringssl-with-bazel/src/include/openssl/stack.h",
+ "src/third_party/boringssl-with-bazel/src/include/openssl/thread.h",
+ "src/third_party/boringssl-with-bazel/src/include/openssl/tls1.h",
+ "src/third_party/boringssl-with-bazel/src/include/openssl/trust_token.h",
+ "src/third_party/boringssl-with-bazel/src/include/openssl/type_check.h",
+ "src/third_party/boringssl-with-bazel/src/include/openssl/x509.h",
+ "src/third_party/boringssl-with-bazel/src/include/openssl/x509_vfy.h",
+ "src/third_party/boringssl-with-bazel/src/include/openssl/x509v3.h",
+ "src/third_party/boringssl-with-bazel/src/ssl/bio_ssl.cc",
+ "src/third_party/boringssl-with-bazel/src/ssl/d1_both.cc",
+ "src/third_party/boringssl-with-bazel/src/ssl/d1_lib.cc",
+ "src/third_party/boringssl-with-bazel/src/ssl/d1_pkt.cc",
+ "src/third_party/boringssl-with-bazel/src/ssl/d1_srtp.cc",
+ "src/third_party/boringssl-with-bazel/src/ssl/dtls_method.cc",
+ "src/third_party/boringssl-with-bazel/src/ssl/dtls_record.cc",
+ "src/third_party/boringssl-with-bazel/src/ssl/encrypted_client_hello.cc",
+ "src/third_party/boringssl-with-bazel/src/ssl/extensions.cc",
+ "src/third_party/boringssl-with-bazel/src/ssl/handoff.cc",
+ "src/third_party/boringssl-with-bazel/src/ssl/handshake.cc",
+ "src/third_party/boringssl-with-bazel/src/ssl/handshake_client.cc",
+ "src/third_party/boringssl-with-bazel/src/ssl/handshake_server.cc",
+ "src/third_party/boringssl-with-bazel/src/ssl/internal.h",
+ "src/third_party/boringssl-with-bazel/src/ssl/s3_both.cc",
+ "src/third_party/boringssl-with-bazel/src/ssl/s3_lib.cc",
+ "src/third_party/boringssl-with-bazel/src/ssl/s3_pkt.cc",
+ "src/third_party/boringssl-with-bazel/src/ssl/ssl_aead_ctx.cc",
+ "src/third_party/boringssl-with-bazel/src/ssl/ssl_asn1.cc",
+ "src/third_party/boringssl-with-bazel/src/ssl/ssl_buffer.cc",
+ "src/third_party/boringssl-with-bazel/src/ssl/ssl_cert.cc",
+ "src/third_party/boringssl-with-bazel/src/ssl/ssl_cipher.cc",
+ "src/third_party/boringssl-with-bazel/src/ssl/ssl_file.cc",
+ "src/third_party/boringssl-with-bazel/src/ssl/ssl_key_share.cc",
+ "src/third_party/boringssl-with-bazel/src/ssl/ssl_lib.cc",
+ "src/third_party/boringssl-with-bazel/src/ssl/ssl_privkey.cc",
+ "src/third_party/boringssl-with-bazel/src/ssl/ssl_session.cc",
+ "src/third_party/boringssl-with-bazel/src/ssl/ssl_stat.cc",
+ "src/third_party/boringssl-with-bazel/src/ssl/ssl_transcript.cc",
+ "src/third_party/boringssl-with-bazel/src/ssl/ssl_versions.cc",
+ "src/third_party/boringssl-with-bazel/src/ssl/ssl_x509.cc",
+ "src/third_party/boringssl-with-bazel/src/ssl/t1_enc.cc",
+ "src/third_party/boringssl-with-bazel/src/ssl/tls13_both.cc",
+ "src/third_party/boringssl-with-bazel/src/ssl/tls13_client.cc",
+ "src/third_party/boringssl-with-bazel/src/ssl/tls13_enc.cc",
+ "src/third_party/boringssl-with-bazel/src/ssl/tls13_server.cc",
+ "src/third_party/boringssl-with-bazel/src/ssl/tls_method.cc",
+ "src/third_party/boringssl-with-bazel/src/ssl/tls_record.cc",
+ "src/third_party/boringssl-with-bazel/src/third_party/fiat/curve25519_32.h",
+ "src/third_party/boringssl-with-bazel/src/third_party/fiat/curve25519_64.h",
+ "src/third_party/boringssl-with-bazel/src/third_party/fiat/p256_32.h",
+ "src/third_party/boringssl-with-bazel/src/third_party/fiat/p256_64.h",
+ ]
+ public_deps = []
+ public_configs = [ "..:grpc_boringssl_config" ]
+ configs -= [ "//gn/standalone:extra_warnings" ]
+}
+
+source_set("address_sorting") {
+ sources = [
+ "src/third_party/address_sorting/address_sorting.c",
+ "src/third_party/address_sorting/address_sorting_internal.h",
+ "src/third_party/address_sorting/address_sorting_posix.c",
+ "src/third_party/address_sorting/address_sorting_windows.c",
+ "src/third_party/address_sorting/include/address_sorting/address_sorting.h",
+ ]
+ public_deps = []
+ public_configs = [ "..:grpc_internal_config" ]
+ configs -= [ "//gn/standalone:extra_warnings" ]
+}
+
+source_set("gpr") {
+ sources = [
+ "src/src/core/lib/event_engine/thread_local.cc",
+ "src/src/core/lib/event_engine/thread_local.h",
+ "src/src/core/lib/gpr/alloc.cc",
+ "src/src/core/lib/gpr/alloc.h",
+ "src/src/core/lib/gpr/atm.cc",
+ "src/src/core/lib/gpr/cpu_iphone.cc",
+ "src/src/core/lib/gpr/cpu_linux.cc",
+ "src/src/core/lib/gpr/cpu_posix.cc",
+ "src/src/core/lib/gpr/cpu_windows.cc",
+ "src/src/core/lib/gpr/log.cc",
+ "src/src/core/lib/gpr/log_android.cc",
+ "src/src/core/lib/gpr/log_linux.cc",
+ "src/src/core/lib/gpr/log_posix.cc",
+ "src/src/core/lib/gpr/log_windows.cc",
+ "src/src/core/lib/gpr/string.cc",
+ "src/src/core/lib/gpr/string.h",
+ "src/src/core/lib/gpr/string_posix.cc",
+ "src/src/core/lib/gpr/string_util_windows.cc",
+ "src/src/core/lib/gpr/string_windows.cc",
+ "src/src/core/lib/gpr/sync.cc",
+ "src/src/core/lib/gpr/sync_abseil.cc",
+ "src/src/core/lib/gpr/sync_posix.cc",
+ "src/src/core/lib/gpr/sync_windows.cc",
+ "src/src/core/lib/gpr/time.cc",
+ "src/src/core/lib/gpr/time_posix.cc",
+ "src/src/core/lib/gpr/time_precise.cc",
+ "src/src/core/lib/gpr/time_precise.h",
+ "src/src/core/lib/gpr/time_windows.cc",
+ "src/src/core/lib/gpr/tmpfile.h",
+ "src/src/core/lib/gpr/tmpfile_msys.cc",
+ "src/src/core/lib/gpr/tmpfile_posix.cc",
+ "src/src/core/lib/gpr/tmpfile_windows.cc",
+ "src/src/core/lib/gpr/useful.h",
+ "src/src/core/lib/gpr/wrap_memcpy.cc",
+ "src/src/core/lib/gprpp/construct_destruct.h",
+ "src/src/core/lib/gprpp/crash.cc",
+ "src/src/core/lib/gprpp/crash.h",
+ "src/src/core/lib/gprpp/debug_location.h",
+ "src/src/core/lib/gprpp/env.h",
+ "src/src/core/lib/gprpp/env_linux.cc",
+ "src/src/core/lib/gprpp/env_posix.cc",
+ "src/src/core/lib/gprpp/env_windows.cc",
+ "src/src/core/lib/gprpp/examine_stack.cc",
+ "src/src/core/lib/gprpp/examine_stack.h",
+ "src/src/core/lib/gprpp/fork.cc",
+ "src/src/core/lib/gprpp/fork.h",
+ "src/src/core/lib/gprpp/global_config.h",
+ "src/src/core/lib/gprpp/global_config_custom.h",
+ "src/src/core/lib/gprpp/global_config_env.cc",
+ "src/src/core/lib/gprpp/global_config_env.h",
+ "src/src/core/lib/gprpp/global_config_generic.h",
+ "src/src/core/lib/gprpp/host_port.cc",
+ "src/src/core/lib/gprpp/host_port.h",
+ "src/src/core/lib/gprpp/memory.h",
+ "src/src/core/lib/gprpp/mpscq.cc",
+ "src/src/core/lib/gprpp/mpscq.h",
+ "src/src/core/lib/gprpp/no_destruct.h",
+ "src/src/core/lib/gprpp/stat.h",
+ "src/src/core/lib/gprpp/stat_posix.cc",
+ "src/src/core/lib/gprpp/stat_windows.cc",
+ "src/src/core/lib/gprpp/strerror.cc",
+ "src/src/core/lib/gprpp/strerror.h",
+ "src/src/core/lib/gprpp/sync.h",
+ "src/src/core/lib/gprpp/tchar.cc",
+ "src/src/core/lib/gprpp/tchar.h",
+ "src/src/core/lib/gprpp/thd.h",
+ "src/src/core/lib/gprpp/thd_posix.cc",
+ "src/src/core/lib/gprpp/thd_windows.cc",
+ "src/src/core/lib/gprpp/time_util.cc",
+ "src/src/core/lib/gprpp/time_util.h",
+ ]
+ public_deps = [
+ ":absl_base_base",
+ ":absl_base_core_headers",
+ ":absl_memory_memory",
+ ":absl_random_random",
+ ":absl_status_status",
+ ":absl_strings_cord",
+ ":absl_strings_str_format",
+ ":absl_strings_strings",
+ ":absl_synchronization_synchronization",
+ ":absl_time_time",
+ ":absl_types_optional",
+ ":absl_types_variant",
+ ]
+ public_configs = [ "..:grpc_internal_config" ]
+ configs -= [ "//gn/standalone:extra_warnings" ]
+}
+
+source_set("grpc") {
+ sources = [
+ "src/src/core/ext/filters/census/grpc_context.cc",
+ "src/src/core/ext/filters/channel_idle/channel_idle_filter.cc",
+ "src/src/core/ext/filters/channel_idle/channel_idle_filter.h",
+ "src/src/core/ext/filters/channel_idle/idle_filter_state.cc",
+ "src/src/core/ext/filters/channel_idle/idle_filter_state.h",
+ "src/src/core/ext/filters/client_channel/backend_metric.cc",
+ "src/src/core/ext/filters/client_channel/backend_metric.h",
+ "src/src/core/ext/filters/client_channel/backup_poller.cc",
+ "src/src/core/ext/filters/client_channel/backup_poller.h",
+ "src/src/core/ext/filters/client_channel/channel_connectivity.cc",
+ "src/src/core/ext/filters/client_channel/client_channel.cc",
+ "src/src/core/ext/filters/client_channel/client_channel.h",
+ "src/src/core/ext/filters/client_channel/client_channel_channelz.cc",
+ "src/src/core/ext/filters/client_channel/client_channel_channelz.h",
+ "src/src/core/ext/filters/client_channel/client_channel_factory.cc",
+ "src/src/core/ext/filters/client_channel/client_channel_factory.h",
+ "src/src/core/ext/filters/client_channel/client_channel_plugin.cc",
+ "src/src/core/ext/filters/client_channel/client_channel_service_config.cc",
+ "src/src/core/ext/filters/client_channel/client_channel_service_config.h",
+ "src/src/core/ext/filters/client_channel/config_selector.cc",
+ "src/src/core/ext/filters/client_channel/config_selector.h",
+ "src/src/core/ext/filters/client_channel/connector.h",
+ "src/src/core/ext/filters/client_channel/dynamic_filters.cc",
+ "src/src/core/ext/filters/client_channel/dynamic_filters.h",
+ "src/src/core/ext/filters/client_channel/global_subchannel_pool.cc",
+ "src/src/core/ext/filters/client_channel/global_subchannel_pool.h",
+ "src/src/core/ext/filters/client_channel/health/health_check_client.cc",
+ "src/src/core/ext/filters/client_channel/health/health_check_client.h",
+ "src/src/core/ext/filters/client_channel/http_proxy.cc",
+ "src/src/core/ext/filters/client_channel/http_proxy.h",
+ "src/src/core/ext/filters/client_channel/lb_call_state_internal.h",
+ "src/src/core/ext/filters/client_channel/lb_policy/address_filtering.cc",
+ "src/src/core/ext/filters/client_channel/lb_policy/address_filtering.h",
+ "src/src/core/ext/filters/client_channel/lb_policy/backend_metric_data.h",
+ "src/src/core/ext/filters/client_channel/lb_policy/child_policy_handler.cc",
+ "src/src/core/ext/filters/client_channel/lb_policy/child_policy_handler.h",
+ "src/src/core/ext/filters/client_channel/lb_policy/grpclb/client_load_reporting_filter.cc",
+ "src/src/core/ext/filters/client_channel/lb_policy/grpclb/client_load_reporting_filter.h",
+ "src/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.cc",
+ "src/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.h",
+ "src/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_balancer_addresses.cc",
+ "src/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_balancer_addresses.h",
+ "src/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_client_stats.cc",
+ "src/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_client_stats.h",
+ "src/src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.cc",
+ "src/src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.h",
+ "src/src/core/ext/filters/client_channel/lb_policy/oob_backend_metric.cc",
+ "src/src/core/ext/filters/client_channel/lb_policy/oob_backend_metric.h",
+ "src/src/core/ext/filters/client_channel/lb_policy/oob_backend_metric_internal.h",
+ "src/src/core/ext/filters/client_channel/lb_policy/outlier_detection/outlier_detection.cc",
+ "src/src/core/ext/filters/client_channel/lb_policy/outlier_detection/outlier_detection.h",
+ "src/src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.cc",
+ "src/src/core/ext/filters/client_channel/lb_policy/priority/priority.cc",
+ "src/src/core/ext/filters/client_channel/lb_policy/ring_hash/ring_hash.cc",
+ "src/src/core/ext/filters/client_channel/lb_policy/ring_hash/ring_hash.h",
+ "src/src/core/ext/filters/client_channel/lb_policy/rls/rls.cc",
+ "src/src/core/ext/filters/client_channel/lb_policy/round_robin/round_robin.cc",
+ "src/src/core/ext/filters/client_channel/lb_policy/subchannel_list.h",
+ "src/src/core/ext/filters/client_channel/lb_policy/weighted_round_robin/static_stride_scheduler.cc",
+ "src/src/core/ext/filters/client_channel/lb_policy/weighted_round_robin/static_stride_scheduler.h",
+ "src/src/core/ext/filters/client_channel/lb_policy/weighted_round_robin/weighted_round_robin.cc",
+ "src/src/core/ext/filters/client_channel/lb_policy/weighted_target/weighted_target.cc",
+ "src/src/core/ext/filters/client_channel/lb_policy/xds/cds.cc",
+ "src/src/core/ext/filters/client_channel/lb_policy/xds/xds_attributes.cc",
+ "src/src/core/ext/filters/client_channel/lb_policy/xds/xds_attributes.h",
+ "src/src/core/ext/filters/client_channel/lb_policy/xds/xds_channel_args.h",
+ "src/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_impl.cc",
+ "src/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_manager.cc",
+ "src/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_resolver.cc",
+ "src/src/core/ext/filters/client_channel/lb_policy/xds/xds_override_host.cc",
+ "src/src/core/ext/filters/client_channel/lb_policy/xds/xds_override_host.h",
+ "src/src/core/ext/filters/client_channel/lb_policy/xds/xds_wrr_locality.cc",
+ "src/src/core/ext/filters/client_channel/local_subchannel_pool.cc",
+ "src/src/core/ext/filters/client_channel/local_subchannel_pool.h",
+ "src/src/core/ext/filters/client_channel/resolver/binder/binder_resolver.cc",
+ "src/src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.cc",
+ "src/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver.h",
+ "src/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_posix.cc",
+ "src/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_windows.cc",
+ "src/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.cc",
+ "src/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.h",
+ "src/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper_posix.cc",
+ "src/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper_windows.cc",
+ "src/src/core/ext/filters/client_channel/resolver/dns/dns_resolver_selection.cc",
+ "src/src/core/ext/filters/client_channel/resolver/dns/dns_resolver_selection.h",
+ "src/src/core/ext/filters/client_channel/resolver/dns/native/dns_resolver.cc",
+ "src/src/core/ext/filters/client_channel/resolver/fake/fake_resolver.cc",
+ "src/src/core/ext/filters/client_channel/resolver/fake/fake_resolver.h",
+ "src/src/core/ext/filters/client_channel/resolver/google_c2p/google_c2p_resolver.cc",
+ "src/src/core/ext/filters/client_channel/resolver/polling_resolver.cc",
+ "src/src/core/ext/filters/client_channel/resolver/polling_resolver.h",
+ "src/src/core/ext/filters/client_channel/resolver/sockaddr/sockaddr_resolver.cc",
+ "src/src/core/ext/filters/client_channel/resolver/xds/xds_resolver.cc",
+ "src/src/core/ext/filters/client_channel/resolver/xds/xds_resolver.h",
+ "src/src/core/ext/filters/client_channel/retry_filter.cc",
+ "src/src/core/ext/filters/client_channel/retry_filter.h",
+ "src/src/core/ext/filters/client_channel/retry_service_config.cc",
+ "src/src/core/ext/filters/client_channel/retry_service_config.h",
+ "src/src/core/ext/filters/client_channel/retry_throttle.cc",
+ "src/src/core/ext/filters/client_channel/retry_throttle.h",
+ "src/src/core/ext/filters/client_channel/service_config_channel_arg_filter.cc",
+ "src/src/core/ext/filters/client_channel/subchannel.cc",
+ "src/src/core/ext/filters/client_channel/subchannel.h",
+ "src/src/core/ext/filters/client_channel/subchannel_interface_internal.h",
+ "src/src/core/ext/filters/client_channel/subchannel_pool_interface.cc",
+ "src/src/core/ext/filters/client_channel/subchannel_pool_interface.h",
+ "src/src/core/ext/filters/client_channel/subchannel_stream_client.cc",
+ "src/src/core/ext/filters/client_channel/subchannel_stream_client.h",
+ "src/src/core/ext/filters/deadline/deadline_filter.cc",
+ "src/src/core/ext/filters/deadline/deadline_filter.h",
+ "src/src/core/ext/filters/fault_injection/fault_injection_filter.cc",
+ "src/src/core/ext/filters/fault_injection/fault_injection_filter.h",
+ "src/src/core/ext/filters/fault_injection/fault_injection_service_config_parser.cc",
+ "src/src/core/ext/filters/fault_injection/fault_injection_service_config_parser.h",
+ "src/src/core/ext/filters/http/client/http_client_filter.cc",
+ "src/src/core/ext/filters/http/client/http_client_filter.h",
+ "src/src/core/ext/filters/http/client_authority_filter.cc",
+ "src/src/core/ext/filters/http/client_authority_filter.h",
+ "src/src/core/ext/filters/http/http_filters_plugin.cc",
+ "src/src/core/ext/filters/http/message_compress/compression_filter.cc",
+ "src/src/core/ext/filters/http/message_compress/compression_filter.h",
+ "src/src/core/ext/filters/http/server/http_server_filter.cc",
+ "src/src/core/ext/filters/http/server/http_server_filter.h",
+ "src/src/core/ext/filters/message_size/message_size_filter.cc",
+ "src/src/core/ext/filters/message_size/message_size_filter.h",
+ "src/src/core/ext/filters/rbac/rbac_filter.cc",
+ "src/src/core/ext/filters/rbac/rbac_filter.h",
+ "src/src/core/ext/filters/rbac/rbac_service_config_parser.cc",
+ "src/src/core/ext/filters/rbac/rbac_service_config_parser.h",
+ "src/src/core/ext/filters/server_config_selector/server_config_selector.h",
+ "src/src/core/ext/filters/server_config_selector/server_config_selector_filter.cc",
+ "src/src/core/ext/filters/server_config_selector/server_config_selector_filter.h",
+ "src/src/core/ext/filters/stateful_session/stateful_session_filter.cc",
+ "src/src/core/ext/filters/stateful_session/stateful_session_filter.h",
+ "src/src/core/ext/filters/stateful_session/stateful_session_service_config_parser.cc",
+ "src/src/core/ext/filters/stateful_session/stateful_session_service_config_parser.h",
+ "src/src/core/ext/transport/chttp2/alpn/alpn.cc",
+ "src/src/core/ext/transport/chttp2/alpn/alpn.h",
+ "src/src/core/ext/transport/chttp2/client/chttp2_connector.cc",
+ "src/src/core/ext/transport/chttp2/client/chttp2_connector.h",
+ "src/src/core/ext/transport/chttp2/server/chttp2_server.cc",
+ "src/src/core/ext/transport/chttp2/server/chttp2_server.h",
+ "src/src/core/ext/transport/chttp2/transport/bin_decoder.cc",
+ "src/src/core/ext/transport/chttp2/transport/bin_decoder.h",
+ "src/src/core/ext/transport/chttp2/transport/bin_encoder.cc",
+ "src/src/core/ext/transport/chttp2/transport/bin_encoder.h",
+ "src/src/core/ext/transport/chttp2/transport/chttp2_transport.cc",
+ "src/src/core/ext/transport/chttp2/transport/chttp2_transport.h",
+ "src/src/core/ext/transport/chttp2/transport/context_list.cc",
+ "src/src/core/ext/transport/chttp2/transport/context_list.h",
+ "src/src/core/ext/transport/chttp2/transport/decode_huff.cc",
+ "src/src/core/ext/transport/chttp2/transport/decode_huff.h",
+ "src/src/core/ext/transport/chttp2/transport/flow_control.cc",
+ "src/src/core/ext/transport/chttp2/transport/flow_control.h",
+ "src/src/core/ext/transport/chttp2/transport/frame.h",
+ "src/src/core/ext/transport/chttp2/transport/frame_data.cc",
+ "src/src/core/ext/transport/chttp2/transport/frame_data.h",
+ "src/src/core/ext/transport/chttp2/transport/frame_goaway.cc",
+ "src/src/core/ext/transport/chttp2/transport/frame_goaway.h",
+ "src/src/core/ext/transport/chttp2/transport/frame_ping.cc",
+ "src/src/core/ext/transport/chttp2/transport/frame_ping.h",
+ "src/src/core/ext/transport/chttp2/transport/frame_rst_stream.cc",
+ "src/src/core/ext/transport/chttp2/transport/frame_rst_stream.h",
+ "src/src/core/ext/transport/chttp2/transport/frame_settings.cc",
+ "src/src/core/ext/transport/chttp2/transport/frame_settings.h",
+ "src/src/core/ext/transport/chttp2/transport/frame_window_update.cc",
+ "src/src/core/ext/transport/chttp2/transport/frame_window_update.h",
+ "src/src/core/ext/transport/chttp2/transport/hpack_constants.h",
+ "src/src/core/ext/transport/chttp2/transport/hpack_encoder.cc",
+ "src/src/core/ext/transport/chttp2/transport/hpack_encoder.h",
+ "src/src/core/ext/transport/chttp2/transport/hpack_encoder_table.cc",
+ "src/src/core/ext/transport/chttp2/transport/hpack_encoder_table.h",
+ "src/src/core/ext/transport/chttp2/transport/hpack_parser.cc",
+ "src/src/core/ext/transport/chttp2/transport/hpack_parser.h",
+ "src/src/core/ext/transport/chttp2/transport/hpack_parser_table.cc",
+ "src/src/core/ext/transport/chttp2/transport/hpack_parser_table.h",
+ "src/src/core/ext/transport/chttp2/transport/http2_settings.cc",
+ "src/src/core/ext/transport/chttp2/transport/http2_settings.h",
+ "src/src/core/ext/transport/chttp2/transport/http_trace.cc",
+ "src/src/core/ext/transport/chttp2/transport/http_trace.h",
+ "src/src/core/ext/transport/chttp2/transport/huffsyms.cc",
+ "src/src/core/ext/transport/chttp2/transport/huffsyms.h",
+ "src/src/core/ext/transport/chttp2/transport/internal.h",
+ "src/src/core/ext/transport/chttp2/transport/parsing.cc",
+ "src/src/core/ext/transport/chttp2/transport/stream_lists.cc",
+ "src/src/core/ext/transport/chttp2/transport/stream_map.cc",
+ "src/src/core/ext/transport/chttp2/transport/stream_map.h",
+ "src/src/core/ext/transport/chttp2/transport/varint.cc",
+ "src/src/core/ext/transport/chttp2/transport/varint.h",
+ "src/src/core/ext/transport/chttp2/transport/writing.cc",
+ "src/src/core/ext/transport/inproc/inproc_plugin.cc",
+ "src/src/core/ext/transport/inproc/inproc_transport.cc",
+ "src/src/core/ext/transport/inproc/inproc_transport.h",
+ "src/src/core/ext/upb-generated/envoy/admin/v3/certs.upb.c",
+ "src/src/core/ext/upb-generated/envoy/admin/v3/certs.upb.h",
+ "src/src/core/ext/upb-generated/envoy/admin/v3/clusters.upb.c",
+ "src/src/core/ext/upb-generated/envoy/admin/v3/clusters.upb.h",
+ "src/src/core/ext/upb-generated/envoy/admin/v3/config_dump.upb.c",
+ "src/src/core/ext/upb-generated/envoy/admin/v3/config_dump.upb.h",
+ "src/src/core/ext/upb-generated/envoy/admin/v3/config_dump_shared.upb.c",
+ "src/src/core/ext/upb-generated/envoy/admin/v3/config_dump_shared.upb.h",
+ "src/src/core/ext/upb-generated/envoy/admin/v3/init_dump.upb.c",
+ "src/src/core/ext/upb-generated/envoy/admin/v3/init_dump.upb.h",
+ "src/src/core/ext/upb-generated/envoy/admin/v3/listeners.upb.c",
+ "src/src/core/ext/upb-generated/envoy/admin/v3/listeners.upb.h",
+ "src/src/core/ext/upb-generated/envoy/admin/v3/memory.upb.c",
+ "src/src/core/ext/upb-generated/envoy/admin/v3/memory.upb.h",
+ "src/src/core/ext/upb-generated/envoy/admin/v3/metrics.upb.c",
+ "src/src/core/ext/upb-generated/envoy/admin/v3/metrics.upb.h",
+ "src/src/core/ext/upb-generated/envoy/admin/v3/mutex_stats.upb.c",
+ "src/src/core/ext/upb-generated/envoy/admin/v3/mutex_stats.upb.h",
+ "src/src/core/ext/upb-generated/envoy/admin/v3/server_info.upb.c",
+ "src/src/core/ext/upb-generated/envoy/admin/v3/server_info.upb.h",
+ "src/src/core/ext/upb-generated/envoy/admin/v3/tap.upb.c",
+ "src/src/core/ext/upb-generated/envoy/admin/v3/tap.upb.h",
+ "src/src/core/ext/upb-generated/envoy/annotations/deprecation.upb.c",
+ "src/src/core/ext/upb-generated/envoy/annotations/deprecation.upb.h",
+ "src/src/core/ext/upb-generated/envoy/annotations/resource.upb.c",
+ "src/src/core/ext/upb-generated/envoy/annotations/resource.upb.h",
+ "src/src/core/ext/upb-generated/envoy/config/accesslog/v3/accesslog.upb.c",
+ "src/src/core/ext/upb-generated/envoy/config/accesslog/v3/accesslog.upb.h",
+ "src/src/core/ext/upb-generated/envoy/config/bootstrap/v3/bootstrap.upb.c",
+ "src/src/core/ext/upb-generated/envoy/config/bootstrap/v3/bootstrap.upb.h",
+ "src/src/core/ext/upb-generated/envoy/config/cluster/v3/circuit_breaker.upb.c",
+ "src/src/core/ext/upb-generated/envoy/config/cluster/v3/circuit_breaker.upb.h",
+ "src/src/core/ext/upb-generated/envoy/config/cluster/v3/cluster.upb.c",
+ "src/src/core/ext/upb-generated/envoy/config/cluster/v3/cluster.upb.h",
+ "src/src/core/ext/upb-generated/envoy/config/cluster/v3/filter.upb.c",
+ "src/src/core/ext/upb-generated/envoy/config/cluster/v3/filter.upb.h",
+ "src/src/core/ext/upb-generated/envoy/config/cluster/v3/outlier_detection.upb.c",
+ "src/src/core/ext/upb-generated/envoy/config/cluster/v3/outlier_detection.upb.h",
+ "src/src/core/ext/upb-generated/envoy/config/common/matcher/v3/matcher.upb.c",
+ "src/src/core/ext/upb-generated/envoy/config/common/matcher/v3/matcher.upb.h",
+ "src/src/core/ext/upb-generated/envoy/config/core/v3/address.upb.c",
+ "src/src/core/ext/upb-generated/envoy/config/core/v3/address.upb.h",
+ "src/src/core/ext/upb-generated/envoy/config/core/v3/backoff.upb.c",
+ "src/src/core/ext/upb-generated/envoy/config/core/v3/backoff.upb.h",
+ "src/src/core/ext/upb-generated/envoy/config/core/v3/base.upb.c",
+ "src/src/core/ext/upb-generated/envoy/config/core/v3/base.upb.h",
+ "src/src/core/ext/upb-generated/envoy/config/core/v3/config_source.upb.c",
+ "src/src/core/ext/upb-generated/envoy/config/core/v3/config_source.upb.h",
+ "src/src/core/ext/upb-generated/envoy/config/core/v3/event_service_config.upb.c",
+ "src/src/core/ext/upb-generated/envoy/config/core/v3/event_service_config.upb.h",
+ "src/src/core/ext/upb-generated/envoy/config/core/v3/extension.upb.c",
+ "src/src/core/ext/upb-generated/envoy/config/core/v3/extension.upb.h",
+ "src/src/core/ext/upb-generated/envoy/config/core/v3/grpc_method_list.upb.c",
+ "src/src/core/ext/upb-generated/envoy/config/core/v3/grpc_method_list.upb.h",
+ "src/src/core/ext/upb-generated/envoy/config/core/v3/grpc_service.upb.c",
+ "src/src/core/ext/upb-generated/envoy/config/core/v3/grpc_service.upb.h",
+ "src/src/core/ext/upb-generated/envoy/config/core/v3/health_check.upb.c",
+ "src/src/core/ext/upb-generated/envoy/config/core/v3/health_check.upb.h",
+ "src/src/core/ext/upb-generated/envoy/config/core/v3/http_uri.upb.c",
+ "src/src/core/ext/upb-generated/envoy/config/core/v3/http_uri.upb.h",
+ "src/src/core/ext/upb-generated/envoy/config/core/v3/protocol.upb.c",
+ "src/src/core/ext/upb-generated/envoy/config/core/v3/protocol.upb.h",
+ "src/src/core/ext/upb-generated/envoy/config/core/v3/proxy_protocol.upb.c",
+ "src/src/core/ext/upb-generated/envoy/config/core/v3/proxy_protocol.upb.h",
+ "src/src/core/ext/upb-generated/envoy/config/core/v3/resolver.upb.c",
+ "src/src/core/ext/upb-generated/envoy/config/core/v3/resolver.upb.h",
+ "src/src/core/ext/upb-generated/envoy/config/core/v3/socket_option.upb.c",
+ "src/src/core/ext/upb-generated/envoy/config/core/v3/socket_option.upb.h",
+ "src/src/core/ext/upb-generated/envoy/config/core/v3/substitution_format_string.upb.c",
+ "src/src/core/ext/upb-generated/envoy/config/core/v3/substitution_format_string.upb.h",
+ "src/src/core/ext/upb-generated/envoy/config/core/v3/udp_socket_config.upb.c",
+ "src/src/core/ext/upb-generated/envoy/config/core/v3/udp_socket_config.upb.h",
+ "src/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint.upb.c",
+ "src/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint.upb.h",
+ "src/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint_components.upb.c",
+ "src/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint_components.upb.h",
+ "src/src/core/ext/upb-generated/envoy/config/endpoint/v3/load_report.upb.c",
+ "src/src/core/ext/upb-generated/envoy/config/endpoint/v3/load_report.upb.h",
+ "src/src/core/ext/upb-generated/envoy/config/listener/v3/api_listener.upb.c",
+ "src/src/core/ext/upb-generated/envoy/config/listener/v3/api_listener.upb.h",
+ "src/src/core/ext/upb-generated/envoy/config/listener/v3/listener.upb.c",
+ "src/src/core/ext/upb-generated/envoy/config/listener/v3/listener.upb.h",
+ "src/src/core/ext/upb-generated/envoy/config/listener/v3/listener_components.upb.c",
+ "src/src/core/ext/upb-generated/envoy/config/listener/v3/listener_components.upb.h",
+ "src/src/core/ext/upb-generated/envoy/config/listener/v3/quic_config.upb.c",
+ "src/src/core/ext/upb-generated/envoy/config/listener/v3/quic_config.upb.h",
+ "src/src/core/ext/upb-generated/envoy/config/listener/v3/udp_listener_config.upb.c",
+ "src/src/core/ext/upb-generated/envoy/config/listener/v3/udp_listener_config.upb.h",
+ "src/src/core/ext/upb-generated/envoy/config/metrics/v3/metrics_service.upb.c",
+ "src/src/core/ext/upb-generated/envoy/config/metrics/v3/metrics_service.upb.h",
+ "src/src/core/ext/upb-generated/envoy/config/metrics/v3/stats.upb.c",
+ "src/src/core/ext/upb-generated/envoy/config/metrics/v3/stats.upb.h",
+ "src/src/core/ext/upb-generated/envoy/config/overload/v3/overload.upb.c",
+ "src/src/core/ext/upb-generated/envoy/config/overload/v3/overload.upb.h",
+ "src/src/core/ext/upb-generated/envoy/config/rbac/v3/rbac.upb.c",
+ "src/src/core/ext/upb-generated/envoy/config/rbac/v3/rbac.upb.h",
+ "src/src/core/ext/upb-generated/envoy/config/route/v3/route.upb.c",
+ "src/src/core/ext/upb-generated/envoy/config/route/v3/route.upb.h",
+ "src/src/core/ext/upb-generated/envoy/config/route/v3/route_components.upb.c",
+ "src/src/core/ext/upb-generated/envoy/config/route/v3/route_components.upb.h",
+ "src/src/core/ext/upb-generated/envoy/config/route/v3/scoped_route.upb.c",
+ "src/src/core/ext/upb-generated/envoy/config/route/v3/scoped_route.upb.h",
+ "src/src/core/ext/upb-generated/envoy/config/tap/v3/common.upb.c",
+ "src/src/core/ext/upb-generated/envoy/config/tap/v3/common.upb.h",
+ "src/src/core/ext/upb-generated/envoy/config/trace/v3/datadog.upb.c",
+ "src/src/core/ext/upb-generated/envoy/config/trace/v3/datadog.upb.h",
+ "src/src/core/ext/upb-generated/envoy/config/trace/v3/dynamic_ot.upb.c",
+ "src/src/core/ext/upb-generated/envoy/config/trace/v3/dynamic_ot.upb.h",
+ "src/src/core/ext/upb-generated/envoy/config/trace/v3/http_tracer.upb.c",
+ "src/src/core/ext/upb-generated/envoy/config/trace/v3/http_tracer.upb.h",
+ "src/src/core/ext/upb-generated/envoy/config/trace/v3/lightstep.upb.c",
+ "src/src/core/ext/upb-generated/envoy/config/trace/v3/lightstep.upb.h",
+ "src/src/core/ext/upb-generated/envoy/config/trace/v3/opencensus.upb.c",
+ "src/src/core/ext/upb-generated/envoy/config/trace/v3/opencensus.upb.h",
+ "src/src/core/ext/upb-generated/envoy/config/trace/v3/opentelemetry.upb.c",
+ "src/src/core/ext/upb-generated/envoy/config/trace/v3/opentelemetry.upb.h",
+ "src/src/core/ext/upb-generated/envoy/config/trace/v3/service.upb.c",
+ "src/src/core/ext/upb-generated/envoy/config/trace/v3/service.upb.h",
+ "src/src/core/ext/upb-generated/envoy/config/trace/v3/skywalking.upb.c",
+ "src/src/core/ext/upb-generated/envoy/config/trace/v3/skywalking.upb.h",
+ "src/src/core/ext/upb-generated/envoy/config/trace/v3/trace.upb.c",
+ "src/src/core/ext/upb-generated/envoy/config/trace/v3/trace.upb.h",
+ "src/src/core/ext/upb-generated/envoy/config/trace/v3/xray.upb.c",
+ "src/src/core/ext/upb-generated/envoy/config/trace/v3/xray.upb.h",
+ "src/src/core/ext/upb-generated/envoy/config/trace/v3/zipkin.upb.c",
+ "src/src/core/ext/upb-generated/envoy/config/trace/v3/zipkin.upb.h",
+ "src/src/core/ext/upb-generated/envoy/extensions/clusters/aggregate/v3/cluster.upb.c",
+ "src/src/core/ext/upb-generated/envoy/extensions/clusters/aggregate/v3/cluster.upb.h",
+ "src/src/core/ext/upb-generated/envoy/extensions/filters/common/fault/v3/fault.upb.c",
+ "src/src/core/ext/upb-generated/envoy/extensions/filters/common/fault/v3/fault.upb.h",
+ "src/src/core/ext/upb-generated/envoy/extensions/filters/http/fault/v3/fault.upb.c",
+ "src/src/core/ext/upb-generated/envoy/extensions/filters/http/fault/v3/fault.upb.h",
+ "src/src/core/ext/upb-generated/envoy/extensions/filters/http/rbac/v3/rbac.upb.c",
+ "src/src/core/ext/upb-generated/envoy/extensions/filters/http/rbac/v3/rbac.upb.h",
+ "src/src/core/ext/upb-generated/envoy/extensions/filters/http/router/v3/router.upb.c",
+ "src/src/core/ext/upb-generated/envoy/extensions/filters/http/router/v3/router.upb.h",
+ "src/src/core/ext/upb-generated/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upb.c",
+ "src/src/core/ext/upb-generated/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upb.h",
+ "src/src/core/ext/upb-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.c",
+ "src/src/core/ext/upb-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.h",
+ "src/src/core/ext/upb-generated/envoy/extensions/http/stateful_session/cookie/v3/cookie.upb.c",
+ "src/src/core/ext/upb-generated/envoy/extensions/http/stateful_session/cookie/v3/cookie.upb.h",
+ "src/src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/client_side_weighted_round_robin/v3/client_side_weighted_round_robin.upb.c",
+ "src/src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/client_side_weighted_round_robin/v3/client_side_weighted_round_robin.upb.h",
+ "src/src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/common/v3/common.upb.c",
+ "src/src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/common/v3/common.upb.h",
+ "src/src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/ring_hash/v3/ring_hash.upb.c",
+ "src/src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/ring_hash/v3/ring_hash.upb.h",
+ "src/src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/wrr_locality/v3/wrr_locality.upb.c",
+ "src/src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/wrr_locality/v3/wrr_locality.upb.h",
+ "src/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/cert.upb.c",
+ "src/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/cert.upb.h",
+ "src/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/common.upb.c",
+ "src/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/common.upb.h",
+ "src/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/secret.upb.c",
+ "src/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/secret.upb.h",
+ "src/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/tls.upb.c",
+ "src/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/tls.upb.h",
+ "src/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.upb.c",
+ "src/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.upb.h",
+ "src/src/core/ext/upb-generated/envoy/service/discovery/v3/ads.upb.c",
+ "src/src/core/ext/upb-generated/envoy/service/discovery/v3/ads.upb.h",
+ "src/src/core/ext/upb-generated/envoy/service/discovery/v3/discovery.upb.c",
+ "src/src/core/ext/upb-generated/envoy/service/discovery/v3/discovery.upb.h",
+ "src/src/core/ext/upb-generated/envoy/service/load_stats/v3/lrs.upb.c",
+ "src/src/core/ext/upb-generated/envoy/service/load_stats/v3/lrs.upb.h",
+ "src/src/core/ext/upb-generated/envoy/service/status/v3/csds.upb.c",
+ "src/src/core/ext/upb-generated/envoy/service/status/v3/csds.upb.h",
+ "src/src/core/ext/upb-generated/envoy/type/http/v3/cookie.upb.c",
+ "src/src/core/ext/upb-generated/envoy/type/http/v3/cookie.upb.h",
+ "src/src/core/ext/upb-generated/envoy/type/http/v3/path_transformation.upb.c",
+ "src/src/core/ext/upb-generated/envoy/type/http/v3/path_transformation.upb.h",
+ "src/src/core/ext/upb-generated/envoy/type/matcher/v3/filter_state.upb.c",
+ "src/src/core/ext/upb-generated/envoy/type/matcher/v3/filter_state.upb.h",
+ "src/src/core/ext/upb-generated/envoy/type/matcher/v3/http_inputs.upb.c",
+ "src/src/core/ext/upb-generated/envoy/type/matcher/v3/http_inputs.upb.h",
+ "src/src/core/ext/upb-generated/envoy/type/matcher/v3/metadata.upb.c",
+ "src/src/core/ext/upb-generated/envoy/type/matcher/v3/metadata.upb.h",
+ "src/src/core/ext/upb-generated/envoy/type/matcher/v3/node.upb.c",
+ "src/src/core/ext/upb-generated/envoy/type/matcher/v3/node.upb.h",
+ "src/src/core/ext/upb-generated/envoy/type/matcher/v3/number.upb.c",
+ "src/src/core/ext/upb-generated/envoy/type/matcher/v3/number.upb.h",
+ "src/src/core/ext/upb-generated/envoy/type/matcher/v3/path.upb.c",
+ "src/src/core/ext/upb-generated/envoy/type/matcher/v3/path.upb.h",
+ "src/src/core/ext/upb-generated/envoy/type/matcher/v3/regex.upb.c",
+ "src/src/core/ext/upb-generated/envoy/type/matcher/v3/regex.upb.h",
+ "src/src/core/ext/upb-generated/envoy/type/matcher/v3/status_code_input.upb.c",
+ "src/src/core/ext/upb-generated/envoy/type/matcher/v3/status_code_input.upb.h",
+ "src/src/core/ext/upb-generated/envoy/type/matcher/v3/string.upb.c",
+ "src/src/core/ext/upb-generated/envoy/type/matcher/v3/string.upb.h",
+ "src/src/core/ext/upb-generated/envoy/type/matcher/v3/struct.upb.c",
+ "src/src/core/ext/upb-generated/envoy/type/matcher/v3/struct.upb.h",
+ "src/src/core/ext/upb-generated/envoy/type/matcher/v3/value.upb.c",
+ "src/src/core/ext/upb-generated/envoy/type/matcher/v3/value.upb.h",
+ "src/src/core/ext/upb-generated/envoy/type/metadata/v3/metadata.upb.c",
+ "src/src/core/ext/upb-generated/envoy/type/metadata/v3/metadata.upb.h",
+ "src/src/core/ext/upb-generated/envoy/type/tracing/v3/custom_tag.upb.c",
+ "src/src/core/ext/upb-generated/envoy/type/tracing/v3/custom_tag.upb.h",
+ "src/src/core/ext/upb-generated/envoy/type/v3/hash_policy.upb.c",
+ "src/src/core/ext/upb-generated/envoy/type/v3/hash_policy.upb.h",
+ "src/src/core/ext/upb-generated/envoy/type/v3/http.upb.c",
+ "src/src/core/ext/upb-generated/envoy/type/v3/http.upb.h",
+ "src/src/core/ext/upb-generated/envoy/type/v3/http_status.upb.c",
+ "src/src/core/ext/upb-generated/envoy/type/v3/http_status.upb.h",
+ "src/src/core/ext/upb-generated/envoy/type/v3/percent.upb.c",
+ "src/src/core/ext/upb-generated/envoy/type/v3/percent.upb.h",
+ "src/src/core/ext/upb-generated/envoy/type/v3/range.upb.c",
+ "src/src/core/ext/upb-generated/envoy/type/v3/range.upb.h",
+ "src/src/core/ext/upb-generated/envoy/type/v3/ratelimit_strategy.upb.c",
+ "src/src/core/ext/upb-generated/envoy/type/v3/ratelimit_strategy.upb.h",
+ "src/src/core/ext/upb-generated/envoy/type/v3/ratelimit_unit.upb.c",
+ "src/src/core/ext/upb-generated/envoy/type/v3/ratelimit_unit.upb.h",
+ "src/src/core/ext/upb-generated/envoy/type/v3/semantic_version.upb.c",
+ "src/src/core/ext/upb-generated/envoy/type/v3/semantic_version.upb.h",
+ "src/src/core/ext/upb-generated/envoy/type/v3/token_bucket.upb.c",
+ "src/src/core/ext/upb-generated/envoy/type/v3/token_bucket.upb.h",
+ "src/src/core/ext/upb-generated/google/api/annotations.upb.c",
+ "src/src/core/ext/upb-generated/google/api/annotations.upb.h",
+ "src/src/core/ext/upb-generated/google/api/expr/v1alpha1/checked.upb.c",
+ "src/src/core/ext/upb-generated/google/api/expr/v1alpha1/checked.upb.h",
+ "src/src/core/ext/upb-generated/google/api/expr/v1alpha1/syntax.upb.c",
+ "src/src/core/ext/upb-generated/google/api/expr/v1alpha1/syntax.upb.h",
+ "src/src/core/ext/upb-generated/google/api/http.upb.c",
+ "src/src/core/ext/upb-generated/google/api/http.upb.h",
+ "src/src/core/ext/upb-generated/google/api/httpbody.upb.c",
+ "src/src/core/ext/upb-generated/google/api/httpbody.upb.h",
+ "src/src/core/ext/upb-generated/google/protobuf/any.upb.c",
+ "src/src/core/ext/upb-generated/google/protobuf/any.upb.h",
+ "src/src/core/ext/upb-generated/google/protobuf/descriptor.upb.c",
+ "src/src/core/ext/upb-generated/google/protobuf/descriptor.upb.h",
+ "src/src/core/ext/upb-generated/google/protobuf/duration.upb.c",
+ "src/src/core/ext/upb-generated/google/protobuf/duration.upb.h",
+ "src/src/core/ext/upb-generated/google/protobuf/empty.upb.c",
+ "src/src/core/ext/upb-generated/google/protobuf/empty.upb.h",
+ "src/src/core/ext/upb-generated/google/protobuf/struct.upb.c",
+ "src/src/core/ext/upb-generated/google/protobuf/struct.upb.h",
+ "src/src/core/ext/upb-generated/google/protobuf/timestamp.upb.c",
+ "src/src/core/ext/upb-generated/google/protobuf/timestamp.upb.h",
+ "src/src/core/ext/upb-generated/google/protobuf/wrappers.upb.c",
+ "src/src/core/ext/upb-generated/google/protobuf/wrappers.upb.h",
+ "src/src/core/ext/upb-generated/google/rpc/status.upb.c",
+ "src/src/core/ext/upb-generated/google/rpc/status.upb.h",
+ "src/src/core/ext/upb-generated/opencensus/proto/trace/v1/trace_config.upb.c",
+ "src/src/core/ext/upb-generated/opencensus/proto/trace/v1/trace_config.upb.h",
+ "src/src/core/ext/upb-generated/src/proto/grpc/gcp/altscontext.upb.c",
+ "src/src/core/ext/upb-generated/src/proto/grpc/gcp/altscontext.upb.h",
+ "src/src/core/ext/upb-generated/src/proto/grpc/gcp/handshaker.upb.c",
+ "src/src/core/ext/upb-generated/src/proto/grpc/gcp/handshaker.upb.h",
+ "src/src/core/ext/upb-generated/src/proto/grpc/gcp/transport_security_common.upb.c",
+ "src/src/core/ext/upb-generated/src/proto/grpc/gcp/transport_security_common.upb.h",
+ "src/src/core/ext/upb-generated/src/proto/grpc/health/v1/health.upb.c",
+ "src/src/core/ext/upb-generated/src/proto/grpc/health/v1/health.upb.h",
+ "src/src/core/ext/upb-generated/src/proto/grpc/lb/v1/load_balancer.upb.c",
+ "src/src/core/ext/upb-generated/src/proto/grpc/lb/v1/load_balancer.upb.h",
+ "src/src/core/ext/upb-generated/src/proto/grpc/lookup/v1/rls.upb.c",
+ "src/src/core/ext/upb-generated/src/proto/grpc/lookup/v1/rls.upb.h",
+ "src/src/core/ext/upb-generated/src/proto/grpc/lookup/v1/rls_config.upb.c",
+ "src/src/core/ext/upb-generated/src/proto/grpc/lookup/v1/rls_config.upb.h",
+ "src/src/core/ext/upb-generated/udpa/annotations/migrate.upb.c",
+ "src/src/core/ext/upb-generated/udpa/annotations/migrate.upb.h",
+ "src/src/core/ext/upb-generated/udpa/annotations/security.upb.c",
+ "src/src/core/ext/upb-generated/udpa/annotations/security.upb.h",
+ "src/src/core/ext/upb-generated/udpa/annotations/sensitive.upb.c",
+ "src/src/core/ext/upb-generated/udpa/annotations/sensitive.upb.h",
+ "src/src/core/ext/upb-generated/udpa/annotations/status.upb.c",
+ "src/src/core/ext/upb-generated/udpa/annotations/status.upb.h",
+ "src/src/core/ext/upb-generated/udpa/annotations/versioning.upb.c",
+ "src/src/core/ext/upb-generated/udpa/annotations/versioning.upb.h",
+ "src/src/core/ext/upb-generated/validate/validate.upb.c",
+ "src/src/core/ext/upb-generated/validate/validate.upb.h",
+ "src/src/core/ext/upb-generated/xds/annotations/v3/migrate.upb.c",
+ "src/src/core/ext/upb-generated/xds/annotations/v3/migrate.upb.h",
+ "src/src/core/ext/upb-generated/xds/annotations/v3/security.upb.c",
+ "src/src/core/ext/upb-generated/xds/annotations/v3/security.upb.h",
+ "src/src/core/ext/upb-generated/xds/annotations/v3/sensitive.upb.c",
+ "src/src/core/ext/upb-generated/xds/annotations/v3/sensitive.upb.h",
+ "src/src/core/ext/upb-generated/xds/annotations/v3/status.upb.c",
+ "src/src/core/ext/upb-generated/xds/annotations/v3/status.upb.h",
+ "src/src/core/ext/upb-generated/xds/annotations/v3/versioning.upb.c",
+ "src/src/core/ext/upb-generated/xds/annotations/v3/versioning.upb.h",
+ "src/src/core/ext/upb-generated/xds/core/v3/authority.upb.c",
+ "src/src/core/ext/upb-generated/xds/core/v3/authority.upb.h",
+ "src/src/core/ext/upb-generated/xds/core/v3/cidr.upb.c",
+ "src/src/core/ext/upb-generated/xds/core/v3/cidr.upb.h",
+ "src/src/core/ext/upb-generated/xds/core/v3/collection_entry.upb.c",
+ "src/src/core/ext/upb-generated/xds/core/v3/collection_entry.upb.h",
+ "src/src/core/ext/upb-generated/xds/core/v3/context_params.upb.c",
+ "src/src/core/ext/upb-generated/xds/core/v3/context_params.upb.h",
+ "src/src/core/ext/upb-generated/xds/core/v3/extension.upb.c",
+ "src/src/core/ext/upb-generated/xds/core/v3/extension.upb.h",
+ "src/src/core/ext/upb-generated/xds/core/v3/resource.upb.c",
+ "src/src/core/ext/upb-generated/xds/core/v3/resource.upb.h",
+ "src/src/core/ext/upb-generated/xds/core/v3/resource_locator.upb.c",
+ "src/src/core/ext/upb-generated/xds/core/v3/resource_locator.upb.h",
+ "src/src/core/ext/upb-generated/xds/core/v3/resource_name.upb.c",
+ "src/src/core/ext/upb-generated/xds/core/v3/resource_name.upb.h",
+ "src/src/core/ext/upb-generated/xds/data/orca/v3/orca_load_report.upb.c",
+ "src/src/core/ext/upb-generated/xds/data/orca/v3/orca_load_report.upb.h",
+ "src/src/core/ext/upb-generated/xds/service/orca/v3/orca.upb.c",
+ "src/src/core/ext/upb-generated/xds/service/orca/v3/orca.upb.h",
+ "src/src/core/ext/upb-generated/xds/type/matcher/v3/cel.upb.c",
+ "src/src/core/ext/upb-generated/xds/type/matcher/v3/cel.upb.h",
+ "src/src/core/ext/upb-generated/xds/type/matcher/v3/domain.upb.c",
+ "src/src/core/ext/upb-generated/xds/type/matcher/v3/domain.upb.h",
+ "src/src/core/ext/upb-generated/xds/type/matcher/v3/http_inputs.upb.c",
+ "src/src/core/ext/upb-generated/xds/type/matcher/v3/http_inputs.upb.h",
+ "src/src/core/ext/upb-generated/xds/type/matcher/v3/ip.upb.c",
+ "src/src/core/ext/upb-generated/xds/type/matcher/v3/ip.upb.h",
+ "src/src/core/ext/upb-generated/xds/type/matcher/v3/matcher.upb.c",
+ "src/src/core/ext/upb-generated/xds/type/matcher/v3/matcher.upb.h",
+ "src/src/core/ext/upb-generated/xds/type/matcher/v3/range.upb.c",
+ "src/src/core/ext/upb-generated/xds/type/matcher/v3/range.upb.h",
+ "src/src/core/ext/upb-generated/xds/type/matcher/v3/regex.upb.c",
+ "src/src/core/ext/upb-generated/xds/type/matcher/v3/regex.upb.h",
+ "src/src/core/ext/upb-generated/xds/type/matcher/v3/string.upb.c",
+ "src/src/core/ext/upb-generated/xds/type/matcher/v3/string.upb.h",
+ "src/src/core/ext/upb-generated/xds/type/v3/cel.upb.c",
+ "src/src/core/ext/upb-generated/xds/type/v3/cel.upb.h",
+ "src/src/core/ext/upb-generated/xds/type/v3/range.upb.c",
+ "src/src/core/ext/upb-generated/xds/type/v3/range.upb.h",
+ "src/src/core/ext/upb-generated/xds/type/v3/typed_struct.upb.c",
+ "src/src/core/ext/upb-generated/xds/type/v3/typed_struct.upb.h",
+ "src/src/core/ext/upbdefs-generated/envoy/admin/v3/certs.upbdefs.c",
+ "src/src/core/ext/upbdefs-generated/envoy/admin/v3/certs.upbdefs.h",
+ "src/src/core/ext/upbdefs-generated/envoy/admin/v3/clusters.upbdefs.c",
+ "src/src/core/ext/upbdefs-generated/envoy/admin/v3/clusters.upbdefs.h",
+ "src/src/core/ext/upbdefs-generated/envoy/admin/v3/config_dump.upbdefs.c",
+ "src/src/core/ext/upbdefs-generated/envoy/admin/v3/config_dump.upbdefs.h",
+ "src/src/core/ext/upbdefs-generated/envoy/admin/v3/config_dump_shared.upbdefs.c",
+ "src/src/core/ext/upbdefs-generated/envoy/admin/v3/config_dump_shared.upbdefs.h",
+ "src/src/core/ext/upbdefs-generated/envoy/admin/v3/init_dump.upbdefs.c",
+ "src/src/core/ext/upbdefs-generated/envoy/admin/v3/init_dump.upbdefs.h",
+ "src/src/core/ext/upbdefs-generated/envoy/admin/v3/listeners.upbdefs.c",
+ "src/src/core/ext/upbdefs-generated/envoy/admin/v3/listeners.upbdefs.h",
+ "src/src/core/ext/upbdefs-generated/envoy/admin/v3/memory.upbdefs.c",
+ "src/src/core/ext/upbdefs-generated/envoy/admin/v3/memory.upbdefs.h",
+ "src/src/core/ext/upbdefs-generated/envoy/admin/v3/metrics.upbdefs.c",
+ "src/src/core/ext/upbdefs-generated/envoy/admin/v3/metrics.upbdefs.h",
+ "src/src/core/ext/upbdefs-generated/envoy/admin/v3/mutex_stats.upbdefs.c",
+ "src/src/core/ext/upbdefs-generated/envoy/admin/v3/mutex_stats.upbdefs.h",
+ "src/src/core/ext/upbdefs-generated/envoy/admin/v3/server_info.upbdefs.c",
+ "src/src/core/ext/upbdefs-generated/envoy/admin/v3/server_info.upbdefs.h",
+ "src/src/core/ext/upbdefs-generated/envoy/admin/v3/tap.upbdefs.c",
+ "src/src/core/ext/upbdefs-generated/envoy/admin/v3/tap.upbdefs.h",
+ "src/src/core/ext/upbdefs-generated/envoy/annotations/deprecation.upbdefs.c",
+ "src/src/core/ext/upbdefs-generated/envoy/annotations/deprecation.upbdefs.h",
+ "src/src/core/ext/upbdefs-generated/envoy/annotations/resource.upbdefs.c",
+ "src/src/core/ext/upbdefs-generated/envoy/annotations/resource.upbdefs.h",
+ "src/src/core/ext/upbdefs-generated/envoy/config/accesslog/v3/accesslog.upbdefs.c",
+ "src/src/core/ext/upbdefs-generated/envoy/config/accesslog/v3/accesslog.upbdefs.h",
+ "src/src/core/ext/upbdefs-generated/envoy/config/bootstrap/v3/bootstrap.upbdefs.c",
+ "src/src/core/ext/upbdefs-generated/envoy/config/bootstrap/v3/bootstrap.upbdefs.h",
+ "src/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/circuit_breaker.upbdefs.c",
+ "src/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/circuit_breaker.upbdefs.h",
+ "src/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/cluster.upbdefs.c",
+ "src/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/cluster.upbdefs.h",
+ "src/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/filter.upbdefs.c",
+ "src/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/filter.upbdefs.h",
+ "src/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/outlier_detection.upbdefs.c",
+ "src/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/outlier_detection.upbdefs.h",
+ "src/src/core/ext/upbdefs-generated/envoy/config/common/matcher/v3/matcher.upbdefs.c",
+ "src/src/core/ext/upbdefs-generated/envoy/config/common/matcher/v3/matcher.upbdefs.h",
+ "src/src/core/ext/upbdefs-generated/envoy/config/core/v3/address.upbdefs.c",
+ "src/src/core/ext/upbdefs-generated/envoy/config/core/v3/address.upbdefs.h",
+ "src/src/core/ext/upbdefs-generated/envoy/config/core/v3/backoff.upbdefs.c",
+ "src/src/core/ext/upbdefs-generated/envoy/config/core/v3/backoff.upbdefs.h",
+ "src/src/core/ext/upbdefs-generated/envoy/config/core/v3/base.upbdefs.c",
+ "src/src/core/ext/upbdefs-generated/envoy/config/core/v3/base.upbdefs.h",
+ "src/src/core/ext/upbdefs-generated/envoy/config/core/v3/config_source.upbdefs.c",
+ "src/src/core/ext/upbdefs-generated/envoy/config/core/v3/config_source.upbdefs.h",
+ "src/src/core/ext/upbdefs-generated/envoy/config/core/v3/event_service_config.upbdefs.c",
+ "src/src/core/ext/upbdefs-generated/envoy/config/core/v3/event_service_config.upbdefs.h",
+ "src/src/core/ext/upbdefs-generated/envoy/config/core/v3/extension.upbdefs.c",
+ "src/src/core/ext/upbdefs-generated/envoy/config/core/v3/extension.upbdefs.h",
+ "src/src/core/ext/upbdefs-generated/envoy/config/core/v3/grpc_method_list.upbdefs.c",
+ "src/src/core/ext/upbdefs-generated/envoy/config/core/v3/grpc_method_list.upbdefs.h",
+ "src/src/core/ext/upbdefs-generated/envoy/config/core/v3/grpc_service.upbdefs.c",
+ "src/src/core/ext/upbdefs-generated/envoy/config/core/v3/grpc_service.upbdefs.h",
+ "src/src/core/ext/upbdefs-generated/envoy/config/core/v3/health_check.upbdefs.c",
+ "src/src/core/ext/upbdefs-generated/envoy/config/core/v3/health_check.upbdefs.h",
+ "src/src/core/ext/upbdefs-generated/envoy/config/core/v3/http_uri.upbdefs.c",
+ "src/src/core/ext/upbdefs-generated/envoy/config/core/v3/http_uri.upbdefs.h",
+ "src/src/core/ext/upbdefs-generated/envoy/config/core/v3/protocol.upbdefs.c",
+ "src/src/core/ext/upbdefs-generated/envoy/config/core/v3/protocol.upbdefs.h",
+ "src/src/core/ext/upbdefs-generated/envoy/config/core/v3/proxy_protocol.upbdefs.c",
+ "src/src/core/ext/upbdefs-generated/envoy/config/core/v3/proxy_protocol.upbdefs.h",
+ "src/src/core/ext/upbdefs-generated/envoy/config/core/v3/resolver.upbdefs.c",
+ "src/src/core/ext/upbdefs-generated/envoy/config/core/v3/resolver.upbdefs.h",
+ "src/src/core/ext/upbdefs-generated/envoy/config/core/v3/socket_option.upbdefs.c",
+ "src/src/core/ext/upbdefs-generated/envoy/config/core/v3/socket_option.upbdefs.h",
+ "src/src/core/ext/upbdefs-generated/envoy/config/core/v3/substitution_format_string.upbdefs.c",
+ "src/src/core/ext/upbdefs-generated/envoy/config/core/v3/substitution_format_string.upbdefs.h",
+ "src/src/core/ext/upbdefs-generated/envoy/config/core/v3/udp_socket_config.upbdefs.c",
+ "src/src/core/ext/upbdefs-generated/envoy/config/core/v3/udp_socket_config.upbdefs.h",
+ "src/src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/endpoint.upbdefs.c",
+ "src/src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/endpoint.upbdefs.h",
+ "src/src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/endpoint_components.upbdefs.c",
+ "src/src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/endpoint_components.upbdefs.h",
+ "src/src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/load_report.upbdefs.c",
+ "src/src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/load_report.upbdefs.h",
+ "src/src/core/ext/upbdefs-generated/envoy/config/listener/v3/api_listener.upbdefs.c",
+ "src/src/core/ext/upbdefs-generated/envoy/config/listener/v3/api_listener.upbdefs.h",
+ "src/src/core/ext/upbdefs-generated/envoy/config/listener/v3/listener.upbdefs.c",
+ "src/src/core/ext/upbdefs-generated/envoy/config/listener/v3/listener.upbdefs.h",
+ "src/src/core/ext/upbdefs-generated/envoy/config/listener/v3/listener_components.upbdefs.c",
+ "src/src/core/ext/upbdefs-generated/envoy/config/listener/v3/listener_components.upbdefs.h",
+ "src/src/core/ext/upbdefs-generated/envoy/config/listener/v3/quic_config.upbdefs.c",
+ "src/src/core/ext/upbdefs-generated/envoy/config/listener/v3/quic_config.upbdefs.h",
+ "src/src/core/ext/upbdefs-generated/envoy/config/listener/v3/udp_listener_config.upbdefs.c",
+ "src/src/core/ext/upbdefs-generated/envoy/config/listener/v3/udp_listener_config.upbdefs.h",
+ "src/src/core/ext/upbdefs-generated/envoy/config/metrics/v3/metrics_service.upbdefs.c",
+ "src/src/core/ext/upbdefs-generated/envoy/config/metrics/v3/metrics_service.upbdefs.h",
+ "src/src/core/ext/upbdefs-generated/envoy/config/metrics/v3/stats.upbdefs.c",
+ "src/src/core/ext/upbdefs-generated/envoy/config/metrics/v3/stats.upbdefs.h",
+ "src/src/core/ext/upbdefs-generated/envoy/config/overload/v3/overload.upbdefs.c",
+ "src/src/core/ext/upbdefs-generated/envoy/config/overload/v3/overload.upbdefs.h",
+ "src/src/core/ext/upbdefs-generated/envoy/config/rbac/v3/rbac.upbdefs.c",
+ "src/src/core/ext/upbdefs-generated/envoy/config/rbac/v3/rbac.upbdefs.h",
+ "src/src/core/ext/upbdefs-generated/envoy/config/route/v3/route.upbdefs.c",
+ "src/src/core/ext/upbdefs-generated/envoy/config/route/v3/route.upbdefs.h",
+ "src/src/core/ext/upbdefs-generated/envoy/config/route/v3/route_components.upbdefs.c",
+ "src/src/core/ext/upbdefs-generated/envoy/config/route/v3/route_components.upbdefs.h",
+ "src/src/core/ext/upbdefs-generated/envoy/config/route/v3/scoped_route.upbdefs.c",
+ "src/src/core/ext/upbdefs-generated/envoy/config/route/v3/scoped_route.upbdefs.h",
+ "src/src/core/ext/upbdefs-generated/envoy/config/tap/v3/common.upbdefs.c",
+ "src/src/core/ext/upbdefs-generated/envoy/config/tap/v3/common.upbdefs.h",
+ "src/src/core/ext/upbdefs-generated/envoy/config/trace/v3/datadog.upbdefs.c",
+ "src/src/core/ext/upbdefs-generated/envoy/config/trace/v3/datadog.upbdefs.h",
+ "src/src/core/ext/upbdefs-generated/envoy/config/trace/v3/dynamic_ot.upbdefs.c",
+ "src/src/core/ext/upbdefs-generated/envoy/config/trace/v3/dynamic_ot.upbdefs.h",
+ "src/src/core/ext/upbdefs-generated/envoy/config/trace/v3/http_tracer.upbdefs.c",
+ "src/src/core/ext/upbdefs-generated/envoy/config/trace/v3/http_tracer.upbdefs.h",
+ "src/src/core/ext/upbdefs-generated/envoy/config/trace/v3/lightstep.upbdefs.c",
+ "src/src/core/ext/upbdefs-generated/envoy/config/trace/v3/lightstep.upbdefs.h",
+ "src/src/core/ext/upbdefs-generated/envoy/config/trace/v3/opencensus.upbdefs.c",
+ "src/src/core/ext/upbdefs-generated/envoy/config/trace/v3/opencensus.upbdefs.h",
+ "src/src/core/ext/upbdefs-generated/envoy/config/trace/v3/opentelemetry.upbdefs.c",
+ "src/src/core/ext/upbdefs-generated/envoy/config/trace/v3/opentelemetry.upbdefs.h",
+ "src/src/core/ext/upbdefs-generated/envoy/config/trace/v3/service.upbdefs.c",
+ "src/src/core/ext/upbdefs-generated/envoy/config/trace/v3/service.upbdefs.h",
+ "src/src/core/ext/upbdefs-generated/envoy/config/trace/v3/skywalking.upbdefs.c",
+ "src/src/core/ext/upbdefs-generated/envoy/config/trace/v3/skywalking.upbdefs.h",
+ "src/src/core/ext/upbdefs-generated/envoy/config/trace/v3/trace.upbdefs.c",
+ "src/src/core/ext/upbdefs-generated/envoy/config/trace/v3/trace.upbdefs.h",
+ "src/src/core/ext/upbdefs-generated/envoy/config/trace/v3/xray.upbdefs.c",
+ "src/src/core/ext/upbdefs-generated/envoy/config/trace/v3/xray.upbdefs.h",
+ "src/src/core/ext/upbdefs-generated/envoy/config/trace/v3/zipkin.upbdefs.c",
+ "src/src/core/ext/upbdefs-generated/envoy/config/trace/v3/zipkin.upbdefs.h",
+ "src/src/core/ext/upbdefs-generated/envoy/extensions/clusters/aggregate/v3/cluster.upbdefs.c",
+ "src/src/core/ext/upbdefs-generated/envoy/extensions/clusters/aggregate/v3/cluster.upbdefs.h",
+ "src/src/core/ext/upbdefs-generated/envoy/extensions/filters/common/fault/v3/fault.upbdefs.c",
+ "src/src/core/ext/upbdefs-generated/envoy/extensions/filters/common/fault/v3/fault.upbdefs.h",
+ "src/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/fault/v3/fault.upbdefs.c",
+ "src/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/fault/v3/fault.upbdefs.h",
+ "src/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/rbac/v3/rbac.upbdefs.c",
+ "src/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/rbac/v3/rbac.upbdefs.h",
+ "src/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/router/v3/router.upbdefs.c",
+ "src/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/router/v3/router.upbdefs.h",
+ "src/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upbdefs.c",
+ "src/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upbdefs.h",
+ "src/src/core/ext/upbdefs-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upbdefs.c",
+ "src/src/core/ext/upbdefs-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upbdefs.h",
+ "src/src/core/ext/upbdefs-generated/envoy/extensions/http/stateful_session/cookie/v3/cookie.upbdefs.c",
+ "src/src/core/ext/upbdefs-generated/envoy/extensions/http/stateful_session/cookie/v3/cookie.upbdefs.h",
+ "src/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/cert.upbdefs.c",
+ "src/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/cert.upbdefs.h",
+ "src/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/common.upbdefs.c",
+ "src/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/common.upbdefs.h",
+ "src/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/secret.upbdefs.c",
+ "src/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/secret.upbdefs.h",
+ "src/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/tls.upbdefs.c",
+ "src/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/tls.upbdefs.h",
+ "src/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.upbdefs.c",
+ "src/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.upbdefs.h",
+ "src/src/core/ext/upbdefs-generated/envoy/service/discovery/v3/ads.upbdefs.c",
+ "src/src/core/ext/upbdefs-generated/envoy/service/discovery/v3/ads.upbdefs.h",
+ "src/src/core/ext/upbdefs-generated/envoy/service/discovery/v3/discovery.upbdefs.c",
+ "src/src/core/ext/upbdefs-generated/envoy/service/discovery/v3/discovery.upbdefs.h",
+ "src/src/core/ext/upbdefs-generated/envoy/service/load_stats/v3/lrs.upbdefs.c",
+ "src/src/core/ext/upbdefs-generated/envoy/service/load_stats/v3/lrs.upbdefs.h",
+ "src/src/core/ext/upbdefs-generated/envoy/service/status/v3/csds.upbdefs.c",
+ "src/src/core/ext/upbdefs-generated/envoy/service/status/v3/csds.upbdefs.h",
+ "src/src/core/ext/upbdefs-generated/envoy/type/http/v3/cookie.upbdefs.c",
+ "src/src/core/ext/upbdefs-generated/envoy/type/http/v3/cookie.upbdefs.h",
+ "src/src/core/ext/upbdefs-generated/envoy/type/http/v3/path_transformation.upbdefs.c",
+ "src/src/core/ext/upbdefs-generated/envoy/type/http/v3/path_transformation.upbdefs.h",
+ "src/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/filter_state.upbdefs.c",
+ "src/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/filter_state.upbdefs.h",
+ "src/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/http_inputs.upbdefs.c",
+ "src/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/http_inputs.upbdefs.h",
+ "src/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/metadata.upbdefs.c",
+ "src/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/metadata.upbdefs.h",
+ "src/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/node.upbdefs.c",
+ "src/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/node.upbdefs.h",
+ "src/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/number.upbdefs.c",
+ "src/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/number.upbdefs.h",
+ "src/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/path.upbdefs.c",
+ "src/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/path.upbdefs.h",
+ "src/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/regex.upbdefs.c",
+ "src/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/regex.upbdefs.h",
+ "src/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/status_code_input.upbdefs.c",
+ "src/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/status_code_input.upbdefs.h",
+ "src/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/string.upbdefs.c",
+ "src/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/string.upbdefs.h",
+ "src/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/struct.upbdefs.c",
+ "src/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/struct.upbdefs.h",
+ "src/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/value.upbdefs.c",
+ "src/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/value.upbdefs.h",
+ "src/src/core/ext/upbdefs-generated/envoy/type/metadata/v3/metadata.upbdefs.c",
+ "src/src/core/ext/upbdefs-generated/envoy/type/metadata/v3/metadata.upbdefs.h",
+ "src/src/core/ext/upbdefs-generated/envoy/type/tracing/v3/custom_tag.upbdefs.c",
+ "src/src/core/ext/upbdefs-generated/envoy/type/tracing/v3/custom_tag.upbdefs.h",
+ "src/src/core/ext/upbdefs-generated/envoy/type/v3/hash_policy.upbdefs.c",
+ "src/src/core/ext/upbdefs-generated/envoy/type/v3/hash_policy.upbdefs.h",
+ "src/src/core/ext/upbdefs-generated/envoy/type/v3/http.upbdefs.c",
+ "src/src/core/ext/upbdefs-generated/envoy/type/v3/http.upbdefs.h",
+ "src/src/core/ext/upbdefs-generated/envoy/type/v3/http_status.upbdefs.c",
+ "src/src/core/ext/upbdefs-generated/envoy/type/v3/http_status.upbdefs.h",
+ "src/src/core/ext/upbdefs-generated/envoy/type/v3/percent.upbdefs.c",
+ "src/src/core/ext/upbdefs-generated/envoy/type/v3/percent.upbdefs.h",
+ "src/src/core/ext/upbdefs-generated/envoy/type/v3/range.upbdefs.c",
+ "src/src/core/ext/upbdefs-generated/envoy/type/v3/range.upbdefs.h",
+ "src/src/core/ext/upbdefs-generated/envoy/type/v3/ratelimit_strategy.upbdefs.c",
+ "src/src/core/ext/upbdefs-generated/envoy/type/v3/ratelimit_strategy.upbdefs.h",
+ "src/src/core/ext/upbdefs-generated/envoy/type/v3/ratelimit_unit.upbdefs.c",
+ "src/src/core/ext/upbdefs-generated/envoy/type/v3/ratelimit_unit.upbdefs.h",
+ "src/src/core/ext/upbdefs-generated/envoy/type/v3/semantic_version.upbdefs.c",
+ "src/src/core/ext/upbdefs-generated/envoy/type/v3/semantic_version.upbdefs.h",
+ "src/src/core/ext/upbdefs-generated/envoy/type/v3/token_bucket.upbdefs.c",
+ "src/src/core/ext/upbdefs-generated/envoy/type/v3/token_bucket.upbdefs.h",
+ "src/src/core/ext/upbdefs-generated/google/api/annotations.upbdefs.c",
+ "src/src/core/ext/upbdefs-generated/google/api/annotations.upbdefs.h",
+ "src/src/core/ext/upbdefs-generated/google/api/expr/v1alpha1/checked.upbdefs.c",
+ "src/src/core/ext/upbdefs-generated/google/api/expr/v1alpha1/checked.upbdefs.h",
+ "src/src/core/ext/upbdefs-generated/google/api/expr/v1alpha1/syntax.upbdefs.c",
+ "src/src/core/ext/upbdefs-generated/google/api/expr/v1alpha1/syntax.upbdefs.h",
+ "src/src/core/ext/upbdefs-generated/google/api/http.upbdefs.c",
+ "src/src/core/ext/upbdefs-generated/google/api/http.upbdefs.h",
+ "src/src/core/ext/upbdefs-generated/google/api/httpbody.upbdefs.c",
+ "src/src/core/ext/upbdefs-generated/google/api/httpbody.upbdefs.h",
+ "src/src/core/ext/upbdefs-generated/google/protobuf/any.upbdefs.c",
+ "src/src/core/ext/upbdefs-generated/google/protobuf/any.upbdefs.h",
+ "src/src/core/ext/upbdefs-generated/google/protobuf/descriptor.upbdefs.c",
+ "src/src/core/ext/upbdefs-generated/google/protobuf/descriptor.upbdefs.h",
+ "src/src/core/ext/upbdefs-generated/google/protobuf/duration.upbdefs.c",
+ "src/src/core/ext/upbdefs-generated/google/protobuf/duration.upbdefs.h",
+ "src/src/core/ext/upbdefs-generated/google/protobuf/empty.upbdefs.c",
+ "src/src/core/ext/upbdefs-generated/google/protobuf/empty.upbdefs.h",
+ "src/src/core/ext/upbdefs-generated/google/protobuf/struct.upbdefs.c",
+ "src/src/core/ext/upbdefs-generated/google/protobuf/struct.upbdefs.h",
+ "src/src/core/ext/upbdefs-generated/google/protobuf/timestamp.upbdefs.c",
+ "src/src/core/ext/upbdefs-generated/google/protobuf/timestamp.upbdefs.h",
+ "src/src/core/ext/upbdefs-generated/google/protobuf/wrappers.upbdefs.c",
+ "src/src/core/ext/upbdefs-generated/google/protobuf/wrappers.upbdefs.h",
+ "src/src/core/ext/upbdefs-generated/google/rpc/status.upbdefs.c",
+ "src/src/core/ext/upbdefs-generated/google/rpc/status.upbdefs.h",
+ "src/src/core/ext/upbdefs-generated/opencensus/proto/trace/v1/trace_config.upbdefs.c",
+ "src/src/core/ext/upbdefs-generated/opencensus/proto/trace/v1/trace_config.upbdefs.h",
+ "src/src/core/ext/upbdefs-generated/src/proto/grpc/lookup/v1/rls_config.upbdefs.c",
+ "src/src/core/ext/upbdefs-generated/src/proto/grpc/lookup/v1/rls_config.upbdefs.h",
+ "src/src/core/ext/upbdefs-generated/udpa/annotations/migrate.upbdefs.c",
+ "src/src/core/ext/upbdefs-generated/udpa/annotations/migrate.upbdefs.h",
+ "src/src/core/ext/upbdefs-generated/udpa/annotations/security.upbdefs.c",
+ "src/src/core/ext/upbdefs-generated/udpa/annotations/security.upbdefs.h",
+ "src/src/core/ext/upbdefs-generated/udpa/annotations/sensitive.upbdefs.c",
+ "src/src/core/ext/upbdefs-generated/udpa/annotations/sensitive.upbdefs.h",
+ "src/src/core/ext/upbdefs-generated/udpa/annotations/status.upbdefs.c",
+ "src/src/core/ext/upbdefs-generated/udpa/annotations/status.upbdefs.h",
+ "src/src/core/ext/upbdefs-generated/udpa/annotations/versioning.upbdefs.c",
+ "src/src/core/ext/upbdefs-generated/udpa/annotations/versioning.upbdefs.h",
+ "src/src/core/ext/upbdefs-generated/validate/validate.upbdefs.c",
+ "src/src/core/ext/upbdefs-generated/validate/validate.upbdefs.h",
+ "src/src/core/ext/upbdefs-generated/xds/annotations/v3/migrate.upbdefs.c",
+ "src/src/core/ext/upbdefs-generated/xds/annotations/v3/migrate.upbdefs.h",
+ "src/src/core/ext/upbdefs-generated/xds/annotations/v3/security.upbdefs.c",
+ "src/src/core/ext/upbdefs-generated/xds/annotations/v3/security.upbdefs.h",
+ "src/src/core/ext/upbdefs-generated/xds/annotations/v3/sensitive.upbdefs.c",
+ "src/src/core/ext/upbdefs-generated/xds/annotations/v3/sensitive.upbdefs.h",
+ "src/src/core/ext/upbdefs-generated/xds/annotations/v3/status.upbdefs.c",
+ "src/src/core/ext/upbdefs-generated/xds/annotations/v3/status.upbdefs.h",
+ "src/src/core/ext/upbdefs-generated/xds/annotations/v3/versioning.upbdefs.c",
+ "src/src/core/ext/upbdefs-generated/xds/annotations/v3/versioning.upbdefs.h",
+ "src/src/core/ext/upbdefs-generated/xds/core/v3/authority.upbdefs.c",
+ "src/src/core/ext/upbdefs-generated/xds/core/v3/authority.upbdefs.h",
+ "src/src/core/ext/upbdefs-generated/xds/core/v3/cidr.upbdefs.c",
+ "src/src/core/ext/upbdefs-generated/xds/core/v3/cidr.upbdefs.h",
+ "src/src/core/ext/upbdefs-generated/xds/core/v3/collection_entry.upbdefs.c",
+ "src/src/core/ext/upbdefs-generated/xds/core/v3/collection_entry.upbdefs.h",
+ "src/src/core/ext/upbdefs-generated/xds/core/v3/context_params.upbdefs.c",
+ "src/src/core/ext/upbdefs-generated/xds/core/v3/context_params.upbdefs.h",
+ "src/src/core/ext/upbdefs-generated/xds/core/v3/extension.upbdefs.c",
+ "src/src/core/ext/upbdefs-generated/xds/core/v3/extension.upbdefs.h",
+ "src/src/core/ext/upbdefs-generated/xds/core/v3/resource.upbdefs.c",
+ "src/src/core/ext/upbdefs-generated/xds/core/v3/resource.upbdefs.h",
+ "src/src/core/ext/upbdefs-generated/xds/core/v3/resource_locator.upbdefs.c",
+ "src/src/core/ext/upbdefs-generated/xds/core/v3/resource_locator.upbdefs.h",
+ "src/src/core/ext/upbdefs-generated/xds/core/v3/resource_name.upbdefs.c",
+ "src/src/core/ext/upbdefs-generated/xds/core/v3/resource_name.upbdefs.h",
+ "src/src/core/ext/upbdefs-generated/xds/type/matcher/v3/cel.upbdefs.c",
+ "src/src/core/ext/upbdefs-generated/xds/type/matcher/v3/cel.upbdefs.h",
+ "src/src/core/ext/upbdefs-generated/xds/type/matcher/v3/domain.upbdefs.c",
+ "src/src/core/ext/upbdefs-generated/xds/type/matcher/v3/domain.upbdefs.h",
+ "src/src/core/ext/upbdefs-generated/xds/type/matcher/v3/http_inputs.upbdefs.c",
+ "src/src/core/ext/upbdefs-generated/xds/type/matcher/v3/http_inputs.upbdefs.h",
+ "src/src/core/ext/upbdefs-generated/xds/type/matcher/v3/ip.upbdefs.c",
+ "src/src/core/ext/upbdefs-generated/xds/type/matcher/v3/ip.upbdefs.h",
+ "src/src/core/ext/upbdefs-generated/xds/type/matcher/v3/matcher.upbdefs.c",
+ "src/src/core/ext/upbdefs-generated/xds/type/matcher/v3/matcher.upbdefs.h",
+ "src/src/core/ext/upbdefs-generated/xds/type/matcher/v3/range.upbdefs.c",
+ "src/src/core/ext/upbdefs-generated/xds/type/matcher/v3/range.upbdefs.h",
+ "src/src/core/ext/upbdefs-generated/xds/type/matcher/v3/regex.upbdefs.c",
+ "src/src/core/ext/upbdefs-generated/xds/type/matcher/v3/regex.upbdefs.h",
+ "src/src/core/ext/upbdefs-generated/xds/type/matcher/v3/string.upbdefs.c",
+ "src/src/core/ext/upbdefs-generated/xds/type/matcher/v3/string.upbdefs.h",
+ "src/src/core/ext/upbdefs-generated/xds/type/v3/cel.upbdefs.c",
+ "src/src/core/ext/upbdefs-generated/xds/type/v3/cel.upbdefs.h",
+ "src/src/core/ext/upbdefs-generated/xds/type/v3/range.upbdefs.c",
+ "src/src/core/ext/upbdefs-generated/xds/type/v3/range.upbdefs.h",
+ "src/src/core/ext/upbdefs-generated/xds/type/v3/typed_struct.upbdefs.c",
+ "src/src/core/ext/upbdefs-generated/xds/type/v3/typed_struct.upbdefs.h",
+ "src/src/core/ext/xds/certificate_provider_store.cc",
+ "src/src/core/ext/xds/certificate_provider_store.h",
+ "src/src/core/ext/xds/file_watcher_certificate_provider_factory.cc",
+ "src/src/core/ext/xds/file_watcher_certificate_provider_factory.h",
+ "src/src/core/ext/xds/upb_utils.h",
+ "src/src/core/ext/xds/xds_api.cc",
+ "src/src/core/ext/xds/xds_api.h",
+ "src/src/core/ext/xds/xds_bootstrap.cc",
+ "src/src/core/ext/xds/xds_bootstrap.h",
+ "src/src/core/ext/xds/xds_bootstrap_grpc.cc",
+ "src/src/core/ext/xds/xds_bootstrap_grpc.h",
+ "src/src/core/ext/xds/xds_certificate_provider.cc",
+ "src/src/core/ext/xds/xds_certificate_provider.h",
+ "src/src/core/ext/xds/xds_channel_args.h",
+ "src/src/core/ext/xds/xds_channel_stack_modifier.cc",
+ "src/src/core/ext/xds/xds_channel_stack_modifier.h",
+ "src/src/core/ext/xds/xds_client.cc",
+ "src/src/core/ext/xds/xds_client.h",
+ "src/src/core/ext/xds/xds_client_grpc.cc",
+ "src/src/core/ext/xds/xds_client_grpc.h",
+ "src/src/core/ext/xds/xds_client_stats.cc",
+ "src/src/core/ext/xds/xds_client_stats.h",
+ "src/src/core/ext/xds/xds_cluster.cc",
+ "src/src/core/ext/xds/xds_cluster.h",
+ "src/src/core/ext/xds/xds_cluster_specifier_plugin.cc",
+ "src/src/core/ext/xds/xds_cluster_specifier_plugin.h",
+ "src/src/core/ext/xds/xds_common_types.cc",
+ "src/src/core/ext/xds/xds_common_types.h",
+ "src/src/core/ext/xds/xds_endpoint.cc",
+ "src/src/core/ext/xds/xds_endpoint.h",
+ "src/src/core/ext/xds/xds_health_status.cc",
+ "src/src/core/ext/xds/xds_health_status.h",
+ "src/src/core/ext/xds/xds_http_fault_filter.cc",
+ "src/src/core/ext/xds/xds_http_fault_filter.h",
+ "src/src/core/ext/xds/xds_http_filters.cc",
+ "src/src/core/ext/xds/xds_http_filters.h",
+ "src/src/core/ext/xds/xds_http_rbac_filter.cc",
+ "src/src/core/ext/xds/xds_http_rbac_filter.h",
+ "src/src/core/ext/xds/xds_http_stateful_session_filter.cc",
+ "src/src/core/ext/xds/xds_http_stateful_session_filter.h",
+ "src/src/core/ext/xds/xds_lb_policy_registry.cc",
+ "src/src/core/ext/xds/xds_lb_policy_registry.h",
+ "src/src/core/ext/xds/xds_listener.cc",
+ "src/src/core/ext/xds/xds_listener.h",
+ "src/src/core/ext/xds/xds_resource_type.h",
+ "src/src/core/ext/xds/xds_resource_type_impl.h",
+ "src/src/core/ext/xds/xds_route_config.cc",
+ "src/src/core/ext/xds/xds_route_config.h",
+ "src/src/core/ext/xds/xds_routing.cc",
+ "src/src/core/ext/xds/xds_routing.h",
+ "src/src/core/ext/xds/xds_server_config_fetcher.cc",
+ "src/src/core/ext/xds/xds_transport.h",
+ "src/src/core/ext/xds/xds_transport_grpc.cc",
+ "src/src/core/ext/xds/xds_transport_grpc.h",
+ "src/src/core/lib/address_utils/parse_address.cc",
+ "src/src/core/lib/address_utils/parse_address.h",
+ "src/src/core/lib/address_utils/sockaddr_utils.cc",
+ "src/src/core/lib/address_utils/sockaddr_utils.h",
+ "src/src/core/lib/avl/avl.h",
+ "src/src/core/lib/backoff/backoff.cc",
+ "src/src/core/lib/backoff/backoff.h",
+ "src/src/core/lib/channel/call_finalization.h",
+ "src/src/core/lib/channel/call_tracer.h",
+ "src/src/core/lib/channel/channel_args.cc",
+ "src/src/core/lib/channel/channel_args.h",
+ "src/src/core/lib/channel/channel_args_preconditioning.cc",
+ "src/src/core/lib/channel/channel_args_preconditioning.h",
+ "src/src/core/lib/channel/channel_fwd.h",
+ "src/src/core/lib/channel/channel_stack.cc",
+ "src/src/core/lib/channel/channel_stack.h",
+ "src/src/core/lib/channel/channel_stack_builder.cc",
+ "src/src/core/lib/channel/channel_stack_builder.h",
+ "src/src/core/lib/channel/channel_stack_builder_impl.cc",
+ "src/src/core/lib/channel/channel_stack_builder_impl.h",
+ "src/src/core/lib/channel/channel_trace.cc",
+ "src/src/core/lib/channel/channel_trace.h",
+ "src/src/core/lib/channel/channelz.cc",
+ "src/src/core/lib/channel/channelz.h",
+ "src/src/core/lib/channel/channelz_registry.cc",
+ "src/src/core/lib/channel/channelz_registry.h",
+ "src/src/core/lib/channel/connected_channel.cc",
+ "src/src/core/lib/channel/connected_channel.h",
+ "src/src/core/lib/channel/context.h",
+ "src/src/core/lib/channel/promise_based_filter.cc",
+ "src/src/core/lib/channel/promise_based_filter.h",
+ "src/src/core/lib/channel/status_util.cc",
+ "src/src/core/lib/channel/status_util.h",
+ "src/src/core/lib/compression/compression.cc",
+ "src/src/core/lib/compression/compression_internal.cc",
+ "src/src/core/lib/compression/compression_internal.h",
+ "src/src/core/lib/compression/message_compress.cc",
+ "src/src/core/lib/compression/message_compress.h",
+ "src/src/core/lib/config/core_configuration.cc",
+ "src/src/core/lib/config/core_configuration.h",
+ "src/src/core/lib/debug/event_log.cc",
+ "src/src/core/lib/debug/event_log.h",
+ "src/src/core/lib/debug/histogram_view.cc",
+ "src/src/core/lib/debug/histogram_view.h",
+ "src/src/core/lib/debug/stats.cc",
+ "src/src/core/lib/debug/stats.h",
+ "src/src/core/lib/debug/stats_data.cc",
+ "src/src/core/lib/debug/stats_data.h",
+ "src/src/core/lib/debug/trace.cc",
+ "src/src/core/lib/debug/trace.h",
+ "src/src/core/lib/event_engine/channel_args_endpoint_config.cc",
+ "src/src/core/lib/event_engine/channel_args_endpoint_config.h",
+ "src/src/core/lib/event_engine/common_closures.h",
+ "src/src/core/lib/event_engine/default_event_engine.cc",
+ "src/src/core/lib/event_engine/default_event_engine.h",
+ "src/src/core/lib/event_engine/default_event_engine_factory.cc",
+ "src/src/core/lib/event_engine/default_event_engine_factory.h",
+ "src/src/core/lib/event_engine/event_engine.cc",
+ "src/src/core/lib/event_engine/executor/executor.h",
+ "src/src/core/lib/event_engine/forkable.cc",
+ "src/src/core/lib/event_engine/forkable.h",
+ "src/src/core/lib/event_engine/handle_containers.h",
+ "src/src/core/lib/event_engine/memory_allocator.cc",
+ "src/src/core/lib/event_engine/poller.h",
+ "src/src/core/lib/event_engine/posix.h",
+ "src/src/core/lib/event_engine/posix_engine/ev_epoll1_linux.cc",
+ "src/src/core/lib/event_engine/posix_engine/ev_epoll1_linux.h",
+ "src/src/core/lib/event_engine/posix_engine/ev_poll_posix.cc",
+ "src/src/core/lib/event_engine/posix_engine/ev_poll_posix.h",
+ "src/src/core/lib/event_engine/posix_engine/event_poller.h",
+ "src/src/core/lib/event_engine/posix_engine/event_poller_posix_default.cc",
+ "src/src/core/lib/event_engine/posix_engine/event_poller_posix_default.h",
+ "src/src/core/lib/event_engine/posix_engine/internal_errqueue.cc",
+ "src/src/core/lib/event_engine/posix_engine/internal_errqueue.h",
+ "src/src/core/lib/event_engine/posix_engine/lockfree_event.cc",
+ "src/src/core/lib/event_engine/posix_engine/lockfree_event.h",
+ "src/src/core/lib/event_engine/posix_engine/posix_endpoint.cc",
+ "src/src/core/lib/event_engine/posix_engine/posix_endpoint.h",
+ "src/src/core/lib/event_engine/posix_engine/posix_engine.cc",
+ "src/src/core/lib/event_engine/posix_engine/posix_engine.h",
+ "src/src/core/lib/event_engine/posix_engine/posix_engine_closure.h",
+ "src/src/core/lib/event_engine/posix_engine/posix_engine_listener.cc",
+ "src/src/core/lib/event_engine/posix_engine/posix_engine_listener.h",
+ "src/src/core/lib/event_engine/posix_engine/posix_engine_listener_utils.cc",
+ "src/src/core/lib/event_engine/posix_engine/posix_engine_listener_utils.h",
+ "src/src/core/lib/event_engine/posix_engine/tcp_socket_utils.cc",
+ "src/src/core/lib/event_engine/posix_engine/tcp_socket_utils.h",
+ "src/src/core/lib/event_engine/posix_engine/timer.cc",
+ "src/src/core/lib/event_engine/posix_engine/timer.h",
+ "src/src/core/lib/event_engine/posix_engine/timer_heap.cc",
+ "src/src/core/lib/event_engine/posix_engine/timer_heap.h",
+ "src/src/core/lib/event_engine/posix_engine/timer_manager.cc",
+ "src/src/core/lib/event_engine/posix_engine/timer_manager.h",
+ "src/src/core/lib/event_engine/posix_engine/traced_buffer_list.cc",
+ "src/src/core/lib/event_engine/posix_engine/traced_buffer_list.h",
+ "src/src/core/lib/event_engine/posix_engine/wakeup_fd_eventfd.cc",
+ "src/src/core/lib/event_engine/posix_engine/wakeup_fd_eventfd.h",
+ "src/src/core/lib/event_engine/posix_engine/wakeup_fd_pipe.cc",
+ "src/src/core/lib/event_engine/posix_engine/wakeup_fd_pipe.h",
+ "src/src/core/lib/event_engine/posix_engine/wakeup_fd_posix.h",
+ "src/src/core/lib/event_engine/posix_engine/wakeup_fd_posix_default.cc",
+ "src/src/core/lib/event_engine/posix_engine/wakeup_fd_posix_default.h",
+ "src/src/core/lib/event_engine/resolved_address.cc",
+ "src/src/core/lib/event_engine/resolved_address_internal.h",
+ "src/src/core/lib/event_engine/shim.cc",
+ "src/src/core/lib/event_engine/shim.h",
+ "src/src/core/lib/event_engine/slice.cc",
+ "src/src/core/lib/event_engine/slice_buffer.cc",
+ "src/src/core/lib/event_engine/tcp_socket_utils.cc",
+ "src/src/core/lib/event_engine/tcp_socket_utils.h",
+ "src/src/core/lib/event_engine/thread_pool.cc",
+ "src/src/core/lib/event_engine/thread_pool.h",
+ "src/src/core/lib/event_engine/time_util.cc",
+ "src/src/core/lib/event_engine/time_util.h",
+ "src/src/core/lib/event_engine/trace.cc",
+ "src/src/core/lib/event_engine/trace.h",
+ "src/src/core/lib/event_engine/utils.cc",
+ "src/src/core/lib/event_engine/utils.h",
+ "src/src/core/lib/event_engine/windows/iocp.cc",
+ "src/src/core/lib/event_engine/windows/iocp.h",
+ "src/src/core/lib/event_engine/windows/win_socket.cc",
+ "src/src/core/lib/event_engine/windows/win_socket.h",
+ "src/src/core/lib/event_engine/windows/windows_endpoint.cc",
+ "src/src/core/lib/event_engine/windows/windows_endpoint.h",
+ "src/src/core/lib/event_engine/windows/windows_engine.cc",
+ "src/src/core/lib/event_engine/windows/windows_engine.h",
+ "src/src/core/lib/experiments/config.cc",
+ "src/src/core/lib/experiments/config.h",
+ "src/src/core/lib/experiments/experiments.cc",
+ "src/src/core/lib/experiments/experiments.h",
+ "src/src/core/lib/gpr/spinlock.h",
+ "src/src/core/lib/gprpp/atomic_utils.h",
+ "src/src/core/lib/gprpp/bitset.h",
+ "src/src/core/lib/gprpp/chunked_vector.h",
+ "src/src/core/lib/gprpp/cpp_impl_of.h",
+ "src/src/core/lib/gprpp/dual_ref_counted.h",
+ "src/src/core/lib/gprpp/load_file.cc",
+ "src/src/core/lib/gprpp/load_file.h",
+ "src/src/core/lib/gprpp/manual_constructor.h",
+ "src/src/core/lib/gprpp/match.h",
+ "src/src/core/lib/gprpp/notification.h",
+ "src/src/core/lib/gprpp/orphanable.h",
+ "src/src/core/lib/gprpp/overload.h",
+ "src/src/core/lib/gprpp/packed_table.h",
+ "src/src/core/lib/gprpp/per_cpu.h",
+ "src/src/core/lib/gprpp/ref_counted.h",
+ "src/src/core/lib/gprpp/ref_counted_ptr.h",
+ "src/src/core/lib/gprpp/single_set_ptr.h",
+ "src/src/core/lib/gprpp/sorted_pack.h",
+ "src/src/core/lib/gprpp/status_helper.cc",
+ "src/src/core/lib/gprpp/status_helper.h",
+ "src/src/core/lib/gprpp/table.h",
+ "src/src/core/lib/gprpp/time.cc",
+ "src/src/core/lib/gprpp/time.h",
+ "src/src/core/lib/gprpp/time_averaged_stats.cc",
+ "src/src/core/lib/gprpp/time_averaged_stats.h",
+ "src/src/core/lib/gprpp/unique_type_name.h",
+ "src/src/core/lib/gprpp/validation_errors.cc",
+ "src/src/core/lib/gprpp/validation_errors.h",
+ "src/src/core/lib/gprpp/work_serializer.cc",
+ "src/src/core/lib/gprpp/work_serializer.h",
+ "src/src/core/lib/handshaker/proxy_mapper.h",
+ "src/src/core/lib/handshaker/proxy_mapper_registry.cc",
+ "src/src/core/lib/handshaker/proxy_mapper_registry.h",
+ "src/src/core/lib/http/format_request.cc",
+ "src/src/core/lib/http/format_request.h",
+ "src/src/core/lib/http/httpcli.cc",
+ "src/src/core/lib/http/httpcli.h",
+ "src/src/core/lib/http/httpcli_security_connector.cc",
+ "src/src/core/lib/http/httpcli_ssl_credentials.h",
+ "src/src/core/lib/http/parser.cc",
+ "src/src/core/lib/http/parser.h",
+ "src/src/core/lib/iomgr/block_annotate.h",
+ "src/src/core/lib/iomgr/buffer_list.cc",
+ "src/src/core/lib/iomgr/buffer_list.h",
+ "src/src/core/lib/iomgr/call_combiner.cc",
+ "src/src/core/lib/iomgr/call_combiner.h",
+ "src/src/core/lib/iomgr/cfstream_handle.cc",
+ "src/src/core/lib/iomgr/cfstream_handle.h",
+ "src/src/core/lib/iomgr/closure.cc",
+ "src/src/core/lib/iomgr/closure.h",
+ "src/src/core/lib/iomgr/combiner.cc",
+ "src/src/core/lib/iomgr/combiner.h",
+ "src/src/core/lib/iomgr/dualstack_socket_posix.cc",
+ "src/src/core/lib/iomgr/dynamic_annotations.h",
+ "src/src/core/lib/iomgr/endpoint.cc",
+ "src/src/core/lib/iomgr/endpoint.h",
+ "src/src/core/lib/iomgr/endpoint_cfstream.cc",
+ "src/src/core/lib/iomgr/endpoint_cfstream.h",
+ "src/src/core/lib/iomgr/endpoint_pair.h",
+ "src/src/core/lib/iomgr/endpoint_pair_posix.cc",
+ "src/src/core/lib/iomgr/endpoint_pair_windows.cc",
+ "src/src/core/lib/iomgr/error.cc",
+ "src/src/core/lib/iomgr/error.h",
+ "src/src/core/lib/iomgr/error_cfstream.cc",
+ "src/src/core/lib/iomgr/error_cfstream.h",
+ "src/src/core/lib/iomgr/ev_apple.cc",
+ "src/src/core/lib/iomgr/ev_apple.h",
+ "src/src/core/lib/iomgr/ev_epoll1_linux.cc",
+ "src/src/core/lib/iomgr/ev_epoll1_linux.h",
+ "src/src/core/lib/iomgr/ev_poll_posix.cc",
+ "src/src/core/lib/iomgr/ev_poll_posix.h",
+ "src/src/core/lib/iomgr/ev_posix.cc",
+ "src/src/core/lib/iomgr/ev_posix.h",
+ "src/src/core/lib/iomgr/ev_windows.cc",
+ "src/src/core/lib/iomgr/event_engine_shims/closure.cc",
+ "src/src/core/lib/iomgr/event_engine_shims/closure.h",
+ "src/src/core/lib/iomgr/event_engine_shims/endpoint.cc",
+ "src/src/core/lib/iomgr/event_engine_shims/endpoint.h",
+ "src/src/core/lib/iomgr/event_engine_shims/tcp_client.cc",
+ "src/src/core/lib/iomgr/event_engine_shims/tcp_client.h",
+ "src/src/core/lib/iomgr/exec_ctx.cc",
+ "src/src/core/lib/iomgr/exec_ctx.h",
+ "src/src/core/lib/iomgr/executor.cc",
+ "src/src/core/lib/iomgr/executor.h",
+ "src/src/core/lib/iomgr/fork_posix.cc",
+ "src/src/core/lib/iomgr/fork_windows.cc",
+ "src/src/core/lib/iomgr/gethostname.h",
+ "src/src/core/lib/iomgr/gethostname_fallback.cc",
+ "src/src/core/lib/iomgr/gethostname_host_name_max.cc",
+ "src/src/core/lib/iomgr/gethostname_sysconf.cc",
+ "src/src/core/lib/iomgr/grpc_if_nametoindex.h",
+ "src/src/core/lib/iomgr/grpc_if_nametoindex_posix.cc",
+ "src/src/core/lib/iomgr/grpc_if_nametoindex_unsupported.cc",
+ "src/src/core/lib/iomgr/internal_errqueue.cc",
+ "src/src/core/lib/iomgr/internal_errqueue.h",
+ "src/src/core/lib/iomgr/iocp_windows.cc",
+ "src/src/core/lib/iomgr/iocp_windows.h",
+ "src/src/core/lib/iomgr/iomgr.cc",
+ "src/src/core/lib/iomgr/iomgr.h",
+ "src/src/core/lib/iomgr/iomgr_fwd.h",
+ "src/src/core/lib/iomgr/iomgr_internal.cc",
+ "src/src/core/lib/iomgr/iomgr_internal.h",
+ "src/src/core/lib/iomgr/iomgr_posix.cc",
+ "src/src/core/lib/iomgr/iomgr_posix_cfstream.cc",
+ "src/src/core/lib/iomgr/iomgr_windows.cc",
+ "src/src/core/lib/iomgr/load_file.cc",
+ "src/src/core/lib/iomgr/load_file.h",
+ "src/src/core/lib/iomgr/lockfree_event.cc",
+ "src/src/core/lib/iomgr/lockfree_event.h",
+ "src/src/core/lib/iomgr/nameser.h",
+ "src/src/core/lib/iomgr/polling_entity.cc",
+ "src/src/core/lib/iomgr/polling_entity.h",
+ "src/src/core/lib/iomgr/pollset.cc",
+ "src/src/core/lib/iomgr/pollset.h",
+ "src/src/core/lib/iomgr/pollset_set.cc",
+ "src/src/core/lib/iomgr/pollset_set.h",
+ "src/src/core/lib/iomgr/pollset_set_windows.cc",
+ "src/src/core/lib/iomgr/pollset_set_windows.h",
+ "src/src/core/lib/iomgr/pollset_windows.cc",
+ "src/src/core/lib/iomgr/pollset_windows.h",
+ "src/src/core/lib/iomgr/port.h",
+ "src/src/core/lib/iomgr/python_util.h",
+ "src/src/core/lib/iomgr/resolve_address.cc",
+ "src/src/core/lib/iomgr/resolve_address.h",
+ "src/src/core/lib/iomgr/resolve_address_impl.h",
+ "src/src/core/lib/iomgr/resolve_address_posix.cc",
+ "src/src/core/lib/iomgr/resolve_address_posix.h",
+ "src/src/core/lib/iomgr/resolve_address_windows.cc",
+ "src/src/core/lib/iomgr/resolve_address_windows.h",
+ "src/src/core/lib/iomgr/resolved_address.h",
+ "src/src/core/lib/iomgr/sockaddr.h",
+ "src/src/core/lib/iomgr/sockaddr_posix.h",
+ "src/src/core/lib/iomgr/sockaddr_utils_posix.cc",
+ "src/src/core/lib/iomgr/sockaddr_windows.h",
+ "src/src/core/lib/iomgr/socket_factory_posix.cc",
+ "src/src/core/lib/iomgr/socket_factory_posix.h",
+ "src/src/core/lib/iomgr/socket_mutator.cc",
+ "src/src/core/lib/iomgr/socket_mutator.h",
+ "src/src/core/lib/iomgr/socket_utils.h",
+ "src/src/core/lib/iomgr/socket_utils_common_posix.cc",
+ "src/src/core/lib/iomgr/socket_utils_linux.cc",
+ "src/src/core/lib/iomgr/socket_utils_posix.cc",
+ "src/src/core/lib/iomgr/socket_utils_posix.h",
+ "src/src/core/lib/iomgr/socket_utils_windows.cc",
+ "src/src/core/lib/iomgr/socket_windows.cc",
+ "src/src/core/lib/iomgr/socket_windows.h",
+ "src/src/core/lib/iomgr/systemd_utils.cc",
+ "src/src/core/lib/iomgr/systemd_utils.h",
+ "src/src/core/lib/iomgr/tcp_client.cc",
+ "src/src/core/lib/iomgr/tcp_client.h",
+ "src/src/core/lib/iomgr/tcp_client_cfstream.cc",
+ "src/src/core/lib/iomgr/tcp_client_posix.cc",
+ "src/src/core/lib/iomgr/tcp_client_posix.h",
+ "src/src/core/lib/iomgr/tcp_client_windows.cc",
+ "src/src/core/lib/iomgr/tcp_posix.cc",
+ "src/src/core/lib/iomgr/tcp_posix.h",
+ "src/src/core/lib/iomgr/tcp_server.cc",
+ "src/src/core/lib/iomgr/tcp_server.h",
+ "src/src/core/lib/iomgr/tcp_server_posix.cc",
+ "src/src/core/lib/iomgr/tcp_server_utils_posix.h",
+ "src/src/core/lib/iomgr/tcp_server_utils_posix_common.cc",
+ "src/src/core/lib/iomgr/tcp_server_utils_posix_ifaddrs.cc",
+ "src/src/core/lib/iomgr/tcp_server_utils_posix_noifaddrs.cc",
+ "src/src/core/lib/iomgr/tcp_server_windows.cc",
+ "src/src/core/lib/iomgr/tcp_windows.cc",
+ "src/src/core/lib/iomgr/tcp_windows.h",
+ "src/src/core/lib/iomgr/timer.cc",
+ "src/src/core/lib/iomgr/timer.h",
+ "src/src/core/lib/iomgr/timer_generic.cc",
+ "src/src/core/lib/iomgr/timer_generic.h",
+ "src/src/core/lib/iomgr/timer_heap.cc",
+ "src/src/core/lib/iomgr/timer_heap.h",
+ "src/src/core/lib/iomgr/timer_manager.cc",
+ "src/src/core/lib/iomgr/timer_manager.h",
+ "src/src/core/lib/iomgr/unix_sockets_posix.cc",
+ "src/src/core/lib/iomgr/unix_sockets_posix.h",
+ "src/src/core/lib/iomgr/unix_sockets_posix_noop.cc",
+ "src/src/core/lib/iomgr/wakeup_fd_eventfd.cc",
+ "src/src/core/lib/iomgr/wakeup_fd_nospecial.cc",
+ "src/src/core/lib/iomgr/wakeup_fd_pipe.cc",
+ "src/src/core/lib/iomgr/wakeup_fd_pipe.h",
+ "src/src/core/lib/iomgr/wakeup_fd_posix.cc",
+ "src/src/core/lib/iomgr/wakeup_fd_posix.h",
+ "src/src/core/lib/json/json.h",
+ "src/src/core/lib/json/json_args.h",
+ "src/src/core/lib/json/json_channel_args.h",
+ "src/src/core/lib/json/json_object_loader.cc",
+ "src/src/core/lib/json/json_object_loader.h",
+ "src/src/core/lib/json/json_reader.cc",
+ "src/src/core/lib/json/json_util.cc",
+ "src/src/core/lib/json/json_util.h",
+ "src/src/core/lib/json/json_writer.cc",
+ "src/src/core/lib/load_balancing/lb_policy.cc",
+ "src/src/core/lib/load_balancing/lb_policy.h",
+ "src/src/core/lib/load_balancing/lb_policy_factory.h",
+ "src/src/core/lib/load_balancing/lb_policy_registry.cc",
+ "src/src/core/lib/load_balancing/lb_policy_registry.h",
+ "src/src/core/lib/load_balancing/subchannel_interface.h",
+ "src/src/core/lib/matchers/matchers.cc",
+ "src/src/core/lib/matchers/matchers.h",
+ "src/src/core/lib/promise/activity.cc",
+ "src/src/core/lib/promise/activity.h",
+ "src/src/core/lib/promise/arena_promise.h",
+ "src/src/core/lib/promise/context.h",
+ "src/src/core/lib/promise/detail/basic_join.h",
+ "src/src/core/lib/promise/detail/basic_seq.h",
+ "src/src/core/lib/promise/detail/promise_factory.h",
+ "src/src/core/lib/promise/detail/promise_like.h",
+ "src/src/core/lib/promise/detail/status.h",
+ "src/src/core/lib/promise/detail/switch.h",
+ "src/src/core/lib/promise/exec_ctx_wakeup_scheduler.h",
+ "src/src/core/lib/promise/if.h",
+ "src/src/core/lib/promise/interceptor_list.h",
+ "src/src/core/lib/promise/intra_activity_waiter.h",
+ "src/src/core/lib/promise/latch.h",
+ "src/src/core/lib/promise/loop.h",
+ "src/src/core/lib/promise/map.h",
+ "src/src/core/lib/promise/pipe.h",
+ "src/src/core/lib/promise/poll.h",
+ "src/src/core/lib/promise/promise.h",
+ "src/src/core/lib/promise/race.h",
+ "src/src/core/lib/promise/seq.h",
+ "src/src/core/lib/promise/sleep.cc",
+ "src/src/core/lib/promise/sleep.h",
+ "src/src/core/lib/promise/trace.cc",
+ "src/src/core/lib/promise/trace.h",
+ "src/src/core/lib/promise/try_join.h",
+ "src/src/core/lib/promise/try_seq.h",
+ "src/src/core/lib/resolver/resolver.cc",
+ "src/src/core/lib/resolver/resolver.h",
+ "src/src/core/lib/resolver/resolver_factory.h",
+ "src/src/core/lib/resolver/resolver_registry.cc",
+ "src/src/core/lib/resolver/resolver_registry.h",
+ "src/src/core/lib/resolver/server_address.cc",
+ "src/src/core/lib/resolver/server_address.h",
+ "src/src/core/lib/resource_quota/api.cc",
+ "src/src/core/lib/resource_quota/api.h",
+ "src/src/core/lib/resource_quota/arena.cc",
+ "src/src/core/lib/resource_quota/arena.h",
+ "src/src/core/lib/resource_quota/memory_quota.cc",
+ "src/src/core/lib/resource_quota/memory_quota.h",
+ "src/src/core/lib/resource_quota/periodic_update.cc",
+ "src/src/core/lib/resource_quota/periodic_update.h",
+ "src/src/core/lib/resource_quota/resource_quota.cc",
+ "src/src/core/lib/resource_quota/resource_quota.h",
+ "src/src/core/lib/resource_quota/thread_quota.cc",
+ "src/src/core/lib/resource_quota/thread_quota.h",
+ "src/src/core/lib/resource_quota/trace.cc",
+ "src/src/core/lib/resource_quota/trace.h",
+ "src/src/core/lib/security/authorization/authorization_engine.h",
+ "src/src/core/lib/security/authorization/authorization_policy_provider.h",
+ "src/src/core/lib/security/authorization/authorization_policy_provider_vtable.cc",
+ "src/src/core/lib/security/authorization/evaluate_args.cc",
+ "src/src/core/lib/security/authorization/evaluate_args.h",
+ "src/src/core/lib/security/authorization/grpc_authorization_engine.cc",
+ "src/src/core/lib/security/authorization/grpc_authorization_engine.h",
+ "src/src/core/lib/security/authorization/grpc_server_authz_filter.cc",
+ "src/src/core/lib/security/authorization/grpc_server_authz_filter.h",
+ "src/src/core/lib/security/authorization/matchers.cc",
+ "src/src/core/lib/security/authorization/matchers.h",
+ "src/src/core/lib/security/authorization/rbac_policy.cc",
+ "src/src/core/lib/security/authorization/rbac_policy.h",
+ "src/src/core/lib/security/certificate_provider/certificate_provider_factory.h",
+ "src/src/core/lib/security/certificate_provider/certificate_provider_registry.cc",
+ "src/src/core/lib/security/certificate_provider/certificate_provider_registry.h",
+ "src/src/core/lib/security/context/security_context.cc",
+ "src/src/core/lib/security/context/security_context.h",
+ "src/src/core/lib/security/credentials/alts/alts_credentials.cc",
+ "src/src/core/lib/security/credentials/alts/alts_credentials.h",
+ "src/src/core/lib/security/credentials/alts/check_gcp_environment.cc",
+ "src/src/core/lib/security/credentials/alts/check_gcp_environment.h",
+ "src/src/core/lib/security/credentials/alts/check_gcp_environment_linux.cc",
+ "src/src/core/lib/security/credentials/alts/check_gcp_environment_no_op.cc",
+ "src/src/core/lib/security/credentials/alts/check_gcp_environment_windows.cc",
+ "src/src/core/lib/security/credentials/alts/grpc_alts_credentials_client_options.cc",
+ "src/src/core/lib/security/credentials/alts/grpc_alts_credentials_options.cc",
+ "src/src/core/lib/security/credentials/alts/grpc_alts_credentials_options.h",
+ "src/src/core/lib/security/credentials/alts/grpc_alts_credentials_server_options.cc",
+ "src/src/core/lib/security/credentials/call_creds_util.cc",
+ "src/src/core/lib/security/credentials/call_creds_util.h",
+ "src/src/core/lib/security/credentials/channel_creds_registry.h",
+ "src/src/core/lib/security/credentials/channel_creds_registry_init.cc",
+ "src/src/core/lib/security/credentials/composite/composite_credentials.cc",
+ "src/src/core/lib/security/credentials/composite/composite_credentials.h",
+ "src/src/core/lib/security/credentials/credentials.cc",
+ "src/src/core/lib/security/credentials/credentials.h",
+ "src/src/core/lib/security/credentials/external/aws_external_account_credentials.cc",
+ "src/src/core/lib/security/credentials/external/aws_external_account_credentials.h",
+ "src/src/core/lib/security/credentials/external/aws_request_signer.cc",
+ "src/src/core/lib/security/credentials/external/aws_request_signer.h",
+ "src/src/core/lib/security/credentials/external/external_account_credentials.cc",
+ "src/src/core/lib/security/credentials/external/external_account_credentials.h",
+ "src/src/core/lib/security/credentials/external/file_external_account_credentials.cc",
+ "src/src/core/lib/security/credentials/external/file_external_account_credentials.h",
+ "src/src/core/lib/security/credentials/external/url_external_account_credentials.cc",
+ "src/src/core/lib/security/credentials/external/url_external_account_credentials.h",
+ "src/src/core/lib/security/credentials/fake/fake_credentials.cc",
+ "src/src/core/lib/security/credentials/fake/fake_credentials.h",
+ "src/src/core/lib/security/credentials/google_default/credentials_generic.cc",
+ "src/src/core/lib/security/credentials/google_default/google_default_credentials.cc",
+ "src/src/core/lib/security/credentials/google_default/google_default_credentials.h",
+ "src/src/core/lib/security/credentials/iam/iam_credentials.cc",
+ "src/src/core/lib/security/credentials/iam/iam_credentials.h",
+ "src/src/core/lib/security/credentials/insecure/insecure_credentials.cc",
+ "src/src/core/lib/security/credentials/insecure/insecure_credentials.h",
+ "src/src/core/lib/security/credentials/jwt/json_token.cc",
+ "src/src/core/lib/security/credentials/jwt/json_token.h",
+ "src/src/core/lib/security/credentials/jwt/jwt_credentials.cc",
+ "src/src/core/lib/security/credentials/jwt/jwt_credentials.h",
+ "src/src/core/lib/security/credentials/jwt/jwt_verifier.cc",
+ "src/src/core/lib/security/credentials/jwt/jwt_verifier.h",
+ "src/src/core/lib/security/credentials/local/local_credentials.cc",
+ "src/src/core/lib/security/credentials/local/local_credentials.h",
+ "src/src/core/lib/security/credentials/oauth2/oauth2_credentials.cc",
+ "src/src/core/lib/security/credentials/oauth2/oauth2_credentials.h",
+ "src/src/core/lib/security/credentials/plugin/plugin_credentials.cc",
+ "src/src/core/lib/security/credentials/plugin/plugin_credentials.h",
+ "src/src/core/lib/security/credentials/ssl/ssl_credentials.cc",
+ "src/src/core/lib/security/credentials/ssl/ssl_credentials.h",
+ "src/src/core/lib/security/credentials/tls/grpc_tls_certificate_distributor.cc",
+ "src/src/core/lib/security/credentials/tls/grpc_tls_certificate_distributor.h",
+ "src/src/core/lib/security/credentials/tls/grpc_tls_certificate_provider.cc",
+ "src/src/core/lib/security/credentials/tls/grpc_tls_certificate_provider.h",
+ "src/src/core/lib/security/credentials/tls/grpc_tls_certificate_verifier.cc",
+ "src/src/core/lib/security/credentials/tls/grpc_tls_certificate_verifier.h",
+ "src/src/core/lib/security/credentials/tls/grpc_tls_credentials_options.cc",
+ "src/src/core/lib/security/credentials/tls/grpc_tls_credentials_options.h",
+ "src/src/core/lib/security/credentials/tls/tls_credentials.cc",
+ "src/src/core/lib/security/credentials/tls/tls_credentials.h",
+ "src/src/core/lib/security/credentials/tls/tls_utils.cc",
+ "src/src/core/lib/security/credentials/tls/tls_utils.h",
+ "src/src/core/lib/security/credentials/xds/xds_credentials.cc",
+ "src/src/core/lib/security/credentials/xds/xds_credentials.h",
+ "src/src/core/lib/security/security_connector/alts/alts_security_connector.cc",
+ "src/src/core/lib/security/security_connector/alts/alts_security_connector.h",
+ "src/src/core/lib/security/security_connector/fake/fake_security_connector.cc",
+ "src/src/core/lib/security/security_connector/fake/fake_security_connector.h",
+ "src/src/core/lib/security/security_connector/insecure/insecure_security_connector.cc",
+ "src/src/core/lib/security/security_connector/insecure/insecure_security_connector.h",
+ "src/src/core/lib/security/security_connector/load_system_roots.h",
+ "src/src/core/lib/security/security_connector/load_system_roots_fallback.cc",
+ "src/src/core/lib/security/security_connector/load_system_roots_supported.cc",
+ "src/src/core/lib/security/security_connector/load_system_roots_supported.h",
+ "src/src/core/lib/security/security_connector/local/local_security_connector.cc",
+ "src/src/core/lib/security/security_connector/local/local_security_connector.h",
+ "src/src/core/lib/security/security_connector/security_connector.cc",
+ "src/src/core/lib/security/security_connector/security_connector.h",
+ "src/src/core/lib/security/security_connector/ssl/ssl_security_connector.cc",
+ "src/src/core/lib/security/security_connector/ssl/ssl_security_connector.h",
+ "src/src/core/lib/security/security_connector/ssl_utils.cc",
+ "src/src/core/lib/security/security_connector/ssl_utils.h",
+ "src/src/core/lib/security/security_connector/ssl_utils_config.cc",
+ "src/src/core/lib/security/security_connector/ssl_utils_config.h",
+ "src/src/core/lib/security/security_connector/tls/tls_security_connector.cc",
+ "src/src/core/lib/security/security_connector/tls/tls_security_connector.h",
+ "src/src/core/lib/security/transport/auth_filters.h",
+ "src/src/core/lib/security/transport/client_auth_filter.cc",
+ "src/src/core/lib/security/transport/secure_endpoint.cc",
+ "src/src/core/lib/security/transport/secure_endpoint.h",
+ "src/src/core/lib/security/transport/security_handshaker.cc",
+ "src/src/core/lib/security/transport/security_handshaker.h",
+ "src/src/core/lib/security/transport/server_auth_filter.cc",
+ "src/src/core/lib/security/transport/tsi_error.cc",
+ "src/src/core/lib/security/transport/tsi_error.h",
+ "src/src/core/lib/security/util/json_util.cc",
+ "src/src/core/lib/security/util/json_util.h",
+ "src/src/core/lib/service_config/service_config.h",
+ "src/src/core/lib/service_config/service_config_call_data.h",
+ "src/src/core/lib/service_config/service_config_impl.cc",
+ "src/src/core/lib/service_config/service_config_impl.h",
+ "src/src/core/lib/service_config/service_config_parser.cc",
+ "src/src/core/lib/service_config/service_config_parser.h",
+ "src/src/core/lib/slice/b64.cc",
+ "src/src/core/lib/slice/b64.h",
+ "src/src/core/lib/slice/percent_encoding.cc",
+ "src/src/core/lib/slice/percent_encoding.h",
+ "src/src/core/lib/slice/slice.cc",
+ "src/src/core/lib/slice/slice.h",
+ "src/src/core/lib/slice/slice_buffer.cc",
+ "src/src/core/lib/slice/slice_buffer.h",
+ "src/src/core/lib/slice/slice_internal.h",
+ "src/src/core/lib/slice/slice_refcount.cc",
+ "src/src/core/lib/slice/slice_refcount.h",
+ "src/src/core/lib/slice/slice_string_helpers.cc",
+ "src/src/core/lib/slice/slice_string_helpers.h",
+ "src/src/core/lib/surface/api_trace.cc",
+ "src/src/core/lib/surface/api_trace.h",
+ "src/src/core/lib/surface/builtins.cc",
+ "src/src/core/lib/surface/builtins.h",
+ "src/src/core/lib/surface/byte_buffer.cc",
+ "src/src/core/lib/surface/byte_buffer_reader.cc",
+ "src/src/core/lib/surface/call.cc",
+ "src/src/core/lib/surface/call.h",
+ "src/src/core/lib/surface/call_details.cc",
+ "src/src/core/lib/surface/call_log_batch.cc",
+ "src/src/core/lib/surface/call_test_only.h",
+ "src/src/core/lib/surface/call_trace.cc",
+ "src/src/core/lib/surface/call_trace.h",
+ "src/src/core/lib/surface/channel.cc",
+ "src/src/core/lib/surface/channel.h",
+ "src/src/core/lib/surface/channel_init.cc",
+ "src/src/core/lib/surface/channel_init.h",
+ "src/src/core/lib/surface/channel_ping.cc",
+ "src/src/core/lib/surface/channel_stack_type.cc",
+ "src/src/core/lib/surface/channel_stack_type.h",
+ "src/src/core/lib/surface/completion_queue.cc",
+ "src/src/core/lib/surface/completion_queue.h",
+ "src/src/core/lib/surface/completion_queue_factory.cc",
+ "src/src/core/lib/surface/completion_queue_factory.h",
+ "src/src/core/lib/surface/event_string.cc",
+ "src/src/core/lib/surface/event_string.h",
+ "src/src/core/lib/surface/init.cc",
+ "src/src/core/lib/surface/init.h",
+ "src/src/core/lib/surface/init_internally.cc",
+ "src/src/core/lib/surface/init_internally.h",
+ "src/src/core/lib/surface/lame_client.cc",
+ "src/src/core/lib/surface/lame_client.h",
+ "src/src/core/lib/surface/metadata_array.cc",
+ "src/src/core/lib/surface/server.cc",
+ "src/src/core/lib/surface/server.h",
+ "src/src/core/lib/surface/validate_metadata.cc",
+ "src/src/core/lib/surface/validate_metadata.h",
+ "src/src/core/lib/surface/version.cc",
+ "src/src/core/lib/transport/bdp_estimator.cc",
+ "src/src/core/lib/transport/bdp_estimator.h",
+ "src/src/core/lib/transport/connectivity_state.cc",
+ "src/src/core/lib/transport/connectivity_state.h",
+ "src/src/core/lib/transport/error_utils.cc",
+ "src/src/core/lib/transport/error_utils.h",
+ "src/src/core/lib/transport/handshaker.cc",
+ "src/src/core/lib/transport/handshaker.h",
+ "src/src/core/lib/transport/handshaker_factory.h",
+ "src/src/core/lib/transport/handshaker_registry.cc",
+ "src/src/core/lib/transport/handshaker_registry.h",
+ "src/src/core/lib/transport/http2_errors.h",
+ "src/src/core/lib/transport/http_connect_handshaker.cc",
+ "src/src/core/lib/transport/http_connect_handshaker.h",
+ "src/src/core/lib/transport/metadata_batch.cc",
+ "src/src/core/lib/transport/metadata_batch.h",
+ "src/src/core/lib/transport/parsed_metadata.cc",
+ "src/src/core/lib/transport/parsed_metadata.h",
+ "src/src/core/lib/transport/pid_controller.cc",
+ "src/src/core/lib/transport/pid_controller.h",
+ "src/src/core/lib/transport/status_conversion.cc",
+ "src/src/core/lib/transport/status_conversion.h",
+ "src/src/core/lib/transport/tcp_connect_handshaker.cc",
+ "src/src/core/lib/transport/tcp_connect_handshaker.h",
+ "src/src/core/lib/transport/timeout_encoding.cc",
+ "src/src/core/lib/transport/timeout_encoding.h",
+ "src/src/core/lib/transport/transport.cc",
+ "src/src/core/lib/transport/transport.h",
+ "src/src/core/lib/transport/transport_fwd.h",
+ "src/src/core/lib/transport/transport_impl.h",
+ "src/src/core/lib/transport/transport_op_string.cc",
+ "src/src/core/lib/uri/uri_parser.cc",
+ "src/src/core/lib/uri/uri_parser.h",
+ "src/src/core/plugin_registry/grpc_plugin_registry.cc",
+ "src/src/core/plugin_registry/grpc_plugin_registry_extra.cc",
+ "src/src/core/tsi/alts/crypt/aes_gcm.cc",
+ "src/src/core/tsi/alts/crypt/gsec.cc",
+ "src/src/core/tsi/alts/crypt/gsec.h",
+ "src/src/core/tsi/alts/frame_protector/alts_counter.cc",
+ "src/src/core/tsi/alts/frame_protector/alts_counter.h",
+ "src/src/core/tsi/alts/frame_protector/alts_crypter.cc",
+ "src/src/core/tsi/alts/frame_protector/alts_crypter.h",
+ "src/src/core/tsi/alts/frame_protector/alts_frame_protector.cc",
+ "src/src/core/tsi/alts/frame_protector/alts_frame_protector.h",
+ "src/src/core/tsi/alts/frame_protector/alts_record_protocol_crypter_common.cc",
+ "src/src/core/tsi/alts/frame_protector/alts_record_protocol_crypter_common.h",
+ "src/src/core/tsi/alts/frame_protector/alts_seal_privacy_integrity_crypter.cc",
+ "src/src/core/tsi/alts/frame_protector/alts_unseal_privacy_integrity_crypter.cc",
+ "src/src/core/tsi/alts/frame_protector/frame_handler.cc",
+ "src/src/core/tsi/alts/frame_protector/frame_handler.h",
+ "src/src/core/tsi/alts/handshaker/alts_handshaker_client.cc",
+ "src/src/core/tsi/alts/handshaker/alts_handshaker_client.h",
+ "src/src/core/tsi/alts/handshaker/alts_shared_resource.cc",
+ "src/src/core/tsi/alts/handshaker/alts_shared_resource.h",
+ "src/src/core/tsi/alts/handshaker/alts_tsi_handshaker.cc",
+ "src/src/core/tsi/alts/handshaker/alts_tsi_handshaker.h",
+ "src/src/core/tsi/alts/handshaker/alts_tsi_handshaker_private.h",
+ "src/src/core/tsi/alts/handshaker/alts_tsi_utils.cc",
+ "src/src/core/tsi/alts/handshaker/alts_tsi_utils.h",
+ "src/src/core/tsi/alts/handshaker/transport_security_common_api.cc",
+ "src/src/core/tsi/alts/handshaker/transport_security_common_api.h",
+ "src/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_integrity_only_record_protocol.cc",
+ "src/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_integrity_only_record_protocol.h",
+ "src/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_privacy_integrity_record_protocol.cc",
+ "src/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_privacy_integrity_record_protocol.h",
+ "src/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_record_protocol.h",
+ "src/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_record_protocol_common.cc",
+ "src/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_record_protocol_common.h",
+ "src/src/core/tsi/alts/zero_copy_frame_protector/alts_iovec_record_protocol.cc",
+ "src/src/core/tsi/alts/zero_copy_frame_protector/alts_iovec_record_protocol.h",
+ "src/src/core/tsi/alts/zero_copy_frame_protector/alts_zero_copy_grpc_protector.cc",
+ "src/src/core/tsi/alts/zero_copy_frame_protector/alts_zero_copy_grpc_protector.h",
+ "src/src/core/tsi/fake_transport_security.cc",
+ "src/src/core/tsi/fake_transport_security.h",
+ "src/src/core/tsi/local_transport_security.cc",
+ "src/src/core/tsi/local_transport_security.h",
+ "src/src/core/tsi/ssl/key_logging/ssl_key_logging.cc",
+ "src/src/core/tsi/ssl/key_logging/ssl_key_logging.h",
+ "src/src/core/tsi/ssl/session_cache/ssl_session.h",
+ "src/src/core/tsi/ssl/session_cache/ssl_session_boringssl.cc",
+ "src/src/core/tsi/ssl/session_cache/ssl_session_cache.cc",
+ "src/src/core/tsi/ssl/session_cache/ssl_session_cache.h",
+ "src/src/core/tsi/ssl/session_cache/ssl_session_openssl.cc",
+ "src/src/core/tsi/ssl_transport_security.cc",
+ "src/src/core/tsi/ssl_transport_security.h",
+ "src/src/core/tsi/ssl_transport_security_utils.cc",
+ "src/src/core/tsi/ssl_transport_security_utils.h",
+ "src/src/core/tsi/ssl_types.h",
+ "src/src/core/tsi/transport_security.cc",
+ "src/src/core/tsi/transport_security.h",
+ "src/src/core/tsi/transport_security_grpc.cc",
+ "src/src/core/tsi/transport_security_grpc.h",
+ "src/src/core/tsi/transport_security_interface.h",
+ "src/third_party/xxhash/xxhash.h",
+ ]
+ public_deps = [
+ ":absl_cleanup_cleanup",
+ ":absl_container_flat_hash_map",
+ ":absl_container_flat_hash_set",
+ ":absl_container_inlined_vector",
+ ":absl_functional_any_invocable",
+ ":absl_functional_bind_front",
+ ":absl_functional_function_ref",
+ ":absl_hash_hash",
+ ":absl_meta_type_traits",
+ ":absl_status_statusor",
+ ":absl_types_span",
+ ":absl_utility_utility",
+ ":address_sorting",
+ ":boringssl",
+ ":gpr",
+ ":upb",
+ ]
+ public_configs = [ "..:grpc_internal_config" ]
+ configs -= [ "//gn/standalone:extra_warnings" ]
+}
+
+source_set("grpc_unsecure") {
+ sources = [
+ "src/src/core/ext/filters/census/grpc_context.cc",
+ "src/src/core/ext/filters/channel_idle/channel_idle_filter.cc",
+ "src/src/core/ext/filters/channel_idle/channel_idle_filter.h",
+ "src/src/core/ext/filters/channel_idle/idle_filter_state.cc",
+ "src/src/core/ext/filters/channel_idle/idle_filter_state.h",
+ "src/src/core/ext/filters/client_channel/backend_metric.cc",
+ "src/src/core/ext/filters/client_channel/backend_metric.h",
+ "src/src/core/ext/filters/client_channel/backup_poller.cc",
+ "src/src/core/ext/filters/client_channel/backup_poller.h",
+ "src/src/core/ext/filters/client_channel/channel_connectivity.cc",
+ "src/src/core/ext/filters/client_channel/client_channel.cc",
+ "src/src/core/ext/filters/client_channel/client_channel.h",
+ "src/src/core/ext/filters/client_channel/client_channel_channelz.cc",
+ "src/src/core/ext/filters/client_channel/client_channel_channelz.h",
+ "src/src/core/ext/filters/client_channel/client_channel_factory.cc",
+ "src/src/core/ext/filters/client_channel/client_channel_factory.h",
+ "src/src/core/ext/filters/client_channel/client_channel_plugin.cc",
+ "src/src/core/ext/filters/client_channel/client_channel_service_config.cc",
+ "src/src/core/ext/filters/client_channel/client_channel_service_config.h",
+ "src/src/core/ext/filters/client_channel/config_selector.cc",
+ "src/src/core/ext/filters/client_channel/config_selector.h",
+ "src/src/core/ext/filters/client_channel/connector.h",
+ "src/src/core/ext/filters/client_channel/dynamic_filters.cc",
+ "src/src/core/ext/filters/client_channel/dynamic_filters.h",
+ "src/src/core/ext/filters/client_channel/global_subchannel_pool.cc",
+ "src/src/core/ext/filters/client_channel/global_subchannel_pool.h",
+ "src/src/core/ext/filters/client_channel/health/health_check_client.cc",
+ "src/src/core/ext/filters/client_channel/health/health_check_client.h",
+ "src/src/core/ext/filters/client_channel/http_proxy.cc",
+ "src/src/core/ext/filters/client_channel/http_proxy.h",
+ "src/src/core/ext/filters/client_channel/lb_call_state_internal.h",
+ "src/src/core/ext/filters/client_channel/lb_policy/address_filtering.cc",
+ "src/src/core/ext/filters/client_channel/lb_policy/address_filtering.h",
+ "src/src/core/ext/filters/client_channel/lb_policy/backend_metric_data.h",
+ "src/src/core/ext/filters/client_channel/lb_policy/child_policy_handler.cc",
+ "src/src/core/ext/filters/client_channel/lb_policy/child_policy_handler.h",
+ "src/src/core/ext/filters/client_channel/lb_policy/grpclb/client_load_reporting_filter.cc",
+ "src/src/core/ext/filters/client_channel/lb_policy/grpclb/client_load_reporting_filter.h",
+ "src/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.cc",
+ "src/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.h",
+ "src/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_balancer_addresses.cc",
+ "src/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_balancer_addresses.h",
+ "src/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_client_stats.cc",
+ "src/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_client_stats.h",
+ "src/src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.cc",
+ "src/src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.h",
+ "src/src/core/ext/filters/client_channel/lb_policy/oob_backend_metric.cc",
+ "src/src/core/ext/filters/client_channel/lb_policy/oob_backend_metric.h",
+ "src/src/core/ext/filters/client_channel/lb_policy/oob_backend_metric_internal.h",
+ "src/src/core/ext/filters/client_channel/lb_policy/outlier_detection/outlier_detection.cc",
+ "src/src/core/ext/filters/client_channel/lb_policy/outlier_detection/outlier_detection.h",
+ "src/src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.cc",
+ "src/src/core/ext/filters/client_channel/lb_policy/priority/priority.cc",
+ "src/src/core/ext/filters/client_channel/lb_policy/ring_hash/ring_hash.cc",
+ "src/src/core/ext/filters/client_channel/lb_policy/ring_hash/ring_hash.h",
+ "src/src/core/ext/filters/client_channel/lb_policy/rls/rls.cc",
+ "src/src/core/ext/filters/client_channel/lb_policy/round_robin/round_robin.cc",
+ "src/src/core/ext/filters/client_channel/lb_policy/subchannel_list.h",
+ "src/src/core/ext/filters/client_channel/lb_policy/weighted_round_robin/static_stride_scheduler.cc",
+ "src/src/core/ext/filters/client_channel/lb_policy/weighted_round_robin/static_stride_scheduler.h",
+ "src/src/core/ext/filters/client_channel/lb_policy/weighted_round_robin/weighted_round_robin.cc",
+ "src/src/core/ext/filters/client_channel/lb_policy/weighted_target/weighted_target.cc",
+ "src/src/core/ext/filters/client_channel/local_subchannel_pool.cc",
+ "src/src/core/ext/filters/client_channel/local_subchannel_pool.h",
+ "src/src/core/ext/filters/client_channel/resolver/binder/binder_resolver.cc",
+ "src/src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.cc",
+ "src/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver.h",
+ "src/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_posix.cc",
+ "src/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_windows.cc",
+ "src/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.cc",
+ "src/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.h",
+ "src/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper_posix.cc",
+ "src/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper_windows.cc",
+ "src/src/core/ext/filters/client_channel/resolver/dns/dns_resolver_selection.cc",
+ "src/src/core/ext/filters/client_channel/resolver/dns/dns_resolver_selection.h",
+ "src/src/core/ext/filters/client_channel/resolver/dns/native/dns_resolver.cc",
+ "src/src/core/ext/filters/client_channel/resolver/fake/fake_resolver.cc",
+ "src/src/core/ext/filters/client_channel/resolver/fake/fake_resolver.h",
+ "src/src/core/ext/filters/client_channel/resolver/polling_resolver.cc",
+ "src/src/core/ext/filters/client_channel/resolver/polling_resolver.h",
+ "src/src/core/ext/filters/client_channel/resolver/sockaddr/sockaddr_resolver.cc",
+ "src/src/core/ext/filters/client_channel/retry_filter.cc",
+ "src/src/core/ext/filters/client_channel/retry_filter.h",
+ "src/src/core/ext/filters/client_channel/retry_service_config.cc",
+ "src/src/core/ext/filters/client_channel/retry_service_config.h",
+ "src/src/core/ext/filters/client_channel/retry_throttle.cc",
+ "src/src/core/ext/filters/client_channel/retry_throttle.h",
+ "src/src/core/ext/filters/client_channel/service_config_channel_arg_filter.cc",
+ "src/src/core/ext/filters/client_channel/subchannel.cc",
+ "src/src/core/ext/filters/client_channel/subchannel.h",
+ "src/src/core/ext/filters/client_channel/subchannel_interface_internal.h",
+ "src/src/core/ext/filters/client_channel/subchannel_pool_interface.cc",
+ "src/src/core/ext/filters/client_channel/subchannel_pool_interface.h",
+ "src/src/core/ext/filters/client_channel/subchannel_stream_client.cc",
+ "src/src/core/ext/filters/client_channel/subchannel_stream_client.h",
+ "src/src/core/ext/filters/deadline/deadline_filter.cc",
+ "src/src/core/ext/filters/deadline/deadline_filter.h",
+ "src/src/core/ext/filters/fault_injection/fault_injection_filter.cc",
+ "src/src/core/ext/filters/fault_injection/fault_injection_filter.h",
+ "src/src/core/ext/filters/fault_injection/fault_injection_service_config_parser.cc",
+ "src/src/core/ext/filters/fault_injection/fault_injection_service_config_parser.h",
+ "src/src/core/ext/filters/http/client/http_client_filter.cc",
+ "src/src/core/ext/filters/http/client/http_client_filter.h",
+ "src/src/core/ext/filters/http/client_authority_filter.cc",
+ "src/src/core/ext/filters/http/client_authority_filter.h",
+ "src/src/core/ext/filters/http/http_filters_plugin.cc",
+ "src/src/core/ext/filters/http/message_compress/compression_filter.cc",
+ "src/src/core/ext/filters/http/message_compress/compression_filter.h",
+ "src/src/core/ext/filters/http/server/http_server_filter.cc",
+ "src/src/core/ext/filters/http/server/http_server_filter.h",
+ "src/src/core/ext/filters/message_size/message_size_filter.cc",
+ "src/src/core/ext/filters/message_size/message_size_filter.h",
+ "src/src/core/ext/transport/chttp2/client/chttp2_connector.cc",
+ "src/src/core/ext/transport/chttp2/client/chttp2_connector.h",
+ "src/src/core/ext/transport/chttp2/server/chttp2_server.cc",
+ "src/src/core/ext/transport/chttp2/server/chttp2_server.h",
+ "src/src/core/ext/transport/chttp2/transport/bin_decoder.cc",
+ "src/src/core/ext/transport/chttp2/transport/bin_decoder.h",
+ "src/src/core/ext/transport/chttp2/transport/bin_encoder.cc",
+ "src/src/core/ext/transport/chttp2/transport/bin_encoder.h",
+ "src/src/core/ext/transport/chttp2/transport/chttp2_transport.cc",
+ "src/src/core/ext/transport/chttp2/transport/chttp2_transport.h",
+ "src/src/core/ext/transport/chttp2/transport/context_list.cc",
+ "src/src/core/ext/transport/chttp2/transport/context_list.h",
+ "src/src/core/ext/transport/chttp2/transport/decode_huff.cc",
+ "src/src/core/ext/transport/chttp2/transport/decode_huff.h",
+ "src/src/core/ext/transport/chttp2/transport/flow_control.cc",
+ "src/src/core/ext/transport/chttp2/transport/flow_control.h",
+ "src/src/core/ext/transport/chttp2/transport/frame.h",
+ "src/src/core/ext/transport/chttp2/transport/frame_data.cc",
+ "src/src/core/ext/transport/chttp2/transport/frame_data.h",
+ "src/src/core/ext/transport/chttp2/transport/frame_goaway.cc",
+ "src/src/core/ext/transport/chttp2/transport/frame_goaway.h",
+ "src/src/core/ext/transport/chttp2/transport/frame_ping.cc",
+ "src/src/core/ext/transport/chttp2/transport/frame_ping.h",
+ "src/src/core/ext/transport/chttp2/transport/frame_rst_stream.cc",
+ "src/src/core/ext/transport/chttp2/transport/frame_rst_stream.h",
+ "src/src/core/ext/transport/chttp2/transport/frame_settings.cc",
+ "src/src/core/ext/transport/chttp2/transport/frame_settings.h",
+ "src/src/core/ext/transport/chttp2/transport/frame_window_update.cc",
+ "src/src/core/ext/transport/chttp2/transport/frame_window_update.h",
+ "src/src/core/ext/transport/chttp2/transport/hpack_constants.h",
+ "src/src/core/ext/transport/chttp2/transport/hpack_encoder.cc",
+ "src/src/core/ext/transport/chttp2/transport/hpack_encoder.h",
+ "src/src/core/ext/transport/chttp2/transport/hpack_encoder_table.cc",
+ "src/src/core/ext/transport/chttp2/transport/hpack_encoder_table.h",
+ "src/src/core/ext/transport/chttp2/transport/hpack_parser.cc",
+ "src/src/core/ext/transport/chttp2/transport/hpack_parser.h",
+ "src/src/core/ext/transport/chttp2/transport/hpack_parser_table.cc",
+ "src/src/core/ext/transport/chttp2/transport/hpack_parser_table.h",
+ "src/src/core/ext/transport/chttp2/transport/http2_settings.cc",
+ "src/src/core/ext/transport/chttp2/transport/http2_settings.h",
+ "src/src/core/ext/transport/chttp2/transport/http_trace.cc",
+ "src/src/core/ext/transport/chttp2/transport/http_trace.h",
+ "src/src/core/ext/transport/chttp2/transport/huffsyms.cc",
+ "src/src/core/ext/transport/chttp2/transport/huffsyms.h",
+ "src/src/core/ext/transport/chttp2/transport/internal.h",
+ "src/src/core/ext/transport/chttp2/transport/parsing.cc",
+ "src/src/core/ext/transport/chttp2/transport/stream_lists.cc",
+ "src/src/core/ext/transport/chttp2/transport/stream_map.cc",
+ "src/src/core/ext/transport/chttp2/transport/stream_map.h",
+ "src/src/core/ext/transport/chttp2/transport/varint.cc",
+ "src/src/core/ext/transport/chttp2/transport/varint.h",
+ "src/src/core/ext/transport/chttp2/transport/writing.cc",
+ "src/src/core/ext/transport/inproc/inproc_plugin.cc",
+ "src/src/core/ext/transport/inproc/inproc_transport.cc",
+ "src/src/core/ext/transport/inproc/inproc_transport.h",
+ "src/src/core/ext/upb-generated/google/api/annotations.upb.c",
+ "src/src/core/ext/upb-generated/google/api/annotations.upb.h",
+ "src/src/core/ext/upb-generated/google/api/http.upb.c",
+ "src/src/core/ext/upb-generated/google/api/http.upb.h",
+ "src/src/core/ext/upb-generated/google/protobuf/any.upb.c",
+ "src/src/core/ext/upb-generated/google/protobuf/any.upb.h",
+ "src/src/core/ext/upb-generated/google/protobuf/descriptor.upb.c",
+ "src/src/core/ext/upb-generated/google/protobuf/descriptor.upb.h",
+ "src/src/core/ext/upb-generated/google/protobuf/duration.upb.c",
+ "src/src/core/ext/upb-generated/google/protobuf/duration.upb.h",
+ "src/src/core/ext/upb-generated/google/protobuf/empty.upb.c",
+ "src/src/core/ext/upb-generated/google/protobuf/empty.upb.h",
+ "src/src/core/ext/upb-generated/google/protobuf/struct.upb.c",
+ "src/src/core/ext/upb-generated/google/protobuf/struct.upb.h",
+ "src/src/core/ext/upb-generated/google/protobuf/timestamp.upb.c",
+ "src/src/core/ext/upb-generated/google/protobuf/timestamp.upb.h",
+ "src/src/core/ext/upb-generated/google/protobuf/wrappers.upb.c",
+ "src/src/core/ext/upb-generated/google/protobuf/wrappers.upb.h",
+ "src/src/core/ext/upb-generated/google/rpc/status.upb.c",
+ "src/src/core/ext/upb-generated/google/rpc/status.upb.h",
+ "src/src/core/ext/upb-generated/src/proto/grpc/gcp/altscontext.upb.c",
+ "src/src/core/ext/upb-generated/src/proto/grpc/gcp/altscontext.upb.h",
+ "src/src/core/ext/upb-generated/src/proto/grpc/gcp/handshaker.upb.c",
+ "src/src/core/ext/upb-generated/src/proto/grpc/gcp/handshaker.upb.h",
+ "src/src/core/ext/upb-generated/src/proto/grpc/gcp/transport_security_common.upb.c",
+ "src/src/core/ext/upb-generated/src/proto/grpc/gcp/transport_security_common.upb.h",
+ "src/src/core/ext/upb-generated/src/proto/grpc/health/v1/health.upb.c",
+ "src/src/core/ext/upb-generated/src/proto/grpc/health/v1/health.upb.h",
+ "src/src/core/ext/upb-generated/src/proto/grpc/lb/v1/load_balancer.upb.c",
+ "src/src/core/ext/upb-generated/src/proto/grpc/lb/v1/load_balancer.upb.h",
+ "src/src/core/ext/upb-generated/src/proto/grpc/lookup/v1/rls.upb.c",
+ "src/src/core/ext/upb-generated/src/proto/grpc/lookup/v1/rls.upb.h",
+ "src/src/core/ext/upb-generated/validate/validate.upb.c",
+ "src/src/core/ext/upb-generated/validate/validate.upb.h",
+ "src/src/core/ext/upb-generated/xds/data/orca/v3/orca_load_report.upb.c",
+ "src/src/core/ext/upb-generated/xds/data/orca/v3/orca_load_report.upb.h",
+ "src/src/core/ext/upb-generated/xds/service/orca/v3/orca.upb.c",
+ "src/src/core/ext/upb-generated/xds/service/orca/v3/orca.upb.h",
+ "src/src/core/lib/address_utils/parse_address.cc",
+ "src/src/core/lib/address_utils/parse_address.h",
+ "src/src/core/lib/address_utils/sockaddr_utils.cc",
+ "src/src/core/lib/address_utils/sockaddr_utils.h",
+ "src/src/core/lib/avl/avl.h",
+ "src/src/core/lib/backoff/backoff.cc",
+ "src/src/core/lib/backoff/backoff.h",
+ "src/src/core/lib/channel/call_finalization.h",
+ "src/src/core/lib/channel/call_tracer.h",
+ "src/src/core/lib/channel/channel_args.cc",
+ "src/src/core/lib/channel/channel_args.h",
+ "src/src/core/lib/channel/channel_args_preconditioning.cc",
+ "src/src/core/lib/channel/channel_args_preconditioning.h",
+ "src/src/core/lib/channel/channel_fwd.h",
+ "src/src/core/lib/channel/channel_stack.cc",
+ "src/src/core/lib/channel/channel_stack.h",
+ "src/src/core/lib/channel/channel_stack_builder.cc",
+ "src/src/core/lib/channel/channel_stack_builder.h",
+ "src/src/core/lib/channel/channel_stack_builder_impl.cc",
+ "src/src/core/lib/channel/channel_stack_builder_impl.h",
+ "src/src/core/lib/channel/channel_trace.cc",
+ "src/src/core/lib/channel/channel_trace.h",
+ "src/src/core/lib/channel/channelz.cc",
+ "src/src/core/lib/channel/channelz.h",
+ "src/src/core/lib/channel/channelz_registry.cc",
+ "src/src/core/lib/channel/channelz_registry.h",
+ "src/src/core/lib/channel/connected_channel.cc",
+ "src/src/core/lib/channel/connected_channel.h",
+ "src/src/core/lib/channel/context.h",
+ "src/src/core/lib/channel/promise_based_filter.cc",
+ "src/src/core/lib/channel/promise_based_filter.h",
+ "src/src/core/lib/channel/status_util.cc",
+ "src/src/core/lib/channel/status_util.h",
+ "src/src/core/lib/compression/compression.cc",
+ "src/src/core/lib/compression/compression_internal.cc",
+ "src/src/core/lib/compression/compression_internal.h",
+ "src/src/core/lib/compression/message_compress.cc",
+ "src/src/core/lib/compression/message_compress.h",
+ "src/src/core/lib/config/core_configuration.cc",
+ "src/src/core/lib/config/core_configuration.h",
+ "src/src/core/lib/debug/event_log.cc",
+ "src/src/core/lib/debug/event_log.h",
+ "src/src/core/lib/debug/histogram_view.cc",
+ "src/src/core/lib/debug/histogram_view.h",
+ "src/src/core/lib/debug/stats.cc",
+ "src/src/core/lib/debug/stats.h",
+ "src/src/core/lib/debug/stats_data.cc",
+ "src/src/core/lib/debug/stats_data.h",
+ "src/src/core/lib/debug/trace.cc",
+ "src/src/core/lib/debug/trace.h",
+ "src/src/core/lib/event_engine/channel_args_endpoint_config.cc",
+ "src/src/core/lib/event_engine/channel_args_endpoint_config.h",
+ "src/src/core/lib/event_engine/common_closures.h",
+ "src/src/core/lib/event_engine/default_event_engine.cc",
+ "src/src/core/lib/event_engine/default_event_engine.h",
+ "src/src/core/lib/event_engine/default_event_engine_factory.cc",
+ "src/src/core/lib/event_engine/default_event_engine_factory.h",
+ "src/src/core/lib/event_engine/event_engine.cc",
+ "src/src/core/lib/event_engine/executor/executor.h",
+ "src/src/core/lib/event_engine/forkable.cc",
+ "src/src/core/lib/event_engine/forkable.h",
+ "src/src/core/lib/event_engine/handle_containers.h",
+ "src/src/core/lib/event_engine/memory_allocator.cc",
+ "src/src/core/lib/event_engine/poller.h",
+ "src/src/core/lib/event_engine/posix.h",
+ "src/src/core/lib/event_engine/posix_engine/ev_epoll1_linux.cc",
+ "src/src/core/lib/event_engine/posix_engine/ev_epoll1_linux.h",
+ "src/src/core/lib/event_engine/posix_engine/ev_poll_posix.cc",
+ "src/src/core/lib/event_engine/posix_engine/ev_poll_posix.h",
+ "src/src/core/lib/event_engine/posix_engine/event_poller.h",
+ "src/src/core/lib/event_engine/posix_engine/event_poller_posix_default.cc",
+ "src/src/core/lib/event_engine/posix_engine/event_poller_posix_default.h",
+ "src/src/core/lib/event_engine/posix_engine/internal_errqueue.cc",
+ "src/src/core/lib/event_engine/posix_engine/internal_errqueue.h",
+ "src/src/core/lib/event_engine/posix_engine/lockfree_event.cc",
+ "src/src/core/lib/event_engine/posix_engine/lockfree_event.h",
+ "src/src/core/lib/event_engine/posix_engine/posix_endpoint.cc",
+ "src/src/core/lib/event_engine/posix_engine/posix_endpoint.h",
+ "src/src/core/lib/event_engine/posix_engine/posix_engine.cc",
+ "src/src/core/lib/event_engine/posix_engine/posix_engine.h",
+ "src/src/core/lib/event_engine/posix_engine/posix_engine_closure.h",
+ "src/src/core/lib/event_engine/posix_engine/posix_engine_listener.cc",
+ "src/src/core/lib/event_engine/posix_engine/posix_engine_listener.h",
+ "src/src/core/lib/event_engine/posix_engine/posix_engine_listener_utils.cc",
+ "src/src/core/lib/event_engine/posix_engine/posix_engine_listener_utils.h",
+ "src/src/core/lib/event_engine/posix_engine/tcp_socket_utils.cc",
+ "src/src/core/lib/event_engine/posix_engine/tcp_socket_utils.h",
+ "src/src/core/lib/event_engine/posix_engine/timer.cc",
+ "src/src/core/lib/event_engine/posix_engine/timer.h",
+ "src/src/core/lib/event_engine/posix_engine/timer_heap.cc",
+ "src/src/core/lib/event_engine/posix_engine/timer_heap.h",
+ "src/src/core/lib/event_engine/posix_engine/timer_manager.cc",
+ "src/src/core/lib/event_engine/posix_engine/timer_manager.h",
+ "src/src/core/lib/event_engine/posix_engine/traced_buffer_list.cc",
+ "src/src/core/lib/event_engine/posix_engine/traced_buffer_list.h",
+ "src/src/core/lib/event_engine/posix_engine/wakeup_fd_eventfd.cc",
+ "src/src/core/lib/event_engine/posix_engine/wakeup_fd_eventfd.h",
+ "src/src/core/lib/event_engine/posix_engine/wakeup_fd_pipe.cc",
+ "src/src/core/lib/event_engine/posix_engine/wakeup_fd_pipe.h",
+ "src/src/core/lib/event_engine/posix_engine/wakeup_fd_posix.h",
+ "src/src/core/lib/event_engine/posix_engine/wakeup_fd_posix_default.cc",
+ "src/src/core/lib/event_engine/posix_engine/wakeup_fd_posix_default.h",
+ "src/src/core/lib/event_engine/resolved_address.cc",
+ "src/src/core/lib/event_engine/resolved_address_internal.h",
+ "src/src/core/lib/event_engine/shim.cc",
+ "src/src/core/lib/event_engine/shim.h",
+ "src/src/core/lib/event_engine/slice.cc",
+ "src/src/core/lib/event_engine/slice_buffer.cc",
+ "src/src/core/lib/event_engine/tcp_socket_utils.cc",
+ "src/src/core/lib/event_engine/tcp_socket_utils.h",
+ "src/src/core/lib/event_engine/thread_pool.cc",
+ "src/src/core/lib/event_engine/thread_pool.h",
+ "src/src/core/lib/event_engine/time_util.cc",
+ "src/src/core/lib/event_engine/time_util.h",
+ "src/src/core/lib/event_engine/trace.cc",
+ "src/src/core/lib/event_engine/trace.h",
+ "src/src/core/lib/event_engine/utils.cc",
+ "src/src/core/lib/event_engine/utils.h",
+ "src/src/core/lib/event_engine/windows/iocp.cc",
+ "src/src/core/lib/event_engine/windows/iocp.h",
+ "src/src/core/lib/event_engine/windows/win_socket.cc",
+ "src/src/core/lib/event_engine/windows/win_socket.h",
+ "src/src/core/lib/event_engine/windows/windows_endpoint.cc",
+ "src/src/core/lib/event_engine/windows/windows_endpoint.h",
+ "src/src/core/lib/event_engine/windows/windows_engine.cc",
+ "src/src/core/lib/event_engine/windows/windows_engine.h",
+ "src/src/core/lib/experiments/config.cc",
+ "src/src/core/lib/experiments/config.h",
+ "src/src/core/lib/experiments/experiments.cc",
+ "src/src/core/lib/experiments/experiments.h",
+ "src/src/core/lib/gpr/spinlock.h",
+ "src/src/core/lib/gprpp/atomic_utils.h",
+ "src/src/core/lib/gprpp/bitset.h",
+ "src/src/core/lib/gprpp/chunked_vector.h",
+ "src/src/core/lib/gprpp/cpp_impl_of.h",
+ "src/src/core/lib/gprpp/dual_ref_counted.h",
+ "src/src/core/lib/gprpp/load_file.cc",
+ "src/src/core/lib/gprpp/load_file.h",
+ "src/src/core/lib/gprpp/manual_constructor.h",
+ "src/src/core/lib/gprpp/match.h",
+ "src/src/core/lib/gprpp/notification.h",
+ "src/src/core/lib/gprpp/orphanable.h",
+ "src/src/core/lib/gprpp/overload.h",
+ "src/src/core/lib/gprpp/packed_table.h",
+ "src/src/core/lib/gprpp/per_cpu.h",
+ "src/src/core/lib/gprpp/ref_counted.h",
+ "src/src/core/lib/gprpp/ref_counted_ptr.h",
+ "src/src/core/lib/gprpp/single_set_ptr.h",
+ "src/src/core/lib/gprpp/sorted_pack.h",
+ "src/src/core/lib/gprpp/status_helper.cc",
+ "src/src/core/lib/gprpp/status_helper.h",
+ "src/src/core/lib/gprpp/table.h",
+ "src/src/core/lib/gprpp/time.cc",
+ "src/src/core/lib/gprpp/time.h",
+ "src/src/core/lib/gprpp/time_averaged_stats.cc",
+ "src/src/core/lib/gprpp/time_averaged_stats.h",
+ "src/src/core/lib/gprpp/unique_type_name.h",
+ "src/src/core/lib/gprpp/validation_errors.cc",
+ "src/src/core/lib/gprpp/validation_errors.h",
+ "src/src/core/lib/gprpp/work_serializer.cc",
+ "src/src/core/lib/gprpp/work_serializer.h",
+ "src/src/core/lib/handshaker/proxy_mapper.h",
+ "src/src/core/lib/handshaker/proxy_mapper_registry.cc",
+ "src/src/core/lib/handshaker/proxy_mapper_registry.h",
+ "src/src/core/lib/http/format_request.cc",
+ "src/src/core/lib/http/format_request.h",
+ "src/src/core/lib/http/httpcli.cc",
+ "src/src/core/lib/http/httpcli.h",
+ "src/src/core/lib/http/parser.cc",
+ "src/src/core/lib/http/parser.h",
+ "src/src/core/lib/iomgr/block_annotate.h",
+ "src/src/core/lib/iomgr/buffer_list.cc",
+ "src/src/core/lib/iomgr/buffer_list.h",
+ "src/src/core/lib/iomgr/call_combiner.cc",
+ "src/src/core/lib/iomgr/call_combiner.h",
+ "src/src/core/lib/iomgr/cfstream_handle.cc",
+ "src/src/core/lib/iomgr/cfstream_handle.h",
+ "src/src/core/lib/iomgr/closure.cc",
+ "src/src/core/lib/iomgr/closure.h",
+ "src/src/core/lib/iomgr/combiner.cc",
+ "src/src/core/lib/iomgr/combiner.h",
+ "src/src/core/lib/iomgr/dualstack_socket_posix.cc",
+ "src/src/core/lib/iomgr/dynamic_annotations.h",
+ "src/src/core/lib/iomgr/endpoint.cc",
+ "src/src/core/lib/iomgr/endpoint.h",
+ "src/src/core/lib/iomgr/endpoint_cfstream.cc",
+ "src/src/core/lib/iomgr/endpoint_cfstream.h",
+ "src/src/core/lib/iomgr/endpoint_pair.h",
+ "src/src/core/lib/iomgr/endpoint_pair_posix.cc",
+ "src/src/core/lib/iomgr/endpoint_pair_windows.cc",
+ "src/src/core/lib/iomgr/error.cc",
+ "src/src/core/lib/iomgr/error.h",
+ "src/src/core/lib/iomgr/error_cfstream.cc",
+ "src/src/core/lib/iomgr/error_cfstream.h",
+ "src/src/core/lib/iomgr/ev_apple.cc",
+ "src/src/core/lib/iomgr/ev_apple.h",
+ "src/src/core/lib/iomgr/ev_epoll1_linux.cc",
+ "src/src/core/lib/iomgr/ev_epoll1_linux.h",
+ "src/src/core/lib/iomgr/ev_poll_posix.cc",
+ "src/src/core/lib/iomgr/ev_poll_posix.h",
+ "src/src/core/lib/iomgr/ev_posix.cc",
+ "src/src/core/lib/iomgr/ev_posix.h",
+ "src/src/core/lib/iomgr/ev_windows.cc",
+ "src/src/core/lib/iomgr/event_engine_shims/closure.cc",
+ "src/src/core/lib/iomgr/event_engine_shims/closure.h",
+ "src/src/core/lib/iomgr/event_engine_shims/endpoint.cc",
+ "src/src/core/lib/iomgr/event_engine_shims/endpoint.h",
+ "src/src/core/lib/iomgr/event_engine_shims/tcp_client.cc",
+ "src/src/core/lib/iomgr/event_engine_shims/tcp_client.h",
+ "src/src/core/lib/iomgr/exec_ctx.cc",
+ "src/src/core/lib/iomgr/exec_ctx.h",
+ "src/src/core/lib/iomgr/executor.cc",
+ "src/src/core/lib/iomgr/executor.h",
+ "src/src/core/lib/iomgr/fork_posix.cc",
+ "src/src/core/lib/iomgr/fork_windows.cc",
+ "src/src/core/lib/iomgr/gethostname.h",
+ "src/src/core/lib/iomgr/gethostname_fallback.cc",
+ "src/src/core/lib/iomgr/gethostname_host_name_max.cc",
+ "src/src/core/lib/iomgr/gethostname_sysconf.cc",
+ "src/src/core/lib/iomgr/grpc_if_nametoindex.h",
+ "src/src/core/lib/iomgr/grpc_if_nametoindex_posix.cc",
+ "src/src/core/lib/iomgr/grpc_if_nametoindex_unsupported.cc",
+ "src/src/core/lib/iomgr/internal_errqueue.cc",
+ "src/src/core/lib/iomgr/internal_errqueue.h",
+ "src/src/core/lib/iomgr/iocp_windows.cc",
+ "src/src/core/lib/iomgr/iocp_windows.h",
+ "src/src/core/lib/iomgr/iomgr.cc",
+ "src/src/core/lib/iomgr/iomgr.h",
+ "src/src/core/lib/iomgr/iomgr_fwd.h",
+ "src/src/core/lib/iomgr/iomgr_internal.cc",
+ "src/src/core/lib/iomgr/iomgr_internal.h",
+ "src/src/core/lib/iomgr/iomgr_posix.cc",
+ "src/src/core/lib/iomgr/iomgr_posix_cfstream.cc",
+ "src/src/core/lib/iomgr/iomgr_windows.cc",
+ "src/src/core/lib/iomgr/load_file.cc",
+ "src/src/core/lib/iomgr/load_file.h",
+ "src/src/core/lib/iomgr/lockfree_event.cc",
+ "src/src/core/lib/iomgr/lockfree_event.h",
+ "src/src/core/lib/iomgr/nameser.h",
+ "src/src/core/lib/iomgr/polling_entity.cc",
+ "src/src/core/lib/iomgr/polling_entity.h",
+ "src/src/core/lib/iomgr/pollset.cc",
+ "src/src/core/lib/iomgr/pollset.h",
+ "src/src/core/lib/iomgr/pollset_set.cc",
+ "src/src/core/lib/iomgr/pollset_set.h",
+ "src/src/core/lib/iomgr/pollset_set_windows.cc",
+ "src/src/core/lib/iomgr/pollset_set_windows.h",
+ "src/src/core/lib/iomgr/pollset_windows.cc",
+ "src/src/core/lib/iomgr/pollset_windows.h",
+ "src/src/core/lib/iomgr/port.h",
+ "src/src/core/lib/iomgr/python_util.h",
+ "src/src/core/lib/iomgr/resolve_address.cc",
+ "src/src/core/lib/iomgr/resolve_address.h",
+ "src/src/core/lib/iomgr/resolve_address_impl.h",
+ "src/src/core/lib/iomgr/resolve_address_posix.cc",
+ "src/src/core/lib/iomgr/resolve_address_posix.h",
+ "src/src/core/lib/iomgr/resolve_address_windows.cc",
+ "src/src/core/lib/iomgr/resolve_address_windows.h",
+ "src/src/core/lib/iomgr/resolved_address.h",
+ "src/src/core/lib/iomgr/sockaddr.h",
+ "src/src/core/lib/iomgr/sockaddr_posix.h",
+ "src/src/core/lib/iomgr/sockaddr_utils_posix.cc",
+ "src/src/core/lib/iomgr/sockaddr_windows.h",
+ "src/src/core/lib/iomgr/socket_factory_posix.cc",
+ "src/src/core/lib/iomgr/socket_factory_posix.h",
+ "src/src/core/lib/iomgr/socket_mutator.cc",
+ "src/src/core/lib/iomgr/socket_mutator.h",
+ "src/src/core/lib/iomgr/socket_utils.h",
+ "src/src/core/lib/iomgr/socket_utils_common_posix.cc",
+ "src/src/core/lib/iomgr/socket_utils_linux.cc",
+ "src/src/core/lib/iomgr/socket_utils_posix.cc",
+ "src/src/core/lib/iomgr/socket_utils_posix.h",
+ "src/src/core/lib/iomgr/socket_utils_windows.cc",
+ "src/src/core/lib/iomgr/socket_windows.cc",
+ "src/src/core/lib/iomgr/socket_windows.h",
+ "src/src/core/lib/iomgr/systemd_utils.cc",
+ "src/src/core/lib/iomgr/systemd_utils.h",
+ "src/src/core/lib/iomgr/tcp_client.cc",
+ "src/src/core/lib/iomgr/tcp_client.h",
+ "src/src/core/lib/iomgr/tcp_client_cfstream.cc",
+ "src/src/core/lib/iomgr/tcp_client_posix.cc",
+ "src/src/core/lib/iomgr/tcp_client_posix.h",
+ "src/src/core/lib/iomgr/tcp_client_windows.cc",
+ "src/src/core/lib/iomgr/tcp_posix.cc",
+ "src/src/core/lib/iomgr/tcp_posix.h",
+ "src/src/core/lib/iomgr/tcp_server.cc",
+ "src/src/core/lib/iomgr/tcp_server.h",
+ "src/src/core/lib/iomgr/tcp_server_posix.cc",
+ "src/src/core/lib/iomgr/tcp_server_utils_posix.h",
+ "src/src/core/lib/iomgr/tcp_server_utils_posix_common.cc",
+ "src/src/core/lib/iomgr/tcp_server_utils_posix_ifaddrs.cc",
+ "src/src/core/lib/iomgr/tcp_server_utils_posix_noifaddrs.cc",
+ "src/src/core/lib/iomgr/tcp_server_windows.cc",
+ "src/src/core/lib/iomgr/tcp_windows.cc",
+ "src/src/core/lib/iomgr/tcp_windows.h",
+ "src/src/core/lib/iomgr/timer.cc",
+ "src/src/core/lib/iomgr/timer.h",
+ "src/src/core/lib/iomgr/timer_generic.cc",
+ "src/src/core/lib/iomgr/timer_generic.h",
+ "src/src/core/lib/iomgr/timer_heap.cc",
+ "src/src/core/lib/iomgr/timer_heap.h",
+ "src/src/core/lib/iomgr/timer_manager.cc",
+ "src/src/core/lib/iomgr/timer_manager.h",
+ "src/src/core/lib/iomgr/unix_sockets_posix.cc",
+ "src/src/core/lib/iomgr/unix_sockets_posix.h",
+ "src/src/core/lib/iomgr/unix_sockets_posix_noop.cc",
+ "src/src/core/lib/iomgr/wakeup_fd_eventfd.cc",
+ "src/src/core/lib/iomgr/wakeup_fd_nospecial.cc",
+ "src/src/core/lib/iomgr/wakeup_fd_pipe.cc",
+ "src/src/core/lib/iomgr/wakeup_fd_pipe.h",
+ "src/src/core/lib/iomgr/wakeup_fd_posix.cc",
+ "src/src/core/lib/iomgr/wakeup_fd_posix.h",
+ "src/src/core/lib/json/json.h",
+ "src/src/core/lib/json/json_args.h",
+ "src/src/core/lib/json/json_channel_args.h",
+ "src/src/core/lib/json/json_object_loader.cc",
+ "src/src/core/lib/json/json_object_loader.h",
+ "src/src/core/lib/json/json_reader.cc",
+ "src/src/core/lib/json/json_writer.cc",
+ "src/src/core/lib/load_balancing/lb_policy.cc",
+ "src/src/core/lib/load_balancing/lb_policy.h",
+ "src/src/core/lib/load_balancing/lb_policy_factory.h",
+ "src/src/core/lib/load_balancing/lb_policy_registry.cc",
+ "src/src/core/lib/load_balancing/lb_policy_registry.h",
+ "src/src/core/lib/load_balancing/subchannel_interface.h",
+ "src/src/core/lib/promise/activity.cc",
+ "src/src/core/lib/promise/activity.h",
+ "src/src/core/lib/promise/arena_promise.h",
+ "src/src/core/lib/promise/context.h",
+ "src/src/core/lib/promise/detail/basic_join.h",
+ "src/src/core/lib/promise/detail/basic_seq.h",
+ "src/src/core/lib/promise/detail/promise_factory.h",
+ "src/src/core/lib/promise/detail/promise_like.h",
+ "src/src/core/lib/promise/detail/status.h",
+ "src/src/core/lib/promise/detail/switch.h",
+ "src/src/core/lib/promise/exec_ctx_wakeup_scheduler.h",
+ "src/src/core/lib/promise/if.h",
+ "src/src/core/lib/promise/interceptor_list.h",
+ "src/src/core/lib/promise/intra_activity_waiter.h",
+ "src/src/core/lib/promise/latch.h",
+ "src/src/core/lib/promise/loop.h",
+ "src/src/core/lib/promise/map.h",
+ "src/src/core/lib/promise/pipe.h",
+ "src/src/core/lib/promise/poll.h",
+ "src/src/core/lib/promise/promise.h",
+ "src/src/core/lib/promise/race.h",
+ "src/src/core/lib/promise/seq.h",
+ "src/src/core/lib/promise/sleep.cc",
+ "src/src/core/lib/promise/sleep.h",
+ "src/src/core/lib/promise/trace.cc",
+ "src/src/core/lib/promise/trace.h",
+ "src/src/core/lib/promise/try_join.h",
+ "src/src/core/lib/promise/try_seq.h",
+ "src/src/core/lib/resolver/resolver.cc",
+ "src/src/core/lib/resolver/resolver.h",
+ "src/src/core/lib/resolver/resolver_factory.h",
+ "src/src/core/lib/resolver/resolver_registry.cc",
+ "src/src/core/lib/resolver/resolver_registry.h",
+ "src/src/core/lib/resolver/server_address.cc",
+ "src/src/core/lib/resolver/server_address.h",
+ "src/src/core/lib/resource_quota/api.cc",
+ "src/src/core/lib/resource_quota/api.h",
+ "src/src/core/lib/resource_quota/arena.cc",
+ "src/src/core/lib/resource_quota/arena.h",
+ "src/src/core/lib/resource_quota/memory_quota.cc",
+ "src/src/core/lib/resource_quota/memory_quota.h",
+ "src/src/core/lib/resource_quota/periodic_update.cc",
+ "src/src/core/lib/resource_quota/periodic_update.h",
+ "src/src/core/lib/resource_quota/resource_quota.cc",
+ "src/src/core/lib/resource_quota/resource_quota.h",
+ "src/src/core/lib/resource_quota/thread_quota.cc",
+ "src/src/core/lib/resource_quota/thread_quota.h",
+ "src/src/core/lib/resource_quota/trace.cc",
+ "src/src/core/lib/resource_quota/trace.h",
+ "src/src/core/lib/security/authorization/authorization_engine.h",
+ "src/src/core/lib/security/authorization/authorization_policy_provider.h",
+ "src/src/core/lib/security/authorization/authorization_policy_provider_vtable.cc",
+ "src/src/core/lib/security/authorization/evaluate_args.cc",
+ "src/src/core/lib/security/authorization/evaluate_args.h",
+ "src/src/core/lib/security/authorization/grpc_server_authz_filter.cc",
+ "src/src/core/lib/security/authorization/grpc_server_authz_filter.h",
+ "src/src/core/lib/security/certificate_provider/certificate_provider_factory.h",
+ "src/src/core/lib/security/certificate_provider/certificate_provider_registry.cc",
+ "src/src/core/lib/security/certificate_provider/certificate_provider_registry.h",
+ "src/src/core/lib/security/context/security_context.cc",
+ "src/src/core/lib/security/context/security_context.h",
+ "src/src/core/lib/security/credentials/alts/check_gcp_environment.cc",
+ "src/src/core/lib/security/credentials/alts/check_gcp_environment.h",
+ "src/src/core/lib/security/credentials/alts/check_gcp_environment_linux.cc",
+ "src/src/core/lib/security/credentials/alts/check_gcp_environment_no_op.cc",
+ "src/src/core/lib/security/credentials/alts/check_gcp_environment_windows.cc",
+ "src/src/core/lib/security/credentials/alts/grpc_alts_credentials_client_options.cc",
+ "src/src/core/lib/security/credentials/alts/grpc_alts_credentials_options.cc",
+ "src/src/core/lib/security/credentials/alts/grpc_alts_credentials_options.h",
+ "src/src/core/lib/security/credentials/alts/grpc_alts_credentials_server_options.cc",
+ "src/src/core/lib/security/credentials/call_creds_util.cc",
+ "src/src/core/lib/security/credentials/call_creds_util.h",
+ "src/src/core/lib/security/credentials/channel_creds_registry.h",
+ "src/src/core/lib/security/credentials/composite/composite_credentials.cc",
+ "src/src/core/lib/security/credentials/composite/composite_credentials.h",
+ "src/src/core/lib/security/credentials/credentials.cc",
+ "src/src/core/lib/security/credentials/credentials.h",
+ "src/src/core/lib/security/credentials/fake/fake_credentials.cc",
+ "src/src/core/lib/security/credentials/fake/fake_credentials.h",
+ "src/src/core/lib/security/credentials/insecure/insecure_credentials.cc",
+ "src/src/core/lib/security/credentials/insecure/insecure_credentials.h",
+ "src/src/core/lib/security/credentials/plugin/plugin_credentials.cc",
+ "src/src/core/lib/security/credentials/plugin/plugin_credentials.h",
+ "src/src/core/lib/security/credentials/tls/tls_utils.cc",
+ "src/src/core/lib/security/credentials/tls/tls_utils.h",
+ "src/src/core/lib/security/security_connector/fake/fake_security_connector.cc",
+ "src/src/core/lib/security/security_connector/fake/fake_security_connector.h",
+ "src/src/core/lib/security/security_connector/insecure/insecure_security_connector.cc",
+ "src/src/core/lib/security/security_connector/insecure/insecure_security_connector.h",
+ "src/src/core/lib/security/security_connector/load_system_roots.h",
+ "src/src/core/lib/security/security_connector/load_system_roots_fallback.cc",
+ "src/src/core/lib/security/security_connector/load_system_roots_supported.cc",
+ "src/src/core/lib/security/security_connector/load_system_roots_supported.h",
+ "src/src/core/lib/security/security_connector/security_connector.cc",
+ "src/src/core/lib/security/security_connector/security_connector.h",
+ "src/src/core/lib/security/transport/auth_filters.h",
+ "src/src/core/lib/security/transport/client_auth_filter.cc",
+ "src/src/core/lib/security/transport/secure_endpoint.cc",
+ "src/src/core/lib/security/transport/secure_endpoint.h",
+ "src/src/core/lib/security/transport/security_handshaker.cc",
+ "src/src/core/lib/security/transport/security_handshaker.h",
+ "src/src/core/lib/security/transport/server_auth_filter.cc",
+ "src/src/core/lib/security/transport/tsi_error.cc",
+ "src/src/core/lib/security/transport/tsi_error.h",
+ "src/src/core/lib/security/util/json_util.cc",
+ "src/src/core/lib/security/util/json_util.h",
+ "src/src/core/lib/service_config/service_config.h",
+ "src/src/core/lib/service_config/service_config_call_data.h",
+ "src/src/core/lib/service_config/service_config_impl.cc",
+ "src/src/core/lib/service_config/service_config_impl.h",
+ "src/src/core/lib/service_config/service_config_parser.cc",
+ "src/src/core/lib/service_config/service_config_parser.h",
+ "src/src/core/lib/slice/b64.cc",
+ "src/src/core/lib/slice/b64.h",
+ "src/src/core/lib/slice/percent_encoding.cc",
+ "src/src/core/lib/slice/percent_encoding.h",
+ "src/src/core/lib/slice/slice.cc",
+ "src/src/core/lib/slice/slice.h",
+ "src/src/core/lib/slice/slice_buffer.cc",
+ "src/src/core/lib/slice/slice_buffer.h",
+ "src/src/core/lib/slice/slice_internal.h",
+ "src/src/core/lib/slice/slice_refcount.cc",
+ "src/src/core/lib/slice/slice_refcount.h",
+ "src/src/core/lib/slice/slice_string_helpers.cc",
+ "src/src/core/lib/slice/slice_string_helpers.h",
+ "src/src/core/lib/surface/api_trace.cc",
+ "src/src/core/lib/surface/api_trace.h",
+ "src/src/core/lib/surface/builtins.cc",
+ "src/src/core/lib/surface/builtins.h",
+ "src/src/core/lib/surface/byte_buffer.cc",
+ "src/src/core/lib/surface/byte_buffer_reader.cc",
+ "src/src/core/lib/surface/call.cc",
+ "src/src/core/lib/surface/call.h",
+ "src/src/core/lib/surface/call_details.cc",
+ "src/src/core/lib/surface/call_log_batch.cc",
+ "src/src/core/lib/surface/call_test_only.h",
+ "src/src/core/lib/surface/call_trace.cc",
+ "src/src/core/lib/surface/call_trace.h",
+ "src/src/core/lib/surface/channel.cc",
+ "src/src/core/lib/surface/channel.h",
+ "src/src/core/lib/surface/channel_init.cc",
+ "src/src/core/lib/surface/channel_init.h",
+ "src/src/core/lib/surface/channel_ping.cc",
+ "src/src/core/lib/surface/channel_stack_type.cc",
+ "src/src/core/lib/surface/channel_stack_type.h",
+ "src/src/core/lib/surface/completion_queue.cc",
+ "src/src/core/lib/surface/completion_queue.h",
+ "src/src/core/lib/surface/completion_queue_factory.cc",
+ "src/src/core/lib/surface/completion_queue_factory.h",
+ "src/src/core/lib/surface/event_string.cc",
+ "src/src/core/lib/surface/event_string.h",
+ "src/src/core/lib/surface/init.cc",
+ "src/src/core/lib/surface/init.h",
+ "src/src/core/lib/surface/init_internally.cc",
+ "src/src/core/lib/surface/init_internally.h",
+ "src/src/core/lib/surface/lame_client.cc",
+ "src/src/core/lib/surface/lame_client.h",
+ "src/src/core/lib/surface/metadata_array.cc",
+ "src/src/core/lib/surface/server.cc",
+ "src/src/core/lib/surface/server.h",
+ "src/src/core/lib/surface/validate_metadata.cc",
+ "src/src/core/lib/surface/validate_metadata.h",
+ "src/src/core/lib/surface/version.cc",
+ "src/src/core/lib/transport/bdp_estimator.cc",
+ "src/src/core/lib/transport/bdp_estimator.h",
+ "src/src/core/lib/transport/connectivity_state.cc",
+ "src/src/core/lib/transport/connectivity_state.h",
+ "src/src/core/lib/transport/error_utils.cc",
+ "src/src/core/lib/transport/error_utils.h",
+ "src/src/core/lib/transport/handshaker.cc",
+ "src/src/core/lib/transport/handshaker.h",
+ "src/src/core/lib/transport/handshaker_factory.h",
+ "src/src/core/lib/transport/handshaker_registry.cc",
+ "src/src/core/lib/transport/handshaker_registry.h",
+ "src/src/core/lib/transport/http2_errors.h",
+ "src/src/core/lib/transport/http_connect_handshaker.cc",
+ "src/src/core/lib/transport/http_connect_handshaker.h",
+ "src/src/core/lib/transport/metadata_batch.cc",
+ "src/src/core/lib/transport/metadata_batch.h",
+ "src/src/core/lib/transport/parsed_metadata.cc",
+ "src/src/core/lib/transport/parsed_metadata.h",
+ "src/src/core/lib/transport/pid_controller.cc",
+ "src/src/core/lib/transport/pid_controller.h",
+ "src/src/core/lib/transport/status_conversion.cc",
+ "src/src/core/lib/transport/status_conversion.h",
+ "src/src/core/lib/transport/tcp_connect_handshaker.cc",
+ "src/src/core/lib/transport/tcp_connect_handshaker.h",
+ "src/src/core/lib/transport/timeout_encoding.cc",
+ "src/src/core/lib/transport/timeout_encoding.h",
+ "src/src/core/lib/transport/transport.cc",
+ "src/src/core/lib/transport/transport.h",
+ "src/src/core/lib/transport/transport_fwd.h",
+ "src/src/core/lib/transport/transport_impl.h",
+ "src/src/core/lib/transport/transport_op_string.cc",
+ "src/src/core/lib/uri/uri_parser.cc",
+ "src/src/core/lib/uri/uri_parser.h",
+ "src/src/core/plugin_registry/grpc_plugin_registry.cc",
+ "src/src/core/plugin_registry/grpc_plugin_registry_noextra.cc",
+ "src/src/core/tsi/alts/handshaker/transport_security_common_api.cc",
+ "src/src/core/tsi/alts/handshaker/transport_security_common_api.h",
+ "src/src/core/tsi/fake_transport_security.cc",
+ "src/src/core/tsi/fake_transport_security.h",
+ "src/src/core/tsi/local_transport_security.cc",
+ "src/src/core/tsi/local_transport_security.h",
+ "src/src/core/tsi/transport_security.cc",
+ "src/src/core/tsi/transport_security.h",
+ "src/src/core/tsi/transport_security_grpc.cc",
+ "src/src/core/tsi/transport_security_grpc.h",
+ "src/src/core/tsi/transport_security_interface.h",
+ "src/third_party/xxhash/xxhash.h",
+ ]
+ public_deps = [
+ ":absl_cleanup_cleanup",
+ ":absl_container_flat_hash_map",
+ ":absl_container_flat_hash_set",
+ ":absl_container_inlined_vector",
+ ":absl_functional_any_invocable",
+ ":absl_functional_bind_front",
+ ":absl_functional_function_ref",
+ ":absl_hash_hash",
+ ":absl_meta_type_traits",
+ ":absl_status_statusor",
+ ":absl_types_span",
+ ":absl_utility_utility",
+ ":address_sorting",
+ ":gpr",
+ ":upb",
+ ]
+ public_configs = [ "..:grpc_internal_config" ]
+ configs -= [ "//gn/standalone:extra_warnings" ]
+}
+
+static_library("grpc++") {
+ sources = [
+ "src/src/core/ext/transport/binder/client/binder_connector.cc",
+ "src/src/core/ext/transport/binder/client/binder_connector.h",
+ "src/src/core/ext/transport/binder/client/channel_create.cc",
+ "src/src/core/ext/transport/binder/client/channel_create_impl.cc",
+ "src/src/core/ext/transport/binder/client/channel_create_impl.h",
+ "src/src/core/ext/transport/binder/client/connection_id_generator.cc",
+ "src/src/core/ext/transport/binder/client/connection_id_generator.h",
+ "src/src/core/ext/transport/binder/client/endpoint_binder_pool.cc",
+ "src/src/core/ext/transport/binder/client/endpoint_binder_pool.h",
+ "src/src/core/ext/transport/binder/client/jni_utils.cc",
+ "src/src/core/ext/transport/binder/client/jni_utils.h",
+ "src/src/core/ext/transport/binder/client/security_policy_setting.cc",
+ "src/src/core/ext/transport/binder/client/security_policy_setting.h",
+ "src/src/core/ext/transport/binder/security_policy/binder_security_policy.cc",
+ "src/src/core/ext/transport/binder/server/binder_server.cc",
+ "src/src/core/ext/transport/binder/server/binder_server.h",
+ "src/src/core/ext/transport/binder/server/binder_server_credentials.cc",
+ "src/src/core/ext/transport/binder/transport/binder_stream.h",
+ "src/src/core/ext/transport/binder/transport/binder_transport.cc",
+ "src/src/core/ext/transport/binder/transport/binder_transport.h",
+ "src/src/core/ext/transport/binder/utils/binder_auto_utils.h",
+ "src/src/core/ext/transport/binder/utils/ndk_binder.cc",
+ "src/src/core/ext/transport/binder/utils/ndk_binder.h",
+ "src/src/core/ext/transport/binder/utils/transport_stream_receiver.h",
+ "src/src/core/ext/transport/binder/utils/transport_stream_receiver_impl.cc",
+ "src/src/core/ext/transport/binder/utils/transport_stream_receiver_impl.h",
+ "src/src/core/ext/transport/binder/wire_format/binder.h",
+ "src/src/core/ext/transport/binder/wire_format/binder_android.cc",
+ "src/src/core/ext/transport/binder/wire_format/binder_android.h",
+ "src/src/core/ext/transport/binder/wire_format/binder_constants.cc",
+ "src/src/core/ext/transport/binder/wire_format/binder_constants.h",
+ "src/src/core/ext/transport/binder/wire_format/transaction.cc",
+ "src/src/core/ext/transport/binder/wire_format/transaction.h",
+ "src/src/core/ext/transport/binder/wire_format/wire_reader.h",
+ "src/src/core/ext/transport/binder/wire_format/wire_reader_impl.cc",
+ "src/src/core/ext/transport/binder/wire_format/wire_reader_impl.h",
+ "src/src/core/ext/transport/binder/wire_format/wire_writer.cc",
+ "src/src/core/ext/transport/binder/wire_format/wire_writer.h",
+ "src/src/cpp/client/channel_cc.cc",
+ "src/src/cpp/client/client_callback.cc",
+ "src/src/cpp/client/client_context.cc",
+ "src/src/cpp/client/client_interceptor.cc",
+ "src/src/cpp/client/create_channel.cc",
+ "src/src/cpp/client/create_channel_internal.cc",
+ "src/src/cpp/client/create_channel_internal.h",
+ "src/src/cpp/client/create_channel_posix.cc",
+ "src/src/cpp/client/insecure_credentials.cc",
+ "src/src/cpp/client/secure_credentials.cc",
+ "src/src/cpp/client/secure_credentials.h",
+ "src/src/cpp/client/xds_credentials.cc",
+ "src/src/cpp/common/alarm.cc",
+ "src/src/cpp/common/auth_property_iterator.cc",
+ "src/src/cpp/common/channel_arguments.cc",
+ "src/src/cpp/common/channel_filter.cc",
+ "src/src/cpp/common/channel_filter.h",
+ "src/src/cpp/common/completion_queue_cc.cc",
+ "src/src/cpp/common/resource_quota_cc.cc",
+ "src/src/cpp/common/rpc_method.cc",
+ "src/src/cpp/common/secure_auth_context.cc",
+ "src/src/cpp/common/secure_auth_context.h",
+ "src/src/cpp/common/secure_channel_arguments.cc",
+ "src/src/cpp/common/secure_create_auth_context.cc",
+ "src/src/cpp/common/tls_certificate_provider.cc",
+ "src/src/cpp/common/tls_certificate_verifier.cc",
+ "src/src/cpp/common/tls_credentials_options.cc",
+ "src/src/cpp/common/validate_service_config.cc",
+ "src/src/cpp/common/version_cc.cc",
+ "src/src/cpp/server/async_generic_service.cc",
+ "src/src/cpp/server/channel_argument_option.cc",
+ "src/src/cpp/server/create_default_thread_pool.cc",
+ "src/src/cpp/server/dynamic_thread_pool.h",
+ "src/src/cpp/server/external_connection_acceptor_impl.cc",
+ "src/src/cpp/server/external_connection_acceptor_impl.h",
+ "src/src/cpp/server/health/default_health_check_service.cc",
+ "src/src/cpp/server/health/default_health_check_service.h",
+ "src/src/cpp/server/health/health_check_service.cc",
+ "src/src/cpp/server/health/health_check_service_server_builder_option.cc",
+ "src/src/cpp/server/insecure_server_credentials.cc",
+ "src/src/cpp/server/orca/call_metric_recorder.cc",
+ "src/src/cpp/server/secure_server_credentials.cc",
+ "src/src/cpp/server/secure_server_credentials.h",
+ "src/src/cpp/server/server_builder.cc",
+ "src/src/cpp/server/server_callback.cc",
+ "src/src/cpp/server/server_cc.cc",
+ "src/src/cpp/server/server_context.cc",
+ "src/src/cpp/server/server_posix.cc",
+ "src/src/cpp/server/thread_pool_interface.h",
+ "src/src/cpp/server/xds_server_credentials.cc",
+ "src/src/cpp/thread_manager/thread_manager.cc",
+ "src/src/cpp/thread_manager/thread_manager.h",
+ "src/src/cpp/util/byte_buffer_cc.cc",
+ "src/src/cpp/util/status.cc",
+ "src/src/cpp/util/string_ref.cc",
+ "src/src/cpp/util/time_cc.cc",
+ ]
+ public_deps = [ ":grpc" ]
+ public_configs = [ "..:grpc_internal_config" ]
+ configs -= [ "//gn/standalone:extra_warnings" ]
+}
+
+source_set("grpc++_alts") {
+ sources = [
+ "src/src/cpp/common/alts_context.cc",
+ "src/src/cpp/common/alts_util.cc",
+ ]
+ public_deps = [ ":grpc++" ]
+ public_configs = [ "..:grpc_internal_config" ]
+ configs -= [ "//gn/standalone:extra_warnings" ]
+}
+
+source_set("grpc++_error_details") {
+ sources = [ "src/src/cpp/util/error_details.cc" ]
+ public_deps = [ ":grpc++" ]
+ public_configs = [ "..:grpc_internal_config" ]
+ configs -= [ "//gn/standalone:extra_warnings" ]
+}
+
+source_set("grpc++_unsecure") {
+ sources = [
+ "src/src/cpp/client/channel_cc.cc",
+ "src/src/cpp/client/client_callback.cc",
+ "src/src/cpp/client/client_context.cc",
+ "src/src/cpp/client/client_interceptor.cc",
+ "src/src/cpp/client/create_channel.cc",
+ "src/src/cpp/client/create_channel_internal.cc",
+ "src/src/cpp/client/create_channel_internal.h",
+ "src/src/cpp/client/create_channel_posix.cc",
+ "src/src/cpp/client/insecure_credentials.cc",
+ "src/src/cpp/common/alarm.cc",
+ "src/src/cpp/common/channel_arguments.cc",
+ "src/src/cpp/common/channel_filter.cc",
+ "src/src/cpp/common/channel_filter.h",
+ "src/src/cpp/common/completion_queue_cc.cc",
+ "src/src/cpp/common/insecure_create_auth_context.cc",
+ "src/src/cpp/common/resource_quota_cc.cc",
+ "src/src/cpp/common/rpc_method.cc",
+ "src/src/cpp/common/validate_service_config.cc",
+ "src/src/cpp/common/version_cc.cc",
+ "src/src/cpp/server/async_generic_service.cc",
+ "src/src/cpp/server/channel_argument_option.cc",
+ "src/src/cpp/server/create_default_thread_pool.cc",
+ "src/src/cpp/server/dynamic_thread_pool.h",
+ "src/src/cpp/server/external_connection_acceptor_impl.cc",
+ "src/src/cpp/server/external_connection_acceptor_impl.h",
+ "src/src/cpp/server/health/default_health_check_service.cc",
+ "src/src/cpp/server/health/default_health_check_service.h",
+ "src/src/cpp/server/health/health_check_service.cc",
+ "src/src/cpp/server/health/health_check_service_server_builder_option.cc",
+ "src/src/cpp/server/insecure_server_credentials.cc",
+ "src/src/cpp/server/orca/call_metric_recorder.cc",
+ "src/src/cpp/server/server_builder.cc",
+ "src/src/cpp/server/server_callback.cc",
+ "src/src/cpp/server/server_cc.cc",
+ "src/src/cpp/server/server_context.cc",
+ "src/src/cpp/server/server_posix.cc",
+ "src/src/cpp/server/thread_pool_interface.h",
+ "src/src/cpp/thread_manager/thread_manager.cc",
+ "src/src/cpp/thread_manager/thread_manager.h",
+ "src/src/cpp/util/byte_buffer_cc.cc",
+ "src/src/cpp/util/status.cc",
+ "src/src/cpp/util/string_ref.cc",
+ "src/src/cpp/util/time_cc.cc",
+ ]
+ public_deps = [ ":grpc_unsecure" ]
+ public_configs = [ "..:grpc_internal_config" ]
+ configs -= [ "//gn/standalone:extra_warnings" ]
+}
+
+source_set("grpc_authorization_provider") {
+ sources = [
+ "src/src/core/ext/filters/client_channel/lb_policy/backend_metric_data.h",
+ "src/src/core/ext/upb-generated/google/protobuf/any.upb.c",
+ "src/src/core/ext/upb-generated/google/protobuf/any.upb.h",
+ "src/src/core/ext/upb-generated/google/rpc/status.upb.c",
+ "src/src/core/ext/upb-generated/google/rpc/status.upb.h",
+ "src/src/core/ext/upb-generated/src/proto/grpc/gcp/altscontext.upb.c",
+ "src/src/core/ext/upb-generated/src/proto/grpc/gcp/altscontext.upb.h",
+ "src/src/core/ext/upb-generated/src/proto/grpc/gcp/handshaker.upb.c",
+ "src/src/core/ext/upb-generated/src/proto/grpc/gcp/handshaker.upb.h",
+ "src/src/core/ext/upb-generated/src/proto/grpc/gcp/transport_security_common.upb.c",
+ "src/src/core/ext/upb-generated/src/proto/grpc/gcp/transport_security_common.upb.h",
+ "src/src/core/lib/address_utils/parse_address.cc",
+ "src/src/core/lib/address_utils/parse_address.h",
+ "src/src/core/lib/address_utils/sockaddr_utils.cc",
+ "src/src/core/lib/address_utils/sockaddr_utils.h",
+ "src/src/core/lib/avl/avl.h",
+ "src/src/core/lib/channel/call_finalization.h",
+ "src/src/core/lib/channel/call_tracer.h",
+ "src/src/core/lib/channel/channel_args.cc",
+ "src/src/core/lib/channel/channel_args.h",
+ "src/src/core/lib/channel/channel_args_preconditioning.cc",
+ "src/src/core/lib/channel/channel_args_preconditioning.h",
+ "src/src/core/lib/channel/channel_fwd.h",
+ "src/src/core/lib/channel/channel_stack.cc",
+ "src/src/core/lib/channel/channel_stack.h",
+ "src/src/core/lib/channel/channel_stack_builder.cc",
+ "src/src/core/lib/channel/channel_stack_builder.h",
+ "src/src/core/lib/channel/channel_stack_builder_impl.cc",
+ "src/src/core/lib/channel/channel_stack_builder_impl.h",
+ "src/src/core/lib/channel/channel_trace.cc",
+ "src/src/core/lib/channel/channel_trace.h",
+ "src/src/core/lib/channel/channelz.cc",
+ "src/src/core/lib/channel/channelz.h",
+ "src/src/core/lib/channel/channelz_registry.cc",
+ "src/src/core/lib/channel/channelz_registry.h",
+ "src/src/core/lib/channel/connected_channel.cc",
+ "src/src/core/lib/channel/connected_channel.h",
+ "src/src/core/lib/channel/context.h",
+ "src/src/core/lib/channel/promise_based_filter.cc",
+ "src/src/core/lib/channel/promise_based_filter.h",
+ "src/src/core/lib/channel/status_util.cc",
+ "src/src/core/lib/channel/status_util.h",
+ "src/src/core/lib/compression/compression.cc",
+ "src/src/core/lib/compression/compression_internal.cc",
+ "src/src/core/lib/compression/compression_internal.h",
+ "src/src/core/lib/compression/message_compress.cc",
+ "src/src/core/lib/compression/message_compress.h",
+ "src/src/core/lib/config/core_configuration.cc",
+ "src/src/core/lib/config/core_configuration.h",
+ "src/src/core/lib/debug/event_log.cc",
+ "src/src/core/lib/debug/event_log.h",
+ "src/src/core/lib/debug/histogram_view.cc",
+ "src/src/core/lib/debug/histogram_view.h",
+ "src/src/core/lib/debug/stats.cc",
+ "src/src/core/lib/debug/stats.h",
+ "src/src/core/lib/debug/stats_data.cc",
+ "src/src/core/lib/debug/stats_data.h",
+ "src/src/core/lib/debug/trace.cc",
+ "src/src/core/lib/debug/trace.h",
+ "src/src/core/lib/event_engine/channel_args_endpoint_config.cc",
+ "src/src/core/lib/event_engine/channel_args_endpoint_config.h",
+ "src/src/core/lib/event_engine/common_closures.h",
+ "src/src/core/lib/event_engine/default_event_engine.cc",
+ "src/src/core/lib/event_engine/default_event_engine.h",
+ "src/src/core/lib/event_engine/default_event_engine_factory.cc",
+ "src/src/core/lib/event_engine/default_event_engine_factory.h",
+ "src/src/core/lib/event_engine/event_engine.cc",
+ "src/src/core/lib/event_engine/executor/executor.h",
+ "src/src/core/lib/event_engine/forkable.cc",
+ "src/src/core/lib/event_engine/forkable.h",
+ "src/src/core/lib/event_engine/handle_containers.h",
+ "src/src/core/lib/event_engine/memory_allocator.cc",
+ "src/src/core/lib/event_engine/poller.h",
+ "src/src/core/lib/event_engine/posix.h",
+ "src/src/core/lib/event_engine/posix_engine/ev_epoll1_linux.cc",
+ "src/src/core/lib/event_engine/posix_engine/ev_epoll1_linux.h",
+ "src/src/core/lib/event_engine/posix_engine/ev_poll_posix.cc",
+ "src/src/core/lib/event_engine/posix_engine/ev_poll_posix.h",
+ "src/src/core/lib/event_engine/posix_engine/event_poller.h",
+ "src/src/core/lib/event_engine/posix_engine/event_poller_posix_default.cc",
+ "src/src/core/lib/event_engine/posix_engine/event_poller_posix_default.h",
+ "src/src/core/lib/event_engine/posix_engine/internal_errqueue.cc",
+ "src/src/core/lib/event_engine/posix_engine/internal_errqueue.h",
+ "src/src/core/lib/event_engine/posix_engine/lockfree_event.cc",
+ "src/src/core/lib/event_engine/posix_engine/lockfree_event.h",
+ "src/src/core/lib/event_engine/posix_engine/posix_endpoint.cc",
+ "src/src/core/lib/event_engine/posix_engine/posix_endpoint.h",
+ "src/src/core/lib/event_engine/posix_engine/posix_engine.cc",
+ "src/src/core/lib/event_engine/posix_engine/posix_engine.h",
+ "src/src/core/lib/event_engine/posix_engine/posix_engine_closure.h",
+ "src/src/core/lib/event_engine/posix_engine/posix_engine_listener.cc",
+ "src/src/core/lib/event_engine/posix_engine/posix_engine_listener.h",
+ "src/src/core/lib/event_engine/posix_engine/posix_engine_listener_utils.cc",
+ "src/src/core/lib/event_engine/posix_engine/posix_engine_listener_utils.h",
+ "src/src/core/lib/event_engine/posix_engine/tcp_socket_utils.cc",
+ "src/src/core/lib/event_engine/posix_engine/tcp_socket_utils.h",
+ "src/src/core/lib/event_engine/posix_engine/timer.cc",
+ "src/src/core/lib/event_engine/posix_engine/timer.h",
+ "src/src/core/lib/event_engine/posix_engine/timer_heap.cc",
+ "src/src/core/lib/event_engine/posix_engine/timer_heap.h",
+ "src/src/core/lib/event_engine/posix_engine/timer_manager.cc",
+ "src/src/core/lib/event_engine/posix_engine/timer_manager.h",
+ "src/src/core/lib/event_engine/posix_engine/traced_buffer_list.cc",
+ "src/src/core/lib/event_engine/posix_engine/traced_buffer_list.h",
+ "src/src/core/lib/event_engine/posix_engine/wakeup_fd_eventfd.cc",
+ "src/src/core/lib/event_engine/posix_engine/wakeup_fd_eventfd.h",
+ "src/src/core/lib/event_engine/posix_engine/wakeup_fd_pipe.cc",
+ "src/src/core/lib/event_engine/posix_engine/wakeup_fd_pipe.h",
+ "src/src/core/lib/event_engine/posix_engine/wakeup_fd_posix.h",
+ "src/src/core/lib/event_engine/posix_engine/wakeup_fd_posix_default.cc",
+ "src/src/core/lib/event_engine/posix_engine/wakeup_fd_posix_default.h",
+ "src/src/core/lib/event_engine/resolved_address.cc",
+ "src/src/core/lib/event_engine/resolved_address_internal.h",
+ "src/src/core/lib/event_engine/shim.cc",
+ "src/src/core/lib/event_engine/shim.h",
+ "src/src/core/lib/event_engine/slice.cc",
+ "src/src/core/lib/event_engine/slice_buffer.cc",
+ "src/src/core/lib/event_engine/tcp_socket_utils.cc",
+ "src/src/core/lib/event_engine/tcp_socket_utils.h",
+ "src/src/core/lib/event_engine/thread_pool.cc",
+ "src/src/core/lib/event_engine/thread_pool.h",
+ "src/src/core/lib/event_engine/time_util.cc",
+ "src/src/core/lib/event_engine/time_util.h",
+ "src/src/core/lib/event_engine/trace.cc",
+ "src/src/core/lib/event_engine/trace.h",
+ "src/src/core/lib/event_engine/utils.cc",
+ "src/src/core/lib/event_engine/utils.h",
+ "src/src/core/lib/event_engine/windows/iocp.cc",
+ "src/src/core/lib/event_engine/windows/iocp.h",
+ "src/src/core/lib/event_engine/windows/win_socket.cc",
+ "src/src/core/lib/event_engine/windows/win_socket.h",
+ "src/src/core/lib/event_engine/windows/windows_endpoint.cc",
+ "src/src/core/lib/event_engine/windows/windows_endpoint.h",
+ "src/src/core/lib/event_engine/windows/windows_engine.cc",
+ "src/src/core/lib/event_engine/windows/windows_engine.h",
+ "src/src/core/lib/experiments/config.cc",
+ "src/src/core/lib/experiments/config.h",
+ "src/src/core/lib/experiments/experiments.cc",
+ "src/src/core/lib/experiments/experiments.h",
+ "src/src/core/lib/gpr/spinlock.h",
+ "src/src/core/lib/gprpp/atomic_utils.h",
+ "src/src/core/lib/gprpp/bitset.h",
+ "src/src/core/lib/gprpp/chunked_vector.h",
+ "src/src/core/lib/gprpp/cpp_impl_of.h",
+ "src/src/core/lib/gprpp/dual_ref_counted.h",
+ "src/src/core/lib/gprpp/load_file.cc",
+ "src/src/core/lib/gprpp/load_file.h",
+ "src/src/core/lib/gprpp/manual_constructor.h",
+ "src/src/core/lib/gprpp/match.h",
+ "src/src/core/lib/gprpp/notification.h",
+ "src/src/core/lib/gprpp/orphanable.h",
+ "src/src/core/lib/gprpp/overload.h",
+ "src/src/core/lib/gprpp/packed_table.h",
+ "src/src/core/lib/gprpp/per_cpu.h",
+ "src/src/core/lib/gprpp/ref_counted.h",
+ "src/src/core/lib/gprpp/ref_counted_ptr.h",
+ "src/src/core/lib/gprpp/sorted_pack.h",
+ "src/src/core/lib/gprpp/status_helper.cc",
+ "src/src/core/lib/gprpp/status_helper.h",
+ "src/src/core/lib/gprpp/table.h",
+ "src/src/core/lib/gprpp/time.cc",
+ "src/src/core/lib/gprpp/time.h",
+ "src/src/core/lib/gprpp/time_averaged_stats.cc",
+ "src/src/core/lib/gprpp/time_averaged_stats.h",
+ "src/src/core/lib/gprpp/unique_type_name.h",
+ "src/src/core/lib/gprpp/validation_errors.cc",
+ "src/src/core/lib/gprpp/validation_errors.h",
+ "src/src/core/lib/gprpp/work_serializer.cc",
+ "src/src/core/lib/gprpp/work_serializer.h",
+ "src/src/core/lib/handshaker/proxy_mapper.h",
+ "src/src/core/lib/handshaker/proxy_mapper_registry.cc",
+ "src/src/core/lib/handshaker/proxy_mapper_registry.h",
+ "src/src/core/lib/iomgr/block_annotate.h",
+ "src/src/core/lib/iomgr/buffer_list.cc",
+ "src/src/core/lib/iomgr/buffer_list.h",
+ "src/src/core/lib/iomgr/call_combiner.cc",
+ "src/src/core/lib/iomgr/call_combiner.h",
+ "src/src/core/lib/iomgr/cfstream_handle.cc",
+ "src/src/core/lib/iomgr/cfstream_handle.h",
+ "src/src/core/lib/iomgr/closure.cc",
+ "src/src/core/lib/iomgr/closure.h",
+ "src/src/core/lib/iomgr/combiner.cc",
+ "src/src/core/lib/iomgr/combiner.h",
+ "src/src/core/lib/iomgr/dualstack_socket_posix.cc",
+ "src/src/core/lib/iomgr/dynamic_annotations.h",
+ "src/src/core/lib/iomgr/endpoint.cc",
+ "src/src/core/lib/iomgr/endpoint.h",
+ "src/src/core/lib/iomgr/endpoint_cfstream.cc",
+ "src/src/core/lib/iomgr/endpoint_cfstream.h",
+ "src/src/core/lib/iomgr/endpoint_pair.h",
+ "src/src/core/lib/iomgr/endpoint_pair_posix.cc",
+ "src/src/core/lib/iomgr/endpoint_pair_windows.cc",
+ "src/src/core/lib/iomgr/error.cc",
+ "src/src/core/lib/iomgr/error.h",
+ "src/src/core/lib/iomgr/error_cfstream.cc",
+ "src/src/core/lib/iomgr/error_cfstream.h",
+ "src/src/core/lib/iomgr/ev_apple.cc",
+ "src/src/core/lib/iomgr/ev_apple.h",
+ "src/src/core/lib/iomgr/ev_epoll1_linux.cc",
+ "src/src/core/lib/iomgr/ev_epoll1_linux.h",
+ "src/src/core/lib/iomgr/ev_poll_posix.cc",
+ "src/src/core/lib/iomgr/ev_poll_posix.h",
+ "src/src/core/lib/iomgr/ev_posix.cc",
+ "src/src/core/lib/iomgr/ev_posix.h",
+ "src/src/core/lib/iomgr/ev_windows.cc",
+ "src/src/core/lib/iomgr/event_engine_shims/closure.cc",
+ "src/src/core/lib/iomgr/event_engine_shims/closure.h",
+ "src/src/core/lib/iomgr/event_engine_shims/endpoint.cc",
+ "src/src/core/lib/iomgr/event_engine_shims/endpoint.h",
+ "src/src/core/lib/iomgr/event_engine_shims/tcp_client.cc",
+ "src/src/core/lib/iomgr/event_engine_shims/tcp_client.h",
+ "src/src/core/lib/iomgr/exec_ctx.cc",
+ "src/src/core/lib/iomgr/exec_ctx.h",
+ "src/src/core/lib/iomgr/executor.cc",
+ "src/src/core/lib/iomgr/executor.h",
+ "src/src/core/lib/iomgr/fork_posix.cc",
+ "src/src/core/lib/iomgr/fork_windows.cc",
+ "src/src/core/lib/iomgr/gethostname.h",
+ "src/src/core/lib/iomgr/gethostname_fallback.cc",
+ "src/src/core/lib/iomgr/gethostname_host_name_max.cc",
+ "src/src/core/lib/iomgr/gethostname_sysconf.cc",
+ "src/src/core/lib/iomgr/grpc_if_nametoindex.h",
+ "src/src/core/lib/iomgr/grpc_if_nametoindex_posix.cc",
+ "src/src/core/lib/iomgr/grpc_if_nametoindex_unsupported.cc",
+ "src/src/core/lib/iomgr/internal_errqueue.cc",
+ "src/src/core/lib/iomgr/internal_errqueue.h",
+ "src/src/core/lib/iomgr/iocp_windows.cc",
+ "src/src/core/lib/iomgr/iocp_windows.h",
+ "src/src/core/lib/iomgr/iomgr.cc",
+ "src/src/core/lib/iomgr/iomgr.h",
+ "src/src/core/lib/iomgr/iomgr_fwd.h",
+ "src/src/core/lib/iomgr/iomgr_internal.cc",
+ "src/src/core/lib/iomgr/iomgr_internal.h",
+ "src/src/core/lib/iomgr/iomgr_posix.cc",
+ "src/src/core/lib/iomgr/iomgr_posix_cfstream.cc",
+ "src/src/core/lib/iomgr/iomgr_windows.cc",
+ "src/src/core/lib/iomgr/load_file.cc",
+ "src/src/core/lib/iomgr/load_file.h",
+ "src/src/core/lib/iomgr/lockfree_event.cc",
+ "src/src/core/lib/iomgr/lockfree_event.h",
+ "src/src/core/lib/iomgr/nameser.h",
+ "src/src/core/lib/iomgr/polling_entity.cc",
+ "src/src/core/lib/iomgr/polling_entity.h",
+ "src/src/core/lib/iomgr/pollset.cc",
+ "src/src/core/lib/iomgr/pollset.h",
+ "src/src/core/lib/iomgr/pollset_set.cc",
+ "src/src/core/lib/iomgr/pollset_set.h",
+ "src/src/core/lib/iomgr/pollset_set_windows.cc",
+ "src/src/core/lib/iomgr/pollset_set_windows.h",
+ "src/src/core/lib/iomgr/pollset_windows.cc",
+ "src/src/core/lib/iomgr/pollset_windows.h",
+ "src/src/core/lib/iomgr/port.h",
+ "src/src/core/lib/iomgr/python_util.h",
+ "src/src/core/lib/iomgr/resolve_address.cc",
+ "src/src/core/lib/iomgr/resolve_address.h",
+ "src/src/core/lib/iomgr/resolve_address_impl.h",
+ "src/src/core/lib/iomgr/resolve_address_posix.cc",
+ "src/src/core/lib/iomgr/resolve_address_posix.h",
+ "src/src/core/lib/iomgr/resolve_address_windows.cc",
+ "src/src/core/lib/iomgr/resolve_address_windows.h",
+ "src/src/core/lib/iomgr/resolved_address.h",
+ "src/src/core/lib/iomgr/sockaddr.h",
+ "src/src/core/lib/iomgr/sockaddr_posix.h",
+ "src/src/core/lib/iomgr/sockaddr_utils_posix.cc",
+ "src/src/core/lib/iomgr/sockaddr_windows.h",
+ "src/src/core/lib/iomgr/socket_factory_posix.cc",
+ "src/src/core/lib/iomgr/socket_factory_posix.h",
+ "src/src/core/lib/iomgr/socket_mutator.cc",
+ "src/src/core/lib/iomgr/socket_mutator.h",
+ "src/src/core/lib/iomgr/socket_utils.h",
+ "src/src/core/lib/iomgr/socket_utils_common_posix.cc",
+ "src/src/core/lib/iomgr/socket_utils_linux.cc",
+ "src/src/core/lib/iomgr/socket_utils_posix.cc",
+ "src/src/core/lib/iomgr/socket_utils_posix.h",
+ "src/src/core/lib/iomgr/socket_utils_windows.cc",
+ "src/src/core/lib/iomgr/socket_windows.cc",
+ "src/src/core/lib/iomgr/socket_windows.h",
+ "src/src/core/lib/iomgr/systemd_utils.cc",
+ "src/src/core/lib/iomgr/systemd_utils.h",
+ "src/src/core/lib/iomgr/tcp_client.cc",
+ "src/src/core/lib/iomgr/tcp_client.h",
+ "src/src/core/lib/iomgr/tcp_client_cfstream.cc",
+ "src/src/core/lib/iomgr/tcp_client_posix.cc",
+ "src/src/core/lib/iomgr/tcp_client_posix.h",
+ "src/src/core/lib/iomgr/tcp_client_windows.cc",
+ "src/src/core/lib/iomgr/tcp_posix.cc",
+ "src/src/core/lib/iomgr/tcp_posix.h",
+ "src/src/core/lib/iomgr/tcp_server.cc",
+ "src/src/core/lib/iomgr/tcp_server.h",
+ "src/src/core/lib/iomgr/tcp_server_posix.cc",
+ "src/src/core/lib/iomgr/tcp_server_utils_posix.h",
+ "src/src/core/lib/iomgr/tcp_server_utils_posix_common.cc",
+ "src/src/core/lib/iomgr/tcp_server_utils_posix_ifaddrs.cc",
+ "src/src/core/lib/iomgr/tcp_server_utils_posix_noifaddrs.cc",
+ "src/src/core/lib/iomgr/tcp_server_windows.cc",
+ "src/src/core/lib/iomgr/tcp_windows.cc",
+ "src/src/core/lib/iomgr/tcp_windows.h",
+ "src/src/core/lib/iomgr/timer.cc",
+ "src/src/core/lib/iomgr/timer.h",
+ "src/src/core/lib/iomgr/timer_generic.cc",
+ "src/src/core/lib/iomgr/timer_generic.h",
+ "src/src/core/lib/iomgr/timer_heap.cc",
+ "src/src/core/lib/iomgr/timer_heap.h",
+ "src/src/core/lib/iomgr/timer_manager.cc",
+ "src/src/core/lib/iomgr/timer_manager.h",
+ "src/src/core/lib/iomgr/unix_sockets_posix.cc",
+ "src/src/core/lib/iomgr/unix_sockets_posix.h",
+ "src/src/core/lib/iomgr/unix_sockets_posix_noop.cc",
+ "src/src/core/lib/iomgr/wakeup_fd_eventfd.cc",
+ "src/src/core/lib/iomgr/wakeup_fd_nospecial.cc",
+ "src/src/core/lib/iomgr/wakeup_fd_pipe.cc",
+ "src/src/core/lib/iomgr/wakeup_fd_pipe.h",
+ "src/src/core/lib/iomgr/wakeup_fd_posix.cc",
+ "src/src/core/lib/iomgr/wakeup_fd_posix.h",
+ "src/src/core/lib/json/json.h",
+ "src/src/core/lib/json/json_reader.cc",
+ "src/src/core/lib/json/json_writer.cc",
+ "src/src/core/lib/load_balancing/lb_policy.cc",
+ "src/src/core/lib/load_balancing/lb_policy.h",
+ "src/src/core/lib/load_balancing/lb_policy_factory.h",
+ "src/src/core/lib/load_balancing/lb_policy_registry.cc",
+ "src/src/core/lib/load_balancing/lb_policy_registry.h",
+ "src/src/core/lib/load_balancing/subchannel_interface.h",
+ "src/src/core/lib/matchers/matchers.cc",
+ "src/src/core/lib/matchers/matchers.h",
+ "src/src/core/lib/promise/activity.cc",
+ "src/src/core/lib/promise/activity.h",
+ "src/src/core/lib/promise/arena_promise.h",
+ "src/src/core/lib/promise/context.h",
+ "src/src/core/lib/promise/detail/basic_join.h",
+ "src/src/core/lib/promise/detail/basic_seq.h",
+ "src/src/core/lib/promise/detail/promise_factory.h",
+ "src/src/core/lib/promise/detail/promise_like.h",
+ "src/src/core/lib/promise/detail/status.h",
+ "src/src/core/lib/promise/detail/switch.h",
+ "src/src/core/lib/promise/exec_ctx_wakeup_scheduler.h",
+ "src/src/core/lib/promise/if.h",
+ "src/src/core/lib/promise/interceptor_list.h",
+ "src/src/core/lib/promise/intra_activity_waiter.h",
+ "src/src/core/lib/promise/loop.h",
+ "src/src/core/lib/promise/map.h",
+ "src/src/core/lib/promise/pipe.h",
+ "src/src/core/lib/promise/poll.h",
+ "src/src/core/lib/promise/promise.h",
+ "src/src/core/lib/promise/race.h",
+ "src/src/core/lib/promise/seq.h",
+ "src/src/core/lib/promise/trace.cc",
+ "src/src/core/lib/promise/trace.h",
+ "src/src/core/lib/promise/try_join.h",
+ "src/src/core/lib/promise/try_seq.h",
+ "src/src/core/lib/resolver/resolver.cc",
+ "src/src/core/lib/resolver/resolver.h",
+ "src/src/core/lib/resolver/resolver_factory.h",
+ "src/src/core/lib/resolver/resolver_registry.cc",
+ "src/src/core/lib/resolver/resolver_registry.h",
+ "src/src/core/lib/resolver/server_address.cc",
+ "src/src/core/lib/resolver/server_address.h",
+ "src/src/core/lib/resource_quota/api.cc",
+ "src/src/core/lib/resource_quota/api.h",
+ "src/src/core/lib/resource_quota/arena.cc",
+ "src/src/core/lib/resource_quota/arena.h",
+ "src/src/core/lib/resource_quota/memory_quota.cc",
+ "src/src/core/lib/resource_quota/memory_quota.h",
+ "src/src/core/lib/resource_quota/periodic_update.cc",
+ "src/src/core/lib/resource_quota/periodic_update.h",
+ "src/src/core/lib/resource_quota/resource_quota.cc",
+ "src/src/core/lib/resource_quota/resource_quota.h",
+ "src/src/core/lib/resource_quota/thread_quota.cc",
+ "src/src/core/lib/resource_quota/thread_quota.h",
+ "src/src/core/lib/resource_quota/trace.cc",
+ "src/src/core/lib/resource_quota/trace.h",
+ "src/src/core/lib/security/authorization/authorization_engine.h",
+ "src/src/core/lib/security/authorization/authorization_policy_provider.h",
+ "src/src/core/lib/security/authorization/authorization_policy_provider_vtable.cc",
+ "src/src/core/lib/security/authorization/evaluate_args.cc",
+ "src/src/core/lib/security/authorization/evaluate_args.h",
+ "src/src/core/lib/security/authorization/grpc_authorization_engine.cc",
+ "src/src/core/lib/security/authorization/grpc_authorization_engine.h",
+ "src/src/core/lib/security/authorization/grpc_authorization_policy_provider.cc",
+ "src/src/core/lib/security/authorization/grpc_authorization_policy_provider.h",
+ "src/src/core/lib/security/authorization/grpc_server_authz_filter.cc",
+ "src/src/core/lib/security/authorization/grpc_server_authz_filter.h",
+ "src/src/core/lib/security/authorization/matchers.cc",
+ "src/src/core/lib/security/authorization/matchers.h",
+ "src/src/core/lib/security/authorization/rbac_policy.cc",
+ "src/src/core/lib/security/authorization/rbac_policy.h",
+ "src/src/core/lib/security/authorization/rbac_translator.cc",
+ "src/src/core/lib/security/authorization/rbac_translator.h",
+ "src/src/core/lib/security/certificate_provider/certificate_provider_factory.h",
+ "src/src/core/lib/security/certificate_provider/certificate_provider_registry.cc",
+ "src/src/core/lib/security/certificate_provider/certificate_provider_registry.h",
+ "src/src/core/lib/security/context/security_context.cc",
+ "src/src/core/lib/security/context/security_context.h",
+ "src/src/core/lib/security/credentials/alts/check_gcp_environment.cc",
+ "src/src/core/lib/security/credentials/alts/check_gcp_environment.h",
+ "src/src/core/lib/security/credentials/alts/check_gcp_environment_linux.cc",
+ "src/src/core/lib/security/credentials/alts/check_gcp_environment_no_op.cc",
+ "src/src/core/lib/security/credentials/alts/check_gcp_environment_windows.cc",
+ "src/src/core/lib/security/credentials/alts/grpc_alts_credentials_client_options.cc",
+ "src/src/core/lib/security/credentials/alts/grpc_alts_credentials_options.cc",
+ "src/src/core/lib/security/credentials/alts/grpc_alts_credentials_options.h",
+ "src/src/core/lib/security/credentials/alts/grpc_alts_credentials_server_options.cc",
+ "src/src/core/lib/security/credentials/call_creds_util.cc",
+ "src/src/core/lib/security/credentials/call_creds_util.h",
+ "src/src/core/lib/security/credentials/channel_creds_registry.h",
+ "src/src/core/lib/security/credentials/composite/composite_credentials.cc",
+ "src/src/core/lib/security/credentials/composite/composite_credentials.h",
+ "src/src/core/lib/security/credentials/credentials.cc",
+ "src/src/core/lib/security/credentials/credentials.h",
+ "src/src/core/lib/security/credentials/plugin/plugin_credentials.cc",
+ "src/src/core/lib/security/credentials/plugin/plugin_credentials.h",
+ "src/src/core/lib/security/credentials/tls/tls_utils.cc",
+ "src/src/core/lib/security/credentials/tls/tls_utils.h",
+ "src/src/core/lib/security/security_connector/load_system_roots.h",
+ "src/src/core/lib/security/security_connector/load_system_roots_fallback.cc",
+ "src/src/core/lib/security/security_connector/load_system_roots_supported.cc",
+ "src/src/core/lib/security/security_connector/load_system_roots_supported.h",
+ "src/src/core/lib/security/security_connector/security_connector.cc",
+ "src/src/core/lib/security/security_connector/security_connector.h",
+ "src/src/core/lib/security/transport/auth_filters.h",
+ "src/src/core/lib/security/transport/client_auth_filter.cc",
+ "src/src/core/lib/security/transport/secure_endpoint.cc",
+ "src/src/core/lib/security/transport/secure_endpoint.h",
+ "src/src/core/lib/security/transport/security_handshaker.cc",
+ "src/src/core/lib/security/transport/security_handshaker.h",
+ "src/src/core/lib/security/transport/server_auth_filter.cc",
+ "src/src/core/lib/security/transport/tsi_error.cc",
+ "src/src/core/lib/security/transport/tsi_error.h",
+ "src/src/core/lib/security/util/json_util.cc",
+ "src/src/core/lib/security/util/json_util.h",
+ "src/src/core/lib/service_config/service_config.h",
+ "src/src/core/lib/service_config/service_config_call_data.h",
+ "src/src/core/lib/service_config/service_config_parser.cc",
+ "src/src/core/lib/service_config/service_config_parser.h",
+ "src/src/core/lib/slice/b64.cc",
+ "src/src/core/lib/slice/b64.h",
+ "src/src/core/lib/slice/percent_encoding.cc",
+ "src/src/core/lib/slice/percent_encoding.h",
+ "src/src/core/lib/slice/slice.cc",
+ "src/src/core/lib/slice/slice.h",
+ "src/src/core/lib/slice/slice_buffer.cc",
+ "src/src/core/lib/slice/slice_buffer.h",
+ "src/src/core/lib/slice/slice_internal.h",
+ "src/src/core/lib/slice/slice_refcount.cc",
+ "src/src/core/lib/slice/slice_refcount.h",
+ "src/src/core/lib/slice/slice_string_helpers.cc",
+ "src/src/core/lib/slice/slice_string_helpers.h",
+ "src/src/core/lib/surface/api_trace.cc",
+ "src/src/core/lib/surface/api_trace.h",
+ "src/src/core/lib/surface/builtins.cc",
+ "src/src/core/lib/surface/builtins.h",
+ "src/src/core/lib/surface/byte_buffer.cc",
+ "src/src/core/lib/surface/byte_buffer_reader.cc",
+ "src/src/core/lib/surface/call.cc",
+ "src/src/core/lib/surface/call.h",
+ "src/src/core/lib/surface/call_details.cc",
+ "src/src/core/lib/surface/call_log_batch.cc",
+ "src/src/core/lib/surface/call_test_only.h",
+ "src/src/core/lib/surface/call_trace.cc",
+ "src/src/core/lib/surface/call_trace.h",
+ "src/src/core/lib/surface/channel.cc",
+ "src/src/core/lib/surface/channel.h",
+ "src/src/core/lib/surface/channel_init.cc",
+ "src/src/core/lib/surface/channel_init.h",
+ "src/src/core/lib/surface/channel_ping.cc",
+ "src/src/core/lib/surface/channel_stack_type.cc",
+ "src/src/core/lib/surface/channel_stack_type.h",
+ "src/src/core/lib/surface/completion_queue.cc",
+ "src/src/core/lib/surface/completion_queue.h",
+ "src/src/core/lib/surface/completion_queue_factory.cc",
+ "src/src/core/lib/surface/completion_queue_factory.h",
+ "src/src/core/lib/surface/event_string.cc",
+ "src/src/core/lib/surface/event_string.h",
+ "src/src/core/lib/surface/init.h",
+ "src/src/core/lib/surface/init_internally.cc",
+ "src/src/core/lib/surface/init_internally.h",
+ "src/src/core/lib/surface/lame_client.cc",
+ "src/src/core/lib/surface/lame_client.h",
+ "src/src/core/lib/surface/metadata_array.cc",
+ "src/src/core/lib/surface/server.cc",
+ "src/src/core/lib/surface/server.h",
+ "src/src/core/lib/surface/validate_metadata.cc",
+ "src/src/core/lib/surface/validate_metadata.h",
+ "src/src/core/lib/surface/version.cc",
+ "src/src/core/lib/transport/connectivity_state.cc",
+ "src/src/core/lib/transport/connectivity_state.h",
+ "src/src/core/lib/transport/error_utils.cc",
+ "src/src/core/lib/transport/error_utils.h",
+ "src/src/core/lib/transport/handshaker.cc",
+ "src/src/core/lib/transport/handshaker.h",
+ "src/src/core/lib/transport/handshaker_factory.h",
+ "src/src/core/lib/transport/handshaker_registry.cc",
+ "src/src/core/lib/transport/handshaker_registry.h",
+ "src/src/core/lib/transport/http2_errors.h",
+ "src/src/core/lib/transport/metadata_batch.cc",
+ "src/src/core/lib/transport/metadata_batch.h",
+ "src/src/core/lib/transport/parsed_metadata.cc",
+ "src/src/core/lib/transport/parsed_metadata.h",
+ "src/src/core/lib/transport/status_conversion.cc",
+ "src/src/core/lib/transport/status_conversion.h",
+ "src/src/core/lib/transport/timeout_encoding.cc",
+ "src/src/core/lib/transport/timeout_encoding.h",
+ "src/src/core/lib/transport/transport.cc",
+ "src/src/core/lib/transport/transport.h",
+ "src/src/core/lib/transport/transport_fwd.h",
+ "src/src/core/lib/transport/transport_impl.h",
+ "src/src/core/lib/transport/transport_op_string.cc",
+ "src/src/core/lib/uri/uri_parser.cc",
+ "src/src/core/lib/uri/uri_parser.h",
+ "src/src/core/tsi/alts/handshaker/transport_security_common_api.cc",
+ "src/src/core/tsi/alts/handshaker/transport_security_common_api.h",
+ "src/src/core/tsi/transport_security.cc",
+ "src/src/core/tsi/transport_security.h",
+ "src/src/core/tsi/transport_security_grpc.cc",
+ "src/src/core/tsi/transport_security_grpc.h",
+ "src/src/core/tsi/transport_security_interface.h",
+ ]
+ public_deps = [
+ ":absl_cleanup_cleanup",
+ ":absl_container_flat_hash_map",
+ ":absl_container_flat_hash_set",
+ ":absl_container_inlined_vector",
+ ":absl_functional_any_invocable",
+ ":absl_functional_function_ref",
+ ":absl_hash_hash",
+ ":absl_meta_type_traits",
+ ":absl_status_statusor",
+ ":absl_types_span",
+ ":absl_utility_utility",
+ ":gpr",
+ ":upb",
+ ]
+ public_configs = [ "..:grpc_internal_config" ]
+ configs -= [ "//gn/standalone:extra_warnings" ]
+}
+
+source_set("grpc_plugin_support") {
+ sources = [
+ "src/src/compiler/config.h",
+ "src/src/compiler/config_protobuf.h",
+ "src/src/compiler/cpp_generator.cc",
+ "src/src/compiler/cpp_generator.h",
+ "src/src/compiler/cpp_generator_helpers.h",
+ "src/src/compiler/cpp_plugin.h",
+ "src/src/compiler/csharp_generator.cc",
+ "src/src/compiler/csharp_generator.h",
+ "src/src/compiler/csharp_generator_helpers.h",
+ "src/src/compiler/generator_helpers.h",
+ "src/src/compiler/node_generator.cc",
+ "src/src/compiler/node_generator.h",
+ "src/src/compiler/node_generator_helpers.h",
+ "src/src/compiler/objective_c_generator.cc",
+ "src/src/compiler/objective_c_generator.h",
+ "src/src/compiler/objective_c_generator_helpers.h",
+ "src/src/compiler/php_generator.cc",
+ "src/src/compiler/php_generator.h",
+ "src/src/compiler/php_generator_helpers.h",
+ "src/src/compiler/protobuf_plugin.h",
+ "src/src/compiler/python_generator.cc",
+ "src/src/compiler/python_generator.h",
+ "src/src/compiler/python_generator_helpers.h",
+ "src/src/compiler/python_private_generator.h",
+ "src/src/compiler/ruby_generator.cc",
+ "src/src/compiler/ruby_generator.h",
+ "src/src/compiler/ruby_generator_helpers-inl.h",
+ "src/src/compiler/ruby_generator_map-inl.h",
+ "src/src/compiler/ruby_generator_string-inl.h",
+ "src/src/compiler/schema_interface.h",
+ ]
+ public_deps = [ "..:protoc_lib" ]
+ public_configs = [ "..:grpc_internal_config" ]
+ configs -= [ "//gn/standalone:extra_warnings" ]
+}
+
+executable("grpc_cpp_plugin") {
+ sources = [ "src/src/compiler/cpp_plugin.cc" ]
+ public_deps = [ ":grpc_plugin_support" ]
+ public_configs = [ "..:grpc_internal_config" ]
+ configs -= [ "//gn/standalone:extra_warnings" ]
+}
diff --git a/docs/faq.md b/docs/faq.md
index 29ba71b..7a05913 100644
--- a/docs/faq.md
+++ b/docs/faq.md
@@ -1,23 +1,48 @@
# Frequently Asked Questions
-This page contains some common questions that the Perfetto team is asked
-and their answers.
-
-- [Frequently Asked Questions](#frequently-asked-questions)
- - [How do I open trace in UI from command line?](#how-do-i-open-trace-in-ui-from-command-line)
## How do I open trace in UI from command line?
+
When collecting traces from the command line, a convenient way to open traces
-is to use the [open_trace_in_ui script](/tools/open_trace_in_ui).
+is to use the [open\_trace\_in\_ui script](/tools/open_trace_in_ui).
This can be used as follows:
+
```sh
curl -OL https://github.com/google/perfetto/raw/master/tools/open_trace_in_ui
chmod +x open_trace_in_ui
./open_trace_in_ui -i /path/to/trace
```
-If you already have a Perfetto checkout, the first steps can be skipped.
+If you already have a Perfetto checkout, the first two steps can be skipped.
From the Perfetto root, run:
+
```sh
tools/open_trace_in_ui -i /path/to/trace
-```
\ No newline at end of file
+```
+
+## Incorrectly displayed overlapping events in JSON trace
+
+NOTE: JSON is considered a legacy trace format and is supported on a best-effort
+basis.
+
+The Perfetto UI and trace processor do support overlapping B/E/X events, in
+compliance with the
+[JSON spec](https://docs.google.com/document/d/1CvAClvFfyA5R-PhYUmn5OOQtYMH4h6I0nSsKchNAySU/preview#heading=h.nso4gcezn7n1).
+As stated in the spec, events are only allowed to perfecty nest.
+
+Users are recommended to emit
+[TrackEvent](/docs/instrumentation/track-events.md)
+instead, Perfetto's native trace format. See
+[this guide](/docs/reference/synthetic-track-event.md) for how common JSON
+events can be represented using
+TrackEvent.
+
+## How can I use Perfetto tooling without instrumenting my program?
+A common problem is that users want to use Perfetto analysis and visualization
+tooling but they don't want to instrument their program. This can be because
+Perfetto is not a good fit for their use-case or because they may already have
+an existing tracing system.
+
+The recommended approach for this is to emit Perfetto's native TrackEvent proto
+format. A reference guide for this is available
+[here](/docs/reference/synthetic-track-event.md).
diff --git a/docs/images/synthetic-track-event-counter.png b/docs/images/synthetic-track-event-counter.png
new file mode 100644
index 0000000..fc659d5
--- /dev/null
+++ b/docs/images/synthetic-track-event-counter.png
Binary files differ
diff --git a/docs/images/synthetic-track-event-flow.png b/docs/images/synthetic-track-event-flow.png
new file mode 100644
index 0000000..e0a20ed
--- /dev/null
+++ b/docs/images/synthetic-track-event-flow.png
Binary files differ
diff --git a/docs/images/synthetic-track-event-process.png b/docs/images/synthetic-track-event-process.png
new file mode 100644
index 0000000..db1379e
--- /dev/null
+++ b/docs/images/synthetic-track-event-process.png
Binary files differ
diff --git a/docs/images/synthetic-track-event-thread.png b/docs/images/synthetic-track-event-thread.png
new file mode 100644
index 0000000..d247662
--- /dev/null
+++ b/docs/images/synthetic-track-event-thread.png
Binary files differ
diff --git a/docs/reference/synthetic-track-event.md b/docs/reference/synthetic-track-event.md
new file mode 100644
index 0000000..1052d77
--- /dev/null
+++ b/docs/reference/synthetic-track-event.md
@@ -0,0 +1,375 @@
+# Writing TrackEvent Protos Synthetically
+This page acts as a reference guide to synthetically generate TrackEvent,
+Perfetto's native protobuf based tracing format. This allows using Perfetto's
+analysis and visualzation without using collecting traces using the Perfetto
+SDK.
+
+TrackEvent protos can be manually written using the
+[official protobuf library](https://protobuf.dev/reference/) or any other
+protobuf-compatible library. To be language-agnostic, the rest of this page
+will show examples using the
+[text format](https://protobuf.dev/reference/protobuf/textformat-spec/)
+representation of protobufs.
+
+## Thread-scoped (sync) slices
+NOTE: in the legacy JSON tracing format, this section correspond to B/E/I/X
+events with the associated M (metadata) events.
+
+Thread scoped slices are used to trace execution of functions on a single
+thread. As only one function runs on a single thread over time, this requires
+that child slices nest perfectly inside parent slices and do not partially
+overlap.
+
+
+
+This is corresponds to the following protos:
+```
+# Emit this packet once *before* you emit the first event for this process.
+packet: {
+ track_descriptor: {
+ uuid: 894893984 # 64-bit random number.
+ process: {
+ pid: 1234 # PID for your process.
+ process_name: "My process name"
+ }
+ }
+}
+
+# Emit this packet once *before* you emit the first event for this thread.
+packet: {
+ track_descriptor: {
+ uuid: 49083589894 # 64-bit random number.
+ parent_uuid: 894893984 # UUID from above.
+ thread: {
+ pid: 1234 # PID for your process.
+ tid: 5678 # TID for your thread.
+ thread_name: "My thread name"
+ }
+ }
+}
+
+# The events for this thread.
+packet: {
+ timestamp: 200
+ track_event: {
+ type: TYPE_SLICE_BEGIN
+ track_uuid: 49083589894 # Same random number from above.
+ name: "My special parent"
+ }
+ trusted_packet_sequence_id: 3903809 # Generate *once*, use throughout.
+}
+packet: {
+ timestamp: 250
+ track_event: {
+ type: TYPE_SLICE_BEGIN
+ track_uuid: 49083589894
+ name: "My special child"
+ }
+ trusted_packet_sequence_id: 3903809
+}
+packet {
+ timestamp: 285
+ track_event {
+ type: TYPE_INSTANT
+ track_uuid: 49083589894
+ }
+ trusted_packet_sequence_id: 3903809
+}
+packet: {
+ timestamp: 290
+ track_event: {
+ type: TYPE_SLICE_END
+ track_uuid: 49083589894
+ }
+ trusted_packet_sequence_id: 3903809
+}
+packet: {
+ timestamp: 300
+ track_event: {
+ type: TYPE_SLICE_END
+ track_uuid: 49083589894
+ }
+ trusted_packet_sequence_id: 3903809
+}
+```
+
+## Process-scoped (async) slices
+NOTE: in the legacy JSON tracing format, this section corresponds to b/e/n
+events with the associated M (metadata) events.
+
+Process-scoped slices are useful to trace execution of a "piece of work" across
+multiple threads of a process. A process-scoped slice can start on a thread
+A and end on a thread B. Examples include work submitted to thread pools
+and coroutines.
+
+Process tracks can be named corresponding to the executor and can also have
+child slices in an identical way to thread-scoped slices. Importantly, this
+means slices on a single track must **strictly nest** inside each other
+without overlapping.
+
+As separating each track in the UI can cause a lot of clutter, the UI
+visually merges process tracks with the same name in each process. Note that
+this **does not** change the data model (e.g. in trace processor
+tracks remain separated) as this is simply a visual grouping.
+
+
+
+This is corresponds to the following protos:
+```
+# The first track associated with this process.
+packet {
+ track_descriptor {
+ uuid: 48948 # 64-bit random number.
+ name: "My special track"
+ process {
+ pid: 1234 # PID for your process
+ process_name: "My process name"
+ }
+ }
+}
+# The events for the first track.
+packet {
+ timestamp: 200
+ track_event {
+ type: TYPE_SLICE_BEGIN
+ track_uuid: 48948 # Same random number from above.
+ name: "My special parent A"
+ }
+ trusted_packet_sequence_id: 3903809 # Generate *once*, use throughout.
+}
+packet {
+ timestamp: 250
+ track_event {
+ type: TYPE_SLICE_BEGIN
+ track_uuid: 48948
+ name: "My special child"
+ }
+ trusted_packet_sequence_id: 3903809
+}
+packet {
+ timestamp: 290
+ track_event {
+ type: TYPE_SLICE_END
+ track_uuid: 48948
+ }
+ trusted_packet_sequence_id: 3903809
+}
+packet {
+ timestamp: 300
+ track_event {
+ type: TYPE_SLICE_END
+ track_uuid: 48948
+ }
+ trusted_packet_sequence_id: 3903809
+}
+
+# The second track associated with this process. Note how we make the above
+# track the "parent" of this track: this means that this track also is
+# associated to the same process. Note further this shows as the same visual
+# track in the UI but remains separate in the trace and data model. Emitting
+# these events on a separate track is necessary because these events overlap
+# *without* nesting with the above events.
+packet {
+ track_descriptor {
+ uuid: 2390190934 # 64-bit random number.
+ name: "My special track"
+ parent_uuid: 48948
+ }
+}
+# The events for the second track.
+packet {
+ timestamp: 230
+ track_event {
+ type: TYPE_SLICE_BEGIN
+ track_uuid: 2390190934 # Same random number from above.
+ name: "My special parent A"
+ }
+ trusted_packet_sequence_id: 3903809
+}
+packet {
+ timestamp: 260
+ track_event {
+ type: TYPE_SLICE_BEGIN
+ track_uuid: 2390190934
+ name: "My special child"
+ }
+ trusted_packet_sequence_id: 3903809
+}
+packet {
+ timestamp: 270
+ track_event {
+ type: TYPE_SLICE_END
+ track_uuid: 2390190934
+ }
+ trusted_packet_sequence_id: 3903809
+}
+packet {
+ timestamp: 295
+ track_event {
+ type: TYPE_SLICE_END
+ track_uuid: 2390190934
+ }
+ trusted_packet_sequence_id: 3903809
+}
+```
+
+## Flows
+NOTE: in the legacy JSON tracing format, this section correspond to s/t/f
+events.
+
+Flows allow connecting any number of slices with arrows. The semantic meaning
+of the arrow varies across different applications but most commonly it is used
+to track work passing between threads or processes: e.g. the UI thread asks a
+background thread to do some work and notify when the result is available.
+
+NOTE: a single flow *cannot* fork ands imply represents a single stream of
+arrows from one slice to the next. See [this](https://source.chromium.org/chromium/chromium/src/+/main:third_party/perfetto/protos/perfetto/trace/perfetto_trace.proto;drc=ba05b783d9c29fe334a02913cf157ea1d415d37c;l=9604) comment for information.
+
+
+
+```
+# The main thread of the process.
+packet {
+ track_descriptor {
+ uuid: 93094
+ thread {
+ pid: 100
+ tid: 100
+ thread_name: "Main thread"
+ }
+ }
+}
+packet {
+ timestamp: 200
+ track_event {
+ type: TYPE_SLICE_BEGIN
+ track_uuid: 93094
+ name: "Request generation"
+ flow_ids: 1055895987 # Random number used to track work
+ # across threads/processes.
+ }
+ trusted_packet_sequence_id: 3903809
+}
+packet {
+ timestamp: 300
+ track_event {
+ type: TYPE_SLICE_END
+ track_uuid: 93094
+ }
+ trusted_packet_sequence_id: 3903809
+}
+packet {
+ timestamp: 400
+ track_event {
+ type: TYPE_SLICE_BEGIN
+ track_uuid: 93094
+ name: "Process background result"
+ flow_ids: 1055895987 # Same as above.
+ }
+ trusted_packet_sequence_id: 3903809
+}
+packet {
+ timestamp: 500
+ track_event {
+ type: TYPE_SLICE_END
+ track_uuid: 93094
+ }
+ trusted_packet_sequence_id: 3903809
+}
+
+# The background thread of the process.
+packet {
+ track_descriptor {
+ uuid: 40489498
+ thread {
+ pid: 100
+ tid: 101
+ thread_name: "Background thread"
+ }
+ }
+}
+packet {
+ timestamp: 310
+ track_event {
+ type: TYPE_SLICE_BEGIN
+ track_uuid: 40489498
+ name: "Background work"
+ flow_ids: 1055895987 # Same as above.
+ }
+ trusted_packet_sequence_id: 3903809
+}
+packet {
+ timestamp: 385
+ track_event {
+ type: TYPE_SLICE_END
+ track_uuid: 40489498
+ }
+ trusted_packet_sequence_id: 3903809
+}
+```
+
+## Counters
+NOTE: in the legacy JSON tracing format, this section correspond to C events.
+
+Counters are useful to represent continuous values which change with time.
+Common examples include CPU frequency, memory usage, battery charge etc.
+
+
+
+This corresponds to the following protos:
+```
+# Counter track scoped to a process.
+packet {
+ track_descriptor {
+ uuid: 1388
+ process {
+ pid: 1024
+ process_name: "MySpecialProcess"
+ }
+ }
+}
+packet {
+ track_descriptor {
+ uuid: 4489498
+ parent_uuid: 1388
+ name: "My special counter"
+ counter {}
+ }
+}
+packet {
+ timestamp: 200
+ track_event {
+ type: TYPE_COUNTER
+ track_uuid: 4489498
+ counter_value: 34567 # Value at start
+ }
+ trusted_packet_sequence_id: 3903809
+}
+packet {
+ timestamp: 250
+ track_event {
+ type: TYPE_COUNTER
+ track_uuid: 4489498
+ counter_value: 67890 # Value goes up
+ }
+ trusted_packet_sequence_id: 3903809
+}
+packet {
+ timestamp: 300
+ track_event {
+ type: TYPE_COUNTER
+ track_uuid: 4489498
+ counter_value: 12345 # Value goes down
+ }
+ trusted_packet_sequence_id: 3903809
+}
+packet {
+ timestamp: 400
+ track_event {
+ type: TYPE_COUNTER
+ track_uuid: 4489498
+ counter_value: 12345 # Final value
+ }
+ trusted_packet_sequence_id: 3903809
+}
+```
diff --git a/docs/toc.md b/docs/toc.md
index 1d37192..bc96bbc 100644
--- a/docs/toc.md
+++ b/docs/toc.md
@@ -67,6 +67,7 @@
* [Trace Packet proto](reference/trace-packet-proto.autogen)
* [perfetto cmdline](reference/perfetto-cli.md)
* [heap_profile cmdline](reference/heap_profile-cli.md)
+ * [Synthetic TrackEvent](reference/synthetic-track-event.md)
* [Contributing](#)
* [Getting started](contributing/getting-started.md)
diff --git a/docs/tracing-101.md b/docs/tracing-101.md
index 61ea985..ef80452 100644
--- a/docs/tracing-101.md
+++ b/docs/tracing-101.md
@@ -1,9 +1,6 @@
# Tracing 101
-*This page provides a birds-eye view of performance analysis using Perfetto.
-The aim is for to orient even people who have no idea what "tracing" is. You
-should walk away from this page with a good understanding of the available
-capabilities in Perfetto and how they can be used to improve performance of a
-system.*
+*This page provides a birds-eye view of performance analysis.
+The aim is to orient people who have no idea what "tracing" is.*
## Introduction to...
### Performance
@@ -148,7 +145,7 @@
systems. It helps identify the changes they can make to improve performance
and verify the impact of those changes.
-NOTE: In Perfetto, since profiles and traces can be collected simultaneously,
+NOTE: In Perfetto, since profiles and traces can be collected simultaneously,
we call everything a "trace" even if it may contain (only) profiling data
inside.
diff --git a/gn/BUILD.gn b/gn/BUILD.gn
index 0130ce7..01f12d0 100644
--- a/gn/BUILD.gn
+++ b/gn/BUILD.gn
@@ -275,13 +275,8 @@
"GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER",
]
cflags = []
- if (is_clang || !is_win) {
- cflags += [
- "-Wno-unknown-warning-option",
- "-Wno-deprecated",
- "-Wno-undef",
- "-Wno-zero-as-null-pointer-constant",
- ]
+ if (!is_clang || !is_win) {
+ cflags += [ "-Wno-deprecated-declarations" ]
}
if (is_clang && is_win) {
cflags += [
diff --git a/gn/perfetto.gni b/gn/perfetto.gni
index 04c07ca..b778d88 100644
--- a/gn/perfetto.gni
+++ b/gn/perfetto.gni
@@ -307,6 +307,12 @@
# typically handles only itanium mangling.
enable_perfetto_llvm_demangle =
enable_perfetto_trace_processor && perfetto_build_standalone
+
+ # Enables gRPC in the Perfetto codebase. gRPC significantly increases build
+ # times and the general footprint of Perfetto. As it only required for
+ # cloud trace processor and even then only to build the final ready-to-ship
+ # binary, don't enable this by default.
+ enable_perfetto_grpc = false
}
declare_args() {
diff --git a/gn/proto_library.gni b/gn/proto_library.gni
index d1794d5..f69d3ce 100644
--- a/gn/proto_library.gni
+++ b/gn/proto_library.gni
@@ -204,6 +204,40 @@
}
}
+# Generates .grpc.{h,cc} stubs for services defined in .proto files.
+# We require explicit opt-in as gRPC is very heavyweight so we do not
+# want accidental dependencies on this.
+if (enable_perfetto_grpc) {
+ template("perfetto_grpc_library") {
+ proto_library(target_name) {
+ proto_in_dir = perfetto_root_path
+ proto_out_dir = perfetto_root_path
+ propagate_imports_configs = false
+
+ perfetto_root_path = perfetto_root_path
+ generate_cc = false
+ generate_python = false
+ generator_plugin_label =
+ "$perfetto_root_path/buildtools/grpc:grpc_cpp_plugin"
+ generator_plugin_suffix = ".grpc.pb"
+ deps = [ "$perfetto_root_path/buildtools/grpc:grpc++" ]
+ public_configs = [ "$perfetto_root_path/buildtools:grpc_gen_config" ]
+ if (defined(invoker.deps)) {
+ deps += invoker.deps
+ }
+ forward_variables_from(invoker,
+ [
+ "defines",
+ "extra_configs",
+ "include_dirs",
+ "sources",
+ "testonly",
+ "visibility",
+ ])
+ }
+ }
+}
+
# The template used everywhere in the codebase.
template("perfetto_proto_library") {
if (defined(invoker.proto_generators)) {
diff --git a/gn/standalone/BUILD.gn b/gn/standalone/BUILD.gn
index bd21589..329aa97 100644
--- a/gn/standalone/BUILD.gn
+++ b/gn/standalone/BUILD.gn
@@ -84,6 +84,7 @@
"-Wno-reserved-identifier",
"-Wno-unknown-sanitizers",
"-Wno-unknown-warning-option",
+ "-Wno-unsafe-buffer-usage",
]
} else if (!is_clang && !is_win) {
# Use return std::move(...) for compatibility with old GCC compilers.
diff --git a/include/perfetto/ext/base/threading/BUILD.gn b/include/perfetto/ext/base/threading/BUILD.gn
index ab12670..cb11115 100644
--- a/include/perfetto/ext/base/threading/BUILD.gn
+++ b/include/perfetto/ext/base/threading/BUILD.gn
@@ -15,7 +15,10 @@
import("../../../../../gn/perfetto.gni")
source_set("threading") {
- sources = [ "thread_pool.h" ]
+ sources = [
+ "channel.h",
+ "thread_pool.h",
+ ]
deps = [
"..:base",
"../../../../../gn:default_deps",
diff --git a/include/perfetto/ext/base/threading/channel.h b/include/perfetto/ext/base/threading/channel.h
new file mode 100644
index 0000000..d117ff0
--- /dev/null
+++ b/include/perfetto/ext/base/threading/channel.h
@@ -0,0 +1,180 @@
+/*
+ * Copyright (C) 2022 The Android Open Source Project
+ *
+ * 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.
+ */
+
+#ifndef INCLUDE_PERFETTO_EXT_BASE_THREADING_CHANNEL_H_
+#define INCLUDE_PERFETTO_EXT_BASE_THREADING_CHANNEL_H_
+
+#include <mutex>
+
+#include "perfetto/base/compiler.h"
+#include "perfetto/base/platform_handle.h"
+#include "perfetto/ext/base/circular_queue.h"
+#include "perfetto/ext/base/event_fd.h"
+#include "perfetto/ext/base/optional.h"
+
+namespace perfetto {
+namespace base {
+
+// Unidirectional conduit used to send values between threads with a fixed-sized
+// buffer in-between.
+//
+// When a channel is read from when empty or written to when full, the operation
+// will not succeed and the caller can choose to a) abandon the operation,
+// or b) use |read_fd| or |write_fd| (as appropriate) which will be become
+// "ready" (i.e. base::TaskRunner watches will fire) when the operation would
+// succeed.
+//
+// A channel is very similar to a Unix pipe except with the values being sent
+// a) not needing to be serializable b) data does not go through the kernel.
+template <typename T>
+class Channel {
+ public:
+ struct ReadResult {
+ ReadResult(base::Optional<T> _item, bool _is_closed)
+ : item(std::move(_item)), is_closed(_is_closed) {}
+
+ bool operator==(const ReadResult& res) const {
+ return item == res.item && is_closed == res.is_closed;
+ }
+
+ // The item read from the channel or base::nullopt if the channel is empty.
+ // If so, callers can use |read_fd| to be notified when a read operation
+ // would succeed.
+ base::Optional<T> item;
+
+ // Indicates the channel is closed. Readers can continue to read from the
+ // channel and any buffered elements will be correctly returned. Moreover,
+ // any future reads will also have |is_closed| == true and |read_fd| will be
+ // ready forever.
+ //
+ // Once a ReadResult is returned with |item| == base::nullopt and
+ // |is_closed| == true, no further values will ever be returned.
+ bool is_closed;
+ };
+ struct WriteResult {
+ WriteResult(bool _success, bool _is_closed)
+ : success(std::move(_success)), is_closed(_is_closed) {}
+
+ bool operator==(const WriteResult& res) const {
+ return success == res.success && is_closed == res.is_closed;
+ }
+
+ // Returns whether the write to the channel was successful. If this is
+ // false, callers can use |write_fd| to be notified when future writes
+ // would succeed. Note that callers should also check |is_closed| as another
+ // writer may have closed the channel.
+ bool success;
+
+ // Indicates that the channel is closed. If this value is true, |success|
+ // will be |false| Moreover, any further writes will continue to return
+ // |success| == false, |is_closed| == true and |write_fd| will be ready
+ // forever.
+ bool is_closed;
+ };
+
+ // Creates a channel with a capacity at least as large as |capacity_hint|. The
+ // capacity *must* be greater than zero.
+ //
+ // Note that it's possible that a capacity > |capacity_hint| will be chosen:
+ // it is implementation defined when this might happen.
+ explicit Channel(uint32_t capacity_hint) : elements_(capacity_hint) {
+ PERFETTO_DCHECK(capacity_hint > 0);
+
+ // It's very important that we make sure |write_fd| is ready to avoid
+ // deadlocks.
+ write_fd_.Notify();
+ }
+
+ // Attempts to read from the channel and returns the result of the attempt.
+ // See |ReadResult| for more information on the result.
+ PERFETTO_WARN_UNUSED_RESULT ReadResult ReadNonBlocking() {
+ std::lock_guard<std::mutex> lock(mutex_);
+ if (elements_.empty()) {
+ return ReadResult(base::nullopt, is_closed_);
+ }
+ if (elements_.capacity() == elements_.size()) {
+ write_fd_.Notify();
+ }
+ T value = std::move(elements_.front());
+ elements_.pop_front();
+ if (!is_closed_ && elements_.empty()) {
+ read_fd_.Clear();
+ }
+ return ReadResult(std::move(value), is_closed_);
+ }
+
+ // Attempts to write to the channel and returns the result of the attempt.
+ // See |WriteResult| for more information on the result.
+ //
+ // IMPORTANT: if this function returns |success| == false, |element| *will
+ // not* be modified. This allows the caller to try again with the same value.
+ PERFETTO_WARN_UNUSED_RESULT WriteResult WriteNonBlocking(T&& element) {
+ std::lock_guard<std::mutex> lock(mutex_);
+ if (is_closed_) {
+ return WriteResult{false, true};
+ }
+ if (elements_.size() == elements_.capacity()) {
+ return WriteResult{false, false};
+ }
+ if (elements_.empty()) {
+ read_fd_.Notify();
+ }
+ elements_.emplace_back(std::move(element));
+ if (elements_.size() == elements_.capacity()) {
+ write_fd_.Clear();
+ }
+ return WriteResult{true, false};
+ }
+
+ // Closes the channel for to any further writes.
+ //
+ // Note: this function will make both |read_fd| and |write_fd| ready to
+ // avoid deadlocks. Callers should correctly handle |is_closed| being
+ // false from |ReadNonBlocking| and |WriteNonBlocking| to stop watching the
+ // fds to avoid poll returning immediately.
+ //
+ // We prefer this behaviour as it's a lot more obvious something is wrong when
+ // it spins and takes 100% CPU rather than silently deadlocking.
+ void Close() {
+ std::lock_guard<std::mutex> lock(mutex_);
+ is_closed_ = true;
+
+ // Make both fds ready to avoid deadlocks.
+ read_fd_.Notify();
+ write_fd_.Notify();
+ }
+
+ // Notification FD for when |ReadNonBlocking| would succeed. Can be useful to
+ // pass to AddFileDescriptorWatch to read data from the channel.
+ base::PlatformHandle read_fd() const { return read_fd_.fd(); }
+
+ // Notification FD for when |WriteNonBlocking| would succeed. Can be useful to
+ // pass to AddFileDescriptorWatch to send data through the channel.
+ base::PlatformHandle write_fd() const { return write_fd_.fd(); }
+
+ private:
+ std::mutex mutex_;
+ base::CircularQueue<T> elements_;
+ bool is_closed_ = false;
+
+ base::EventFd read_fd_;
+ base::EventFd write_fd_;
+};
+
+} // namespace base
+} // namespace perfetto
+
+#endif // INCLUDE_PERFETTO_EXT_BASE_THREADING_CHANNEL_H_
diff --git a/include/perfetto/protozero/BUILD.gn b/include/perfetto/protozero/BUILD.gn
index c99f7fd..4c6c08f 100644
--- a/include/perfetto/protozero/BUILD.gn
+++ b/include/perfetto/protozero/BUILD.gn
@@ -20,6 +20,7 @@
"cpp_message_obj.h",
"field.h",
"field_writer.h",
+ "gen_field_helpers.h",
"message.h",
"message_arena.h",
"message_handle.h",
diff --git a/include/perfetto/protozero/gen_field_helpers.h b/include/perfetto/protozero/gen_field_helpers.h
new file mode 100644
index 0000000..ad3dee8
--- /dev/null
+++ b/include/perfetto/protozero/gen_field_helpers.h
@@ -0,0 +1,152 @@
+/*
+ * Copyright (C) 2023 The Android Open Source Project
+ *
+ * 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.
+ */
+
+#ifndef INCLUDE_PERFETTO_PROTOZERO_GEN_FIELD_HELPERS_H_
+#define INCLUDE_PERFETTO_PROTOZERO_GEN_FIELD_HELPERS_H_
+
+#include "perfetto/protozero/message.h"
+#include "perfetto/protozero/proto_decoder.h"
+#include "perfetto/protozero/proto_utils.h"
+#include "perfetto/protozero/scattered_heap_buffer.h"
+
+namespace protozero {
+namespace internal {
+namespace gen_helpers {
+
+// This file implements some helpers used by the protobuf generated code in the
+// .gen.cc files.
+//
+// The .gen.cc generated protobuf implementation (as opposed to the .pbzero.h
+// implementation) is not zero-copy and is not supposed to be used in fast
+// paths, so most of these helpers are designed to reduce binary size.
+
+void DeserializeString(const protozero::Field& field, std::string* dst);
+
+// Read packed repeated elements (serialized as `wire_type`) from `field` into
+// the `*dst` vector. Returns false if some bytes of `field` could not be
+// interpreted correctly as `wire_type`.
+template <proto_utils::ProtoWireType wire_type, typename CppType>
+bool DeserializePackedRepeated(const protozero::Field& field,
+ std::vector<CppType>* dst) {
+ bool parse_error = false;
+ for (::protozero::PackedRepeatedFieldIterator<wire_type, CppType> rep(
+ field.data(), field.size(), &parse_error);
+ rep; ++rep) {
+ dst->emplace_back(*rep);
+ }
+ return !parse_error;
+}
+
+extern template bool
+DeserializePackedRepeated<proto_utils::ProtoWireType::kVarInt, uint64_t>(
+ const protozero::Field& field,
+ std::vector<uint64_t>* dst);
+
+extern template bool
+DeserializePackedRepeated<proto_utils::ProtoWireType::kVarInt, int64_t>(
+ const protozero::Field& field,
+ std::vector<int64_t>* dst);
+
+extern template bool
+DeserializePackedRepeated<proto_utils::ProtoWireType::kVarInt, uint32_t>(
+ const protozero::Field& field,
+ std::vector<uint32_t>* dst);
+
+extern template bool
+DeserializePackedRepeated<proto_utils::ProtoWireType::kVarInt, int32_t>(
+ const protozero::Field& field,
+ std::vector<int32_t>* dst);
+
+// Serializers for different type of fields
+
+void SerializeTinyVarInt(uint32_t field_id, bool value, Message* msg);
+
+template <typename T>
+void SerializeExtendedVarInt(uint32_t field_id, T value, Message* msg) {
+ msg->AppendVarInt(field_id, value);
+}
+
+extern template void SerializeExtendedVarInt<uint64_t>(uint32_t field_id,
+ uint64_t value,
+ Message* msg);
+
+extern template void SerializeExtendedVarInt<uint32_t>(uint32_t field_id,
+ uint32_t value,
+ Message* msg);
+
+template <typename T>
+void SerializeVarInt(uint32_t field_id, T value, Message* msg) {
+ SerializeExtendedVarInt(
+ field_id, proto_utils::ExtendValueForVarIntSerialization(value), msg);
+}
+
+template <typename T>
+void SerializeSignedVarInt(uint32_t field_id, T value, Message* msg) {
+ SerializeVarInt(field_id, proto_utils::ZigZagEncode(value), msg);
+}
+
+template <typename T>
+void SerializeFixed(uint32_t field_id, T value, Message* msg) {
+ msg->AppendFixed(field_id, value);
+}
+
+extern template void SerializeFixed<double>(uint32_t field_id,
+ double value,
+ Message* msg);
+
+extern template void SerializeFixed<float>(uint32_t field_id,
+ float value,
+ Message* msg);
+
+extern template void SerializeFixed<uint64_t>(uint32_t field_id,
+ uint64_t value,
+ Message* msg);
+
+extern template void SerializeFixed<int64_t>(uint32_t field_id,
+ int64_t value,
+ Message* msg);
+
+extern template void SerializeFixed<uint32_t>(uint32_t field_id,
+ uint32_t value,
+ Message* msg);
+
+extern template void SerializeFixed<int32_t>(uint32_t field_id,
+ int32_t value,
+ Message* msg);
+
+void SerializeString(uint32_t field_id, const std::string& value, Message* msg);
+
+void SerializeUnknownFields(const std::string& unknown_fields, Message* msg);
+
+// Wrapper around HeapBuffered that avoids inlining.
+class MessageSerializer {
+ public:
+ MessageSerializer();
+ ~MessageSerializer();
+
+ Message* get() { return msg_.get(); }
+ std::vector<uint8_t> SerializeAsArray();
+ std::string SerializeAsString();
+
+ private:
+ HeapBuffered<Message> msg_;
+};
+
+} // namespace gen_helpers
+} // namespace internal
+} // namespace protozero
+
+#endif // INCLUDE_PERFETTO_PROTOZERO_GEN_FIELD_HELPERS_H_
diff --git a/include/perfetto/protozero/proto_utils.h b/include/perfetto/protozero/proto_utils.h
index eafd6ce..2896b3d 100644
--- a/include/perfetto/protozero/proto_utils.h
+++ b/include/perfetto/protozero/proto_utils.h
@@ -178,7 +178,9 @@
}
template <typename T>
-inline uint8_t* WriteVarInt(T value, uint8_t* target) {
+auto ExtendValueForVarIntSerialization(T value) -> typename std::make_unsigned<
+ typename std::conditional<std::is_unsigned<T>::value, T, int64_t>::type>::
+ type {
// If value is <= 0 we must first sign extend to int64_t (see [1]).
// Finally we always cast to an unsigned value to to avoid arithmetic
// (sign expanding) shifts in the while loop.
@@ -198,6 +200,13 @@
MaybeExtendedType extended_value = static_cast<MaybeExtendedType>(value);
UnsignedType unsigned_value = static_cast<UnsignedType>(extended_value);
+ return unsigned_value;
+}
+
+template <typename T>
+inline uint8_t* WriteVarInt(T value, uint8_t* target) {
+ auto unsigned_value = ExtendValueForVarIntSerialization(value);
+
while (unsigned_value >= 0x80) {
*target++ = static_cast<uint8_t>(unsigned_value) | 0x80;
unsigned_value >>= 7;
diff --git a/include/perfetto/trace_processor/ref_counted.h b/include/perfetto/trace_processor/ref_counted.h
index 4eb27c9..02996f0 100644
--- a/include/perfetto/trace_processor/ref_counted.h
+++ b/include/perfetto/trace_processor/ref_counted.h
@@ -88,6 +88,23 @@
// This case is really the move-assignment operator=(&&).
void reset(T* new_obj) { *this = RefPtr<T>(new_obj); }
+ // Releases the pointer owned by this RefPtr *without* decrementing the
+ // refcount. Callers *must* call |FromReleasedUnsafe| at a later date with
+ // this pointer to avoid memory leaks.
+ T* ReleaseUnsafe() {
+ auto* old_ptr = ptr_;
+ ptr_ = nullptr;
+ return old_ptr;
+ }
+
+ // Creates a RefPtr from a pointer returned by |ReleaseUnsafe|. Passing a
+ // pointer from any other source results in undefined behaviour.
+ static RefPtr<T> FromReleasedUnsafe(T* ptr) {
+ RefPtr<T> res;
+ res.ptr_ = ptr;
+ return res;
+ }
+
// Move operators.
RefPtr(RefPtr&& move_from) noexcept {
ptr_ = move_from.ptr_;
diff --git a/include/perfetto/tracing/data_source.h b/include/perfetto/tracing/data_source.h
index acf892c..7206776 100644
--- a/include/perfetto/tracing/data_source.h
+++ b/include/perfetto/tracing/data_source.h
@@ -459,7 +459,8 @@
instances &= Traits::GetActiveInstances(trace_point_data)
->load(std::memory_order_acquire);
instance_state = static_state_.TryGetCached(instances, i);
- if (!instance_state || !instance_state->trace_lambda_enabled)
+ if (!instance_state || !instance_state->trace_lambda_enabled.load(
+ std::memory_order_relaxed))
continue;
tls_inst.muxer_id_for_testing = instance_state->muxer_id_for_testing;
tls_inst.backend_id = instance_state->backend_id;
diff --git a/include/perfetto/tracing/internal/data_source_internal.h b/include/perfetto/tracing/internal/data_source_internal.h
index 9d9c6a2..8cfe5e6 100644
--- a/include/perfetto/tracing/internal/data_source_internal.h
+++ b/include/perfetto/tracing/internal/data_source_internal.h
@@ -59,7 +59,7 @@
// Keep this flag as the first field. This allows the compiler to directly
// dereference the DataSourceState* pointer in the trace fast-path without
// doing extra pointr arithmetic.
- bool trace_lambda_enabled = false;
+ std::atomic<bool> trace_lambda_enabled = false;
// The overall TracingMuxerImpl instance id, which gets incremented by
// ResetForTesting.
diff --git a/protos/perfetto/common/BUILD.gn b/protos/perfetto/common/BUILD.gn
index 5ecc0de..31d4842 100644
--- a/protos/perfetto/common/BUILD.gn
+++ b/protos/perfetto/common/BUILD.gn
@@ -36,4 +36,10 @@
"tracing_service_state.proto",
"track_event_descriptor.proto",
]
+ proto_generators = [
+ "lite",
+ "zero",
+ "cpp",
+ "source_set",
+ ]
}
diff --git a/protos/perfetto/trace_processor/BUILD.gn b/protos/perfetto/trace_processor/BUILD.gn
index c8671b1..4ba70c7 100644
--- a/protos/perfetto/trace_processor/BUILD.gn
+++ b/protos/perfetto/trace_processor/BUILD.gn
@@ -17,10 +17,11 @@
perfetto_proto_library("@TYPE@") {
proto_generators = [
+ "lite",
"zero",
"source_set",
]
- deps = [ "../common:zero" ] # ../common:zero needed for descriptor.proto.
+ deps = [ "../common:@TYPE@" ] # needed for descriptor.proto.
sources = []
foreach(source, trace_processor_protos) {
sources += [ "$source.proto" ]
@@ -34,3 +35,10 @@
]
sources = [ "metrics_impl.proto" ]
}
+
+if (enable_perfetto_grpc) {
+ perfetto_grpc_library("cloud_trace_processor_grpc") {
+ deps = [ ":lite" ]
+ sources = [ "cloud_trace_processor.proto" ]
+ }
+}
diff --git a/protos/perfetto/trace_processor/cloud_trace_processor.proto b/protos/perfetto/trace_processor/cloud_trace_processor.proto
new file mode 100644
index 0000000..b009fe3
--- /dev/null
+++ b/protos/perfetto/trace_processor/cloud_trace_processor.proto
@@ -0,0 +1,21 @@
+/*
+ * Copyright (C) 2023 The Android Open Source Project
+ *
+ * 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.
+ */
+
+syntax = "proto2";
+
+package perfetto.protos;
+
+service CloudTraceProcessorWorkerService {}
\ No newline at end of file
diff --git a/protos/perfetto/trace_processor/proto_files.gni b/protos/perfetto/trace_processor/proto_files.gni
index b46da47..4c9ae21 100644
--- a/protos/perfetto/trace_processor/proto_files.gni
+++ b/protos/perfetto/trace_processor/proto_files.gni
@@ -15,6 +15,7 @@
# This variable is used both by ./BUILD.gn (for the C++ proto codegen) and by
# //ui/BUIlD.gn (for the TypeScript/JS proto codegen).
trace_processor_protos = [
+ "cloud_trace_processor",
"trace_processor",
"metatrace_categories",
]
diff --git a/protos/third_party/chromium/chrome_track_event.proto b/protos/third_party/chromium/chrome_track_event.proto
index 911dbe0..546e22b 100644
--- a/protos/third_party/chromium/chrome_track_event.proto
+++ b/protos/third_party/chromium/chrome_track_event.proto
@@ -1034,6 +1034,7 @@
optional string stack_trace = 6;
repeated V8StackFrame stack_frames = 7;
}
+
// Contains the meta information for high entropy events (like api calls)
// that are to be traced for debugging in the context of identifiability study.
message BlinkHighEntropyAPI {
@@ -1070,9 +1071,44 @@
optional CalledJsApi called_api = 2;
}
+// Contains information about a tab switch measurement.
+message TabSwitchMeasurement {
+ // Possible outcomes of a tab switch. Maps to
+ // blink::ContentToVisibleTimeReporter::TabSwitchResult.
+ enum Result {
+ RESULT_UNSPECIFIED = 0;
+ // A frame was successfully presented after a tab switch.
+ RESULT_SUCCESS = 1;
+ // Tab was hidden before a frame was presented after a tab switch.
+ RESULT_INCOMPLETE = 2;
+ // TabWasShown called twice for a frame without TabWasHidden between. Treat
+ // the first TabWasShown as an incomplete tab switch.
+ RESULT_MISSED_TAB_HIDE = 3;
+ }
+
+ // State of the target tab. Corresponds to the suffixes of the
+ // Browser.TabSwitchResult2.* histograms.
+ enum TabState {
+ STATE_UNSPECIFIED = 0;
+ // The tab has frames in the frame cache, which can be composited in the
+ // browser process.
+ STATE_WITH_SAVED_FRAMES = 1;
+ // The tab has no frames in the frame cache so must be rendered and
+ // composited in a renderer process.
+ STATE_LOADED_NO_SAVED_FRAMES = 2;
+ // The tab has no frames in the frame cache and is not fully loaded, so it
+ // must be reloaded before it can be rendered and composited in a renderer
+ // process.
+ STATE_NOT_LOADED_NO_SAVED_FRAMES = 3;
+ }
+
+ optional Result result = 1;
+ optional TabState tab_state = 2;
+}
+
message ChromeTrackEvent {
// Extension range for Chrome: 1000-1999
- // Next ID: 1046
+ // Next ID: 1047
extend TrackEvent {
optional ChromeAppState chrome_app_state = 1000;
@@ -1170,5 +1206,7 @@
optional UkmPageLoadTimingUpdate ukm_page_load_timing_update = 1044;
optional BlinkHighEntropyAPI high_entropy_api = 1045;
+
+ optional TabSwitchMeasurement tab_switch_measurement = 1046;
}
}
diff --git a/python/generators/diff_tests/runner.py b/python/generators/diff_tests/runner.py
index dab06d1..c6eb14e 100644
--- a/python/generators/diff_tests/runner.py
+++ b/python/generators/diff_tests/runner.py
@@ -21,7 +21,7 @@
import sys
import tempfile
from dataclasses import dataclass
-from typing import Dict, List, Tuple
+from typing import List, Tuple, Optional
from google.protobuf import text_format
from python.generators.diff_tests.testing import TestCase, TestType
@@ -63,7 +63,7 @@
passed: bool
stderr: str
exit_code: int
- perf_result: PerfResult
+ perf_result: Optional[PerfResult]
def __init__(self, test: TestCase, gen_trace_path: str, cmd: List[str],
expected_text: str, actual_text: str, stderr: str,
@@ -88,7 +88,10 @@
actual_content = self.actual.replace('\r\n', '\n')
self.passed = (expected_content == actual_content)
- self.perf_result = PerfResult(self.test, perf_lines)
+ if self.exit_code == 0:
+ self.perf_result = PerfResult(self.test, perf_lines)
+ else:
+ self.perf_result = None
def write_diff(self):
expected_lines = self.expected.splitlines(True)
diff --git a/python/generators/diff_tests/testing.py b/python/generators/diff_tests/testing.py
index 30f69bd..aeef2b0 100644
--- a/python/generators/diff_tests/testing.py
+++ b/python/generators/diff_tests/testing.py
@@ -16,7 +16,7 @@
import inspect
import os
from dataclasses import dataclass
-from typing import Dict, List, Union
+from typing import List, Union
from enum import Enum
import re
diff --git a/python/tools/cpu_profile.py b/python/tools/cpu_profile.py
index 46b258f..8968bb9 100644
--- a/python/tools/cpu_profile.py
+++ b/python/tools/cpu_profile.py
@@ -98,6 +98,25 @@
metavar="DURATION",
type=int,
default=0)
+ # Profiling using hardware counters.
+ parser.add_argument(
+ "-e",
+ "--event",
+ help="Use the specified hardware counter event for sampling.",
+ metavar="EVENT",
+ action="append",
+ # See: '//perfetto/protos/perfetto/trace/perfetto_trace.proto'.
+ choices=['HW_CPU_CYCLES', 'HW_INSTRUCTIONS', 'HW_CACHE_REFERENCES',
+ 'HW_CACHE_MISSES', 'HW_BRANCH_INSTRUCTIONS', 'HW_BRANCH_MISSES',
+ 'HW_BUS_CYCLES', 'HW_STALLED_CYCLES_FRONTEND',
+ 'HW_STALLED_CYCLES_BACKEND'],
+ default=[])
+ parser.add_argument(
+ "-k",
+ "--kernel-frames",
+ help="Collect kernel frames. Default: false.",
+ action="store_true",
+ default=False)
parser.add_argument(
"-n",
"--name",
@@ -136,8 +155,11 @@
default=None)
args = parser.parse_args()
- if args.config is not None and args.name is not None:
- sys.exit("--name/-n should not be provided when --config/-c is provided.")
+ if args.config is not None:
+ if args.name is not None:
+ sys.exit("--name/-n should not be specified with --config/-c.")
+ elif args.event is not None:
+ sys.exit("-e/--event should not be specified with --config/-c.")
elif args.config is None and args.name is None:
sys.exit("One of --names/-n or --config/-c is required.")
@@ -186,7 +208,7 @@
except IOError as error:
sys.exit("Unable to read config file: {}".format(error))
- CONFIG_INDENT = ' '
+ CONFIG_INDENT = ' '
CONFIG = textwrap.dedent('''\
buffers {{
size_kb: 2048
@@ -206,18 +228,6 @@
}}
}}
- data_sources {{
- config {{
- name: "linux.perf"
- target_buffer: 1
- perf_event_config {{
- all_cpus: true
- sampling_frequency: {frequency}
- {target_config}
- }}
- }}
- }}
-
duration_ms: {duration}
write_into_file: true
flush_timeout_ms: 30000
@@ -235,6 +245,35 @@
target_config = "\n".join(
[f'{CONFIG_INDENT}target_cmdline: "{p}"' for p in matching_processes])
+ events = args.event or ['SW_CPU_CLOCK']
+ for event in events:
+ CONFIG += (textwrap.dedent('''
+ data_sources {{
+ config {{
+ name: "linux.perf"
+ target_buffer: 1
+ perf_event_config {{
+ timebase {{
+ counter: %s
+ frequency: {frequency}
+ timestamp_clock: PERF_CLOCK_MONOTONIC
+ }}
+ callstack_sampling {{
+ scope {{
+ {target_config}
+ }}
+ kernel_frames: {kernel_config}
+ }}
+ }}
+ }}
+ }}
+ ''') % (event))
+
+ if args.kernel_frames:
+ kernel_config = "true"
+ else:
+ kernel_config = "false"
+
if not args.print_config:
print("Configured profiling for these processes:\n")
for matching_process in matching_processes:
@@ -244,7 +283,8 @@
config = CONFIG.format(
frequency=args.frequency,
duration=args.duration,
- target_config=target_config)
+ target_config=target_config,
+ kernel_config=kernel_config)
return config
diff --git a/src/base/threading/BUILD.gn b/src/base/threading/BUILD.gn
index ba709e7..b1e01e3 100644
--- a/src/base/threading/BUILD.gn
+++ b/src/base/threading/BUILD.gn
@@ -28,6 +28,8 @@
"../../../gn:default_deps",
"../../../gn:gtest_and_gmock",
]
-
- sources = [ "thread_pool_unittest.cc" ]
+ sources = [
+ "channel_unittest.cc",
+ "thread_pool_unittest.cc",
+ ]
}
diff --git a/src/base/threading/channel_unittest.cc b/src/base/threading/channel_unittest.cc
new file mode 100644
index 0000000..21c5ce7
--- /dev/null
+++ b/src/base/threading/channel_unittest.cc
@@ -0,0 +1,188 @@
+/*
+ * Copyright (C) 2023 The Android Open Source Project
+ *
+ * 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 "perfetto/ext/base/threading/channel.h"
+#include <sys/poll.h>
+#include <memory>
+
+#include "perfetto/base/platform_handle.h"
+#include "perfetto/ext/base/file_utils.h"
+#include "perfetto/ext/base/optional.h"
+#include "perfetto/ext/base/utils.h"
+#include "test/gtest_and_gmock.h"
+
+#if PERFETTO_BUILDFLAG(PERFETTO_OS_WIN)
+#include <Windows.h>
+#include <synchapi.h>
+#else
+#include <poll.h>
+#endif
+
+namespace perfetto {
+namespace base {
+namespace {
+
+using ReadResult = Channel<int>::ReadResult;
+using WriteResult = Channel<int>::WriteResult;
+
+bool IsReady(base::PlatformHandle fd) {
+#if PERFETTO_BUILDFLAG(PERFETTO_OS_WIN)
+ std::array<base::PlatformHandle, 1> poll_fds{fd};
+ DWORD ret =
+ WaitForMultipleObjects(static_cast<DWORD>(poll_fds.size()), &poll_fds[0],
+ /*bWaitAll=*/false, 0);
+ PERFETTO_CHECK(ret == WAIT_TIMEOUT || ret == 0);
+ return ret == 0;
+#else
+ std::array<struct pollfd, 1> poll_fds;
+ poll_fds[0].fd = fd;
+ poll_fds[0].events = POLLIN | POLLHUP;
+ poll_fds[0].revents = 0;
+
+ int ret = PERFETTO_EINTR(
+ poll(&poll_fds[0], static_cast<nfds_t>(poll_fds.size()), 0));
+ PERFETTO_CHECK(ret == 0 || ret == 1);
+ return ret == 1;
+#endif
+}
+
+TEST(ChannelUnittest, SingleElementBuffer) {
+ Channel<int> channel(1);
+ ASSERT_TRUE(IsReady(channel.write_fd()));
+ ASSERT_FALSE(IsReady(channel.read_fd()));
+
+ ASSERT_EQ(channel.WriteNonBlocking(100), WriteResult(true, false));
+ ASSERT_EQ(channel.WriteNonBlocking(101), WriteResult(false, false));
+
+ ASSERT_FALSE(IsReady(channel.write_fd()));
+ ASSERT_TRUE(IsReady(channel.read_fd()));
+
+ ASSERT_EQ(channel.ReadNonBlocking(), ReadResult(100, false));
+ ASSERT_EQ(channel.ReadNonBlocking(), ReadResult(base::nullopt, false));
+
+ ASSERT_TRUE(IsReady(channel.write_fd()));
+ ASSERT_FALSE(IsReady(channel.read_fd()));
+}
+
+TEST(ChannelUnittest, MultiElementBuffer) {
+ Channel<int> channel(2);
+ ASSERT_TRUE(IsReady(channel.write_fd()));
+ ASSERT_FALSE(IsReady(channel.read_fd()));
+
+ ASSERT_EQ(channel.WriteNonBlocking(100), WriteResult(true, false));
+ ASSERT_TRUE(IsReady(channel.write_fd()));
+ ASSERT_TRUE(IsReady(channel.read_fd()));
+
+ ASSERT_EQ(channel.WriteNonBlocking(101), WriteResult(true, false));
+ ASSERT_FALSE(IsReady(channel.write_fd()));
+ ASSERT_TRUE(IsReady(channel.read_fd()));
+
+ ASSERT_EQ(channel.ReadNonBlocking(), ReadResult(100, false));
+ ASSERT_TRUE(IsReady(channel.write_fd()));
+ ASSERT_TRUE(IsReady(channel.read_fd()));
+
+ ASSERT_EQ(channel.ReadNonBlocking(), ReadResult(101, false));
+ ASSERT_TRUE(IsReady(channel.write_fd()));
+ ASSERT_FALSE(IsReady(channel.read_fd()));
+
+ ASSERT_EQ(channel.ReadNonBlocking(), ReadResult(base::nullopt, false));
+ ASSERT_TRUE(IsReady(channel.write_fd()));
+ ASSERT_FALSE(IsReady(channel.read_fd()));
+}
+
+TEST(ChannelUnittest, CloseEmptyChannel) {
+ Channel<int> channel(1);
+
+ ASSERT_EQ(channel.ReadNonBlocking(), ReadResult(base::nullopt, false));
+ ASSERT_FALSE(IsReady(channel.read_fd()));
+
+ channel.Close();
+
+ ASSERT_EQ(channel.ReadNonBlocking(), ReadResult(base::nullopt, true));
+ ASSERT_EQ(channel.ReadNonBlocking(), ReadResult(base::nullopt, true));
+
+ ASSERT_TRUE(IsReady(channel.read_fd()));
+ ASSERT_TRUE(IsReady(channel.read_fd()));
+}
+
+TEST(ChannelUnittest, WriteDoesNotMoveIfFalse) {
+ Channel<std::unique_ptr<int>> channel(1);
+
+ std::unique_ptr<int> first(new int(100));
+ int* first_ptr = first.get();
+ ASSERT_EQ(channel.WriteNonBlocking(std::move(first)),
+ Channel<std::unique_ptr<int>>::WriteResult(true, false));
+ ASSERT_EQ(first.get(), nullptr);
+
+ std::unique_ptr<int> second(new int(101));
+ ASSERT_EQ(channel.WriteNonBlocking(std::move(second)),
+ Channel<std::unique_ptr<int>>::WriteResult(false, false));
+ ASSERT_NE(second.get(), nullptr);
+ ASSERT_EQ(*second, 101);
+
+ auto res = channel.ReadNonBlocking();
+ ASSERT_EQ(res.item->get(), first_ptr);
+}
+
+TEST(ChannelUnittest, ReadAfterClose) {
+ Channel<int> channel(1);
+ ASSERT_EQ(channel.ReadNonBlocking(), ReadResult(base::nullopt, false));
+ ASSERT_EQ(channel.WriteNonBlocking(100), WriteResult(true, false));
+ channel.Close();
+
+ ASSERT_EQ(channel.ReadNonBlocking(), ReadResult(100, true));
+ ASSERT_EQ(channel.ReadNonBlocking(), ReadResult(base::nullopt, true));
+}
+
+TEST(ChannelUnittest, WriteAfterClose) {
+ Channel<int> channel(1);
+ ASSERT_EQ(channel.WriteNonBlocking(100), WriteResult(true, false));
+ ASSERT_EQ(channel.WriteNonBlocking(101), WriteResult(false, false));
+ ASSERT_EQ(channel.ReadNonBlocking(), ReadResult(100, false));
+ channel.Close();
+
+ ASSERT_EQ(channel.WriteNonBlocking(101), WriteResult(false, true));
+}
+
+TEST(ChannelUnittest, EmptyClosedChannel) {
+ Channel<int> channel(1);
+ ASSERT_FALSE(IsReady(channel.read_fd()));
+ ASSERT_TRUE(IsReady(channel.write_fd()));
+ channel.Close();
+ ASSERT_TRUE(IsReady(channel.write_fd()));
+ ASSERT_TRUE(IsReady(channel.write_fd()));
+ ASSERT_EQ(channel.ReadNonBlocking(), ReadResult(base::nullopt, true));
+ ASSERT_TRUE(IsReady(channel.write_fd()));
+ ASSERT_TRUE(IsReady(channel.read_fd()));
+}
+
+TEST(ChannelUnittest, FullClosedChannel) {
+ Channel<int> channel(1);
+ ASSERT_FALSE(IsReady(channel.read_fd()));
+ ASSERT_EQ(channel.WriteNonBlocking(100), WriteResult(true, false));
+ ASSERT_TRUE(IsReady(channel.read_fd()));
+ ASSERT_FALSE(IsReady(channel.write_fd()));
+ channel.Close();
+ ASSERT_TRUE(IsReady(channel.write_fd()));
+
+ ASSERT_EQ(channel.ReadNonBlocking(), ReadResult(100, true));
+ ASSERT_TRUE(IsReady(channel.write_fd()));
+ ASSERT_TRUE(IsReady(channel.read_fd()));
+}
+
+} // namespace
+} // namespace base
+} // namespace perfetto
diff --git a/src/profiling/common/producer_support.cc b/src/profiling/common/producer_support.cc
index 8ab0b42..a160149 100644
--- a/src/profiling/common/producer_support.cc
+++ b/src/profiling/common/producer_support.cc
@@ -110,10 +110,25 @@
return true;
}
+ bool trusted_initiator = ds_config.session_initiator() ==
+ DataSourceConfig::SESSION_INITIATOR_TRUSTED_SYSTEM;
+
uint64_t uid_without_profile = uid % kAidUserOffset;
uint64_t uid_for_lookup = 0;
- if (uid_without_profile >= kAidAppStart &&
- uid_without_profile <= kAidAppEnd) {
+ if (uid_without_profile < kAidAppStart) {
+ // Platform processes are considered profileable by the platform itself.
+ // This includes platform UIDs from other profiles, e.g. "u10_system".
+ // It's possible that this is an app (e.g. com.android.settings runs as
+ // AID_SYSTEM), but we will skip checking packages.list for the profileable
+ // manifest flags, as running under a platform UID is considered sufficient.
+ // Minor consequence: shell cannot profile platform apps, even if their
+ // manifest flags opt into profiling from shell. Resolving this would
+ // require definitively disambiguating native processes from apps if both
+ // can run as the same platform UID.
+ return trusted_initiator;
+
+ } else if (uid_without_profile >= kAidAppStart &&
+ uid_without_profile <= kAidAppEnd) {
// normal app
uid_for_lookup = uid_without_profile;
@@ -133,8 +148,6 @@
// even be the package in which the service was defined).
// TODO(rsavitski): find a way for the platform to tell native services
// about isolated<->app relations.
- bool trusted_initiator = ds_config.session_initiator() ==
- DataSourceConfig::SESSION_INITIATOR_TRUSTED_SYSTEM;
return trusted_initiator &&
AllPackagesProfileableByTrustedInitiator(packages_list_path);
diff --git a/src/protozero/BUILD.gn b/src/protozero/BUILD.gn
index dcb85d3..d553aac 100644
--- a/src/protozero/BUILD.gn
+++ b/src/protozero/BUILD.gn
@@ -31,6 +31,7 @@
]
sources = [
"field.cc",
+ "gen_field_helpers.cc",
"message.cc",
"message_arena.cc",
"message_handle.cc",
diff --git a/src/protozero/gen_field_helpers.cc b/src/protozero/gen_field_helpers.cc
new file mode 100644
index 0000000..85a41f7
--- /dev/null
+++ b/src/protozero/gen_field_helpers.cc
@@ -0,0 +1,103 @@
+/*
+ * Copyright (C) 2023 The Android Open Source Project
+ *
+ * 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 "perfetto/protozero/gen_field_helpers.h"
+
+namespace protozero {
+namespace internal {
+namespace gen_helpers {
+
+void DeserializeString(const protozero::Field& field, std::string* dst) {
+ field.get(dst);
+}
+
+template bool DeserializePackedRepeated<proto_utils::ProtoWireType::kVarInt,
+ uint64_t>(const protozero::Field& field,
+ std::vector<uint64_t>* dst);
+
+template bool DeserializePackedRepeated<proto_utils::ProtoWireType::kVarInt,
+ int64_t>(const protozero::Field& field,
+ std::vector<int64_t>* dst);
+
+template bool DeserializePackedRepeated<proto_utils::ProtoWireType::kVarInt,
+ uint32_t>(const protozero::Field& field,
+ std::vector<uint32_t>* dst);
+
+template bool DeserializePackedRepeated<proto_utils::ProtoWireType::kVarInt,
+ int32_t>(const protozero::Field& field,
+ std::vector<int32_t>* dst);
+
+void SerializeTinyVarInt(uint32_t field_id, bool value, Message* msg) {
+ msg->AppendTinyVarInt(field_id, value);
+}
+
+template void SerializeExtendedVarInt<uint64_t>(uint32_t field_id,
+ uint64_t value,
+ Message* msg);
+
+template void SerializeExtendedVarInt<uint32_t>(uint32_t field_id,
+ uint32_t value,
+ Message* msg);
+
+template void SerializeFixed<double>(uint32_t field_id,
+ double value,
+ Message* msg);
+
+template void SerializeFixed<float>(uint32_t field_id,
+ float value,
+ Message* msg);
+
+template void SerializeFixed<uint64_t>(uint32_t field_id,
+ uint64_t value,
+ Message* msg);
+
+template void SerializeFixed<int64_t>(uint32_t field_id,
+ int64_t value,
+ Message* msg);
+
+template void SerializeFixed<uint32_t>(uint32_t field_id,
+ uint32_t value,
+ Message* msg);
+
+template void SerializeFixed<int32_t>(uint32_t field_id,
+ int32_t value,
+ Message* msg);
+
+void SerializeString(uint32_t field_id,
+ const std::string& value,
+ Message* msg) {
+ msg->AppendString(field_id, value);
+}
+
+void SerializeUnknownFields(const std::string& unknown_fields, Message* msg) {
+ msg->AppendRawProtoBytes(unknown_fields.data(), unknown_fields.size());
+}
+
+MessageSerializer::MessageSerializer() = default;
+
+MessageSerializer::~MessageSerializer() = default;
+
+std::vector<uint8_t> MessageSerializer::SerializeAsArray() {
+ return msg_.SerializeAsArray();
+}
+
+std::string MessageSerializer::SerializeAsString() {
+ return msg_.SerializeAsString();
+}
+
+} // namespace gen_helpers
+} // namespace internal
+} // namespace protozero
diff --git a/src/protozero/protoc_plugin/cppgen_plugin.cc b/src/protozero/protoc_plugin/cppgen_plugin.cc
index a963910..eadc23a 100644
--- a/src/protozero/protoc_plugin/cppgen_plugin.cc
+++ b/src/protozero/protoc_plugin/cppgen_plugin.cc
@@ -46,6 +46,7 @@
using perfetto::base::StripSuffix;
using perfetto::base::ToUpper;
+static constexpr auto TYPE_STRING = FieldDescriptor::TYPE_STRING;
static constexpr auto TYPE_MESSAGE = FieldDescriptor::TYPE_MESSAGE;
static constexpr auto TYPE_SINT32 = FieldDescriptor::TYPE_SINT32;
static constexpr auto TYPE_SINT64 = FieldDescriptor::TYPE_SINT64;
@@ -147,6 +148,7 @@
h_printer.Print("#include \"perfetto/protozero/copyable_ptr.h\"\n");
h_printer.Print("#include \"perfetto/base/export.h\"\n\n");
+ cc_printer.Print("#include \"perfetto/protozero/gen_field_helpers.h\"\n");
cc_printer.Print("#include \"perfetto/protozero/message.h\"\n");
cc_printer.Print(
"#include \"perfetto/protozero/packed_repeated_fields.h\"\n");
@@ -388,26 +390,26 @@
const FieldDescriptor* field) const {
switch (field->type()) {
case FieldDescriptor::TYPE_BOOL:
- return "AppendTinyVarInt";
+ return "::protozero::internal::gen_helpers::SerializeTinyVarInt";
case FieldDescriptor::TYPE_INT32:
case FieldDescriptor::TYPE_INT64:
case FieldDescriptor::TYPE_UINT32:
case FieldDescriptor::TYPE_UINT64:
case FieldDescriptor::TYPE_ENUM:
- return "AppendVarInt";
+ return "::protozero::internal::gen_helpers::SerializeVarInt";
case FieldDescriptor::TYPE_SINT32:
case FieldDescriptor::TYPE_SINT64:
- return "AppendSignedVarInt";
+ return "::protozero::internal::gen_helpers::SerializeSignedVarInt";
case FieldDescriptor::TYPE_FIXED32:
case FieldDescriptor::TYPE_FIXED64:
case FieldDescriptor::TYPE_SFIXED32:
case FieldDescriptor::TYPE_SFIXED64:
case FieldDescriptor::TYPE_FLOAT:
case FieldDescriptor::TYPE_DOUBLE:
- return "AppendFixed";
+ return "::protozero::internal::gen_helpers::SerializeFixed";
case FieldDescriptor::TYPE_STRING:
case FieldDescriptor::TYPE_BYTES:
- return "AppendString";
+ return "::protozero::internal::gen_helpers::SerializeString";
case FieldDescriptor::TYPE_GROUP:
case FieldDescriptor::TYPE_MESSAGE:
abort();
@@ -755,7 +757,10 @@
"n", field->lowercase_name());
p->Indent();
if (field->options().lazy()) {
- p->Print("$n$_ = field.as_std_string();\n", "n", field->lowercase_name());
+ p->Print(
+ "::protozero::internal::gen_helpers::DeserializeString(field, "
+ "&$n$_);\n",
+ "n", field->lowercase_name());
} else {
std::string statement;
if (field->type() == TYPE_MESSAGE) {
@@ -764,6 +769,10 @@
if (field->type() == TYPE_SINT32 || field->type() == TYPE_SINT64) {
// sint32/64 fields are special and need to be zig-zag-decoded.
statement = "field.get_signed(&$rval$);\n";
+ } else if (field->type() == TYPE_STRING) {
+ statement =
+ "::protozero::internal::gen_helpers::DeserializeString(field, "
+ "&$rval$);\n";
} else {
statement = "field.get(&$rval$);\n";
}
@@ -774,10 +783,12 @@
PERFETTO_FATAL("packed signed (zigzag) fields are not supported");
}
p->Print(
- "for (::protozero::PackedRepeatedFieldIterator<$w$, $c$> "
- "rep(field.data(), field.size(), &packed_error); rep; ++rep) {\n",
- "w", GetPackedWireType(field), "c", GetCppType(field, false));
- p->Print(" $n$_.emplace_back(*rep);\n", "n", field->lowercase_name());
+ "if "
+ "(!::protozero::internal::gen_helpers::DeserializePackedRepeated"
+ "<$w$, $c$>(field, &$n$_)) {\n",
+ "w", GetPackedWireType(field), "c", GetCppType(field, false), "n",
+ field->lowercase_name());
+ p->Print(" packed_error = true;");
p->Print("}\n");
} else if (field->is_repeated()) {
p->Print("$n$_.emplace_back();\n", "n", field->lowercase_name());
@@ -807,7 +818,7 @@
// Generate the SerializeAsString() method definition.
p->Print("std::string $f$::SerializeAsString() const {\n", "f", full_name);
p->Indent();
- p->Print("::protozero::HeapBuffered<::protozero::Message> msg;\n");
+ p->Print("::protozero::internal::gen_helpers::MessageSerializer msg;\n");
p->Print("Serialize(msg.get());\n");
p->Print("return msg.SerializeAsString();\n");
p->Outdent();
@@ -817,7 +828,7 @@
p->Print("std::vector<uint8_t> $f$::SerializeAsArray() const {\n", "f",
full_name);
p->Indent();
- p->Print("::protozero::HeapBuffered<::protozero::Message> msg;\n");
+ p->Print("::protozero::internal::gen_helpers::MessageSerializer msg;\n");
p->Print("Serialize(msg.get());\n");
p->Print("return msg.SerializeAsArray();\n");
p->Outdent();
@@ -863,7 +874,7 @@
"msg->BeginNestedMessage<::protozero::Message>($id$));\n");
} else {
args["setter"] = GetProtozeroSetter(field);
- p->Print(args, "msg->$setter$($id$, $rvalue$);\n");
+ p->Print(args, "$setter$($id$, $rvalue$, msg);\n");
}
p->Outdent();
p->Print("}\n");
@@ -872,8 +883,8 @@
p->Print("\n");
} // for (field)
p->Print(
- "msg->AppendRawProtoBytes(unknown_fields_.data(), "
- "unknown_fields_.size());\n");
+ "protozero::internal::gen_helpers::SerializeUnknownFields(unknown_fields_"
+ ", msg);\n");
p->Outdent();
p->Print("}\n\n");
}
diff --git a/src/protozero/test/cppgen_conformance_unittest.cc b/src/protozero/test/cppgen_conformance_unittest.cc
index 933c74f..5ac43aa 100644
--- a/src/protozero/test/cppgen_conformance_unittest.cc
+++ b/src/protozero/test/cppgen_conformance_unittest.cc
@@ -62,7 +62,8 @@
msg->set_big_enum(decltype(msg->big_enum())::BEGIN);
msg->set_field_string("FizzBuzz");
- msg->set_field_bytes(reinterpret_cast<const uint8_t*>("\x11\x00\xBE\xEF"), 4);
+ msg->set_field_bytes(reinterpret_cast<const uint8_t*>("\x11\x00\xBE\xEF"),
+ 4u);
msg->add_repeated_int32(1);
msg->add_repeated_int32(-1);
msg->add_repeated_int32(100);
@@ -100,7 +101,7 @@
pbgold::EveryField gold_msg;
gold_msg.ParseFromString(serialized);
CheckTestingFields(gold_msg);
- EXPECT_EQ(serialized.size(), static_cast<size_t>(gold_msg.ByteSize()));
+ EXPECT_EQ(serialized.size(), static_cast<size_t>(gold_msg.ByteSizeLong()));
}
TEST(ProtoCppConformanceTest, GoldEncode_GenDecode) {
diff --git a/src/protozero/test/protozero_conformance_unittest.cc b/src/protozero/test/protozero_conformance_unittest.cc
index bdb15fa..7a73b69 100644
--- a/src/protozero/test/protozero_conformance_unittest.cc
+++ b/src/protozero/test/protozero_conformance_unittest.cc
@@ -94,7 +94,7 @@
EXPECT_EQ(-1, gold_msg.repeated_int32(1));
EXPECT_EQ(100, gold_msg.repeated_int32(2));
EXPECT_EQ(2000000, gold_msg.repeated_int32(3));
- EXPECT_EQ(serialized.size(), static_cast<size_t>(gold_msg.ByteSize()));
+ EXPECT_EQ(serialized.size(), static_cast<size_t>(gold_msg.ByteSizeLong()));
}
TEST(ProtoZeroConformanceTest, NestedMessages) {
diff --git a/src/trace_processor/importers/fuchsia/fuchsia_trace_parser.cc b/src/trace_processor/importers/fuchsia/fuchsia_trace_parser.cc
index e36da64..a4dc251 100644
--- a/src/trace_processor/importers/fuchsia/fuchsia_trace_parser.cc
+++ b/src/trace_processor/importers/fuchsia/fuchsia_trace_parser.cc
@@ -270,6 +270,11 @@
procs->GetOrCreateProcess(static_cast<uint32_t>(tinfo.pid));
std::string name_str =
context_->storage->GetString(name).ToStdString();
+ uint64_t counter_id;
+ if (!cursor.ReadUint64(&counter_id)) {
+ context_->storage->IncrementStats(stats::fuchsia_invalid_event);
+ return;
+ }
// Note: In the Fuchsia trace format, counter values are stored in the
// arguments for the record, with the data series defined by both the
// record name and the argument name. In Perfetto, counters only have
@@ -278,6 +283,7 @@
std::string counter_name_str = name_str + ":";
counter_name_str +=
context_->storage->GetString(arg.name).ToStdString();
+ counter_name_str += ":" + std::to_string(counter_id);
bool is_valid_value = false;
double counter_value = -1;
switch (arg.value.Type()) {
diff --git a/src/trace_processor/importers/fuchsia/fuchsia_trace_utils.cc b/src/trace_processor/importers/fuchsia/fuchsia_trace_utils.cc
index d7879be..47de0f8 100644
--- a/src/trace_processor/importers/fuchsia/fuchsia_trace_utils.cc
+++ b/src/trace_processor/importers/fuchsia/fuchsia_trace_utils.cc
@@ -80,7 +80,7 @@
case ArgType::kString:
return Variadic::String(string_);
case ArgType::kPointer:
- return Variadic::Integer(static_cast<int64_t>(pointer_));
+ return Variadic::Pointer(pointer_);
case ArgType::kKoid:
return Variadic::Integer(static_cast<int64_t>(koid_));
case ArgType::kUnknown:
diff --git a/src/tracing/internal/tracing_muxer_impl.cc b/src/tracing/internal/tracing_muxer_impl.cc
index 463d0d4..38cd239 100644
--- a/src/tracing/internal/tracing_muxer_impl.cc
+++ b/src/tracing/internal/tracing_muxer_impl.cc
@@ -1314,7 +1314,8 @@
std::unique_lock<std::recursive_mutex> lock(ds.internal_state->lock);
if (ds.internal_state->interceptor)
ds.internal_state->interceptor->OnStart({});
- ds.internal_state->trace_lambda_enabled = true;
+ ds.internal_state->trace_lambda_enabled.store(true,
+ std::memory_order_relaxed);
PERFETTO_DCHECK(ds.internal_state->data_source != nullptr);
if (!ds.requires_callbacks_under_lock)
@@ -1408,7 +1409,8 @@
TracingSessionGlobalID startup_session_id;
{
std::lock_guard<std::recursive_mutex> guard(ds.internal_state->lock);
- ds.internal_state->trace_lambda_enabled = false;
+ ds.internal_state->trace_lambda_enabled.store(false,
+ std::memory_order_relaxed);
ds.internal_state->data_source.reset();
ds.internal_state->interceptor.reset();
startup_buffer_reservation =
diff --git a/src/tracing/test/aligned_buffer_test.cc b/src/tracing/test/aligned_buffer_test.cc
index 6a603ea..082e130 100644
--- a/src/tracing/test/aligned_buffer_test.cc
+++ b/src/tracing/test/aligned_buffer_test.cc
@@ -20,8 +20,10 @@
namespace perfetto {
+#if !PERFETTO_IS_AT_LEAST_CPP17()
// static
constexpr size_t AlignedBufferTest::kNumPages;
+#endif
void AlignedBufferTest::SetUp() {
page_size_ = GetParam();
diff --git a/src/tracing/test/api_integrationtest.cc b/src/tracing/test/api_integrationtest.cc
index f0f2f5d..583d281 100644
--- a/src/tracing/test/api_integrationtest.cc
+++ b/src/tracing/test/api_integrationtest.cc
@@ -201,12 +201,15 @@
using perfetto::internal::TrackEventIncrementalState;
using perfetto::internal::TrackEventInternal;
using ::testing::_;
+using ::testing::AllOf;
using ::testing::ContainerEq;
using ::testing::Contains;
+using ::testing::Each;
using ::testing::ElementsAre;
using ::testing::HasSubstr;
using ::testing::Invoke;
using ::testing::InvokeWithoutArgs;
+using ::testing::IsEmpty;
using ::testing::NiceMock;
using ::testing::Not;
using ::testing::Property;
@@ -5550,6 +5553,54 @@
"trigger1")))));
}
+TEST_P(PerfettoApiTest, StartTracingWhileExecutingTracepoint) {
+ perfetto::TraceConfig cfg;
+ auto* buffer = cfg.add_buffers();
+ buffer->set_size_kb(64);
+ auto* ds_cfg = cfg.add_data_sources()->mutable_config();
+ ds_cfg->set_name("my_data_source");
+
+ std::atomic<bool> quit = false;
+ WaitableTestEvent outside_tracing;
+ WaitableTestEvent tracing;
+ std::thread t([&] {
+ while (!quit) {
+ MockDataSource::Trace([&](MockDataSource::TraceContext ctx) {
+ {
+ auto packet = ctx.NewTracePacket();
+ packet->set_for_testing()->set_str("My String");
+ }
+ { auto packet = ctx.NewTracePacket(); }
+ tracing.Notify();
+ });
+ outside_tracing.Notify();
+ std::this_thread::yield();
+ }
+ });
+ outside_tracing.Wait();
+
+ auto* tracing_session = NewTrace(cfg);
+ tracing_session->get()->StartBlocking();
+ tracing.Wait();
+ tracing_session->get()->StopBlocking();
+
+ // The data source instance should be stopped.
+ auto* data_source = &data_sources_["my_data_source"];
+ data_source->on_stop.Wait();
+
+ quit = true;
+ t.join();
+
+ auto trace = StopSessionAndReturnParsedTrace(tracing_session);
+ std::vector<std::string> test_strings;
+ for (auto& trace_packet : trace.packet()) {
+ if (trace_packet.has_for_testing()) {
+ test_strings.push_back(trace_packet.for_testing().str());
+ }
+ }
+ EXPECT_THAT(test_strings, AllOf(Not(IsEmpty()), Each("My String")));
+}
+
class PerfettoStartupTracingApiTest : public PerfettoApiTest {
public:
using SetupStartupTracingOpts = perfetto::Tracing::SetupStartupTracingOpts;
diff --git a/test/cts/test_apps/src/android/perfetto/cts/app/JavaOomActivity.java b/test/cts/test_apps/src/android/perfetto/cts/app/JavaOomActivity.java
index 4165a92..f73c135 100644
--- a/test/cts/test_apps/src/android/perfetto/cts/app/JavaOomActivity.java
+++ b/test/cts/test_apps/src/android/perfetto/cts/app/JavaOomActivity.java
@@ -19,36 +19,15 @@
import android.app.Activity;
import android.os.Bundle;
-import java.util.ArrayList;
-
public class JavaOomActivity extends Activity {
@Override
public void onCreate(Bundle state) {
super.onCreate(state);
-
- new Thread(new Runnable() {
- public void run() {
- try {
- runAllocationLoop();
- } catch (Exception ex) {
- ex.printStackTrace();
- }
+ new Thread(() -> {
+ try {
+ byte[] alloc = new byte[Integer.MAX_VALUE];
+ } catch (OutOfMemoryError e) {
}
}).start();
}
-
- private static void runAllocationLoop() {
- ArrayList<byte[]> leaky = new ArrayList<>();
- try {
- for (;;) {
- leaky.add(new byte[1024 * 1024]);
- try {
- Thread.sleep(10);
- } catch (InterruptedException ignored) {
- }
- }
- } catch (OutOfMemoryError e) {
- leaky.clear();
- }
- }
}
diff --git a/test/trace_processor/diff_tests/fuchsia/tests.py b/test/trace_processor/diff_tests/fuchsia/tests.py
index caa44f7..86d08a7 100644
--- a/test/trace_processor/diff_tests/fuchsia/tests.py
+++ b/test/trace_processor/diff_tests/fuchsia/tests.py
@@ -107,11 +107,11 @@
""",
out=Csv("""
"ts","value","name"
- 20329439768,30.331177,"cpu_usage:average_cpu_percentage"
- 21331281870,7.829745,"cpu_usage:average_cpu_percentage"
- 22332302017,9.669818,"cpu_usage:average_cpu_percentage"
- 23332974162,6.421237,"cpu_usage:average_cpu_percentage"
- 24333405767,12.079849,"cpu_usage:average_cpu_percentage"
+ 20329439768,30.331177,"cpu_usage:average_cpu_percentage:0"
+ 21331281870,7.829745,"cpu_usage:average_cpu_percentage:0"
+ 22332302017,9.669818,"cpu_usage:average_cpu_percentage:0"
+ 23332974162,6.421237,"cpu_usage:average_cpu_percentage:0"
+ 24333405767,12.079849,"cpu_usage:average_cpu_percentage:0"
"""))
def test_fuchsia_smoke_flow(self):
@@ -157,7 +157,7 @@
2,"[NULL]","thread_track"
3,"[NULL]","thread_track"
4,"[NULL]","thread_track"
- 5,"cpu_usage:average_cpu_percentage","process_counter_track"
+ 5,"cpu_usage:average_cpu_percentage:0","process_counter_track"
6,"[NULL]","thread_track"
7,"[NULL]","thread_track"
8,"[NULL]","thread_track"
diff --git a/tools/cpu_profile b/tools/cpu_profile
index 943d6fb..ccce9d2 100755
--- a/tools/cpu_profile
+++ b/tools/cpu_profile
@@ -361,6 +361,25 @@
metavar="DURATION",
type=int,
default=0)
+ # Profiling using hardware counters.
+ parser.add_argument(
+ "-e",
+ "--event",
+ help="Use the specified hardware counter event for sampling.",
+ metavar="EVENT",
+ action="append",
+ # See: '//perfetto/protos/perfetto/trace/perfetto_trace.proto'.
+ choices=['HW_CPU_CYCLES', 'HW_INSTRUCTIONS', 'HW_CACHE_REFERENCES',
+ 'HW_CACHE_MISSES', 'HW_BRANCH_INSTRUCTIONS', 'HW_BRANCH_MISSES',
+ 'HW_BUS_CYCLES', 'HW_STALLED_CYCLES_FRONTEND',
+ 'HW_STALLED_CYCLES_BACKEND'],
+ default=[])
+ parser.add_argument(
+ "-k",
+ "--kernel-frames",
+ help="Collect kernel frames. Default: false.",
+ action="store_true",
+ default=False)
parser.add_argument(
"-n",
"--name",
@@ -399,8 +418,11 @@
default=None)
args = parser.parse_args()
- if args.config is not None and args.name is not None:
- sys.exit("--name/-n should not be provided when --config/-c is provided.")
+ if args.config is not None:
+ if args.name is not None:
+ sys.exit("--name/-n should not be specified with --config/-c.")
+ elif args.event is not None:
+ sys.exit("-e/--event should not be specified with --config/-c.")
elif args.config is None and args.name is None:
sys.exit("One of --names/-n or --config/-c is required.")
@@ -449,7 +471,7 @@
except IOError as error:
sys.exit("Unable to read config file: {}".format(error))
- CONFIG_INDENT = ' '
+ CONFIG_INDENT = ' '
CONFIG = textwrap.dedent('''\
buffers {{
size_kb: 2048
@@ -469,18 +491,6 @@
}}
}}
- data_sources {{
- config {{
- name: "linux.perf"
- target_buffer: 1
- perf_event_config {{
- all_cpus: true
- sampling_frequency: {frequency}
- {target_config}
- }}
- }}
- }}
-
duration_ms: {duration}
write_into_file: true
flush_timeout_ms: 30000
@@ -498,6 +508,35 @@
target_config = "\n".join(
[f'{CONFIG_INDENT}target_cmdline: "{p}"' for p in matching_processes])
+ events = args.event or ['SW_CPU_CLOCK']
+ for event in events:
+ CONFIG += (textwrap.dedent('''
+ data_sources {{
+ config {{
+ name: "linux.perf"
+ target_buffer: 1
+ perf_event_config {{
+ timebase {{
+ counter: %s
+ frequency: {frequency}
+ timestamp_clock: PERF_CLOCK_MONOTONIC
+ }}
+ callstack_sampling {{
+ scope {{
+ {target_config}
+ }}
+ kernel_frames: {kernel_config}
+ }}
+ }}
+ }}
+ }}
+ ''') % (event))
+
+ if args.kernel_frames:
+ kernel_config = "true"
+ else:
+ kernel_config = "false"
+
if not args.print_config:
print("Configured profiling for these processes:\n")
for matching_process in matching_processes:
@@ -507,7 +546,8 @@
config = CONFIG.format(
frequency=args.frequency,
duration=args.duration,
- target_config=target_config)
+ target_config=target_config,
+ kernel_config=kernel_config)
return config
diff --git a/tools/gen_grpc_build_gn.py b/tools/gen_grpc_build_gn.py
new file mode 100755
index 0000000..48993ca
--- /dev/null
+++ b/tools/gen_grpc_build_gn.py
@@ -0,0 +1,178 @@
+#!/usr/bin/env python3
+# Copyright (C) 2023 The Android Open Source Project
+#
+# 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.
+
+import json
+import os
+import subprocess
+import sys
+from typing import Any, Dict, List
+import yaml
+
+ROOT_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
+
+GRPC_GN_HEADER = '''
+#
+# DO NOT EDIT. AUTOGENERATED file
+#
+# This file is generated with the command:
+# tools/gen_grpc_build_gn.py > buildtools/grpc/BUILD.gn
+#
+
+import("../../gn/perfetto.gni")
+
+# Prevent the gRPC from being depended upon without explicitly being opted in.
+assert(enable_perfetto_grpc)
+
+# BoringSSL has assembly code which is tied to platform-specific. For now, we
+# only care about Linux x64 so assert this as the case.
+assert(is_linux && current_cpu == "x64")
+'''
+
+TARGET_TEMPLATE = """
+{target_type}("{name}") {{
+ sources = {srcs}
+ public_deps = {deps}
+ public_configs = ["..:{config_name}"]
+ configs -= [ "//gn/standalone:extra_warnings" ]
+}}"""
+
+LIBRARY_IGNORE_LIST = set([
+ 'grpcpp_channelz',
+ 'grpc++_reflection',
+ 'benchmark_helpers',
+ 'boringssl_test_util',
+])
+
+TARGET_ALLOW_LIST = set([
+ 'grpc_cpp_plugin',
+])
+
+STATIC_LIBRARY_TARGETS = set([
+ 'upb',
+ 're2',
+ 'boringssl',
+ 'grpc++',
+])
+
+
+def grpc_relpath(*segments: str) -> str:
+ '''From path segments to GRPC root, returns the absolute path.'''
+ return os.path.join(ROOT_DIR, 'buildtools', 'grpc', 'src', *segments)
+
+
+GRPC_BUILD_YAML = grpc_relpath('build_autogenerated.yaml')
+ABSL_GEN_BUILD_YAML = grpc_relpath('src', 'abseil-cpp', 'gen_build_yaml.py')
+UPB_GEN_BUILD_YAML = grpc_relpath('src', 'upb', 'gen_build_yaml.py')
+RE2_GEN_BUILD_YAML = grpc_relpath('src', 're2', 'gen_build_yaml.py')
+BSSL_GEN_BUILD_YAML = grpc_relpath('src', 'boringssl', 'gen_build_yaml.py')
+
+
+def gen_grpc_dep_yaml(gen_path: str) -> Dict[str, Any]:
+ '''Invokes a gen_build_yaml.py file for creating YAML for gRPC deps.'''
+ return yaml.safe_load(subprocess.check_output(['python3', gen_path]))
+
+
+def bazel_label_to_gn_target(dep: str) -> str:
+ '''Converts a Bazel label name into a gn target name.'''
+ if dep == 'libssl':
+ return 'boringssl'
+ return dep.replace('/', '_').replace(':', '_')
+
+
+def get_deps_for_target(target: str) -> List[str]:
+ if target == 'grpc_plugin_support':
+ return ['..:protoc_lib']
+ return []
+
+
+def get_library_target_type(target: str) -> str:
+ if target in STATIC_LIBRARY_TARGETS:
+ return 'static_library'
+ return 'source_set'
+
+
+def yaml_to_gn_targets(desc: Dict[str, Any], build_types: list[str],
+ config_name: str) -> List[str]:
+ '''Given a gRPC YAML description of the build graph, generates GN targets.'''
+ out = []
+ for lib in desc['libs']:
+ if lib['build'] not in build_types:
+ continue
+ if lib['name'] in LIBRARY_IGNORE_LIST:
+ continue
+ srcs = [f'src/{file}' for file in lib['src'] + lib['headers']]
+ if 'asm_src' in lib:
+ srcs += [f'src/{file}' for file in lib['asm_src']['crypto_linux_x86_64']]
+ deps = [f':{bazel_label_to_gn_target(dep)}' for dep in lib.get('deps', [])
+ ] + get_deps_for_target(lib['name'])
+ library_target = TARGET_TEMPLATE.format(
+ name=bazel_label_to_gn_target(lib['name']),
+ config_name=config_name,
+ srcs=json.dumps(srcs),
+ deps=json.dumps(deps),
+ target_type=get_library_target_type(lib['name']))
+ out.append(library_target)
+
+ for bin in desc.get('targets', []):
+ if bin['build'] not in build_types:
+ continue
+ if bin['name'] not in TARGET_ALLOW_LIST:
+ continue
+ srcs = json.dumps([f'src/{file}' for file in bin['src'] + bin['headers']])
+ deps = [f':{bazel_label_to_gn_target(dep)}' for dep in bin.get('deps', [])
+ ] + get_deps_for_target(bin['name'])
+ binary_target = TARGET_TEMPLATE.format(
+ name=bazel_label_to_gn_target(bin['name']),
+ config_name=config_name,
+ srcs=srcs,
+ deps=json.dumps(deps),
+ target_type='executable')
+ out.append(binary_target)
+ return out
+
+
+def main():
+ out: List[str] = []
+
+ # Generate absl rules
+ absl_yaml = gen_grpc_dep_yaml(ABSL_GEN_BUILD_YAML)
+ out.extend(yaml_to_gn_targets(absl_yaml, ['private'], 'grpc_absl_config'))
+
+ # Generate upb rules
+ upb_yaml = gen_grpc_dep_yaml(UPB_GEN_BUILD_YAML)
+ out.extend(yaml_to_gn_targets(upb_yaml, ['all'], 'grpc_upb_config'))
+
+ # Generate re2 rules
+ re2_yaml = gen_grpc_dep_yaml(RE2_GEN_BUILD_YAML)
+ out.extend(yaml_to_gn_targets(re2_yaml, ['private'], 'grpc_re2_config'))
+
+ # Generate boringssl rules
+ boringssl_yaml = gen_grpc_dep_yaml(BSSL_GEN_BUILD_YAML)
+ out.extend(
+ yaml_to_gn_targets(boringssl_yaml, ['private'], 'grpc_boringssl_config'))
+
+ # Generate grpc rules
+ with open(GRPC_BUILD_YAML, 'r', encoding='utf-8') as f:
+ grpc_yaml = yaml.safe_load(f.read())
+ out.extend(
+ yaml_to_gn_targets(grpc_yaml, ['all', 'protoc'], 'grpc_internal_config'))
+
+ print(GRPC_GN_HEADER)
+ print('\n'.join(out))
+ return 0
+
+
+if __name__ == '__main__':
+ sys.exit(main())
diff --git a/tools/install-build-deps b/tools/install-build-deps
index 3ad1026..ddafffc 100755
--- a/tools/install-build-deps
+++ b/tools/install-build-deps
@@ -14,6 +14,7 @@
# limitations under the License.
import argparse
+import dataclasses as dc
import hashlib
import logging
import os
@@ -27,6 +28,7 @@
from collections import namedtuple
from platform import system, machine
+
# The format for the deps below is the following:
# (target_folder, source_url, sha1, target_os, target_arch)
# |source_url| can be either a git repo or a http url.
@@ -41,9 +43,15 @@
# in both cases the dep only applies on matching platforms
# |target_arch| can be 'all' when 'target_os' is not 'all' for example in the
# case of MacOS universal binaries.
-Dependency = namedtuple(
- 'Dependency',
- ['target_folder', 'source_url', 'checksum', 'target_os', 'target_arch'])
+@dc.dataclass
+class Dependency:
+ target_folder: str
+ source_url: str
+ checksum: str
+ target_os: str
+ target_arch: str
+ submodules: bool = False
+
# This is to remove old directories when build tools get {re,}moved. This is to
# avoid accidentally referring to stale dir in custom user scripts.
@@ -146,8 +154,8 @@
# Keep in sync with Chromium's //third_party/protobuf.
Dependency(
'buildtools/protobuf',
- 'https://chromium.googlesource.com/external/github.com/google/protobuf.git',
- '6a59a2ad1f61d9696092f79b6d74368b4d7970a3', # refs/tags/v3.9.0
+ 'https://chromium.googlesource.com/external/github.com/protocolbuffers/protobuf.git',
+ 'fe271ab76f2ad2b2b28c10443865d2af21e27e0e', # refs/tags/v3.20.3
'all',
'all'),
@@ -357,6 +365,14 @@
TYPEFACES_SHA256, TYPEFACES_SHA256, 'all', 'all')
]
+# Dependencies to build gRPC.
+GRPC_DEPS = [
+ Dependency(
+ 'buildtools/grpc/src',
+ 'https://chromium.googlesource.com/external/github.com/grpc/grpc.git',
+ '6943c1841f57cac4666b165aea4f618fe73b3ff1', 'all', 'all', True),
+]
+
# Sysroots required to cross-compile Linux targets (linux-arm{,64}).
# These are taken from Chromium's build/linux/sysroot_scripts/sysroots.json.
BUILD_DEPS_LINUX_CROSS_SYSROOTS = [
@@ -467,6 +483,9 @@
subprocess.check_call(
['git', 'fetch', '--quiet', '--depth', '1', git_url, revision], cwd=path)
subprocess.check_call(['git', 'checkout', revision, '--quiet'], cwd=path)
+ subprocess.check_call(
+ ['git', 'submodule', 'update', '--init', '--recursive', '--quiet'],
+ cwd=path)
assert (IsGitRepoCheckoutOutAtRevision(path, revision))
return True
@@ -533,6 +552,10 @@
'--ui',
action='store_true',
help='Node and NPM packages to Build the Web-based UI via ./ui/build')
+ parser.add_argument(
+ '--grpc',
+ action='store_true',
+ help='Packages to build gRPC')
parser.add_argument('--check-only')
parser.add_argument('--filter', action='append')
parser.add_argument('--verify', help='Check all URLs', action='store_true')
@@ -557,6 +580,8 @@
deps += BUILD_DEPS_LINUX_CROSS_SYSROOTS
if args.ui:
deps += UI_DEPS
+ if args.grpc:
+ deps += GRPC_DEPS
deps_updated = False
nodejs_updated = False
diff --git a/tools/java_heap_dump b/tools/java_heap_dump
index eebf074..c14dde4 100755
--- a/tools/java_heap_dump
+++ b/tools/java_heap_dump
@@ -35,7 +35,7 @@
}
'''
-CFG_IDENT = ' '
+CFG_INDENT = ' '
CFG = '''buffers {{
size_kb: {size_kb}
fill_policy: DISCARD
@@ -63,6 +63,9 @@
data_sources: {{
config {{
name: "android.java_hprof.oom"
+ java_hprof_config {{
+{process_cfg}
+ }}
}}
}}
@@ -133,12 +136,12 @@
except ValueError:
print("FATAL: invalid PID %s" % pid, file=sys.stderr)
fail = True
- target_cfg += '{}pid: {}\n'.format(CFG_IDENT, pid)
+ target_cfg += '{}pid: {}\n'.format(CFG_INDENT, pid)
if args.name:
for name in args.name.split(','):
- target_cfg += '{}process_cmdline: "{}"\n'.format(CFG_IDENT, name)
+ target_cfg += '{}process_cmdline: "{}"\n'.format(CFG_INDENT, name)
if args.dump_smaps:
- target_cfg += '{}dump_smaps: true\n'.format(CFG_IDENT)
+ target_cfg += '{}dump_smaps: true\n'.format(CFG_INDENT)
if fail:
return None
@@ -168,8 +171,13 @@
file=sys.stderr)
return None
- if args.pid or args.name:
- print("FATAL: Specifying process not supported in OOM mode",
+ if args.pid:
+ print("FATAL: Specifying pid not supported in OOM mode",
+ file=sys.stderr)
+ return None
+
+ if not args.name:
+ print("FATAL: Must specify process in OOM mode (use --name '*' to match all)",
file=sys.stderr)
return None
@@ -183,9 +191,14 @@
file=sys.stderr)
return None
+ process_cfg = ''
+ for name in args.name.split(','):
+ process_cfg += '{}process_cmdline: "{}"\n'.format(CFG_INDENT, name)
+
return OOM_CFG.format(
size_kb=convert_size_to_kb(args.buffer_size),
- wait_duration_ms=args.oom_wait_seconds * 1000)
+ wait_duration_ms=args.oom_wait_seconds * 1000,
+ process_cfg=process_cfg)
def main(argv):
diff --git a/ui/src/frontend/overview_timeline_panel.ts b/ui/src/frontend/overview_timeline_panel.ts
index 578fa7f..adc06d9 100644
--- a/ui/src/frontend/overview_timeline_panel.ts
+++ b/ui/src/frontend/overview_timeline_panel.ts
@@ -85,7 +85,7 @@
const timeScale = new TimeScale(timeSpan, [TRACK_SHELL_WIDTH, this.width]);
- if (timeScale.widthPx > 0) {
+ if (timeScale.timeSpan.duration > 0 && timeScale.widthPx > 0) {
const tickGen = new TickGenerator(timeScale);
// Draw time labels on the top header.
diff --git a/ui/tsconfig.json b/ui/tsconfig.json
index 5fd4e3d..35ae460 100644
--- a/ui/tsconfig.json
+++ b/ui/tsconfig.json
@@ -1,6 +1,6 @@
{
"extends": "./tsconfig.base.json",
- "include": [ "src/" ],
+ "include": [ "src/**/*" ],
"exclude": [
"./node_modules/",
"./src/service_worker/",