summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Moody <daniel.moody@mongodb.com>2022-09-27 13:03:00 -0500
committerDaniel Moody <daniel.moody@mongodb.com>2022-09-27 13:03:00 -0500
commit07d8ef4248245a7f1fe1e260590c1a7718a53d3c (patch)
tree6538d55c01b09213862a9091b1cb200acd26047d
parentea030a74ad98ffb48bc68d4918703390c022df32 (diff)
downloadmongo-07d8ef4248245a7f1fe1e260590c1a7718a53d3c.tar.gz
added a couple more relevant non third party source files
-rw-r--r--src/third_party/cares/SConscript95
-rw-r--r--src/third_party/grpc/SConscript899
-rw-r--r--src/third_party/grpc/greeter_server.h46
-rw-r--r--src/third_party/grpc/grpc_source_test.cpp59
-rw-r--r--src/third_party/protobuf/SConscript244
-rw-r--r--src/third_party/re2/SConscript47
6 files changed, 1390 insertions, 0 deletions
diff --git a/src/third_party/cares/SConscript b/src/third_party/cares/SConscript
new file mode 100644
index 00000000000..6de8ab187b6
--- /dev/null
+++ b/src/third_party/cares/SConscript
@@ -0,0 +1,95 @@
+Import('env')
+
+cares_env = env.Clone()
+
+cares_env.Append(CPPDEFINES=[
+ ('HAVE_CONFIG_H',1),
+ ('_POSIX_C_SOURCE','199309L'),
+ 'CARES_BUILDING_LIBRARY',
+ 'c_ares_EXPORTS',
+])
+
+cares_root = cares_env.Dir(".").srcnode()
+if cares_env.ToolchainIs('msvc'):
+ cares_env.Append(
+ CCFLAGS=[
+ '/wd4996', # The POSIX name for this item is deprecated
+ ],
+ )
+
+if cares_env.TargetOSIs('darwin'):
+ cares_env.Append(
+ CPPDEFINES=[
+ '_DARWIN_C_SOURCE',
+ ],
+ )
+
+cares_platform = cares_root.Dir("platform/${TARGET_OS}_${TARGET_ARCH}")
+cares_env.Append(
+ CPPPATH=[
+ cares_platform.Dir("build/include"),
+ cares_platform.Dir("install/include"),
+ ],
+)
+
+cares_env.Library(
+ target='cares',
+ source=[
+ "dist/src/lib/ares_android.c",
+ "dist/src/lib/ares_send.c",
+ "dist/src/lib/ares_search.c",
+ "dist/src/lib/ares_writev.c",
+ "dist/src/lib/ares__close_sockets.c",
+ "dist/src/lib/ares_cancel.c",
+ "dist/src/lib/ares__read_line.c",
+ "dist/src/lib/ares__timeval.c",
+ "dist/src/lib/ares_free_string.c",
+ "dist/src/lib/ares_fds.c",
+ "dist/src/lib/ares_free_hostent.c",
+ "dist/src/lib/ares_freeaddrinfo.c",
+ "dist/src/lib/ares_destroy.c",
+ "dist/src/lib/ares_data.c",
+ "dist/src/lib/ares__get_hostent.c",
+ "dist/src/lib/ares__readaddrinfo.c",
+ "dist/src/lib/ares__parse_into_addrinfo.c",
+ "dist/src/lib/ares__sortaddrinfo.c",
+ "dist/src/lib/ares_expand_string.c",
+ "dist/src/lib/inet_net_pton.c",
+ "dist/src/lib/ares_expand_name.c",
+ "dist/src/lib/ares_getenv.c",
+ "dist/src/lib/ares_getsock.c",
+ "dist/src/lib/ares_mkquery.c",
+ "dist/src/lib/ares_library_init.c",
+ "dist/src/lib/ares_nowarn.c",
+ "dist/src/lib/bitncmp.c",
+ "dist/src/lib/ares_create_query.c",
+ "dist/src/lib/ares_llist.c",
+ "dist/src/lib/ares_gethostbyaddr.c",
+ "dist/src/lib/ares_getnameinfo.c",
+ "dist/src/lib/ares_version.c",
+ "dist/src/lib/ares_gethostbyname.c",
+ "dist/src/lib/ares_getaddrinfo.c",
+ "dist/src/lib/ares_parse_a_reply.c",
+ "dist/src/lib/ares_parse_aaaa_reply.c",
+ "dist/src/lib/ares_parse_caa_reply.c",
+ "dist/src/lib/ares_options.c",
+ "dist/src/lib/ares_parse_mx_reply.c",
+ "dist/src/lib/ares_strsplit.c",
+ "dist/src/lib/ares_timeout.c",
+ "dist/src/lib/ares_parse_naptr_reply.c",
+ "dist/src/lib/windows_port.c",
+ "dist/src/lib/ares_platform.c",
+ "dist/src/lib/ares_strcasecmp.c",
+ "dist/src/lib/ares_parse_ptr_reply.c",
+ "dist/src/lib/ares_parse_soa_reply.c",
+ "dist/src/lib/ares_parse_srv_reply.c",
+ "dist/src/lib/ares_parse_ns_reply.c",
+ "dist/src/lib/ares_init.c",
+ "dist/src/lib/ares_parse_txt_reply.c",
+ "dist/src/lib/ares_query.c",
+ "dist/src/lib/ares_strdup.c",
+ "dist/src/lib/ares_strerror.c",
+ "dist/src/lib/inet_ntop.c",
+ "dist/src/lib/ares_process.c",
+ ],
+)
diff --git a/src/third_party/grpc/SConscript b/src/third_party/grpc/SConscript
new file mode 100644
index 00000000000..040e46128cc
--- /dev/null
+++ b/src/third_party/grpc/SConscript
@@ -0,0 +1,899 @@
+Import('env')
+
+import os
+
+grpc_env = env.Clone()
+
+grpc_env.InjectThirdParty(libraries=['abseil-cpp', 're2', 'cares', 'protobuf', 'zlib'])
+
+if grpc_env.ToolchainIs('gcc', 'clang'):
+ grpc_env.Append(
+ CCFLAGS=[
+ '-Wno-sign-compare',
+ ],
+ )
+
+if grpc_env.ToolchainIs('msvc'):
+ grpc_env.Append(
+ CCFLAGS=[
+ '/wd4334', # '<<': result of 32-bit shift implicitly converted to 64 bits (was 64-bit shift intended?)
+ '/wd4116', # unnamed type definition in parentheses
+ '/wd4146', # unary minus operator applied to unsigned type, result still unsigned
+ '/wd4715', # not all control paths return a value
+ '/wd4200', # nonstandard extension used: zero-sized array in struct/union
+ '/wd4312', # 'reinterpret_cast': conversion from 'unsigned int' to 'void *' of greater size
+ '/wd4090', # 'function': different 'const' qualifiers
+
+ ],
+ CPPDEFINES=[
+ '_SILENCE_CXX17_ITERATOR_BASE_CLASS_DEPRECATION_WARNING',
+ ],
+ )
+
+grpc_root = grpc_env.Dir(".").srcnode()
+
+upb_env = grpc_env.Clone()
+upb_env.Append(
+ CPPPATH=[
+ grpc_root.Dir('dist/third_party/upb'),
+ grpc_root.Dir('dist/src/core/ext/upb-generated'),
+ grpc_root.Dir('dist/src/core/ext/upbdefs-generated'),
+ ],
+)
+
+upb_source = [
+ "dist/third_party/upb/upb/decode_fast.c",
+ "dist/third_party/upb/upb/decode.c",
+ "dist/third_party/upb/upb/def.c",
+ "dist/third_party/upb/upb/encode.c",
+ "dist/third_party/upb/upb/msg.c",
+ "dist/third_party/upb/upb/reflection.c",
+ "dist/third_party/upb/upb/table.c",
+ "dist/third_party/upb/upb/text_encode.c",
+ "dist/third_party/upb/upb/upb.c",
+ "dist/src/core/ext/upb-generated/google/protobuf/descriptor.upb.c",
+ "dist/src/core/ext/upbdefs-generated/google/protobuf/descriptor.upbdefs.c",
+]
+
+upb_env.Library(
+ target='upb',
+ source=upb_source,
+)
+
+address_sorting_env = grpc_env.Clone()
+address_sorting_env.Append(
+ CPPPATH=[
+ grpc_root.Dir('dist/third_party/address_sorting/include'),
+ ],
+)
+
+address_sorting_source = [
+ "dist/third_party/address_sorting/address_sorting.c",
+ "dist/third_party/address_sorting/address_sorting_posix.c",
+ "dist/third_party/address_sorting/address_sorting_windows.c",
+]
+
+address_sorting_env.Library(
+ target='address_sorting',
+ source=address_sorting_source,
+)
+
+grpc_env.Append(CPPPATH=[
+ grpc_root.Dir('dist'),
+ grpc_env.Dir('dist').get_path(),
+ grpc_root.Dir('dist/include'),
+ grpc_root.Dir('dist/third_party/upb'),
+ grpc_root.Dir('dist/third_party/xxhash'),
+ grpc_root.Dir('dist/src/core/ext/upb-generated'),
+ grpc_root.Dir('dist/src/core/ext/upbdefs-generated'),
+ grpc_root.Dir('dist/third_party/address_sorting/include'),
+ grpc_root.Dir('dist/third_party/address_sorting/include'),
+])
+
+# This should match the default $PROTOC_CPP_PLUGIN bin name for everything to be seamless
+# so if for some reason this name needs to change, make sure to update the default as well.
+protobuf_plugin_bin = grpc_env.Program(
+ target='grpc_cpp_plugin',
+ source=['dist/src/compiler/cpp_plugin.cc'],
+ LIBDEPS=[
+ 'grpc_plugin_support',
+ ],
+ AIB_COMPONENT='protobuf',
+)
+
+grpc_env.Library(
+ target='grpc_plugin_support',
+ source=[
+ 'dist/src/compiler/cpp_generator.cc',
+ 'dist/src/compiler/csharp_generator.cc',
+ 'dist/src/compiler/node_generator.cc',
+ 'dist/src/compiler/objective_c_generator.cc',
+ 'dist/src/compiler/php_generator.cc',
+ 'dist/src/compiler/python_generator.cc',
+ 'dist/src/compiler/ruby_generator.cc',
+ ],
+ LIBDEPS=[
+ '$BUILD_DIR/third_party/protobuf/protobuf',
+ '$BUILD_DIR/third_party/protobuf/protoc',
+ ],
+)
+
+grpc_env.Library(
+ target='gpr',
+ source = [
+ "dist/src/core/ext/upb-generated/google/api/annotations.upb.c",
+ "dist/src/core/ext/upb-generated/google/api/expr/v1alpha1/checked.upb.c",
+ "dist/src/core/ext/upb-generated/google/api/expr/v1alpha1/syntax.upb.c",
+ "dist/src/core/ext/upb-generated/google/api/http.upb.c",
+ "dist/src/core/ext/upb-generated/google/protobuf/any.upb.c",
+ "dist/src/core/ext/upb-generated/google/protobuf/duration.upb.c",
+ "dist/src/core/ext/upb-generated/google/protobuf/empty.upb.c",
+ "dist/src/core/ext/upb-generated/google/protobuf/struct.upb.c",
+ "dist/src/core/ext/upb-generated/google/protobuf/timestamp.upb.c",
+ "dist/src/core/ext/upb-generated/google/protobuf/wrappers.upb.c",
+ "dist/src/core/ext/upb-generated/google/rpc/status.upb.c",
+ "dist/src/core/lib/gpr/alloc.cc",
+ "dist/src/core/lib/gpr/atm.cc",
+ "dist/src/core/lib/gpr/cpu_iphone.cc",
+ "dist/src/core/lib/gpr/cpu_linux.cc",
+ "dist/src/core/lib/gpr/cpu_posix.cc",
+ "dist/src/core/lib/gpr/cpu_windows.cc",
+ "dist/src/core/lib/gpr/env_linux.cc",
+ "dist/src/core/lib/gpr/env_posix.cc",
+ "dist/src/core/lib/gpr/env_windows.cc",
+ "dist/src/core/lib/gpr/log.cc",
+ "dist/src/core/lib/gpr/log_android.cc",
+ "dist/src/core/lib/gpr/log_linux.cc",
+ "dist/src/core/lib/gpr/log_posix.cc",
+ "dist/src/core/lib/gpr/log_windows.cc",
+ "dist/src/core/lib/gpr/murmur_hash.cc",
+ "dist/src/core/lib/gpr/string.cc",
+ "dist/src/core/lib/gpr/string_posix.cc",
+ "dist/src/core/lib/gpr/string_util_windows.cc",
+ "dist/src/core/lib/gpr/string_windows.cc",
+ "dist/src/core/lib/gpr/sync.cc",
+ "dist/src/core/lib/gpr/sync_abseil.cc",
+ "dist/src/core/lib/gpr/sync_posix.cc",
+ "dist/src/core/lib/gpr/sync_windows.cc",
+ "dist/src/core/lib/gpr/time.cc",
+ "dist/src/core/lib/gpr/time_posix.cc",
+ "dist/src/core/lib/gpr/time_precise.cc",
+ "dist/src/core/lib/gpr/time_windows.cc",
+ "dist/src/core/lib/gpr/tls_pthread.cc",
+ "dist/src/core/lib/gpr/tmpfile_msys.cc",
+ "dist/src/core/lib/gpr/tmpfile_posix.cc",
+ "dist/src/core/lib/gpr/tmpfile_windows.cc",
+ "dist/src/core/lib/gpr/wrap_memcpy.cc",
+ "dist/src/core/lib/gprpp/arena.cc",
+ "dist/src/core/lib/gprpp/examine_stack.cc",
+ "dist/src/core/lib/gprpp/fork.cc",
+ "dist/src/core/lib/gprpp/global_config_env.cc",
+ "dist/src/core/lib/gprpp/host_port.cc",
+ "dist/src/core/lib/gprpp/mpscq.cc",
+ "dist/src/core/lib/gprpp/stat_posix.cc",
+ "dist/src/core/lib/gprpp/stat_windows.cc",
+ "dist/src/core/lib/gprpp/status_helper.cc",
+ "dist/src/core/lib/gprpp/thd_posix.cc",
+ "dist/src/core/lib/gprpp/thd_windows.cc",
+ "dist/src/core/lib/gprpp/time_util.cc",
+ "dist/src/core/lib/profiling/basic_timers.cc",
+ "dist/src/core/lib/profiling/stap_timers.cc",
+ ],
+ LIBDEPS=[
+ '$BUILD_DIR/third_party/abseil-cpp-master/absl_bad_optional_access',
+ '$BUILD_DIR/third_party/abseil-cpp-master/absl_base',
+ '$BUILD_DIR/third_party/abseil-cpp-master/absl_civil_time',
+ '$BUILD_DIR/third_party/abseil-cpp-master/absl_cord',
+ '$BUILD_DIR/third_party/abseil-cpp-master/absl_debugging_internal',
+ '$BUILD_DIR/third_party/abseil-cpp-master/absl_demangle_internal',
+ '$BUILD_DIR/third_party/abseil-cpp-master/absl_graphcycles_internal',
+ '$BUILD_DIR/third_party/abseil-cpp-master/absl_int128',
+ '$BUILD_DIR/third_party/abseil-cpp-master/absl_log_severity',
+ '$BUILD_DIR/third_party/abseil-cpp-master/absl_malloc_internal',
+ '$BUILD_DIR/third_party/abseil-cpp-master/absl_raw_logging_internal',
+ '$BUILD_DIR/third_party/abseil-cpp-master/absl_spinlock_wait',
+ '$BUILD_DIR/third_party/abseil-cpp-master/absl_stacktrace',
+ '$BUILD_DIR/third_party/abseil-cpp-master/absl_status',
+ '$BUILD_DIR/third_party/abseil-cpp-master/absl_str_format_internal',
+ '$BUILD_DIR/third_party/abseil-cpp-master/absl_strings',
+ '$BUILD_DIR/third_party/abseil-cpp-master/absl_strings_internal',
+ '$BUILD_DIR/third_party/abseil-cpp-master/absl_symbolize',
+ '$BUILD_DIR/third_party/abseil-cpp-master/absl_synchronization',
+ '$BUILD_DIR/third_party/abseil-cpp-master/absl_throw_delegate',
+ '$BUILD_DIR/third_party/abseil-cpp-master/absl_time',
+ '$BUILD_DIR/third_party/abseil-cpp-master/absl_time_zone',
+ 'upb',
+ ]
+)
+
+grpc_env.Library(
+ target='grpc',
+ source=[
+ "dist/src/core/ext/filters/census/grpc_context.cc",
+ "dist/src/core/ext/filters/client_channel/backend_metric.cc",
+ "dist/src/core/ext/filters/client_channel/backup_poller.cc",
+ "dist/src/core/ext/filters/client_channel/channel_connectivity.cc",
+ "dist/src/core/ext/filters/client_channel/client_channel.cc",
+ "dist/src/core/ext/filters/client_channel/client_channel_channelz.cc",
+ "dist/src/core/ext/filters/client_channel/client_channel_factory.cc",
+ "dist/src/core/ext/filters/client_channel/client_channel_plugin.cc",
+ "dist/src/core/ext/filters/client_channel/config_selector.cc",
+ "dist/src/core/ext/filters/client_channel/dynamic_filters.cc",
+ "dist/src/core/ext/filters/client_channel/global_subchannel_pool.cc",
+ "dist/src/core/ext/filters/client_channel/health/health_check_client.cc",
+ "dist/src/core/ext/filters/client_channel/http_connect_handshaker.cc",
+ "dist/src/core/ext/filters/client_channel/http_proxy.cc",
+ "dist/src/core/ext/filters/client_channel/lb_policy.cc",
+ "dist/src/core/ext/filters/client_channel/lb_policy/address_filtering.cc",
+ "dist/src/core/ext/filters/client_channel/lb_policy/child_policy_handler.cc",
+ "dist/src/core/ext/filters/client_channel/lb_policy/grpclb/client_load_reporting_filter.cc",
+ "dist/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.cc",
+ "dist/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_balancer_addresses.cc",
+ "dist/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_channel_secure.cc",
+ "dist/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_client_stats.cc",
+ "dist/src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.cc",
+ "dist/src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.cc",
+ "dist/src/core/ext/filters/client_channel/lb_policy/priority/priority.cc",
+ "dist/src/core/ext/filters/client_channel/lb_policy/ring_hash/ring_hash.cc",
+ "dist/src/core/ext/filters/client_channel/lb_policy/round_robin/round_robin.cc",
+ "dist/src/core/ext/filters/client_channel/lb_policy/weighted_target/weighted_target.cc",
+ "dist/src/core/ext/filters/client_channel/lb_policy/xds/cds.cc",
+ "dist/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_impl.cc",
+ "dist/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_manager.cc",
+ "dist/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_resolver.cc",
+ "dist/src/core/ext/filters/client_channel/lb_policy_registry.cc",
+ "dist/src/core/ext/filters/client_channel/local_subchannel_pool.cc",
+ "dist/src/core/ext/filters/client_channel/proxy_mapper_registry.cc",
+ "dist/src/core/ext/filters/client_channel/resolver.cc",
+ "dist/src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.cc",
+ "dist/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_event_engine.cc",
+ "dist/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_libuv.cc",
+ "dist/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_posix.cc",
+ "dist/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_windows.cc",
+ "dist/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.cc",
+ "dist/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper_event_engine.cc",
+ "dist/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper_libuv.cc",
+ "dist/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper_posix.cc",
+ "dist/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper_windows.cc",
+ "dist/src/core/ext/filters/client_channel/resolver/dns/dns_resolver_selection.cc",
+ "dist/src/core/ext/filters/client_channel/resolver/dns/native/dns_resolver.cc",
+ "dist/src/core/ext/filters/client_channel/resolver/fake/fake_resolver.cc",
+ "dist/src/core/ext/filters/client_channel/resolver/google_c2p/google_c2p_resolver.cc",
+ "dist/src/core/ext/filters/client_channel/resolver/sockaddr/sockaddr_resolver.cc",
+ "dist/src/core/ext/filters/client_channel/resolver/xds/xds_resolver.cc",
+ "dist/src/core/ext/filters/client_channel/resolver_registry.cc",
+ "dist/src/core/ext/filters/client_channel/resolver_result_parsing.cc",
+ "dist/src/core/ext/filters/client_channel/retry_filter.cc",
+ "dist/src/core/ext/filters/client_channel/retry_service_config.cc",
+ "dist/src/core/ext/filters/client_channel/retry_throttle.cc",
+ "dist/src/core/ext/filters/client_channel/server_address.cc",
+ "dist/src/core/ext/filters/client_channel/service_config.cc",
+ "dist/src/core/ext/filters/client_channel/service_config_channel_arg_filter.cc",
+ "dist/src/core/ext/filters/client_channel/service_config_parser.cc",
+ "dist/src/core/ext/filters/client_channel/subchannel.cc",
+ "dist/src/core/ext/filters/client_channel/subchannel_pool_interface.cc",
+ "dist/src/core/ext/filters/client_idle/client_idle_filter.cc",
+ "dist/src/core/ext/filters/deadline/deadline_filter.cc",
+ "dist/src/core/ext/filters/fault_injection/fault_injection_filter.cc",
+ "dist/src/core/ext/filters/fault_injection/service_config_parser.cc",
+ "dist/src/core/ext/filters/http/client/http_client_filter.cc",
+ "dist/src/core/ext/filters/http/client_authority_filter.cc",
+ "dist/src/core/ext/filters/http/http_filters_plugin.cc",
+ "dist/src/core/ext/filters/http/message_compress/message_compress_filter.cc",
+ "dist/src/core/ext/filters/http/message_compress/message_decompress_filter.cc",
+ "dist/src/core/ext/filters/http/server/http_server_filter.cc",
+ "dist/src/core/ext/filters/max_age/max_age_filter.cc",
+ "dist/src/core/ext/filters/message_size/message_size_filter.cc",
+ "dist/src/core/ext/filters/workarounds/workaround_cronet_compression_filter.cc",
+ "dist/src/core/ext/filters/workarounds/workaround_utils.cc",
+ "dist/src/core/ext/transport/chttp2/alpn/alpn.cc",
+ "dist/src/core/ext/transport/chttp2/client/authority.cc",
+ "dist/src/core/ext/transport/chttp2/client/chttp2_connector.cc",
+ "dist/src/core/ext/transport/chttp2/client/insecure/channel_create.cc",
+ "dist/src/core/ext/transport/chttp2/client/insecure/channel_create_posix.cc",
+ "dist/src/core/ext/transport/chttp2/client/secure/secure_channel_create.cc",
+ "dist/src/core/ext/transport/chttp2/server/chttp2_server.cc",
+ "dist/src/core/ext/transport/chttp2/server/insecure/server_chttp2.cc",
+ "dist/src/core/ext/transport/chttp2/server/insecure/server_chttp2_posix.cc",
+ "dist/src/core/ext/transport/chttp2/server/secure/server_secure_chttp2.cc",
+ "dist/src/core/ext/transport/chttp2/transport/bin_decoder.cc",
+ "dist/src/core/ext/transport/chttp2/transport/bin_encoder.cc",
+ "dist/src/core/ext/transport/chttp2/transport/chttp2_plugin.cc",
+ "dist/src/core/ext/transport/chttp2/transport/chttp2_transport.cc",
+ "dist/src/core/ext/transport/chttp2/transport/context_list.cc",
+ "dist/src/core/ext/transport/chttp2/transport/flow_control.cc",
+ "dist/src/core/ext/transport/chttp2/transport/frame_data.cc",
+ "dist/src/core/ext/transport/chttp2/transport/frame_goaway.cc",
+ "dist/src/core/ext/transport/chttp2/transport/frame_ping.cc",
+ "dist/src/core/ext/transport/chttp2/transport/frame_rst_stream.cc",
+ "dist/src/core/ext/transport/chttp2/transport/frame_settings.cc",
+ "dist/src/core/ext/transport/chttp2/transport/frame_window_update.cc",
+ "dist/src/core/ext/transport/chttp2/transport/hpack_encoder.cc",
+ "dist/src/core/ext/transport/chttp2/transport/hpack_parser.cc",
+ "dist/src/core/ext/transport/chttp2/transport/hpack_table.cc",
+ "dist/src/core/ext/transport/chttp2/transport/http2_settings.cc",
+ "dist/src/core/ext/transport/chttp2/transport/huffsyms.cc",
+ "dist/src/core/ext/transport/chttp2/transport/incoming_metadata.cc",
+ "dist/src/core/ext/transport/chttp2/transport/parsing.cc",
+ "dist/src/core/ext/transport/chttp2/transport/stream_lists.cc",
+ "dist/src/core/ext/transport/chttp2/transport/stream_map.cc",
+ "dist/src/core/ext/transport/chttp2/transport/varint.cc",
+ "dist/src/core/ext/transport/chttp2/transport/writing.cc",
+ "dist/src/core/ext/transport/inproc/inproc_plugin.cc",
+ "dist/src/core/ext/transport/inproc/inproc_transport.cc",
+ "dist/src/core/ext/upb-generated/envoy/admin/v3/config_dump.upb.c",
+ "dist/src/core/ext/upb-generated/envoy/annotations/deprecation.upb.c",
+ "dist/src/core/ext/upb-generated/envoy/annotations/resource.upb.c",
+ "dist/src/core/ext/upb-generated/envoy/config/accesslog/v3/accesslog.upb.c",
+ "dist/src/core/ext/upb-generated/envoy/config/bootstrap/v3/bootstrap.upb.c",
+ "dist/src/core/ext/upb-generated/envoy/config/cluster/v3/circuit_breaker.upb.c",
+ "dist/src/core/ext/upb-generated/envoy/config/cluster/v3/cluster.upb.c",
+ "dist/src/core/ext/upb-generated/envoy/config/cluster/v3/filter.upb.c",
+ "dist/src/core/ext/upb-generated/envoy/config/cluster/v3/outlier_detection.upb.c",
+ "dist/src/core/ext/upb-generated/envoy/config/core/v3/address.upb.c",
+ "dist/src/core/ext/upb-generated/envoy/config/core/v3/backoff.upb.c",
+ "dist/src/core/ext/upb-generated/envoy/config/core/v3/base.upb.c",
+ "dist/src/core/ext/upb-generated/envoy/config/core/v3/config_source.upb.c",
+ "dist/src/core/ext/upb-generated/envoy/config/core/v3/event_service_config.upb.c",
+ "dist/src/core/ext/upb-generated/envoy/config/core/v3/extension.upb.c",
+ "dist/src/core/ext/upb-generated/envoy/config/core/v3/grpc_service.upb.c",
+ "dist/src/core/ext/upb-generated/envoy/config/core/v3/health_check.upb.c",
+ "dist/src/core/ext/upb-generated/envoy/config/core/v3/http_uri.upb.c",
+ "dist/src/core/ext/upb-generated/envoy/config/core/v3/protocol.upb.c",
+ "dist/src/core/ext/upb-generated/envoy/config/core/v3/proxy_protocol.upb.c",
+ "dist/src/core/ext/upb-generated/envoy/config/core/v3/socket_option.upb.c",
+ "dist/src/core/ext/upb-generated/envoy/config/core/v3/substitution_format_string.upb.c",
+ "dist/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint.upb.c",
+ "dist/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint_components.upb.c",
+ "dist/src/core/ext/upb-generated/envoy/config/endpoint/v3/load_report.upb.c",
+ "dist/src/core/ext/upb-generated/envoy/config/listener/v3/api_listener.upb.c",
+ "dist/src/core/ext/upb-generated/envoy/config/listener/v3/listener.upb.c",
+ "dist/src/core/ext/upb-generated/envoy/config/listener/v3/listener_components.upb.c",
+ "dist/src/core/ext/upb-generated/envoy/config/listener/v3/udp_listener_config.upb.c",
+ "dist/src/core/ext/upb-generated/envoy/config/metrics/v3/stats.upb.c",
+ "dist/src/core/ext/upb-generated/envoy/config/overload/v3/overload.upb.c",
+ "dist/src/core/ext/upb-generated/envoy/config/rbac/v3/rbac.upb.c",
+ "dist/src/core/ext/upb-generated/envoy/config/route/v3/route.upb.c",
+ "dist/src/core/ext/upb-generated/envoy/config/route/v3/route_components.upb.c",
+ "dist/src/core/ext/upb-generated/envoy/config/route/v3/scoped_route.upb.c",
+ "dist/src/core/ext/upb-generated/envoy/config/trace/v3/http_tracer.upb.c",
+ "dist/src/core/ext/upb-generated/envoy/extensions/clusters/aggregate/v3/cluster.upb.c",
+ "dist/src/core/ext/upb-generated/envoy/extensions/filters/common/fault/v3/fault.upb.c",
+ "dist/src/core/ext/upb-generated/envoy/extensions/filters/http/fault/v3/fault.upb.c",
+ "dist/src/core/ext/upb-generated/envoy/extensions/filters/http/router/v3/router.upb.c",
+ "dist/src/core/ext/upb-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.c",
+ "dist/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/cert.upb.c",
+ "dist/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/common.upb.c",
+ "dist/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/secret.upb.c",
+ "dist/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/tls.upb.c",
+ "dist/src/core/ext/upb-generated/envoy/service/cluster/v3/cds.upb.c",
+ "dist/src/core/ext/upb-generated/envoy/service/discovery/v3/ads.upb.c",
+ "dist/src/core/ext/upb-generated/envoy/service/discovery/v3/discovery.upb.c",
+ "dist/src/core/ext/upb-generated/envoy/service/endpoint/v3/eds.upb.c",
+ "dist/src/core/ext/upb-generated/envoy/service/listener/v3/lds.upb.c",
+ "dist/src/core/ext/upb-generated/envoy/service/load_stats/v3/lrs.upb.c",
+ "dist/src/core/ext/upb-generated/envoy/service/route/v3/rds.upb.c",
+ "dist/src/core/ext/upb-generated/envoy/service/route/v3/srds.upb.c",
+ "dist/src/core/ext/upb-generated/envoy/service/status/v3/csds.upb.c",
+ "dist/src/core/ext/upb-generated/envoy/type/matcher/v3/metadata.upb.c",
+ "dist/src/core/ext/upb-generated/envoy/type/matcher/v3/node.upb.c",
+ "dist/src/core/ext/upb-generated/envoy/type/matcher/v3/number.upb.c",
+ "dist/src/core/ext/upb-generated/envoy/type/matcher/v3/path.upb.c",
+ "dist/src/core/ext/upb-generated/envoy/type/matcher/v3/regex.upb.c",
+ "dist/src/core/ext/upb-generated/envoy/type/matcher/v3/string.upb.c",
+ "dist/src/core/ext/upb-generated/envoy/type/matcher/v3/struct.upb.c",
+ "dist/src/core/ext/upb-generated/envoy/type/matcher/v3/value.upb.c",
+ "dist/src/core/ext/upb-generated/envoy/type/metadata/v3/metadata.upb.c",
+ "dist/src/core/ext/upb-generated/envoy/type/tracing/v3/custom_tag.upb.c",
+ "dist/src/core/ext/upb-generated/envoy/type/v3/http.upb.c",
+ "dist/src/core/ext/upb-generated/envoy/type/v3/percent.upb.c",
+ "dist/src/core/ext/upb-generated/envoy/type/v3/range.upb.c",
+ "dist/src/core/ext/upb-generated/envoy/type/v3/semantic_version.upb.c",
+ "dist/src/core/ext/upb-generated/src/proto/grpc/gcp/altscontext.upb.c",
+ "dist/src/core/ext/upb-generated/src/proto/grpc/gcp/handshaker.upb.c",
+ "dist/src/core/ext/upb-generated/src/proto/grpc/gcp/transport_security_common.upb.c",
+ "dist/src/core/ext/upb-generated/src/proto/grpc/health/v1/health.upb.c",
+ "dist/src/core/ext/upb-generated/src/proto/grpc/lb/v1/load_balancer.upb.c",
+ "dist/src/core/ext/upb-generated/udpa/annotations/migrate.upb.c",
+ "dist/src/core/ext/upb-generated/udpa/annotations/security.upb.c",
+ "dist/src/core/ext/upb-generated/udpa/annotations/sensitive.upb.c",
+ "dist/src/core/ext/upb-generated/udpa/annotations/status.upb.c",
+ "dist/src/core/ext/upb-generated/udpa/annotations/versioning.upb.c",
+ "dist/src/core/ext/upb-generated/udpa/data/orca/v1/orca_load_report.upb.c",
+ "dist/src/core/ext/upb-generated/udpa/type/v1/typed_struct.upb.c",
+ "dist/src/core/ext/upb-generated/validate/validate.upb.c",
+ "dist/src/core/ext/upb-generated/xds/core/v3/authority.upb.c",
+ "dist/src/core/ext/upb-generated/xds/core/v3/collection_entry.upb.c",
+ "dist/src/core/ext/upb-generated/xds/core/v3/context_params.upb.c",
+ "dist/src/core/ext/upb-generated/xds/core/v3/resource.upb.c",
+ "dist/src/core/ext/upb-generated/xds/core/v3/resource_locator.upb.c",
+ "dist/src/core/ext/upb-generated/xds/core/v3/resource_name.upb.c",
+ "dist/src/core/ext/upbdefs-generated/envoy/admin/v3/config_dump.upbdefs.c",
+ "dist/src/core/ext/upbdefs-generated/envoy/annotations/deprecation.upbdefs.c",
+ "dist/src/core/ext/upbdefs-generated/envoy/annotations/resource.upbdefs.c",
+ "dist/src/core/ext/upbdefs-generated/envoy/config/accesslog/v3/accesslog.upbdefs.c",
+ "dist/src/core/ext/upbdefs-generated/envoy/config/bootstrap/v3/bootstrap.upbdefs.c",
+ "dist/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/circuit_breaker.upbdefs.c",
+ "dist/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/cluster.upbdefs.c",
+ "dist/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/filter.upbdefs.c",
+ "dist/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/outlier_detection.upbdefs.c",
+ "dist/src/core/ext/upbdefs-generated/envoy/config/core/v3/address.upbdefs.c",
+ "dist/src/core/ext/upbdefs-generated/envoy/config/core/v3/backoff.upbdefs.c",
+ "dist/src/core/ext/upbdefs-generated/envoy/config/core/v3/base.upbdefs.c",
+ "dist/src/core/ext/upbdefs-generated/envoy/config/core/v3/config_source.upbdefs.c",
+ "dist/src/core/ext/upbdefs-generated/envoy/config/core/v3/event_service_config.upbdefs.c",
+ "dist/src/core/ext/upbdefs-generated/envoy/config/core/v3/extension.upbdefs.c",
+ "dist/src/core/ext/upbdefs-generated/envoy/config/core/v3/grpc_service.upbdefs.c",
+ "dist/src/core/ext/upbdefs-generated/envoy/config/core/v3/health_check.upbdefs.c",
+ "dist/src/core/ext/upbdefs-generated/envoy/config/core/v3/http_uri.upbdefs.c",
+ "dist/src/core/ext/upbdefs-generated/envoy/config/core/v3/protocol.upbdefs.c",
+ "dist/src/core/ext/upbdefs-generated/envoy/config/core/v3/proxy_protocol.upbdefs.c",
+ "dist/src/core/ext/upbdefs-generated/envoy/config/core/v3/socket_option.upbdefs.c",
+ "dist/src/core/ext/upbdefs-generated/envoy/config/core/v3/substitution_format_string.upbdefs.c",
+ "dist/src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/endpoint.upbdefs.c",
+ "dist/src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/endpoint_components.upbdefs.c",
+ "dist/src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/load_report.upbdefs.c",
+ "dist/src/core/ext/upbdefs-generated/envoy/config/listener/v3/api_listener.upbdefs.c",
+ "dist/src/core/ext/upbdefs-generated/envoy/config/listener/v3/listener.upbdefs.c",
+ "dist/src/core/ext/upbdefs-generated/envoy/config/listener/v3/listener_components.upbdefs.c",
+ "dist/src/core/ext/upbdefs-generated/envoy/config/listener/v3/udp_listener_config.upbdefs.c",
+ "dist/src/core/ext/upbdefs-generated/envoy/config/metrics/v3/stats.upbdefs.c",
+ "dist/src/core/ext/upbdefs-generated/envoy/config/overload/v3/overload.upbdefs.c",
+ "dist/src/core/ext/upbdefs-generated/envoy/config/route/v3/route.upbdefs.c",
+ "dist/src/core/ext/upbdefs-generated/envoy/config/route/v3/route_components.upbdefs.c",
+ "dist/src/core/ext/upbdefs-generated/envoy/config/route/v3/scoped_route.upbdefs.c",
+ "dist/src/core/ext/upbdefs-generated/envoy/config/trace/v3/http_tracer.upbdefs.c",
+ "dist/src/core/ext/upbdefs-generated/envoy/extensions/clusters/aggregate/v3/cluster.upbdefs.c",
+ "dist/src/core/ext/upbdefs-generated/envoy/extensions/filters/common/fault/v3/fault.upbdefs.c",
+ "dist/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/fault/v3/fault.upbdefs.c",
+ "dist/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/router/v3/router.upbdefs.c",
+ "dist/src/core/ext/upbdefs-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upbdefs.c",
+ "dist/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/cert.upbdefs.c",
+ "dist/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/common.upbdefs.c",
+ "dist/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/secret.upbdefs.c",
+ "dist/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/tls.upbdefs.c",
+ "dist/src/core/ext/upbdefs-generated/envoy/service/cluster/v3/cds.upbdefs.c",
+ "dist/src/core/ext/upbdefs-generated/envoy/service/discovery/v3/ads.upbdefs.c",
+ "dist/src/core/ext/upbdefs-generated/envoy/service/discovery/v3/discovery.upbdefs.c",
+ "dist/src/core/ext/upbdefs-generated/envoy/service/endpoint/v3/eds.upbdefs.c",
+ "dist/src/core/ext/upbdefs-generated/envoy/service/listener/v3/lds.upbdefs.c",
+ "dist/src/core/ext/upbdefs-generated/envoy/service/load_stats/v3/lrs.upbdefs.c",
+ "dist/src/core/ext/upbdefs-generated/envoy/service/route/v3/rds.upbdefs.c",
+ "dist/src/core/ext/upbdefs-generated/envoy/service/route/v3/srds.upbdefs.c",
+ "dist/src/core/ext/upbdefs-generated/envoy/service/status/v3/csds.upbdefs.c",
+ "dist/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/metadata.upbdefs.c",
+ "dist/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/node.upbdefs.c",
+ "dist/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/number.upbdefs.c",
+ "dist/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/path.upbdefs.c",
+ "dist/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/regex.upbdefs.c",
+ "dist/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/string.upbdefs.c",
+ "dist/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/struct.upbdefs.c",
+ "dist/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/value.upbdefs.c",
+ "dist/src/core/ext/upbdefs-generated/envoy/type/metadata/v3/metadata.upbdefs.c",
+ "dist/src/core/ext/upbdefs-generated/envoy/type/tracing/v3/custom_tag.upbdefs.c",
+ "dist/src/core/ext/upbdefs-generated/envoy/type/v3/http.upbdefs.c",
+ "dist/src/core/ext/upbdefs-generated/envoy/type/v3/percent.upbdefs.c",
+ "dist/src/core/ext/upbdefs-generated/envoy/type/v3/range.upbdefs.c",
+ "dist/src/core/ext/upbdefs-generated/envoy/type/v3/semantic_version.upbdefs.c",
+ "dist/src/core/ext/upbdefs-generated/google/api/annotations.upbdefs.c",
+ "dist/src/core/ext/upbdefs-generated/google/api/http.upbdefs.c",
+ "dist/src/core/ext/upbdefs-generated/google/protobuf/any.upbdefs.c",
+ "dist/src/core/ext/upbdefs-generated/google/protobuf/duration.upbdefs.c",
+ "dist/src/core/ext/upbdefs-generated/google/protobuf/empty.upbdefs.c",
+ "dist/src/core/ext/upbdefs-generated/google/protobuf/struct.upbdefs.c",
+ "dist/src/core/ext/upbdefs-generated/google/protobuf/timestamp.upbdefs.c",
+ "dist/src/core/ext/upbdefs-generated/google/protobuf/wrappers.upbdefs.c",
+ "dist/src/core/ext/upbdefs-generated/google/rpc/status.upbdefs.c",
+ "dist/src/core/ext/upbdefs-generated/udpa/annotations/migrate.upbdefs.c",
+ "dist/src/core/ext/upbdefs-generated/udpa/annotations/security.upbdefs.c",
+ "dist/src/core/ext/upbdefs-generated/udpa/annotations/sensitive.upbdefs.c",
+ "dist/src/core/ext/upbdefs-generated/udpa/annotations/status.upbdefs.c",
+ "dist/src/core/ext/upbdefs-generated/udpa/annotations/versioning.upbdefs.c",
+ "dist/src/core/ext/upbdefs-generated/udpa/type/v1/typed_struct.upbdefs.c",
+ "dist/src/core/ext/upbdefs-generated/validate/validate.upbdefs.c",
+ "dist/src/core/ext/upbdefs-generated/xds/core/v3/authority.upbdefs.c",
+ "dist/src/core/ext/upbdefs-generated/xds/core/v3/collection_entry.upbdefs.c",
+ "dist/src/core/ext/upbdefs-generated/xds/core/v3/context_params.upbdefs.c",
+ "dist/src/core/ext/upbdefs-generated/xds/core/v3/resource.upbdefs.c",
+ "dist/src/core/ext/upbdefs-generated/xds/core/v3/resource_locator.upbdefs.c",
+ "dist/src/core/ext/upbdefs-generated/xds/core/v3/resource_name.upbdefs.c",
+ "dist/src/core/ext/xds/certificate_provider_registry.cc",
+ "dist/src/core/ext/xds/certificate_provider_store.cc",
+ "dist/src/core/ext/xds/file_watcher_certificate_provider_factory.cc",
+ "dist/src/core/ext/xds/xds_api.cc",
+ "dist/src/core/ext/xds/xds_bootstrap.cc",
+ "dist/src/core/ext/xds/xds_certificate_provider.cc",
+ "dist/src/core/ext/xds/xds_client.cc",
+ "dist/src/core/ext/xds/xds_client_stats.cc",
+ "dist/src/core/ext/xds/xds_http_fault_filter.cc",
+ "dist/src/core/ext/xds/xds_http_filters.cc",
+ "dist/src/core/ext/xds/xds_server_config_fetcher.cc",
+ "dist/src/core/lib/address_utils/parse_address.cc",
+ "dist/src/core/lib/address_utils/sockaddr_utils.cc",
+ "dist/src/core/lib/avl/avl.cc",
+ "dist/src/core/lib/backoff/backoff.cc",
+ "dist/src/core/lib/channel/channel_args.cc",
+ "dist/src/core/lib/channel/channel_stack.cc",
+ "dist/src/core/lib/channel/channel_stack_builder.cc",
+ "dist/src/core/lib/channel/channel_trace.cc",
+ "dist/src/core/lib/channel/channelz.cc",
+ "dist/src/core/lib/channel/channelz_registry.cc",
+ "dist/src/core/lib/channel/connected_channel.cc",
+ "dist/src/core/lib/channel/handshaker.cc",
+ "dist/src/core/lib/channel/handshaker_registry.cc",
+ "dist/src/core/lib/channel/status_util.cc",
+ "dist/src/core/lib/compression/compression.cc",
+ "dist/src/core/lib/compression/compression_args.cc",
+ "dist/src/core/lib/compression/compression_internal.cc",
+ "dist/src/core/lib/compression/message_compress.cc",
+ "dist/src/core/lib/compression/stream_compression.cc",
+ "dist/src/core/lib/compression/stream_compression_gzip.cc",
+ "dist/src/core/lib/compression/stream_compression_identity.cc",
+ "dist/src/core/lib/debug/stats.cc",
+ "dist/src/core/lib/debug/stats_data.cc",
+ "dist/src/core/lib/debug/trace.cc",
+ "dist/src/core/lib/event_engine/endpoint_config.cc",
+ "dist/src/core/lib/event_engine/event_engine.cc",
+ "dist/src/core/lib/event_engine/slice_allocator.cc",
+ "dist/src/core/lib/event_engine/sockaddr.cc",
+ "dist/src/core/lib/http/format_request.cc",
+ "dist/src/core/lib/http/httpcli.cc",
+ "dist/src/core/lib/http/httpcli_security_connector.cc",
+ "dist/src/core/lib/http/parser.cc",
+ "dist/src/core/lib/iomgr/buffer_list.cc",
+ "dist/src/core/lib/iomgr/call_combiner.cc",
+ "dist/src/core/lib/iomgr/cfstream_handle.cc",
+ "dist/src/core/lib/iomgr/combiner.cc",
+ "dist/src/core/lib/iomgr/dualstack_socket_posix.cc",
+ "dist/src/core/lib/iomgr/endpoint.cc",
+ "dist/src/core/lib/iomgr/endpoint_cfstream.cc",
+ "dist/src/core/lib/iomgr/endpoint_pair_event_engine.cc",
+ "dist/src/core/lib/iomgr/endpoint_pair_posix.cc",
+ "dist/src/core/lib/iomgr/endpoint_pair_uv.cc",
+ "dist/src/core/lib/iomgr/endpoint_pair_windows.cc",
+ "dist/src/core/lib/iomgr/error.cc",
+ "dist/src/core/lib/iomgr/error_cfstream.cc",
+ "dist/src/core/lib/iomgr/ev_apple.cc",
+ "dist/src/core/lib/iomgr/ev_epoll1_linux.cc",
+ "dist/src/core/lib/iomgr/ev_epollex_linux.cc",
+ "dist/src/core/lib/iomgr/ev_poll_posix.cc",
+ "dist/src/core/lib/iomgr/ev_posix.cc",
+ "dist/src/core/lib/iomgr/ev_windows.cc",
+ "dist/src/core/lib/iomgr/event_engine/closure.cc",
+ "dist/src/core/lib/iomgr/event_engine/endpoint.cc",
+ "dist/src/core/lib/iomgr/event_engine/iomgr.cc",
+ "dist/src/core/lib/iomgr/event_engine/pollset.cc",
+ "dist/src/core/lib/iomgr/event_engine/resolved_address_internal.cc",
+ "dist/src/core/lib/iomgr/event_engine/resolver.cc",
+ "dist/src/core/lib/iomgr/event_engine/tcp.cc",
+ "dist/src/core/lib/iomgr/event_engine/timer.cc",
+ "dist/src/core/lib/iomgr/exec_ctx.cc",
+ "dist/src/core/lib/iomgr/executor.cc",
+ "dist/src/core/lib/iomgr/executor/mpmcqueue.cc",
+ "dist/src/core/lib/iomgr/executor/threadpool.cc",
+ "dist/src/core/lib/iomgr/fork_posix.cc",
+ "dist/src/core/lib/iomgr/fork_windows.cc",
+ "dist/src/core/lib/iomgr/gethostname_fallback.cc",
+ "dist/src/core/lib/iomgr/gethostname_host_name_max.cc",
+ "dist/src/core/lib/iomgr/gethostname_sysconf.cc",
+ "dist/src/core/lib/iomgr/grpc_if_nametoindex_posix.cc",
+ "dist/src/core/lib/iomgr/grpc_if_nametoindex_unsupported.cc",
+ "dist/src/core/lib/iomgr/internal_errqueue.cc",
+ "dist/src/core/lib/iomgr/iocp_windows.cc",
+ "dist/src/core/lib/iomgr/iomgr.cc",
+ "dist/src/core/lib/iomgr/iomgr_custom.cc",
+ "dist/src/core/lib/iomgr/iomgr_internal.cc",
+ "dist/src/core/lib/iomgr/iomgr_posix.cc",
+ "dist/src/core/lib/iomgr/iomgr_posix_cfstream.cc",
+ "dist/src/core/lib/iomgr/iomgr_uv.cc",
+ "dist/src/core/lib/iomgr/iomgr_windows.cc",
+ "dist/src/core/lib/iomgr/is_epollexclusive_available.cc",
+ "dist/src/core/lib/iomgr/load_file.cc",
+ "dist/src/core/lib/iomgr/lockfree_event.cc",
+ "dist/src/core/lib/iomgr/polling_entity.cc",
+ "dist/src/core/lib/iomgr/pollset.cc",
+ "dist/src/core/lib/iomgr/pollset_custom.cc",
+ "dist/src/core/lib/iomgr/pollset_set.cc",
+ "dist/src/core/lib/iomgr/pollset_set_custom.cc",
+ "dist/src/core/lib/iomgr/pollset_set_windows.cc",
+ "dist/src/core/lib/iomgr/pollset_uv.cc",
+ "dist/src/core/lib/iomgr/pollset_windows.cc",
+ "dist/src/core/lib/iomgr/resolve_address.cc",
+ "dist/src/core/lib/iomgr/resolve_address_custom.cc",
+ "dist/src/core/lib/iomgr/resolve_address_posix.cc",
+ "dist/src/core/lib/iomgr/resolve_address_windows.cc",
+ "dist/src/core/lib/iomgr/resource_quota.cc",
+ "dist/src/core/lib/iomgr/socket_factory_posix.cc",
+ "dist/src/core/lib/iomgr/socket_mutator.cc",
+ "dist/src/core/lib/iomgr/socket_utils_common_posix.cc",
+ "dist/src/core/lib/iomgr/socket_utils_linux.cc",
+ "dist/src/core/lib/iomgr/socket_utils_posix.cc",
+ "dist/src/core/lib/iomgr/socket_utils_uv.cc",
+ "dist/src/core/lib/iomgr/socket_utils_windows.cc",
+ "dist/src/core/lib/iomgr/socket_windows.cc",
+ "dist/src/core/lib/iomgr/tcp_client.cc",
+ "dist/src/core/lib/iomgr/tcp_client_cfstream.cc",
+ "dist/src/core/lib/iomgr/tcp_client_custom.cc",
+ "dist/src/core/lib/iomgr/tcp_client_posix.cc",
+ "dist/src/core/lib/iomgr/tcp_client_windows.cc",
+ "dist/src/core/lib/iomgr/tcp_custom.cc",
+ "dist/src/core/lib/iomgr/tcp_posix.cc",
+ "dist/src/core/lib/iomgr/tcp_server.cc",
+ "dist/src/core/lib/iomgr/tcp_server_custom.cc",
+ "dist/src/core/lib/iomgr/tcp_server_posix.cc",
+ "dist/src/core/lib/iomgr/tcp_server_utils_posix_common.cc",
+ "dist/src/core/lib/iomgr/tcp_server_utils_posix_ifaddrs.cc",
+ "dist/src/core/lib/iomgr/tcp_server_utils_posix_noifaddrs.cc",
+ "dist/src/core/lib/iomgr/tcp_server_windows.cc",
+ "dist/src/core/lib/iomgr/tcp_uv.cc",
+ "dist/src/core/lib/iomgr/tcp_windows.cc",
+ "dist/src/core/lib/iomgr/time_averaged_stats.cc",
+ "dist/src/core/lib/iomgr/timer.cc",
+ "dist/src/core/lib/iomgr/timer_custom.cc",
+ "dist/src/core/lib/iomgr/timer_generic.cc",
+ "dist/src/core/lib/iomgr/timer_heap.cc",
+ "dist/src/core/lib/iomgr/timer_manager.cc",
+ "dist/src/core/lib/iomgr/timer_uv.cc",
+ "dist/src/core/lib/iomgr/udp_server.cc",
+ "dist/src/core/lib/iomgr/unix_sockets_posix.cc",
+ "dist/src/core/lib/iomgr/unix_sockets_posix_noop.cc",
+ "dist/src/core/lib/iomgr/wakeup_fd_eventfd.cc",
+ "dist/src/core/lib/iomgr/wakeup_fd_nospecial.cc",
+ "dist/src/core/lib/iomgr/wakeup_fd_pipe.cc",
+ "dist/src/core/lib/iomgr/wakeup_fd_posix.cc",
+ "dist/src/core/lib/iomgr/work_serializer.cc",
+ "dist/src/core/lib/json/json_reader.cc",
+ "dist/src/core/lib/json/json_util.cc",
+ "dist/src/core/lib/json/json_writer.cc",
+ "dist/src/core/lib/matchers/matchers.cc",
+ "dist/src/core/lib/security/authorization/authorization_policy_provider_vtable.cc",
+ "dist/src/core/lib/security/authorization/evaluate_args.cc",
+ "dist/src/core/lib/security/context/security_context.cc",
+ "dist/src/core/lib/security/credentials/alts/alts_credentials.cc",
+ "dist/src/core/lib/security/credentials/alts/check_gcp_environment.cc",
+ "dist/src/core/lib/security/credentials/alts/check_gcp_environment_linux.cc",
+ "dist/src/core/lib/security/credentials/alts/check_gcp_environment_no_op.cc",
+ "dist/src/core/lib/security/credentials/alts/check_gcp_environment_windows.cc",
+ "dist/src/core/lib/security/credentials/alts/grpc_alts_credentials_client_options.cc",
+ "dist/src/core/lib/security/credentials/alts/grpc_alts_credentials_options.cc",
+ "dist/src/core/lib/security/credentials/alts/grpc_alts_credentials_server_options.cc",
+ "dist/src/core/lib/security/credentials/composite/composite_credentials.cc",
+ "dist/src/core/lib/security/credentials/credentials.cc",
+ "dist/src/core/lib/security/credentials/credentials_metadata.cc",
+ "dist/src/core/lib/security/credentials/external/aws_external_account_credentials.cc",
+ "dist/src/core/lib/security/credentials/external/aws_request_signer.cc",
+ "dist/src/core/lib/security/credentials/external/external_account_credentials.cc",
+ "dist/src/core/lib/security/credentials/external/file_external_account_credentials.cc",
+ "dist/src/core/lib/security/credentials/external/url_external_account_credentials.cc",
+ "dist/src/core/lib/security/credentials/fake/fake_credentials.cc",
+ "dist/src/core/lib/security/credentials/google_default/credentials_generic.cc",
+ "dist/src/core/lib/security/credentials/google_default/google_default_credentials.cc",
+ "dist/src/core/lib/security/credentials/iam/iam_credentials.cc",
+ "dist/src/core/lib/security/credentials/insecure/insecure_credentials.cc",
+ "dist/src/core/lib/security/credentials/jwt/json_token.cc",
+ "dist/src/core/lib/security/credentials/jwt/jwt_credentials.cc",
+ "dist/src/core/lib/security/credentials/jwt/jwt_verifier.cc",
+ "dist/src/core/lib/security/credentials/local/local_credentials.cc",
+ "dist/src/core/lib/security/credentials/oauth2/oauth2_credentials.cc",
+ "dist/src/core/lib/security/credentials/plugin/plugin_credentials.cc",
+ "dist/src/core/lib/security/credentials/ssl/ssl_credentials.cc",
+ "dist/src/core/lib/security/credentials/tls/grpc_tls_certificate_distributor.cc",
+ "dist/src/core/lib/security/credentials/tls/grpc_tls_certificate_provider.cc",
+ "dist/src/core/lib/security/credentials/tls/grpc_tls_credentials_options.cc",
+ "dist/src/core/lib/security/credentials/tls/tls_credentials.cc",
+ "dist/src/core/lib/security/credentials/tls/tls_utils.cc",
+ "dist/src/core/lib/security/credentials/xds/xds_credentials.cc",
+ "dist/src/core/lib/security/security_connector/alts/alts_security_connector.cc",
+ "dist/src/core/lib/security/security_connector/fake/fake_security_connector.cc",
+ "dist/src/core/lib/security/security_connector/insecure/insecure_security_connector.cc",
+ "dist/src/core/lib/security/security_connector/load_system_roots_fallback.cc",
+ "dist/src/core/lib/security/security_connector/load_system_roots_linux.cc",
+ "dist/src/core/lib/security/security_connector/local/local_security_connector.cc",
+ "dist/src/core/lib/security/security_connector/security_connector.cc",
+ "dist/src/core/lib/security/security_connector/ssl/ssl_security_connector.cc",
+ "dist/src/core/lib/security/security_connector/ssl_utils.cc",
+ "dist/src/core/lib/security/security_connector/ssl_utils_config.cc",
+ "dist/src/core/lib/security/security_connector/tls/tls_security_connector.cc",
+ "dist/src/core/lib/security/transport/client_auth_filter.cc",
+ "dist/src/core/lib/security/transport/secure_endpoint.cc",
+ "dist/src/core/lib/security/transport/security_handshaker.cc",
+ "dist/src/core/lib/security/transport/server_auth_filter.cc",
+ "dist/src/core/lib/security/transport/tsi_error.cc",
+ "dist/src/core/lib/security/util/json_util.cc",
+ "dist/src/core/lib/slice/b64.cc",
+ "dist/src/core/lib/slice/percent_encoding.cc",
+ "dist/src/core/lib/slice/slice.cc",
+ "dist/src/core/lib/slice/slice_buffer.cc",
+ "dist/src/core/lib/slice/slice_intern.cc",
+ "dist/src/core/lib/slice/slice_string_helpers.cc",
+ "dist/src/core/lib/surface/api_trace.cc",
+ "dist/src/core/lib/surface/byte_buffer.cc",
+ "dist/src/core/lib/surface/byte_buffer_reader.cc",
+ "dist/src/core/lib/surface/call.cc",
+ "dist/src/core/lib/surface/call_details.cc",
+ "dist/src/core/lib/surface/call_log_batch.cc",
+ "dist/src/core/lib/surface/channel.cc",
+ "dist/src/core/lib/surface/channel_init.cc",
+ "dist/src/core/lib/surface/channel_ping.cc",
+ "dist/src/core/lib/surface/channel_stack_type.cc",
+ "dist/src/core/lib/surface/completion_queue.cc",
+ "dist/src/core/lib/surface/completion_queue_factory.cc",
+ "dist/src/core/lib/surface/event_string.cc",
+ "dist/src/core/lib/surface/init.cc",
+ "dist/src/core/lib/surface/init_secure.cc",
+ "dist/src/core/lib/surface/lame_client.cc",
+ "dist/src/core/lib/surface/metadata_array.cc",
+ "dist/src/core/lib/surface/server.cc",
+ "dist/src/core/lib/surface/validate_metadata.cc",
+ "dist/src/core/lib/surface/version.cc",
+ "dist/src/core/lib/transport/authority_override.cc",
+ "dist/src/core/lib/transport/bdp_estimator.cc",
+ "dist/src/core/lib/transport/byte_stream.cc",
+ "dist/src/core/lib/transport/connectivity_state.cc",
+ "dist/src/core/lib/transport/error_utils.cc",
+ "dist/src/core/lib/transport/metadata.cc",
+ "dist/src/core/lib/transport/metadata_batch.cc",
+ "dist/src/core/lib/transport/pid_controller.cc",
+ "dist/src/core/lib/transport/static_metadata.cc",
+ "dist/src/core/lib/transport/status_conversion.cc",
+ "dist/src/core/lib/transport/status_metadata.cc",
+ "dist/src/core/lib/transport/timeout_encoding.cc",
+ "dist/src/core/lib/transport/transport.cc",
+ "dist/src/core/lib/transport/transport_op_string.cc",
+ "dist/src/core/lib/uri/uri_parser.cc",
+ "dist/src/core/plugin_registry/grpc_plugin_registry.cc",
+ "dist/src/core/tsi/alts/crypt/aes_gcm.cc",
+ "dist/src/core/tsi/alts/crypt/gsec.cc",
+ "dist/src/core/tsi/alts/frame_protector/alts_counter.cc",
+ "dist/src/core/tsi/alts/frame_protector/alts_crypter.cc",
+ "dist/src/core/tsi/alts/frame_protector/alts_frame_protector.cc",
+ "dist/src/core/tsi/alts/frame_protector/alts_record_protocol_crypter_common.cc",
+ "dist/src/core/tsi/alts/frame_protector/alts_seal_privacy_integrity_crypter.cc",
+ "dist/src/core/tsi/alts/frame_protector/alts_unseal_privacy_integrity_crypter.cc",
+ "dist/src/core/tsi/alts/frame_protector/frame_handler.cc",
+ "dist/src/core/tsi/alts/handshaker/alts_handshaker_client.cc",
+ "dist/src/core/tsi/alts/handshaker/alts_shared_resource.cc",
+ "dist/src/core/tsi/alts/handshaker/alts_tsi_handshaker.cc",
+ "dist/src/core/tsi/alts/handshaker/alts_tsi_utils.cc",
+ "dist/src/core/tsi/alts/handshaker/transport_security_common_api.cc",
+ "dist/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_integrity_only_record_protocol.cc",
+ "dist/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_privacy_integrity_record_protocol.cc",
+ "dist/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_record_protocol_common.cc",
+ "dist/src/core/tsi/alts/zero_copy_frame_protector/alts_iovec_record_protocol.cc",
+ "dist/src/core/tsi/alts/zero_copy_frame_protector/alts_zero_copy_grpc_protector.cc",
+ "dist/src/core/tsi/fake_transport_security.cc",
+ "dist/src/core/tsi/local_transport_security.cc",
+ "dist/src/core/tsi/ssl/session_cache/ssl_session_boringssl.cc",
+ "dist/src/core/tsi/ssl/session_cache/ssl_session_cache.cc",
+ "dist/src/core/tsi/ssl/session_cache/ssl_session_openssl.cc",
+ "dist/src/core/tsi/ssl_transport_security.cc",
+ "dist/src/core/tsi/transport_security.cc",
+ "dist/src/core/tsi/transport_security_grpc.cc",
+ ],
+ LIBDEPS=[
+ '$BUILD_DIR/third_party/abseil-cpp-master/absl_bad_variant_access',
+ '$BUILD_DIR/third_party/abseil-cpp-master/absl_city',
+ '$BUILD_DIR/third_party/abseil-cpp-master/absl_exponential_biased',
+ '$BUILD_DIR/third_party/abseil-cpp-master/absl_hash',
+ '$BUILD_DIR/third_party/abseil-cpp-master/absl_hashtablez_sampler',
+ '$BUILD_DIR/third_party/abseil-cpp-master/absl_raw_hash_set',
+ '$BUILD_DIR/third_party/abseil-cpp-master/absl_statusor',
+ '$BUILD_DIR/third_party/abseil-cpp-master/absl_wyhash',
+ '$BUILD_DIR/third_party/cares/cares',
+ '$BUILD_DIR/third_party/re2/re2',
+ '$BUILD_DIR/third_party/shim_zlib',
+ 'address_sorting',
+ 'gpr',
+ ],
+)
+
+grpc_env.Library(
+ target='grpc++',
+ source=[
+ 'dist/src/cpp/client/channel_cc.cc',
+ 'dist/src/cpp/client/client_callback.cc',
+ 'dist/src/cpp/client/client_context.cc',
+ 'dist/src/cpp/client/client_interceptor.cc',
+ 'dist/src/cpp/client/create_channel.cc',
+ 'dist/src/cpp/client/create_channel_internal.cc',
+ 'dist/src/cpp/client/create_channel_posix.cc',
+ 'dist/src/cpp/client/credentials_cc.cc',
+ 'dist/src/cpp/client/insecure_credentials.cc',
+ 'dist/src/cpp/client/secure_credentials.cc',
+ 'dist/src/cpp/client/xds_credentials.cc',
+ 'dist/src/cpp/codegen/codegen_init.cc',
+ 'dist/src/cpp/common/alarm.cc',
+ 'dist/src/cpp/common/auth_property_iterator.cc',
+ 'dist/src/cpp/common/channel_arguments.cc',
+ 'dist/src/cpp/common/channel_filter.cc',
+ 'dist/src/cpp/common/completion_queue_cc.cc',
+ 'dist/src/cpp/common/core_codegen.cc',
+ 'dist/src/cpp/common/resource_quota_cc.cc',
+ 'dist/src/cpp/common/rpc_method.cc',
+ 'dist/src/cpp/common/secure_auth_context.cc',
+ 'dist/src/cpp/common/secure_channel_arguments.cc',
+ 'dist/src/cpp/common/secure_create_auth_context.cc',
+ 'dist/src/cpp/common/tls_certificate_provider.cc',
+ 'dist/src/cpp/common/tls_credentials_options.cc',
+ 'dist/src/cpp/common/tls_credentials_options_util.cc',
+ 'dist/src/cpp/common/validate_service_config.cc',
+ 'dist/src/cpp/common/version_cc.cc',
+ 'dist/src/cpp/server/async_generic_service.cc',
+ 'dist/src/cpp/server/channel_argument_option.cc',
+ 'dist/src/cpp/server/create_default_thread_pool.cc',
+ 'dist/src/cpp/server/dynamic_thread_pool.cc',
+ 'dist/src/cpp/server/external_connection_acceptor_impl.cc',
+ 'dist/src/cpp/server/health/default_health_check_service.cc',
+ 'dist/src/cpp/server/health/health_check_service.cc',
+ 'dist/src/cpp/server/health/health_check_service_server_builder_option.cc',
+ 'dist/src/cpp/server/insecure_server_credentials.cc',
+ 'dist/src/cpp/server/secure_server_credentials.cc',
+ 'dist/src/cpp/server/server_builder.cc',
+ 'dist/src/cpp/server/server_callback.cc',
+ 'dist/src/cpp/server/server_cc.cc',
+ 'dist/src/cpp/server/server_context.cc',
+ 'dist/src/cpp/server/server_credentials.cc',
+ 'dist/src/cpp/server/server_posix.cc',
+ 'dist/src/cpp/server/xds_server_credentials.cc',
+ 'dist/src/cpp/thread_manager/thread_manager.cc',
+ 'dist/src/cpp/util/byte_buffer_cc.cc',
+ 'dist/src/cpp/util/status.cc',
+ 'dist/src/cpp/util/string_ref.cc',
+ 'dist/src/cpp/util/time_cc.cc',
+ ],
+ LIBDEPS=[
+ '$BUILD_DIR/third_party/protobuf/protobuf',
+ 'grpc',
+ ],
+)
+
+grpcxx_env = grpc_env.Clone()
+
+grpcxx_env.AppendUnique(
+ PROTOC_GEN_TYPES=['cpp'],
+ PROTOC_PLUGINS={
+ 'grpc': {
+ 'plugin': '$PROTOC_CPP_PLUGIN',
+ 'out_dir': '$PROTOC_CPPGEN_DIR',
+ 'options': ['generate_mock_code=true'],
+ 'exts': ['.grpc.pb.cc', '.grpc.pb.h'],
+ },
+ },
+ PROTOC_MOCKS=[
+ 'grpc'
+ ],
+)
+
+lib_node = grpcxx_env.Library(
+ target='grpc++_reflection',
+ source=[
+ 'dist/src/cpp/ext/proto_server_reflection.cc',
+ 'dist/src/cpp/ext/proto_server_reflection_plugin.cc',
+ 'dist/src/proto/grpc/reflection/v1alpha/reflection.proto',
+ ],
+ LIBDEPS=[
+ 'grpc++',
+ ],
+)
+
+grpc_unittest_env = grpcxx_env.Clone()
+grpc_unittest_env.InjectThirdParty(libraries=['fmt', 'variant'])
+grpc_unittest_env.Append(
+ CPPPATH=[
+ '#src',
+ '$BUILD_DIR',
+ grpc_unittest_env.Dir('dist/examples/protos').get_path(),
+ ],
+)
+
+grpc_unittest_env.CppUnitTest(
+ target='grpc_lib_test',
+ source=[
+ 'grpc_source_test.cpp',
+ 'dist/examples/protos/helloworld.proto',
+ ],
+ LIBDEPS=[
+ '$BUILD_DIR/mongo/base',
+ 'grpc++_reflection',
+ ],
+) \ No newline at end of file
diff --git a/src/third_party/grpc/greeter_server.h b/src/third_party/grpc/greeter_server.h
new file mode 100644
index 00000000000..dd13d0f115e
--- /dev/null
+++ b/src/third_party/grpc/greeter_server.h
@@ -0,0 +1,46 @@
+/*
+ *
+ * Copyright 2015 gRPC authors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#include <iostream>
+#include <memory>
+#include <string>
+
+#include "grpc++/ext/proto_server_reflection_plugin.h"
+#include "grpc++/grpc++.h"
+#include "grpc++/health_check_service_interface.h"
+
+#include "helloworld.grpc.pb.h"
+
+using grpc::Server;
+using grpc::ServerBuilder;
+using grpc::ServerContext;
+using grpc::Status;
+using helloworld::Greeter;
+using helloworld::HelloReply;
+using helloworld::HelloRequest;
+
+// Logic and data behind the server's behavior.
+class GreeterServiceImpl final : public Greeter::Service {
+ Status SayHello(ServerContext* context,
+ const HelloRequest* request,
+ HelloReply* reply) override {
+ std::string prefix("Hello ");
+ reply->set_message(prefix + request->name());
+ return Status::OK;
+ }
+}; \ No newline at end of file
diff --git a/src/third_party/grpc/grpc_source_test.cpp b/src/third_party/grpc/grpc_source_test.cpp
new file mode 100644
index 00000000000..9240ae3834d
--- /dev/null
+++ b/src/third_party/grpc/grpc_source_test.cpp
@@ -0,0 +1,59 @@
+/**
+ * Copyright (C) 2022-present MongoDB, Inc.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the Server Side Public License, version 1,
+ * as published by MongoDB, Inc.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * Server Side Public License for more details.
+ *
+ * You should have received a copy of the Server Side Public License
+ * along with this program. If not, see
+ * <http://www.mongodb.com/licensing/server-side-public-license>.
+ *
+ * As a special exception, the copyright holders give permission to link the
+ * code of portions of this program with the OpenSSL library under certain
+ * conditions as described in each individual source file and distribute
+ * linked combinations including the program with the OpenSSL library. You
+ * must comply with the Server Side Public License in all respects for
+ * all of the code used other than as permitted herein. If you modify file(s)
+ * with this exception, you may extend this exception to your version of the
+ * file(s), but you are not obligated to do so. If you do not wish to do so,
+ * delete this exception statement from your version. If you delete this
+ * exception statement from all source files in the program, then also delete
+ * it in the license file.
+ */
+
+
+
+#include <cstdarg>
+#include <iostream>
+#include <memory>
+#include <string>
+#include <vector>
+
+#include "mongo/unittest/unittest.h"
+#include "greeter_server.h"
+
+using namespace mongo;
+
+TEST(GrpcLibraryIntegration, StartServer) {
+ std::string server_address("127.0.0.1:50051");
+ GreeterServiceImpl service;
+
+ grpc::EnableDefaultHealthCheckService(true);
+ grpc::reflection::InitProtoReflectionServerBuilderPlugin();
+ ServerBuilder builder;
+ // Listen on the given address without any authentication mechanism.
+ builder.AddListeningPort(server_address, grpc::InsecureServerCredentials());
+ // Register "service" as the instance through which we'll communicate with
+ // clients. In this case it corresponds to an *synchronous* service.
+ builder.RegisterService(&service);
+ // Finally assemble the server.
+ std::unique_ptr<Server> server(builder.BuildAndStart());
+ if (server == nullptr)
+ FAIL("Failed to start GRPC server.");
+}
diff --git a/src/third_party/protobuf/SConscript b/src/third_party/protobuf/SConscript
new file mode 100644
index 00000000000..172e08f6339
--- /dev/null
+++ b/src/third_party/protobuf/SConscript
@@ -0,0 +1,244 @@
+Import('env')
+
+protobuf_env = env.Clone()
+
+protobuf_env.InjectThirdParty(libraries=['zlib'])
+
+protobuf_env.Append(
+ CPPDEFINES=[
+ 'HAVE_CONFIG_H',
+ ('HAVE_ZLIB', '1'),
+ ('PIC', '1'),
+ ],
+)
+
+if protobuf_env.ToolchainIs('gcc', 'clang'):
+ protobuf_env.Append(
+ CPPDEFINES=[
+ ('HAVE_PTHREAD', '1'),
+ ],
+ CCFLAGS=[
+ '-Wno-sign-compare',
+ '-Wno-overloaded-virtual',
+ ],
+ )
+
+if protobuf_env.ToolchainIs('gcc'):
+ protobuf_env.Append(
+ CPPDEFINES=[
+ ],
+ CCFLAGS=[
+ '-Wno-stringop-overflow',
+ ],
+ )
+
+if protobuf_env.ToolchainIs('msvc'):
+ protobuf_env.Append(
+ CCFLAGS=[
+ '/wd4018', # signed/unsigned mismatch
+ '/wd4065', # switch statement contains 'default' but no 'case' labels
+ '/wd4146', # unary minus operator applied to unsigned type, result still unsigned
+ ],
+ CPPDEFINES=[
+ '_SILENCE_CXX17_ITERATOR_BASE_CLASS_DEPRECATION_WARNING',
+ ],
+ )
+
+protobuf_root = protobuf_env.Dir(".").srcnode()
+protobuf_platform = protobuf_root.Dir("platform/${TARGET_OS}_${TARGET_ARCH}")
+protobuf_env.Append(
+ CPPPATH=[
+ protobuf_root.Dir("dist"),
+ protobuf_root.Dir("dist/src"),
+ ],
+)
+
+protobuf_env.Library(
+ target='protobuf',
+ source=[
+ "dist/src/google/protobuf/stubs/bytestream.cc",
+ "dist/src/google/protobuf/stubs/common.cc",
+ "dist/src/google/protobuf/stubs/int128.cc",
+ "dist/src/google/protobuf/io/io_win32.cc",
+ "dist/src/google/protobuf/stubs/status.cc",
+ "dist/src/google/protobuf/stubs/statusor.cc",
+ "dist/src/google/protobuf/stubs/stringpiece.cc",
+ "dist/src/google/protobuf/stubs/stringprintf.cc",
+ "dist/src/google/protobuf/stubs/structurally_valid.cc",
+ "dist/src/google/protobuf/stubs/strutil.cc",
+ "dist/src/google/protobuf/stubs/time.cc",
+ "dist/src/google/protobuf/any_lite.cc",
+ "dist/src/google/protobuf/arena.cc",
+ "dist/src/google/protobuf/arenastring.cc",
+ "dist/src/google/protobuf/generated_enum_util.cc",
+ "dist/src/google/protobuf/extension_set.cc",
+ "dist/src/google/protobuf/generated_message_util.cc",
+ "dist/src/google/protobuf/generated_message_table_driven_lite.cc",
+ "dist/src/google/protobuf/implicit_weak_message.cc",
+ "dist/src/google/protobuf/map.cc",
+ "dist/src/google/protobuf/message_lite.cc",
+ "dist/src/google/protobuf/parse_context.cc",
+ "dist/src/google/protobuf/repeated_field.cc",
+ "dist/src/google/protobuf/wire_format_lite.cc",
+ "dist/src/google/protobuf/io/coded_stream.cc",
+ "dist/src/google/protobuf/io/strtod.cc",
+ "dist/src/google/protobuf/io/zero_copy_stream.cc",
+ "dist/src/google/protobuf/io/zero_copy_stream_impl.cc",
+ "dist/src/google/protobuf/io/zero_copy_stream_impl_lite.cc",
+ "dist/src/google/protobuf/any.pb.cc",
+ "dist/src/google/protobuf/api.pb.cc",
+ "dist/src/google/protobuf/any.cc",
+ "dist/src/google/protobuf/descriptor.cc",
+ "dist/src/google/protobuf/descriptor_database.cc",
+ "dist/src/google/protobuf/descriptor.pb.cc",
+ "dist/src/google/protobuf/duration.pb.cc",
+ "dist/src/google/protobuf/dynamic_message.cc",
+ "dist/src/google/protobuf/empty.pb.cc",
+ "dist/src/google/protobuf/extension_set_heavy.cc",
+ "dist/src/google/protobuf/field_mask.pb.cc",
+ "dist/src/google/protobuf/generated_message_reflection.cc",
+ "dist/src/google/protobuf/generated_message_table_driven.cc",
+ "dist/src/google/protobuf/map_field.cc",
+ "dist/src/google/protobuf/message.cc",
+ "dist/src/google/protobuf/reflection_ops.cc",
+ "dist/src/google/protobuf/service.cc",
+ "dist/src/google/protobuf/source_context.pb.cc",
+ "dist/src/google/protobuf/struct.pb.cc",
+ "dist/src/google/protobuf/stubs/substitute.cc",
+ "dist/src/google/protobuf/text_format.cc",
+ "dist/src/google/protobuf/timestamp.pb.cc",
+ "dist/src/google/protobuf/type.pb.cc",
+ "dist/src/google/protobuf/unknown_field_set.cc",
+ "dist/src/google/protobuf/wire_format.cc",
+ "dist/src/google/protobuf/wrappers.pb.cc",
+ "dist/src/google/protobuf/io/gzip_stream.cc",
+ "dist/src/google/protobuf/io/printer.cc",
+ "dist/src/google/protobuf/io/tokenizer.cc",
+ "dist/src/google/protobuf/compiler/importer.cc",
+ "dist/src/google/protobuf/compiler/parser.cc",
+ "dist/src/google/protobuf/util/delimited_message_util.cc",
+ "dist/src/google/protobuf/util/field_comparator.cc",
+ "dist/src/google/protobuf/util/field_mask_util.cc",
+ "dist/src/google/protobuf/util/internal/datapiece.cc",
+ "dist/src/google/protobuf/util/internal/default_value_objectwriter.cc",
+ "dist/src/google/protobuf/util/internal/error_listener.cc",
+ "dist/src/google/protobuf/util/internal/field_mask_utility.cc",
+ "dist/src/google/protobuf/util/internal/json_escaping.cc",
+ "dist/src/google/protobuf/util/internal/json_objectwriter.cc",
+ "dist/src/google/protobuf/util/internal/json_stream_parser.cc",
+ "dist/src/google/protobuf/util/internal/object_writer.cc",
+ "dist/src/google/protobuf/util/internal/protostream_objectsource.cc",
+ "dist/src/google/protobuf/util/internal/protostream_objectwriter.cc",
+ "dist/src/google/protobuf/util/internal/proto_writer.cc",
+ "dist/src/google/protobuf/util/internal/type_info.cc",
+ "dist/src/google/protobuf/util/internal/type_info_test_helper.cc",
+ "dist/src/google/protobuf/util/internal/utility.cc",
+ "dist/src/google/protobuf/util/json_util.cc",
+ "dist/src/google/protobuf/util/message_differencer.cc",
+ "dist/src/google/protobuf/util/time_util.cc",
+ "dist/src/google/protobuf/util/type_resolver_util.cc",
+ ],
+ LIBDEPS=[
+ '$BUILD_DIR/third_party/shim_zlib',
+ ],
+)
+
+protobuf_env.Library(
+ target='protoc',
+ source=[
+ "dist/src/google/protobuf/compiler/code_generator.cc",
+ "dist/src/google/protobuf/compiler/command_line_interface.cc",
+ "dist/src/google/protobuf/compiler/plugin.cc",
+ "dist/src/google/protobuf/compiler/plugin.pb.cc",
+ "dist/src/google/protobuf/compiler/subprocess.cc",
+ "dist/src/google/protobuf/compiler/zip_writer.cc",
+ "dist/src/google/protobuf/compiler/cpp/cpp_enum.cc",
+ "dist/src/google/protobuf/compiler/cpp/cpp_enum_field.cc",
+ "dist/src/google/protobuf/compiler/cpp/cpp_extension.cc",
+ "dist/src/google/protobuf/compiler/cpp/cpp_field.cc",
+ "dist/src/google/protobuf/compiler/cpp/cpp_file.cc",
+ "dist/src/google/protobuf/compiler/cpp/cpp_generator.cc",
+ "dist/src/google/protobuf/compiler/cpp/cpp_helpers.cc",
+ "dist/src/google/protobuf/compiler/cpp/cpp_map_field.cc",
+ "dist/src/google/protobuf/compiler/cpp/cpp_message.cc",
+ "dist/src/google/protobuf/compiler/cpp/cpp_message_field.cc",
+ "dist/src/google/protobuf/compiler/cpp/cpp_padding_optimizer.cc",
+ "dist/src/google/protobuf/compiler/cpp/cpp_primitive_field.cc",
+ "dist/src/google/protobuf/compiler/cpp/cpp_service.cc",
+ "dist/src/google/protobuf/compiler/cpp/cpp_string_field.cc",
+ "dist/src/google/protobuf/compiler/java/java_context.cc",
+ "dist/src/google/protobuf/compiler/java/java_enum.cc",
+ "dist/src/google/protobuf/compiler/java/java_enum_lite.cc",
+ "dist/src/google/protobuf/compiler/java/java_enum_field.cc",
+ "dist/src/google/protobuf/compiler/java/java_enum_field_lite.cc",
+ "dist/src/google/protobuf/compiler/java/java_extension.cc",
+ "dist/src/google/protobuf/compiler/java/java_extension_lite.cc",
+ "dist/src/google/protobuf/compiler/java/java_field.cc",
+ "dist/src/google/protobuf/compiler/java/java_file.cc",
+ "dist/src/google/protobuf/compiler/java/java_generator.cc",
+ "dist/src/google/protobuf/compiler/java/java_generator_factory.cc",
+ "dist/src/google/protobuf/compiler/java/java_helpers.cc",
+ "dist/src/google/protobuf/compiler/java/java_map_field.cc",
+ "dist/src/google/protobuf/compiler/java/java_map_field_lite.cc",
+ "dist/src/google/protobuf/compiler/java/java_message.cc",
+ "dist/src/google/protobuf/compiler/java/java_message_lite.cc",
+ "dist/src/google/protobuf/compiler/java/java_message_builder.cc",
+ "dist/src/google/protobuf/compiler/java/java_message_builder_lite.cc",
+ "dist/src/google/protobuf/compiler/java/java_message_field.cc",
+ "dist/src/google/protobuf/compiler/java/java_message_field_lite.cc",
+ "dist/src/google/protobuf/compiler/java/java_name_resolver.cc",
+ "dist/src/google/protobuf/compiler/java/java_primitive_field.cc",
+ "dist/src/google/protobuf/compiler/java/java_primitive_field_lite.cc",
+ "dist/src/google/protobuf/compiler/java/java_shared_code_generator.cc",
+ "dist/src/google/protobuf/compiler/java/java_service.cc",
+ "dist/src/google/protobuf/compiler/java/java_string_field.cc",
+ "dist/src/google/protobuf/compiler/java/java_string_field_lite.cc",
+ "dist/src/google/protobuf/compiler/java/java_doc_comment.cc",
+ "dist/src/google/protobuf/compiler/js/js_generator.cc",
+ "dist/src/google/protobuf/compiler/js/well_known_types_embed.cc",
+ "dist/src/google/protobuf/compiler/objectivec/objectivec_enum.cc",
+ "dist/src/google/protobuf/compiler/objectivec/objectivec_enum_field.cc",
+ "dist/src/google/protobuf/compiler/objectivec/objectivec_extension.cc",
+ "dist/src/google/protobuf/compiler/objectivec/objectivec_field.cc",
+ "dist/src/google/protobuf/compiler/objectivec/objectivec_file.cc",
+ "dist/src/google/protobuf/compiler/objectivec/objectivec_generator.cc",
+ "dist/src/google/protobuf/compiler/objectivec/objectivec_helpers.cc",
+ "dist/src/google/protobuf/compiler/objectivec/objectivec_map_field.cc",
+ "dist/src/google/protobuf/compiler/objectivec/objectivec_message.cc",
+ "dist/src/google/protobuf/compiler/objectivec/objectivec_message_field.cc",
+ "dist/src/google/protobuf/compiler/objectivec/objectivec_oneof.cc",
+ "dist/src/google/protobuf/compiler/objectivec/objectivec_primitive_field.cc",
+ "dist/src/google/protobuf/compiler/php/php_generator.cc",
+ "dist/src/google/protobuf/compiler/python/python_generator.cc",
+ "dist/src/google/protobuf/compiler/ruby/ruby_generator.cc",
+ "dist/src/google/protobuf/compiler/csharp/csharp_doc_comment.cc",
+ "dist/src/google/protobuf/compiler/csharp/csharp_enum.cc",
+ "dist/src/google/protobuf/compiler/csharp/csharp_enum_field.cc",
+ "dist/src/google/protobuf/compiler/csharp/csharp_field_base.cc",
+ "dist/src/google/protobuf/compiler/csharp/csharp_generator.cc",
+ "dist/src/google/protobuf/compiler/csharp/csharp_helpers.cc",
+ "dist/src/google/protobuf/compiler/csharp/csharp_map_field.cc",
+ "dist/src/google/protobuf/compiler/csharp/csharp_message.cc",
+ "dist/src/google/protobuf/compiler/csharp/csharp_message_field.cc",
+ "dist/src/google/protobuf/compiler/csharp/csharp_primitive_field.cc",
+ "dist/src/google/protobuf/compiler/csharp/csharp_reflection_class.cc",
+ "dist/src/google/protobuf/compiler/csharp/csharp_repeated_enum_field.cc",
+ "dist/src/google/protobuf/compiler/csharp/csharp_repeated_message_field.cc",
+ "dist/src/google/protobuf/compiler/csharp/csharp_repeated_primitive_field.cc",
+ "dist/src/google/protobuf/compiler/csharp/csharp_source_generator_base.cc",
+ "dist/src/google/protobuf/compiler/csharp/csharp_wrapper_field.cc",
+ ],
+ LIBDEPS=[
+ 'protobuf',
+ ],
+)
+
+protobuf_env.Program(
+ target='protobuf_compiler',
+ source=['dist/src/google/protobuf/compiler/main.cc'],
+ LIBDEPS=[
+ 'protobuf',
+ 'protoc',
+ ],
+ AIB_COMPONENT='protobuf',
+)
diff --git a/src/third_party/re2/SConscript b/src/third_party/re2/SConscript
new file mode 100644
index 00000000000..1760146c9b7
--- /dev/null
+++ b/src/third_party/re2/SConscript
@@ -0,0 +1,47 @@
+Import('env')
+
+re2_env = env.Clone()
+
+re2_root = re2_env.Dir(".").srcnode()
+re2_env.Append(CPPPATH=[re2_root.Dir("dist"),])
+
+if re2_env.ToolchainIs('gcc', 'clang'):
+ re2_env.Append(CCFLAGS=['-pthread'])
+if re2_env.ToolchainIs('msvc'):
+ re2_env.Append(
+ CPPDEFINES=[
+ 'NOMINMAX',
+ ],
+ CCFLAGS=[
+ '/wd4996', # The POSIX name for this item is deprecated
+ ],
+ )
+
+
+re2_env.Library(
+ target="re2",
+ source=[
+ "dist/re2/perl_groups.cc",
+ "dist/re2/unicode_casefold.cc",
+ "dist/re2/unicode_groups.cc",
+ "dist/re2/stringpiece.cc",
+ "dist/re2/tostring.cc",
+ "dist/re2/mimics_pcre.cc",
+ "dist/re2/simplify.cc",
+ "dist/re2/bitstate.cc",
+ "dist/re2/onepass.cc",
+ "dist/re2/prefilter.cc",
+ "dist/re2/parse.cc",
+ "dist/re2/re2.cc",
+ "dist/re2/filtered_re2.cc",
+ "dist/re2/nfa.cc",
+ "dist/re2/set.cc",
+ "dist/re2/prefilter_tree.cc",
+ "dist/re2/compile.cc",
+ "dist/re2/prog.cc",
+ "dist/re2/dfa.cc",
+ "dist/re2/regexp.cc",
+ "dist/util/rune.cc",
+ "dist/util/strutil.cc",
+ ],
+) \ No newline at end of file