grpc 1.64.3 → 1.65.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/Makefile +57 -58
- data/include/grpc/event_engine/event_engine.h +13 -6
- data/include/grpc/impl/channel_arg_names.h +7 -3
- data/include/grpc/module.modulemap +1 -0
- data/include/grpc/passive_listener.h +62 -0
- data/include/grpc/support/log.h +7 -17
- data/include/grpc/support/port_platform.h +3 -0
- data/src/core/channelz/channel_trace.cc +1 -1
- data/src/core/channelz/channel_trace.h +1 -1
- data/src/core/channelz/channelz.cc +3 -3
- data/src/core/channelz/channelz.h +7 -7
- data/src/core/channelz/channelz_registry.cc +4 -3
- data/src/core/client_channel/backup_poller.cc +4 -5
- data/src/core/client_channel/client_channel.cc +1324 -0
- data/src/core/client_channel/client_channel.h +243 -0
- data/src/core/client_channel/client_channel_filter.cc +266 -709
- data/src/core/client_channel/client_channel_filter.h +11 -64
- data/src/core/client_channel/client_channel_internal.h +16 -5
- data/src/core/client_channel/client_channel_plugin.cc +1 -14
- data/src/core/client_channel/client_channel_service_config.h +3 -3
- data/src/core/client_channel/config_selector.cc +1 -1
- data/src/core/client_channel/config_selector.h +1 -1
- data/src/core/client_channel/dynamic_filters.cc +3 -3
- data/src/core/client_channel/dynamic_filters.h +1 -3
- data/src/core/client_channel/load_balanced_call_destination.cc +336 -0
- data/src/core/client_channel/load_balanced_call_destination.h +49 -0
- data/src/core/client_channel/retry_filter.cc +2 -9
- data/src/core/client_channel/retry_filter.h +2 -7
- data/src/core/client_channel/retry_filter_legacy_call_data.cc +65 -72
- data/src/core/client_channel/retry_filter_legacy_call_data.h +0 -2
- data/src/core/client_channel/retry_service_config.cc +4 -5
- data/src/core/client_channel/retry_service_config.h +3 -3
- data/src/core/client_channel/subchannel.cc +220 -112
- data/src/core/client_channel/subchannel.h +31 -18
- data/src/core/client_channel/subchannel_pool_interface.cc +0 -2
- data/src/core/client_channel/subchannel_pool_interface.h +2 -4
- data/src/core/client_channel/subchannel_stream_client.cc +36 -49
- data/src/core/client_channel/subchannel_stream_client.h +2 -4
- data/src/core/ext/filters/backend_metrics/backend_metric_filter.cc +7 -10
- data/src/core/ext/filters/backend_metrics/backend_metric_filter.h +1 -0
- data/src/core/ext/filters/backend_metrics/backend_metric_provider.h +7 -0
- data/src/core/ext/filters/census/grpc_context.cc +2 -4
- data/src/core/ext/filters/channel_idle/legacy_channel_idle_filter.cc +8 -15
- data/src/core/ext/filters/channel_idle/legacy_channel_idle_filter.h +2 -0
- data/src/core/ext/filters/fault_injection/fault_injection_filter.cc +3 -7
- data/src/core/ext/filters/fault_injection/fault_injection_filter.h +1 -0
- data/src/core/ext/filters/fault_injection/fault_injection_service_config_parser.h +3 -3
- data/src/core/ext/filters/http/client/http_client_filter.cc +1 -0
- data/src/core/ext/filters/http/client/http_client_filter.h +1 -0
- data/src/core/ext/filters/http/client_authority_filter.cc +1 -0
- data/src/core/ext/filters/http/client_authority_filter.h +1 -0
- data/src/core/ext/filters/http/message_compress/compression_filter.cc +10 -15
- data/src/core/ext/filters/http/message_compress/compression_filter.h +2 -0
- data/src/core/ext/filters/http/server/http_server_filter.cc +2 -2
- data/src/core/ext/filters/http/server/http_server_filter.h +1 -0
- data/src/core/ext/filters/message_size/message_size_filter.cc +6 -9
- data/src/core/ext/filters/message_size/message_size_filter.h +6 -6
- data/src/core/ext/filters/rbac/rbac_filter.cc +2 -5
- data/src/core/ext/filters/rbac/rbac_filter.h +1 -0
- data/src/core/ext/filters/rbac/rbac_service_config_parser.cc +2 -2
- data/src/core/ext/filters/rbac/rbac_service_config_parser.h +1 -1
- data/src/core/ext/filters/stateful_session/stateful_session_filter.cc +2 -6
- data/src/core/ext/filters/stateful_session/stateful_session_filter.h +1 -0
- data/src/core/ext/filters/stateful_session/stateful_session_service_config_parser.h +3 -3
- data/src/core/ext/transport/chttp2/alpn/alpn.cc +1 -1
- data/src/core/ext/transport/chttp2/client/chttp2_connector.cc +8 -25
- data/src/core/ext/transport/chttp2/client/chttp2_connector.h +0 -5
- data/src/core/ext/transport/chttp2/server/chttp2_server.cc +223 -148
- data/src/core/ext/transport/chttp2/server/chttp2_server.h +33 -0
- data/src/core/ext/transport/chttp2/transport/chttp2_transport.cc +131 -107
- data/src/core/ext/transport/chttp2/transport/chttp2_transport.h +8 -8
- data/src/core/ext/transport/chttp2/transport/context_list_entry.h +1 -1
- data/src/core/ext/transport/chttp2/transport/flow_control.cc +2 -4
- data/src/core/ext/transport/chttp2/transport/flow_control.h +0 -2
- data/src/core/ext/transport/chttp2/transport/frame_ping.cc +4 -6
- data/src/core/ext/transport/chttp2/transport/frame_rst_stream.cc +1 -2
- data/src/core/ext/transport/chttp2/transport/frame_settings.cc +9 -5
- data/src/core/ext/transport/chttp2/transport/hpack_encoder.cc +5 -4
- data/src/core/ext/transport/chttp2/transport/hpack_encoder.h +9 -2
- data/src/core/ext/transport/chttp2/transport/hpack_parser.cc +32 -43
- data/src/core/ext/transport/chttp2/transport/hpack_parser.h +1 -3
- data/src/core/ext/transport/chttp2/transport/hpack_parser_table.cc +3 -8
- data/src/core/ext/transport/chttp2/transport/http2_settings.cc +1 -1
- data/src/core/ext/transport/chttp2/transport/http2_settings.h +1 -1
- data/src/core/ext/transport/chttp2/transport/internal.h +29 -19
- data/src/core/ext/transport/chttp2/transport/parsing.cc +15 -25
- data/src/core/ext/transport/chttp2/transport/ping_callbacks.cc +0 -2
- data/src/core/ext/transport/chttp2/transport/ping_callbacks.h +0 -2
- data/src/core/ext/transport/chttp2/transport/ping_rate_policy.cc +29 -13
- data/src/core/ext/transport/chttp2/transport/ping_rate_policy.h +5 -4
- data/src/core/ext/transport/chttp2/transport/stream_lists.cc +3 -5
- data/src/core/ext/transport/chttp2/transport/writing.cc +24 -25
- data/src/core/ext/transport/inproc/inproc_transport.cc +56 -32
- data/src/core/ext/transport/inproc/inproc_transport.h +1 -3
- data/src/core/ext/transport/inproc/legacy_inproc_transport.cc +13 -15
- data/src/core/ext/transport/inproc/legacy_inproc_transport.h +0 -2
- data/src/core/handshaker/handshaker.cc +6 -14
- data/src/core/handshaker/http_connect/http_connect_handshaker.cc +9 -17
- data/src/core/handshaker/http_connect/http_proxy_mapper.cc +3 -2
- data/src/core/handshaker/security/secure_endpoint.cc +38 -32
- data/src/core/handshaker/security/secure_endpoint.h +0 -2
- data/src/core/handshaker/security/security_handshaker.cc +25 -37
- data/src/core/handshaker/tcp_connect/tcp_connect_handshaker.cc +2 -1
- data/src/core/lib/address_utils/parse_address.cc +27 -39
- data/src/core/lib/address_utils/sockaddr_utils.cc +5 -6
- data/src/core/lib/avl/avl.h +1 -1
- data/src/core/lib/channel/channel_args.cc +13 -17
- data/src/core/lib/channel/channel_args.h +19 -8
- data/src/core/lib/channel/channel_stack.cc +5 -63
- data/src/core/lib/channel/channel_stack.h +13 -37
- data/src/core/lib/channel/channel_stack_builder.h +0 -5
- data/src/core/lib/channel/channel_stack_builder_impl.cc +0 -142
- data/src/core/lib/channel/channel_stack_builder_impl.h +0 -2
- data/src/core/lib/channel/connected_channel.cc +37 -676
- data/src/core/lib/channel/promise_based_filter.cc +41 -47
- data/src/core/lib/channel/promise_based_filter.h +124 -477
- data/src/core/lib/channel/status_util.cc +1 -1
- data/src/core/lib/compression/compression.cc +1 -1
- data/src/core/lib/compression/message_compress.cc +6 -6
- data/src/core/lib/config/config_vars.cc +3 -8
- data/src/core/lib/config/config_vars.h +1 -5
- data/src/core/lib/debug/event_log.h +1 -1
- data/src/core/lib/debug/trace.cc +43 -59
- data/src/core/lib/debug/trace.h +2 -97
- data/src/core/lib/debug/trace_flags.cc +255 -0
- data/src/core/lib/debug/trace_flags.h +133 -0
- data/src/core/lib/debug/trace_impl.h +115 -0
- data/src/core/lib/event_engine/ares_resolver.cc +5 -7
- data/src/core/lib/event_engine/ares_resolver.h +1 -3
- data/src/core/lib/event_engine/cf_engine/cf_engine.cc +1 -1
- data/src/core/lib/event_engine/cf_engine/dns_service_resolver.cc +17 -22
- data/src/core/lib/event_engine/event_engine.cc +29 -4
- data/src/core/lib/event_engine/extensions/supports_fd.h +7 -0
- data/src/core/lib/event_engine/extensions/tcp_trace.h +43 -0
- data/src/core/lib/event_engine/forkable.cc +4 -5
- data/src/core/lib/event_engine/forkable.h +0 -11
- data/src/core/lib/event_engine/posix_engine/ev_epoll1_linux.cc +10 -11
- data/src/core/lib/event_engine/posix_engine/internal_errqueue.cc +4 -3
- data/src/core/lib/event_engine/posix_engine/native_posix_dns_resolver.cc +1 -1
- data/src/core/lib/event_engine/posix_engine/posix_endpoint.cc +19 -33
- data/src/core/lib/event_engine/posix_engine/posix_endpoint.h +3 -2
- data/src/core/lib/event_engine/posix_engine/posix_engine.cc +24 -7
- data/src/core/lib/event_engine/posix_engine/posix_engine.h +2 -0
- data/src/core/lib/event_engine/posix_engine/posix_engine_listener.cc +14 -16
- data/src/core/lib/event_engine/posix_engine/posix_engine_listener_utils.cc +18 -22
- data/src/core/lib/event_engine/posix_engine/tcp_socket_utils.cc +13 -17
- data/src/core/lib/event_engine/posix_engine/timer.cc +1 -1
- data/src/core/lib/event_engine/posix_engine/timer_manager.cc +4 -6
- data/src/core/lib/event_engine/posix_engine/traced_buffer_list.cc +2 -1
- data/src/core/lib/event_engine/shim.cc +1 -1
- data/src/core/lib/event_engine/tcp_socket_utils.cc +6 -8
- data/src/core/lib/event_engine/thread_local.h +1 -1
- data/src/core/lib/event_engine/thread_pool/thread_count.h +1 -1
- data/src/core/lib/event_engine/thread_pool/work_stealing_thread_pool.cc +19 -21
- data/src/core/lib/event_engine/thread_pool/work_stealing_thread_pool.h +3 -6
- data/src/core/lib/event_engine/thready_event_engine/thready_event_engine.cc +14 -13
- data/src/core/lib/event_engine/thready_event_engine/thready_event_engine.h +4 -3
- data/src/core/lib/event_engine/trace.h +6 -17
- data/src/core/lib/event_engine/windows/iocp.h +1 -1
- data/src/core/lib/event_engine/windows/win_socket.cc +23 -17
- data/src/core/lib/event_engine/windows/win_socket.h +4 -5
- data/src/core/lib/event_engine/windows/windows_endpoint.cc +6 -9
- data/src/core/lib/event_engine/windows/windows_engine.cc +201 -87
- data/src/core/lib/event_engine/windows/windows_engine.h +136 -25
- data/src/core/lib/event_engine/windows/windows_listener.cc +12 -23
- data/src/core/lib/experiments/experiments.cc +35 -151
- data/src/core/lib/experiments/experiments.h +12 -45
- data/src/core/lib/gprpp/bitset.h +1 -1
- data/src/core/lib/gprpp/crash.cc +2 -3
- data/src/core/lib/gprpp/dual_ref_counted.h +45 -33
- data/src/core/lib/gprpp/dump_args.cc +54 -0
- data/src/core/lib/gprpp/dump_args.h +69 -0
- data/src/core/lib/gprpp/glob.cc +70 -0
- data/src/core/lib/gprpp/glob.h +29 -0
- data/src/core/lib/gprpp/per_cpu.cc +1 -1
- data/src/core/lib/gprpp/posix/stat.cc +3 -4
- data/src/core/lib/gprpp/posix/thd.cc +8 -9
- data/src/core/lib/gprpp/ref_counted.h +30 -22
- data/src/core/lib/gprpp/single_set_ptr.h +5 -3
- data/src/core/lib/gprpp/status_helper.cc +11 -30
- data/src/core/lib/gprpp/status_helper.h +3 -31
- data/src/core/lib/gprpp/time.cc +3 -4
- data/src/core/lib/gprpp/time.h +3 -2
- data/src/core/lib/gprpp/unique_type_name.h +1 -1
- data/src/core/lib/gprpp/validation_errors.cc +10 -1
- data/src/core/lib/gprpp/validation_errors.h +11 -0
- data/src/core/lib/gprpp/windows/stat.cc +3 -4
- data/src/core/lib/gprpp/windows/thd.cc +3 -2
- data/src/core/lib/gprpp/work_serializer.cc +48 -57
- data/src/core/lib/iomgr/buffer_list.cc +4 -2
- data/src/core/lib/iomgr/call_combiner.cc +18 -27
- data/src/core/lib/iomgr/call_combiner.h +1 -3
- data/src/core/lib/iomgr/cfstream_handle.cc +4 -6
- data/src/core/lib/iomgr/closure.h +2 -4
- data/src/core/lib/iomgr/combiner.cc +6 -8
- data/src/core/lib/iomgr/combiner.h +0 -2
- data/src/core/lib/iomgr/endpoint.cc +0 -6
- data/src/core/lib/iomgr/endpoint.h +0 -2
- data/src/core/lib/iomgr/endpoint_cfstream.cc +19 -41
- data/src/core/lib/iomgr/endpoint_pair_posix.cc +1 -1
- data/src/core/lib/iomgr/endpoint_pair_windows.cc +5 -6
- data/src/core/lib/iomgr/error.cc +13 -21
- data/src/core/lib/iomgr/error.h +1 -1
- data/src/core/lib/iomgr/ev_apple.cc +3 -5
- data/src/core/lib/iomgr/ev_epoll1_linux.cc +43 -42
- data/src/core/lib/iomgr/ev_poll_posix.cc +38 -29
- data/src/core/lib/iomgr/ev_posix.cc +8 -9
- data/src/core/lib/iomgr/ev_posix.h +10 -7
- data/src/core/lib/iomgr/event_engine_shims/closure.cc +2 -2
- data/src/core/lib/iomgr/event_engine_shims/endpoint.cc +14 -28
- data/src/core/lib/iomgr/exec_ctx.cc +2 -2
- data/src/core/lib/iomgr/exec_ctx.h +1 -1
- data/src/core/lib/iomgr/executor.cc +6 -15
- data/src/core/lib/iomgr/executor.h +1 -1
- data/src/core/lib/iomgr/fork_posix.cc +8 -10
- data/src/core/lib/iomgr/fork_windows.cc +3 -1
- data/src/core/lib/iomgr/grpc_if_nametoindex_posix.cc +2 -3
- data/src/core/lib/iomgr/grpc_if_nametoindex_unsupported.cc +3 -5
- data/src/core/lib/iomgr/internal_errqueue.cc +4 -2
- data/src/core/lib/iomgr/iocp_windows.cc +4 -3
- data/src/core/lib/iomgr/iomgr.cc +13 -17
- data/src/core/lib/iomgr/lockfree_event.cc +3 -5
- data/src/core/lib/iomgr/pollset.h +0 -2
- data/src/core/lib/iomgr/pollset_windows.cc +0 -2
- data/src/core/lib/iomgr/resolve_address_posix.cc +7 -14
- data/src/core/lib/iomgr/resolve_address_windows.cc +1 -1
- data/src/core/lib/iomgr/socket_factory_posix.cc +1 -1
- data/src/core/lib/iomgr/socket_mutator.cc +1 -1
- data/src/core/lib/iomgr/socket_utils_common_posix.cc +11 -17
- data/src/core/lib/iomgr/socket_windows.cc +4 -6
- data/src/core/lib/iomgr/tcp_client_cfstream.cc +3 -5
- data/src/core/lib/iomgr/tcp_client_posix.cc +9 -15
- data/src/core/lib/iomgr/tcp_client_windows.cc +2 -4
- data/src/core/lib/iomgr/tcp_posix.cc +57 -84
- data/src/core/lib/iomgr/tcp_posix.h +0 -2
- data/src/core/lib/iomgr/tcp_server_posix.cc +3 -3
- data/src/core/lib/iomgr/tcp_server_utils_posix_common.cc +4 -6
- data/src/core/lib/iomgr/tcp_server_utils_posix_ifaddrs.cc +7 -7
- data/src/core/lib/iomgr/tcp_server_windows.cc +10 -16
- data/src/core/lib/iomgr/tcp_windows.cc +25 -41
- data/src/core/lib/iomgr/timer_generic.cc +17 -20
- data/src/core/lib/iomgr/timer_heap.cc +1 -1
- data/src/core/lib/iomgr/timer_manager.cc +17 -30
- data/src/core/lib/iomgr/unix_sockets_posix.cc +1 -1
- data/src/core/lib/iomgr/vsock.cc +1 -1
- data/src/core/lib/iomgr/wakeup_fd_pipe.cc +3 -3
- data/src/core/lib/promise/activity.h +27 -4
- data/src/core/lib/promise/cancel_callback.h +24 -0
- data/src/core/lib/promise/context.h +11 -0
- data/src/core/lib/promise/detail/basic_seq.h +1 -2
- data/src/core/lib/promise/detail/join_state.h +354 -398
- data/src/core/lib/promise/detail/promise_like.h +6 -5
- data/src/core/lib/promise/detail/seq_state.h +1178 -1178
- data/src/core/lib/promise/for_each.h +6 -6
- data/src/core/lib/promise/interceptor_list.h +6 -7
- data/src/core/lib/promise/latch.h +9 -9
- data/src/core/lib/promise/map.h +17 -0
- data/src/core/lib/promise/observable.h +182 -0
- data/src/core/lib/promise/party.cc +7 -8
- data/src/core/lib/promise/party.h +10 -8
- data/src/core/lib/promise/pipe.h +16 -35
- data/src/core/lib/promise/promise.h +1 -0
- data/src/core/lib/promise/status_flag.h +2 -0
- data/src/core/lib/resource_quota/arena.cc +56 -79
- data/src/core/lib/resource_quota/arena.h +118 -209
- data/src/core/lib/resource_quota/memory_quota.cc +12 -13
- data/src/core/lib/resource_quota/memory_quota.h +2 -3
- data/src/core/lib/resource_quota/periodic_update.cc +1 -1
- data/src/core/lib/resource_quota/resource_quota.h +1 -1
- data/src/core/lib/security/authorization/authorization_policy_provider.h +1 -1
- data/src/core/lib/security/authorization/authorization_policy_provider_vtable.cc +1 -1
- data/src/core/lib/security/authorization/evaluate_args.cc +6 -8
- data/src/core/lib/security/authorization/grpc_server_authz_filter.cc +5 -6
- data/src/core/lib/security/authorization/grpc_server_authz_filter.h +1 -0
- data/src/core/lib/security/authorization/matchers.cc +3 -3
- data/src/core/lib/security/certificate_provider/certificate_provider_factory.h +2 -2
- data/src/core/lib/security/certificate_provider/certificate_provider_registry.cc +2 -3
- data/src/core/lib/security/context/security_context.cc +12 -13
- data/src/core/lib/security/context/security_context.h +31 -8
- data/src/core/lib/security/credentials/alts/alts_credentials.h +1 -1
- data/src/core/lib/security/credentials/alts/check_gcp_environment.cc +3 -1
- data/src/core/lib/security/credentials/alts/check_gcp_environment_no_op.cc +2 -3
- data/src/core/lib/security/credentials/alts/grpc_alts_credentials_client_options.cc +5 -5
- data/src/core/lib/security/credentials/alts/grpc_alts_credentials_options.cc +3 -3
- data/src/core/lib/security/credentials/call_creds_util.cc +2 -1
- data/src/core/lib/security/credentials/channel_creds_registry.h +2 -2
- data/src/core/lib/security/credentials/channel_creds_registry_init.cc +5 -3
- data/src/core/lib/security/credentials/composite/composite_credentials.h +1 -1
- data/src/core/lib/security/credentials/credentials.cc +6 -6
- data/src/core/lib/security/credentials/external/aws_external_account_credentials.cc +4 -4
- data/src/core/lib/security/credentials/external/aws_external_account_credentials.h +2 -2
- data/src/core/lib/security/credentials/external/external_account_credentials.cc +9 -11
- data/src/core/lib/security/credentials/external/external_account_credentials.h +3 -3
- data/src/core/lib/security/credentials/external/file_external_account_credentials.cc +2 -2
- data/src/core/lib/security/credentials/external/url_external_account_credentials.cc +4 -4
- data/src/core/lib/security/credentials/external/url_external_account_credentials.h +1 -1
- data/src/core/lib/security/credentials/fake/fake_credentials.h +1 -1
- data/src/core/lib/security/credentials/google_default/credentials_generic.cc +3 -3
- data/src/core/lib/security/credentials/google_default/google_default_credentials.cc +11 -11
- data/src/core/lib/security/credentials/google_default/google_default_credentials.h +1 -1
- data/src/core/lib/security/credentials/iam/iam_credentials.h +1 -1
- data/src/core/lib/security/credentials/jwt/json_token.cc +14 -15
- data/src/core/lib/security/credentials/jwt/json_token.h +1 -1
- data/src/core/lib/security/credentials/jwt/jwt_credentials.cc +6 -5
- data/src/core/lib/security/credentials/jwt/jwt_credentials.h +1 -1
- data/src/core/lib/security/credentials/jwt/jwt_verifier.cc +50 -54
- data/src/core/lib/security/credentials/jwt/jwt_verifier.h +1 -1
- data/src/core/lib/security/credentials/local/local_credentials.h +1 -1
- data/src/core/lib/security/credentials/oauth2/oauth2_credentials.cc +12 -11
- data/src/core/lib/security/credentials/oauth2/oauth2_credentials.h +4 -4
- data/src/core/lib/security/credentials/plugin/plugin_credentials.cc +6 -7
- data/src/core/lib/security/credentials/plugin/plugin_credentials.h +1 -3
- data/src/core/lib/security/credentials/ssl/ssl_credentials.cc +15 -21
- data/src/core/lib/security/credentials/ssl/ssl_credentials.h +1 -1
- data/src/core/lib/security/credentials/tls/grpc_tls_certificate_provider.cc +21 -30
- data/src/core/lib/security/credentials/tls/grpc_tls_certificate_provider.h +1 -1
- data/src/core/lib/security/credentials/tls/grpc_tls_certificate_verifier.h +1 -1
- data/src/core/lib/security/credentials/tls/grpc_tls_credentials_options.cc +4 -4
- data/src/core/lib/security/credentials/tls/grpc_tls_crl_provider.cc +3 -5
- data/src/core/lib/security/credentials/tls/tls_credentials.cc +14 -16
- data/src/core/lib/security/credentials/tls/tls_utils.cc +4 -4
- data/src/core/lib/security/credentials/xds/xds_credentials.cc +1 -1
- data/src/core/lib/security/security_connector/alts/alts_security_connector.cc +13 -16
- data/src/core/lib/security/security_connector/fake/fake_security_connector.cc +15 -12
- data/src/core/lib/security/security_connector/load_system_roots_supported.cc +6 -6
- data/src/core/lib/security/security_connector/load_system_roots_windows.cc +1 -1
- data/src/core/lib/security/security_connector/local/local_security_connector.cc +8 -12
- data/src/core/lib/security/security_connector/security_connector.cc +1 -4
- data/src/core/lib/security/security_connector/security_connector.h +1 -3
- data/src/core/lib/security/security_connector/ssl/ssl_security_connector.cc +17 -19
- data/src/core/lib/security/security_connector/ssl_utils.cc +19 -21
- data/src/core/lib/security/security_connector/tls/tls_security_connector.cc +29 -40
- data/src/core/lib/security/transport/auth_filters.h +1 -0
- data/src/core/lib/security/transport/client_auth_filter.cc +7 -13
- data/src/core/lib/security/transport/server_auth_filter.cc +3 -8
- data/src/core/lib/security/util/json_util.h +1 -1
- data/src/core/lib/slice/slice.h +1 -1
- data/src/core/lib/slice/slice_refcount.h +2 -4
- data/src/core/lib/slice/slice_string_helpers.cc +1 -1
- data/src/core/lib/surface/api_trace.h +1 -3
- data/src/core/lib/surface/call.cc +64 -3738
- data/src/core/lib/surface/call.h +41 -143
- data/src/core/lib/surface/call_log_batch.cc +1 -1
- data/src/core/lib/surface/call_utils.cc +276 -0
- data/src/core/lib/surface/call_utils.h +449 -0
- data/src/core/lib/surface/channel.cc +8 -3
- data/src/core/lib/surface/channel.h +10 -7
- data/src/core/lib/surface/channel_create.cc +14 -6
- data/src/core/lib/surface/channel_create.h +3 -2
- data/src/core/lib/surface/channel_init.cc +21 -77
- data/src/core/lib/surface/channel_init.h +19 -97
- data/src/core/lib/surface/client_call.cc +419 -0
- data/src/core/lib/surface/client_call.h +180 -0
- data/src/core/lib/surface/completion_queue.cc +28 -33
- data/src/core/lib/surface/completion_queue.h +0 -8
- data/src/core/lib/surface/filter_stack_call.cc +1157 -0
- data/src/core/lib/surface/filter_stack_call.h +369 -0
- data/src/core/lib/surface/init.cc +7 -6
- data/src/core/lib/surface/lame_client.cc +1 -1
- data/src/core/lib/surface/legacy_channel.cc +40 -27
- data/src/core/lib/surface/legacy_channel.h +9 -18
- data/src/core/lib/surface/server_call.cc +222 -0
- data/src/core/lib/surface/server_call.h +167 -0
- data/src/core/lib/surface/version.cc +2 -2
- data/src/core/lib/transport/bdp_estimator.cc +3 -5
- data/src/core/lib/transport/bdp_estimator.h +2 -4
- data/src/core/lib/transport/call_arena_allocator.h +9 -7
- data/src/core/lib/transport/call_destination.h +76 -0
- data/src/core/lib/transport/call_filters.cc +28 -10
- data/src/core/lib/transport/call_filters.h +128 -22
- data/src/core/lib/transport/call_spine.cc +5 -6
- data/src/core/lib/transport/call_spine.h +159 -334
- data/src/core/lib/transport/connectivity_state.cc +8 -10
- data/src/core/lib/transport/connectivity_state.h +0 -2
- data/src/core/lib/transport/interception_chain.cc +155 -0
- data/src/core/lib/transport/interception_chain.h +236 -0
- data/src/core/lib/transport/metadata_batch.h +10 -1
- data/src/core/lib/transport/metadata_info.h +1 -1
- data/src/core/lib/transport/transport.cc +3 -6
- data/src/core/lib/transport/transport.h +43 -40
- data/src/core/load_balancing/child_policy_handler.cc +8 -8
- data/src/core/load_balancing/endpoint_list.cc +5 -5
- data/src/core/load_balancing/endpoint_list.h +1 -1
- data/src/core/load_balancing/grpclb/client_load_reporting_filter.cc +1 -0
- data/src/core/load_balancing/grpclb/client_load_reporting_filter.h +1 -0
- data/src/core/load_balancing/grpclb/grpclb.cc +25 -29
- data/src/core/load_balancing/grpclb/grpclb_balancer_addresses.cc +1 -1
- data/src/core/load_balancing/grpclb/load_balancer_api.cc +3 -4
- data/src/core/load_balancing/health_check_client.cc +10 -13
- data/src/core/load_balancing/lb_policy.cc +5 -8
- data/src/core/load_balancing/lb_policy.h +19 -3
- data/src/core/load_balancing/lb_policy_factory.h +1 -1
- data/src/core/load_balancing/lb_policy_registry.cc +2 -3
- data/src/core/load_balancing/lb_policy_registry.h +1 -1
- data/src/core/load_balancing/oob_backend_metric.cc +2 -4
- data/src/core/load_balancing/outlier_detection/outlier_detection.cc +33 -35
- data/src/core/load_balancing/outlier_detection/outlier_detection.h +3 -3
- data/src/core/load_balancing/pick_first/pick_first.cc +65 -65
- data/src/core/load_balancing/priority/priority.cc +26 -28
- data/src/core/load_balancing/ring_hash/ring_hash.cc +11 -13
- data/src/core/load_balancing/ring_hash/ring_hash.h +3 -3
- data/src/core/load_balancing/rls/rls.cc +82 -82
- data/src/core/load_balancing/round_robin/round_robin.cc +17 -20
- data/src/core/load_balancing/weighted_round_robin/weighted_round_robin.cc +54 -43
- data/src/core/load_balancing/weighted_target/weighted_target.cc +21 -24
- data/src/core/load_balancing/xds/cds.cc +14 -16
- data/src/core/load_balancing/xds/xds_cluster_impl.cc +16 -18
- data/src/core/load_balancing/xds/xds_cluster_manager.cc +15 -17
- data/src/core/load_balancing/xds/xds_override_host.cc +40 -41
- data/src/core/load_balancing/xds/xds_override_host.h +3 -3
- data/src/core/load_balancing/xds/xds_wrr_locality.cc +10 -12
- data/src/core/plugin_registry/grpc_plugin_registry.cc +5 -1
- data/src/core/resolver/binder/binder_resolver.cc +3 -2
- data/src/core/resolver/dns/c_ares/dns_resolver_ares.cc +3 -2
- data/src/core/resolver/dns/c_ares/grpc_ares_ev_driver_windows.cc +1 -1
- data/src/core/resolver/dns/c_ares/grpc_ares_wrapper.cc +7 -14
- data/src/core/resolver/dns/c_ares/grpc_ares_wrapper.h +1 -5
- data/src/core/resolver/dns/c_ares/grpc_ares_wrapper_windows.cc +1 -1
- data/src/core/resolver/dns/dns_resolver_plugin.cc +6 -5
- data/src/core/resolver/dns/event_engine/event_engine_client_channel_resolver.cc +4 -9
- data/src/core/resolver/dns/event_engine/service_config_helper.cc +5 -5
- data/src/core/resolver/dns/native/dns_resolver.cc +8 -9
- data/src/core/resolver/endpoint_addresses.cc +1 -1
- data/src/core/resolver/fake/fake_resolver.cc +1 -1
- data/src/core/resolver/fake/fake_resolver.h +1 -1
- data/src/core/resolver/google_c2p/google_c2p_resolver.cc +13 -14
- data/src/core/resolver/polling_resolver.cc +30 -35
- data/src/core/resolver/resolver.cc +2 -6
- data/src/core/resolver/resolver.h +0 -2
- data/src/core/resolver/resolver_registry.cc +6 -8
- data/src/core/resolver/sockaddr/sockaddr_resolver.cc +3 -3
- data/src/core/resolver/xds/xds_dependency_manager.cc +22 -23
- data/src/core/resolver/xds/xds_resolver.cc +13 -15
- data/src/core/server/server.cc +269 -389
- data/src/core/server/server.h +37 -19
- data/src/core/server/server_call_tracer_filter.cc +7 -14
- data/src/core/server/server_config_selector.h +1 -1
- data/src/core/server/server_config_selector_filter.cc +3 -3
- data/src/core/server/server_interface.h +2 -0
- data/src/core/server/xds_channel_stack_modifier.cc +1 -1
- data/src/core/server/xds_channel_stack_modifier.h +1 -1
- data/src/core/server/xds_server_config_fetcher.cc +1 -4
- data/src/core/service_config/service_config.h +1 -1
- data/src/core/service_config/service_config_call_data.h +13 -11
- data/src/core/service_config/service_config_channel_arg_filter.cc +6 -4
- data/src/core/service_config/service_config_impl.cc +5 -5
- data/src/core/service_config/service_config_impl.h +1 -1
- data/src/core/service_config/service_config_parser.cc +3 -6
- data/src/core/service_config/service_config_parser.h +1 -1
- data/src/core/{lib/channel → telemetry}/call_tracer.cc +20 -30
- data/src/core/{lib/channel → telemetry}/call_tracer.h +32 -9
- data/src/core/{lib/debug → telemetry}/histogram_view.cc +1 -1
- data/src/core/{lib/debug → telemetry}/histogram_view.h +3 -3
- data/src/core/telemetry/metrics.cc +178 -0
- data/src/core/telemetry/metrics.h +562 -0
- data/src/core/{lib/debug → telemetry}/stats.cc +1 -1
- data/src/core/{lib/debug → telemetry}/stats.h +5 -5
- data/src/core/{lib/debug → telemetry}/stats_data.cc +1 -1
- data/src/core/{lib/debug → telemetry}/stats_data.h +4 -4
- data/src/core/{lib/channel → telemetry}/tcp_tracer.h +3 -3
- data/src/core/tsi/alts/frame_protector/alts_frame_protector.cc +12 -13
- data/src/core/tsi/alts/handshaker/alts_handshaker_client.cc +25 -27
- data/src/core/tsi/alts/handshaker/alts_tsi_handshaker.cc +32 -33
- data/src/core/tsi/alts/handshaker/alts_tsi_utils.cc +2 -1
- data/src/core/tsi/alts/handshaker/transport_security_common_api.cc +2 -1
- data/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_integrity_only_record_protocol.cc +5 -4
- data/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_privacy_integrity_record_protocol.cc +5 -3
- data/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_record_protocol_common.cc +1 -1
- data/src/core/tsi/alts/zero_copy_frame_protector/alts_zero_copy_grpc_protector.cc +4 -3
- data/src/core/tsi/fake_transport_security.cc +14 -17
- data/src/core/tsi/local_transport_security.cc +6 -5
- data/src/core/tsi/ssl/session_cache/ssl_session_cache.cc +4 -4
- data/src/core/tsi/ssl_transport_security.cc +76 -81
- data/src/core/tsi/ssl_transport_security_utils.cc +74 -18
- data/src/core/tsi/ssl_transport_security_utils.h +11 -0
- data/src/core/tsi/transport_security.cc +0 -4
- data/src/core/tsi/transport_security.h +0 -2
- data/src/core/tsi/transport_security_interface.h +0 -4
- data/src/core/{lib/gpr → util}/alloc.h +3 -3
- data/src/core/{lib/gpr → util}/android/log.cc +0 -19
- data/src/core/{lib/gpr → util}/atm.cc +1 -1
- data/src/core/{ext/gcp/metadata_query.cc → util/gcp_metadata_query.cc} +25 -26
- data/src/core/{ext/gcp/metadata_query.h → util/gcp_metadata_query.h} +11 -11
- data/src/core/{lib/http → util/http_client}/format_request.cc +4 -3
- data/src/core/{lib/http → util/http_client}/format_request.h +6 -5
- data/src/core/{lib/http → util/http_client}/httpcli.cc +9 -10
- data/src/core/{lib/http → util/http_client}/httpcli.h +6 -5
- data/src/core/{lib/http → util/http_client}/httpcli_security_connector.cc +9 -9
- data/src/core/{lib/http → util/http_client}/httpcli_ssl_credentials.h +5 -4
- data/src/core/{lib/http → util/http_client}/parser.cc +4 -5
- data/src/core/{lib/http → util/http_client}/parser.h +5 -6
- data/src/core/{lib → util}/json/json.h +5 -4
- data/src/core/{lib → util}/json/json_args.h +5 -5
- data/src/core/{lib → util}/json/json_channel_args.h +6 -6
- data/src/core/{lib → util}/json/json_object_loader.cc +3 -2
- data/src/core/{lib → util}/json/json_object_loader.h +7 -7
- data/src/core/{lib → util}/json/json_reader.cc +3 -2
- data/src/core/{lib → util}/json/json_reader.h +6 -6
- data/src/core/{lib → util}/json/json_util.cc +4 -4
- data/src/core/{lib → util}/json/json_util.h +6 -6
- data/src/core/{lib → util}/json/json_writer.cc +3 -3
- data/src/core/{lib → util}/json/json_writer.h +6 -6
- data/src/core/{lib/gpr → util}/linux/log.cc +0 -45
- data/src/core/util/log.cc +165 -0
- data/src/core/{lib/gpr → util}/msys/tmpfile.cc +2 -2
- data/src/core/{lib/gpr → util}/posix/cpu.cc +1 -1
- data/src/core/{lib/gpr → util}/posix/log.cc +0 -42
- data/src/core/{lib/gpr → util}/posix/time.cc +1 -1
- data/src/core/{lib/gpr → util}/posix/tmpfile.cc +2 -2
- data/src/core/{lib/gpr → util}/spinlock.h +3 -3
- data/src/core/{lib/gpr → util}/string.cc +2 -2
- data/src/core/{lib/gpr → util}/string.h +3 -3
- data/src/core/{lib/gpr → util}/time_precise.cc +1 -1
- data/src/core/{lib/gpr → util}/time_precise.h +3 -3
- data/src/core/{lib/gpr → util}/tmpfile.h +3 -3
- data/src/core/{lib/gpr → util}/useful.h +3 -3
- data/src/core/{lib/gpr → util}/windows/log.cc +1 -44
- data/src/core/{lib/gpr → util}/windows/string.cc +1 -1
- data/src/core/{lib/gpr → util}/windows/string_util.cc +1 -1
- data/src/core/{lib/gpr → util}/windows/time.cc +1 -1
- data/src/core/{lib/gpr → util}/windows/tmpfile.cc +1 -1
- data/src/core/xds/grpc/certificate_provider_store.cc +3 -3
- data/src/core/xds/grpc/certificate_provider_store.h +4 -4
- data/src/core/xds/grpc/file_watcher_certificate_provider_factory.cc +3 -3
- data/src/core/xds/grpc/file_watcher_certificate_provider_factory.h +3 -3
- data/src/core/xds/grpc/xds_audit_logger_registry.h +1 -1
- data/src/core/xds/grpc/xds_bootstrap_grpc.cc +5 -5
- data/src/core/xds/grpc/xds_bootstrap_grpc.h +3 -3
- data/src/core/xds/grpc/xds_certificate_provider.h +1 -1
- data/src/core/xds/grpc/xds_client_grpc.cc +27 -23
- data/src/core/xds/grpc/xds_client_grpc.h +2 -2
- data/src/core/xds/grpc/xds_cluster.cc +4 -5
- data/src/core/xds/grpc/xds_cluster.h +1 -1
- data/src/core/xds/grpc/xds_cluster_specifier_plugin.cc +2 -2
- data/src/core/xds/grpc/xds_cluster_specifier_plugin.h +1 -1
- data/src/core/xds/grpc/xds_common_types.cc +1 -1
- data/src/core/xds/grpc/xds_common_types.h +1 -1
- data/src/core/xds/grpc/xds_endpoint.cc +4 -5
- data/src/core/xds/grpc/xds_http_fault_filter.cc +2 -2
- data/src/core/xds/grpc/xds_http_filters.h +2 -2
- data/src/core/xds/grpc/xds_http_rbac_filter.cc +3 -3
- data/src/core/xds/grpc/xds_http_stateful_session_filter.cc +2 -2
- data/src/core/xds/grpc/xds_lb_policy_registry.h +1 -1
- data/src/core/xds/grpc/xds_listener.cc +4 -6
- data/src/core/xds/grpc/xds_route_config.cc +7 -8
- data/src/core/xds/grpc/xds_transport_grpc.cc +2 -2
- data/src/core/xds/grpc/xds_transport_grpc.h +1 -1
- data/src/core/xds/xds_client/xds_api.cc +5 -9
- data/src/core/xds/xds_client/xds_bootstrap.cc +1 -1
- data/src/core/xds/xds_client/xds_bootstrap.h +1 -1
- data/src/core/xds/xds_client/xds_client.cc +39 -45
- data/src/core/xds/xds_client/xds_client.h +0 -3
- data/src/core/xds/xds_client/xds_client_stats.cc +6 -6
- data/src/core/xds/xds_client/xds_client_stats.h +2 -2
- data/src/ruby/bin/math_pb.rb +1 -22
- data/src/ruby/ext/grpc/rb_call.c +8 -1
- data/src/ruby/ext/grpc/rb_completion_queue.c +15 -32
- data/src/ruby/ext/grpc/rb_completion_queue.h +7 -1
- data/src/ruby/ext/grpc/rb_grpc_imports.generated.h +2 -2
- data/src/ruby/ext/grpc/rb_server.c +39 -22
- data/src/ruby/lib/grpc/version.rb +1 -1
- data/src/ruby/pb/grpc/health/v1/health_pb.rb +1 -22
- data/src/ruby/pb/grpc/testing/duplicate/echo_duplicate_services_pb.rb +5 -5
- data/src/ruby/pb/grpc/testing/metrics_pb.rb +10 -19
- data/src/ruby/pb/grpc/testing/metrics_services_pb.rb +5 -5
- data/src/ruby/pb/src/proto/grpc/testing/empty_pb.rb +1 -22
- data/src/ruby/pb/src/proto/grpc/testing/messages_pb.rb +1 -22
- data/src/ruby/pb/src/proto/grpc/testing/test_pb.rb +1 -22
- data/third_party/boringssl-with-bazel/src/crypto/base64/base64.c +4 -0
- data/third_party/boringssl-with-bazel/src/crypto/bio/bio.c +12 -12
- data/third_party/boringssl-with-bazel/src/crypto/conf/conf.c +66 -41
- data/third_party/boringssl-with-bazel/src/crypto/dilithium/dilithium.c +1497 -0
- data/third_party/boringssl-with-bazel/src/crypto/dilithium/internal.h +58 -0
- data/third_party/boringssl-with-bazel/src/crypto/dsa/dsa.c +10 -3
- data/third_party/boringssl-with-bazel/src/crypto/dsa/dsa_asn1.c +0 -2
- data/third_party/boringssl-with-bazel/src/crypto/dsa/internal.h +2 -0
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bcm.c +5 -0
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/exponentiation.c +45 -1
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/internal.h +33 -23
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/fips_shared_support.c +3 -6
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/internal.h +9 -4
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/sha512.c +6 -0
- data/third_party/boringssl-with-bazel/src/crypto/internal.h +7 -0
- data/third_party/boringssl-with-bazel/src/crypto/x509/internal.h +0 -4
- data/third_party/boringssl-with-bazel/src/crypto/x509/v3_utl.c +49 -16
- data/third_party/boringssl-with-bazel/src/crypto/x509/x509_lu.c +0 -10
- data/third_party/boringssl-with-bazel/src/crypto/x509/x509_vfy.c +7 -17
- data/third_party/boringssl-with-bazel/src/include/openssl/bio.h +8 -6
- data/third_party/boringssl-with-bazel/src/include/openssl/crypto.h +3 -0
- data/third_party/boringssl-with-bazel/src/include/openssl/experimental/dilithium.h +125 -0
- data/third_party/boringssl-with-bazel/src/include/openssl/x509.h +0 -23
- data/third_party/boringssl-with-bazel/src/ssl/dtls_method.cc +1 -1
- data/third_party/boringssl-with-bazel/src/ssl/internal.h +4 -10
- metadata +103 -93
- data/src/core/ext/transport/chttp2/transport/http_trace.cc +0 -19
- data/src/core/ext/transport/chttp2/transport/http_trace.h +0 -24
- data/src/core/ext/transport/inproc/inproc_plugin.cc +0 -23
- data/src/core/handshaker/security/tsi_error.cc +0 -31
- data/src/core/handshaker/security/tsi_error.h +0 -30
- data/src/core/lib/channel/channel_stack_trace.cc +0 -19
- data/src/core/lib/channel/channel_stack_trace.h +0 -24
- data/src/core/lib/channel/context.h +0 -105
- data/src/core/lib/channel/metrics.cc +0 -334
- data/src/core/lib/channel/metrics.h +0 -365
- data/src/core/lib/event_engine/trace.cc +0 -25
- data/src/core/lib/gpr/log.cc +0 -166
- data/src/core/lib/iomgr/ev_windows.cc +0 -30
- data/src/core/lib/promise/trace.cc +0 -20
- data/src/core/lib/promise/trace.h +0 -24
- data/src/core/lib/resource_quota/trace.cc +0 -19
- data/src/core/lib/resource_quota/trace.h +0 -24
- data/src/core/lib/slice/slice_refcount.cc +0 -20
- data/src/core/lib/surface/api_trace.cc +0 -25
- data/src/core/lib/surface/call_trace.h +0 -24
- data/src/core/lib/surface/wait_for_cq_end_op.cc +0 -75
- data/src/core/lib/surface/wait_for_cq_end_op.h +0 -72
- data/src/core/lib/transport/batch_builder.cc +0 -172
- data/src/core/lib/transport/batch_builder.h +0 -474
- data/src/core/resolver/xds/xds_resolver_trace.cc +0 -25
- data/src/core/resolver/xds/xds_resolver_trace.h +0 -30
- data/third_party/boringssl-with-bazel/src/crypto/conf/conf_def.h +0 -122
- /data/src/core/{lib/gpr → util}/alloc.cc +0 -0
- /data/src/core/{lib/gpr → util}/iphone/cpu.cc +0 -0
- /data/src/core/{lib/gpr → util}/linux/cpu.cc +0 -0
- /data/src/core/{lib/gpr → util}/posix/string.cc +0 -0
- /data/src/core/{lib/gpr → util}/posix/sync.cc +0 -0
- /data/src/core/{lib/gpr → util}/sync.cc +0 -0
- /data/src/core/{lib/gpr → util}/sync_abseil.cc +0 -0
- /data/src/core/{lib/gpr → util}/time.cc +0 -0
- /data/src/core/{lib/gpr → util}/windows/cpu.cc +0 -0
- /data/src/core/{lib/gpr → util}/windows/sync.cc +0 -0
@@ -68,9 +68,6 @@ namespace grpc_core {
|
|
68
68
|
|
69
69
|
using ::grpc_event_engine::experimental::EventEngine;
|
70
70
|
|
71
|
-
TraceFlag grpc_xds_client_trace(false, "xds_client");
|
72
|
-
TraceFlag grpc_xds_client_refcount_trace(false, "xds_client_refcount");
|
73
|
-
|
74
71
|
//
|
75
72
|
// Internal class declarations
|
76
73
|
//
|
@@ -253,7 +250,7 @@ class XdsClient::XdsChannel::AdsCall final
|
|
253
250
|
}
|
254
251
|
|
255
252
|
void OnTimer() {
|
256
|
-
if (GRPC_TRACE_FLAG_ENABLED(
|
253
|
+
if (GRPC_TRACE_FLAG_ENABLED(xds_client)) {
|
257
254
|
gpr_log(GPR_INFO,
|
258
255
|
"[xds_client %p] xds server %s: timeout obtaining resource "
|
259
256
|
"{type=%s name=%s} from xds server",
|
@@ -456,12 +453,12 @@ class XdsClient::XdsChannel::LrsCall final
|
|
456
453
|
|
457
454
|
XdsClient::XdsChannel::XdsChannel(WeakRefCountedPtr<XdsClient> xds_client,
|
458
455
|
const XdsBootstrap::XdsServer& server)
|
459
|
-
: DualRefCounted<XdsChannel>(
|
460
|
-
|
461
|
-
|
456
|
+
: DualRefCounted<XdsChannel>(GRPC_TRACE_FLAG_ENABLED(xds_client_refcount)
|
457
|
+
? "XdsChannel"
|
458
|
+
: nullptr),
|
462
459
|
xds_client_(std::move(xds_client)),
|
463
460
|
server_(server) {
|
464
|
-
if (GRPC_TRACE_FLAG_ENABLED(
|
461
|
+
if (GRPC_TRACE_FLAG_ENABLED(xds_client)) {
|
465
462
|
gpr_log(GPR_INFO, "[xds_client %p] creating channel %p for server %s",
|
466
463
|
xds_client_.get(), this, server.server_uri().c_str());
|
467
464
|
}
|
@@ -478,7 +475,7 @@ XdsClient::XdsChannel::XdsChannel(WeakRefCountedPtr<XdsClient> xds_client,
|
|
478
475
|
}
|
479
476
|
|
480
477
|
XdsClient::XdsChannel::~XdsChannel() {
|
481
|
-
if (GRPC_TRACE_FLAG_ENABLED(
|
478
|
+
if (GRPC_TRACE_FLAG_ENABLED(xds_client)) {
|
482
479
|
gpr_log(GPR_INFO, "[xds_client %p] destroying xds channel %p for server %s",
|
483
480
|
xds_client(), this, server_.server_uri().c_str());
|
484
481
|
}
|
@@ -490,7 +487,7 @@ XdsClient::XdsChannel::~XdsChannel() {
|
|
490
487
|
// called from DualRefCounted::Unref, which cannot have a lock annotation for
|
491
488
|
// a lock in this subclass.
|
492
489
|
void XdsClient::XdsChannel::Orphaned() ABSL_NO_THREAD_SAFETY_ANALYSIS {
|
493
|
-
if (GRPC_TRACE_FLAG_ENABLED(
|
490
|
+
if (GRPC_TRACE_FLAG_ENABLED(xds_client)) {
|
494
491
|
gpr_log(GPR_INFO, "[xds_client %p] orphaning xds channel %p for server %s",
|
495
492
|
xds_client(), this, server_.server_uri().c_str());
|
496
493
|
}
|
@@ -578,7 +575,7 @@ bool XdsClient::XdsChannel::MaybeFallbackLocked(
|
|
578
575
|
type_resource.first, {authority, key_state.first});
|
579
576
|
}
|
580
577
|
}
|
581
|
-
if (GRPC_TRACE_FLAG_ENABLED(
|
578
|
+
if (GRPC_TRACE_FLAG_ENABLED(xds_client)) {
|
582
579
|
gpr_log(GPR_INFO,
|
583
580
|
"[xds_client %p] authority %s: added fallback server %s (%s)",
|
584
581
|
xds_client_.get(), authority.c_str(),
|
@@ -587,7 +584,7 @@ bool XdsClient::XdsChannel::MaybeFallbackLocked(
|
|
587
584
|
}
|
588
585
|
if (authority_state.xds_channels.back()->status().ok()) return true;
|
589
586
|
}
|
590
|
-
if (GRPC_TRACE_FLAG_ENABLED(
|
587
|
+
if (GRPC_TRACE_FLAG_ENABLED(xds_client)) {
|
591
588
|
gpr_log(GPR_INFO, "[xds_client %p] authority %s: No fallback server",
|
592
589
|
xds_client_.get(), authority.c_str());
|
593
590
|
}
|
@@ -607,7 +604,7 @@ void XdsClient::XdsChannel::SetHealthyLocked() {
|
|
607
604
|
auto channel_it = std::find(channels.begin(), channels.end(), this);
|
608
605
|
// Skip if this is not on the list
|
609
606
|
if (channel_it != channels.end()) {
|
610
|
-
if (GRPC_TRACE_FLAG_ENABLED(
|
607
|
+
if (GRPC_TRACE_FLAG_ENABLED(xds_client)) {
|
611
608
|
gpr_log(GPR_INFO, "[xds_client %p] authority %s: Falling forward to %s",
|
612
609
|
xds_client_.get(), authority.first.c_str(),
|
613
610
|
server_.server_uri().c_str());
|
@@ -720,7 +717,7 @@ void XdsClient::XdsChannel::RetryableCall<T>::StartNewCallLocked() {
|
|
720
717
|
if (shutting_down_) return;
|
721
718
|
CHECK(xds_channel_->transport_ != nullptr);
|
722
719
|
CHECK(call_ == nullptr);
|
723
|
-
if (GRPC_TRACE_FLAG_ENABLED(
|
720
|
+
if (GRPC_TRACE_FLAG_ENABLED(xds_client)) {
|
724
721
|
gpr_log(GPR_INFO,
|
725
722
|
"[xds_client %p] xds server %s: start new call from retryable "
|
726
723
|
"call %p",
|
@@ -737,7 +734,7 @@ void XdsClient::XdsChannel::RetryableCall<T>::StartRetryTimerLocked() {
|
|
737
734
|
const Timestamp next_attempt_time = backoff_.NextAttemptTime();
|
738
735
|
const Duration timeout =
|
739
736
|
std::max(next_attempt_time - Timestamp::Now(), Duration::Zero());
|
740
|
-
if (GRPC_TRACE_FLAG_ENABLED(
|
737
|
+
if (GRPC_TRACE_FLAG_ENABLED(xds_client)) {
|
741
738
|
gpr_log(GPR_INFO,
|
742
739
|
"[xds_client %p] xds server %s: call attempt failed; "
|
743
740
|
"retry timer will fire in %" PRId64 "ms.",
|
@@ -759,7 +756,7 @@ void XdsClient::XdsChannel::RetryableCall<T>::OnRetryTimer() {
|
|
759
756
|
if (timer_handle_.has_value()) {
|
760
757
|
timer_handle_.reset();
|
761
758
|
if (shutting_down_) return;
|
762
|
-
if (GRPC_TRACE_FLAG_ENABLED(
|
759
|
+
if (GRPC_TRACE_FLAG_ENABLED(xds_client)) {
|
763
760
|
gpr_log(GPR_INFO,
|
764
761
|
"[xds_client %p] xds server %s: retry timer fired (retryable "
|
765
762
|
"call: %p)",
|
@@ -797,7 +794,7 @@ class XdsClient::XdsChannel::AdsCall::AdsReadDelayHandle final
|
|
797
794
|
absl::Status
|
798
795
|
XdsClient::XdsChannel::AdsCall::AdsResponseParser::ProcessAdsResponseFields(
|
799
796
|
AdsResponseFields fields) {
|
800
|
-
if (GRPC_TRACE_FLAG_ENABLED(
|
797
|
+
if (GRPC_TRACE_FLAG_ENABLED(xds_client)) {
|
801
798
|
gpr_log(
|
802
799
|
GPR_INFO,
|
803
800
|
"[xds_client %p] xds server %s: received ADS response: type_url=%s, "
|
@@ -863,7 +860,7 @@ void XdsClient::XdsChannel::AdsCall::AdsResponseParser::ParseResource(
|
|
863
860
|
}
|
864
861
|
// Parse the resource.
|
865
862
|
XdsResourceType::DecodeContext context = {
|
866
|
-
xds_client(), ads_call_->xds_channel()->server_, &
|
863
|
+
xds_client(), ads_call_->xds_channel()->server_, &xds_client_trace,
|
867
864
|
xds_client()->def_pool_.ptr(), arena};
|
868
865
|
XdsResourceType::DecodeResult decode_result =
|
869
866
|
result_.type->Decode(context, serialized_resource);
|
@@ -964,7 +961,7 @@ void XdsClient::XdsChannel::AdsCall::AdsResponseParser::ParseResource(
|
|
964
961
|
if (resource_state.resource != nullptr &&
|
965
962
|
result_.type->ResourcesEqual(resource_state.resource.get(),
|
966
963
|
decode_result.resource->get())) {
|
967
|
-
if (GRPC_TRACE_FLAG_ENABLED(
|
964
|
+
if (GRPC_TRACE_FLAG_ENABLED(xds_client)) {
|
968
965
|
gpr_log(GPR_INFO,
|
969
966
|
"[xds_client %p] %s resource %s identical to current, ignoring.",
|
970
967
|
xds_client(), result_.type_url.c_str(),
|
@@ -1003,8 +1000,7 @@ void XdsClient::XdsChannel::AdsCall::AdsResponseParser::
|
|
1003
1000
|
XdsClient::XdsChannel::AdsCall::AdsCall(
|
1004
1001
|
RefCountedPtr<RetryableCall<AdsCall>> retryable_call)
|
1005
1002
|
: InternallyRefCounted<AdsCall>(
|
1006
|
-
GRPC_TRACE_FLAG_ENABLED(
|
1007
|
-
: nullptr),
|
1003
|
+
GRPC_TRACE_FLAG_ENABLED(xds_client_refcount) ? "AdsCall" : nullptr),
|
1008
1004
|
retryable_call_(std::move(retryable_call)) {
|
1009
1005
|
CHECK_NE(xds_client(), nullptr);
|
1010
1006
|
// Init the ADS call.
|
@@ -1018,7 +1014,7 @@ XdsClient::XdsChannel::AdsCall::AdsCall(
|
|
1018
1014
|
RefCountedPtr<AdsCall>(this)));
|
1019
1015
|
CHECK(streaming_call_ != nullptr);
|
1020
1016
|
// Start the call.
|
1021
|
-
if (GRPC_TRACE_FLAG_ENABLED(
|
1017
|
+
if (GRPC_TRACE_FLAG_ENABLED(xds_client)) {
|
1022
1018
|
gpr_log(GPR_INFO,
|
1023
1019
|
"[xds_client %p] xds server %s: starting ADS call "
|
1024
1020
|
"(ads_call: %p, streaming_call: %p)",
|
@@ -1072,7 +1068,7 @@ void XdsClient::XdsChannel::AdsCall::SendMessageLocked(
|
|
1072
1068
|
state.nonce, ResourceNamesForRequest(type), state.status,
|
1073
1069
|
!sent_initial_message_);
|
1074
1070
|
sent_initial_message_ = true;
|
1075
|
-
if (GRPC_TRACE_FLAG_ENABLED(
|
1071
|
+
if (GRPC_TRACE_FLAG_ENABLED(xds_client)) {
|
1076
1072
|
gpr_log(GPR_INFO,
|
1077
1073
|
"[xds_client %p] xds server %s: sending ADS request: type=%s "
|
1078
1074
|
"version=%s nonce=%s error=%s",
|
@@ -1262,7 +1258,7 @@ void XdsClient::XdsChannel::AdsCall::OnRecvMessage(absl::string_view payload) {
|
|
1262
1258
|
void XdsClient::XdsChannel::AdsCall::OnStatusReceived(absl::Status status) {
|
1263
1259
|
{
|
1264
1260
|
MutexLock lock(&xds_client()->mu_);
|
1265
|
-
if (GRPC_TRACE_FLAG_ENABLED(
|
1261
|
+
if (GRPC_TRACE_FLAG_ENABLED(xds_client)) {
|
1266
1262
|
gpr_log(GPR_INFO,
|
1267
1263
|
"[xds_client %p] xds server %s: ADS call status received "
|
1268
1264
|
"(xds_channel=%p, ads_call=%p, streaming_call=%p): %s",
|
@@ -1335,7 +1331,7 @@ void XdsClient::XdsChannel::LrsCall::Timer::Orphan() {
|
|
1335
1331
|
}
|
1336
1332
|
|
1337
1333
|
void XdsClient::XdsChannel::LrsCall::Timer::ScheduleNextReportLocked() {
|
1338
|
-
if (GRPC_TRACE_FLAG_ENABLED(
|
1334
|
+
if (GRPC_TRACE_FLAG_ENABLED(xds_client)) {
|
1339
1335
|
gpr_log(GPR_INFO,
|
1340
1336
|
"[xds_client %p] xds server %s: scheduling next load report in %s",
|
1341
1337
|
xds_client(),
|
@@ -1364,8 +1360,7 @@ void XdsClient::XdsChannel::LrsCall::Timer::OnNextReportTimer() {
|
|
1364
1360
|
XdsClient::XdsChannel::LrsCall::LrsCall(
|
1365
1361
|
RefCountedPtr<RetryableCall<LrsCall>> retryable_call)
|
1366
1362
|
: InternallyRefCounted<LrsCall>(
|
1367
|
-
GRPC_TRACE_FLAG_ENABLED(
|
1368
|
-
: nullptr),
|
1363
|
+
GRPC_TRACE_FLAG_ENABLED(xds_client_refcount) ? "LrsCall" : nullptr),
|
1369
1364
|
retryable_call_(std::move(retryable_call)) {
|
1370
1365
|
// Init the LRS call. Note that the call will progress every time there's
|
1371
1366
|
// activity in xds_client()->interested_parties_, which is comprised of
|
@@ -1380,7 +1375,7 @@ XdsClient::XdsChannel::LrsCall::LrsCall(
|
|
1380
1375
|
RefCountedPtr<LrsCall>(this)));
|
1381
1376
|
CHECK(streaming_call_ != nullptr);
|
1382
1377
|
// Start the call.
|
1383
|
-
if (GRPC_TRACE_FLAG_ENABLED(
|
1378
|
+
if (GRPC_TRACE_FLAG_ENABLED(xds_client)) {
|
1384
1379
|
gpr_log(GPR_INFO,
|
1385
1380
|
"[xds_client %p] xds server %s: starting LRS call (lrs_call=%p, "
|
1386
1381
|
"streaming_call=%p)",
|
@@ -1494,7 +1489,7 @@ void XdsClient::XdsChannel::LrsCall::OnRecvMessage(absl::string_view payload) {
|
|
1494
1489
|
return;
|
1495
1490
|
}
|
1496
1491
|
seen_response_ = true;
|
1497
|
-
if (GRPC_TRACE_FLAG_ENABLED(
|
1492
|
+
if (GRPC_TRACE_FLAG_ENABLED(xds_client)) {
|
1498
1493
|
gpr_log(
|
1499
1494
|
GPR_INFO,
|
1500
1495
|
"[xds_client %p] xds server %s: LRS response received, %" PRIuPTR
|
@@ -1513,7 +1508,7 @@ void XdsClient::XdsChannel::LrsCall::OnRecvMessage(absl::string_view payload) {
|
|
1513
1508
|
Duration::Milliseconds(GRPC_XDS_MIN_CLIENT_LOAD_REPORTING_INTERVAL_MS)) {
|
1514
1509
|
new_load_reporting_interval =
|
1515
1510
|
Duration::Milliseconds(GRPC_XDS_MIN_CLIENT_LOAD_REPORTING_INTERVAL_MS);
|
1516
|
-
if (GRPC_TRACE_FLAG_ENABLED(
|
1511
|
+
if (GRPC_TRACE_FLAG_ENABLED(xds_client)) {
|
1517
1512
|
gpr_log(GPR_INFO,
|
1518
1513
|
"[xds_client %p] xds server %s: increased load_report_interval "
|
1519
1514
|
"to minimum value %dms",
|
@@ -1525,7 +1520,7 @@ void XdsClient::XdsChannel::LrsCall::OnRecvMessage(absl::string_view payload) {
|
|
1525
1520
|
if (send_all_clusters == send_all_clusters_ &&
|
1526
1521
|
cluster_names_ == new_cluster_names &&
|
1527
1522
|
load_reporting_interval_ == new_load_reporting_interval) {
|
1528
|
-
if (GRPC_TRACE_FLAG_ENABLED(
|
1523
|
+
if (GRPC_TRACE_FLAG_ENABLED(xds_client)) {
|
1529
1524
|
gpr_log(GPR_INFO,
|
1530
1525
|
"[xds_client %p] xds server %s: incoming LRS response identical "
|
1531
1526
|
"to current, ignoring.",
|
@@ -1549,7 +1544,7 @@ void XdsClient::XdsChannel::LrsCall::OnRecvMessage(absl::string_view payload) {
|
|
1549
1544
|
|
1550
1545
|
void XdsClient::XdsChannel::LrsCall::OnStatusReceived(absl::Status status) {
|
1551
1546
|
MutexLock lock(&xds_client()->mu_);
|
1552
|
-
if (GRPC_TRACE_FLAG_ENABLED(
|
1547
|
+
if (GRPC_TRACE_FLAG_ENABLED(xds_client)) {
|
1553
1548
|
gpr_log(GPR_INFO,
|
1554
1549
|
"[xds_client %p] xds server %s: LRS call status received "
|
1555
1550
|
"(xds_channel=%p, lrs_call=%p, streaming_call=%p): %s",
|
@@ -1585,18 +1580,17 @@ XdsClient::XdsClient(
|
|
1585
1580
|
std::string user_agent_name, std::string user_agent_version,
|
1586
1581
|
Duration resource_request_timeout)
|
1587
1582
|
: DualRefCounted<XdsClient>(
|
1588
|
-
GRPC_TRACE_FLAG_ENABLED(
|
1589
|
-
: nullptr),
|
1583
|
+
GRPC_TRACE_FLAG_ENABLED(xds_client_refcount) ? "XdsClient" : nullptr),
|
1590
1584
|
bootstrap_(std::move(bootstrap)),
|
1591
1585
|
transport_factory_(std::move(transport_factory)),
|
1592
1586
|
request_timeout_(resource_request_timeout),
|
1593
1587
|
xds_federation_enabled_(XdsFederationEnabled()),
|
1594
|
-
api_(this, &
|
1588
|
+
api_(this, &xds_client_trace, bootstrap_->node(), &def_pool_,
|
1595
1589
|
std::move(user_agent_name), std::move(user_agent_version)),
|
1596
1590
|
work_serializer_(engine),
|
1597
1591
|
engine_(std::move(engine)),
|
1598
1592
|
metrics_reporter_(std::move(metrics_reporter)) {
|
1599
|
-
if (GRPC_TRACE_FLAG_ENABLED(
|
1593
|
+
if (GRPC_TRACE_FLAG_ENABLED(xds_client)) {
|
1600
1594
|
gpr_log(GPR_INFO, "[xds_client %p] creating xds client", this);
|
1601
1595
|
}
|
1602
1596
|
CHECK(bootstrap_ != nullptr);
|
@@ -1607,13 +1601,13 @@ XdsClient::XdsClient(
|
|
1607
1601
|
}
|
1608
1602
|
|
1609
1603
|
XdsClient::~XdsClient() {
|
1610
|
-
if (GRPC_TRACE_FLAG_ENABLED(
|
1604
|
+
if (GRPC_TRACE_FLAG_ENABLED(xds_client)) {
|
1611
1605
|
gpr_log(GPR_INFO, "[xds_client %p] destroying xds client", this);
|
1612
1606
|
}
|
1613
1607
|
}
|
1614
1608
|
|
1615
1609
|
void XdsClient::Orphaned() {
|
1616
|
-
if (GRPC_TRACE_FLAG_ENABLED(
|
1610
|
+
if (GRPC_TRACE_FLAG_ENABLED(xds_client)) {
|
1617
1611
|
gpr_log(GPR_INFO, "[xds_client %p] shutting down xds client", this);
|
1618
1612
|
}
|
1619
1613
|
MutexLock lock(&mu_);
|
@@ -1735,7 +1729,7 @@ void XdsClient::WatchResource(const XdsResourceType* type,
|
|
1735
1729
|
// If we already have a cached value for the resource, notify the new
|
1736
1730
|
// watcher immediately.
|
1737
1731
|
if (resource_state.resource != nullptr) {
|
1738
|
-
if (GRPC_TRACE_FLAG_ENABLED(
|
1732
|
+
if (GRPC_TRACE_FLAG_ENABLED(xds_client)) {
|
1739
1733
|
gpr_log(GPR_INFO,
|
1740
1734
|
"[xds_client %p] returning cached listener data for %s", this,
|
1741
1735
|
std::string(name).c_str());
|
@@ -1749,7 +1743,7 @@ void XdsClient::WatchResource(const XdsResourceType* type,
|
|
1749
1743
|
DEBUG_LOCATION);
|
1750
1744
|
} else if (resource_state.meta.client_status ==
|
1751
1745
|
XdsApi::ResourceMetadata::DOES_NOT_EXIST) {
|
1752
|
-
if (GRPC_TRACE_FLAG_ENABLED(
|
1746
|
+
if (GRPC_TRACE_FLAG_ENABLED(xds_client)) {
|
1753
1747
|
gpr_log(GPR_INFO,
|
1754
1748
|
"[xds_client %p] reporting cached does-not-exist for %s",
|
1755
1749
|
this, std::string(name).c_str());
|
@@ -1761,7 +1755,7 @@ void XdsClient::WatchResource(const XdsResourceType* type,
|
|
1761
1755
|
DEBUG_LOCATION);
|
1762
1756
|
} else if (resource_state.meta.client_status ==
|
1763
1757
|
XdsApi::ResourceMetadata::NACKED) {
|
1764
|
-
if (GRPC_TRACE_FLAG_ENABLED(
|
1758
|
+
if (GRPC_TRACE_FLAG_ENABLED(xds_client)) {
|
1765
1759
|
gpr_log(
|
1766
1760
|
GPR_INFO,
|
1767
1761
|
"[xds_client %p] reporting cached validation failure for %s: %s",
|
@@ -1786,7 +1780,7 @@ void XdsClient::WatchResource(const XdsResourceType* type,
|
|
1786
1780
|
}
|
1787
1781
|
absl::Status channel_status = authority_state.xds_channels.back()->status();
|
1788
1782
|
if (!channel_status.ok()) {
|
1789
|
-
if (GRPC_TRACE_FLAG_ENABLED(
|
1783
|
+
if (GRPC_TRACE_FLAG_ENABLED(xds_client)) {
|
1790
1784
|
gpr_log(GPR_INFO,
|
1791
1785
|
"[xds_client %p] returning cached channel error for %s: %s",
|
1792
1786
|
this, std::string(name).c_str(),
|
@@ -2091,7 +2085,7 @@ void XdsClient::NotifyWatchersOnResourceDoesNotExist(
|
|
2091
2085
|
XdsApi::ClusterLoadReportMap XdsClient::BuildLoadReportSnapshotLocked(
|
2092
2086
|
const XdsBootstrap::XdsServer& xds_server, bool send_all_clusters,
|
2093
2087
|
const std::set<std::string>& clusters) {
|
2094
|
-
if (GRPC_TRACE_FLAG_ENABLED(
|
2088
|
+
if (GRPC_TRACE_FLAG_ENABLED(xds_client)) {
|
2095
2089
|
gpr_log(GPR_INFO, "[xds_client %p] start building load report", this);
|
2096
2090
|
}
|
2097
2091
|
XdsApi::ClusterLoadReportMap snapshot_map;
|
@@ -2118,7 +2112,7 @@ XdsApi::ClusterLoadReportMap XdsClient::BuildLoadReportSnapshotLocked(
|
|
2118
2112
|
if (load_report.drop_stats != nullptr) {
|
2119
2113
|
snapshot.dropped_requests +=
|
2120
2114
|
load_report.drop_stats->GetSnapshotAndReset();
|
2121
|
-
if (GRPC_TRACE_FLAG_ENABLED(
|
2115
|
+
if (GRPC_TRACE_FLAG_ENABLED(xds_client)) {
|
2122
2116
|
gpr_log(GPR_INFO,
|
2123
2117
|
"[xds_client %p] cluster=%s eds_service_name=%s drop_stats=%p",
|
2124
2118
|
this, cluster_key.first.c_str(), cluster_key.second.c_str(),
|
@@ -2136,7 +2130,7 @@ XdsApi::ClusterLoadReportMap XdsClient::BuildLoadReportSnapshotLocked(
|
|
2136
2130
|
if (locality_state.locality_stats != nullptr) {
|
2137
2131
|
locality_snapshot +=
|
2138
2132
|
locality_state.locality_stats->GetSnapshotAndReset();
|
2139
|
-
if (GRPC_TRACE_FLAG_ENABLED(
|
2133
|
+
if (GRPC_TRACE_FLAG_ENABLED(xds_client)) {
|
2140
2134
|
gpr_log(GPR_INFO,
|
2141
2135
|
"[xds_client %p] cluster=%s eds_service_name=%s "
|
2142
2136
|
"locality=%s locality_stats=%p",
|
@@ -55,9 +55,6 @@ namespace testing {
|
|
55
55
|
class XdsClientTestPeer;
|
56
56
|
}
|
57
57
|
|
58
|
-
extern TraceFlag grpc_xds_client_trace;
|
59
|
-
extern TraceFlag grpc_xds_client_refcount_trace;
|
60
|
-
|
61
58
|
class XdsClient : public DualRefCounted<XdsClient> {
|
62
59
|
public:
|
63
60
|
// The authority reported for old-style (non-xdstp) resource names.
|
@@ -43,14 +43,14 @@ XdsClusterDropStats::XdsClusterDropStats(RefCountedPtr<XdsClient> xds_client,
|
|
43
43
|
absl::string_view lrs_server,
|
44
44
|
absl::string_view cluster_name,
|
45
45
|
absl::string_view eds_service_name)
|
46
|
-
: RefCounted(GRPC_TRACE_FLAG_ENABLED(
|
46
|
+
: RefCounted(GRPC_TRACE_FLAG_ENABLED(xds_client_refcount)
|
47
47
|
? "XdsClusterDropStats"
|
48
48
|
: nullptr),
|
49
49
|
xds_client_(std::move(xds_client)),
|
50
50
|
lrs_server_(lrs_server),
|
51
51
|
cluster_name_(cluster_name),
|
52
52
|
eds_service_name_(eds_service_name) {
|
53
|
-
if (GRPC_TRACE_FLAG_ENABLED(
|
53
|
+
if (GRPC_TRACE_FLAG_ENABLED(xds_client)) {
|
54
54
|
gpr_log(GPR_INFO, "[xds_client %p] created drop stats %p for {%s, %s, %s}",
|
55
55
|
xds_client_.get(), this, std::string(lrs_server_).c_str(),
|
56
56
|
std::string(cluster_name_).c_str(),
|
@@ -59,7 +59,7 @@ XdsClusterDropStats::XdsClusterDropStats(RefCountedPtr<XdsClient> xds_client,
|
|
59
59
|
}
|
60
60
|
|
61
61
|
XdsClusterDropStats::~XdsClusterDropStats() {
|
62
|
-
if (GRPC_TRACE_FLAG_ENABLED(
|
62
|
+
if (GRPC_TRACE_FLAG_ENABLED(xds_client)) {
|
63
63
|
gpr_log(GPR_INFO,
|
64
64
|
"[xds_client %p] destroying drop stats %p for {%s, %s, %s}",
|
65
65
|
xds_client_.get(), this, std::string(lrs_server_).c_str(),
|
@@ -96,7 +96,7 @@ XdsClusterLocalityStats::XdsClusterLocalityStats(
|
|
96
96
|
RefCountedPtr<XdsClient> xds_client, absl::string_view lrs_server,
|
97
97
|
absl::string_view cluster_name, absl::string_view eds_service_name,
|
98
98
|
RefCountedPtr<XdsLocalityName> name)
|
99
|
-
: RefCounted(GRPC_TRACE_FLAG_ENABLED(
|
99
|
+
: RefCounted(GRPC_TRACE_FLAG_ENABLED(xds_client_refcount)
|
100
100
|
? "XdsClusterLocalityStats"
|
101
101
|
: nullptr),
|
102
102
|
xds_client_(std::move(xds_client)),
|
@@ -104,7 +104,7 @@ XdsClusterLocalityStats::XdsClusterLocalityStats(
|
|
104
104
|
cluster_name_(cluster_name),
|
105
105
|
eds_service_name_(eds_service_name),
|
106
106
|
name_(std::move(name)) {
|
107
|
-
if (GRPC_TRACE_FLAG_ENABLED(
|
107
|
+
if (GRPC_TRACE_FLAG_ENABLED(xds_client)) {
|
108
108
|
gpr_log(
|
109
109
|
GPR_INFO,
|
110
110
|
"[xds_client %p] created locality stats %p for {%s, %s, %s, %s}",
|
@@ -116,7 +116,7 @@ XdsClusterLocalityStats::XdsClusterLocalityStats(
|
|
116
116
|
}
|
117
117
|
|
118
118
|
XdsClusterLocalityStats::~XdsClusterLocalityStats() {
|
119
|
-
if (GRPC_TRACE_FLAG_ENABLED(
|
119
|
+
if (GRPC_TRACE_FLAG_ENABLED(xds_client)) {
|
120
120
|
gpr_log(
|
121
121
|
GPR_INFO,
|
122
122
|
"[xds_client %p] destroying locality stats %p for {%s, %s, %s, %s}",
|
@@ -31,13 +31,13 @@
|
|
31
31
|
|
32
32
|
#include <grpc/support/port_platform.h>
|
33
33
|
|
34
|
-
#include "src/core/lib/channel/call_tracer.h"
|
35
|
-
#include "src/core/lib/gpr/useful.h"
|
36
34
|
#include "src/core/lib/gprpp/per_cpu.h"
|
37
35
|
#include "src/core/lib/gprpp/ref_counted.h"
|
38
36
|
#include "src/core/lib/gprpp/ref_counted_ptr.h"
|
39
37
|
#include "src/core/lib/gprpp/sync.h"
|
40
38
|
#include "src/core/resolver/endpoint_addresses.h"
|
39
|
+
#include "src/core/telemetry/call_tracer.h"
|
40
|
+
#include "src/core/util/useful.h"
|
41
41
|
#include "src/core/xds/xds_client/xds_bootstrap.h"
|
42
42
|
|
43
43
|
namespace grpc_core {
|
data/src/ruby/bin/math_pb.rb
CHANGED
@@ -8,28 +8,7 @@ require 'google/protobuf'
|
|
8
8
|
descriptor_data = "\n\nmath.proto\x12\x04math\",\n\x07\x44ivArgs\x12\x10\n\x08\x64ividend\x18\x01 \x01(\x03\x12\x0f\n\x07\x64ivisor\x18\x02 \x01(\x03\"/\n\x08\x44ivReply\x12\x10\n\x08quotient\x18\x01 \x01(\x03\x12\x11\n\tremainder\x18\x02 \x01(\x03\"\x18\n\x07\x46ibArgs\x12\r\n\x05limit\x18\x01 \x01(\x03\"\x12\n\x03Num\x12\x0b\n\x03num\x18\x01 \x01(\x03\"\x19\n\x08\x46ibReply\x12\r\n\x05\x63ount\x18\x01 \x01(\x03\x32\xa4\x01\n\x04Math\x12&\n\x03\x44iv\x12\r.math.DivArgs\x1a\x0e.math.DivReply\"\x00\x12.\n\x07\x44ivMany\x12\r.math.DivArgs\x1a\x0e.math.DivReply\"\x00(\x01\x30\x01\x12#\n\x03\x46ib\x12\r.math.FibArgs\x1a\t.math.Num\"\x00\x30\x01\x12\x1f\n\x03Sum\x12\t.math.Num\x1a\t.math.Num\"\x00(\x01\x62\x06proto3"
|
9
9
|
|
10
10
|
pool = Google::Protobuf::DescriptorPool.generated_pool
|
11
|
-
|
12
|
-
begin
|
13
|
-
pool.add_serialized_file(descriptor_data)
|
14
|
-
rescue TypeError
|
15
|
-
# Compatibility code: will be removed in the next major version.
|
16
|
-
require 'google/protobuf/descriptor_pb'
|
17
|
-
parsed = Google::Protobuf::FileDescriptorProto.decode(descriptor_data)
|
18
|
-
parsed.clear_dependency
|
19
|
-
serialized = parsed.class.encode(parsed)
|
20
|
-
file = pool.add_serialized_file(serialized)
|
21
|
-
warn "Warning: Protobuf detected an import path issue while loading generated file #{__FILE__}"
|
22
|
-
imports = [
|
23
|
-
]
|
24
|
-
imports.each do |type_name, expected_filename|
|
25
|
-
import_file = pool.lookup(type_name).file_descriptor
|
26
|
-
if import_file.name != expected_filename
|
27
|
-
warn "- #{file.name} imports #{expected_filename}, but that import was loaded as #{import_file.name}"
|
28
|
-
end
|
29
|
-
end
|
30
|
-
warn "Each proto file must use a consistent fully-qualified name."
|
31
|
-
warn "This will become an error in the next major version."
|
32
|
-
end
|
11
|
+
pool.add_serialized_file(descriptor_data)
|
33
12
|
|
34
13
|
module Math
|
35
14
|
DivArgs = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("math.DivArgs").msgclass
|
data/src/ruby/ext/grpc/rb_call.c
CHANGED
@@ -808,6 +808,12 @@ struct call_run_batch_args {
|
|
808
808
|
run_batch_stack* st;
|
809
809
|
};
|
810
810
|
|
811
|
+
static void cancel_call_unblock_func(void* arg) {
|
812
|
+
gpr_log(GPR_INFO, "GRPC_RUBY: cancel_call_unblock_func");
|
813
|
+
grpc_call* call = (grpc_call*)arg;
|
814
|
+
grpc_call_cancel(call, NULL);
|
815
|
+
}
|
816
|
+
|
811
817
|
static VALUE grpc_rb_call_run_batch_try(VALUE value_args) {
|
812
818
|
grpc_rb_fork_unsafe_begin();
|
813
819
|
struct call_run_batch_args* args = (struct call_run_batch_args*)value_args;
|
@@ -830,7 +836,8 @@ static VALUE grpc_rb_call_run_batch_try(VALUE value_args) {
|
|
830
836
|
grpc_call_error_detail_of(err), err);
|
831
837
|
}
|
832
838
|
ev = rb_completion_queue_pluck(args->call->queue, tag,
|
833
|
-
gpr_inf_future(GPR_CLOCK_REALTIME),
|
839
|
+
gpr_inf_future(GPR_CLOCK_REALTIME),
|
840
|
+
cancel_call_unblock_func, args->call->wrapped);
|
834
841
|
if (!ev.success) {
|
835
842
|
rb_raise(grpc_rb_eCallError, "call#run_batch failed somehow");
|
836
843
|
}
|
@@ -35,23 +35,15 @@ typedef struct next_call_stack {
|
|
35
35
|
grpc_event event;
|
36
36
|
gpr_timespec timeout;
|
37
37
|
void* tag;
|
38
|
-
|
38
|
+
void (*unblock_func)(void*);
|
39
|
+
void* unblock_func_arg;
|
39
40
|
} next_call_stack;
|
40
41
|
|
41
42
|
/* Calls grpc_completion_queue_pluck without holding the ruby GIL */
|
42
43
|
static void* grpc_rb_completion_queue_pluck_no_gil(void* param) {
|
43
44
|
next_call_stack* const next_call = (next_call_stack*)param;
|
44
|
-
|
45
|
-
|
46
|
-
do {
|
47
|
-
deadline = gpr_time_add(gpr_now(GPR_CLOCK_REALTIME), increment);
|
48
|
-
next_call->event = grpc_completion_queue_pluck(
|
49
|
-
next_call->cq, next_call->tag, deadline, NULL);
|
50
|
-
if (next_call->event.type != GRPC_QUEUE_TIMEOUT ||
|
51
|
-
gpr_time_cmp(deadline, next_call->timeout) > 0) {
|
52
|
-
break;
|
53
|
-
}
|
54
|
-
} while (!next_call->interrupted);
|
45
|
+
next_call->event = grpc_completion_queue_pluck(next_call->cq, next_call->tag,
|
46
|
+
next_call->timeout, NULL);
|
55
47
|
return NULL;
|
56
48
|
}
|
57
49
|
|
@@ -65,37 +57,28 @@ void grpc_rb_completion_queue_destroy(grpc_completion_queue* cq) {
|
|
65
57
|
grpc_completion_queue_destroy(cq);
|
66
58
|
}
|
67
59
|
|
68
|
-
static void
|
60
|
+
static void outer_unblock_func(void* param) {
|
69
61
|
next_call_stack* const next_call = (next_call_stack*)param;
|
70
|
-
next_call->
|
62
|
+
if (next_call->unblock_func == NULL) return;
|
63
|
+
next_call->unblock_func(next_call->unblock_func_arg);
|
71
64
|
}
|
72
65
|
|
73
66
|
/* Does the same thing as grpc_completion_queue_pluck, while properly releasing
|
74
67
|
the GVL and handling interrupts */
|
75
68
|
grpc_event rb_completion_queue_pluck(grpc_completion_queue* queue, void* tag,
|
76
|
-
gpr_timespec deadline,
|
69
|
+
gpr_timespec deadline,
|
70
|
+
void (*unblock_func)(void* param),
|
71
|
+
void* unblock_func_arg) {
|
77
72
|
next_call_stack next_call;
|
78
73
|
MEMZERO(&next_call, next_call_stack, 1);
|
79
74
|
next_call.cq = queue;
|
80
75
|
next_call.timeout = deadline;
|
81
76
|
next_call.tag = tag;
|
82
77
|
next_call.event.type = GRPC_QUEUE_TIMEOUT;
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
The basic reason we need this relatively complicated construction is that
|
89
|
-
we need to re-acquire the GVL when an interrupt comes in, so that the ruby
|
90
|
-
interpreter can do what it needs to do with the interrupt. But we also need
|
91
|
-
to get back to plucking when the interrupt has been handled. */
|
92
|
-
do {
|
93
|
-
next_call.interrupted = 0;
|
94
|
-
rb_thread_call_without_gvl(grpc_rb_completion_queue_pluck_no_gil,
|
95
|
-
(void*)&next_call, unblock_func,
|
96
|
-
(void*)&next_call);
|
97
|
-
/* If an interrupt prevented pluck from returning useful information, then
|
98
|
-
any plucks that did complete must have timed out */
|
99
|
-
} while (next_call.interrupted && next_call.event.type == GRPC_QUEUE_TIMEOUT);
|
78
|
+
next_call.unblock_func = unblock_func;
|
79
|
+
next_call.unblock_func_arg = unblock_func_arg;
|
80
|
+
rb_thread_call_without_gvl(grpc_rb_completion_queue_pluck_no_gil,
|
81
|
+
(void*)&next_call, outer_unblock_func,
|
82
|
+
(void*)&next_call);
|
100
83
|
return next_call.event;
|
101
84
|
}
|
@@ -29,8 +29,14 @@ void grpc_rb_completion_queue_destroy(grpc_completion_queue* cq);
|
|
29
29
|
* Makes the implementation of CompletionQueue#pluck available in other files
|
30
30
|
*
|
31
31
|
* This avoids having code that holds the GIL repeated at multiple sites.
|
32
|
+
*
|
33
|
+
* unblock_func is invoked with the provided argument to unblock the CQ
|
34
|
+
* operation in the event of process termination (e.g. a signal), but
|
35
|
+
* unblock_func may be NULL in which case it's unused.
|
32
36
|
*/
|
33
37
|
grpc_event rb_completion_queue_pluck(grpc_completion_queue* queue, void* tag,
|
34
|
-
gpr_timespec deadline,
|
38
|
+
gpr_timespec deadline,
|
39
|
+
void (*unblock_func)(void* param),
|
40
|
+
void* unblock_func_arg);
|
35
41
|
|
36
42
|
#endif /* GRPC_RB_COMPLETION_QUEUE_H_ */
|
@@ -747,13 +747,13 @@ extern gpr_should_log_type gpr_should_log_import;
|
|
747
747
|
typedef void(*gpr_log_message_type)(const char* file, int line, gpr_log_severity severity, const char* message);
|
748
748
|
extern gpr_log_message_type gpr_log_message_import;
|
749
749
|
#define gpr_log_message gpr_log_message_import
|
750
|
-
typedef void(*gpr_set_log_verbosity_type)(gpr_log_severity
|
750
|
+
typedef void(*gpr_set_log_verbosity_type)(gpr_log_severity deprecated_setting);
|
751
751
|
extern gpr_set_log_verbosity_type gpr_set_log_verbosity_import;
|
752
752
|
#define gpr_set_log_verbosity gpr_set_log_verbosity_import
|
753
753
|
typedef void(*gpr_log_verbosity_init_type)(void);
|
754
754
|
extern gpr_log_verbosity_init_type gpr_log_verbosity_init_import;
|
755
755
|
#define gpr_log_verbosity_init gpr_log_verbosity_init_import
|
756
|
-
typedef void(*gpr_set_log_function_type)(gpr_log_func
|
756
|
+
typedef void(*gpr_set_log_function_type)(gpr_log_func deprecated_setting);
|
757
757
|
extern gpr_set_log_function_type gpr_set_log_function_import;
|
758
758
|
#define gpr_set_log_function gpr_set_log_function_import
|
759
759
|
typedef void(*gpr_assertion_failed_type)(const char* filename, int line, const char* message);
|