aboutsummaryrefslogtreecommitdiffstats
path: root/contrib/libs
diff options
context:
space:
mode:
authorthegeorg <thegeorg@yandex-team.com>2022-11-02 12:00:25 +0300
committerthegeorg <thegeorg@yandex-team.com>2022-11-02 12:00:25 +0300
commit56086cfd6edecd0aec84a9b19ebf508e65b79e9d (patch)
treeb07862bc7090d55666c870cb063c3ce0f46b6f5b /contrib/libs
parente3ffb0af25c5c456263ecb50cd8d4cec27e37dc4 (diff)
downloadydb-56086cfd6edecd0aec84a9b19ebf508e65b79e9d.tar.gz
Cleanup unused grpc targets
* Merge grpc (core), grpc++ and gpr libraries into contrib/libs/grpc * Drop unused grpc_unsecure, grpc++_unsecure and grpc++_error_details * Remove abundance of hacks from import routine
Diffstat (limited to 'contrib/libs')
-rw-r--r--contrib/libs/grpc/CMakeLists.txt763
-rw-r--r--contrib/libs/grpc/grpc++/CMakeLists.txt115
-rw-r--r--contrib/libs/grpc/grpc/CMakeLists.txt652
-rw-r--r--contrib/libs/grpc/include/grpcpp/ext/server_load_reporting.h54
-rw-r--r--contrib/libs/grpc/include/grpcpp/security/alts_context.h69
-rw-r--r--contrib/libs/grpc/include/grpcpp/security/alts_util.h50
-rw-r--r--contrib/libs/grpc/include/grpcpp/support/error_details.h76
-rw-r--r--contrib/libs/grpc/src/CMakeLists.txt1
-rw-r--r--contrib/libs/grpc/src/compiler/csharp_generator.cc829
-rw-r--r--contrib/libs/grpc/src/compiler/csharp_generator.h (renamed from contrib/libs/grpc/src/cpp/common/insecure_create_auth_context.cc)20
-rw-r--r--contrib/libs/grpc/src/compiler/csharp_generator_helpers.h44
-rw-r--r--contrib/libs/grpc/src/compiler/grpc_plugin_support/CMakeLists.txt5
-rw-r--r--contrib/libs/grpc/src/compiler/node_generator.cc276
-rw-r--r--contrib/libs/grpc/src/compiler/node_generator.h37
-rw-r--r--contrib/libs/grpc/src/compiler/node_generator_helpers.h42
-rw-r--r--contrib/libs/grpc/src/compiler/objective_c_generator.cc451
-rw-r--r--contrib/libs/grpc/src/compiler/objective_c_generator.h60
-rw-r--r--contrib/libs/grpc/src/compiler/objective_c_generator_helpers.h95
-rw-r--r--contrib/libs/grpc/src/compiler/php_generator.cc340
-rw-r--r--contrib/libs/grpc/src/compiler/php_generator_helpers.h78
-rw-r--r--contrib/libs/grpc/src/compiler/ruby_generator.cc215
-rw-r--r--contrib/libs/grpc/src/compiler/ruby_generator.h (renamed from contrib/libs/grpc/src/core/lib/surface/init_unsecure.cc)13
-rw-r--r--contrib/libs/grpc/src/compiler/ruby_generator_helpers-inl.h58
-rw-r--r--contrib/libs/grpc/src/compiler/ruby_generator_map-inl.h57
-rw-r--r--contrib/libs/grpc/src/compiler/ruby_generator_string-inl.h149
-rw-r--r--contrib/libs/grpc/src/core/CMakeLists.txt9
-rw-r--r--contrib/libs/grpc/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_channel.cc36
-rw-r--r--contrib/libs/grpc/src/core/lib/CMakeLists.txt85
-rw-r--r--contrib/libs/grpc/src/core/lib/event_engine/event_engine_factory.h33
-rw-r--r--contrib/libs/grpc/src/core/lib/iomgr/cfstream_handle.cc4
-rw-r--r--contrib/libs/grpc/src/core/lib/iomgr/cfstream_handle.h90
-rw-r--r--contrib/libs/grpc/src/core/lib/iomgr/endpoint_cfstream.cc6
-rw-r--r--contrib/libs/grpc/src/core/lib/iomgr/endpoint_cfstream.h49
-rw-r--r--contrib/libs/grpc/src/core/lib/iomgr/error_cfstream.h31
-rw-r--r--contrib/libs/grpc/src/core/lib/iomgr/event_engine/closure.cc4
-rw-r--r--contrib/libs/grpc/src/core/lib/iomgr/event_engine/closure.h42
-rw-r--r--contrib/libs/grpc/src/core/lib/iomgr/event_engine/endpoint.cc6
-rw-r--r--contrib/libs/grpc/src/core/lib/iomgr/event_engine/endpoint.h52
-rw-r--r--contrib/libs/grpc/src/core/lib/iomgr/event_engine/pollset.cc2
-rw-r--r--contrib/libs/grpc/src/core/lib/iomgr/event_engine/pollset.h25
-rw-r--r--contrib/libs/grpc/src/core/lib/iomgr/event_engine/promise.h51
-rw-r--r--contrib/libs/grpc/src/core/lib/iomgr/event_engine/resolver.cc4
-rw-r--r--contrib/libs/grpc/src/core/lib/iomgr/event_engine/tcp.cc8
-rw-r--r--contrib/libs/grpc/src/core/lib/iomgr/event_engine/timer.cc4
-rw-r--r--contrib/libs/grpc/src/core/lib/iomgr/tcp_client_cfstream.cc6
-rw-r--r--contrib/libs/grpc/src/core/lib/security/authorization/authorization_policy_provider_null_vtable.cc24
-rw-r--r--contrib/libs/grpc/src/core/plugin_registry/grpc_unsecure_plugin_registry.cc125
-rw-r--r--contrib/libs/grpc/src/cpp/common/alts_context.cc127
-rw-r--r--contrib/libs/grpc/src/cpp/common/alts_util.cc82
-rw-r--r--contrib/libs/grpc/src/cpp/server/load_reporter/constants.h83
-rw-r--r--contrib/libs/grpc/src/cpp/server/load_reporter/get_cpu_stats.h36
-rw-r--r--contrib/libs/grpc/src/cpp/server/load_reporter/get_cpu_stats_linux.cc51
-rw-r--r--contrib/libs/grpc/src/cpp/server/load_reporter/get_cpu_stats_macos.cc45
-rw-r--r--contrib/libs/grpc/src/cpp/server/load_reporter/get_cpu_stats_unsupported.cc40
-rw-r--r--contrib/libs/grpc/src/cpp/server/load_reporter/get_cpu_stats_windows.cc56
-rw-r--r--contrib/libs/grpc/src/cpp/server/load_reporter/load_data_store.cc340
-rw-r--r--contrib/libs/grpc/src/cpp/server/load_reporter/load_data_store.h348
-rw-r--r--contrib/libs/grpc/src/cpp/server/load_reporter/util.cc46
-rw-r--r--contrib/libs/grpc/src/cpp/util/error_details.cc19
-rw-r--r--contrib/libs/grpc/tools/README.md23
-rw-r--r--contrib/libs/grpc/tools/codegen/core/gen_hpack_tables.cc247
61 files changed, 3534 insertions, 3254 deletions
diff --git a/contrib/libs/grpc/CMakeLists.txt b/contrib/libs/grpc/CMakeLists.txt
index 4f25d8832f..6c2673734c 100644
--- a/contrib/libs/grpc/CMakeLists.txt
+++ b/contrib/libs/grpc/CMakeLists.txt
@@ -6,15 +6,766 @@
# original buildsystem will not be accepted.
-add_subdirectory(grpc)
-add_subdirectory(grpc++)
+find_package(OpenSSL REQUIRED)
+find_package(ZLIB REQUIRED)
+find_package(c-ares REQUIRED)
add_subdirectory(src)
add_subdirectory(third_party)
-add_library(contrib-libs-grpc INTERFACE)
-target_link_libraries(contrib-libs-grpc INTERFACE
+add_library(contrib-libs-grpc)
+target_compile_options(contrib-libs-grpc PRIVATE
+ -DGRPC_POSIX_FORK_ALLOW_PTHREAD_ATFORK=1
+ -Wno-everything
+)
+target_include_directories(contrib-libs-grpc PUBLIC
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/include
+)
+target_include_directories(contrib-libs-grpc PRIVATE
+ ${CMAKE_SOURCE_DIR}/contrib/libs/c-ares/include
+ ${CMAKE_BINARY_DIR}/contrib/libs/grpc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upb-generated
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upbdefs-generated
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/third_party/address_sorting/include
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/third_party/upb
+ ${CMAKE_SOURCE_DIR}/contrib/libs/re2
+ ${CMAKE_SOURCE_DIR}/contrib/libs/xxhash
+)
+target_link_libraries(contrib-libs-grpc PUBLIC
contrib-libs-cxxsupp
yutil
- libs-grpc-grpc
- libs-grpc-grpc++
+ certs
+ c-ares::c-ares
+ grpc-third_party-address_sorting
+ grpc-third_party-upb
+ OpenSSL::OpenSSL
+ contrib-libs-re2
+ contrib-libs-xxhash
+ ZLIB::ZLIB
+ abseil-cpp-tstring-y_absl-algorithm
+ abseil-cpp-tstring-y_absl-base
+ abseil-cpp-tstring-y_absl-container
+ abseil-cpp-tstring-y_absl-functional
+ abseil-cpp-tstring-y_absl-hash
+ abseil-cpp-tstring-y_absl-meta
+ abseil-cpp-tstring-y_absl-status
+ abseil-cpp-tstring-y_absl-strings
+ abseil-cpp-tstring-y_absl-synchronization
+ abseil-cpp-tstring-y_absl-time
+ abseil-cpp-tstring-y_absl-types
+ abseil-cpp-tstring-y_absl-utility
+ library-cpp-resource
+)
+target_sources(contrib-libs-grpc PRIVATE
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/filters/census/grpc_context.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/filters/client_channel/backend_metric.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/filters/client_channel/backup_poller.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/filters/client_channel/channel_connectivity.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/filters/client_channel/client_channel.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/filters/client_channel/client_channel_channelz.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/filters/client_channel/client_channel_factory.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/filters/client_channel/client_channel_plugin.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/filters/client_channel/config_selector.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/filters/client_channel/dynamic_filters.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/filters/client_channel/global_subchannel_pool.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/filters/client_channel/health/health_check_client.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/filters/client_channel/http_connect_handshaker.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/filters/client_channel/http_proxy.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/filters/client_channel/lb_policy.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/filters/client_channel/lb_policy/address_filtering.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/filters/client_channel/lb_policy/child_policy_handler.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/filters/client_channel/lb_policy/grpclb/client_load_reporting_filter.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_balancer_addresses.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_channel_secure.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_client_stats.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/filters/client_channel/lb_policy/priority/priority.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/filters/client_channel/lb_policy/ring_hash/ring_hash.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/filters/client_channel/lb_policy/rls/rls.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/filters/client_channel/lb_policy/round_robin/round_robin.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/filters/client_channel/lb_policy/weighted_target/weighted_target.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/filters/client_channel/lb_policy/xds/cds.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_impl.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_manager.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_resolver.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/filters/client_channel/lb_policy_registry.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/filters/client_channel/local_subchannel_pool.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/filters/client_channel/proxy_mapper_registry.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/filters/client_channel/resolver.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/filters/client_channel/resolver/binder/binder_resolver.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_event_engine.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_posix.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_windows.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper_event_engine.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper_posix.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper_windows.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/filters/client_channel/resolver/dns/dns_resolver_selection.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/filters/client_channel/resolver/dns/native/dns_resolver.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/filters/client_channel/resolver/fake/fake_resolver.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/filters/client_channel/resolver/google_c2p/google_c2p_resolver.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/filters/client_channel/resolver/sockaddr/sockaddr_resolver.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/filters/client_channel/resolver/xds/xds_resolver.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/filters/client_channel/resolver_registry.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/filters/client_channel/resolver_result_parsing.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/filters/client_channel/retry_filter.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/filters/client_channel/retry_service_config.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/filters/client_channel/retry_throttle.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/filters/client_channel/server_address.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/filters/client_channel/service_config_channel_arg_filter.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/filters/client_channel/subchannel.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/filters/client_channel/subchannel_pool_interface.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/filters/client_idle/client_idle_filter.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/filters/client_idle/idle_filter_state.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/filters/deadline/deadline_filter.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/filters/fault_injection/fault_injection_filter.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/filters/fault_injection/service_config_parser.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/filters/http/client/http_client_filter.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/filters/http/client_authority_filter.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/filters/http/http_filters_plugin.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/filters/http/message_compress/message_compress_filter.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/filters/http/message_compress/message_decompress_filter.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/filters/http/server/http_server_filter.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/filters/max_age/max_age_filter.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/filters/message_size/message_size_filter.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/filters/server_config_selector/server_config_selector.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/filters/server_config_selector/server_config_selector_filter.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/service_config/service_config.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/service_config/service_config_parser.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/transport/binder/client/binder_connector.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/transport/binder/client/channel_create.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/transport/binder/client/channel_create_impl.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/transport/binder/client/connection_id_generator.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/transport/binder/client/endpoint_binder_pool.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/transport/binder/client/jni_utils.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/transport/binder/client/security_policy_setting.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/transport/binder/security_policy/binder_security_policy.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/transport/binder/server/binder_server.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/transport/binder/server/binder_server_credentials.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/transport/binder/transport/binder_transport.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/transport/binder/utils/ndk_binder.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/transport/binder/utils/transport_stream_receiver_impl.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/transport/binder/wire_format/binder_android.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/transport/binder/wire_format/binder_constants.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/transport/binder/wire_format/transaction.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/transport/binder/wire_format/wire_reader_impl.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/transport/binder/wire_format/wire_writer.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/transport/chttp2/alpn/alpn.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/transport/chttp2/client/chttp2_connector.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/transport/chttp2/client/insecure/channel_create.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/transport/chttp2/client/insecure/channel_create_posix.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/transport/chttp2/client/secure/secure_channel_create.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/transport/chttp2/server/chttp2_server.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/transport/chttp2/server/insecure/server_chttp2.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/transport/chttp2/server/insecure/server_chttp2_posix.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/transport/chttp2/server/secure/server_secure_chttp2.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/transport/chttp2/transport/bin_decoder.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/transport/chttp2/transport/bin_encoder.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/transport/chttp2/transport/chttp2_plugin.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/transport/chttp2/transport/chttp2_transport.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/transport/chttp2/transport/context_list.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/transport/chttp2/transport/flow_control.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/transport/chttp2/transport/frame_data.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/transport/chttp2/transport/frame_goaway.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/transport/chttp2/transport/frame_ping.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/transport/chttp2/transport/frame_rst_stream.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/transport/chttp2/transport/frame_settings.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/transport/chttp2/transport/frame_window_update.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/transport/chttp2/transport/hpack_encoder.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/transport/chttp2/transport/hpack_encoder_table.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/transport/chttp2/transport/hpack_parser.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/transport/chttp2/transport/hpack_parser_table.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/transport/chttp2/transport/hpack_utils.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/transport/chttp2/transport/http2_settings.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/transport/chttp2/transport/huffsyms.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/transport/chttp2/transport/parsing.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/transport/chttp2/transport/stream_lists.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/transport/chttp2/transport/stream_map.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/transport/chttp2/transport/varint.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/transport/chttp2/transport/writing.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/transport/inproc/inproc_plugin.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/transport/inproc/inproc_transport.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upb-generated/envoy/admin/v3/config_dump.upb.c
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upb-generated/envoy/annotations/deprecation.upb.c
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upb-generated/envoy/annotations/resource.upb.c
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upb-generated/envoy/config/accesslog/v3/accesslog.upb.c
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upb-generated/envoy/config/bootstrap/v3/bootstrap.upb.c
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upb-generated/envoy/config/cluster/v3/circuit_breaker.upb.c
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upb-generated/envoy/config/cluster/v3/cluster.upb.c
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upb-generated/envoy/config/cluster/v3/filter.upb.c
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upb-generated/envoy/config/cluster/v3/outlier_detection.upb.c
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upb-generated/envoy/config/core/v3/address.upb.c
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upb-generated/envoy/config/core/v3/backoff.upb.c
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upb-generated/envoy/config/core/v3/base.upb.c
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upb-generated/envoy/config/core/v3/config_source.upb.c
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upb-generated/envoy/config/core/v3/event_service_config.upb.c
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upb-generated/envoy/config/core/v3/extension.upb.c
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upb-generated/envoy/config/core/v3/grpc_service.upb.c
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upb-generated/envoy/config/core/v3/health_check.upb.c
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upb-generated/envoy/config/core/v3/http_uri.upb.c
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upb-generated/envoy/config/core/v3/protocol.upb.c
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upb-generated/envoy/config/core/v3/proxy_protocol.upb.c
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upb-generated/envoy/config/core/v3/resolver.upb.c
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upb-generated/envoy/config/core/v3/socket_option.upb.c
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upb-generated/envoy/config/core/v3/substitution_format_string.upb.c
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upb-generated/envoy/config/core/v3/udp_socket_config.upb.c
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint.upb.c
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint_components.upb.c
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upb-generated/envoy/config/endpoint/v3/load_report.upb.c
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upb-generated/envoy/config/listener/v3/api_listener.upb.c
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upb-generated/envoy/config/listener/v3/listener.upb.c
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upb-generated/envoy/config/listener/v3/listener_components.upb.c
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upb-generated/envoy/config/listener/v3/quic_config.upb.c
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upb-generated/envoy/config/listener/v3/udp_listener_config.upb.c
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upb-generated/envoy/config/metrics/v3/stats.upb.c
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upb-generated/envoy/config/overload/v3/overload.upb.c
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upb-generated/envoy/config/rbac/v3/rbac.upb.c
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upb-generated/envoy/config/route/v3/route.upb.c
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upb-generated/envoy/config/route/v3/route_components.upb.c
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upb-generated/envoy/config/route/v3/scoped_route.upb.c
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upb-generated/envoy/config/trace/v3/http_tracer.upb.c
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upb-generated/envoy/extensions/clusters/aggregate/v3/cluster.upb.c
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upb-generated/envoy/extensions/filters/common/fault/v3/fault.upb.c
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upb-generated/envoy/extensions/filters/http/fault/v3/fault.upb.c
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upb-generated/envoy/extensions/filters/http/router/v3/router.upb.c
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upb-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.c
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/cert.upb.c
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/common.upb.c
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/secret.upb.c
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/tls.upb.c
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upb-generated/envoy/service/cluster/v3/cds.upb.c
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upb-generated/envoy/service/discovery/v3/ads.upb.c
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upb-generated/envoy/service/discovery/v3/discovery.upb.c
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upb-generated/envoy/service/endpoint/v3/eds.upb.c
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upb-generated/envoy/service/listener/v3/lds.upb.c
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upb-generated/envoy/service/load_stats/v3/lrs.upb.c
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upb-generated/envoy/service/route/v3/rds.upb.c
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upb-generated/envoy/service/route/v3/srds.upb.c
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upb-generated/envoy/service/status/v3/csds.upb.c
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upb-generated/envoy/type/http/v3/path_transformation.upb.c
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upb-generated/envoy/type/matcher/v3/metadata.upb.c
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upb-generated/envoy/type/matcher/v3/node.upb.c
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upb-generated/envoy/type/matcher/v3/number.upb.c
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upb-generated/envoy/type/matcher/v3/path.upb.c
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upb-generated/envoy/type/matcher/v3/regex.upb.c
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upb-generated/envoy/type/matcher/v3/string.upb.c
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upb-generated/envoy/type/matcher/v3/struct.upb.c
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upb-generated/envoy/type/matcher/v3/value.upb.c
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upb-generated/envoy/type/metadata/v3/metadata.upb.c
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upb-generated/envoy/type/tracing/v3/custom_tag.upb.c
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upb-generated/envoy/type/v3/http.upb.c
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upb-generated/envoy/type/v3/percent.upb.c
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upb-generated/envoy/type/v3/range.upb.c
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upb-generated/envoy/type/v3/semantic_version.upb.c
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upb-generated/google/api/annotations.upb.c
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upb-generated/google/api/expr/v1alpha1/checked.upb.c
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upb-generated/google/api/expr/v1alpha1/eval.upb.c
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upb-generated/google/api/expr/v1alpha1/explain.upb.c
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upb-generated/google/api/expr/v1alpha1/syntax.upb.c
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upb-generated/google/api/expr/v1alpha1/value.upb.c
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upb-generated/google/api/http.upb.c
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upb-generated/google/protobuf/any.upb.c
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upb-generated/google/protobuf/descriptor.upb.c
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upb-generated/google/protobuf/duration.upb.c
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upb-generated/google/protobuf/empty.upb.c
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upb-generated/google/protobuf/struct.upb.c
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upb-generated/google/protobuf/timestamp.upb.c
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upb-generated/google/protobuf/wrappers.upb.c
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upb-generated/google/rpc/status.upb.c
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upb-generated/src/proto/grpc/gcp/altscontext.upb.c
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upb-generated/src/proto/grpc/gcp/handshaker.upb.c
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upb-generated/src/proto/grpc/gcp/transport_security_common.upb.c
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upb-generated/src/proto/grpc/health/v1/health.upb.c
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upb-generated/src/proto/grpc/lb/v1/load_balancer.upb.c
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upb-generated/src/proto/grpc/lookup/v1/rls.upb.c
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upb-generated/udpa/annotations/migrate.upb.c
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upb-generated/udpa/annotations/security.upb.c
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upb-generated/udpa/annotations/sensitive.upb.c
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upb-generated/udpa/annotations/status.upb.c
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upb-generated/udpa/annotations/versioning.upb.c
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upb-generated/validate/validate.upb.c
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upb-generated/xds/annotations/v3/status.upb.c
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upb-generated/xds/core/v3/authority.upb.c
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upb-generated/xds/core/v3/collection_entry.upb.c
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upb-generated/xds/core/v3/context_params.upb.c
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upb-generated/xds/core/v3/resource.upb.c
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upb-generated/xds/core/v3/resource_locator.upb.c
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upb-generated/xds/core/v3/resource_name.upb.c
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upb-generated/xds/data/orca/v3/orca_load_report.upb.c
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upb-generated/xds/type/v3/typed_struct.upb.c
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upbdefs-generated/envoy/admin/v3/config_dump.upbdefs.c
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upbdefs-generated/envoy/annotations/deprecation.upbdefs.c
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upbdefs-generated/envoy/annotations/resource.upbdefs.c
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upbdefs-generated/envoy/config/accesslog/v3/accesslog.upbdefs.c
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upbdefs-generated/envoy/config/bootstrap/v3/bootstrap.upbdefs.c
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/circuit_breaker.upbdefs.c
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/cluster.upbdefs.c
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/filter.upbdefs.c
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/outlier_detection.upbdefs.c
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upbdefs-generated/envoy/config/core/v3/address.upbdefs.c
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upbdefs-generated/envoy/config/core/v3/backoff.upbdefs.c
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upbdefs-generated/envoy/config/core/v3/base.upbdefs.c
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upbdefs-generated/envoy/config/core/v3/config_source.upbdefs.c
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upbdefs-generated/envoy/config/core/v3/event_service_config.upbdefs.c
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upbdefs-generated/envoy/config/core/v3/extension.upbdefs.c
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upbdefs-generated/envoy/config/core/v3/grpc_service.upbdefs.c
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upbdefs-generated/envoy/config/core/v3/health_check.upbdefs.c
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upbdefs-generated/envoy/config/core/v3/http_uri.upbdefs.c
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upbdefs-generated/envoy/config/core/v3/protocol.upbdefs.c
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upbdefs-generated/envoy/config/core/v3/proxy_protocol.upbdefs.c
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upbdefs-generated/envoy/config/core/v3/resolver.upbdefs.c
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upbdefs-generated/envoy/config/core/v3/socket_option.upbdefs.c
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upbdefs-generated/envoy/config/core/v3/substitution_format_string.upbdefs.c
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upbdefs-generated/envoy/config/core/v3/udp_socket_config.upbdefs.c
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/endpoint.upbdefs.c
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/endpoint_components.upbdefs.c
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/load_report.upbdefs.c
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upbdefs-generated/envoy/config/listener/v3/api_listener.upbdefs.c
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upbdefs-generated/envoy/config/listener/v3/listener.upbdefs.c
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upbdefs-generated/envoy/config/listener/v3/listener_components.upbdefs.c
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upbdefs-generated/envoy/config/listener/v3/quic_config.upbdefs.c
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upbdefs-generated/envoy/config/listener/v3/udp_listener_config.upbdefs.c
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upbdefs-generated/envoy/config/metrics/v3/stats.upbdefs.c
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upbdefs-generated/envoy/config/overload/v3/overload.upbdefs.c
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upbdefs-generated/envoy/config/route/v3/route.upbdefs.c
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upbdefs-generated/envoy/config/route/v3/route_components.upbdefs.c
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upbdefs-generated/envoy/config/route/v3/scoped_route.upbdefs.c
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upbdefs-generated/envoy/config/trace/v3/http_tracer.upbdefs.c
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upbdefs-generated/envoy/extensions/clusters/aggregate/v3/cluster.upbdefs.c
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upbdefs-generated/envoy/extensions/filters/common/fault/v3/fault.upbdefs.c
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/fault/v3/fault.upbdefs.c
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/router/v3/router.upbdefs.c
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upbdefs-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upbdefs.c
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/cert.upbdefs.c
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/common.upbdefs.c
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/secret.upbdefs.c
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/tls.upbdefs.c
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upbdefs-generated/envoy/service/cluster/v3/cds.upbdefs.c
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upbdefs-generated/envoy/service/discovery/v3/ads.upbdefs.c
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upbdefs-generated/envoy/service/discovery/v3/discovery.upbdefs.c
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upbdefs-generated/envoy/service/endpoint/v3/eds.upbdefs.c
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upbdefs-generated/envoy/service/listener/v3/lds.upbdefs.c
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upbdefs-generated/envoy/service/load_stats/v3/lrs.upbdefs.c
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upbdefs-generated/envoy/service/route/v3/rds.upbdefs.c
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upbdefs-generated/envoy/service/route/v3/srds.upbdefs.c
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upbdefs-generated/envoy/service/status/v3/csds.upbdefs.c
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upbdefs-generated/envoy/type/http/v3/path_transformation.upbdefs.c
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/metadata.upbdefs.c
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/node.upbdefs.c
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/number.upbdefs.c
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/path.upbdefs.c
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/regex.upbdefs.c
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/string.upbdefs.c
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/struct.upbdefs.c
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/value.upbdefs.c
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upbdefs-generated/envoy/type/metadata/v3/metadata.upbdefs.c
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upbdefs-generated/envoy/type/tracing/v3/custom_tag.upbdefs.c
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upbdefs-generated/envoy/type/v3/http.upbdefs.c
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upbdefs-generated/envoy/type/v3/percent.upbdefs.c
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upbdefs-generated/envoy/type/v3/range.upbdefs.c
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upbdefs-generated/envoy/type/v3/semantic_version.upbdefs.c
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upbdefs-generated/google/api/annotations.upbdefs.c
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upbdefs-generated/google/api/http.upbdefs.c
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upbdefs-generated/google/protobuf/any.upbdefs.c
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upbdefs-generated/google/protobuf/descriptor.upbdefs.c
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upbdefs-generated/google/protobuf/duration.upbdefs.c
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upbdefs-generated/google/protobuf/empty.upbdefs.c
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upbdefs-generated/google/protobuf/struct.upbdefs.c
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upbdefs-generated/google/protobuf/timestamp.upbdefs.c
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upbdefs-generated/google/protobuf/wrappers.upbdefs.c
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upbdefs-generated/google/rpc/status.upbdefs.c
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upbdefs-generated/udpa/annotations/migrate.upbdefs.c
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upbdefs-generated/udpa/annotations/security.upbdefs.c
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upbdefs-generated/udpa/annotations/sensitive.upbdefs.c
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upbdefs-generated/udpa/annotations/status.upbdefs.c
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upbdefs-generated/udpa/annotations/versioning.upbdefs.c
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upbdefs-generated/validate/validate.upbdefs.c
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upbdefs-generated/xds/annotations/v3/status.upbdefs.c
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upbdefs-generated/xds/core/v3/authority.upbdefs.c
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upbdefs-generated/xds/core/v3/collection_entry.upbdefs.c
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upbdefs-generated/xds/core/v3/context_params.upbdefs.c
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upbdefs-generated/xds/core/v3/resource.upbdefs.c
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upbdefs-generated/xds/core/v3/resource_locator.upbdefs.c
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upbdefs-generated/xds/core/v3/resource_name.upbdefs.c
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upbdefs-generated/xds/type/v3/typed_struct.upbdefs.c
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/xds/certificate_provider_registry.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/xds/certificate_provider_store.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/xds/file_watcher_certificate_provider_factory.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/xds/xds_api.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/xds/xds_bootstrap.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/xds/xds_certificate_provider.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/xds/xds_channel_stack_modifier.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/xds/xds_client.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/xds/xds_client_stats.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/xds/xds_http_fault_filter.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/xds/xds_http_filters.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/xds/xds_routing.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/xds/xds_server_config_fetcher.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/address_utils/parse_address.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/address_utils/sockaddr_utils.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/backoff/backoff.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/channel/channel_args.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/channel/channel_args_preconditioning.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/channel/channel_stack.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/channel/channel_stack_builder.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/channel/channel_trace.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/channel/channelz.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/channel/channelz_registry.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/channel/connected_channel.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/channel/handshaker.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/channel/handshaker_registry.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/channel/status_util.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/compression/compression.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/compression/compression_args.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/compression/compression_internal.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/compression/message_compress.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/compression/stream_compression.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/compression/stream_compression_gzip.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/compression/stream_compression_identity.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/config/core_configuration.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/debug/stats.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/debug/stats_data.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/debug/trace.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/event_engine/channel_args_endpoint_config.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/event_engine/event_engine.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/event_engine/event_engine_factory.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/event_engine/memory_allocator.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/event_engine/sockaddr.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/gpr/alloc.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/gpr/atm.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/gpr/cpu_iphone.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/gpr/cpu_linux.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/gpr/cpu_posix.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/gpr/cpu_windows.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/gpr/env_linux.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/gpr/env_posix.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/gpr/env_windows.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/gpr/log.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/gpr/log_android.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/gpr/log_linux.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/gpr/log_posix.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/gpr/log_windows.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/gpr/murmur_hash.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/gpr/string.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/gpr/string_posix.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/gpr/string_util_windows.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/gpr/string_windows.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/gpr/sync.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/gpr/sync_abseil.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/gpr/sync_posix.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/gpr/sync_windows.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/gpr/time.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/gpr/time_posix.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/gpr/time_precise.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/gpr/time_windows.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/gpr/tmpfile_msys.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/gpr/tmpfile_posix.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/gpr/tmpfile_windows.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/gpr/wrap_memcpy.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/gprpp/arena.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/gprpp/examine_stack.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/gprpp/fork.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/gprpp/global_config_env.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/gprpp/host_port.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/gprpp/mpscq.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/gprpp/stat_posix.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/gprpp/stat_windows.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/gprpp/status_helper.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/gprpp/thd_posix.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/gprpp/thd_windows.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/gprpp/time_util.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/http/format_request.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/http/httpcli.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/http/httpcli_security_connector.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/http/parser.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/iomgr/buffer_list.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/iomgr/call_combiner.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/iomgr/cfstream_handle.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/iomgr/combiner.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/iomgr/dualstack_socket_posix.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/iomgr/endpoint.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/iomgr/endpoint_cfstream.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/iomgr/endpoint_pair_event_engine.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/iomgr/endpoint_pair_posix.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/iomgr/endpoint_pair_windows.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/iomgr/error.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/iomgr/error_cfstream.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/iomgr/ev_apple.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/iomgr/ev_epoll1_linux.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/iomgr/ev_epollex_linux.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/iomgr/ev_poll_posix.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/iomgr/ev_posix.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/iomgr/ev_windows.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/iomgr/event_engine/closure.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/iomgr/event_engine/endpoint.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/iomgr/event_engine/iomgr.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/iomgr/event_engine/pollset.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/iomgr/event_engine/resolved_address_internal.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/iomgr/event_engine/resolver.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/iomgr/event_engine/tcp.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/iomgr/event_engine/timer.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/iomgr/exec_ctx.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/iomgr/executor.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/iomgr/executor/mpmcqueue.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/iomgr/executor/threadpool.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/iomgr/fork_posix.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/iomgr/fork_windows.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/iomgr/gethostname_fallback.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/iomgr/gethostname_host_name_max.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/iomgr/gethostname_sysconf.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/iomgr/grpc_if_nametoindex_posix.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/iomgr/grpc_if_nametoindex_unsupported.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/iomgr/internal_errqueue.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/iomgr/iocp_windows.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/iomgr/iomgr.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/iomgr/iomgr_custom.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/iomgr/iomgr_internal.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/iomgr/iomgr_posix.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/iomgr/iomgr_posix_cfstream.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/iomgr/iomgr_windows.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/iomgr/is_epollexclusive_available.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/iomgr/load_file.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/iomgr/lockfree_event.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/iomgr/polling_entity.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/iomgr/pollset.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/iomgr/pollset_custom.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/iomgr/pollset_set.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/iomgr/pollset_set_custom.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/iomgr/pollset_set_windows.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/iomgr/pollset_windows.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/iomgr/resolve_address.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/iomgr/resolve_address_custom.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/iomgr/resolve_address_posix.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/iomgr/resolve_address_windows.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/iomgr/socket_factory_posix.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/iomgr/socket_mutator.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/iomgr/socket_utils_common_posix.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/iomgr/socket_utils_linux.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/iomgr/socket_utils_posix.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/iomgr/socket_utils_windows.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/iomgr/socket_windows.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/iomgr/tcp_client.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/iomgr/tcp_client_cfstream.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/iomgr/tcp_client_custom.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/iomgr/tcp_client_posix.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/iomgr/tcp_client_windows.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/iomgr/tcp_custom.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/iomgr/tcp_posix.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/iomgr/tcp_server.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/iomgr/tcp_server_custom.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/iomgr/tcp_server_posix.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/iomgr/tcp_server_utils_posix_common.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/iomgr/tcp_server_utils_posix_ifaddrs.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/iomgr/tcp_server_utils_posix_noifaddrs.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/iomgr/tcp_server_windows.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/iomgr/tcp_windows.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/iomgr/time_averaged_stats.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/iomgr/timer.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/iomgr/timer_custom.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/iomgr/timer_generic.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/iomgr/timer_heap.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/iomgr/timer_manager.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/iomgr/unix_sockets_posix.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/iomgr/unix_sockets_posix_noop.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/iomgr/wakeup_fd_eventfd.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/iomgr/wakeup_fd_nospecial.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/iomgr/wakeup_fd_pipe.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/iomgr/wakeup_fd_posix.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/iomgr/work_serializer.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/json/json_reader.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/json/json_util.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/json/json_writer.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/matchers/matchers.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/profiling/basic_timers.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/profiling/stap_timers.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/promise/activity.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/resource_quota/api.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/resource_quota/memory_quota.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/resource_quota/resource_quota.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/resource_quota/thread_quota.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/resource_quota/trace.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/security/authorization/authorization_policy_provider_vtable.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/security/authorization/evaluate_args.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/security/authorization/sdk_server_authz_filter.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/security/context/security_context.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/security/credentials/alts/alts_credentials.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/security/credentials/alts/check_gcp_environment.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/security/credentials/alts/check_gcp_environment_linux.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/security/credentials/alts/check_gcp_environment_no_op.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/security/credentials/alts/check_gcp_environment_windows.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/security/credentials/alts/grpc_alts_credentials_client_options.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/security/credentials/alts/grpc_alts_credentials_options.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/security/credentials/alts/grpc_alts_credentials_server_options.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/security/credentials/composite/composite_credentials.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/security/credentials/credentials.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/security/credentials/credentials_metadata.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/security/credentials/external/aws_external_account_credentials.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/security/credentials/external/aws_request_signer.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/security/credentials/external/external_account_credentials.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/security/credentials/external/file_external_account_credentials.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/security/credentials/external/url_external_account_credentials.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/security/credentials/fake/fake_credentials.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/security/credentials/google_default/credentials_generic.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/security/credentials/google_default/google_default_credentials.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/security/credentials/iam/iam_credentials.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/security/credentials/insecure/insecure_credentials.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/security/credentials/jwt/json_token.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/security/credentials/jwt/jwt_credentials.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/security/credentials/jwt/jwt_verifier.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/security/credentials/local/local_credentials.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/security/credentials/oauth2/oauth2_credentials.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/security/credentials/plugin/plugin_credentials.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/security/credentials/ssl/ssl_credentials.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/security/credentials/tls/grpc_tls_certificate_distributor.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/security/credentials/tls/grpc_tls_certificate_provider.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/security/credentials/tls/grpc_tls_certificate_verifier.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/security/credentials/tls/grpc_tls_credentials_options.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/security/credentials/tls/tls_credentials.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/security/credentials/tls/tls_utils.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/security/credentials/xds/xds_credentials.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/security/security_connector/alts/alts_security_connector.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/security/security_connector/fake/fake_security_connector.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/security/security_connector/insecure/insecure_security_connector.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/security/security_connector/load_arcadia_root_certs.cpp
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/security/security_connector/load_system_roots_fallback.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/security/security_connector/load_system_roots_linux.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/security/security_connector/local/local_security_connector.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/security/security_connector/security_connector.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/security/security_connector/ssl/ssl_security_connector.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/security/security_connector/ssl_utils.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/security/security_connector/ssl_utils_config.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/security/security_connector/tls/tls_security_connector.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/security/transport/client_auth_filter.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/security/transport/secure_endpoint.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/security/transport/security_handshaker.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/security/transport/server_auth_filter.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/security/transport/tsi_error.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/security/util/json_util.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/slice/b64.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/slice/percent_encoding.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/slice/slice.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/slice/slice_api.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/slice/slice_buffer.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/slice/slice_intern.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/slice/slice_refcount.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/slice/slice_split.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/slice/slice_string_helpers.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/slice/static_slice.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/surface/api_trace.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/surface/builtins.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/surface/byte_buffer.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/surface/byte_buffer_reader.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/surface/call.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/surface/call_details.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/surface/call_log_batch.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/surface/channel.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/surface/channel_init.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/surface/channel_ping.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/surface/channel_stack_type.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/surface/completion_queue.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/surface/completion_queue_factory.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/surface/event_string.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/surface/init.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/surface/init_secure.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/surface/lame_client.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/surface/metadata_array.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/surface/server.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/surface/validate_metadata.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/surface/version.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/transport/bdp_estimator.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/transport/byte_stream.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/transport/connectivity_state.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/transport/error_utils.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/transport/metadata.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/transport/metadata_batch.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/transport/parsed_metadata.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/transport/pid_controller.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/transport/static_metadata.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/transport/status_conversion.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/transport/status_metadata.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/transport/timeout_encoding.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/transport/transport.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/transport/transport_op_string.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/uri/uri_parser.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/plugin_registry/grpc_plugin_registry.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/tsi/alts/crypt/aes_gcm.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/tsi/alts/crypt/gsec.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/tsi/alts/frame_protector/alts_counter.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/tsi/alts/frame_protector/alts_crypter.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/tsi/alts/frame_protector/alts_frame_protector.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/tsi/alts/frame_protector/alts_record_protocol_crypter_common.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/tsi/alts/frame_protector/alts_seal_privacy_integrity_crypter.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/tsi/alts/frame_protector/alts_unseal_privacy_integrity_crypter.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/tsi/alts/frame_protector/frame_handler.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/tsi/alts/handshaker/alts_handshaker_client.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/tsi/alts/handshaker/alts_shared_resource.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/tsi/alts/handshaker/alts_tsi_handshaker.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/tsi/alts/handshaker/alts_tsi_utils.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/tsi/alts/handshaker/transport_security_common_api.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_integrity_only_record_protocol.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_privacy_integrity_record_protocol.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_record_protocol_common.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/tsi/alts/zero_copy_frame_protector/alts_iovec_record_protocol.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/tsi/alts/zero_copy_frame_protector/alts_zero_copy_grpc_protector.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/tsi/fake_transport_security.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/tsi/local_transport_security.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/tsi/ssl/session_cache/ssl_session_boringssl.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/tsi/ssl/session_cache/ssl_session_cache.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/tsi/ssl/session_cache/ssl_session_openssl.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/tsi/ssl_transport_security.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/tsi/transport_security.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/tsi/transport_security_grpc.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/cpp/client/channel_cc.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/cpp/client/client_callback.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/cpp/client/client_context.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/cpp/client/client_interceptor.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/cpp/client/create_channel.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/cpp/client/create_channel_internal.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/cpp/client/create_channel_posix.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/cpp/client/credentials_cc.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/cpp/client/insecure_credentials.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/cpp/client/secure_credentials.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/cpp/client/xds_credentials.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/cpp/codegen/codegen_init.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/cpp/common/alarm.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/cpp/common/auth_property_iterator.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/cpp/common/channel_arguments.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/cpp/common/channel_filter.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/cpp/common/completion_queue_cc.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/cpp/common/core_codegen.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/cpp/common/resource_quota_cc.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/cpp/common/rpc_method.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/cpp/common/secure_auth_context.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/cpp/common/secure_channel_arguments.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/cpp/common/secure_create_auth_context.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/cpp/common/tls_certificate_provider.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/cpp/common/tls_certificate_verifier.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/cpp/common/tls_credentials_options.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/cpp/common/validate_service_config.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/cpp/common/version_cc.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/cpp/server/async_generic_service.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/cpp/server/channel_argument_option.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/cpp/server/create_default_thread_pool.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/cpp/server/dynamic_thread_pool.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/cpp/server/external_connection_acceptor_impl.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/cpp/server/health/default_health_check_service.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/cpp/server/health/health_check_service.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/cpp/server/health/health_check_service_server_builder_option.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/cpp/server/insecure_server_credentials.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/cpp/server/secure_server_credentials.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/cpp/server/server_builder.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/cpp/server/server_callback.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/cpp/server/server_cc.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/cpp/server/server_context.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/cpp/server/server_credentials.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/cpp/server/server_posix.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/cpp/server/xds_server_credentials.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/cpp/thread_manager/thread_manager.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/cpp/util/byte_buffer_cc.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/cpp/util/status.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/cpp/util/string_ref.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/cpp/util/time_cc.cc
)
diff --git a/contrib/libs/grpc/grpc++/CMakeLists.txt b/contrib/libs/grpc/grpc++/CMakeLists.txt
deleted file mode 100644
index d5d60bda1e..0000000000
--- a/contrib/libs/grpc/grpc++/CMakeLists.txt
+++ /dev/null
@@ -1,115 +0,0 @@
-
-# This file was gererated by the build system used internally in the Yandex monorepo.
-# Only simple modifications are allowed (adding source-files to targets, adding simple properties
-# like target_include_directories). These modifications will be ported to original
-# ya.make files by maintainers. Any complex modifications which can't be ported back to the
-# original buildsystem will not be accepted.
-
-
-find_package(OpenSSL REQUIRED)
-
-add_library(libs-grpc-grpc++)
-target_compile_options(libs-grpc-grpc++ PRIVATE
- -DGRPC_POSIX_FORK_ALLOW_PTHREAD_ATFORK=1
- -Wno-everything
-)
-target_include_directories(libs-grpc-grpc++ PUBLIC
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/include
-)
-target_include_directories(libs-grpc-grpc++ PRIVATE
- ${CMAKE_BINARY_DIR}/contrib/libs/grpc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upb-generated
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/third_party/upb
-)
-target_link_libraries(libs-grpc-grpc++ PUBLIC
- contrib-libs-cxxsupp
- yutil
- libs-grpc-grpc
- src-core-lib
- grpc-third_party-address_sorting
- grpc-third_party-upb
- OpenSSL::OpenSSL
- abseil-cpp-tstring-y_absl-container
- abseil-cpp-tstring-y_absl-hash
- abseil-cpp-tstring-y_absl-status
- abseil-cpp-tstring-y_absl-strings
- abseil-cpp-tstring-y_absl-synchronization
- abseil-cpp-tstring-y_absl-time
-)
-target_sources(libs-grpc-grpc++ PRIVATE
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/transport/binder/client/binder_connector.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/transport/binder/client/channel_create.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/transport/binder/client/channel_create_impl.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/transport/binder/client/connection_id_generator.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/transport/binder/client/endpoint_binder_pool.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/transport/binder/client/jni_utils.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/transport/binder/client/security_policy_setting.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/transport/binder/security_policy/binder_security_policy.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/transport/binder/server/binder_server.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/transport/binder/server/binder_server_credentials.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/transport/binder/transport/binder_transport.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/transport/binder/utils/ndk_binder.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/transport/binder/utils/transport_stream_receiver_impl.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/transport/binder/wire_format/binder_android.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/transport/binder/wire_format/binder_constants.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/transport/binder/wire_format/transaction.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/transport/binder/wire_format/wire_reader_impl.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/transport/binder/wire_format/wire_writer.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/cpp/client/channel_cc.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/cpp/client/client_callback.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/cpp/client/client_context.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/cpp/client/client_interceptor.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/cpp/client/create_channel.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/cpp/client/create_channel_internal.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/cpp/client/create_channel_posix.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/cpp/client/credentials_cc.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/cpp/client/insecure_credentials.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/cpp/client/secure_credentials.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/cpp/client/xds_credentials.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/cpp/codegen/codegen_init.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/cpp/common/alarm.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/cpp/common/auth_property_iterator.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/cpp/common/channel_arguments.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/cpp/common/channel_filter.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/cpp/common/completion_queue_cc.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/cpp/common/core_codegen.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/cpp/common/resource_quota_cc.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/cpp/common/rpc_method.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/cpp/common/secure_auth_context.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/cpp/common/secure_channel_arguments.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/cpp/common/secure_create_auth_context.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/cpp/common/tls_certificate_provider.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/cpp/common/tls_certificate_verifier.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/cpp/common/tls_credentials_options.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/cpp/common/validate_service_config.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/cpp/common/version_cc.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/cpp/server/async_generic_service.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/cpp/server/channel_argument_option.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/cpp/server/create_default_thread_pool.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/cpp/server/dynamic_thread_pool.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/cpp/server/external_connection_acceptor_impl.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/cpp/server/health/default_health_check_service.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/cpp/server/health/health_check_service.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/cpp/server/health/health_check_service_server_builder_option.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/cpp/server/insecure_server_credentials.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/cpp/server/load_reporter/get_cpu_stats_linux.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/cpp/server/load_reporter/get_cpu_stats_macos.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/cpp/server/load_reporter/get_cpu_stats_unsupported.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/cpp/server/load_reporter/get_cpu_stats_windows.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/cpp/server/load_reporter/load_data_store.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/cpp/server/load_reporter/util.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/cpp/server/secure_server_credentials.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/cpp/server/server_builder.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/cpp/server/server_callback.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/cpp/server/server_cc.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/cpp/server/server_context.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/cpp/server/server_credentials.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/cpp/server/server_posix.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/cpp/server/xds_server_credentials.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/cpp/thread_manager/thread_manager.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/cpp/util/byte_buffer_cc.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/cpp/util/status.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/cpp/util/string_ref.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/cpp/util/time_cc.cc
-)
diff --git a/contrib/libs/grpc/grpc/CMakeLists.txt b/contrib/libs/grpc/grpc/CMakeLists.txt
deleted file mode 100644
index a7d4f93e99..0000000000
--- a/contrib/libs/grpc/grpc/CMakeLists.txt
+++ /dev/null
@@ -1,652 +0,0 @@
-
-# This file was gererated by the build system used internally in the Yandex monorepo.
-# Only simple modifications are allowed (adding source-files to targets, adding simple properties
-# like target_include_directories). These modifications will be ported to original
-# ya.make files by maintainers. Any complex modifications which can't be ported back to the
-# original buildsystem will not be accepted.
-
-
-find_package(OpenSSL REQUIRED)
-find_package(ZLIB REQUIRED)
-find_package(c-ares REQUIRED)
-
-add_library(libs-grpc-grpc)
-target_compile_options(libs-grpc-grpc PRIVATE
- -DGRPC_POSIX_FORK_ALLOW_PTHREAD_ATFORK=1
- -Wno-everything
-)
-target_include_directories(libs-grpc-grpc PUBLIC
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/include
-)
-target_include_directories(libs-grpc-grpc PRIVATE
- ${CMAKE_SOURCE_DIR}/contrib/libs/c-ares/include
- ${CMAKE_BINARY_DIR}/contrib/libs/grpc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upb-generated
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upbdefs-generated
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/third_party/address_sorting/include
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/third_party/upb
- ${CMAKE_SOURCE_DIR}/contrib/libs/re2
- ${CMAKE_SOURCE_DIR}/contrib/libs/xxhash
-)
-target_link_libraries(libs-grpc-grpc PUBLIC
- contrib-libs-cxxsupp
- yutil
- certs
- c-ares::c-ares
- src-core-lib
- grpc-third_party-address_sorting
- grpc-third_party-upb
- OpenSSL::OpenSSL
- contrib-libs-re2
- contrib-libs-xxhash
- ZLIB::ZLIB
- abseil-cpp-tstring-y_absl-algorithm
- abseil-cpp-tstring-y_absl-base
- abseil-cpp-tstring-y_absl-functional
- abseil-cpp-tstring-y_absl-hash
- abseil-cpp-tstring-y_absl-meta
- abseil-cpp-tstring-y_absl-status
- abseil-cpp-tstring-y_absl-strings
- abseil-cpp-tstring-y_absl-synchronization
- abseil-cpp-tstring-y_absl-time
- abseil-cpp-tstring-y_absl-types
- abseil-cpp-tstring-y_absl-utility
- library-cpp-resource
-)
-target_sources(libs-grpc-grpc PRIVATE
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/filters/census/grpc_context.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/filters/client_channel/backend_metric.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/filters/client_channel/backup_poller.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/filters/client_channel/channel_connectivity.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/filters/client_channel/client_channel.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/filters/client_channel/client_channel_channelz.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/filters/client_channel/client_channel_factory.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/filters/client_channel/client_channel_plugin.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/filters/client_channel/config_selector.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/filters/client_channel/dynamic_filters.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/filters/client_channel/global_subchannel_pool.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/filters/client_channel/health/health_check_client.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/filters/client_channel/http_connect_handshaker.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/filters/client_channel/http_proxy.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/filters/client_channel/lb_policy.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/filters/client_channel/lb_policy/address_filtering.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/filters/client_channel/lb_policy/child_policy_handler.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/filters/client_channel/lb_policy/grpclb/client_load_reporting_filter.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_balancer_addresses.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_channel_secure.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_client_stats.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/filters/client_channel/lb_policy/priority/priority.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/filters/client_channel/lb_policy/ring_hash/ring_hash.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/filters/client_channel/lb_policy/rls/rls.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/filters/client_channel/lb_policy/round_robin/round_robin.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/filters/client_channel/lb_policy/weighted_target/weighted_target.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/filters/client_channel/lb_policy/xds/cds.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_impl.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_manager.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_resolver.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/filters/client_channel/lb_policy_registry.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/filters/client_channel/local_subchannel_pool.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/filters/client_channel/proxy_mapper_registry.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/filters/client_channel/resolver.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/filters/client_channel/resolver/binder/binder_resolver.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_event_engine.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_posix.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_windows.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper_event_engine.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper_posix.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper_windows.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/filters/client_channel/resolver/dns/dns_resolver_selection.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/filters/client_channel/resolver/dns/native/dns_resolver.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/filters/client_channel/resolver/fake/fake_resolver.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/filters/client_channel/resolver/google_c2p/google_c2p_resolver.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/filters/client_channel/resolver/sockaddr/sockaddr_resolver.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/filters/client_channel/resolver/xds/xds_resolver.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/filters/client_channel/resolver_registry.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/filters/client_channel/resolver_result_parsing.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/filters/client_channel/retry_filter.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/filters/client_channel/retry_service_config.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/filters/client_channel/retry_throttle.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/filters/client_channel/server_address.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/filters/client_channel/service_config_channel_arg_filter.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/filters/client_channel/subchannel.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/filters/client_channel/subchannel_pool_interface.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/filters/client_idle/client_idle_filter.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/filters/client_idle/idle_filter_state.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/filters/deadline/deadline_filter.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/filters/fault_injection/fault_injection_filter.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/filters/fault_injection/service_config_parser.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/filters/http/client/http_client_filter.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/filters/http/client_authority_filter.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/filters/http/http_filters_plugin.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/filters/http/message_compress/message_compress_filter.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/filters/http/message_compress/message_decompress_filter.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/filters/http/server/http_server_filter.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/filters/max_age/max_age_filter.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/filters/message_size/message_size_filter.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/filters/server_config_selector/server_config_selector.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/filters/server_config_selector/server_config_selector_filter.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/service_config/service_config.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/service_config/service_config_parser.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/transport/chttp2/alpn/alpn.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/transport/chttp2/client/chttp2_connector.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/transport/chttp2/client/insecure/channel_create.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/transport/chttp2/client/insecure/channel_create_posix.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/transport/chttp2/client/secure/secure_channel_create.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/transport/chttp2/server/chttp2_server.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/transport/chttp2/server/insecure/server_chttp2.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/transport/chttp2/server/insecure/server_chttp2_posix.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/transport/chttp2/server/secure/server_secure_chttp2.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/transport/chttp2/transport/bin_decoder.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/transport/chttp2/transport/bin_encoder.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/transport/chttp2/transport/chttp2_plugin.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/transport/chttp2/transport/chttp2_transport.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/transport/chttp2/transport/context_list.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/transport/chttp2/transport/flow_control.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/transport/chttp2/transport/frame_data.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/transport/chttp2/transport/frame_goaway.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/transport/chttp2/transport/frame_ping.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/transport/chttp2/transport/frame_rst_stream.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/transport/chttp2/transport/frame_settings.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/transport/chttp2/transport/frame_window_update.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/transport/chttp2/transport/hpack_encoder.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/transport/chttp2/transport/hpack_encoder_table.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/transport/chttp2/transport/hpack_parser.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/transport/chttp2/transport/hpack_parser_table.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/transport/chttp2/transport/hpack_utils.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/transport/chttp2/transport/http2_settings.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/transport/chttp2/transport/huffsyms.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/transport/chttp2/transport/parsing.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/transport/chttp2/transport/stream_lists.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/transport/chttp2/transport/stream_map.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/transport/chttp2/transport/varint.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/transport/chttp2/transport/writing.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/transport/inproc/inproc_plugin.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/transport/inproc/inproc_transport.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upb-generated/envoy/admin/v3/config_dump.upb.c
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upb-generated/envoy/annotations/deprecation.upb.c
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upb-generated/envoy/annotations/resource.upb.c
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upb-generated/envoy/config/accesslog/v3/accesslog.upb.c
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upb-generated/envoy/config/bootstrap/v3/bootstrap.upb.c
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upb-generated/envoy/config/cluster/v3/circuit_breaker.upb.c
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upb-generated/envoy/config/cluster/v3/cluster.upb.c
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upb-generated/envoy/config/cluster/v3/filter.upb.c
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upb-generated/envoy/config/cluster/v3/outlier_detection.upb.c
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upb-generated/envoy/config/core/v3/address.upb.c
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upb-generated/envoy/config/core/v3/backoff.upb.c
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upb-generated/envoy/config/core/v3/base.upb.c
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upb-generated/envoy/config/core/v3/config_source.upb.c
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upb-generated/envoy/config/core/v3/event_service_config.upb.c
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upb-generated/envoy/config/core/v3/extension.upb.c
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upb-generated/envoy/config/core/v3/grpc_service.upb.c
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upb-generated/envoy/config/core/v3/health_check.upb.c
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upb-generated/envoy/config/core/v3/http_uri.upb.c
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upb-generated/envoy/config/core/v3/protocol.upb.c
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upb-generated/envoy/config/core/v3/proxy_protocol.upb.c
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upb-generated/envoy/config/core/v3/resolver.upb.c
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upb-generated/envoy/config/core/v3/socket_option.upb.c
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upb-generated/envoy/config/core/v3/substitution_format_string.upb.c
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upb-generated/envoy/config/core/v3/udp_socket_config.upb.c
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint.upb.c
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint_components.upb.c
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upb-generated/envoy/config/endpoint/v3/load_report.upb.c
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upb-generated/envoy/config/listener/v3/api_listener.upb.c
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upb-generated/envoy/config/listener/v3/listener.upb.c
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upb-generated/envoy/config/listener/v3/listener_components.upb.c
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upb-generated/envoy/config/listener/v3/quic_config.upb.c
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upb-generated/envoy/config/listener/v3/udp_listener_config.upb.c
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upb-generated/envoy/config/metrics/v3/stats.upb.c
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upb-generated/envoy/config/overload/v3/overload.upb.c
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upb-generated/envoy/config/rbac/v3/rbac.upb.c
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upb-generated/envoy/config/route/v3/route.upb.c
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upb-generated/envoy/config/route/v3/route_components.upb.c
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upb-generated/envoy/config/route/v3/scoped_route.upb.c
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upb-generated/envoy/config/trace/v3/http_tracer.upb.c
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upb-generated/envoy/extensions/clusters/aggregate/v3/cluster.upb.c
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upb-generated/envoy/extensions/filters/common/fault/v3/fault.upb.c
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upb-generated/envoy/extensions/filters/http/fault/v3/fault.upb.c
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upb-generated/envoy/extensions/filters/http/router/v3/router.upb.c
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upb-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.c
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/cert.upb.c
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/common.upb.c
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/secret.upb.c
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/tls.upb.c
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upb-generated/envoy/service/cluster/v3/cds.upb.c
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upb-generated/envoy/service/discovery/v3/ads.upb.c
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upb-generated/envoy/service/discovery/v3/discovery.upb.c
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upb-generated/envoy/service/endpoint/v3/eds.upb.c
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upb-generated/envoy/service/listener/v3/lds.upb.c
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upb-generated/envoy/service/load_stats/v3/lrs.upb.c
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upb-generated/envoy/service/route/v3/rds.upb.c
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upb-generated/envoy/service/route/v3/srds.upb.c
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upb-generated/envoy/service/status/v3/csds.upb.c
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upb-generated/envoy/type/http/v3/path_transformation.upb.c
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upb-generated/envoy/type/matcher/v3/metadata.upb.c
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upb-generated/envoy/type/matcher/v3/node.upb.c
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upb-generated/envoy/type/matcher/v3/number.upb.c
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upb-generated/envoy/type/matcher/v3/path.upb.c
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upb-generated/envoy/type/matcher/v3/regex.upb.c
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upb-generated/envoy/type/matcher/v3/string.upb.c
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upb-generated/envoy/type/matcher/v3/struct.upb.c
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upb-generated/envoy/type/matcher/v3/value.upb.c
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upb-generated/envoy/type/metadata/v3/metadata.upb.c
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upb-generated/envoy/type/tracing/v3/custom_tag.upb.c
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upb-generated/envoy/type/v3/http.upb.c
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upb-generated/envoy/type/v3/percent.upb.c
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upb-generated/envoy/type/v3/range.upb.c
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upb-generated/envoy/type/v3/semantic_version.upb.c
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upb-generated/google/api/annotations.upb.c
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upb-generated/google/api/expr/v1alpha1/checked.upb.c
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upb-generated/google/api/expr/v1alpha1/eval.upb.c
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upb-generated/google/api/expr/v1alpha1/explain.upb.c
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upb-generated/google/api/expr/v1alpha1/syntax.upb.c
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upb-generated/google/api/expr/v1alpha1/value.upb.c
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upb-generated/google/api/http.upb.c
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upb-generated/google/protobuf/duration.upb.c
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upb-generated/google/protobuf/empty.upb.c
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upb-generated/google/protobuf/struct.upb.c
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upb-generated/google/protobuf/timestamp.upb.c
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upb-generated/google/protobuf/wrappers.upb.c
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upb-generated/src/proto/grpc/gcp/altscontext.upb.c
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upb-generated/src/proto/grpc/gcp/handshaker.upb.c
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upb-generated/src/proto/grpc/gcp/transport_security_common.upb.c
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upb-generated/src/proto/grpc/health/v1/health.upb.c
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upb-generated/src/proto/grpc/lb/v1/load_balancer.upb.c
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upb-generated/src/proto/grpc/lookup/v1/rls.upb.c
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upb-generated/udpa/annotations/migrate.upb.c
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upb-generated/udpa/annotations/security.upb.c
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upb-generated/udpa/annotations/sensitive.upb.c
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upb-generated/udpa/annotations/status.upb.c
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upb-generated/udpa/annotations/versioning.upb.c
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upb-generated/validate/validate.upb.c
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upb-generated/xds/annotations/v3/status.upb.c
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upb-generated/xds/core/v3/authority.upb.c
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upb-generated/xds/core/v3/collection_entry.upb.c
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upb-generated/xds/core/v3/context_params.upb.c
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upb-generated/xds/core/v3/resource.upb.c
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upb-generated/xds/core/v3/resource_locator.upb.c
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upb-generated/xds/core/v3/resource_name.upb.c
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upb-generated/xds/data/orca/v3/orca_load_report.upb.c
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upb-generated/xds/type/v3/typed_struct.upb.c
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upbdefs-generated/envoy/admin/v3/config_dump.upbdefs.c
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upbdefs-generated/envoy/annotations/deprecation.upbdefs.c
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upbdefs-generated/envoy/annotations/resource.upbdefs.c
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upbdefs-generated/envoy/config/accesslog/v3/accesslog.upbdefs.c
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upbdefs-generated/envoy/config/bootstrap/v3/bootstrap.upbdefs.c
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/circuit_breaker.upbdefs.c
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/cluster.upbdefs.c
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/filter.upbdefs.c
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/outlier_detection.upbdefs.c
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upbdefs-generated/envoy/config/core/v3/address.upbdefs.c
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upbdefs-generated/envoy/config/core/v3/backoff.upbdefs.c
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upbdefs-generated/envoy/config/core/v3/base.upbdefs.c
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upbdefs-generated/envoy/config/core/v3/config_source.upbdefs.c
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upbdefs-generated/envoy/config/core/v3/event_service_config.upbdefs.c
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upbdefs-generated/envoy/config/core/v3/extension.upbdefs.c
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upbdefs-generated/envoy/config/core/v3/grpc_service.upbdefs.c
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upbdefs-generated/envoy/config/core/v3/health_check.upbdefs.c
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upbdefs-generated/envoy/config/core/v3/http_uri.upbdefs.c
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upbdefs-generated/envoy/config/core/v3/protocol.upbdefs.c
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upbdefs-generated/envoy/config/core/v3/proxy_protocol.upbdefs.c
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upbdefs-generated/envoy/config/core/v3/resolver.upbdefs.c
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upbdefs-generated/envoy/config/core/v3/socket_option.upbdefs.c
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upbdefs-generated/envoy/config/core/v3/substitution_format_string.upbdefs.c
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upbdefs-generated/envoy/config/core/v3/udp_socket_config.upbdefs.c
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/endpoint.upbdefs.c
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/endpoint_components.upbdefs.c
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/load_report.upbdefs.c
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upbdefs-generated/envoy/config/listener/v3/api_listener.upbdefs.c
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upbdefs-generated/envoy/config/listener/v3/listener.upbdefs.c
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upbdefs-generated/envoy/config/listener/v3/listener_components.upbdefs.c
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upbdefs-generated/envoy/config/listener/v3/quic_config.upbdefs.c
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upbdefs-generated/envoy/config/listener/v3/udp_listener_config.upbdefs.c
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upbdefs-generated/envoy/config/metrics/v3/stats.upbdefs.c
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upbdefs-generated/envoy/config/overload/v3/overload.upbdefs.c
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upbdefs-generated/envoy/config/route/v3/route.upbdefs.c
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upbdefs-generated/envoy/config/route/v3/route_components.upbdefs.c
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upbdefs-generated/envoy/config/route/v3/scoped_route.upbdefs.c
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upbdefs-generated/envoy/config/trace/v3/http_tracer.upbdefs.c
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upbdefs-generated/envoy/extensions/clusters/aggregate/v3/cluster.upbdefs.c
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upbdefs-generated/envoy/extensions/filters/common/fault/v3/fault.upbdefs.c
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/fault/v3/fault.upbdefs.c
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/router/v3/router.upbdefs.c
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upbdefs-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upbdefs.c
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/cert.upbdefs.c
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/common.upbdefs.c
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/secret.upbdefs.c
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/tls.upbdefs.c
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upbdefs-generated/envoy/service/cluster/v3/cds.upbdefs.c
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upbdefs-generated/envoy/service/discovery/v3/ads.upbdefs.c
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upbdefs-generated/envoy/service/discovery/v3/discovery.upbdefs.c
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upbdefs-generated/envoy/service/endpoint/v3/eds.upbdefs.c
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upbdefs-generated/envoy/service/listener/v3/lds.upbdefs.c
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upbdefs-generated/envoy/service/load_stats/v3/lrs.upbdefs.c
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upbdefs-generated/envoy/service/route/v3/rds.upbdefs.c
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upbdefs-generated/envoy/service/route/v3/srds.upbdefs.c
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upbdefs-generated/envoy/service/status/v3/csds.upbdefs.c
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upbdefs-generated/envoy/type/http/v3/path_transformation.upbdefs.c
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/metadata.upbdefs.c
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/node.upbdefs.c
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/number.upbdefs.c
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/path.upbdefs.c
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/regex.upbdefs.c
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/string.upbdefs.c
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/struct.upbdefs.c
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/value.upbdefs.c
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upbdefs-generated/envoy/type/metadata/v3/metadata.upbdefs.c
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upbdefs-generated/envoy/type/tracing/v3/custom_tag.upbdefs.c
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upbdefs-generated/envoy/type/v3/http.upbdefs.c
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upbdefs-generated/envoy/type/v3/percent.upbdefs.c
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upbdefs-generated/envoy/type/v3/range.upbdefs.c
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upbdefs-generated/envoy/type/v3/semantic_version.upbdefs.c
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upbdefs-generated/google/api/annotations.upbdefs.c
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upbdefs-generated/google/api/http.upbdefs.c
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upbdefs-generated/google/protobuf/any.upbdefs.c
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upbdefs-generated/google/protobuf/duration.upbdefs.c
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upbdefs-generated/google/protobuf/empty.upbdefs.c
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upbdefs-generated/google/protobuf/struct.upbdefs.c
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upbdefs-generated/google/protobuf/timestamp.upbdefs.c
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upbdefs-generated/google/protobuf/wrappers.upbdefs.c
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upbdefs-generated/google/rpc/status.upbdefs.c
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upbdefs-generated/udpa/annotations/migrate.upbdefs.c
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upbdefs-generated/udpa/annotations/security.upbdefs.c
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upbdefs-generated/udpa/annotations/sensitive.upbdefs.c
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upbdefs-generated/udpa/annotations/status.upbdefs.c
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upbdefs-generated/udpa/annotations/versioning.upbdefs.c
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upbdefs-generated/validate/validate.upbdefs.c
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upbdefs-generated/xds/annotations/v3/status.upbdefs.c
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upbdefs-generated/xds/core/v3/authority.upbdefs.c
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upbdefs-generated/xds/core/v3/collection_entry.upbdefs.c
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upbdefs-generated/xds/core/v3/context_params.upbdefs.c
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upbdefs-generated/xds/core/v3/resource.upbdefs.c
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upbdefs-generated/xds/core/v3/resource_locator.upbdefs.c
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upbdefs-generated/xds/core/v3/resource_name.upbdefs.c
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upbdefs-generated/xds/type/v3/typed_struct.upbdefs.c
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/xds/certificate_provider_registry.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/xds/certificate_provider_store.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/xds/file_watcher_certificate_provider_factory.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/xds/xds_api.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/xds/xds_bootstrap.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/xds/xds_certificate_provider.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/xds/xds_channel_stack_modifier.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/xds/xds_client.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/xds/xds_client_stats.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/xds/xds_http_fault_filter.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/xds/xds_http_filters.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/xds/xds_routing.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/xds/xds_server_config_fetcher.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/address_utils/parse_address.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/address_utils/sockaddr_utils.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/backoff/backoff.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/channel/channel_args.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/channel/channel_args_preconditioning.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/channel/channel_stack.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/channel/channel_stack_builder.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/channel/channel_trace.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/channel/channelz.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/channel/channelz_registry.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/channel/connected_channel.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/channel/handshaker.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/channel/handshaker_registry.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/channel/status_util.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/compression/compression.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/compression/compression_args.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/compression/compression_internal.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/compression/message_compress.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/compression/stream_compression.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/compression/stream_compression_gzip.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/compression/stream_compression_identity.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/config/core_configuration.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/debug/stats.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/debug/stats_data.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/debug/trace.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/event_engine/channel_args_endpoint_config.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/event_engine/event_engine.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/event_engine/event_engine_factory.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/event_engine/memory_allocator.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/event_engine/sockaddr.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/http/format_request.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/http/httpcli.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/http/httpcli_security_connector.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/http/parser.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/iomgr/buffer_list.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/iomgr/call_combiner.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/iomgr/cfstream_handle.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/iomgr/combiner.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/iomgr/dualstack_socket_posix.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/iomgr/endpoint.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/iomgr/endpoint_cfstream.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/iomgr/endpoint_pair_event_engine.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/iomgr/endpoint_pair_posix.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/iomgr/endpoint_pair_windows.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/iomgr/error.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/iomgr/error_cfstream.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/iomgr/ev_apple.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/iomgr/ev_epoll1_linux.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/iomgr/ev_epollex_linux.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/iomgr/ev_poll_posix.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/iomgr/ev_posix.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/iomgr/ev_windows.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/iomgr/event_engine/closure.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/iomgr/event_engine/endpoint.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/iomgr/event_engine/iomgr.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/iomgr/event_engine/pollset.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/iomgr/event_engine/resolved_address_internal.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/iomgr/event_engine/resolver.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/iomgr/event_engine/tcp.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/iomgr/event_engine/timer.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/iomgr/exec_ctx.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/iomgr/executor.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/iomgr/executor/mpmcqueue.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/iomgr/executor/threadpool.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/iomgr/fork_posix.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/iomgr/fork_windows.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/iomgr/gethostname_fallback.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/iomgr/gethostname_host_name_max.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/iomgr/gethostname_sysconf.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/iomgr/grpc_if_nametoindex_posix.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/iomgr/grpc_if_nametoindex_unsupported.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/iomgr/internal_errqueue.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/iomgr/iocp_windows.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/iomgr/iomgr.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/iomgr/iomgr_custom.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/iomgr/iomgr_internal.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/iomgr/iomgr_posix.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/iomgr/iomgr_posix_cfstream.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/iomgr/iomgr_windows.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/iomgr/is_epollexclusive_available.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/iomgr/load_file.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/iomgr/lockfree_event.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/iomgr/polling_entity.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/iomgr/pollset.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/iomgr/pollset_custom.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/iomgr/pollset_set.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/iomgr/pollset_set_custom.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/iomgr/pollset_set_windows.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/iomgr/pollset_windows.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/iomgr/resolve_address.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/iomgr/resolve_address_custom.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/iomgr/resolve_address_posix.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/iomgr/resolve_address_windows.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/iomgr/socket_factory_posix.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/iomgr/socket_mutator.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/iomgr/socket_utils_common_posix.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/iomgr/socket_utils_linux.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/iomgr/socket_utils_posix.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/iomgr/socket_utils_windows.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/iomgr/socket_windows.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/iomgr/tcp_client.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/iomgr/tcp_client_cfstream.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/iomgr/tcp_client_custom.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/iomgr/tcp_client_posix.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/iomgr/tcp_client_windows.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/iomgr/tcp_custom.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/iomgr/tcp_posix.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/iomgr/tcp_server.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/iomgr/tcp_server_custom.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/iomgr/tcp_server_posix.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/iomgr/tcp_server_utils_posix_common.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/iomgr/tcp_server_utils_posix_ifaddrs.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/iomgr/tcp_server_utils_posix_noifaddrs.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/iomgr/tcp_server_windows.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/iomgr/tcp_windows.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/iomgr/time_averaged_stats.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/iomgr/timer.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/iomgr/timer_custom.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/iomgr/timer_generic.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/iomgr/timer_heap.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/iomgr/timer_manager.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/iomgr/unix_sockets_posix.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/iomgr/unix_sockets_posix_noop.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/iomgr/wakeup_fd_eventfd.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/iomgr/wakeup_fd_nospecial.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/iomgr/wakeup_fd_pipe.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/iomgr/wakeup_fd_posix.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/iomgr/work_serializer.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/json/json_reader.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/json/json_util.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/json/json_writer.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/matchers/matchers.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/promise/activity.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/resource_quota/api.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/resource_quota/memory_quota.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/resource_quota/resource_quota.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/resource_quota/thread_quota.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/resource_quota/trace.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/security/authorization/authorization_policy_provider_vtable.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/security/authorization/evaluate_args.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/security/authorization/sdk_server_authz_filter.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/security/context/security_context.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/security/credentials/alts/alts_credentials.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/security/credentials/alts/check_gcp_environment.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/security/credentials/alts/check_gcp_environment_linux.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/security/credentials/alts/check_gcp_environment_no_op.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/security/credentials/alts/check_gcp_environment_windows.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/security/credentials/alts/grpc_alts_credentials_client_options.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/security/credentials/alts/grpc_alts_credentials_options.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/security/credentials/alts/grpc_alts_credentials_server_options.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/security/credentials/composite/composite_credentials.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/security/credentials/credentials.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/security/credentials/credentials_metadata.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/security/credentials/external/aws_external_account_credentials.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/security/credentials/external/aws_request_signer.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/security/credentials/external/external_account_credentials.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/security/credentials/external/file_external_account_credentials.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/security/credentials/external/url_external_account_credentials.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/security/credentials/fake/fake_credentials.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/security/credentials/google_default/credentials_generic.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/security/credentials/google_default/google_default_credentials.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/security/credentials/iam/iam_credentials.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/security/credentials/insecure/insecure_credentials.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/security/credentials/jwt/json_token.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/security/credentials/jwt/jwt_credentials.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/security/credentials/jwt/jwt_verifier.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/security/credentials/local/local_credentials.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/security/credentials/oauth2/oauth2_credentials.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/security/credentials/plugin/plugin_credentials.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/security/credentials/ssl/ssl_credentials.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/security/credentials/tls/grpc_tls_certificate_distributor.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/security/credentials/tls/grpc_tls_certificate_provider.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/security/credentials/tls/grpc_tls_certificate_verifier.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/security/credentials/tls/grpc_tls_credentials_options.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/security/credentials/tls/tls_credentials.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/security/credentials/tls/tls_utils.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/security/credentials/xds/xds_credentials.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/security/security_connector/alts/alts_security_connector.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/security/security_connector/fake/fake_security_connector.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/security/security_connector/insecure/insecure_security_connector.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/security/security_connector/load_arcadia_root_certs.cpp
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/security/security_connector/load_system_roots_fallback.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/security/security_connector/load_system_roots_linux.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/security/security_connector/local/local_security_connector.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/security/security_connector/security_connector.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/security/security_connector/ssl/ssl_security_connector.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/security/security_connector/ssl_utils.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/security/security_connector/ssl_utils_config.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/security/security_connector/tls/tls_security_connector.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/security/transport/client_auth_filter.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/security/transport/secure_endpoint.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/security/transport/security_handshaker.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/security/transport/server_auth_filter.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/security/transport/tsi_error.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/security/util/json_util.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/slice/b64.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/slice/percent_encoding.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/slice/slice.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/slice/slice_api.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/slice/slice_buffer.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/slice/slice_intern.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/slice/slice_refcount.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/slice/slice_split.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/slice/slice_string_helpers.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/slice/static_slice.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/surface/api_trace.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/surface/builtins.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/surface/byte_buffer.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/surface/byte_buffer_reader.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/surface/call.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/surface/call_details.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/surface/call_log_batch.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/surface/channel.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/surface/channel_init.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/surface/channel_ping.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/surface/channel_stack_type.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/surface/completion_queue.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/surface/completion_queue_factory.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/surface/event_string.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/surface/init.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/surface/init_secure.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/surface/lame_client.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/surface/metadata_array.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/surface/server.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/surface/validate_metadata.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/surface/version.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/transport/bdp_estimator.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/transport/byte_stream.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/transport/connectivity_state.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/transport/error_utils.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/transport/metadata.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/transport/metadata_batch.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/transport/parsed_metadata.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/transport/pid_controller.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/transport/static_metadata.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/transport/status_conversion.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/transport/status_metadata.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/transport/timeout_encoding.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/transport/transport.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/transport/transport_op_string.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/uri/uri_parser.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/plugin_registry/grpc_plugin_registry.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/tsi/alts/crypt/aes_gcm.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/tsi/alts/crypt/gsec.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/tsi/alts/frame_protector/alts_counter.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/tsi/alts/frame_protector/alts_crypter.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/tsi/alts/frame_protector/alts_frame_protector.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/tsi/alts/frame_protector/alts_record_protocol_crypter_common.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/tsi/alts/frame_protector/alts_seal_privacy_integrity_crypter.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/tsi/alts/frame_protector/alts_unseal_privacy_integrity_crypter.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/tsi/alts/frame_protector/frame_handler.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/tsi/alts/handshaker/alts_handshaker_client.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/tsi/alts/handshaker/alts_shared_resource.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/tsi/alts/handshaker/alts_tsi_handshaker.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/tsi/alts/handshaker/alts_tsi_utils.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/tsi/alts/handshaker/transport_security_common_api.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_integrity_only_record_protocol.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_privacy_integrity_record_protocol.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_record_protocol_common.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/tsi/alts/zero_copy_frame_protector/alts_iovec_record_protocol.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/tsi/alts/zero_copy_frame_protector/alts_zero_copy_grpc_protector.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/tsi/fake_transport_security.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/tsi/local_transport_security.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/tsi/ssl/session_cache/ssl_session_boringssl.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/tsi/ssl/session_cache/ssl_session_cache.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/tsi/ssl/session_cache/ssl_session_openssl.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/tsi/ssl_transport_security.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/tsi/transport_security.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/tsi/transport_security_grpc.cc
-)
diff --git a/contrib/libs/grpc/include/grpcpp/ext/server_load_reporting.h b/contrib/libs/grpc/include/grpcpp/ext/server_load_reporting.h
deleted file mode 100644
index 987a48ee79..0000000000
--- a/contrib/libs/grpc/include/grpcpp/ext/server_load_reporting.h
+++ /dev/null
@@ -1,54 +0,0 @@
-/*
- *
- * Copyright 2018 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.
- *
- */
-
-#ifndef GRPCPP_EXT_SERVER_LOAD_REPORTING_H
-#define GRPCPP_EXT_SERVER_LOAD_REPORTING_H
-
-#include <grpc/support/port_platform.h>
-
-#include <grpc/load_reporting.h>
-#include <grpcpp/impl/codegen/config.h>
-#include <grpcpp/impl/codegen/server_context.h>
-#include <grpcpp/impl/server_builder_option.h>
-
-namespace grpc {
-namespace load_reporter {
-namespace experimental {
-
-// The ServerBuilderOption to enable server-side load reporting feature. To
-// enable the feature, please make sure the binary builds with the
-// grpcpp_server_load_reporting library and set this option in the
-// ServerBuilder.
-class LoadReportingServiceServerBuilderOption
- : public grpc::ServerBuilderOption {
- public:
- void UpdateArguments(::grpc::ChannelArguments* args) override;
- void UpdatePlugins(std::vector<std::unique_ptr<::grpc::ServerBuilderPlugin>>*
- plugins) override;
-};
-
-// Adds the load reporting cost with \a cost_name and \a cost_value in the
-// trailing metadata of the server context.
-void AddLoadReportingCost(grpc::ServerContext* ctx,
- const TString& cost_name, double cost_value);
-
-} // namespace experimental
-} // namespace load_reporter
-} // namespace grpc
-
-#endif // GRPCPP_EXT_SERVER_LOAD_REPORTING_H
diff --git a/contrib/libs/grpc/include/grpcpp/security/alts_context.h b/contrib/libs/grpc/include/grpcpp/security/alts_context.h
deleted file mode 100644
index 125d25310f..0000000000
--- a/contrib/libs/grpc/include/grpcpp/security/alts_context.h
+++ /dev/null
@@ -1,69 +0,0 @@
-/*
- *
- * Copyright 2019 gRPC authors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-
-#ifndef GRPCPP_SECURITY_ALTS_CONTEXT_H
-#define GRPCPP_SECURITY_ALTS_CONTEXT_H
-
-#include <map>
-#include <memory>
-
-#include <grpc/grpc_security_constants.h>
-#include <grpcpp/security/auth_context.h>
-
-struct grpc_gcp_AltsContext;
-
-namespace grpc {
-namespace experimental {
-
-// AltsContext is a wrapper class for grpc_gcp_AltsContext.
-class AltsContext {
- public:
- struct RpcProtocolVersions {
- struct Version {
- int major_version;
- int minor_version;
- };
- Version max_rpc_version;
- Version min_rpc_version;
- };
- explicit AltsContext(const grpc_gcp_AltsContext* ctx);
- AltsContext& operator=(const AltsContext&) = default;
- AltsContext(const AltsContext&) = default;
-
- TString application_protocol() const;
- TString record_protocol() const;
- TString peer_service_account() const;
- TString local_service_account() const;
- grpc_security_level security_level() const;
- RpcProtocolVersions peer_rpc_versions() const;
- const std::map<TString, TString>& peer_attributes() const;
-
- private:
- TString application_protocol_;
- TString record_protocol_;
- TString peer_service_account_;
- TString local_service_account_;
- grpc_security_level security_level_ = GRPC_SECURITY_NONE;
- RpcProtocolVersions peer_rpc_versions_ = {{0, 0}, {0, 0}};
- std::map<TString, TString> peer_attributes_map_;
-};
-
-} // namespace experimental
-} // namespace grpc
-
-#endif // GRPCPP_SECURITY_ALTS_CONTEXT_H
diff --git a/contrib/libs/grpc/include/grpcpp/security/alts_util.h b/contrib/libs/grpc/include/grpcpp/security/alts_util.h
deleted file mode 100644
index 25322e31ce..0000000000
--- a/contrib/libs/grpc/include/grpcpp/security/alts_util.h
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
- *
- * Copyright 2019 gRPC authors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-
-#ifndef GRPCPP_SECURITY_ALTS_UTIL_H
-#define GRPCPP_SECURITY_ALTS_UTIL_H
-
-#include <memory>
-
-#include <grpc/grpc_security_constants.h>
-#include <grpcpp/impl/codegen/status.h>
-#include <grpcpp/security/alts_context.h>
-#include <grpcpp/security/auth_context.h>
-
-struct grpc_gcp_AltsContext;
-
-namespace grpc {
-namespace experimental {
-
-// GetAltsContextFromAuthContext helps to get the AltsContext from AuthContext.
-// If ALTS is not the transport security protocol used to establish the
-// connection, this function will return nullptr.
-std::unique_ptr<AltsContext> GetAltsContextFromAuthContext(
- const std::shared_ptr<const AuthContext>& auth_context);
-
-// This utility function performs ALTS client authorization check on server
-// side, i.e., checks if the client identity matches one of the expected service
-// accounts. It returns OK if client is authorized and an error otherwise.
-grpc::Status AltsClientAuthzCheck(
- const std::shared_ptr<const AuthContext>& auth_context,
- const std::vector<TString>& expected_service_accounts);
-
-} // namespace experimental
-} // namespace grpc
-
-#endif // GRPCPP_SECURITY_ALTS_UTIL_H
diff --git a/contrib/libs/grpc/include/grpcpp/support/error_details.h b/contrib/libs/grpc/include/grpcpp/support/error_details.h
deleted file mode 100644
index 72305e8f3a..0000000000
--- a/contrib/libs/grpc/include/grpcpp/support/error_details.h
+++ /dev/null
@@ -1,76 +0,0 @@
-/*
- *
- * Copyright 2017 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.
- *
- */
-
-#ifndef GRPCPP_SUPPORT_ERROR_DETAILS_H
-#define GRPCPP_SUPPORT_ERROR_DETAILS_H
-
-#include <grpcpp/support/status.h>
-
-namespace grpc {
-
-/// Map a \a grpc::Status to a \a google::rpc::Status.
-/// The given \a to object will be cleared.
-/// On success, returns status with OK.
-/// Returns status with \a INVALID_ARGUMENT, if failed to deserialize.
-/// Returns status with \a FAILED_PRECONDITION, if \a to is nullptr.
-///
-/// \note
-/// This function is a template to avoid a build dep on \a status.proto.
-/// However, this function still requires that \tparam T is of type
-/// \a google::rpc::Status, which is defined at
-/// https://github.com/googleapis/googleapis/blob/master/google/rpc/status.proto
-template <typename T>
-grpc::Status ExtractErrorDetails(const grpc::Status& from, T* to) {
- if (to == nullptr) {
- return grpc::Status(grpc::StatusCode::FAILED_PRECONDITION, "");
- }
- if (!to->ParseFromString(from.error_details())) {
- return grpc::Status(grpc::StatusCode::INVALID_ARGUMENT, "");
- }
- return grpc::Status::OK;
-}
-inline grpc::Status ExtractErrorDetails(const grpc::Status&, std::nullptr_t) {
- return grpc::Status(grpc::StatusCode::FAILED_PRECONDITION, "");
-}
-
-/// Map \a google::rpc::Status to a \a grpc::Status.
-/// Returns OK on success.
-/// Returns status with \a FAILED_PRECONDITION if \a to is nullptr.
-///
-/// \note
-/// This function is a template to avoid a build dep on \a status.proto.
-/// However, this function still requires that \tparam T is of type
-/// \a google::rpc::Status, which is defined at
-/// https://github.com/googleapis/googleapis/blob/master/google/rpc/status.proto
-template <typename T>
-grpc::Status SetErrorDetails(const T& from, grpc::Status* to) {
- if (to == nullptr) {
- return grpc::Status(grpc::StatusCode::FAILED_PRECONDITION, "");
- }
- grpc::StatusCode code = grpc::StatusCode::UNKNOWN;
- if (from.code() >= grpc::StatusCode::OK &&
- from.code() <= grpc::StatusCode::UNAUTHENTICATED) {
- code = static_cast<grpc::StatusCode>(from.code());
- }
- *to = grpc::Status(code, from.message(), from.SerializeAsString());
- return grpc::Status::OK;
-}
-
-} // namespace grpc
-
-#endif // GRPCPP_SUPPORT_ERROR_DETAILS_H
diff --git a/contrib/libs/grpc/src/CMakeLists.txt b/contrib/libs/grpc/src/CMakeLists.txt
index e78afa34c8..844d35fa77 100644
--- a/contrib/libs/grpc/src/CMakeLists.txt
+++ b/contrib/libs/grpc/src/CMakeLists.txt
@@ -7,4 +7,3 @@
add_subdirectory(compiler)
-add_subdirectory(core)
diff --git a/contrib/libs/grpc/src/compiler/csharp_generator.cc b/contrib/libs/grpc/src/compiler/csharp_generator.cc
new file mode 100644
index 0000000000..7b2c7899dc
--- /dev/null
+++ b/contrib/libs/grpc/src/compiler/csharp_generator.cc
@@ -0,0 +1,829 @@
+/*
+ *
+ * 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 "src/compiler/csharp_generator.h"
+
+#include <cctype>
+#include <map>
+#include <sstream>
+#include <vector>
+
+#include "src/compiler/config.h"
+#include "src/compiler/csharp_generator_helpers.h"
+
+using grpc::protobuf::Descriptor;
+using grpc::protobuf::FileDescriptor;
+using grpc::protobuf::MethodDescriptor;
+using grpc::protobuf::ServiceDescriptor;
+using grpc::protobuf::io::Printer;
+using grpc::protobuf::io::StringOutputStream;
+using grpc_generator::StringReplace;
+using std::vector;
+
+namespace grpc_csharp_generator {
+namespace {
+
+// This function is a massaged version of
+// https://github.com/protocolbuffers/protobuf/blob/master/src/google/protobuf/compiler/csharp/csharp_doc_comment.cc
+// Currently, we cannot easily reuse the functionality as
+// google/protobuf/compiler/csharp/csharp_doc_comment.h is not a public header.
+// TODO(jtattermusch): reuse the functionality from google/protobuf.
+bool GenerateDocCommentBodyImpl(grpc::protobuf::io::Printer* printer,
+ grpc::protobuf::SourceLocation location) {
+ TString comments = location.leading_comments.empty()
+ ? location.trailing_comments
+ : location.leading_comments;
+ if (comments.empty()) {
+ return false;
+ }
+ // XML escaping... no need for apostrophes etc as the whole text is going to
+ // be a child
+ // node of a summary element, not part of an attribute.
+ comments = grpc_generator::StringReplace(comments, "&", "&amp;", true);
+ comments = grpc_generator::StringReplace(comments, "<", "&lt;", true);
+
+ std::vector<TString> lines;
+ grpc_generator::Split(comments, '\n', &lines);
+ // TODO: We really should work out which part to put in the summary and which
+ // to put in the remarks...
+ // but that needs to be part of a bigger effort to understand the markdown
+ // better anyway.
+ printer->Print("/// <summary>\n");
+ bool last_was_empty = false;
+ // We squash multiple blank lines down to one, and remove any trailing blank
+ // lines. We need
+ // to preserve the blank lines themselves, as this is relevant in the
+ // markdown.
+ // Note that we can't remove leading or trailing whitespace as *that's*
+ // relevant in markdown too.
+ // (We don't skip "just whitespace" lines, either.)
+ for (std::vector<TString>::iterator it = lines.begin(); it != lines.end();
+ ++it) {
+ TString line = *it;
+ if (line.empty()) {
+ last_was_empty = true;
+ } else {
+ if (last_was_empty) {
+ printer->Print("///\n");
+ }
+ last_was_empty = false;
+ printer->Print("///$line$\n", "line", *it);
+ }
+ }
+ printer->Print("/// </summary>\n");
+ return true;
+}
+
+void GenerateGeneratedCodeAttribute(grpc::protobuf::io::Printer* printer) {
+ // Mark the code as generated using the [GeneratedCode] attribute.
+ // We don't provide plugin version info in attribute the because:
+ // * the version information is not readily available from the plugin's code.
+ // * it would cause a lot of churn in the pre-generated code
+ // in this repository every time the version is updated.
+ printer->Print(
+ "[global::System.CodeDom.Compiler.GeneratedCode(\"grpc_csharp_plugin\", "
+ "null)]\n");
+}
+
+template <typename DescriptorType>
+bool GenerateDocCommentBody(grpc::protobuf::io::Printer* printer,
+ const DescriptorType* descriptor) {
+ grpc::protobuf::SourceLocation location;
+ if (!descriptor->GetSourceLocation(&location)) {
+ return false;
+ }
+ return GenerateDocCommentBodyImpl(printer, location);
+}
+
+void GenerateDocCommentServerMethod(grpc::protobuf::io::Printer* printer,
+ const MethodDescriptor* method) {
+ if (GenerateDocCommentBody(printer, method)) {
+ if (method->client_streaming()) {
+ printer->Print(
+ "/// <param name=\"requestStream\">Used for reading requests from "
+ "the client.</param>\n");
+ } else {
+ printer->Print(
+ "/// <param name=\"request\">The request received from the "
+ "client.</param>\n");
+ }
+ if (method->server_streaming()) {
+ printer->Print(
+ "/// <param name=\"responseStream\">Used for sending responses back "
+ "to the client.</param>\n");
+ }
+ printer->Print(
+ "/// <param name=\"context\">The context of the server-side call "
+ "handler being invoked.</param>\n");
+ if (method->server_streaming()) {
+ printer->Print(
+ "/// <returns>A task indicating completion of the "
+ "handler.</returns>\n");
+ } else {
+ printer->Print(
+ "/// <returns>The response to send back to the client (wrapped by a "
+ "task).</returns>\n");
+ }
+ }
+}
+
+void GenerateDocCommentClientMethod(grpc::protobuf::io::Printer* printer,
+ const MethodDescriptor* method,
+ bool is_sync, bool use_call_options) {
+ if (GenerateDocCommentBody(printer, method)) {
+ if (!method->client_streaming()) {
+ printer->Print(
+ "/// <param name=\"request\">The request to send to the "
+ "server.</param>\n");
+ }
+ if (!use_call_options) {
+ printer->Print(
+ "/// <param name=\"headers\">The initial metadata to send with the "
+ "call. This parameter is optional.</param>\n");
+ printer->Print(
+ "/// <param name=\"deadline\">An optional deadline for the call. The "
+ "call will be cancelled if deadline is hit.</param>\n");
+ printer->Print(
+ "/// <param name=\"cancellationToken\">An optional token for "
+ "canceling the call.</param>\n");
+ } else {
+ printer->Print(
+ "/// <param name=\"options\">The options for the call.</param>\n");
+ }
+ if (is_sync) {
+ printer->Print(
+ "/// <returns>The response received from the server.</returns>\n");
+ } else {
+ printer->Print("/// <returns>The call object.</returns>\n");
+ }
+ }
+}
+
+TString GetServiceClassName(const ServiceDescriptor* service) {
+ return service->name();
+}
+
+TString GetClientClassName(const ServiceDescriptor* service) {
+ return service->name() + "Client";
+}
+
+TString GetServerClassName(const ServiceDescriptor* service) {
+ return service->name() + "Base";
+}
+
+TString GetCSharpMethodType(const MethodDescriptor* method) {
+ if (method->client_streaming()) {
+ if (method->server_streaming()) {
+ return "grpc::MethodType.DuplexStreaming";
+ } else {
+ return "grpc::MethodType.ClientStreaming";
+ }
+ } else {
+ if (method->server_streaming()) {
+ return "grpc::MethodType.ServerStreaming";
+ } else {
+ return "grpc::MethodType.Unary";
+ }
+ }
+}
+
+TString GetCSharpServerMethodType(const MethodDescriptor* method) {
+ if (method->client_streaming()) {
+ if (method->server_streaming()) {
+ return "grpc::DuplexStreamingServerMethod";
+ } else {
+ return "grpc::ClientStreamingServerMethod";
+ }
+ } else {
+ if (method->server_streaming()) {
+ return "grpc::ServerStreamingServerMethod";
+ } else {
+ return "grpc::UnaryServerMethod";
+ }
+ }
+}
+
+TString GetServiceNameFieldName() { return "__ServiceName"; }
+
+TString GetMarshallerFieldName(const Descriptor* message) {
+ return "__Marshaller_" +
+ grpc_generator::StringReplace(message->full_name(), ".", "_", true);
+}
+
+TString GetMethodFieldName(const MethodDescriptor* method) {
+ return "__Method_" + method->name();
+}
+
+TString GetMethodRequestParamMaybe(const MethodDescriptor* method,
+ bool invocation_param = false) {
+ if (method->client_streaming()) {
+ return "";
+ }
+ if (invocation_param) {
+ return "request, ";
+ }
+ return GRPC_CUSTOM_CSHARP_GETCLASSNAME(method->input_type()) + " request, ";
+}
+
+TString GetAccessLevel(bool internal_access) {
+ return internal_access ? "internal" : "public";
+}
+
+TString GetMethodReturnTypeClient(const MethodDescriptor* method) {
+ if (method->client_streaming()) {
+ if (method->server_streaming()) {
+ return "grpc::AsyncDuplexStreamingCall<" +
+ GRPC_CUSTOM_CSHARP_GETCLASSNAME(method->input_type()) + ", " +
+ GRPC_CUSTOM_CSHARP_GETCLASSNAME(method->output_type()) + ">";
+ } else {
+ return "grpc::AsyncClientStreamingCall<" +
+ GRPC_CUSTOM_CSHARP_GETCLASSNAME(method->input_type()) + ", " +
+ GRPC_CUSTOM_CSHARP_GETCLASSNAME(method->output_type()) + ">";
+ }
+ } else {
+ if (method->server_streaming()) {
+ return "grpc::AsyncServerStreamingCall<" +
+ GRPC_CUSTOM_CSHARP_GETCLASSNAME(method->output_type()) + ">";
+ } else {
+ return "grpc::AsyncUnaryCall<" +
+ GRPC_CUSTOM_CSHARP_GETCLASSNAME(method->output_type()) + ">";
+ }
+ }
+}
+
+TString GetMethodRequestParamServer(const MethodDescriptor* method) {
+ if (method->client_streaming()) {
+ return "grpc::IAsyncStreamReader<" +
+ GRPC_CUSTOM_CSHARP_GETCLASSNAME(method->input_type()) +
+ "> requestStream";
+ }
+ return GRPC_CUSTOM_CSHARP_GETCLASSNAME(method->input_type()) + " request";
+}
+
+TString GetMethodReturnTypeServer(const MethodDescriptor* method) {
+ if (method->server_streaming()) {
+ return "global::System.Threading.Tasks.Task";
+ }
+ return "global::System.Threading.Tasks.Task<" +
+ GRPC_CUSTOM_CSHARP_GETCLASSNAME(method->output_type()) + ">";
+}
+
+TString GetMethodResponseStreamMaybe(const MethodDescriptor* method) {
+ if (method->server_streaming()) {
+ return ", grpc::IServerStreamWriter<" +
+ GRPC_CUSTOM_CSHARP_GETCLASSNAME(method->output_type()) +
+ "> responseStream";
+ }
+ return "";
+}
+
+// Gets vector of all messages used as input or output types.
+std::vector<const Descriptor*> GetUsedMessages(
+ const ServiceDescriptor* service) {
+ std::set<const Descriptor*> descriptor_set;
+ std::vector<const Descriptor*>
+ result; // vector is to maintain stable ordering
+ for (int i = 0; i < service->method_count(); i++) {
+ const MethodDescriptor* method = service->method(i);
+ if (descriptor_set.find(method->input_type()) == descriptor_set.end()) {
+ descriptor_set.insert(method->input_type());
+ result.push_back(method->input_type());
+ }
+ if (descriptor_set.find(method->output_type()) == descriptor_set.end()) {
+ descriptor_set.insert(method->output_type());
+ result.push_back(method->output_type());
+ }
+ }
+ return result;
+}
+
+void GenerateMarshallerFields(Printer* out, const ServiceDescriptor* service) {
+ std::vector<const Descriptor*> used_messages = GetUsedMessages(service);
+ if (used_messages.size() != 0) {
+ // Generate static helper methods for serialization/deserialization
+ GenerateGeneratedCodeAttribute(out);
+ out->Print(
+ "static void __Helper_SerializeMessage("
+ "global::Google.Protobuf.IMessage message, "
+ "grpc::SerializationContext context)\n"
+ "{\n");
+ out->Indent();
+ out->Print(
+ "#if !GRPC_DISABLE_PROTOBUF_BUFFER_SERIALIZATION\n"
+ "if (message is global::Google.Protobuf.IBufferMessage)\n"
+ "{\n");
+ out->Indent();
+ out->Print(
+ "context.SetPayloadLength(message.CalculateSize());\n"
+ "global::Google.Protobuf.MessageExtensions.WriteTo(message, "
+ "context.GetBufferWriter());\n"
+ "context.Complete();\n"
+ "return;\n");
+ out->Outdent();
+ out->Print(
+ "}\n"
+ "#endif\n");
+ out->Print(
+ "context.Complete("
+ "global::Google.Protobuf.MessageExtensions.ToByteArray(message));\n");
+ out->Outdent();
+ out->Print("}\n\n");
+
+ GenerateGeneratedCodeAttribute(out);
+ out->Print(
+ "static class __Helper_MessageCache<T>\n"
+ "{\n");
+ out->Indent();
+ out->Print(
+ "public static readonly bool IsBufferMessage = "
+ "global::System.Reflection.IntrospectionExtensions.GetTypeInfo(typeof("
+ "global::Google.Protobuf.IBufferMessage)).IsAssignableFrom(typeof(T));"
+ "\n");
+ out->Outdent();
+ out->Print("}\n\n");
+
+ GenerateGeneratedCodeAttribute(out);
+ out->Print(
+ "static T __Helper_DeserializeMessage<T>("
+ "grpc::DeserializationContext context, "
+ "global::Google.Protobuf.MessageParser<T> parser) "
+ "where T : global::Google.Protobuf.IMessage<T>\n"
+ "{\n");
+ out->Indent();
+ out->Print(
+ "#if !GRPC_DISABLE_PROTOBUF_BUFFER_SERIALIZATION\n"
+ "if (__Helper_MessageCache<T>.IsBufferMessage)\n"
+ "{\n");
+ out->Indent();
+ out->Print(
+ "return parser.ParseFrom(context.PayloadAsReadOnlySequence());\n");
+ out->Outdent();
+ out->Print(
+ "}\n"
+ "#endif\n");
+ out->Print("return parser.ParseFrom(context.PayloadAsNewBuffer());\n");
+ out->Outdent();
+ out->Print("}\n\n");
+ }
+
+ for (size_t i = 0; i < used_messages.size(); i++) {
+ const Descriptor* message = used_messages[i];
+ GenerateGeneratedCodeAttribute(out);
+ out->Print(
+ "static readonly grpc::Marshaller<$type$> $fieldname$ = "
+ "grpc::Marshallers.Create(__Helper_SerializeMessage, "
+ "context => __Helper_DeserializeMessage(context, $type$.Parser));\n",
+ "fieldname", GetMarshallerFieldName(message), "type",
+ GRPC_CUSTOM_CSHARP_GETCLASSNAME(message));
+ }
+ out->Print("\n");
+}
+
+void GenerateStaticMethodField(Printer* out, const MethodDescriptor* method) {
+ GenerateGeneratedCodeAttribute(out);
+ out->Print(
+ "static readonly grpc::Method<$request$, $response$> $fieldname$ = new "
+ "grpc::Method<$request$, $response$>(\n",
+ "fieldname", GetMethodFieldName(method), "request",
+ GRPC_CUSTOM_CSHARP_GETCLASSNAME(method->input_type()), "response",
+ GRPC_CUSTOM_CSHARP_GETCLASSNAME(method->output_type()));
+ out->Indent();
+ out->Indent();
+ out->Print("$methodtype$,\n", "methodtype", GetCSharpMethodType(method));
+ out->Print("$servicenamefield$,\n", "servicenamefield",
+ GetServiceNameFieldName());
+ out->Print("\"$methodname$\",\n", "methodname", method->name());
+ out->Print("$requestmarshaller$,\n", "requestmarshaller",
+ GetMarshallerFieldName(method->input_type()));
+ out->Print("$responsemarshaller$);\n", "responsemarshaller",
+ GetMarshallerFieldName(method->output_type()));
+ out->Print("\n");
+ out->Outdent();
+ out->Outdent();
+}
+
+void GenerateServiceDescriptorProperty(Printer* out,
+ const ServiceDescriptor* service) {
+ std::ostringstream index;
+ index << service->index();
+ out->Print("/// <summary>Service descriptor</summary>\n");
+ out->Print(
+ "public static global::Google.Protobuf.Reflection.ServiceDescriptor "
+ "Descriptor\n");
+ out->Print("{\n");
+ out->Print(" get { return $umbrella$.Descriptor.Services[$index$]; }\n",
+ "umbrella",
+ GRPC_CUSTOM_CSHARP_GETREFLECTIONCLASSNAME(service->file()),
+ "index", TString(index.str()));
+ out->Print("}\n");
+ out->Print("\n");
+}
+
+void GenerateServerClass(Printer* out, const ServiceDescriptor* service) {
+ out->Print(
+ "/// <summary>Base class for server-side implementations of "
+ "$servicename$</summary>\n",
+ "servicename", GetServiceClassName(service));
+ out->Print(
+ "[grpc::BindServiceMethod(typeof($classname$), "
+ "\"BindService\")]\n",
+ "classname", GetServiceClassName(service));
+ out->Print("public abstract partial class $name$\n", "name",
+ GetServerClassName(service));
+ out->Print("{\n");
+ out->Indent();
+ for (int i = 0; i < service->method_count(); i++) {
+ const MethodDescriptor* method = service->method(i);
+ GenerateDocCommentServerMethod(out, method);
+ GenerateGeneratedCodeAttribute(out);
+ out->Print(
+ "public virtual $returntype$ "
+ "$methodname$($request$$response_stream_maybe$, "
+ "grpc::ServerCallContext context)\n",
+ "methodname", method->name(), "returntype",
+ GetMethodReturnTypeServer(method), "request",
+ GetMethodRequestParamServer(method), "response_stream_maybe",
+ GetMethodResponseStreamMaybe(method));
+ out->Print("{\n");
+ out->Indent();
+ out->Print(
+ "throw new grpc::RpcException("
+ "new grpc::Status(grpc::StatusCode.Unimplemented, \"\"));\n");
+ out->Outdent();
+ out->Print("}\n\n");
+ }
+ out->Outdent();
+ out->Print("}\n");
+ out->Print("\n");
+}
+
+void GenerateClientStub(Printer* out, const ServiceDescriptor* service) {
+ out->Print("/// <summary>Client for $servicename$</summary>\n", "servicename",
+ GetServiceClassName(service));
+ out->Print("public partial class $name$ : grpc::ClientBase<$name$>\n", "name",
+ GetClientClassName(service));
+ out->Print("{\n");
+ out->Indent();
+
+ // constructors
+ out->Print(
+ "/// <summary>Creates a new client for $servicename$</summary>\n"
+ "/// <param name=\"channel\">The channel to use to make remote "
+ "calls.</param>\n",
+ "servicename", GetServiceClassName(service));
+ GenerateGeneratedCodeAttribute(out);
+ out->Print("public $name$(grpc::ChannelBase channel) : base(channel)\n",
+ "name", GetClientClassName(service));
+ out->Print("{\n");
+ out->Print("}\n");
+ out->Print(
+ "/// <summary>Creates a new client for $servicename$ that uses a custom "
+ "<c>CallInvoker</c>.</summary>\n"
+ "/// <param name=\"callInvoker\">The callInvoker to use to make remote "
+ "calls.</param>\n",
+ "servicename", GetServiceClassName(service));
+ GenerateGeneratedCodeAttribute(out);
+ out->Print(
+ "public $name$(grpc::CallInvoker callInvoker) : base(callInvoker)\n",
+ "name", GetClientClassName(service));
+ out->Print("{\n");
+ out->Print("}\n");
+ out->Print(
+ "/// <summary>Protected parameterless constructor to allow creation"
+ " of test doubles.</summary>\n");
+ GenerateGeneratedCodeAttribute(out);
+ out->Print("protected $name$() : base()\n", "name",
+ GetClientClassName(service));
+ out->Print("{\n");
+ out->Print("}\n");
+ out->Print(
+ "/// <summary>Protected constructor to allow creation of configured "
+ "clients.</summary>\n"
+ "/// <param name=\"configuration\">The client configuration.</param>\n");
+ GenerateGeneratedCodeAttribute(out);
+ out->Print(
+ "protected $name$(ClientBaseConfiguration configuration)"
+ " : base(configuration)\n",
+ "name", GetClientClassName(service));
+ out->Print("{\n");
+ out->Print("}\n\n");
+
+ for (int i = 0; i < service->method_count(); i++) {
+ const MethodDescriptor* method = service->method(i);
+ if (!method->client_streaming() && !method->server_streaming()) {
+ // unary calls have an extra synchronous stub method
+ GenerateDocCommentClientMethod(out, method, true, false);
+ GenerateGeneratedCodeAttribute(out);
+ out->Print(
+ "public virtual $response$ $methodname$($request$ request, "
+ "grpc::Metadata "
+ "headers = null, global::System.DateTime? deadline = null, "
+ "global::System.Threading.CancellationToken "
+ "cancellationToken = "
+ "default(global::System.Threading.CancellationToken))\n",
+ "methodname", method->name(), "request",
+ GRPC_CUSTOM_CSHARP_GETCLASSNAME(method->input_type()), "response",
+ GRPC_CUSTOM_CSHARP_GETCLASSNAME(method->output_type()));
+ out->Print("{\n");
+ out->Indent();
+ out->Print(
+ "return $methodname$(request, new grpc::CallOptions(headers, "
+ "deadline, "
+ "cancellationToken));\n",
+ "methodname", method->name());
+ out->Outdent();
+ out->Print("}\n");
+
+ // overload taking CallOptions as a param
+ GenerateDocCommentClientMethod(out, method, true, true);
+ GenerateGeneratedCodeAttribute(out);
+ out->Print(
+ "public virtual $response$ $methodname$($request$ request, "
+ "grpc::CallOptions options)\n",
+ "methodname", method->name(), "request",
+ GRPC_CUSTOM_CSHARP_GETCLASSNAME(method->input_type()), "response",
+ GRPC_CUSTOM_CSHARP_GETCLASSNAME(method->output_type()));
+ out->Print("{\n");
+ out->Indent();
+ out->Print(
+ "return CallInvoker.BlockingUnaryCall($methodfield$, null, options, "
+ "request);\n",
+ "methodfield", GetMethodFieldName(method));
+ out->Outdent();
+ out->Print("}\n");
+ }
+
+ TString method_name = method->name();
+ if (!method->client_streaming() && !method->server_streaming()) {
+ method_name += "Async"; // prevent name clash with synchronous method.
+ }
+ GenerateDocCommentClientMethod(out, method, false, false);
+ GenerateGeneratedCodeAttribute(out);
+ out->Print(
+ "public virtual $returntype$ "
+ "$methodname$($request_maybe$grpc::Metadata "
+ "headers = null, global::System.DateTime? deadline = null, "
+ "global::System.Threading.CancellationToken "
+ "cancellationToken = "
+ "default(global::System.Threading.CancellationToken))\n",
+ "methodname", method_name, "request_maybe",
+ GetMethodRequestParamMaybe(method), "returntype",
+ GetMethodReturnTypeClient(method));
+ out->Print("{\n");
+ out->Indent();
+
+ out->Print(
+ "return $methodname$($request_maybe$new grpc::CallOptions(headers, "
+ "deadline, "
+ "cancellationToken));\n",
+ "methodname", method_name, "request_maybe",
+ GetMethodRequestParamMaybe(method, true));
+ out->Outdent();
+ out->Print("}\n");
+
+ // overload taking CallOptions as a param
+ GenerateDocCommentClientMethod(out, method, false, true);
+ GenerateGeneratedCodeAttribute(out);
+ out->Print(
+ "public virtual $returntype$ "
+ "$methodname$($request_maybe$grpc::CallOptions "
+ "options)\n",
+ "methodname", method_name, "request_maybe",
+ GetMethodRequestParamMaybe(method), "returntype",
+ GetMethodReturnTypeClient(method));
+ out->Print("{\n");
+ out->Indent();
+ if (!method->client_streaming() && !method->server_streaming()) {
+ // Non-Streaming
+ out->Print(
+ "return CallInvoker.AsyncUnaryCall($methodfield$, null, options, "
+ "request);\n",
+ "methodfield", GetMethodFieldName(method));
+ } else if (method->client_streaming() && !method->server_streaming()) {
+ // Client Streaming Only
+ out->Print(
+ "return CallInvoker.AsyncClientStreamingCall($methodfield$, null, "
+ "options);\n",
+ "methodfield", GetMethodFieldName(method));
+ } else if (!method->client_streaming() && method->server_streaming()) {
+ // Server Streaming Only
+ out->Print(
+ "return CallInvoker.AsyncServerStreamingCall($methodfield$, null, "
+ "options, request);\n",
+ "methodfield", GetMethodFieldName(method));
+ } else {
+ // Bi-Directional Streaming
+ out->Print(
+ "return CallInvoker.AsyncDuplexStreamingCall($methodfield$, null, "
+ "options);\n",
+ "methodfield", GetMethodFieldName(method));
+ }
+ out->Outdent();
+ out->Print("}\n");
+ }
+
+ // override NewInstance method
+ out->Print(
+ "/// <summary>Creates a new instance of client from given "
+ "<c>ClientBaseConfiguration</c>.</summary>\n");
+ GenerateGeneratedCodeAttribute(out);
+ out->Print(
+ "protected override $name$ NewInstance(ClientBaseConfiguration "
+ "configuration)\n",
+ "name", GetClientClassName(service));
+ out->Print("{\n");
+ out->Indent();
+ out->Print("return new $name$(configuration);\n", "name",
+ GetClientClassName(service));
+ out->Outdent();
+ out->Print("}\n");
+
+ out->Outdent();
+ out->Print("}\n");
+ out->Print("\n");
+}
+
+void GenerateBindServiceMethod(Printer* out, const ServiceDescriptor* service) {
+ out->Print(
+ "/// <summary>Creates service definition that can be registered with a "
+ "server</summary>\n");
+ out->Print(
+ "/// <param name=\"serviceImpl\">An object implementing the server-side"
+ " handling logic.</param>\n");
+ GenerateGeneratedCodeAttribute(out);
+ out->Print(
+ "public static grpc::ServerServiceDefinition BindService($implclass$ "
+ "serviceImpl)\n",
+ "implclass", GetServerClassName(service));
+ out->Print("{\n");
+ out->Indent();
+
+ out->Print("return grpc::ServerServiceDefinition.CreateBuilder()");
+ out->Indent();
+ out->Indent();
+ for (int i = 0; i < service->method_count(); i++) {
+ const MethodDescriptor* method = service->method(i);
+ out->Print("\n.AddMethod($methodfield$, serviceImpl.$methodname$)",
+ "methodfield", GetMethodFieldName(method), "methodname",
+ method->name());
+ }
+ out->Print(".Build();\n");
+ out->Outdent();
+ out->Outdent();
+
+ out->Outdent();
+ out->Print("}\n");
+ out->Print("\n");
+}
+
+void GenerateBindServiceWithBinderMethod(Printer* out,
+ const ServiceDescriptor* service) {
+ out->Print(
+ "/// <summary>Register service method with a service "
+ "binder with or without implementation. Useful when customizing the "
+ "service binding logic.\n"
+ "/// Note: this method is part of an experimental API that can change or "
+ "be "
+ "removed without any prior notice.</summary>\n");
+ out->Print(
+ "/// <param name=\"serviceBinder\">Service methods will be bound by "
+ "calling <c>AddMethod</c> on this object."
+ "</param>\n");
+ out->Print(
+ "/// <param name=\"serviceImpl\">An object implementing the server-side"
+ " handling logic.</param>\n");
+ GenerateGeneratedCodeAttribute(out);
+ out->Print(
+ "public static void BindService(grpc::ServiceBinderBase serviceBinder, "
+ "$implclass$ "
+ "serviceImpl)\n",
+ "implclass", GetServerClassName(service));
+ out->Print("{\n");
+ out->Indent();
+
+ for (int i = 0; i < service->method_count(); i++) {
+ const MethodDescriptor* method = service->method(i);
+ out->Print(
+ "serviceBinder.AddMethod($methodfield$, serviceImpl == null ? null : "
+ "new $servermethodtype$<$inputtype$, $outputtype$>("
+ "serviceImpl.$methodname$));\n",
+ "methodfield", GetMethodFieldName(method), "servermethodtype",
+ GetCSharpServerMethodType(method), "inputtype",
+ GRPC_CUSTOM_CSHARP_GETCLASSNAME(method->input_type()), "outputtype",
+ GRPC_CUSTOM_CSHARP_GETCLASSNAME(method->output_type()), "methodname",
+ method->name());
+ }
+
+ out->Outdent();
+ out->Print("}\n");
+ out->Print("\n");
+}
+
+void GenerateService(Printer* out, const ServiceDescriptor* service,
+ bool generate_client, bool generate_server,
+ bool internal_access) {
+ GenerateDocCommentBody(out, service);
+
+ out->Print("$access_level$ static partial class $classname$\n",
+ "access_level", GetAccessLevel(internal_access), "classname",
+ GetServiceClassName(service));
+ out->Print("{\n");
+ out->Indent();
+ out->Print("static readonly string $servicenamefield$ = \"$servicename$\";\n",
+ "servicenamefield", GetServiceNameFieldName(), "servicename",
+ service->full_name());
+ out->Print("\n");
+
+ GenerateMarshallerFields(out, service);
+ for (int i = 0; i < service->method_count(); i++) {
+ GenerateStaticMethodField(out, service->method(i));
+ }
+ GenerateServiceDescriptorProperty(out, service);
+
+ if (generate_server) {
+ GenerateServerClass(out, service);
+ }
+ if (generate_client) {
+ GenerateClientStub(out, service);
+ }
+ if (generate_server) {
+ GenerateBindServiceMethod(out, service);
+ GenerateBindServiceWithBinderMethod(out, service);
+ }
+
+ out->Outdent();
+ out->Print("}\n");
+}
+
+} // anonymous namespace
+
+TString GetServices(const FileDescriptor* file, bool generate_client,
+ bool generate_server, bool internal_access) {
+ TString output;
+ {
+ // Scope the output stream so it closes and finalizes output to the string.
+
+ StringOutputStream output_stream(&output);
+ Printer out(&output_stream, '$');
+
+ // Don't write out any output if there no services, to avoid empty service
+ // files being generated for proto files that don't declare any.
+ if (file->service_count() == 0) {
+ return output;
+ }
+
+ // Write out a file header.
+ out.Print("// <auto-generated>\n");
+ out.Print(
+ "// Generated by the protocol buffer compiler. DO NOT EDIT!\n");
+ out.Print("// source: $filename$\n", "filename", file->name());
+ out.Print("// </auto-generated>\n");
+
+ // use C++ style as there are no file-level XML comments in .NET
+ TString leading_comments = GetCsharpComments(file, true);
+ if (!leading_comments.empty()) {
+ out.Print("// Original file comments:\n");
+ out.PrintRaw(leading_comments.c_str());
+ }
+
+ out.Print("#pragma warning disable 0414, 1591\n");
+
+ out.Print("#region Designer generated code\n");
+ out.Print("\n");
+ out.Print("using grpc = global::Grpc.Core;\n");
+ out.Print("\n");
+
+ TString file_namespace = GRPC_CUSTOM_CSHARP_GETFILENAMESPACE(file);
+ if (file_namespace != "") {
+ out.Print("namespace $namespace$ {\n", "namespace", file_namespace);
+ out.Indent();
+ }
+ for (int i = 0; i < file->service_count(); i++) {
+ GenerateService(&out, file->service(i), generate_client, generate_server,
+ internal_access);
+ }
+ if (file_namespace != "") {
+ out.Outdent();
+ out.Print("}\n");
+ }
+ out.Print("#endregion\n");
+ }
+ return output;
+}
+
+} // namespace grpc_csharp_generator
diff --git a/contrib/libs/grpc/src/cpp/common/insecure_create_auth_context.cc b/contrib/libs/grpc/src/compiler/csharp_generator.h
index 4e5cbd0372..323b90584d 100644
--- a/contrib/libs/grpc/src/cpp/common/insecure_create_auth_context.cc
+++ b/contrib/libs/grpc/src/compiler/csharp_generator.h
@@ -15,16 +15,18 @@
* limitations under the License.
*
*/
-#include <memory>
-#include <grpc/grpc.h>
-#include <grpcpp/security/auth_context.h>
+#ifndef GRPC_INTERNAL_COMPILER_CSHARP_GENERATOR_H
+#define GRPC_INTERNAL_COMPILER_CSHARP_GENERATOR_H
-namespace grpc {
+#include "src/compiler/config.h"
-std::shared_ptr<const AuthContext> CreateAuthContext(grpc_call* call) {
- (void)call;
- return std::shared_ptr<const AuthContext>();
-}
+namespace grpc_csharp_generator {
-} // namespace grpc
+TString GetServices(const grpc::protobuf::FileDescriptor* file,
+ bool generate_client, bool generate_server,
+ bool internal_access);
+
+} // namespace grpc_csharp_generator
+
+#endif // GRPC_INTERNAL_COMPILER_CSHARP_GENERATOR_H
diff --git a/contrib/libs/grpc/src/compiler/csharp_generator_helpers.h b/contrib/libs/grpc/src/compiler/csharp_generator_helpers.h
new file mode 100644
index 0000000000..d1a5b3a2a0
--- /dev/null
+++ b/contrib/libs/grpc/src/compiler/csharp_generator_helpers.h
@@ -0,0 +1,44 @@
+/*
+ *
+ * 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.
+ *
+ */
+
+#ifndef GRPC_INTERNAL_COMPILER_CSHARP_GENERATOR_HELPERS_H
+#define GRPC_INTERNAL_COMPILER_CSHARP_GENERATOR_HELPERS_H
+
+#include "src/compiler/config.h"
+#include "src/compiler/generator_helpers.h"
+
+namespace grpc_csharp_generator {
+
+inline bool ServicesFilename(const grpc::protobuf::FileDescriptor* file,
+ const TString& file_suffix,
+ TString& out_file_name_or_error) {
+ out_file_name_or_error =
+ grpc_generator::FileNameInUpperCamel(file, false) + file_suffix;
+ return true;
+}
+
+// Get leading or trailing comments in a string. Comment lines start with "// ".
+// Leading detached comments are put in front of leading comments.
+template <typename DescriptorType>
+inline TString GetCsharpComments(const DescriptorType* desc, bool leading) {
+ return grpc_generator::GetPrefixedComments(desc, leading, "//");
+}
+
+} // namespace grpc_csharp_generator
+
+#endif // GRPC_INTERNAL_COMPILER_CSHARP_GENERATOR_HELPERS_H
diff --git a/contrib/libs/grpc/src/compiler/grpc_plugin_support/CMakeLists.txt b/contrib/libs/grpc/src/compiler/grpc_plugin_support/CMakeLists.txt
index 3a5fffec24..7391a78c9d 100644
--- a/contrib/libs/grpc/src/compiler/grpc_plugin_support/CMakeLists.txt
+++ b/contrib/libs/grpc/src/compiler/grpc_plugin_support/CMakeLists.txt
@@ -27,5 +27,10 @@ target_link_libraries(src-compiler-grpc_plugin_support PUBLIC
)
target_sources(src-compiler-grpc_plugin_support PRIVATE
${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/compiler/cpp_generator.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/compiler/csharp_generator.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/compiler/node_generator.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/compiler/objective_c_generator.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/compiler/php_generator.cc
${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/compiler/python_generator.cc
+ ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/compiler/ruby_generator.cc
)
diff --git a/contrib/libs/grpc/src/compiler/node_generator.cc b/contrib/libs/grpc/src/compiler/node_generator.cc
new file mode 100644
index 0000000000..d890320e8a
--- /dev/null
+++ b/contrib/libs/grpc/src/compiler/node_generator.cc
@@ -0,0 +1,276 @@
+/*
+ *
+ * Copyright 2016 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 "src/compiler/node_generator.h"
+
+#include <map>
+
+#include "src/compiler/config.h"
+#include "src/compiler/generator_helpers.h"
+#include "src/compiler/node_generator_helpers.h"
+
+using grpc::protobuf::Descriptor;
+using grpc::protobuf::FileDescriptor;
+using grpc::protobuf::MethodDescriptor;
+using grpc::protobuf::ServiceDescriptor;
+using grpc::protobuf::io::Printer;
+using grpc::protobuf::io::StringOutputStream;
+using std::map;
+
+namespace grpc_node_generator {
+namespace {
+
+// Returns the alias we assign to the module of the given .proto filename
+// when importing. Copied entirely from
+// github:google/protobuf/src/google/protobuf/compiler/js/js_generator.cc#L154
+TString ModuleAlias(const TString filename) {
+ // This scheme could technically cause problems if a file includes any 2 of:
+ // foo/bar_baz.proto
+ // foo_bar_baz.proto
+ // foo_bar/baz.proto
+ //
+ // We'll worry about this problem if/when we actually see it. This name isn't
+ // exposed to users so we can change it later if we need to.
+ TString basename = grpc_generator::StripProto(filename);
+ basename = grpc_generator::StringReplace(basename, "-", "$");
+ basename = grpc_generator::StringReplace(basename, "/", "_");
+ basename = grpc_generator::StringReplace(basename, ".", "_");
+ return basename + "_pb";
+}
+
+// Given a filename like foo/bar/baz.proto, returns the corresponding JavaScript
+// message file foo/bar/baz.js
+TString GetJSMessageFilename(const TString& filename) {
+ TString name = filename;
+ return grpc_generator::StripProto(name) + "_pb.js";
+}
+
+// Given a filename like foo/bar/baz.proto, returns the root directory
+// path ../../
+TString GetRootPath(const TString& from_filename,
+ const TString& to_filename) {
+ if (to_filename.find("google/protobuf") == 0) {
+ // Well-known types (.proto files in the google/protobuf directory) are
+ // assumed to come from the 'google-protobuf' npm package. We may want to
+ // generalize this exception later by letting others put generated code in
+ // their own npm packages.
+ return "google-protobuf/";
+ }
+ size_t slashes = std::count(from_filename.begin(), from_filename.end(), '/');
+ if (slashes == 0) {
+ return "./";
+ }
+ TString result = "";
+ for (size_t i = 0; i < slashes; i++) {
+ result += "../";
+ }
+ return result;
+}
+
+// Return the relative path to load to_file from the directory containing
+// from_file, assuming that both paths are relative to the same directory
+TString GetRelativePath(const TString& from_file,
+ const TString& to_file) {
+ return GetRootPath(from_file, to_file) + to_file;
+}
+
+/* Finds all message types used in all services in the file, and returns them
+ * as a map of fully qualified message type name to message descriptor */
+map<TString, const Descriptor*> GetAllMessages(const FileDescriptor* file) {
+ map<TString, const Descriptor*> message_types;
+ for (int service_num = 0; service_num < file->service_count();
+ service_num++) {
+ const ServiceDescriptor* service = file->service(service_num);
+ for (int method_num = 0; method_num < service->method_count();
+ method_num++) {
+ const MethodDescriptor* method = service->method(method_num);
+ const Descriptor* input_type = method->input_type();
+ const Descriptor* output_type = method->output_type();
+ message_types[input_type->full_name()] = input_type;
+ message_types[output_type->full_name()] = output_type;
+ }
+ }
+ return message_types;
+}
+
+TString MessageIdentifierName(const TString& name) {
+ return grpc_generator::StringReplace(name, ".", "_");
+}
+
+TString NodeObjectPath(const Descriptor* descriptor) {
+ TString module_alias = ModuleAlias(descriptor->file()->name());
+ TString name = descriptor->full_name();
+ grpc_generator::StripPrefix(&name, descriptor->file()->package() + ".");
+ return module_alias + "." + name;
+}
+
+// Prints out the message serializer and deserializer functions
+void PrintMessageTransformer(const Descriptor* descriptor, Printer* out,
+ const Parameters& params) {
+ map<TString, TString> template_vars;
+ TString full_name = descriptor->full_name();
+ template_vars["identifier_name"] = MessageIdentifierName(full_name);
+ template_vars["name"] = full_name;
+ template_vars["node_name"] = NodeObjectPath(descriptor);
+ // Print the serializer
+ out->Print(template_vars, "function serialize_$identifier_name$(arg) {\n");
+ out->Indent();
+ out->Print(template_vars, "if (!(arg instanceof $node_name$)) {\n");
+ out->Indent();
+ out->Print(template_vars,
+ "throw new Error('Expected argument of type $name$');\n");
+ out->Outdent();
+ out->Print("}\n");
+ if (params.minimum_node_version > 5) {
+ // Node version is > 5, we should use Buffer.from
+ out->Print("return Buffer.from(arg.serializeBinary());\n");
+ } else {
+ out->Print("return new Buffer(arg.serializeBinary());\n");
+ }
+ out->Outdent();
+ out->Print("}\n\n");
+
+ // Print the deserializer
+ out->Print(template_vars,
+ "function deserialize_$identifier_name$(buffer_arg) {\n");
+ out->Indent();
+ out->Print(
+ template_vars,
+ "return $node_name$.deserializeBinary(new Uint8Array(buffer_arg));\n");
+ out->Outdent();
+ out->Print("}\n\n");
+}
+
+void PrintMethod(const MethodDescriptor* method, Printer* out) {
+ const Descriptor* input_type = method->input_type();
+ const Descriptor* output_type = method->output_type();
+ map<TString, TString> vars;
+ vars["service_name"] = method->service()->full_name();
+ vars["name"] = method->name();
+ vars["input_type"] = NodeObjectPath(input_type);
+ vars["input_type_id"] = MessageIdentifierName(input_type->full_name());
+ vars["output_type"] = NodeObjectPath(output_type);
+ vars["output_type_id"] = MessageIdentifierName(output_type->full_name());
+ vars["client_stream"] = method->client_streaming() ? "true" : "false";
+ vars["server_stream"] = method->server_streaming() ? "true" : "false";
+ out->Print("{\n");
+ out->Indent();
+ out->Print(vars, "path: '/$service_name$/$name$',\n");
+ out->Print(vars, "requestStream: $client_stream$,\n");
+ out->Print(vars, "responseStream: $server_stream$,\n");
+ out->Print(vars, "requestType: $input_type$,\n");
+ out->Print(vars, "responseType: $output_type$,\n");
+ out->Print(vars, "requestSerialize: serialize_$input_type_id$,\n");
+ out->Print(vars, "requestDeserialize: deserialize_$input_type_id$,\n");
+ out->Print(vars, "responseSerialize: serialize_$output_type_id$,\n");
+ out->Print(vars, "responseDeserialize: deserialize_$output_type_id$,\n");
+ out->Outdent();
+ out->Print("}");
+}
+
+// Prints out the service descriptor object
+void PrintService(const ServiceDescriptor* service, Printer* out) {
+ map<TString, TString> template_vars;
+ out->Print(GetNodeComments(service, true).c_str());
+ template_vars["name"] = service->name();
+ out->Print(template_vars, "var $name$Service = exports.$name$Service = {\n");
+ out->Indent();
+ for (int i = 0; i < service->method_count(); i++) {
+ TString method_name =
+ grpc_generator::LowercaseFirstLetter(service->method(i)->name());
+ out->Print(GetNodeComments(service->method(i), true).c_str());
+ out->Print("$method_name$: ", "method_name", method_name);
+ PrintMethod(service->method(i), out);
+ out->Print(",\n");
+ out->Print(GetNodeComments(service->method(i), false).c_str());
+ }
+ out->Outdent();
+ out->Print("};\n\n");
+ out->Print(template_vars,
+ "exports.$name$Client = "
+ "grpc.makeGenericClientConstructor($name$Service);\n");
+ out->Print(GetNodeComments(service, false).c_str());
+}
+
+void PrintImports(const FileDescriptor* file, Printer* out) {
+ out->Print("var grpc = require('grpc');\n");
+ if (file->message_type_count() > 0) {
+ TString file_path =
+ GetRelativePath(file->name(), GetJSMessageFilename(file->name()));
+ out->Print("var $module_alias$ = require('$file_path$');\n", "module_alias",
+ ModuleAlias(file->name()), "file_path", file_path);
+ }
+
+ for (int i = 0; i < file->dependency_count(); i++) {
+ TString file_path = GetRelativePath(
+ file->name(), GetJSMessageFilename(file->dependency(i)->name()));
+ out->Print("var $module_alias$ = require('$file_path$');\n", "module_alias",
+ ModuleAlias(file->dependency(i)->name()), "file_path",
+ file_path);
+ }
+ out->Print("\n");
+}
+
+void PrintTransformers(const FileDescriptor* file, Printer* out,
+ const Parameters& params) {
+ map<TString, const Descriptor*> messages = GetAllMessages(file);
+ for (std::map<TString, const Descriptor*>::iterator it = messages.begin();
+ it != messages.end(); it++) {
+ PrintMessageTransformer(it->second, out, params);
+ }
+ out->Print("\n");
+}
+
+void PrintServices(const FileDescriptor* file, Printer* out) {
+ for (int i = 0; i < file->service_count(); i++) {
+ PrintService(file->service(i), out);
+ }
+}
+} // namespace
+
+TString GenerateFile(const FileDescriptor* file, const Parameters& params) {
+ TString output;
+ {
+ StringOutputStream output_stream(&output);
+ Printer out(&output_stream, '$');
+
+ if (file->service_count() == 0) {
+ return output;
+ }
+ out.Print("// GENERATED CODE -- DO NOT EDIT!\n\n");
+
+ TString leading_comments = GetNodeComments(file, true);
+ if (!leading_comments.empty()) {
+ out.Print("// Original file comments:\n");
+ out.PrintRaw(leading_comments.c_str());
+ }
+
+ out.Print("'use strict';\n");
+
+ PrintImports(file, &out);
+
+ PrintTransformers(file, &out, params);
+
+ PrintServices(file, &out);
+
+ out.Print(GetNodeComments(file, false).c_str());
+ }
+ return output;
+}
+
+} // namespace grpc_node_generator
diff --git a/contrib/libs/grpc/src/compiler/node_generator.h b/contrib/libs/grpc/src/compiler/node_generator.h
new file mode 100644
index 0000000000..959df436ea
--- /dev/null
+++ b/contrib/libs/grpc/src/compiler/node_generator.h
@@ -0,0 +1,37 @@
+/*
+ *
+ * Copyright 2016 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.
+ *
+ */
+
+#ifndef GRPC_INTERNAL_COMPILER_NODE_GENERATOR_H
+#define GRPC_INTERNAL_COMPILER_NODE_GENERATOR_H
+
+#include "src/compiler/config.h"
+
+namespace grpc_node_generator {
+
+// Contains all the parameters that are parsed from the command line.
+struct Parameters {
+ // Sets the earliest version of nodejs that needs to be supported.
+ int minimum_node_version;
+};
+
+TString GenerateFile(const grpc::protobuf::FileDescriptor* file,
+ const Parameters& params);
+
+} // namespace grpc_node_generator
+
+#endif // GRPC_INTERNAL_COMPILER_NODE_GENERATOR_H
diff --git a/contrib/libs/grpc/src/compiler/node_generator_helpers.h b/contrib/libs/grpc/src/compiler/node_generator_helpers.h
new file mode 100644
index 0000000000..ccf57ec8a6
--- /dev/null
+++ b/contrib/libs/grpc/src/compiler/node_generator_helpers.h
@@ -0,0 +1,42 @@
+/*
+ *
+ * Copyright 2016 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.
+ *
+ */
+
+#ifndef GRPC_INTERNAL_COMPILER_NODE_GENERATOR_HELPERS_H
+#define GRPC_INTERNAL_COMPILER_NODE_GENERATOR_HELPERS_H
+
+#include <algorithm>
+
+#include "src/compiler/config.h"
+#include "src/compiler/generator_helpers.h"
+
+namespace grpc_node_generator {
+
+inline TString GetJSServiceFilename(const TString& filename) {
+ return grpc_generator::StripProto(filename) + "_grpc_pb.js";
+}
+
+// Get leading or trailing comments in a string. Comment lines start with "// ".
+// Leading detached comments are put in front of leading comments.
+template <typename DescriptorType>
+inline TString GetNodeComments(const DescriptorType* desc, bool leading) {
+ return grpc_generator::GetPrefixedComments(desc, leading, "//");
+}
+
+} // namespace grpc_node_generator
+
+#endif // GRPC_INTERNAL_COMPILER_NODE_GENERATOR_HELPERS_H
diff --git a/contrib/libs/grpc/src/compiler/objective_c_generator.cc b/contrib/libs/grpc/src/compiler/objective_c_generator.cc
new file mode 100644
index 0000000000..ec7b90f8a7
--- /dev/null
+++ b/contrib/libs/grpc/src/compiler/objective_c_generator.cc
@@ -0,0 +1,451 @@
+/*
+ *
+ * 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 "src/compiler/objective_c_generator.h"
+
+#include <map>
+#include <set>
+#include <sstream>
+
+#include <google/protobuf/compiler/objectivec/objectivec_helpers.h>
+
+#include "src/compiler/config.h"
+#include "src/compiler/objective_c_generator_helpers.h"
+
+using ::google::protobuf::compiler::objectivec::ClassName;
+using ::grpc::protobuf::FileDescriptor;
+using ::grpc::protobuf::MethodDescriptor;
+using ::grpc::protobuf::ServiceDescriptor;
+using ::grpc::protobuf::io::Printer;
+using ::std::map;
+using ::std::set;
+
+namespace grpc_objective_c_generator {
+namespace {
+
+void PrintProtoRpcDeclarationAsPragma(Printer* printer,
+ const MethodDescriptor* method,
+ map< ::TString, ::TString> vars) {
+ vars["client_stream"] = method->client_streaming() ? "stream " : "";
+ vars["server_stream"] = method->server_streaming() ? "stream " : "";
+
+ printer->Print(vars,
+ "#pragma mark $method_name$($client_stream$$request_type$)"
+ " returns ($server_stream$$response_type$)\n\n");
+}
+
+template <typename DescriptorType>
+static void PrintAllComments(const DescriptorType* desc, Printer* printer,
+ bool deprecated = false) {
+ std::vector<TString> comments;
+ grpc_generator::GetComment(desc, grpc_generator::COMMENTTYPE_LEADING_DETACHED,
+ &comments);
+ grpc_generator::GetComment(desc, grpc_generator::COMMENTTYPE_LEADING,
+ &comments);
+ grpc_generator::GetComment(desc, grpc_generator::COMMENTTYPE_TRAILING,
+ &comments);
+ if (comments.empty()) {
+ return;
+ }
+ printer->Print("/**\n");
+ for (auto it = comments.begin(); it != comments.end(); ++it) {
+ printer->Print(" * ");
+ size_t start_pos = it->find_first_not_of(' ');
+ if (start_pos != TString::npos) {
+ printer->PrintRaw(it->c_str() + start_pos);
+ }
+ printer->Print("\n");
+ }
+ if (deprecated) {
+ printer->Print(" *\n");
+ printer->Print(
+ " * This method belongs to a set of APIs that have been deprecated. "
+ "Using"
+ " the v2 API is recommended.\n");
+ }
+ printer->Print(" */\n");
+}
+
+void PrintMethodSignature(Printer* printer, const MethodDescriptor* method,
+ const map< ::TString, ::TString>& vars) {
+ // Print comment
+ PrintAllComments(method, printer, true);
+
+ printer->Print(vars, "- ($return_type$)$method_name$With");
+ if (method->client_streaming()) {
+ printer->Print("RequestsWriter:(GRXWriter *)requestWriter");
+ } else {
+ printer->Print(vars, "Request:($request_class$ *)request");
+ }
+
+ // TODO(jcanizales): Put this on a new line and align colons.
+ if (method->server_streaming()) {
+ printer->Print(vars,
+ " eventHandler:(void(^)(BOOL done, "
+ "$response_class$ *_Nullable response, NSError *_Nullable "
+ "error))eventHandler");
+ } else {
+ printer->Print(vars,
+ " handler:(void(^)($response_class$ *_Nullable response, "
+ "NSError *_Nullable error))handler");
+ }
+}
+
+void PrintSimpleSignature(Printer* printer, const MethodDescriptor* method,
+ map< ::TString, ::TString> vars) {
+ vars["method_name"] =
+ grpc_generator::LowercaseFirstLetter(vars["method_name"]);
+ vars["return_type"] = "void";
+ PrintMethodSignature(printer, method, vars);
+}
+
+void PrintAdvancedSignature(Printer* printer, const MethodDescriptor* method,
+ map< ::TString, ::TString> vars) {
+ vars["method_name"] = "RPCTo" + vars["method_name"];
+ vars["return_type"] = "GRPCProtoCall *";
+ PrintMethodSignature(printer, method, vars);
+}
+
+void PrintV2Signature(Printer* printer, const MethodDescriptor* method,
+ map< ::TString, ::TString> vars) {
+ if (method->client_streaming()) {
+ vars["return_type"] = "GRPCStreamingProtoCall *";
+ } else {
+ vars["return_type"] = "GRPCUnaryProtoCall *";
+ }
+ vars["method_name"] =
+ grpc_generator::LowercaseFirstLetter(vars["method_name"]);
+
+ PrintAllComments(method, printer);
+
+ printer->Print(vars, "- ($return_type$)$method_name$With");
+ if (method->client_streaming()) {
+ printer->Print("ResponseHandler:(id<GRPCProtoResponseHandler>)handler");
+ } else {
+ printer->Print(vars,
+ "Message:($request_class$ *)message "
+ "responseHandler:(id<GRPCProtoResponseHandler>)handler");
+ }
+ printer->Print(" callOptions:(GRPCCallOptions *_Nullable)callOptions");
+}
+
+inline map< ::TString, ::TString> GetMethodVars(
+ const MethodDescriptor* method) {
+ map< ::TString, ::TString> res;
+ res["method_name"] = method->name();
+ res["request_type"] = method->input_type()->name();
+ res["response_type"] = method->output_type()->name();
+ res["request_class"] = ClassName(method->input_type());
+ res["response_class"] = ClassName(method->output_type());
+ return res;
+}
+
+void PrintMethodDeclarations(Printer* printer, const MethodDescriptor* method) {
+ map< ::TString, ::TString> vars = GetMethodVars(method);
+
+ PrintProtoRpcDeclarationAsPragma(printer, method, vars);
+
+ PrintSimpleSignature(printer, method, vars);
+ printer->Print(";\n\n");
+ PrintAdvancedSignature(printer, method, vars);
+ printer->Print(";\n\n\n");
+}
+
+void PrintV2MethodDeclarations(Printer* printer,
+ const MethodDescriptor* method) {
+ map< ::TString, ::TString> vars = GetMethodVars(method);
+
+ PrintProtoRpcDeclarationAsPragma(printer, method, vars);
+
+ PrintV2Signature(printer, method, vars);
+ printer->Print(";\n\n");
+}
+
+void PrintSimpleImplementation(Printer* printer, const MethodDescriptor* method,
+ map< ::TString, ::TString> vars) {
+ printer->Print("{\n");
+ printer->Print(vars, " [[self RPCTo$method_name$With");
+ if (method->client_streaming()) {
+ printer->Print("RequestsWriter:requestWriter");
+ } else {
+ printer->Print("Request:request");
+ }
+ if (method->server_streaming()) {
+ printer->Print(" eventHandler:eventHandler] start];\n");
+ } else {
+ printer->Print(" handler:handler] start];\n");
+ }
+ printer->Print("}\n");
+}
+
+void PrintAdvancedImplementation(Printer* printer,
+ const MethodDescriptor* method,
+ map< ::TString, ::TString> vars) {
+ printer->Print("{\n");
+ printer->Print(vars, " return [self RPCToMethod:@\"$method_name$\"\n");
+
+ printer->Print(" requestsWriter:");
+ if (method->client_streaming()) {
+ printer->Print("requestWriter\n");
+ } else {
+ printer->Print("[GRXWriter writerWithValue:request]\n");
+ }
+
+ printer->Print(vars, " responseClass:[$response_class$ class]\n");
+
+ printer->Print(" responsesWriteable:[GRXWriteable ");
+ if (method->server_streaming()) {
+ printer->Print("writeableWithEventHandler:eventHandler]];\n");
+ } else {
+ printer->Print("writeableWithSingleHandler:handler]];\n");
+ }
+
+ printer->Print("}\n");
+}
+
+void PrintV2Implementation(Printer* printer, const MethodDescriptor* method,
+ map< ::TString, ::TString> vars) {
+ printer->Print(" {\n");
+ if (method->client_streaming()) {
+ printer->Print(vars, " return [self RPCToMethod:@\"$method_name$\"\n");
+ printer->Print(" responseHandler:handler\n");
+ printer->Print(" callOptions:callOptions\n");
+ printer->Print(
+ vars, " responseClass:[$response_class$ class]];\n}\n\n");
+ } else {
+ printer->Print(vars, " return [self RPCToMethod:@\"$method_name$\"\n");
+ printer->Print(" message:message\n");
+ printer->Print(" responseHandler:handler\n");
+ printer->Print(" callOptions:callOptions\n");
+ printer->Print(
+ vars, " responseClass:[$response_class$ class]];\n}\n\n");
+ }
+}
+
+void PrintMethodImplementations(Printer* printer,
+ const MethodDescriptor* method,
+ const Parameters& generator_params) {
+ map< ::TString, ::TString> vars = GetMethodVars(method);
+
+ PrintProtoRpcDeclarationAsPragma(printer, method, vars);
+
+ if (!generator_params.no_v1_compatibility) {
+ // TODO(jcanizales): Print documentation from the method.
+ PrintSimpleSignature(printer, method, vars);
+ PrintSimpleImplementation(printer, method, vars);
+
+ printer->Print("// Returns a not-yet-started RPC object.\n");
+ PrintAdvancedSignature(printer, method, vars);
+ PrintAdvancedImplementation(printer, method, vars);
+ }
+
+ PrintV2Signature(printer, method, vars);
+ PrintV2Implementation(printer, method, vars);
+}
+
+} // namespace
+
+::TString GetAllMessageClasses(const FileDescriptor* file) {
+ ::TString output;
+ set< ::TString> classes;
+ for (int i = 0; i < file->service_count(); i++) {
+ const auto service = file->service(i);
+ for (int i = 0; i < service->method_count(); i++) {
+ const auto method = service->method(i);
+ classes.insert(ClassName(method->input_type()));
+ classes.insert(ClassName(method->output_type()));
+ }
+ }
+ for (auto one_class : classes) {
+ output += "@class " + one_class + ";\n";
+ }
+
+ return output;
+}
+
+::TString GetProtocol(const ServiceDescriptor* service,
+ const Parameters& generator_params) {
+ ::TString output;
+
+ if (generator_params.no_v1_compatibility) return output;
+
+ // Scope the output stream so it closes and finalizes output to the string.
+ grpc::protobuf::io::StringOutputStream output_stream(&output);
+ Printer printer(&output_stream, '$');
+
+ map< ::TString, ::TString> vars = {
+ {"service_class", ServiceClassName(service)}};
+
+ printer.Print(vars,
+ "/**\n"
+ " * The methods in this protocol belong to a set of old APIs "
+ "that have been deprecated. They do not\n"
+ " * recognize call options provided in the initializer. Using "
+ "the v2 protocol is recommended.\n"
+ " */\n");
+ printer.Print(vars, "@protocol $service_class$ <NSObject>\n\n");
+ for (int i = 0; i < service->method_count(); i++) {
+ PrintMethodDeclarations(&printer, service->method(i));
+ }
+ printer.Print("@end\n\n");
+
+ return output;
+}
+
+::TString GetV2Protocol(const ServiceDescriptor* service) {
+ ::TString output;
+
+ // Scope the output stream so it closes and finalizes output to the string.
+ grpc::protobuf::io::StringOutputStream output_stream(&output);
+ Printer printer(&output_stream, '$');
+
+ map< ::TString, ::TString> vars = {
+ {"service_class", ServiceClassName(service) + "2"}};
+
+ printer.Print(vars, "@protocol $service_class$ <NSObject>\n\n");
+ for (int i = 0; i < service->method_count(); i++) {
+ PrintV2MethodDeclarations(&printer, service->method(i));
+ }
+ printer.Print("@end\n\n");
+
+ return output;
+}
+
+::TString GetInterface(const ServiceDescriptor* service,
+ const Parameters& generator_params) {
+ ::TString output;
+
+ // Scope the output stream so it closes and finalizes output to the string.
+ grpc::protobuf::io::StringOutputStream output_stream(&output);
+ Printer printer(&output_stream, '$');
+
+ map< ::TString, ::TString> vars = {
+ {"service_class", ServiceClassName(service)}};
+
+ printer.Print(vars,
+ "/**\n"
+ " * Basic service implementation, over gRPC, that only does\n"
+ " * marshalling and parsing.\n"
+ " */\n");
+ printer.Print(vars,
+ "@interface $service_class$ :"
+ " GRPCProtoService<$service_class$2");
+ if (!generator_params.no_v1_compatibility) {
+ printer.Print(vars, ", $service_class$");
+ }
+ printer.Print(">\n");
+ printer.Print(
+ "- (instancetype)initWithHost:(NSString *)host "
+ "callOptions:(GRPCCallOptions "
+ "*_Nullable)callOptions"
+ " NS_DESIGNATED_INITIALIZER;\n");
+ printer.Print(
+ "+ (instancetype)serviceWithHost:(NSString *)host "
+ "callOptions:(GRPCCallOptions *_Nullable)callOptions;\n");
+ if (!generator_params.no_v1_compatibility) {
+ printer.Print(
+ "// The following methods belong to a set of old APIs that have been "
+ "deprecated.\n");
+ printer.Print("- (instancetype)initWithHost:(NSString *)host;\n");
+ printer.Print("+ (instancetype)serviceWithHost:(NSString *)host;\n");
+ }
+ printer.Print("@end\n");
+
+ return output;
+}
+
+::TString GetSource(const ServiceDescriptor* service,
+ const Parameters& generator_params) {
+ ::TString output;
+ {
+ // Scope the output stream so it closes and finalizes output to the string.
+ grpc::protobuf::io::StringOutputStream output_stream(&output);
+ Printer printer(&output_stream, '$');
+
+ map< ::TString, ::TString> vars = {
+ {"service_name", service->name()},
+ {"service_class", ServiceClassName(service)},
+ {"package", service->file()->package()}};
+
+ printer.Print(vars,
+ "@implementation $service_class$\n\n"
+ "#pragma clang diagnostic push\n"
+ "#pragma clang diagnostic ignored "
+ "\"-Wobjc-designated-initializers\"\n\n"
+ "// Designated initializer\n"
+ "- (instancetype)initWithHost:(NSString *)host "
+ "callOptions:(GRPCCallOptions *_Nullable)callOptions {\n"
+ " return [super initWithHost:host\n"
+ " packageName:@\"$package$\"\n"
+ " serviceName:@\"$service_name$\"\n"
+ " callOptions:callOptions];\n"
+ "}\n\n");
+ if (!generator_params.no_v1_compatibility) {
+ printer.Print(vars,
+ "- (instancetype)initWithHost:(NSString *)host {\n"
+ " return [super initWithHost:host\n"
+ " packageName:@\"$package$\"\n"
+ " serviceName:@\"$service_name$\"];\n"
+ "}\n\n");
+ }
+ printer.Print("#pragma clang diagnostic pop\n\n");
+
+ if (!generator_params.no_v1_compatibility) {
+ printer.Print(
+ "// Override superclass initializer to disallow different"
+ " package and service names.\n"
+ "- (instancetype)initWithHost:(NSString *)host\n"
+ " packageName:(NSString *)packageName\n"
+ " serviceName:(NSString *)serviceName {\n"
+ " return [self initWithHost:host];\n"
+ "}\n\n");
+ }
+ printer.Print(
+ "- (instancetype)initWithHost:(NSString *)host\n"
+ " packageName:(NSString *)packageName\n"
+ " serviceName:(NSString *)serviceName\n"
+ " callOptions:(GRPCCallOptions *)callOptions {\n"
+ " return [self initWithHost:host callOptions:callOptions];\n"
+ "}\n\n");
+
+ printer.Print("#pragma mark - Class Methods\n\n");
+ if (!generator_params.no_v1_compatibility) {
+ printer.Print(
+ "+ (instancetype)serviceWithHost:(NSString *)host {\n"
+ " return [[self alloc] initWithHost:host];\n"
+ "}\n\n");
+ }
+ printer.Print(
+ "+ (instancetype)serviceWithHost:(NSString *)host "
+ "callOptions:(GRPCCallOptions *_Nullable)callOptions {\n"
+ " return [[self alloc] initWithHost:host callOptions:callOptions];\n"
+ "}\n\n");
+
+ printer.Print("#pragma mark - Method Implementations\n\n");
+
+ for (int i = 0; i < service->method_count(); i++) {
+ PrintMethodImplementations(&printer, service->method(i),
+ generator_params);
+ }
+
+ printer.Print("@end\n");
+ }
+ return output;
+}
+
+} // namespace grpc_objective_c_generator
diff --git a/contrib/libs/grpc/src/compiler/objective_c_generator.h b/contrib/libs/grpc/src/compiler/objective_c_generator.h
new file mode 100644
index 0000000000..4068969a37
--- /dev/null
+++ b/contrib/libs/grpc/src/compiler/objective_c_generator.h
@@ -0,0 +1,60 @@
+/*
+ *
+ * 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.
+ *
+ */
+
+#ifndef GRPC_INTERNAL_COMPILER_OBJECTIVE_C_GENERATOR_H
+#define GRPC_INTERNAL_COMPILER_OBJECTIVE_C_GENERATOR_H
+
+#include "src/compiler/config.h"
+
+namespace grpc_objective_c_generator {
+
+struct Parameters {
+ // Do not generate V1 interface and implementation
+ bool no_v1_compatibility;
+};
+
+using ::grpc::protobuf::FileDescriptor;
+using ::grpc::protobuf::ServiceDescriptor;
+using ::TString;
+
+// Returns forward declaration of classes in the generated header file.
+TString GetAllMessageClasses(const FileDescriptor* file);
+
+// Returns the content to be included defining the @protocol segment at the
+// insertion point of the generated implementation file. This interface is
+// legacy and for backwards compatibility.
+TString GetProtocol(const ServiceDescriptor* service,
+ const Parameters& generator_params);
+
+// Returns the content to be included defining the @protocol segment at the
+// insertion point of the generated implementation file.
+TString GetV2Protocol(const ServiceDescriptor* service);
+
+// Returns the content to be included defining the @interface segment at the
+// insertion point of the generated implementation file.
+TString GetInterface(const ServiceDescriptor* service,
+ const Parameters& generator_params);
+
+// Returns the content to be included in the "global_scope" insertion point of
+// the generated implementation file.
+TString GetSource(const ServiceDescriptor* service,
+ const Parameters& generator_params);
+
+} // namespace grpc_objective_c_generator
+
+#endif // GRPC_INTERNAL_COMPILER_OBJECTIVE_C_GENERATOR_H
diff --git a/contrib/libs/grpc/src/compiler/objective_c_generator_helpers.h b/contrib/libs/grpc/src/compiler/objective_c_generator_helpers.h
new file mode 100644
index 0000000000..cc8aa8d124
--- /dev/null
+++ b/contrib/libs/grpc/src/compiler/objective_c_generator_helpers.h
@@ -0,0 +1,95 @@
+/*
+ *
+ * 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.
+ *
+ */
+
+#ifndef GRPC_INTERNAL_COMPILER_OBJECTIVE_C_GENERATOR_HELPERS_H
+#define GRPC_INTERNAL_COMPILER_OBJECTIVE_C_GENERATOR_HELPERS_H
+
+#include <map>
+
+#include <google/protobuf/compiler/objectivec/objectivec_helpers.h>
+
+#include "src/compiler/config.h"
+#include "src/compiler/generator_helpers.h"
+
+namespace grpc_objective_c_generator {
+
+using ::grpc::protobuf::FileDescriptor;
+using ::grpc::protobuf::ServiceDescriptor;
+using ::TString;
+
+inline TString MessageHeaderName(const FileDescriptor* file) {
+ return google::protobuf::compiler::objectivec::FilePath(file) + ".pbobjc.h";
+}
+
+inline TString ServiceClassName(const ServiceDescriptor* service) {
+ const FileDescriptor* file = service->file();
+ TString prefix = google::protobuf::compiler::objectivec::FileClassPrefix(file);
+ return prefix + service->name();
+}
+
+inline ::TString LocalImport(const ::TString& import) {
+ return ::TString("#import \"" + import + "\"\n");
+}
+
+inline ::TString FrameworkImport(const ::TString& import,
+ const ::TString& framework) {
+ // Flattens the directory structure: grab the file name only
+ std::size_t pos = import.rfind("/");
+ // If pos is npos, pos + 1 is 0, which gives us the entire string,
+ // so there's no need to check that
+ ::TString filename = import.substr(pos + 1, import.size() - (pos + 1));
+ return ::TString("#import <" + framework + "/" + filename + ">\n");
+}
+
+inline ::TString SystemImport(const ::TString& import) {
+ return ::TString("#import <" + import + ">\n");
+}
+
+inline ::TString PreprocConditional(::TString symbol, bool invert) {
+ return invert ? "!defined(" + symbol + ") || !" + symbol
+ : "defined(" + symbol + ") && " + symbol;
+}
+
+inline ::TString PreprocIf(const ::TString& symbol,
+ const ::TString& if_true) {
+ return ::TString("#if " + PreprocConditional(symbol, false) + "\n" +
+ if_true + "#endif\n");
+}
+
+inline ::TString PreprocIfNot(const ::TString& symbol,
+ const ::TString& if_true) {
+ return ::TString("#if " + PreprocConditional(symbol, true) + "\n" +
+ if_true + "#endif\n");
+}
+
+inline ::TString PreprocIfElse(const ::TString& symbol,
+ const ::TString& if_true,
+ const ::TString& if_false) {
+ return ::TString("#if " + PreprocConditional(symbol, false) + "\n" +
+ if_true + "#else\n" + if_false + "#endif\n");
+}
+
+inline ::TString PreprocIfNotElse(const ::TString& symbol,
+ const ::TString& if_true,
+ const ::TString& if_false) {
+ return ::TString("#if " + PreprocConditional(symbol, true) + "\n" +
+ if_true + "#else\n" + if_false + "#endif\n");
+}
+
+} // namespace grpc_objective_c_generator
+#endif // GRPC_INTERNAL_COMPILER_OBJECTIVE_C_GENERATOR_HELPERS_H
diff --git a/contrib/libs/grpc/src/compiler/php_generator.cc b/contrib/libs/grpc/src/compiler/php_generator.cc
new file mode 100644
index 0000000000..a0c1ef9be1
--- /dev/null
+++ b/contrib/libs/grpc/src/compiler/php_generator.cc
@@ -0,0 +1,340 @@
+/*
+ *
+ * Copyright 2016 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 <map>
+
+#include <google/protobuf/compiler/php/php_generator.h>
+
+#include "src/compiler/config.h"
+#include "src/compiler/generator_helpers.h"
+#include "src/compiler/php_generator_helpers.h"
+
+using google::protobuf::compiler::php::GeneratedClassName;
+using grpc::protobuf::Descriptor;
+using grpc::protobuf::FileDescriptor;
+using grpc::protobuf::MethodDescriptor;
+using grpc::protobuf::ServiceDescriptor;
+using grpc::protobuf::io::Printer;
+using grpc::protobuf::io::StringOutputStream;
+using std::map;
+
+namespace grpc_php_generator {
+namespace {
+
+TString ConvertToPhpNamespace(const TString& name) {
+ std::vector<TString> tokens = grpc_generator::tokenize(name, ".");
+ std::ostringstream oss;
+ for (unsigned int i = 0; i < tokens.size(); i++) {
+ oss << (i == 0 ? "" : "\\")
+ << grpc_generator::CapitalizeFirstLetter(tokens[i]);
+ }
+ return oss.str();
+}
+
+TString PackageName(const FileDescriptor* file) {
+ if (file->options().has_php_namespace()) {
+ return file->options().php_namespace();
+ } else {
+ return ConvertToPhpNamespace(file->package());
+ }
+}
+
+TString MessageIdentifierName(const TString& name,
+ const FileDescriptor* file) {
+ std::vector<TString> tokens = grpc_generator::tokenize(name, ".");
+ std::ostringstream oss;
+ if (PackageName(file) != "") {
+ oss << PackageName(file) << "\\";
+ }
+ oss << grpc_generator::CapitalizeFirstLetter(tokens[tokens.size() - 1]);
+ return oss.str();
+}
+
+void PrintMethod(const MethodDescriptor* method, Printer* out) {
+ const Descriptor* input_type = method->input_type();
+ const Descriptor* output_type = method->output_type();
+ map<TString, TString> vars;
+ vars["service_name"] = method->service()->full_name();
+ vars["name"] = method->name();
+ vars["input_type_id"] =
+ MessageIdentifierName(GeneratedClassName(input_type), input_type->file());
+ vars["output_type_id"] = MessageIdentifierName(
+ GeneratedClassName(output_type), output_type->file());
+
+ out->Print("/**\n");
+ out->Print(GetPHPComments(method, " *").c_str());
+ if (method->client_streaming()) {
+ if (method->server_streaming()) {
+ vars["return_type_id"] = "\\Grpc\\BidiStreamingCall";
+ } else {
+ vars["return_type_id"] = "\\Grpc\\ClientStreamingCall";
+ }
+ out->Print(vars,
+ " * @param array $$metadata metadata\n"
+ " * @param array $$options call options\n"
+ " * @return $return_type_id$\n */\n"
+ "public function $name$($$metadata = [], "
+ "$$options = []) {\n");
+ out->Indent();
+ out->Indent();
+ if (method->server_streaming()) {
+ out->Print("return $$this->_bidiRequest(");
+ } else {
+ out->Print("return $$this->_clientStreamRequest(");
+ }
+ out->Print(vars,
+ "'/$service_name$/$name$',\n"
+ "['\\$output_type_id$','decode'],\n"
+ "$$metadata, $$options);\n");
+ } else {
+ if (method->server_streaming()) {
+ vars["return_type_id"] = "\\Grpc\\ServerStreamingCall";
+ } else {
+ vars["return_type_id"] = "\\Grpc\\UnaryCall";
+ }
+ out->Print(vars,
+ " * @param \\$input_type_id$ $$argument input argument\n"
+ " * @param array $$metadata metadata\n"
+ " * @param array $$options call options\n"
+ " * @return $return_type_id$\n */\n"
+ "public function $name$(\\$input_type_id$ $$argument,\n"
+ " $$metadata = [], $$options = []) {\n");
+ out->Indent();
+ out->Indent();
+ if (method->server_streaming()) {
+ out->Print("return $$this->_serverStreamRequest(");
+ } else {
+ out->Print("return $$this->_simpleRequest(");
+ }
+ out->Print(vars,
+ "'/$service_name$/$name$',\n"
+ "$$argument,\n"
+ "['\\$output_type_id$', 'decode'],\n"
+ "$$metadata, $$options);\n");
+ }
+ out->Outdent();
+ out->Outdent();
+ out->Print("}\n\n");
+}
+
+void PrintServerMethod(const MethodDescriptor* method, Printer* out) {
+ map<TString, TString> vars;
+ const Descriptor* input_type = method->input_type();
+ const Descriptor* output_type = method->output_type();
+ vars["service_name"] = method->service()->full_name();
+ vars["method_name"] = method->name();
+ vars["input_type_id"] =
+ MessageIdentifierName(GeneratedClassName(input_type), input_type->file());
+ vars["output_type_id"] = MessageIdentifierName(
+ GeneratedClassName(output_type), output_type->file());
+
+ out->Print("/**\n");
+ out->Print(GetPHPComments(method, " *").c_str());
+
+ const char* method_template;
+ if (method->client_streaming() && method->server_streaming()) {
+ method_template =
+ " * @param \\Grpc\\ServerCallReader $$reader read client request data "
+ "of \\$input_type_id$\n"
+ " * @param \\Grpc\\ServerCallWriter $$writer write response data of "
+ "\\$output_type_id$\n"
+ " * @param \\Grpc\\ServerContext $$context server request context\n"
+ " * @return void\n"
+ " */\n"
+ "public function $method_name$(\n"
+ " \\Grpc\\ServerCallReader $$reader,\n"
+ " \\Grpc\\ServerCallWriter $$writer,\n"
+ " \\Grpc\\ServerContext $$context\n"
+ "): void {\n"
+ " $$context->setStatus(\\Grpc\\Status::unimplemented());\n"
+ " $$writer->finish();\n"
+ "}\n\n";
+ } else if (method->client_streaming()) {
+ method_template =
+ " * @param \\Grpc\\ServerCallReader $$reader read client request data "
+ "of \\$input_type_id$\n"
+ " * @param \\Grpc\\ServerContext $$context server request context\n"
+ " * @return \\$output_type_id$ for response data, null if if error "
+ "occured\n"
+ " * initial metadata (if any) and status (if not ok) should be set "
+ "to $$context\n"
+ " */\n"
+ "public function $method_name$(\n"
+ " \\Grpc\\ServerCallReader $$reader,\n"
+ " \\Grpc\\ServerContext $$context\n"
+ "): ?\\$output_type_id$ {\n"
+ " $$context->setStatus(\\Grpc\\Status::unimplemented());\n"
+ " return null;\n"
+ "}\n\n";
+ } else if (method->server_streaming()) {
+ method_template =
+ " * @param \\$input_type_id$ $$request client request\n"
+ " * @param \\Grpc\\ServerCallWriter $$writer write response data of "
+ "\\$output_type_id$\n"
+ " * @param \\Grpc\\ServerContext $$context server request context\n"
+ " * @return void\n"
+ " */\n"
+ "public function $method_name$(\n"
+ " \\$input_type_id$ $$request,\n"
+ " \\Grpc\\ServerCallWriter $$writer,\n"
+ " \\Grpc\\ServerContext $$context\n"
+ "): void {\n"
+ " $$context->setStatus(\\Grpc\\Status::unimplemented());\n"
+ " $$writer->finish();\n"
+ "}\n\n";
+ } else {
+ method_template =
+ " * @param \\$input_type_id$ $$request client request\n"
+ " * @param \\Grpc\\ServerContext $$context server request context\n"
+ " * @return \\$output_type_id$ for response data, null if if error "
+ "occured\n"
+ " * initial metadata (if any) and status (if not ok) should be set "
+ "to $$context\n"
+ " */\n"
+ "public function $method_name$(\n"
+ " \\$input_type_id$ $$request,\n"
+ " \\Grpc\\ServerContext $$context\n"
+ "): ?\\$output_type_id$ {\n"
+ " $$context->setStatus(\\Grpc\\Status::unimplemented());\n"
+ " return null;\n"
+ "}\n\n";
+ }
+ out->Print(vars, method_template);
+}
+
+void PrintServerMethodDescriptors(const ServiceDescriptor* service,
+ Printer* out) {
+ map<TString, TString> vars;
+ vars["service_name"] = service->full_name();
+
+ out->Print(
+ "/**\n"
+ " * Get the method descriptors of the service for server registration\n"
+ " *\n"
+ " * @return array of \\Grpc\\MethodDescriptor for the service methods\n"
+ " */\n"
+ "public final function getMethodDescriptors(): array\n{\n");
+ out->Indent();
+ out->Indent();
+ out->Print("return [\n");
+ out->Indent();
+ out->Indent();
+ for (int i = 0; i < service->method_count(); i++) {
+ auto method = service->method(i);
+ auto input_type = method->input_type();
+ vars["method_name"] = method->name();
+ vars["input_type_id"] = MessageIdentifierName(
+ GeneratedClassName(input_type), input_type->file());
+ if (method->client_streaming() && method->server_streaming()) {
+ vars["call_type"] = "BIDI_STREAMING_CALL";
+ } else if (method->client_streaming()) {
+ vars["call_type"] = "CLIENT_STREAMING_CALL";
+ } else if (method->server_streaming()) {
+ vars["call_type"] = "SERVER_STREAMING_CALL";
+ } else {
+ vars["call_type"] = "UNARY_CALL";
+ }
+ out->Print(
+ vars,
+ "'/$service_name$/$method_name$' => new \\Grpc\\MethodDescriptor(\n"
+ " $$this,\n"
+ " '$method_name$',\n"
+ " '\\$input_type_id$',\n"
+ " \\Grpc\\MethodDescriptor::$call_type$\n"
+ "),\n");
+ }
+ out->Outdent();
+ out->Outdent();
+ out->Print("];\n");
+ out->Outdent();
+ out->Outdent();
+ out->Print("}\n\n");
+}
+
+// Prints out the service descriptor object
+void PrintService(const ServiceDescriptor* service,
+ const TString& class_suffix, bool is_server,
+ Printer* out) {
+ map<TString, TString> vars;
+ out->Print("/**\n");
+ out->Print(GetPHPComments(service, " *").c_str());
+ out->Print(" */\n");
+ vars["name"] = GetPHPServiceClassname(service, class_suffix, is_server);
+ vars["extends"] = is_server ? "" : "extends \\Grpc\\BaseStub ";
+ out->Print(vars, "class $name$ $extends${\n\n");
+ out->Indent();
+ out->Indent();
+ if (!is_server) {
+ out->Print(
+ "/**\n * @param string $$hostname hostname\n"
+ " * @param array $$opts channel options\n"
+ " * @param \\Grpc\\Channel $$channel (optional) re-use channel object\n"
+ " */\n"
+ "public function __construct($$hostname, $$opts, "
+ "$$channel = null) {\n");
+ out->Indent();
+ out->Indent();
+ out->Print("parent::__construct($$hostname, $$opts, $$channel);\n");
+ out->Outdent();
+ out->Outdent();
+ out->Print("}\n\n");
+ }
+ for (int i = 0; i < service->method_count(); i++) {
+ if (is_server) {
+ PrintServerMethod(service->method(i), out);
+ } else {
+ PrintMethod(service->method(i), out);
+ }
+ }
+ if (is_server) {
+ PrintServerMethodDescriptors(service, out);
+ }
+ out->Outdent();
+ out->Outdent();
+ out->Print("}\n");
+}
+} // namespace
+
+TString GenerateFile(const FileDescriptor* file,
+ const ServiceDescriptor* service,
+ const TString& class_suffix, bool is_server) {
+ TString output;
+ {
+ StringOutputStream output_stream(&output);
+ Printer out(&output_stream, '$');
+
+ out.Print("<?php\n");
+ out.Print("// GENERATED CODE -- DO NOT EDIT!\n\n");
+
+ TString leading_comments = GetPHPComments(file, "//");
+ if (!leading_comments.empty()) {
+ out.Print("// Original file comments:\n");
+ out.PrintRaw(leading_comments.c_str());
+ }
+
+ map<TString, TString> vars;
+ TString php_namespace = PackageName(file);
+ vars["package"] = php_namespace;
+ out.Print(vars, "namespace $package$;\n\n");
+
+ PrintService(service, class_suffix, is_server, &out);
+ }
+ return output;
+}
+
+} // namespace grpc_php_generator
diff --git a/contrib/libs/grpc/src/compiler/php_generator_helpers.h b/contrib/libs/grpc/src/compiler/php_generator_helpers.h
new file mode 100644
index 0000000000..93479e20a2
--- /dev/null
+++ b/contrib/libs/grpc/src/compiler/php_generator_helpers.h
@@ -0,0 +1,78 @@
+/*
+ *
+ * Copyright 2016 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.
+ *
+ */
+
+#ifndef GRPC_INTERNAL_COMPILER_PHP_GENERATOR_HELPERS_H
+#define GRPC_INTERNAL_COMPILER_PHP_GENERATOR_HELPERS_H
+
+#include <algorithm>
+
+#include "src/compiler/config.h"
+#include "src/compiler/generator_helpers.h"
+
+namespace grpc_php_generator {
+
+inline TString GetPHPServiceClassname(
+ const grpc::protobuf::ServiceDescriptor* service,
+ const TString& class_suffix, bool is_server) {
+ return service->name() +
+ (class_suffix == "" ? (is_server ? "" : "Client") : class_suffix) +
+ (is_server ? "Stub" : "");
+}
+
+// ReplaceAll replaces all instances of search with replace in s.
+inline TString ReplaceAll(TString s, const TString& search,
+ const TString& replace) {
+ size_t pos = 0;
+ while ((pos = s.find(search, pos)) != TString::npos) {
+ s.replace(pos, search.length(), replace);
+ pos += replace.length();
+ }
+ return s;
+}
+
+inline TString GetPHPServiceFilename(
+ const grpc::protobuf::FileDescriptor* file,
+ const grpc::protobuf::ServiceDescriptor* service,
+ const TString& class_suffix, bool is_server) {
+ std::ostringstream oss;
+ if (file->options().has_php_namespace()) {
+ oss << ReplaceAll(file->options().php_namespace(), "\\", "/");
+ } else {
+ std::vector<TString> tokens =
+ grpc_generator::tokenize(file->package(), ".");
+ for (unsigned int i = 0; i < tokens.size(); i++) {
+ oss << (i == 0 ? "" : "/")
+ << grpc_generator::CapitalizeFirstLetter(tokens[i]);
+ }
+ }
+ return oss.str() + "/" +
+ GetPHPServiceClassname(service, class_suffix, is_server) + ".php";
+}
+
+// Get leading or trailing comments in a string. Comment lines start with "// ".
+// Leading detached comments are put in front of leading comments.
+template <typename DescriptorType>
+inline TString GetPHPComments(const DescriptorType* desc,
+ TString prefix) {
+ return ReplaceAll(grpc_generator::GetPrefixedComments(desc, true, prefix),
+ "*/", "&#42;/");
+}
+
+} // namespace grpc_php_generator
+
+#endif // GRPC_INTERNAL_COMPILER_PHP_GENERATOR_HELPERS_H
diff --git a/contrib/libs/grpc/src/compiler/ruby_generator.cc b/contrib/libs/grpc/src/compiler/ruby_generator.cc
new file mode 100644
index 0000000000..f5b9e9db87
--- /dev/null
+++ b/contrib/libs/grpc/src/compiler/ruby_generator.cc
@@ -0,0 +1,215 @@
+/*
+ *
+ * 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 "src/compiler/ruby_generator.h"
+
+#include <cctype>
+#include <map>
+#include <vector>
+
+#include "src/compiler/config.h"
+#include "src/compiler/ruby_generator_helpers-inl.h"
+#include "src/compiler/ruby_generator_map-inl.h"
+#include "src/compiler/ruby_generator_string-inl.h"
+
+using grpc::protobuf::FileDescriptor;
+using grpc::protobuf::MethodDescriptor;
+using grpc::protobuf::ServiceDescriptor;
+using grpc::protobuf::io::Printer;
+using grpc::protobuf::io::StringOutputStream;
+using std::map;
+using std::vector;
+
+namespace grpc_ruby_generator {
+namespace {
+
+// Prints out the method using the ruby gRPC DSL.
+void PrintMethod(const MethodDescriptor* method, Printer* out) {
+ TString input_type = RubyTypeOf(method->input_type());
+ if (method->client_streaming()) {
+ input_type = "stream(" + input_type + ")";
+ }
+ TString output_type = RubyTypeOf(method->output_type());
+ if (method->server_streaming()) {
+ output_type = "stream(" + output_type + ")";
+ }
+ std::map<TString, TString> method_vars = ListToDict({
+ "mth.name",
+ method->name(),
+ "input.type",
+ input_type,
+ "output.type",
+ output_type,
+ });
+ out->Print(GetRubyComments(method, true).c_str());
+ out->Print(method_vars, "rpc :$mth.name$, $input.type$, $output.type$\n");
+ out->Print(GetRubyComments(method, false).c_str());
+}
+
+// Prints out the service using the ruby gRPC DSL.
+void PrintService(const ServiceDescriptor* service, Printer* out) {
+ if (service->method_count() == 0) {
+ return;
+ }
+
+ // Begin the service module
+ std::map<TString, TString> module_vars = ListToDict({
+ "module.name",
+ Modularize(service->name()),
+ });
+ out->Print(module_vars, "module $module.name$\n");
+ out->Indent();
+
+ out->Print(GetRubyComments(service, true).c_str());
+ out->Print("class Service\n");
+
+ // Write the indented class body.
+ out->Indent();
+ out->Print("\n");
+ out->Print("include ::GRPC::GenericService\n");
+ out->Print("\n");
+ out->Print("self.marshal_class_method = :encode\n");
+ out->Print("self.unmarshal_class_method = :decode\n");
+ std::map<TString, TString> pkg_vars =
+ ListToDict({"service_full_name", service->full_name()});
+ out->Print(pkg_vars, "self.service_name = '$service_full_name$'\n");
+ out->Print("\n");
+ for (int i = 0; i < service->method_count(); ++i) {
+ PrintMethod(service->method(i), out);
+ }
+ out->Outdent();
+
+ out->Print("end\n");
+ out->Print("\n");
+ out->Print("Stub = Service.rpc_stub_class\n");
+
+ // End the service module
+ out->Outdent();
+ out->Print("end\n");
+ out->Print(GetRubyComments(service, false).c_str());
+}
+
+} // namespace
+
+// The following functions are copied directly from the source for the protoc
+// ruby generator
+// to ensure compatibility (with the exception of int and string type changes).
+// See
+// https://github.com/protocolbuffers/protobuf/blob/master/src/google/protobuf/compiler/ruby/ruby_generator.cc#L250
+// TODO: keep up to date with protoc code generation, though this behavior isn't
+// expected to change
+bool IsLower(char ch) { return ch >= 'a' && ch <= 'z'; }
+
+char ToUpper(char ch) { return IsLower(ch) ? (ch - 'a' + 'A') : ch; }
+
+// Package names in protobuf are snake_case by convention, but Ruby module
+// names must be PascalCased.
+//
+// foo_bar_baz -> FooBarBaz
+TString PackageToModule(const TString& name) {
+ bool next_upper = true;
+ TString result;
+ result.reserve(name.size());
+
+ for (TString::size_type i = 0; i < name.size(); i++) {
+ if (name[i] == '_') {
+ next_upper = true;
+ } else {
+ if (next_upper) {
+ result.push_back(ToUpper(name[i]));
+ } else {
+ result.push_back(name[i]);
+ }
+ next_upper = false;
+ }
+ }
+
+ return result;
+}
+// end copying of protoc generator for ruby code
+
+TString GetServices(const FileDescriptor* file) {
+ TString output;
+ {
+ // Scope the output stream so it closes and finalizes output to the string.
+
+ StringOutputStream output_stream(&output);
+ Printer out(&output_stream, '$');
+
+ // Don't write out any output if there no services, to avoid empty service
+ // files being generated for proto files that don't declare any.
+ if (file->service_count() == 0) {
+ return output;
+ }
+
+ TString package_name = RubyPackage(file);
+
+ // Write out a file header.
+ std::map<TString, TString> header_comment_vars = ListToDict({
+ "file.name",
+ file->name(),
+ "file.package",
+ package_name,
+ });
+ out.Print("# Generated by the protocol buffer compiler. DO NOT EDIT!\n");
+ out.Print(header_comment_vars,
+ "# Source: $file.name$ for package '$file.package$'\n");
+
+ TString leading_comments = GetRubyComments(file, true);
+ if (!leading_comments.empty()) {
+ out.Print("# Original file comments:\n");
+ out.PrintRaw(leading_comments.c_str());
+ }
+
+ out.Print("\n");
+ out.Print("require 'grpc'\n");
+ // Write out require statemment to import the separately generated file
+ // that defines the messages used by the service. This is generated by the
+ // main ruby plugin.
+ std::map<TString, TString> dep_vars = ListToDict({
+ "dep.name",
+ MessagesRequireName(file),
+ });
+ out.Print(dep_vars, "require '$dep.name$'\n");
+
+ // Write out services within the modules
+ out.Print("\n");
+ std::vector<TString> modules = Split(package_name, '.');
+ for (size_t i = 0; i < modules.size(); ++i) {
+ std::map<TString, TString> module_vars = ListToDict({
+ "module.name",
+ PackageToModule(modules[i]),
+ });
+ out.Print(module_vars, "module $module.name$\n");
+ out.Indent();
+ }
+ for (int i = 0; i < file->service_count(); ++i) {
+ auto service = file->service(i);
+ PrintService(service, &out);
+ }
+ for (size_t i = 0; i < modules.size(); ++i) {
+ out.Outdent();
+ out.Print("end\n");
+ }
+
+ out.Print(GetRubyComments(file, false).c_str());
+ }
+ return output;
+}
+
+} // namespace grpc_ruby_generator
diff --git a/contrib/libs/grpc/src/core/lib/surface/init_unsecure.cc b/contrib/libs/grpc/src/compiler/ruby_generator.h
index c9e1688d42..325dc02294 100644
--- a/contrib/libs/grpc/src/core/lib/surface/init_unsecure.cc
+++ b/contrib/libs/grpc/src/compiler/ruby_generator.h
@@ -16,12 +16,15 @@
*
*/
-#include <grpc/support/port_platform.h>
+#ifndef GRPC_INTERNAL_COMPILER_RUBY_GENERATOR_H
+#define GRPC_INTERNAL_COMPILER_RUBY_GENERATOR_H
-#include <grpc/support/log.h>
+#include "src/compiler/config.h"
-#include "src/core/lib/surface/init.h"
+namespace grpc_ruby_generator {
-void grpc_security_pre_init(void) {}
+TString GetServices(const grpc::protobuf::FileDescriptor* file);
-void grpc_register_security_filters(void) {}
+} // namespace grpc_ruby_generator
+
+#endif // GRPC_INTERNAL_COMPILER_RUBY_GENERATOR_H
diff --git a/contrib/libs/grpc/src/compiler/ruby_generator_helpers-inl.h b/contrib/libs/grpc/src/compiler/ruby_generator_helpers-inl.h
new file mode 100644
index 0000000000..9a10976619
--- /dev/null
+++ b/contrib/libs/grpc/src/compiler/ruby_generator_helpers-inl.h
@@ -0,0 +1,58 @@
+/*
+ *
+ * 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.
+ *
+ */
+
+#ifndef GRPC_INTERNAL_COMPILER_RUBY_GENERATOR_HELPERS_INL_H
+#define GRPC_INTERNAL_COMPILER_RUBY_GENERATOR_HELPERS_INL_H
+
+#include "src/compiler/config.h"
+#include "src/compiler/generator_helpers.h"
+#include "src/compiler/ruby_generator_string-inl.h"
+
+namespace grpc_ruby_generator {
+
+inline bool ServicesFilename(const grpc::protobuf::FileDescriptor* file,
+ TString* file_name_or_error) {
+ // Get output file name.
+ static const unsigned proto_suffix_length = 6; // length of ".proto"
+ if (file->name().size() > proto_suffix_length &&
+ file->name().find_last_of(".proto") == file->name().size() - 1) {
+ *file_name_or_error =
+ file->name().substr(0, file->name().size() - proto_suffix_length) +
+ "_services_pb.rb";
+ return true;
+ } else {
+ *file_name_or_error = "Invalid proto file name: must end with .proto";
+ return false;
+ }
+}
+
+inline TString MessagesRequireName(
+ const grpc::protobuf::FileDescriptor* file) {
+ return Replace(file->name(), ".proto", "_pb");
+}
+
+// Get leading or trailing comments in a string. Comment lines start with "# ".
+// Leading detached comments are put in front of leading comments.
+template <typename DescriptorType>
+inline TString GetRubyComments(const DescriptorType* desc, bool leading) {
+ return grpc_generator::GetPrefixedComments(desc, leading, "#");
+}
+
+} // namespace grpc_ruby_generator
+
+#endif // GRPC_INTERNAL_COMPILER_RUBY_GENERATOR_HELPERS_INL_H
diff --git a/contrib/libs/grpc/src/compiler/ruby_generator_map-inl.h b/contrib/libs/grpc/src/compiler/ruby_generator_map-inl.h
new file mode 100644
index 0000000000..1221a5a705
--- /dev/null
+++ b/contrib/libs/grpc/src/compiler/ruby_generator_map-inl.h
@@ -0,0 +1,57 @@
+/*
+ *
+ * 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.
+ *
+ */
+
+#ifndef GRPC_INTERNAL_COMPILER_RUBY_GENERATOR_MAP_INL_H
+#define GRPC_INTERNAL_COMPILER_RUBY_GENERATOR_MAP_INL_H
+
+#include <initializer_list>
+#include <iostream>
+#include <map>
+#include <ostream> // NOLINT
+#include <vector>
+
+#include "src/compiler/config.h"
+
+using std::initializer_list;
+using std::map;
+using std::vector;
+
+namespace grpc_ruby_generator {
+
+// Converts an initializer list of the form { key0, value0, key1, value1, ... }
+// into a map of key* to value*. Is merely a readability helper for later code.
+inline std::map<TString, TString> ListToDict(
+ const initializer_list<TString>& values) {
+ if (values.size() % 2 != 0) {
+ std::cerr << "Not every 'key' has a value in `values`." << std::endl;
+ }
+ std::map<TString, TString> value_map;
+ auto value_iter = values.begin();
+ for (unsigned i = 0; i < values.size() / 2; ++i) {
+ TString key = *value_iter;
+ ++value_iter;
+ TString value = *value_iter;
+ value_map[key] = value;
+ ++value_iter;
+ }
+ return value_map;
+}
+
+} // namespace grpc_ruby_generator
+
+#endif // GRPC_INTERNAL_COMPILER_RUBY_GENERATOR_MAP_INL_H
diff --git a/contrib/libs/grpc/src/compiler/ruby_generator_string-inl.h b/contrib/libs/grpc/src/compiler/ruby_generator_string-inl.h
new file mode 100644
index 0000000000..4859b75605
--- /dev/null
+++ b/contrib/libs/grpc/src/compiler/ruby_generator_string-inl.h
@@ -0,0 +1,149 @@
+/*
+ *
+ * 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.
+ *
+ */
+
+#ifndef GRPC_INTERNAL_COMPILER_RUBY_GENERATOR_STRING_INL_H
+#define GRPC_INTERNAL_COMPILER_RUBY_GENERATOR_STRING_INL_H
+
+#include <algorithm>
+#include <sstream>
+#include <vector>
+
+#include "src/compiler/config.h"
+
+using std::getline;
+using std::transform;
+
+namespace grpc_ruby_generator {
+
+// Split splits a string using char into elems.
+inline std::vector<TString>& Split(const TString& s, char delim,
+ std::vector<TString>* elems) {
+ std::stringstream ss(s);
+ std::string item;
+ while (getline(ss, item, delim)) {
+ elems->emplace_back(item);
+ }
+ return *elems;
+}
+
+// Split splits a string using char, returning the result in a vector.
+inline std::vector<TString> Split(const TString& s, char delim) {
+ std::vector<TString> elems;
+ Split(s, delim, &elems);
+ return elems;
+}
+
+// Replace replaces from with to in s.
+inline TString Replace(TString s, const TString& from,
+ const TString& to) {
+ size_t start_pos = s.find(from);
+ if (start_pos == TString::npos) {
+ return s;
+ }
+ s.replace(start_pos, from.length(), to);
+ return s;
+}
+
+// ReplaceAll replaces all instances of search with replace in s.
+inline TString ReplaceAll(TString s, const TString& search,
+ const TString& replace) {
+ size_t pos = 0;
+ while ((pos = s.find(search, pos)) != TString::npos) {
+ s.replace(pos, search.length(), replace);
+ pos += replace.length();
+ }
+ return s;
+}
+
+// ReplacePrefix replaces from with to in s if search is a prefix of s.
+inline bool ReplacePrefix(TString* s, const TString& from,
+ const TString& to) {
+ size_t start_pos = s->find(from);
+ if (start_pos == TString::npos || start_pos != 0) {
+ return false;
+ }
+ s->replace(start_pos, from.length(), to);
+ return true;
+}
+
+// Modularize converts a string into a ruby module compatible name
+inline TString Modularize(TString s) {
+ if (s.empty()) {
+ return s;
+ }
+ TString new_string = "";
+ bool was_last_underscore = false;
+ new_string.append(1, ::toupper(s[0]));
+ for (TString::size_type i = 1; i < s.size(); ++i) {
+ if (was_last_underscore && s[i] != '_') {
+ new_string.append(1, ::toupper(s[i]));
+ } else if (s[i] != '_') {
+ new_string.append(1, s[i]);
+ }
+ was_last_underscore = s[i] == '_';
+ }
+ return new_string;
+}
+
+// RubyPackage gets the ruby package in either proto or ruby_package format
+inline TString RubyPackage(const grpc::protobuf::FileDescriptor* file) {
+ TString package_name = file->package();
+ if (file->options().has_ruby_package()) {
+ package_name = file->options().ruby_package();
+
+ // If :: is in the package convert the Ruby formatted name
+ // -> A::B::C
+ // to use the dot seperator notation
+ // -> A.B.C
+ package_name = ReplaceAll(package_name, "::", ".");
+ }
+ return package_name;
+}
+
+// RubyTypeOf updates a proto type to the required ruby equivalent.
+inline TString RubyTypeOf(const grpc::protobuf::Descriptor* descriptor) {
+ TString proto_type = descriptor->full_name();
+ if (descriptor->file()->options().has_ruby_package()) {
+ // remove the leading package if present
+ ReplacePrefix(&proto_type, descriptor->file()->package(), "");
+ ReplacePrefix(&proto_type, ".", ""); // remove the leading . (no package)
+ proto_type = RubyPackage(descriptor->file()) + "." + proto_type;
+ }
+ TString res("." + proto_type);
+ if (res.find('.') == TString::npos) {
+ return res;
+ } else {
+ std::vector<TString> prefixes_and_type = Split(res, '.');
+ res.clear();
+ for (unsigned int i = 0; i < prefixes_and_type.size(); ++i) {
+ if (i != 0) {
+ res += "::"; // switch '.' to the ruby module delim
+ }
+ if (i < prefixes_and_type.size() - 1) {
+ res += Modularize(prefixes_and_type[i]); // capitalize pkgs
+ } else {
+ res += prefixes_and_type[i];
+ }
+ }
+ return res;
+ }
+}
+
+} // namespace grpc_ruby_generator
+
+#endif // GRPC_INTERNAL_COMPILER_RUBY_GENERATOR_STRING_INL_H
diff --git a/contrib/libs/grpc/src/core/CMakeLists.txt b/contrib/libs/grpc/src/core/CMakeLists.txt
deleted file mode 100644
index 0396db380f..0000000000
--- a/contrib/libs/grpc/src/core/CMakeLists.txt
+++ /dev/null
@@ -1,9 +0,0 @@
-
-# This file was gererated by the build system used internally in the Yandex monorepo.
-# Only simple modifications are allowed (adding source-files to targets, adding simple properties
-# like target_include_directories). These modifications will be ported to original
-# ya.make files by maintainers. Any complex modifications which can't be ported back to the
-# original buildsystem will not be accepted.
-
-
-add_subdirectory(lib)
diff --git a/contrib/libs/grpc/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_channel.cc b/contrib/libs/grpc/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_channel.cc
deleted file mode 100644
index b8b4889ee4..0000000000
--- a/contrib/libs/grpc/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_channel.cc
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- *
- * Copyright 2017 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 <grpc/support/port_platform.h>
-
-#include "src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_channel.h"
-
-#include <grpc/grpc.h>
-
-namespace grpc_core {
-
-grpc_channel_args* ModifyGrpclbBalancerChannelArgs(grpc_channel_args* args) {
- return args;
-}
-
-grpc_channel* CreateGrpclbBalancerChannel(const char* target_uri,
- const grpc_channel_args& args) {
- return grpc_insecure_channel_create(target_uri, &args, nullptr);
-}
-
-} // namespace grpc_core
diff --git a/contrib/libs/grpc/src/core/lib/CMakeLists.txt b/contrib/libs/grpc/src/core/lib/CMakeLists.txt
deleted file mode 100644
index 18f7474d44..0000000000
--- a/contrib/libs/grpc/src/core/lib/CMakeLists.txt
+++ /dev/null
@@ -1,85 +0,0 @@
-
-# This file was gererated by the build system used internally in the Yandex monorepo.
-# Only simple modifications are allowed (adding source-files to targets, adding simple properties
-# like target_include_directories). These modifications will be ported to original
-# ya.make files by maintainers. Any complex modifications which can't be ported back to the
-# original buildsystem will not be accepted.
-
-
-
-add_library(src-core-lib)
-target_compile_options(src-core-lib PRIVATE
- -DGRPC_POSIX_FORK_ALLOW_PTHREAD_ATFORK=1
- -Wno-everything
-)
-target_include_directories(src-core-lib PUBLIC
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/include
-)
-target_include_directories(src-core-lib PRIVATE
- ${CMAKE_BINARY_DIR}/contrib/libs/grpc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upb-generated
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/third_party/upb
-)
-target_link_libraries(src-core-lib PUBLIC
- contrib-libs-cxxsupp
- yutil
- grpc-third_party-upb
- abseil-cpp-tstring-y_absl-base
- abseil-cpp-tstring-y_absl-container
- abseil-cpp-tstring-y_absl-memory
- abseil-cpp-tstring-y_absl-status
- abseil-cpp-tstring-y_absl-strings
- abseil-cpp-tstring-y_absl-synchronization
- abseil-cpp-tstring-y_absl-time
- abseil-cpp-tstring-y_absl-types
-)
-target_sources(src-core-lib PRIVATE
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upb-generated/google/protobuf/any.upb.c
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/ext/upb-generated/google/rpc/status.upb.c
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/gpr/alloc.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/gpr/atm.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/gpr/cpu_iphone.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/gpr/cpu_linux.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/gpr/cpu_posix.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/gpr/cpu_windows.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/gpr/env_linux.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/gpr/env_posix.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/gpr/env_windows.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/gpr/log.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/gpr/log_android.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/gpr/log_linux.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/gpr/log_posix.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/gpr/log_windows.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/gpr/murmur_hash.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/gpr/string.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/gpr/string_posix.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/gpr/string_util_windows.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/gpr/string_windows.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/gpr/sync.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/gpr/sync_abseil.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/gpr/sync_posix.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/gpr/sync_windows.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/gpr/time.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/gpr/time_posix.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/gpr/time_precise.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/gpr/time_windows.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/gpr/tmpfile_msys.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/gpr/tmpfile_posix.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/gpr/tmpfile_windows.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/gpr/wrap_memcpy.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/gprpp/arena.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/gprpp/examine_stack.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/gprpp/fork.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/gprpp/global_config_env.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/gprpp/host_port.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/gprpp/mpscq.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/gprpp/stat_posix.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/gprpp/stat_windows.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/gprpp/status_helper.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/gprpp/thd_posix.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/gprpp/thd_windows.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/gprpp/time_util.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/profiling/basic_timers.cc
- ${CMAKE_SOURCE_DIR}/contrib/libs/grpc/src/core/lib/profiling/stap_timers.cc
-)
diff --git a/contrib/libs/grpc/src/core/lib/event_engine/event_engine_factory.h b/contrib/libs/grpc/src/core/lib/event_engine/event_engine_factory.h
deleted file mode 100644
index 92e25e0252..0000000000
--- a/contrib/libs/grpc/src/core/lib/event_engine/event_engine_factory.h
+++ /dev/null
@@ -1,33 +0,0 @@
-// Copyright 2021 The gRPC Authors
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-#ifndef GRPC_CORE_LIB_EVENT_ENGINE_EVENT_ENGINE_FACTORY_H
-#define GRPC_CORE_LIB_EVENT_ENGINE_EVENT_ENGINE_FACTORY_H
-
-#include <grpc/support/port_platform.h>
-
-#include <grpc/event_engine/event_engine.h>
-
-namespace grpc_event_engine {
-namespace experimental {
-
-/// Access the shared global EventEngine instance.
-///
-/// The concept of a global EventEngine may go away in a post-iomgr world.
-/// Strongly consider whether you could use \a CreateEventEngine instead.
-EventEngine* GetDefaultEventEngine();
-
-} // namespace experimental
-} // namespace grpc_event_engine
-
-#endif // GRPC_CORE_LIB_EVENT_ENGINE_EVENT_ENGINE_FACTORY_H
diff --git a/contrib/libs/grpc/src/core/lib/iomgr/cfstream_handle.cc b/contrib/libs/grpc/src/core/lib/iomgr/cfstream_handle.cc
index b94711c6fd..2455e5ebdb 100644
--- a/contrib/libs/grpc/src/core/lib/iomgr/cfstream_handle.cc
+++ b/contrib/libs/grpc/src/core/lib/iomgr/cfstream_handle.cc
@@ -29,9 +29,9 @@
#include <grpc/support/sync.h>
#include "src/core/lib/debug/trace.h"
-#import "src/core/lib/iomgr/cfstream_handle.h"
+#error #import "src/core/lib/iomgr/cfstream_handle.h"
#include "src/core/lib/iomgr/closure.h"
-#include "src/core/lib/iomgr/error_cfstream.h"
+#error #include "src/core/lib/iomgr/error_cfstream.h"
#include "src/core/lib/iomgr/ev_apple.h"
#include "src/core/lib/iomgr/exec_ctx.h"
diff --git a/contrib/libs/grpc/src/core/lib/iomgr/cfstream_handle.h b/contrib/libs/grpc/src/core/lib/iomgr/cfstream_handle.h
deleted file mode 100644
index 2358758f14..0000000000
--- a/contrib/libs/grpc/src/core/lib/iomgr/cfstream_handle.h
+++ /dev/null
@@ -1,90 +0,0 @@
-/*
- *
- * Copyright 2018 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.
- *
- */
-
-/* The CFStream handle acts as an event synchronization entity for
- * read/write/open/error/eos events happening on CFStream streams. */
-
-#ifndef GRPC_CORE_LIB_IOMGR_CFSTREAM_HANDLE_H
-#define GRPC_CORE_LIB_IOMGR_CFSTREAM_HANDLE_H
-
-#include <grpc/support/port_platform.h>
-
-#include "src/core/lib/iomgr/port.h"
-
-#ifdef GRPC_CFSTREAM
-#import <CoreFoundation/CoreFoundation.h>
-
-#include "src/core/lib/gprpp/memory.h"
-#include "src/core/lib/iomgr/closure.h"
-#include "src/core/lib/iomgr/lockfree_event.h"
-
-class GrpcLibraryInitHolder {
- public:
- GrpcLibraryInitHolder();
- virtual ~GrpcLibraryInitHolder();
-};
-
-class CFStreamHandle : public GrpcLibraryInitHolder {
- public:
- static CFStreamHandle* CreateStreamHandle(CFReadStreamRef read_stream,
- CFWriteStreamRef write_stream);
- /** Use CreateStreamHandle function instead of using this directly. */
- CFStreamHandle(CFReadStreamRef read_stream, CFWriteStreamRef write_stream);
- CFStreamHandle(const CFStreamHandle& ref) = delete;
- CFStreamHandle(CFStreamHandle&& ref) = delete;
- CFStreamHandle& operator=(const CFStreamHandle& rhs) = delete;
- ~CFStreamHandle() override;
-
- void NotifyOnOpen(grpc_closure* closure);
- void NotifyOnRead(grpc_closure* closure);
- void NotifyOnWrite(grpc_closure* closure);
- void Shutdown(grpc_error_handle error);
-
- void Ref(const char* file = "", int line = 0, const char* reason = nullptr);
- void Unref(const char* file = "", int line = 0, const char* reason = nullptr);
-
- private:
- static void ReadCallback(CFReadStreamRef stream, CFStreamEventType type,
- void* client_callback_info);
- static void WriteCallback(CFWriteStreamRef stream, CFStreamEventType type,
- void* client_callback_info);
- static void* Retain(void* info);
- static void Release(void* info);
-
- grpc_core::LockfreeEvent open_event_;
- grpc_core::LockfreeEvent read_event_;
- grpc_core::LockfreeEvent write_event_;
-
- dispatch_queue_t dispatch_queue_;
-
- gpr_refcount refcount_;
-};
-
-#ifdef DEBUG
-#define CFSTREAM_HANDLE_REF(handle, reason) \
- (handle)->Ref(__FILE__, __LINE__, (reason))
-#define CFSTREAM_HANDLE_UNREF(handle, reason) \
- (handle)->Unref(__FILE__, __LINE__, (reason))
-#else
-#define CFSTREAM_HANDLE_REF(handle, reason) (handle)->Ref()
-#define CFSTREAM_HANDLE_UNREF(handle, reason) (handle)->Unref()
-#endif
-
-#endif
-
-#endif /* GRPC_CORE_LIB_IOMGR_CFSTREAM_HANDLE_H */
diff --git a/contrib/libs/grpc/src/core/lib/iomgr/endpoint_cfstream.cc b/contrib/libs/grpc/src/core/lib/iomgr/endpoint_cfstream.cc
index daaa154e71..1fc20da8dc 100644
--- a/contrib/libs/grpc/src/core/lib/iomgr/endpoint_cfstream.cc
+++ b/contrib/libs/grpc/src/core/lib/iomgr/endpoint_cfstream.cc
@@ -30,11 +30,11 @@
#include "src/core/lib/address_utils/sockaddr_utils.h"
#include "src/core/lib/gpr/string.h"
-#include "src/core/lib/iomgr/cfstream_handle.h"
+#error #include "src/core/lib/iomgr/cfstream_handle.h"
#include "src/core/lib/iomgr/closure.h"
#include "src/core/lib/iomgr/endpoint.h"
-#import "src/core/lib/iomgr/endpoint_cfstream.h"
-#include "src/core/lib/iomgr/error_cfstream.h"
+#error #import "src/core/lib/iomgr/endpoint_cfstream.h"
+#error #include "src/core/lib/iomgr/error_cfstream.h"
#include "src/core/lib/iomgr/sockaddr.h"
#include "src/core/lib/slice/slice_internal.h"
#include "src/core/lib/slice/slice_string_helpers.h"
diff --git a/contrib/libs/grpc/src/core/lib/iomgr/endpoint_cfstream.h b/contrib/libs/grpc/src/core/lib/iomgr/endpoint_cfstream.h
deleted file mode 100644
index 6f2cf1c6e0..0000000000
--- a/contrib/libs/grpc/src/core/lib/iomgr/endpoint_cfstream.h
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
- *
- * Copyright 2018 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.
- *
- */
-
-#ifndef GRPC_CORE_LIB_IOMGR_ENDPOINT_CFSTREAM_H
-#define GRPC_CORE_LIB_IOMGR_ENDPOINT_CFSTREAM_H
-/*
- Low level TCP "bottom half" implementation, for use by transports built on
- top of a TCP connection.
-
- Note that this file does not (yet) include APIs for creating the socket in
- the first place.
-
- All calls passing slice transfer ownership of a slice refcount unless
- otherwise specified.
-*/
-
-#include <grpc/support/port_platform.h>
-
-#ifdef GRPC_CFSTREAM
-
-#import <CoreFoundation/CoreFoundation.h>
-
-#include "src/core/lib/debug/trace.h"
-#include "src/core/lib/iomgr/cfstream_handle.h"
-#include "src/core/lib/iomgr/endpoint.h"
-
-grpc_endpoint* grpc_cfstream_endpoint_create(CFReadStreamRef read_stream,
- CFWriteStreamRef write_stream,
- const char* peer_string,
- CFStreamHandle* stream_sync);
-
-#endif /* GRPC_CFSTREAM */
-
-#endif /* GRPC_CORE_LIB_IOMGR_ENDPOINT_CFSTREAM_H */
diff --git a/contrib/libs/grpc/src/core/lib/iomgr/error_cfstream.h b/contrib/libs/grpc/src/core/lib/iomgr/error_cfstream.h
deleted file mode 100644
index 2d5b744c74..0000000000
--- a/contrib/libs/grpc/src/core/lib/iomgr/error_cfstream.h
+++ /dev/null
@@ -1,31 +0,0 @@
-/*
- *
- * Copyright 2018 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.
- *
- */
-
-#ifndef GRPC_CORE_LIB_IOMGR_ERROR_CFSTREAM_H
-#define GRPC_CORE_LIB_IOMGR_ERROR_CFSTREAM_H
-
-#ifdef GRPC_CFSTREAM
-// Create an error from Apple Core Foundation CFError object
-#define GRPC_ERROR_CREATE_FROM_CFERROR(error, desc) \
- grpc_error_create_from_cferror(__FILE__, __LINE__, \
- static_cast<void*>((error)), (desc))
-grpc_error_handle grpc_error_create_from_cferror(const char* file, int line,
- void* arg, const char* desc);
-#endif /* GRPC_CFSTREAM */
-
-#endif /* GRPC_CORE_LIB_IOMGR_ERROR_CFSTREAM_H */
diff --git a/contrib/libs/grpc/src/core/lib/iomgr/event_engine/closure.cc b/contrib/libs/grpc/src/core/lib/iomgr/event_engine/closure.cc
index e495d3c901..1fb46c920d 100644
--- a/contrib/libs/grpc/src/core/lib/iomgr/event_engine/closure.cc
+++ b/contrib/libs/grpc/src/core/lib/iomgr/event_engine/closure.cc
@@ -17,8 +17,8 @@
#include <grpc/event_engine/event_engine.h>
#include "src/core/lib/iomgr/closure.h"
-#include "src/core/lib/iomgr/event_engine/closure.h"
-#include "src/core/lib/iomgr/event_engine/pollset.h"
+#error #include "src/core/lib/iomgr/event_engine/closure.h"
+#error #include "src/core/lib/iomgr/event_engine/pollset.h"
#include "src/core/lib/transport/error_utils.h"
namespace grpc_event_engine {
diff --git a/contrib/libs/grpc/src/core/lib/iomgr/event_engine/closure.h b/contrib/libs/grpc/src/core/lib/iomgr/event_engine/closure.h
deleted file mode 100644
index 5e26cf0044..0000000000
--- a/contrib/libs/grpc/src/core/lib/iomgr/event_engine/closure.h
+++ /dev/null
@@ -1,42 +0,0 @@
-// Copyright 2021 The gRPC Authors
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-#ifndef GRPC_CORE_LIB_IOMGR_EVENT_ENGINE_CLOSURE_H
-#define GRPC_CORE_LIB_IOMGR_EVENT_ENGINE_CLOSURE_H
-
-#include <grpc/support/port_platform.h>
-
-#include <grpc/event_engine/event_engine.h>
-
-#include "src/core/lib/iomgr/closure.h"
-#include "src/core/lib/iomgr/error.h"
-
-namespace grpc_event_engine {
-namespace experimental {
-
-/// Creates a callback that takes an error status argument.
-std::function<void(y_absl::Status)> GrpcClosureToStatusCallback(
- grpc_closure* closure);
-
-/// Create a callback that *does not* take an error status argument.
-std::function<void()> GrpcClosureToCallback(grpc_closure* closure);
-
-/// Creates a callback that *does not* take an error status argument.
-/// This version has a pre-bound error.
-std::function<void()> GrpcClosureToCallback(grpc_closure* closure,
- grpc_error_handle error);
-
-} // namespace experimental
-} // namespace grpc_event_engine
-
-#endif // GRPC_CORE_LIB_IOMGR_EVENT_ENGINE_CLOSURE_H
diff --git a/contrib/libs/grpc/src/core/lib/iomgr/event_engine/endpoint.cc b/contrib/libs/grpc/src/core/lib/iomgr/event_engine/endpoint.cc
index 2a9da2e2a8..366d4d183a 100644
--- a/contrib/libs/grpc/src/core/lib/iomgr/event_engine/endpoint.cc
+++ b/contrib/libs/grpc/src/core/lib/iomgr/event_engine/endpoint.cc
@@ -25,9 +25,9 @@
#include "src/core/lib/channel/channel_args.h"
#include "src/core/lib/iomgr/endpoint.h"
#include "src/core/lib/iomgr/error.h"
-#include "src/core/lib/iomgr/event_engine/closure.h"
-#include "src/core/lib/iomgr/event_engine/endpoint.h"
-#include "src/core/lib/iomgr/event_engine/pollset.h"
+#error #include "src/core/lib/iomgr/event_engine/closure.h"
+#error #include "src/core/lib/iomgr/event_engine/endpoint.h"
+#error #include "src/core/lib/iomgr/event_engine/pollset.h"
#include "src/core/lib/iomgr/pollset.h"
#include "src/core/lib/iomgr/pollset_set.h"
#error #include "src/core/lib/iomgr/resource_quota.h"
diff --git a/contrib/libs/grpc/src/core/lib/iomgr/event_engine/endpoint.h b/contrib/libs/grpc/src/core/lib/iomgr/event_engine/endpoint.h
deleted file mode 100644
index d2d16a89b9..0000000000
--- a/contrib/libs/grpc/src/core/lib/iomgr/event_engine/endpoint.h
+++ /dev/null
@@ -1,52 +0,0 @@
-// Copyright 2021 The gRPC Authors
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-#ifndef GRPC_CORE_LIB_IOMGR_EVENT_ENGINE_ENDPOINT_H
-#define GRPC_CORE_LIB_IOMGR_EVENT_ENGINE_ENDPOINT_H
-
-#include <grpc/support/port_platform.h>
-
-#ifdef GRPC_USE_EVENT_ENGINE
-#include <grpc/event_engine/event_engine.h>
-
-#include "src/core/lib/iomgr/endpoint.h"
-#error #include "src/core/lib/iomgr/resource_quota.h"
-
-struct grpc_event_engine_endpoint {
- grpc_endpoint base;
- std::unique_ptr<grpc_event_engine::experimental::EventEngine::Endpoint>
- endpoint;
- TString peer_address;
- TString local_address;
- std::aligned_storage<
- sizeof(grpc_event_engine::experimental::SliceBuffer),
- alignof(grpc_event_engine::experimental::SliceBuffer)>::type read_buffer;
- std::aligned_storage<
- sizeof(grpc_event_engine::experimental::SliceBuffer),
- alignof(grpc_event_engine::experimental::SliceBuffer)>::type write_buffer;
-};
-
-/// Creates an internal grpc_endpoint struct from an EventEngine Endpoint.
-/// Server code needs to create grpc_endpoints after the EventEngine has made
-/// connections.
-grpc_event_engine_endpoint* grpc_tcp_server_endpoint_create(
- std::unique_ptr<grpc_event_engine::experimental::EventEngine::Endpoint> ee);
-
-/// Creates a new internal grpc_endpoint struct, when no EventEngine Endpoint
-/// has yet been created. This is used in client code before connections are
-/// established. Takes ownership of the slice_allocator.
-grpc_endpoint* grpc_tcp_create(const grpc_channel_args* channel_args,
- y_absl::string_view peer_address);
-
-#endif
-#endif // GRPC_CORE_LIB_IOMGR_EVENT_ENGINE_ENDPOINT_H
diff --git a/contrib/libs/grpc/src/core/lib/iomgr/event_engine/pollset.cc b/contrib/libs/grpc/src/core/lib/iomgr/event_engine/pollset.cc
index b8e08d0695..e9486b1c5a 100644
--- a/contrib/libs/grpc/src/core/lib/iomgr/event_engine/pollset.cc
+++ b/contrib/libs/grpc/src/core/lib/iomgr/event_engine/pollset.cc
@@ -16,7 +16,7 @@
#ifdef GRPC_USE_EVENT_ENGINE
#include <grpc/event_engine/event_engine.h>
-#include "src/core/lib/iomgr/event_engine/pollset.h"
+#error #include "src/core/lib/iomgr/event_engine/pollset.h"
#include "src/core/lib/iomgr/iomgr_internal.h"
#include "src/core/lib/iomgr/pollset.h"
#include "src/core/lib/iomgr/pollset_set.h"
diff --git a/contrib/libs/grpc/src/core/lib/iomgr/event_engine/pollset.h b/contrib/libs/grpc/src/core/lib/iomgr/event_engine/pollset.h
deleted file mode 100644
index 94a46c0a72..0000000000
--- a/contrib/libs/grpc/src/core/lib/iomgr/event_engine/pollset.h
+++ /dev/null
@@ -1,25 +0,0 @@
-// Copyright 2021 The gRPC Authors
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-#ifndef GRPC_CORE_LIB_IOMGR_EVENT_ENGINE_POLLSET_H
-#define GRPC_CORE_LIB_IOMGR_EVENT_ENGINE_POLLSET_H
-
-#include <grpc/support/port_platform.h>
-
-#ifdef GRPC_USE_EVENT_ENGINE
-
-/// Signals pollset_work that some work has been done.
-void grpc_pollset_ee_broadcast_event();
-
-#endif
-#endif // GRPC_CORE_LIB_IOMGR_EVENT_ENGINE_POLLSET_H
diff --git a/contrib/libs/grpc/src/core/lib/iomgr/event_engine/promise.h b/contrib/libs/grpc/src/core/lib/iomgr/event_engine/promise.h
deleted file mode 100644
index 9b34e2aed6..0000000000
--- a/contrib/libs/grpc/src/core/lib/iomgr/event_engine/promise.h
+++ /dev/null
@@ -1,51 +0,0 @@
-// Copyright 2021 The gRPC Authors
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-#ifndef GRPC_CORE_LIB_IOMGR_EVENT_ENGINE_PROMISE_H
-#define GRPC_CORE_LIB_IOMGR_EVENT_ENGINE_PROMISE_H
-#include <grpc/support/port_platform.h>
-
-#include "src/core/lib/gprpp/sync.h"
-
-namespace grpc_event_engine {
-namespace experimental {
-
-/// A minimal promise implementation.
-///
-/// This is light-duty, syntactical sugar around cv wait & signal, which is
-/// useful in some cases. A more robust implementation is being worked on
-/// separately.
-template <typename T>
-class Promise {
- public:
- T& Get() {
- y_absl::MutexLock lock(&mu_);
- cv_.Wait(&mu_);
- return val_;
- }
- void Set(T&& val) {
- y_absl::MutexLock lock(&mu_);
- val_ = std::move(val);
- cv_.Signal();
- }
-
- private:
- y_absl::Mutex mu_;
- y_absl::CondVar cv_;
- T val_;
-};
-
-} // namespace experimental
-} // namespace grpc_event_engine
-
-#endif // GRPC_CORE_LIB_IOMGR_EVENT_ENGINE_PROMISE_H
diff --git a/contrib/libs/grpc/src/core/lib/iomgr/event_engine/resolver.cc b/contrib/libs/grpc/src/core/lib/iomgr/event_engine/resolver.cc
index c455563ccd..fd3559eef5 100644
--- a/contrib/libs/grpc/src/core/lib/iomgr/event_engine/resolver.cc
+++ b/contrib/libs/grpc/src/core/lib/iomgr/event_engine/resolver.cc
@@ -19,10 +19,10 @@
#include <grpc/event_engine/event_engine.h>
#include "src/core/lib/address_utils/sockaddr_utils.h"
-#include "src/core/lib/event_engine/event_engine_factory.h"
+#error #include "src/core/lib/event_engine/event_engine_factory.h"
#include "src/core/lib/gprpp/sync.h"
#include "src/core/lib/iomgr/error.h"
-#include "src/core/lib/iomgr/event_engine/promise.h"
+#error #include "src/core/lib/iomgr/event_engine/promise.h"
#include "src/core/lib/iomgr/event_engine/resolved_address_internal.h"
#include "src/core/lib/iomgr/resolve_address.h"
#include "src/core/lib/iomgr/work_serializer.h"
diff --git a/contrib/libs/grpc/src/core/lib/iomgr/event_engine/tcp.cc b/contrib/libs/grpc/src/core/lib/iomgr/event_engine/tcp.cc
index 4e1baf1807..a3e8eace19 100644
--- a/contrib/libs/grpc/src/core/lib/iomgr/event_engine/tcp.cc
+++ b/contrib/libs/grpc/src/core/lib/iomgr/event_engine/tcp.cc
@@ -18,12 +18,12 @@
#include "src/core/lib/address_utils/sockaddr_utils.h"
#include "src/core/lib/event_engine/channel_args_endpoint_config.h"
-#include "src/core/lib/event_engine/event_engine_factory.h"
+#error #include "src/core/lib/event_engine/event_engine_factory.h"
#include "src/core/lib/event_engine/sockaddr.h"
#include "src/core/lib/gprpp/ref_counted.h"
-#include "src/core/lib/iomgr/event_engine/closure.h"
-#include "src/core/lib/iomgr/event_engine/endpoint.h"
-#include "src/core/lib/iomgr/event_engine/pollset.h"
+#error #include "src/core/lib/iomgr/event_engine/closure.h"
+#error #include "src/core/lib/iomgr/event_engine/endpoint.h"
+#error #include "src/core/lib/iomgr/event_engine/pollset.h"
#include "src/core/lib/iomgr/resolve_address.h"
#include "src/core/lib/iomgr/tcp_client.h"
#include "src/core/lib/iomgr/tcp_server.h"
diff --git a/contrib/libs/grpc/src/core/lib/iomgr/event_engine/timer.cc b/contrib/libs/grpc/src/core/lib/iomgr/event_engine/timer.cc
index 6ac49f11c9..ff7547d62c 100644
--- a/contrib/libs/grpc/src/core/lib/iomgr/event_engine/timer.cc
+++ b/contrib/libs/grpc/src/core/lib/iomgr/event_engine/timer.cc
@@ -16,9 +16,9 @@
#ifdef GRPC_USE_EVENT_ENGINE
#include <grpc/event_engine/event_engine.h>
-#include "src/core/lib/event_engine/event_engine_factory.h"
+#error #include "src/core/lib/event_engine/event_engine_factory.h"
#include "src/core/lib/iomgr/error.h"
-#include "src/core/lib/iomgr/event_engine/closure.h"
+#error #include "src/core/lib/iomgr/event_engine/closure.h"
#include "src/core/lib/iomgr/exec_ctx.h"
#include "src/core/lib/iomgr/timer.h"
#include "src/core/lib/surface/init.h"
diff --git a/contrib/libs/grpc/src/core/lib/iomgr/tcp_client_cfstream.cc b/contrib/libs/grpc/src/core/lib/iomgr/tcp_client_cfstream.cc
index f178538534..0c371a6e6b 100644
--- a/contrib/libs/grpc/src/core/lib/iomgr/tcp_client_cfstream.cc
+++ b/contrib/libs/grpc/src/core/lib/iomgr/tcp_client_cfstream.cc
@@ -34,11 +34,11 @@
#include "src/core/lib/address_utils/sockaddr_utils.h"
#include "src/core/lib/channel/channel_args.h"
#include "src/core/lib/gprpp/host_port.h"
-#include "src/core/lib/iomgr/cfstream_handle.h"
+#error #include "src/core/lib/iomgr/cfstream_handle.h"
#include "src/core/lib/iomgr/closure.h"
-#include "src/core/lib/iomgr/endpoint_cfstream.h"
+#error #include "src/core/lib/iomgr/endpoint_cfstream.h"
#include "src/core/lib/iomgr/error.h"
-#include "src/core/lib/iomgr/error_cfstream.h"
+#error #include "src/core/lib/iomgr/error_cfstream.h"
#include "src/core/lib/iomgr/tcp_client.h"
#include "src/core/lib/iomgr/timer.h"
diff --git a/contrib/libs/grpc/src/core/lib/security/authorization/authorization_policy_provider_null_vtable.cc b/contrib/libs/grpc/src/core/lib/security/authorization/authorization_policy_provider_null_vtable.cc
deleted file mode 100644
index 1f1ccc984b..0000000000
--- a/contrib/libs/grpc/src/core/lib/security/authorization/authorization_policy_provider_null_vtable.cc
+++ /dev/null
@@ -1,24 +0,0 @@
-// Copyright 2021 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 <grpc/support/port_platform.h>
-
-#include <grpc/grpc.h>
-
-// Wrapper API declared in grpc.h
-
-// Required only for insecure build targets.
-const grpc_arg_pointer_vtable* grpc_authorization_policy_provider_arg_vtable() {
- return nullptr;
-}
diff --git a/contrib/libs/grpc/src/core/plugin_registry/grpc_unsecure_plugin_registry.cc b/contrib/libs/grpc/src/core/plugin_registry/grpc_unsecure_plugin_registry.cc
deleted file mode 100644
index fe653356a3..0000000000
--- a/contrib/libs/grpc/src/core/plugin_registry/grpc_unsecure_plugin_registry.cc
+++ /dev/null
@@ -1,125 +0,0 @@
-/*
- *
- * Copyright 2016 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 <grpc/support/port_platform.h>
-
-#include <grpc/grpc.h>
-
-#include "src/core/lib/config/core_configuration.h"
-#include "src/core/lib/surface/builtins.h"
-
-void grpc_chttp2_plugin_init(void);
-void grpc_chttp2_plugin_shutdown(void);
-void grpc_client_channel_init(void);
-void grpc_client_channel_shutdown(void);
-void grpc_inproc_plugin_init(void);
-void grpc_inproc_plugin_shutdown(void);
-void grpc_resolver_dns_ares_init(void);
-void grpc_resolver_dns_ares_shutdown(void);
-void grpc_resolver_dns_native_init(void);
-void grpc_resolver_dns_native_shutdown(void);
-void grpc_resolver_sockaddr_init(void);
-void grpc_resolver_sockaddr_shutdown(void);
-void grpc_resolver_fake_init(void);
-void grpc_resolver_fake_shutdown(void);
-void grpc_lb_policy_grpclb_init(void);
-void grpc_lb_policy_grpclb_shutdown(void);
-void grpc_lb_policy_priority_init(void);
-void grpc_lb_policy_priority_shutdown(void);
-void grpc_lb_policy_weighted_target_init(void);
-void grpc_lb_policy_weighted_target_shutdown(void);
-void grpc_lb_policy_pick_first_init(void);
-void grpc_lb_policy_pick_first_shutdown(void);
-void grpc_lb_policy_round_robin_init(void);
-void grpc_lb_policy_round_robin_shutdown(void);
-void grpc_message_size_filter_init(void);
-void grpc_message_size_filter_shutdown(void);
-namespace grpc_core {
-void FaultInjectionFilterInit(void);
-void FaultInjectionFilterShutdown(void);
-void GrpcLbPolicyRingHashInit(void);
-void GrpcLbPolicyRingHashShutdown(void);
-void ServiceConfigParserInit(void);
-void ServiceConfigParserShutdown(void);
-} // namespace grpc_core
-
-void grpc_register_built_in_plugins(void) {
- grpc_register_plugin(grpc_chttp2_plugin_init, grpc_chttp2_plugin_shutdown);
- grpc_register_plugin(grpc_core::ServiceConfigParserInit,
- grpc_core::ServiceConfigParserShutdown);
- grpc_register_plugin(grpc_client_channel_init, grpc_client_channel_shutdown);
- grpc_register_plugin(grpc_inproc_plugin_init, grpc_inproc_plugin_shutdown);
- grpc_register_plugin(grpc_resolver_dns_ares_init,
- grpc_resolver_dns_ares_shutdown);
- grpc_register_plugin(grpc_resolver_dns_native_init,
- grpc_resolver_dns_native_shutdown);
- grpc_register_plugin(grpc_resolver_sockaddr_init,
- grpc_resolver_sockaddr_shutdown);
- grpc_register_plugin(grpc_resolver_fake_init, grpc_resolver_fake_shutdown);
- grpc_register_plugin(grpc_lb_policy_grpclb_init,
- grpc_lb_policy_grpclb_shutdown);
- grpc_register_plugin(grpc_lb_policy_priority_init,
- grpc_lb_policy_priority_shutdown);
- grpc_register_plugin(grpc_lb_policy_weighted_target_init,
- grpc_lb_policy_weighted_target_shutdown);
- grpc_register_plugin(grpc_lb_policy_pick_first_init,
- grpc_lb_policy_pick_first_shutdown);
- grpc_register_plugin(grpc_lb_policy_round_robin_init,
- grpc_lb_policy_round_robin_shutdown);
- grpc_register_plugin(grpc_core::GrpcLbPolicyRingHashInit,
- grpc_core::GrpcLbPolicyRingHashShutdown);
- grpc_register_plugin(grpc_message_size_filter_init,
- grpc_message_size_filter_shutdown);
- grpc_register_plugin(grpc_core::FaultInjectionFilterInit,
- grpc_core::FaultInjectionFilterShutdown);
-}
-
-namespace grpc_core {
-
-extern void BuildClientChannelConfiguration(
- CoreConfiguration::Builder* builder);
-extern void RegisterClientAuthorityFilter(CoreConfiguration::Builder* builder);
-extern void RegisterClientIdleFilter(CoreConfiguration::Builder* builder);
-extern void RegisterDeadlineFilter(CoreConfiguration::Builder* builder);
-extern void RegisterGrpcLbLoadReportingFilter(
- CoreConfiguration::Builder* builder);
-extern void RegisterHttpFilters(CoreConfiguration::Builder* builder);
-extern void RegisterMaxAgeFilter(CoreConfiguration::Builder* builder);
-extern void RegisterMessageSizeFilter(CoreConfiguration::Builder* builder);
-extern void RegisterSecurityFilters(CoreConfiguration::Builder* builder);
-extern void RegisterServiceConfigChannelArgFilter(
- CoreConfiguration::Builder* builder);
-extern void RegisterResourceQuota(CoreConfiguration::Builder* builder);
-
-void BuildCoreConfiguration(CoreConfiguration::Builder* builder) {
- BuildClientChannelConfiguration(builder);
- RegisterClientAuthorityFilter(builder);
- RegisterClientIdleFilter(builder);
- RegisterGrpcLbLoadReportingFilter(builder);
- RegisterHttpFilters(builder);
- RegisterMaxAgeFilter(builder);
- RegisterDeadlineFilter(builder);
- RegisterMessageSizeFilter(builder);
- RegisterServiceConfigChannelArgFilter(builder);
- RegisterResourceQuota(builder);
- // Run last so it gets a consistent location.
- // TODO(ctiller): Is this actually necessary?
- RegisterBuiltins(builder);
-}
-
-} // namespace grpc_core
diff --git a/contrib/libs/grpc/src/cpp/common/alts_context.cc b/contrib/libs/grpc/src/cpp/common/alts_context.cc
deleted file mode 100644
index 31f0f083ef..0000000000
--- a/contrib/libs/grpc/src/cpp/common/alts_context.cc
+++ /dev/null
@@ -1,127 +0,0 @@
-/*
- *
- * Copyright 2019 gRPC authors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-
-#include <grpc/grpc_security.h>
-#include <grpcpp/security/alts_context.h>
-
-#include "src/core/tsi/alts/handshaker/alts_tsi_handshaker.h"
-#include "src/proto/grpc/gcp/altscontext.upb.h"
-
-namespace grpc {
-namespace experimental {
-
-// A upb-generated grpc_gcp_AltsContext is passed in to construct an
-// AltsContext. Normal users should use GetAltsContextFromAuthContext to get
-// AltsContext, instead of constructing their own.
-AltsContext::AltsContext(const grpc_gcp_AltsContext* ctx) {
- upb_strview application_protocol =
- grpc_gcp_AltsContext_application_protocol(ctx);
- if (application_protocol.data != nullptr && application_protocol.size > 0) {
- application_protocol_ =
- TString(application_protocol.data, application_protocol.size);
- }
- upb_strview record_protocol = grpc_gcp_AltsContext_record_protocol(ctx);
- if (record_protocol.data != nullptr && record_protocol.size > 0) {
- record_protocol_ = TString(record_protocol.data, record_protocol.size);
- }
- upb_strview peer_service_account =
- grpc_gcp_AltsContext_peer_service_account(ctx);
- if (peer_service_account.data != nullptr && peer_service_account.size > 0) {
- peer_service_account_ =
- TString(peer_service_account.data, peer_service_account.size);
- }
- upb_strview local_service_account =
- grpc_gcp_AltsContext_local_service_account(ctx);
- if (local_service_account.data != nullptr && local_service_account.size > 0) {
- local_service_account_ =
- TString(local_service_account.data, local_service_account.size);
- }
- const grpc_gcp_RpcProtocolVersions* versions =
- grpc_gcp_AltsContext_peer_rpc_versions(ctx);
- if (versions != nullptr) {
- const grpc_gcp_RpcProtocolVersions_Version* max_version =
- grpc_gcp_RpcProtocolVersions_max_rpc_version(versions);
- if (max_version != nullptr) {
- int max_version_major =
- grpc_gcp_RpcProtocolVersions_Version_major(max_version);
- int max_version_minor =
- grpc_gcp_RpcProtocolVersions_Version_minor(max_version);
- peer_rpc_versions_.max_rpc_version.major_version = max_version_major;
- peer_rpc_versions_.max_rpc_version.minor_version = max_version_minor;
- }
- const grpc_gcp_RpcProtocolVersions_Version* min_version =
- grpc_gcp_RpcProtocolVersions_min_rpc_version(versions);
- if (min_version != nullptr) {
- int min_version_major =
- grpc_gcp_RpcProtocolVersions_Version_major(min_version);
- int min_version_minor =
- grpc_gcp_RpcProtocolVersions_Version_minor(min_version);
- peer_rpc_versions_.min_rpc_version.major_version = min_version_major;
- peer_rpc_versions_.min_rpc_version.minor_version = min_version_minor;
- }
- }
- if (grpc_gcp_AltsContext_security_level(ctx) >= GRPC_SECURITY_MIN ||
- grpc_gcp_AltsContext_security_level(ctx) <= GRPC_SECURITY_MAX) {
- security_level_ = static_cast<grpc_security_level>(
- grpc_gcp_AltsContext_security_level(ctx));
- }
- if (grpc_gcp_AltsContext_has_peer_attributes(ctx)) {
- size_t iter = UPB_MAP_BEGIN;
- const grpc_gcp_AltsContext_PeerAttributesEntry* peer_attributes_entry =
- grpc_gcp_AltsContext_peer_attributes_next(ctx, &iter);
- while (peer_attributes_entry != nullptr) {
- upb_strview key =
- grpc_gcp_AltsContext_PeerAttributesEntry_key(peer_attributes_entry);
- upb_strview val =
- grpc_gcp_AltsContext_PeerAttributesEntry_value(peer_attributes_entry);
- peer_attributes_map_[TString(key.data, key.size)] =
- TString(val.data, val.size);
- peer_attributes_entry =
- grpc_gcp_AltsContext_peer_attributes_next(ctx, &iter);
- }
- }
-}
-
-TString AltsContext::application_protocol() const {
- return application_protocol_;
-}
-
-TString AltsContext::record_protocol() const { return record_protocol_; }
-
-TString AltsContext::peer_service_account() const {
- return peer_service_account_;
-}
-
-TString AltsContext::local_service_account() const {
- return local_service_account_;
-}
-
-grpc_security_level AltsContext::security_level() const {
- return security_level_;
-}
-
-AltsContext::RpcProtocolVersions AltsContext::peer_rpc_versions() const {
- return peer_rpc_versions_;
-}
-
-const std::map<TString, TString>& AltsContext::peer_attributes() const {
- return peer_attributes_map_;
-}
-
-} // namespace experimental
-} // namespace grpc
diff --git a/contrib/libs/grpc/src/cpp/common/alts_util.cc b/contrib/libs/grpc/src/cpp/common/alts_util.cc
deleted file mode 100644
index 4b955c621c..0000000000
--- a/contrib/libs/grpc/src/cpp/common/alts_util.cc
+++ /dev/null
@@ -1,82 +0,0 @@
-/*
- *
- * Copyright 2019 gRPC authors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-
-#include "upb/upb.hpp"
-
-#include <grpc/grpc_security.h>
-#include <grpc/support/log.h>
-#include <grpcpp/security/alts_context.h>
-#include <grpcpp/security/alts_util.h>
-
-#include "src/core/lib/gprpp/memory.h"
-#include "src/core/tsi/alts/handshaker/alts_tsi_handshaker.h"
-#include "src/cpp/common/secure_auth_context.h"
-#include "src/proto/grpc/gcp/altscontext.upb.h"
-
-namespace grpc {
-namespace experimental {
-
-std::unique_ptr<AltsContext> GetAltsContextFromAuthContext(
- const std::shared_ptr<const AuthContext>& auth_context) {
- if (auth_context == nullptr) {
- gpr_log(GPR_ERROR, "auth_context is nullptr.");
- return nullptr;
- }
- std::vector<string_ref> ctx_vector =
- auth_context->FindPropertyValues(TSI_ALTS_CONTEXT);
- if (ctx_vector.size() != 1) {
- gpr_log(GPR_ERROR, "contains zero or more than one ALTS context.");
- return nullptr;
- }
- upb::Arena context_arena;
- grpc_gcp_AltsContext* ctx = grpc_gcp_AltsContext_parse(
- ctx_vector[0].data(), ctx_vector[0].size(), context_arena.ptr());
- if (ctx == nullptr) {
- gpr_log(GPR_ERROR, "fails to parse ALTS context.");
- return nullptr;
- }
- if (grpc_gcp_AltsContext_security_level(ctx) < GRPC_SECURITY_MIN ||
- grpc_gcp_AltsContext_security_level(ctx) > GRPC_SECURITY_MAX) {
- gpr_log(GPR_ERROR, "security_level is invalid.");
- return nullptr;
- }
- return y_absl::make_unique<AltsContext>(AltsContext(ctx));
-}
-
-grpc::Status AltsClientAuthzCheck(
- const std::shared_ptr<const AuthContext>& auth_context,
- const std::vector<TString>& expected_service_accounts) {
- std::unique_ptr<AltsContext> alts_ctx =
- GetAltsContextFromAuthContext(auth_context);
- if (alts_ctx == nullptr) {
- return grpc::Status(grpc::StatusCode::PERMISSION_DENIED,
- "fails to parse ALTS context.");
- }
- if (std::find(expected_service_accounts.begin(),
- expected_service_accounts.end(),
- alts_ctx->peer_service_account()) !=
- expected_service_accounts.end()) {
- return grpc::Status::OK;
- }
- return grpc::Status(
- grpc::StatusCode::PERMISSION_DENIED,
- "client " + alts_ctx->peer_service_account() + " is not authorized.");
-}
-
-} // namespace experimental
-} // namespace grpc
diff --git a/contrib/libs/grpc/src/cpp/server/load_reporter/constants.h b/contrib/libs/grpc/src/cpp/server/load_reporter/constants.h
deleted file mode 100644
index dc9fadeab0..0000000000
--- a/contrib/libs/grpc/src/cpp/server/load_reporter/constants.h
+++ /dev/null
@@ -1,83 +0,0 @@
-/*
- *
- * Copyright 2018 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.
- *
- */
-
-#ifndef GRPC_SRC_CPP_SERVER_LOAD_REPORTER_UTIL_H
-#define GRPC_SRC_CPP_SERVER_LOAD_REPORTER_UTIL_H
-
-#include <grpc/impl/codegen/port_platform.h>
-
-#include <stddef.h>
-
-namespace grpc {
-namespace load_reporter {
-
-// TODO(juanlishen): Update the version number with the PR number every time
-// there is any change to the server load reporter.
-constexpr uint32_t kVersion = 15853;
-
-// TODO(juanlishen): This window size is from the internal spec for the load
-// reporter. Need to ask the gRPC LB team whether we should make this and the
-// fetching interval configurable.
-constexpr uint32_t kFeedbackSampleWindowSeconds = 10;
-constexpr uint32_t kFetchAndSampleIntervalSeconds = 1;
-
-constexpr size_t kLbIdLength = 8;
-constexpr size_t kIpv4AddressLength = 8;
-constexpr size_t kIpv6AddressLength = 32;
-
-constexpr char kInvalidLbId[] = "<INVALID_LBID_238dsb234890rb>";
-
-// Call statuses.
-
-constexpr char kCallStatusOk[] = "OK";
-constexpr char kCallStatusServerError[] = "5XX";
-constexpr char kCallStatusClientError[] = "4XX";
-
-// Tag keys.
-
-constexpr char kTagKeyToken[] = "token";
-constexpr char kTagKeyHost[] = "host";
-constexpr char kTagKeyUserId[] = "user_id";
-constexpr char kTagKeyStatus[] = "status";
-constexpr char kTagKeyMetricName[] = "metric_name";
-
-// Measure names.
-
-constexpr char kMeasureStartCount[] = "grpc.io/lb/start_count";
-constexpr char kMeasureEndCount[] = "grpc.io/lb/end_count";
-constexpr char kMeasureEndBytesSent[] = "grpc.io/lb/bytes_sent";
-constexpr char kMeasureEndBytesReceived[] = "grpc.io/lb/bytes_received";
-constexpr char kMeasureEndLatencyMs[] = "grpc.io/lb/latency_ms";
-constexpr char kMeasureOtherCallMetric[] = "grpc.io/lb/other_call_metric";
-
-// View names.
-
-constexpr char kViewStartCount[] = "grpc.io/lb_view/start_count";
-constexpr char kViewEndCount[] = "grpc.io/lb_view/end_count";
-constexpr char kViewEndBytesSent[] = "grpc.io/lb_view/bytes_sent";
-constexpr char kViewEndBytesReceived[] = "grpc.io/lb_view/bytes_received";
-constexpr char kViewEndLatencyMs[] = "grpc.io/lb_view/latency_ms";
-constexpr char kViewOtherCallMetricCount[] =
- "grpc.io/lb_view/other_call_metric_count";
-constexpr char kViewOtherCallMetricValue[] =
- "grpc.io/lb_view/other_call_metric_value";
-
-} // namespace load_reporter
-} // namespace grpc
-
-#endif // GRPC_SRC_CPP_SERVER_LOAD_REPORTER_UTIL_H
diff --git a/contrib/libs/grpc/src/cpp/server/load_reporter/get_cpu_stats.h b/contrib/libs/grpc/src/cpp/server/load_reporter/get_cpu_stats.h
deleted file mode 100644
index f514b0752f..0000000000
--- a/contrib/libs/grpc/src/cpp/server/load_reporter/get_cpu_stats.h
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- *
- * Copyright 2018 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.
- *
- */
-
-#ifndef GRPC_SRC_CPP_SERVER_LOAD_REPORTER_GET_CPU_STATS_H
-#define GRPC_SRC_CPP_SERVER_LOAD_REPORTER_GET_CPU_STATS_H
-
-#include <grpc/impl/codegen/port_platform.h>
-
-#include <utility>
-
-namespace grpc {
-namespace load_reporter {
-
-// Reads the CPU stats (in a pair of busy and total numbers) from the system.
-// The units of the stats should be the same.
-std::pair<uint64_t, uint64_t> GetCpuStatsImpl();
-
-} // namespace load_reporter
-} // namespace grpc
-
-#endif // GRPC_SRC_CPP_SERVER_LOAD_REPORTER_GET_CPU_STATS_H
diff --git a/contrib/libs/grpc/src/cpp/server/load_reporter/get_cpu_stats_linux.cc b/contrib/libs/grpc/src/cpp/server/load_reporter/get_cpu_stats_linux.cc
deleted file mode 100644
index f778b13785..0000000000
--- a/contrib/libs/grpc/src/cpp/server/load_reporter/get_cpu_stats_linux.cc
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- *
- * Copyright 2018 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 <grpc/support/port_platform.h>
-
-#ifdef GPR_LINUX
-
-#include <inttypes.h>
-
-#include <cstdio>
-
-#include "src/cpp/server/load_reporter/get_cpu_stats.h"
-
-namespace grpc {
-namespace load_reporter {
-
-std::pair<uint64_t, uint64_t> GetCpuStatsImpl() {
- uint64_t busy = 0, total = 0;
- FILE* fp;
- fp = fopen("/proc/stat", "r");
- uint64_t user, nice, system, idle;
- if (fscanf(fp, "cpu %" PRIu64 " %" PRIu64 " %" PRIu64 " %" PRIu64, &user,
- &nice, &system, &idle) != 4) {
- // Something bad happened with the information, so assume it's all invalid
- user = nice = system = idle = 0;
- }
- fclose(fp);
- busy = user + nice + system;
- total = busy + idle;
- return std::make_pair(busy, total);
-}
-
-} // namespace load_reporter
-} // namespace grpc
-
-#endif // GPR_LINUX
diff --git a/contrib/libs/grpc/src/cpp/server/load_reporter/get_cpu_stats_macos.cc b/contrib/libs/grpc/src/cpp/server/load_reporter/get_cpu_stats_macos.cc
deleted file mode 100644
index dbdde304c2..0000000000
--- a/contrib/libs/grpc/src/cpp/server/load_reporter/get_cpu_stats_macos.cc
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- *
- * Copyright 2018 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 <grpc/support/port_platform.h>
-
-#ifdef GPR_APPLE
-
-#include <mach/mach.h>
-
-#include "src/cpp/server/load_reporter/get_cpu_stats.h"
-
-namespace grpc {
-namespace load_reporter {
-
-std::pair<uint64_t, uint64_t> GetCpuStatsImpl() {
- uint64_t busy = 0, total = 0;
- host_cpu_load_info_data_t cpuinfo;
- mach_msg_type_number_t count = HOST_CPU_LOAD_INFO_COUNT;
- if (host_statistics(mach_host_self(), HOST_CPU_LOAD_INFO,
- (host_info_t)&cpuinfo, &count) == KERN_SUCCESS) {
- for (int i = 0; i < CPU_STATE_MAX; i++) total += cpuinfo.cpu_ticks[i];
- busy = total - cpuinfo.cpu_ticks[CPU_STATE_IDLE];
- }
- return std::make_pair(busy, total);
-}
-
-} // namespace load_reporter
-} // namespace grpc
-
-#endif // GPR_APPLE
diff --git a/contrib/libs/grpc/src/cpp/server/load_reporter/get_cpu_stats_unsupported.cc b/contrib/libs/grpc/src/cpp/server/load_reporter/get_cpu_stats_unsupported.cc
deleted file mode 100644
index 80fb8b6da1..0000000000
--- a/contrib/libs/grpc/src/cpp/server/load_reporter/get_cpu_stats_unsupported.cc
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- *
- * Copyright 2018 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 <grpc/support/port_platform.h>
-
-#if !defined(GPR_LINUX) && !defined(GPR_WINDOWS) && !defined(GPR_APPLE)
-
-#include <grpc/support/log.h>
-
-#include "src/cpp/server/load_reporter/get_cpu_stats.h"
-
-namespace grpc {
-namespace load_reporter {
-
-std::pair<uint64_t, uint64_t> GetCpuStatsImpl() {
- uint64_t busy = 0, total = 0;
- gpr_log(GPR_ERROR,
- "Platforms other than Linux, Windows, and MacOS are not supported.");
- return std::make_pair(busy, total);
-}
-
-} // namespace load_reporter
-} // namespace grpc
-
-#endif // !defined(GPR_LINUX) && !defined(GPR_WINDOWS) && !defined(GPR_APPLE)
diff --git a/contrib/libs/grpc/src/cpp/server/load_reporter/get_cpu_stats_windows.cc b/contrib/libs/grpc/src/cpp/server/load_reporter/get_cpu_stats_windows.cc
deleted file mode 100644
index c03daddb35..0000000000
--- a/contrib/libs/grpc/src/cpp/server/load_reporter/get_cpu_stats_windows.cc
+++ /dev/null
@@ -1,56 +0,0 @@
-/*
- *
- * Copyright 2018 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 <grpc/support/port_platform.h>
-
-#ifdef GPR_WINDOWS
-
-#include <windows.h>
-
-#include <cstdint>
-
-#include "src/cpp/server/load_reporter/get_cpu_stats.h"
-
-namespace grpc {
-namespace load_reporter {
-
-namespace {
-
-uint64_t FiletimeToInt(const FILETIME& ft) {
- ULARGE_INTEGER i;
- i.LowPart = ft.dwLowDateTime;
- i.HighPart = ft.dwHighDateTime;
- return i.QuadPart;
-}
-
-} // namespace
-
-std::pair<uint64_t, uint64_t> GetCpuStatsImpl() {
- uint64_t busy = 0, total = 0;
- FILETIME idle, kernel, user;
- if (GetSystemTimes(&idle, &kernel, &user) != 0) {
- total = FiletimeToInt(kernel) + FiletimeToInt(user);
- busy = total - FiletimeToInt(idle);
- }
- return std::make_pair(busy, total);
-}
-
-} // namespace load_reporter
-} // namespace grpc
-
-#endif // GPR_WINDOWS
diff --git a/contrib/libs/grpc/src/cpp/server/load_reporter/load_data_store.cc b/contrib/libs/grpc/src/cpp/server/load_reporter/load_data_store.cc
deleted file mode 100644
index 78e6c32864..0000000000
--- a/contrib/libs/grpc/src/cpp/server/load_reporter/load_data_store.cc
+++ /dev/null
@@ -1,340 +0,0 @@
-/*
- *
- * Copyright 2018 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 <grpc/impl/codegen/port_platform.h>
-
-#include "src/cpp/server/load_reporter/load_data_store.h"
-
-#include <stdio.h>
-
-#include <cstdlib>
-#include <set>
-#include <unordered_map>
-#include <vector>
-
-#include "src/core/lib/iomgr/socket_utils.h"
-
-namespace grpc {
-namespace load_reporter {
-
-// Some helper functions.
-namespace {
-
-// Given a map from type K to a set of value type V, finds the set associated
-// with the given key and erases the value from the set. If the set becomes
-// empty, also erases the key-set pair. Returns true if the value is erased
-// successfully.
-template <typename K, typename V>
-bool UnorderedMapOfSetEraseKeyValue(std::unordered_map<K, std::set<V>>& map,
- const K& key, const V& value) {
- auto it = map.find(key);
- if (it != map.end()) {
- size_t erased = it->second.erase(value);
- if (it->second.empty()) {
- map.erase(it);
- }
- return erased;
- }
- return false;
-};
-
-// Given a map from type K to a set of value type V, removes the given key and
-// the associated set, and returns the set. Returns an empty set if the key is
-// not found.
-template <typename K, typename V>
-std::set<V> UnorderedMapOfSetExtract(std::unordered_map<K, std::set<V>>& map,
- const K& key) {
- auto it = map.find(key);
- if (it != map.end()) {
- auto set = std::move(it->second);
- map.erase(it);
- return set;
- }
- return {};
-};
-
-// From a non-empty container, returns a pointer to a random element.
-template <typename C>
-const typename C::value_type* RandomElement(const C& container) {
- GPR_ASSERT(!container.empty());
- auto it = container.begin();
- std::advance(it, std::rand() % container.size());
- return &(*it);
-}
-
-} // namespace
-
-LoadRecordKey::LoadRecordKey(const TString& client_ip_and_token,
- TString user_id)
- : user_id_(std::move(user_id)) {
- GPR_ASSERT(client_ip_and_token.size() >= 2);
- int ip_hex_size;
- GPR_ASSERT(sscanf(client_ip_and_token.substr(0, 2).c_str(), "%d",
- &ip_hex_size) == 1);
- GPR_ASSERT(ip_hex_size == 0 || ip_hex_size == kIpv4AddressLength ||
- ip_hex_size == kIpv6AddressLength);
- size_t cur_pos = 2;
- client_ip_hex_ = client_ip_and_token.substr(cur_pos, ip_hex_size);
- cur_pos += ip_hex_size;
- if (client_ip_and_token.size() - cur_pos < kLbIdLength) {
- lb_id_ = kInvalidLbId;
- lb_tag_ = "";
- } else {
- lb_id_ = client_ip_and_token.substr(cur_pos, kLbIdLength);
- lb_tag_ = client_ip_and_token.substr(cur_pos + kLbIdLength);
- }
-}
-
-TString LoadRecordKey::GetClientIpBytes() const {
- if (client_ip_hex_.empty()) {
- return "";
- } else if (client_ip_hex_.size() == kIpv4AddressLength) {
- uint32_t ip_bytes;
- if (sscanf(client_ip_hex_.c_str(), "%x", &ip_bytes) != 1) {
- gpr_log(GPR_ERROR,
- "Can't parse client IP (%s) from a hex string to an integer.",
- client_ip_hex_.c_str());
- return "";
- }
- ip_bytes = grpc_htonl(ip_bytes);
- return TString(reinterpret_cast<const char*>(&ip_bytes),
- sizeof(ip_bytes));
- } else if (client_ip_hex_.size() == kIpv6AddressLength) {
- uint32_t ip_bytes[4];
- for (size_t i = 0; i < 4; ++i) {
- if (sscanf(client_ip_hex_.substr(i * 8, (i + 1) * 8).c_str(), "%x",
- ip_bytes + i) != 1) {
- gpr_log(
- GPR_ERROR,
- "Can't parse client IP part (%s) from a hex string to an integer.",
- client_ip_hex_.substr(i * 8, (i + 1) * 8).c_str());
- return "";
- }
- ip_bytes[i] = grpc_htonl(ip_bytes[i]);
- }
- return TString(reinterpret_cast<const char*>(ip_bytes),
- sizeof(ip_bytes));
- } else {
- GPR_UNREACHABLE_CODE(return "");
- }
-}
-
-LoadRecordValue::LoadRecordValue(TString metric_name, uint64_t num_calls,
- double total_metric_value) {
- call_metrics_.emplace(std::move(metric_name),
- CallMetricValue(num_calls, total_metric_value));
-}
-
-void PerBalancerStore::MergeRow(const LoadRecordKey& key,
- const LoadRecordValue& value) {
- // During suspension, the load data received will be dropped.
- if (!suspended_) {
- load_record_map_[key].MergeFrom(value);
- gpr_log(GPR_DEBUG,
- "[PerBalancerStore %p] Load data merged (Key: %s, Value: %s).",
- this, key.ToString().c_str(), value.ToString().c_str());
- } else {
- gpr_log(GPR_DEBUG,
- "[PerBalancerStore %p] Load data dropped (Key: %s, Value: %s).",
- this, key.ToString().c_str(), value.ToString().c_str());
- }
- // We always keep track of num_calls_in_progress_, so that when this
- // store is resumed, we still have a correct value of
- // num_calls_in_progress_.
- GPR_ASSERT(static_cast<int64_t>(num_calls_in_progress_) +
- value.GetNumCallsInProgressDelta() >=
- 0);
- num_calls_in_progress_ += value.GetNumCallsInProgressDelta();
-}
-
-void PerBalancerStore::Suspend() {
- suspended_ = true;
- load_record_map_.clear();
- gpr_log(GPR_DEBUG, "[PerBalancerStore %p] Suspended.", this);
-}
-
-void PerBalancerStore::Resume() {
- suspended_ = false;
- gpr_log(GPR_DEBUG, "[PerBalancerStore %p] Resumed.", this);
-}
-
-uint64_t PerBalancerStore::GetNumCallsInProgressForReport() {
- GPR_ASSERT(!suspended_);
- last_reported_num_calls_in_progress_ = num_calls_in_progress_;
- return num_calls_in_progress_;
-}
-
-void PerHostStore::ReportStreamCreated(const TString& lb_id,
- const TString& load_key) {
- GPR_ASSERT(lb_id != kInvalidLbId);
- SetUpForNewLbId(lb_id, load_key);
- // Prior to this one, there was no load balancer receiving report, so we may
- // have unassigned orphaned stores to assign to this new balancer.
- // TODO(juanlishen): If the load key of this new stream is the same with
- // some previously adopted orphan store, we may want to take the orphan to
- // this stream. Need to discuss with LB team.
- if (assigned_stores_.size() == 1) {
- for (const auto& p : per_balancer_stores_) {
- const TString& other_lb_id = p.first;
- const std::unique_ptr<PerBalancerStore>& orphaned_store = p.second;
- if (other_lb_id != lb_id) {
- orphaned_store->Resume();
- AssignOrphanedStore(orphaned_store.get(), lb_id);
- }
- }
- }
- // The first connected balancer will adopt the kInvalidLbId.
- if (per_balancer_stores_.size() == 1) {
- SetUpForNewLbId(kInvalidLbId, "");
- ReportStreamClosed(kInvalidLbId);
- }
-}
-
-void PerHostStore::ReportStreamClosed(const TString& lb_id) {
- auto it_store_for_gone_lb = per_balancer_stores_.find(lb_id);
- GPR_ASSERT(it_store_for_gone_lb != per_balancer_stores_.end());
- // Remove this closed stream from our records.
- GPR_ASSERT(UnorderedMapOfSetEraseKeyValue(
- load_key_to_receiving_lb_ids_, it_store_for_gone_lb->second->load_key(),
- lb_id));
- std::set<PerBalancerStore*> orphaned_stores =
- UnorderedMapOfSetExtract(assigned_stores_, lb_id);
- // The stores that were assigned to this balancer are orphaned now. They
- // should be re-assigned to other balancers which are still receiving reports.
- for (PerBalancerStore* orphaned_store : orphaned_stores) {
- const TString* new_receiver = nullptr;
- auto it = load_key_to_receiving_lb_ids_.find(orphaned_store->load_key());
- if (it != load_key_to_receiving_lb_ids_.end()) {
- // First, try to pick from the active balancers with the same load key.
- new_receiver = RandomElement(it->second);
- } else if (!assigned_stores_.empty()) {
- // If failed, pick from all the remaining active balancers.
- new_receiver = &(RandomElement(assigned_stores_)->first);
- }
- if (new_receiver != nullptr) {
- AssignOrphanedStore(orphaned_store, *new_receiver);
- } else {
- // Load data for an LB ID that can't be assigned to any stream should
- // be dropped.
- orphaned_store->Suspend();
- }
- }
-}
-
-PerBalancerStore* PerHostStore::FindPerBalancerStore(
- const TString& lb_id) const {
- return per_balancer_stores_.find(lb_id) != per_balancer_stores_.end()
- ? per_balancer_stores_.find(lb_id)->second.get()
- : nullptr;
-}
-
-const std::set<PerBalancerStore*>* PerHostStore::GetAssignedStores(
- const TString& lb_id) const {
- auto it = assigned_stores_.find(lb_id);
- if (it == assigned_stores_.end()) return nullptr;
- return &(it->second);
-}
-
-void PerHostStore::AssignOrphanedStore(PerBalancerStore* orphaned_store,
- const TString& new_receiver) {
- auto it = assigned_stores_.find(new_receiver);
- GPR_ASSERT(it != assigned_stores_.end());
- it->second.insert(orphaned_store);
- gpr_log(GPR_INFO,
- "[PerHostStore %p] Re-assigned orphaned store (%p) with original LB"
- " ID of %s to new receiver %s",
- this, orphaned_store, orphaned_store->lb_id().c_str(),
- new_receiver.c_str());
-}
-
-void PerHostStore::SetUpForNewLbId(const TString& lb_id,
- const TString& load_key) {
- // The top-level caller (i.e., LoadReportService) should guarantee the
- // lb_id is unique for each reporting stream.
- GPR_ASSERT(per_balancer_stores_.find(lb_id) == per_balancer_stores_.end());
- GPR_ASSERT(assigned_stores_.find(lb_id) == assigned_stores_.end());
- load_key_to_receiving_lb_ids_[load_key].insert(lb_id);
- std::unique_ptr<PerBalancerStore> per_balancer_store(
- new PerBalancerStore(lb_id, load_key));
- assigned_stores_[lb_id] = {per_balancer_store.get()};
- per_balancer_stores_[lb_id] = std::move(per_balancer_store);
-}
-
-PerBalancerStore* LoadDataStore::FindPerBalancerStore(
- const string& hostname, const string& lb_id) const {
- auto it = per_host_stores_.find(hostname);
- if (it != per_host_stores_.end()) {
- const PerHostStore& per_host_store = it->second;
- return per_host_store.FindPerBalancerStore(lb_id);
- } else {
- return nullptr;
- }
-}
-
-void LoadDataStore::MergeRow(const TString& hostname,
- const LoadRecordKey& key,
- const LoadRecordValue& value) {
- PerBalancerStore* per_balancer_store =
- FindPerBalancerStore(hostname, key.lb_id());
- if (per_balancer_store != nullptr) {
- per_balancer_store->MergeRow(key, value);
- return;
- }
- // Unknown LB ID. Track it until its number of in-progress calls drops to
- // zero.
- int64_t in_progress_delta = value.GetNumCallsInProgressDelta();
- if (in_progress_delta != 0) {
- auto it_tracker = unknown_balancer_id_trackers_.find(key.lb_id());
- if (it_tracker == unknown_balancer_id_trackers_.end()) {
- gpr_log(
- GPR_DEBUG,
- "[LoadDataStore %p] Start tracking unknown balancer (lb_id_: %s).",
- this, key.lb_id().c_str());
- unknown_balancer_id_trackers_.insert(
- {key.lb_id(), static_cast<uint64_t>(in_progress_delta)});
- } else if ((it_tracker->second += in_progress_delta) == 0) {
- unknown_balancer_id_trackers_.erase(it_tracker);
- gpr_log(GPR_DEBUG,
- "[LoadDataStore %p] Stop tracking unknown balancer (lb_id_: %s).",
- this, key.lb_id().c_str());
- }
- }
-}
-
-const std::set<PerBalancerStore*>* LoadDataStore::GetAssignedStores(
- const TString& hostname, const TString& lb_id) {
- auto it = per_host_stores_.find(hostname);
- if (it == per_host_stores_.end()) return nullptr;
- return it->second.GetAssignedStores(lb_id);
-}
-
-void LoadDataStore::ReportStreamCreated(const TString& hostname,
- const TString& lb_id,
- const TString& load_key) {
- per_host_stores_[hostname].ReportStreamCreated(lb_id, load_key);
-}
-
-void LoadDataStore::ReportStreamClosed(const TString& hostname,
- const TString& lb_id) {
- auto it_per_host_store = per_host_stores_.find(hostname);
- GPR_ASSERT(it_per_host_store != per_host_stores_.end());
- it_per_host_store->second.ReportStreamClosed(lb_id);
-}
-
-} // namespace load_reporter
-} // namespace grpc
diff --git a/contrib/libs/grpc/src/cpp/server/load_reporter/load_data_store.h b/contrib/libs/grpc/src/cpp/server/load_reporter/load_data_store.h
deleted file mode 100644
index 61ba618331..0000000000
--- a/contrib/libs/grpc/src/cpp/server/load_reporter/load_data_store.h
+++ /dev/null
@@ -1,348 +0,0 @@
-/*
- *
- * Copyright 2018 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.
- *
- */
-
-#ifndef GRPC_SRC_CPP_SERVER_LOAD_REPORTER_LOAD_DATA_STORE_H
-#define GRPC_SRC_CPP_SERVER_LOAD_REPORTER_LOAD_DATA_STORE_H
-
-#include <grpc/support/port_platform.h>
-
-#include <memory>
-#include <set>
-#include <unordered_map>
-
-#include <grpc/support/log.h>
-#include <grpcpp/impl/codegen/config.h>
-
-#include "src/cpp/server/load_reporter/constants.h"
-
-#include <util/string/cast.h>
-
-namespace grpc {
-namespace load_reporter {
-
-// The load data storage is organized in hierarchy. The LoadDataStore is the
-// top-level data store. In LoadDataStore, for each host we keep a
-// PerHostStore, in which for each balancer we keep a PerBalancerStore. Each
-// PerBalancerStore maintains a map of load records, mapping from LoadRecordKey
-// to LoadRecordValue. The LoadRecordValue contains a map of customized call
-// metrics, mapping from a call metric name to the CallMetricValue.
-
-// The value of a customized call metric.
-class CallMetricValue {
- public:
- explicit CallMetricValue(uint64_t num_calls = 0,
- double total_metric_value = 0)
- : num_calls_(num_calls), total_metric_value_(total_metric_value) {}
-
- void MergeFrom(CallMetricValue other) {
- num_calls_ += other.num_calls_;
- total_metric_value_ += other.total_metric_value_;
- }
-
- // Getters.
- uint64_t num_calls() const { return num_calls_; }
- double total_metric_value() const { return total_metric_value_; }
-
- private:
- // The number of calls that finished with this metric.
- uint64_t num_calls_ = 0;
- // The sum of metric values across all the calls that finished with this
- // metric.
- double total_metric_value_ = 0;
-};
-
-// The key of a load record.
-class LoadRecordKey {
- public:
- LoadRecordKey(TString lb_id, TString lb_tag, TString user_id,
- TString client_ip_hex)
- : lb_id_(std::move(lb_id)),
- lb_tag_(std::move(lb_tag)),
- user_id_(std::move(user_id)),
- client_ip_hex_(std::move(client_ip_hex)) {}
-
- // Parses the input client_ip_and_token to set client IP, LB ID, and LB tag.
- LoadRecordKey(const TString& client_ip_and_token, TString user_id);
-
- TString ToString() const {
- return "[lb_id_=" + lb_id_ + ", lb_tag_=" + lb_tag_ +
- ", user_id_=" + user_id_ + ", client_ip_hex_=" + client_ip_hex_ +
- "]";
- }
-
- bool operator==(const LoadRecordKey& other) const {
- return lb_id_ == other.lb_id_ && lb_tag_ == other.lb_tag_ &&
- user_id_ == other.user_id_ && client_ip_hex_ == other.client_ip_hex_;
- }
-
- // Gets the client IP bytes in network order (i.e., big-endian).
- TString GetClientIpBytes() const;
-
- // Getters.
- const TString& lb_id() const { return lb_id_; }
- const TString& lb_tag() const { return lb_tag_; }
- const TString& user_id() const { return user_id_; }
- const TString& client_ip_hex() const { return client_ip_hex_; }
-
- struct Hasher {
- void hash_combine(size_t* seed, const TString& k) const {
- *seed ^= std::hash<TString>()(k) + 0x9e3779b9 + (*seed << 6) +
- (*seed >> 2);
- }
-
- size_t operator()(const LoadRecordKey& k) const {
- size_t h = 0;
- hash_combine(&h, k.lb_id_);
- hash_combine(&h, k.lb_tag_);
- hash_combine(&h, k.user_id_);
- hash_combine(&h, k.client_ip_hex_);
- return h;
- }
- };
-
- private:
- TString lb_id_;
- TString lb_tag_;
- TString user_id_;
- TString client_ip_hex_;
-};
-
-// The value of a load record.
-class LoadRecordValue {
- public:
- explicit LoadRecordValue(uint64_t start_count = 0, uint64_t ok_count = 0,
- uint64_t error_count = 0, uint64_t bytes_sent = 0,
- uint64_t bytes_recv = 0, uint64_t latency_ms = 0)
- : start_count_(start_count),
- ok_count_(ok_count),
- error_count_(error_count),
- bytes_sent_(bytes_sent),
- bytes_recv_(bytes_recv),
- latency_ms_(latency_ms) {}
-
- LoadRecordValue(TString metric_name, uint64_t num_calls,
- double total_metric_value);
-
- void MergeFrom(const LoadRecordValue& other) {
- start_count_ += other.start_count_;
- ok_count_ += other.ok_count_;
- error_count_ += other.error_count_;
- bytes_sent_ += other.bytes_sent_;
- bytes_recv_ += other.bytes_recv_;
- latency_ms_ += other.latency_ms_;
- for (const auto& p : other.call_metrics_) {
- const TString& key = p.first;
- const CallMetricValue& value = p.second;
- call_metrics_[key].MergeFrom(value);
- }
- }
-
- int64_t GetNumCallsInProgressDelta() const {
- return static_cast<int64_t>(start_count_ - ok_count_ - error_count_);
- }
-
- TString ToString() const {
- return "[start_count_=" + ::ToString(start_count_) +
- ", ok_count_=" + ::ToString(ok_count_) +
- ", error_count_=" + ::ToString(error_count_) +
- ", bytes_sent_=" + ::ToString(bytes_sent_) +
- ", bytes_recv_=" + ::ToString(bytes_recv_) +
- ", latency_ms_=" + ::ToString(latency_ms_) + ", " +
- ::ToString(call_metrics_.size()) + " other call metric(s)]";
- }
-
- bool InsertCallMetric(const TString& metric_name,
- const CallMetricValue& metric_value) {
- return call_metrics_.insert({metric_name, metric_value}).second;
- }
-
- // Getters.
- uint64_t start_count() const { return start_count_; }
- uint64_t ok_count() const { return ok_count_; }
- uint64_t error_count() const { return error_count_; }
- uint64_t bytes_sent() const { return bytes_sent_; }
- uint64_t bytes_recv() const { return bytes_recv_; }
- uint64_t latency_ms() const { return latency_ms_; }
- const std::unordered_map<TString, CallMetricValue>& call_metrics() const {
- return call_metrics_;
- }
-
- private:
- uint64_t start_count_ = 0;
- uint64_t ok_count_ = 0;
- uint64_t error_count_ = 0;
- uint64_t bytes_sent_ = 0;
- uint64_t bytes_recv_ = 0;
- uint64_t latency_ms_ = 0;
- std::unordered_map<TString, CallMetricValue> call_metrics_;
-};
-
-// Stores the data associated with a particular LB ID.
-class PerBalancerStore {
- public:
- using LoadRecordMap =
- std::unordered_map<LoadRecordKey, LoadRecordValue, LoadRecordKey::Hasher>;
-
- PerBalancerStore(TString lb_id, TString load_key)
- : lb_id_(std::move(lb_id)), load_key_(std::move(load_key)) {}
-
- // Merge a load record with the given key and value if the store is not
- // suspended.
- void MergeRow(const LoadRecordKey& key, const LoadRecordValue& value);
-
- // Suspend this store, so that no detailed load data will be recorded.
- void Suspend();
- // Resume this store from suspension.
- void Resume();
- // Is this store suspended or not?
- bool IsSuspended() const { return suspended_; }
-
- bool IsNumCallsInProgressChangedSinceLastReport() const {
- return num_calls_in_progress_ != last_reported_num_calls_in_progress_;
- }
-
- uint64_t GetNumCallsInProgressForReport();
-
- TString ToString() {
- return "[PerBalancerStore lb_id_=" + lb_id_ + " load_key_=" + load_key_ +
- "]";
- }
-
- void ClearLoadRecordMap() { load_record_map_.clear(); }
-
- // Getters.
- const TString& lb_id() const { return lb_id_; }
- const TString& load_key() const { return load_key_; }
- const LoadRecordMap& load_record_map() const { return load_record_map_; }
-
- private:
- TString lb_id_;
- // TODO(juanlishen): Use bytestring protobuf type?
- TString load_key_;
- LoadRecordMap load_record_map_;
- uint64_t num_calls_in_progress_ = 0;
- uint64_t last_reported_num_calls_in_progress_ = 0;
- bool suspended_ = false;
-};
-
-// Stores the data associated with a particular host.
-class PerHostStore {
- public:
- // When a report stream is created, a PerBalancerStore is created for the
- // LB ID (guaranteed unique) associated with that stream. If it is the only
- // active store, adopt all the orphaned stores. If it is the first created
- // store, adopt the store of kInvalidLbId.
- void ReportStreamCreated(const TString& lb_id,
- const TString& load_key);
-
- // When a report stream is closed, the PerBalancerStores assigned to the
- // associate LB ID need to be re-assigned to other active balancers,
- // ideally with the same load key. If there is no active balancer, we have
- // to suspend those stores and drop the incoming load data until they are
- // resumed.
- void ReportStreamClosed(const TString& lb_id);
-
- // Returns null if not found. Caller doesn't own the returned store.
- PerBalancerStore* FindPerBalancerStore(const TString& lb_id) const;
-
- // Returns null if lb_id is not found. The returned pointer points to the
- // underlying data structure, which is not owned by the caller.
- const std::set<PerBalancerStore*>* GetAssignedStores(
- const TString& lb_id) const;
-
- private:
- // Creates a PerBalancerStore for the given LB ID, assigns the store to
- // itself, and records the LB ID to the load key.
- void SetUpForNewLbId(const TString& lb_id, const TString& load_key);
-
- void AssignOrphanedStore(PerBalancerStore* orphaned_store,
- const TString& new_receiver);
-
- std::unordered_map<TString, std::set<TString>>
- load_key_to_receiving_lb_ids_;
-
- // Key: LB ID. The key set includes all the LB IDs that have been
- // allocated for reporting streams so far.
- // Value: the unique pointer to the PerBalancerStore of the LB ID.
- std::unordered_map<TString, std::unique_ptr<PerBalancerStore>>
- per_balancer_stores_;
-
- // Key: LB ID. The key set includes the LB IDs of the balancers that are
- // currently receiving report.
- // Value: the set of raw pointers to the PerBalancerStores assigned to the LB
- // ID. Note that the sets in assigned_stores_ form a division of the value set
- // of per_balancer_stores_.
- std::unordered_map<TString, std::set<PerBalancerStore*>> assigned_stores_;
-};
-
-// Thread-unsafe two-level bookkeeper of all the load data.
-// Note: We never remove any store objects from this class, as per the
-// current spec. That's because premature removal of the store objects
-// may lead to loss of critical information, e.g., mapping from lb_id to
-// load_key, and the number of in-progress calls. Such loss will cause
-// information inconsistency when the balancer is re-connected. Keeping
-// all the stores should be fine for PerHostStore, since we assume there
-// should only be a few hostnames. But it's a potential problem for
-// PerBalancerStore.
-class LoadDataStore {
- public:
- // Returns null if not found. Caller doesn't own the returned store.
- PerBalancerStore* FindPerBalancerStore(const TString& hostname,
- const TString& lb_id) const;
-
- // Returns null if hostname or lb_id is not found. The returned pointer points
- // to the underlying data structure, which is not owned by the caller.
- const std::set<PerBalancerStore*>* GetAssignedStores(const string& hostname,
- const string& lb_id);
-
- // If a PerBalancerStore can be found by the hostname and LB ID in
- // LoadRecordKey, the load data will be merged to that store. Otherwise,
- // only track the number of the in-progress calls for this unknown LB ID.
- void MergeRow(const TString& hostname, const LoadRecordKey& key,
- const LoadRecordValue& value);
-
- // Is the given lb_id a tracked unknown LB ID (i.e., the LB ID was associated
- // with some received load data but unknown to this load data store)?
- bool IsTrackedUnknownBalancerId(const TString& lb_id) const {
- return unknown_balancer_id_trackers_.find(lb_id) !=
- unknown_balancer_id_trackers_.end();
- }
-
- // Wrapper around PerHostStore::ReportStreamCreated.
- void ReportStreamCreated(const TString& hostname,
- const TString& lb_id,
- const TString& load_key);
-
- // Wrapper around PerHostStore::ReportStreamClosed.
- void ReportStreamClosed(const TString& hostname,
- const TString& lb_id);
-
- private:
- // Buffered data that was fetched from Census but hasn't been sent to
- // balancer. We need to keep this data ourselves because Census will
- // delete the data once it's returned.
- std::unordered_map<TString, PerHostStore> per_host_stores_;
-
- // Tracks the number of in-progress calls for each unknown LB ID.
- std::unordered_map<TString, uint64_t> unknown_balancer_id_trackers_;
-};
-
-} // namespace load_reporter
-} // namespace grpc
-
-#endif // GRPC_SRC_CPP_SERVER_LOAD_REPORTER_LOAD_DATA_STORE_H
diff --git a/contrib/libs/grpc/src/cpp/server/load_reporter/util.cc b/contrib/libs/grpc/src/cpp/server/load_reporter/util.cc
deleted file mode 100644
index 4b4e778a62..0000000000
--- a/contrib/libs/grpc/src/cpp/server/load_reporter/util.cc
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- *
- * Copyright 2018 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 <grpc/impl/codegen/port_platform.h>
-
-#include <cmath>
-
-#include <grpc/support/log.h>
-#include <grpcpp/ext/server_load_reporting.h>
-
-namespace grpc {
-namespace load_reporter {
-namespace experimental {
-
-void AddLoadReportingCost(grpc::ServerContext* ctx,
- const TString& cost_name, double cost_value) {
- if (std::isnormal(cost_value)) {
- TString buf;
- buf.resize(sizeof(cost_value) + cost_name.size());
- memcpy(&(*buf.begin()), &cost_value, sizeof(cost_value));
- memcpy(&(*buf.begin()) + sizeof(cost_value), cost_name.data(),
- cost_name.size());
- ctx->AddTrailingMetadata(GRPC_LB_COST_MD_KEY, buf);
- } else {
- gpr_log(GPR_ERROR, "Call metric value is not normal.");
- }
-}
-
-} // namespace experimental
-} // namespace load_reporter
-} // namespace grpc
diff --git a/contrib/libs/grpc/src/cpp/util/error_details.cc b/contrib/libs/grpc/src/cpp/util/error_details.cc
deleted file mode 100644
index 0330f012c2..0000000000
--- a/contrib/libs/grpc/src/cpp/util/error_details.cc
+++ /dev/null
@@ -1,19 +0,0 @@
-/*
- *
- * Copyright 2017 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 <grpcpp/support/error_details.h>
diff --git a/contrib/libs/grpc/tools/README.md b/contrib/libs/grpc/tools/README.md
deleted file mode 100644
index 3cef618179..0000000000
--- a/contrib/libs/grpc/tools/README.md
+++ /dev/null
@@ -1,23 +0,0 @@
-buildgen: Template renderer for our build system.
-
-distrib: Scripts to distribute language-specific packages and other distribution-related helper scripts.
-
-dockerfile: Docker files to test gRPC.
-
-doxygen: gRPC C/C++ documentation generation via Doxygen.
-
-gce: Scripts to help setup testing infrastructure on GCE.
-
-gcp: Helper scripts for interacting with various services on GCP (like Google
-container engine, BigQuery etc)
-
-internal_ci: Support for running tests on an internal CI platform.
-
-interop_matrix: Scripts to build, upload, and run gRPC clients in docker with various language/runtimes.
-
-jenkins: Support for running tests on Jenkins.
-
-run_tests: Scripts to run gRPC tests in parallel.
-
-run_tests/performance: See the [README](./run_tests/performance/README.md) for
-more notes on the performance tests.
diff --git a/contrib/libs/grpc/tools/codegen/core/gen_hpack_tables.cc b/contrib/libs/grpc/tools/codegen/core/gen_hpack_tables.cc
deleted file mode 100644
index d01a90eb78..0000000000
--- a/contrib/libs/grpc/tools/codegen/core/gen_hpack_tables.cc
+++ /dev/null
@@ -1,247 +0,0 @@
-/*
- *
- * 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.
- *
- */
-
-/* generates constant tables for hpack.cc */
-
-#include <assert.h>
-#include <stddef.h>
-#include <stdio.h>
-#include <string.h>
-
-#include <grpc/support/log.h>
-#include "src/core/ext/transport/chttp2/transport/huffsyms.h"
-
-/*
- * Huffman decoder table generation
- */
-
-#define MAXHUFFSTATES 1024
-
-/* represents a set of symbols as an array of booleans indicating inclusion */
-typedef struct { char included[GRPC_CHTTP2_NUM_HUFFSYMS]; } symset;
-/* represents a lookup table indexed by a nibble */
-typedef struct { unsigned values[16]; } nibblelut;
-
-#define NOT_SET (~(unsigned)0)
-
-/* returns a symset that includes all possible symbols */
-static symset symset_all(void) {
- symset x;
- memset(x.included, 1, sizeof(x.included));
- return x;
-}
-
-/* returns a symset that includes no symbols */
-static symset symset_none(void) {
- symset x;
- memset(x.included, 0, sizeof(x.included));
- return x;
-}
-
-/* returns an empty nibblelut */
-static nibblelut nibblelut_empty(void) {
- nibblelut x;
- int i;
- for (i = 0; i < 16; i++) {
- x.values[i] = NOT_SET;
- }
- return x;
-}
-
-/* counts symbols in a symset - only used for debug builds */
-#ifndef NDEBUG
-static int nsyms(symset s) {
- int i;
- int c = 0;
- for (i = 0; i < GRPC_CHTTP2_NUM_HUFFSYMS; i++) {
- c += s.included[i] != 0;
- }
- return c;
-}
-#endif
-
-/* global table of discovered huffman decoding states */
-static struct {
- /* the bit offset that this state starts at */
- unsigned bitofs;
- /* the set of symbols that this state started with */
- symset syms;
-
- /* lookup table for the next state */
- nibblelut next;
- /* lookup table for what to emit */
- nibblelut emit;
-} huffstates[MAXHUFFSTATES];
-static unsigned nhuffstates = 0;
-
-/* given a number of decoded bits and a set of symbols that are live,
- return the index into the decoder table for this state.
- set isnew to 1 if this state was previously undiscovered */
-static unsigned state_index(unsigned bitofs, symset syms, unsigned *isnew) {
- unsigned i;
- for (i = 0; i < nhuffstates; i++) {
- if (huffstates[i].bitofs != bitofs) continue;
- if (0 != memcmp(huffstates[i].syms.included, syms.included,
- GRPC_CHTTP2_NUM_HUFFSYMS))
- continue;
- *isnew = 0;
- return i;
- }
- GPR_ASSERT(nhuffstates != MAXHUFFSTATES);
-
- i = nhuffstates;
- nhuffstates++;
-
- huffstates[i].bitofs = bitofs;
- huffstates[i].syms = syms;
- huffstates[i].next = nibblelut_empty();
- huffstates[i].emit = nibblelut_empty();
- *isnew = 1;
- return i;
-}
-
-/* recursively build a decoding table
-
- state - the huffman state that we are trying to fill in
- nibble - the current nibble
- nibbits - the number of bits in the nibble that have been filled in
- bitofs - the number of bits of symbol that have been decoded
- emit - the symbol to emit on this nibble (or -1 if no symbol has been
- found)
- syms - the set of symbols that could be matched */
-static void build_dec_tbl(unsigned state, unsigned nibble, int nibbits,
- unsigned bitofs, unsigned emit, symset syms) {
- unsigned i;
- unsigned bit;
-
- /* If we have four bits in the nibble we're looking at, then we can fill in
- a slot in the lookup tables. */
- if (nibbits == 4) {
- unsigned isnew;
- /* Find the state that we are in: this may be a new state, in which case
- we recurse to fill it in, or we may have already seen this state, in
- which case the recursion terminates */
- unsigned st = state_index(bitofs, syms, &isnew);
- GPR_ASSERT(huffstates[state].next.values[nibble] == NOT_SET);
- huffstates[state].next.values[nibble] = st;
- huffstates[state].emit.values[nibble] = emit;
- if (isnew) {
- build_dec_tbl(st, 0, 0, bitofs, NOT_SET, syms);
- }
- return;
- }
-
- assert(nsyms(syms));
-
- /* A bit can be 0 or 1 */
- for (bit = 0; bit < 2; bit++) {
- /* walk over active symbols and see if they have this bit set */
- symset nextsyms = symset_none();
- for (i = 0; i < GRPC_CHTTP2_NUM_HUFFSYMS; i++) {
- if (!syms.included[i]) continue; /* disregard inactive symbols */
- if (((grpc_chttp2_huffsyms[i].bits >>
- (grpc_chttp2_huffsyms[i].length - bitofs - 1)) &
- 1) == bit) {
- /* the bit is set, include it in the next recursive set */
- if (grpc_chttp2_huffsyms[i].length == bitofs + 1) {
- /* additionally, we've gotten to the end of a symbol - this is a
- special recursion step: re-activate all the symbols, reset
- bitofs to zero, and recurse */
- build_dec_tbl(state, (nibble << 1) | bit, nibbits + 1, 0, i,
- symset_all());
- /* skip the remainder of this loop */
- goto next;
- }
- nextsyms.included[i] = 1;
- }
- }
- /* recurse down for this bit */
- build_dec_tbl(state, (nibble << 1) | bit, nibbits + 1, bitofs + 1, emit,
- nextsyms);
- next:;
- }
-}
-
-static nibblelut ctbl[MAXHUFFSTATES];
-static int nctbl;
-
-static int ctbl_idx(nibblelut x) {
- int i;
- for (i = 0; i < nctbl; i++) {
- if (0 == memcmp(&x, ctbl + i, sizeof(nibblelut))) return i;
- }
- ctbl[i] = x;
- nctbl++;
- return i;
-}
-
-static void dump_ctbl(const char *name) {
- int i, j;
- printf("static const gpr_int16 %s[%d*16] = {\n", name, nctbl);
- for (i = 0; i < nctbl; i++) {
- for (j = 0; j < 16; j++) {
- printf("%d,", ctbl[i].values[j]);
- }
- printf("\n");
- }
- printf("};\n");
-}
-
-static void generate_huff_tables(void) {
- unsigned i;
- build_dec_tbl(state_index(0, symset_all(), &i), 0, 0, 0, NOT_SET,
- symset_all());
-
- nctbl = 0;
- printf("static const gpr_uint8 next_tbl[%d] = {", nhuffstates);
- for (i = 0; i < nhuffstates; i++) {
- printf("%d,", ctbl_idx(huffstates[i].next));
- }
- printf("};\n");
- dump_ctbl("next_sub_tbl");
-
- nctbl = 0;
- printf("static const gpr_uint16 emit_tbl[%d] = {", nhuffstates);
- for (i = 0; i < nhuffstates; i++) {
- printf("%d,", ctbl_idx(huffstates[i].emit));
- }
- printf("};\n");
- dump_ctbl("emit_sub_tbl");
-}
-
-static void generate_base64_huff_encoder_table(void) {
- static const char alphabet[] =
- "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
- int i;
-
- printf(
- "static const struct { gpr_uint16 bits, gpr_uint8 length } "
- "base64_syms[64] = {\n");
- for (i = 0; i < 64; i++) {
- printf("{0x%x, %d},", grpc_chttp2_huffsyms[(unsigned char)alphabet[i]].bits,
- grpc_chttp2_huffsyms[(unsigned char)alphabet[i]].length);
- }
- printf("};\n");
-}
-
-int main(void) {
- generate_huff_tables();
- generate_base64_huff_encoder_table();
-
- return 0;
-}