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
@@ -32,6 +32,7 @@
|
|
32
32
|
#include "absl/base/thread_annotations.h"
|
33
33
|
#include "absl/functional/function_ref.h"
|
34
34
|
#include "absl/log/check.h"
|
35
|
+
#include "absl/log/log.h"
|
35
36
|
#include "absl/status/status.h"
|
36
37
|
#include "absl/status/statusor.h"
|
37
38
|
#include "absl/strings/str_cat.h"
|
@@ -69,9 +70,6 @@
|
|
69
70
|
#include "src/core/lib/iomgr/iomgr_fwd.h"
|
70
71
|
#include "src/core/lib/iomgr/pollset_set.h"
|
71
72
|
#include "src/core/lib/iomgr/resolved_address.h"
|
72
|
-
#include "src/core/lib/json/json.h"
|
73
|
-
#include "src/core/lib/json/json_args.h"
|
74
|
-
#include "src/core/lib/json/json_object_loader.h"
|
75
73
|
#include "src/core/lib/transport/connectivity_state.h"
|
76
74
|
#include "src/core/load_balancing/child_policy_handler.h"
|
77
75
|
#include "src/core/load_balancing/delegating_helper.h"
|
@@ -81,14 +79,15 @@
|
|
81
79
|
#include "src/core/load_balancing/subchannel_interface.h"
|
82
80
|
#include "src/core/resolver/endpoint_addresses.h"
|
83
81
|
#include "src/core/resolver/xds/xds_dependency_manager.h"
|
82
|
+
#include "src/core/util/json/json.h"
|
83
|
+
#include "src/core/util/json/json_args.h"
|
84
|
+
#include "src/core/util/json/json_object_loader.h"
|
84
85
|
#include "src/core/xds/grpc/xds_health_status.h"
|
85
86
|
|
86
87
|
namespace grpc_core {
|
87
88
|
|
88
89
|
using ::grpc_event_engine::experimental::EventEngine;
|
89
90
|
|
90
|
-
TraceFlag grpc_lb_xds_override_host_trace(false, "xds_override_host_lb");
|
91
|
-
|
92
91
|
namespace {
|
93
92
|
template <typename Value>
|
94
93
|
struct PtrLessThan {
|
@@ -466,7 +465,7 @@ XdsOverrideHostLb::Picker::Picker(
|
|
466
465
|
: policy_(std::move(xds_override_host_lb)),
|
467
466
|
picker_(std::move(picker)),
|
468
467
|
override_host_health_status_set_(override_host_health_status_set) {
|
469
|
-
if (GRPC_TRACE_FLAG_ENABLED(
|
468
|
+
if (GRPC_TRACE_FLAG_ENABLED(xds_override_host_lb)) {
|
470
469
|
gpr_log(GPR_INFO, "[xds_override_host_lb %p] constructed new picker %p",
|
471
470
|
policy_.get(), this);
|
472
471
|
}
|
@@ -489,7 +488,7 @@ XdsOverrideHostLb::Picker::PickOverridenHost(
|
|
489
488
|
if (it == policy_->subchannel_map_.end()) continue;
|
490
489
|
if (!override_host_health_status_set_.Contains(
|
491
490
|
it->second->eds_health_status())) {
|
492
|
-
if (GRPC_TRACE_FLAG_ENABLED(
|
491
|
+
if (GRPC_TRACE_FLAG_ENABLED(xds_override_host_lb)) {
|
493
492
|
gpr_log(GPR_INFO,
|
494
493
|
"Subchannel %s health status is not overridden (%s)",
|
495
494
|
std::string(address).c_str(),
|
@@ -499,7 +498,7 @@ XdsOverrideHostLb::Picker::PickOverridenHost(
|
|
499
498
|
}
|
500
499
|
auto subchannel = it->second->GetSubchannelRef();
|
501
500
|
if (subchannel == nullptr) {
|
502
|
-
if (GRPC_TRACE_FLAG_ENABLED(
|
501
|
+
if (GRPC_TRACE_FLAG_ENABLED(xds_override_host_lb)) {
|
503
502
|
gpr_log(GPR_INFO, "No subchannel for %s",
|
504
503
|
std::string(address).c_str());
|
505
504
|
}
|
@@ -512,7 +511,7 @@ XdsOverrideHostLb::Picker::PickOverridenHost(
|
|
512
511
|
if (connectivity_state == GRPC_CHANNEL_READY) {
|
513
512
|
// Found a READY subchannel. Pass back the actual address list
|
514
513
|
// and return the subchannel.
|
515
|
-
if (GRPC_TRACE_FLAG_ENABLED(
|
514
|
+
if (GRPC_TRACE_FLAG_ENABLED(xds_override_host_lb)) {
|
516
515
|
gpr_log(GPR_INFO, "Picker override found READY subchannel %s",
|
517
516
|
std::string(address).c_str());
|
518
517
|
}
|
@@ -529,8 +528,8 @@ XdsOverrideHostLb::Picker::PickOverridenHost(
|
|
529
528
|
// No READY subchannel found. If we found an IDLE subchannel, trigger
|
530
529
|
// a connection attempt and queue the pick until that attempt completes.
|
531
530
|
if (idle_subchannel != nullptr) {
|
532
|
-
if (GRPC_TRACE_FLAG_ENABLED(
|
533
|
-
|
531
|
+
if (GRPC_TRACE_FLAG_ENABLED(xds_override_host_lb)) {
|
532
|
+
LOG(INFO) << "Picker override found IDLE subchannel";
|
534
533
|
}
|
535
534
|
// Deletes itself after the connection is requested.
|
536
535
|
new SubchannelConnectionRequester(std::move(idle_subchannel));
|
@@ -539,8 +538,8 @@ XdsOverrideHostLb::Picker::PickOverridenHost(
|
|
539
538
|
// No READY or IDLE subchannels. If we found a CONNECTING subchannel,
|
540
539
|
// queue the pick and wait for the connection attempt to complete.
|
541
540
|
if (found_connecting) {
|
542
|
-
if (GRPC_TRACE_FLAG_ENABLED(
|
543
|
-
|
541
|
+
if (GRPC_TRACE_FLAG_ENABLED(xds_override_host_lb)) {
|
542
|
+
LOG(INFO) << "Picker override found CONNECTING subchannel";
|
544
543
|
}
|
545
544
|
return PickResult::Queue();
|
546
545
|
}
|
@@ -548,8 +547,8 @@ XdsOverrideHostLb::Picker::PickOverridenHost(
|
|
548
547
|
// entry that has no subchannel, then queue the pick and trigger
|
549
548
|
// creation of a subchannel for that entry.
|
550
549
|
if (!address_with_no_subchannel.empty()) {
|
551
|
-
if (GRPC_TRACE_FLAG_ENABLED(
|
552
|
-
|
550
|
+
if (GRPC_TRACE_FLAG_ENABLED(xds_override_host_lb)) {
|
551
|
+
LOG(INFO) << "Picker override found entry with no subchannel";
|
553
552
|
}
|
554
553
|
if (!IsWorkSerializerDispatchEnabled()) {
|
555
554
|
new SubchannelCreationRequester(policy_, address_with_no_subchannel);
|
@@ -610,7 +609,7 @@ XdsOverrideHostLb::IdleTimer::IdleTimer(RefCountedPtr<XdsOverrideHostLb> policy,
|
|
610
609
|
// Min time between timer runs is 5s so that we don't kill ourselves
|
611
610
|
// with lock contention and CPU usage due to sweeps over the map.
|
612
611
|
duration = std::max(duration, Duration::Seconds(5));
|
613
|
-
if (GRPC_TRACE_FLAG_ENABLED(
|
612
|
+
if (GRPC_TRACE_FLAG_ENABLED(xds_override_host_lb)) {
|
614
613
|
gpr_log(GPR_INFO,
|
615
614
|
"[xds_override_host_lb %p] idle timer %p: subchannel cleanup "
|
616
615
|
"pass will run in %s",
|
@@ -629,7 +628,7 @@ XdsOverrideHostLb::IdleTimer::IdleTimer(RefCountedPtr<XdsOverrideHostLb> policy,
|
|
629
628
|
|
630
629
|
void XdsOverrideHostLb::IdleTimer::Orphan() {
|
631
630
|
if (timer_handle_.has_value()) {
|
632
|
-
if (GRPC_TRACE_FLAG_ENABLED(
|
631
|
+
if (GRPC_TRACE_FLAG_ENABLED(xds_override_host_lb)) {
|
633
632
|
gpr_log(GPR_INFO, "[xds_override_host_lb %p] idle timer %p: cancelling",
|
634
633
|
policy_.get(), this);
|
635
634
|
}
|
@@ -642,7 +641,7 @@ void XdsOverrideHostLb::IdleTimer::Orphan() {
|
|
642
641
|
void XdsOverrideHostLb::IdleTimer::OnTimerLocked() {
|
643
642
|
if (timer_handle_.has_value()) {
|
644
643
|
timer_handle_.reset();
|
645
|
-
if (GRPC_TRACE_FLAG_ENABLED(
|
644
|
+
if (GRPC_TRACE_FLAG_ENABLED(xds_override_host_lb)) {
|
646
645
|
gpr_log(GPR_INFO, "[xds_override_host_lb %p] idle timer %p: timer fired",
|
647
646
|
policy_.get(), this);
|
648
647
|
}
|
@@ -656,13 +655,13 @@ void XdsOverrideHostLb::IdleTimer::OnTimerLocked() {
|
|
656
655
|
|
657
656
|
XdsOverrideHostLb::XdsOverrideHostLb(Args args)
|
658
657
|
: LoadBalancingPolicy(std::move(args)) {
|
659
|
-
if (GRPC_TRACE_FLAG_ENABLED(
|
658
|
+
if (GRPC_TRACE_FLAG_ENABLED(xds_override_host_lb)) {
|
660
659
|
gpr_log(GPR_INFO, "[xds_override_host_lb %p] created", this);
|
661
660
|
}
|
662
661
|
}
|
663
662
|
|
664
663
|
XdsOverrideHostLb::~XdsOverrideHostLb() {
|
665
|
-
if (GRPC_TRACE_FLAG_ENABLED(
|
664
|
+
if (GRPC_TRACE_FLAG_ENABLED(xds_override_host_lb)) {
|
666
665
|
gpr_log(GPR_INFO,
|
667
666
|
"[xds_override_host_lb %p] destroying xds_override_host LB policy",
|
668
667
|
this);
|
@@ -670,7 +669,7 @@ XdsOverrideHostLb::~XdsOverrideHostLb() {
|
|
670
669
|
}
|
671
670
|
|
672
671
|
void XdsOverrideHostLb::ShutdownLocked() {
|
673
|
-
if (GRPC_TRACE_FLAG_ENABLED(
|
672
|
+
if (GRPC_TRACE_FLAG_ENABLED(xds_override_host_lb)) {
|
674
673
|
gpr_log(GPR_INFO, "[xds_override_host_lb %p] shutting down", this);
|
675
674
|
}
|
676
675
|
shutting_down_ = true;
|
@@ -703,7 +702,7 @@ void XdsOverrideHostLb::ResetState() {
|
|
703
702
|
}
|
704
703
|
|
705
704
|
void XdsOverrideHostLb::ReportTransientFailure(absl::Status status) {
|
706
|
-
if (GRPC_TRACE_FLAG_ENABLED(
|
705
|
+
if (GRPC_TRACE_FLAG_ENABLED(xds_override_host_lb)) {
|
707
706
|
gpr_log(GPR_INFO,
|
708
707
|
"[xds_override_host_lb %p] reporting TRANSIENT_FAILURE: %s", this,
|
709
708
|
status.ToString().c_str());
|
@@ -741,7 +740,7 @@ class ChildEndpointIterator final : public EndpointAddressesIterator {
|
|
741
740
|
parent_it_->ForEach([&](const EndpointAddresses& endpoint) {
|
742
741
|
XdsHealthStatus status = GetEndpointHealthStatus(endpoint);
|
743
742
|
if (status.status() != XdsHealthStatus::kDraining) {
|
744
|
-
if (GRPC_TRACE_FLAG_ENABLED(
|
743
|
+
if (GRPC_TRACE_FLAG_ENABLED(xds_override_host_lb)) {
|
745
744
|
gpr_log(GPR_INFO,
|
746
745
|
"[xds_override_host_lb %p] endpoint %s: not draining, "
|
747
746
|
"passing to child",
|
@@ -757,7 +756,7 @@ class ChildEndpointIterator final : public EndpointAddressesIterator {
|
|
757
756
|
};
|
758
757
|
|
759
758
|
absl::Status XdsOverrideHostLb::UpdateLocked(UpdateArgs args) {
|
760
|
-
if (GRPC_TRACE_FLAG_ENABLED(
|
759
|
+
if (GRPC_TRACE_FLAG_ENABLED(xds_override_host_lb)) {
|
761
760
|
gpr_log(GPR_INFO, "[xds_override_host_lb %p] Received update", this);
|
762
761
|
}
|
763
762
|
// Grab new LB policy config.
|
@@ -787,7 +786,7 @@ absl::Status XdsOverrideHostLb::UpdateLocked(UpdateArgs args) {
|
|
787
786
|
args_ = std::move(args.args);
|
788
787
|
override_host_status_set_ = it->second->cluster->override_host_statuses;
|
789
788
|
connection_idle_timeout_ = it->second->cluster->connection_idle_timeout;
|
790
|
-
if (GRPC_TRACE_FLAG_ENABLED(
|
789
|
+
if (GRPC_TRACE_FLAG_ENABLED(xds_override_host_lb)) {
|
791
790
|
gpr_log(GPR_INFO,
|
792
791
|
"[xds_override_host_lb %p] override host status set: %s "
|
793
792
|
"connection idle timeout: %s",
|
@@ -800,7 +799,7 @@ absl::Status XdsOverrideHostLb::UpdateLocked(UpdateArgs args) {
|
|
800
799
|
args.addresses =
|
801
800
|
std::make_shared<ChildEndpointIterator>(std::move(*args.addresses));
|
802
801
|
} else {
|
803
|
-
if (GRPC_TRACE_FLAG_ENABLED(
|
802
|
+
if (GRPC_TRACE_FLAG_ENABLED(xds_override_host_lb)) {
|
804
803
|
gpr_log(GPR_INFO, "[xds_override_host_lb %p] address error: %s", this,
|
805
804
|
args.addresses.status().ToString().c_str());
|
806
805
|
}
|
@@ -815,7 +814,7 @@ absl::Status XdsOverrideHostLb::UpdateLocked(UpdateArgs args) {
|
|
815
814
|
update_args.resolution_note = std::move(args.resolution_note);
|
816
815
|
update_args.config = new_config->child_config();
|
817
816
|
update_args.args = args_;
|
818
|
-
if (GRPC_TRACE_FLAG_ENABLED(
|
817
|
+
if (GRPC_TRACE_FLAG_ENABLED(xds_override_host_lb)) {
|
819
818
|
gpr_log(GPR_INFO,
|
820
819
|
"[xds_override_host_lb %p] Updating child policy handler %p", this,
|
821
820
|
child_policy_.get());
|
@@ -827,7 +826,7 @@ void XdsOverrideHostLb::MaybeUpdatePickerLocked() {
|
|
827
826
|
if (picker_ != nullptr) {
|
828
827
|
auto xds_override_host_picker = MakeRefCounted<Picker>(
|
829
828
|
RefAsSubclass<XdsOverrideHostLb>(), picker_, override_host_status_set_);
|
830
|
-
if (GRPC_TRACE_FLAG_ENABLED(
|
829
|
+
if (GRPC_TRACE_FLAG_ENABLED(xds_override_host_lb)) {
|
831
830
|
gpr_log(GPR_INFO,
|
832
831
|
"[xds_override_host_lb %p] updating connectivity: state=%s "
|
833
832
|
"status=(%s) picker=%p",
|
@@ -848,8 +847,8 @@ OrphanablePtr<LoadBalancingPolicy> XdsOverrideHostLb::CreateChildPolicyLocked(
|
|
848
847
|
RefAsSubclass<XdsOverrideHostLb>(DEBUG_LOCATION, "Helper"));
|
849
848
|
OrphanablePtr<LoadBalancingPolicy> lb_policy =
|
850
849
|
MakeOrphanable<ChildPolicyHandler>(std::move(lb_policy_args),
|
851
|
-
&
|
852
|
-
if (GRPC_TRACE_FLAG_ENABLED(
|
850
|
+
&xds_override_host_lb_trace);
|
851
|
+
if (GRPC_TRACE_FLAG_ENABLED(xds_override_host_lb)) {
|
853
852
|
gpr_log(GPR_INFO,
|
854
853
|
"[xds_override_host_lb %p] Created new child policy handler %p",
|
855
854
|
this, lb_policy.get());
|
@@ -877,7 +876,7 @@ void XdsOverrideHostLb::UpdateAddressMap(
|
|
877
876
|
// Skip draining hosts if not in the override status set.
|
878
877
|
if (status.status() == XdsHealthStatus::kDraining &&
|
879
878
|
!override_host_status_set_.Contains(status)) {
|
880
|
-
if (GRPC_TRACE_FLAG_ENABLED(
|
879
|
+
if (GRPC_TRACE_FLAG_ENABLED(xds_override_host_lb)) {
|
881
880
|
gpr_log(GPR_INFO,
|
882
881
|
"[xds_override_host_lb %p] endpoint %s: draining but not in "
|
883
882
|
"override_host_status set -- ignoring",
|
@@ -890,7 +889,7 @@ void XdsOverrideHostLb::UpdateAddressMap(
|
|
890
889
|
for (const auto& address : endpoint.addresses()) {
|
891
890
|
auto key = grpc_sockaddr_to_string(&address, /*normalize=*/false);
|
892
891
|
if (!key.ok()) {
|
893
|
-
if (GRPC_TRACE_FLAG_ENABLED(
|
892
|
+
if (GRPC_TRACE_FLAG_ENABLED(xds_override_host_lb)) {
|
894
893
|
gpr_log(GPR_INFO,
|
895
894
|
"[xds_override_host_lb %p] no key for endpoint address; "
|
896
895
|
"not adding to map",
|
@@ -922,7 +921,7 @@ void XdsOverrideHostLb::UpdateAddressMap(
|
|
922
921
|
MutexLock lock(&mu_);
|
923
922
|
for (auto it = subchannel_map_.begin(); it != subchannel_map_.end();) {
|
924
923
|
if (addresses_for_map.find(it->first) == addresses_for_map.end()) {
|
925
|
-
if (GRPC_TRACE_FLAG_ENABLED(
|
924
|
+
if (GRPC_TRACE_FLAG_ENABLED(xds_override_host_lb)) {
|
926
925
|
gpr_log(GPR_INFO, "[xds_override_host_lb %p] removing map key %s",
|
927
926
|
this, it->first.c_str());
|
928
927
|
}
|
@@ -937,14 +936,14 @@ void XdsOverrideHostLb::UpdateAddressMap(
|
|
937
936
|
auto& address_info = p.second;
|
938
937
|
auto it = subchannel_map_.find(address);
|
939
938
|
if (it == subchannel_map_.end()) {
|
940
|
-
if (GRPC_TRACE_FLAG_ENABLED(
|
939
|
+
if (GRPC_TRACE_FLAG_ENABLED(xds_override_host_lb)) {
|
941
940
|
gpr_log(GPR_INFO, "[xds_override_host_lb %p] adding map key %s", this,
|
942
941
|
address.c_str());
|
943
942
|
}
|
944
943
|
it = subchannel_map_.emplace(address, MakeRefCounted<SubchannelEntry>())
|
945
944
|
.first;
|
946
945
|
}
|
947
|
-
if (GRPC_TRACE_FLAG_ENABLED(
|
946
|
+
if (GRPC_TRACE_FLAG_ENABLED(xds_override_host_lb)) {
|
948
947
|
gpr_log(GPR_INFO,
|
949
948
|
"[xds_override_host_lb %p] map key %s: setting "
|
950
949
|
"eds_health_status=%s address_list=%s",
|
@@ -989,7 +988,7 @@ XdsOverrideHostLb::AdoptSubchannel(
|
|
989
988
|
}
|
990
989
|
|
991
990
|
void XdsOverrideHostLb::CreateSubchannelForAddress(absl::string_view address) {
|
992
|
-
if (GRPC_TRACE_FLAG_ENABLED(
|
991
|
+
if (GRPC_TRACE_FLAG_ENABLED(xds_override_host_lb)) {
|
993
992
|
gpr_log(GPR_INFO,
|
994
993
|
"[xds_override_host_lb %p] creating owned subchannel for %s", this,
|
995
994
|
std::string(address).c_str());
|
@@ -1033,7 +1032,7 @@ void XdsOverrideHostLb::CleanupSubchannels() {
|
|
1033
1032
|
if (p.second->last_used_time() <= idle_threshold) {
|
1034
1033
|
auto subchannel = p.second->TakeOwnedSubchannel();
|
1035
1034
|
if (subchannel != nullptr) {
|
1036
|
-
if (GRPC_TRACE_FLAG_ENABLED(
|
1035
|
+
if (GRPC_TRACE_FLAG_ENABLED(xds_override_host_lb)) {
|
1037
1036
|
gpr_log(GPR_INFO,
|
1038
1037
|
"[xds_override_host_lb %p] dropping subchannel for %s",
|
1039
1038
|
this, p.first.c_str());
|
@@ -1060,7 +1059,7 @@ void XdsOverrideHostLb::CleanupSubchannels() {
|
|
1060
1059
|
RefCountedPtr<SubchannelInterface> XdsOverrideHostLb::Helper::CreateSubchannel(
|
1061
1060
|
const grpc_resolved_address& address, const ChannelArgs& per_address_args,
|
1062
1061
|
const ChannelArgs& args) {
|
1063
|
-
if (GRPC_TRACE_FLAG_ENABLED(
|
1062
|
+
if (GRPC_TRACE_FLAG_ENABLED(xds_override_host_lb)) {
|
1064
1063
|
auto key = grpc_sockaddr_to_string(&address, /*normalize=*/false);
|
1065
1064
|
gpr_log(GPR_INFO,
|
1066
1065
|
"[xds_override_host_lb %p] creating subchannel for %s, "
|
@@ -1113,7 +1112,7 @@ void XdsOverrideHostLb::SubchannelWrapper::CancelConnectivityStateWatch(
|
|
1113
1112
|
}
|
1114
1113
|
|
1115
1114
|
void XdsOverrideHostLb::SubchannelWrapper::Orphaned() {
|
1116
|
-
if (GRPC_TRACE_FLAG_ENABLED(
|
1115
|
+
if (GRPC_TRACE_FLAG_ENABLED(xds_override_host_lb)) {
|
1117
1116
|
gpr_log(GPR_INFO,
|
1118
1117
|
"[xds_override_host_lb %p] subchannel wrapper %p orphaned",
|
1119
1118
|
policy_.get(), this);
|
@@ -1227,7 +1226,7 @@ void XdsOverrideHostLb::SubchannelEntry::OnSubchannelWrapperOrphan(
|
|
1227
1226
|
auto* subchannel = GetSubchannel();
|
1228
1227
|
if (subchannel != wrapper) return;
|
1229
1228
|
if (last_used_time_ < (Timestamp::Now() - connection_idle_timeout)) {
|
1230
|
-
if (GRPC_TRACE_FLAG_ENABLED(
|
1229
|
+
if (GRPC_TRACE_FLAG_ENABLED(xds_override_host_lb)) {
|
1231
1230
|
gpr_log(GPR_INFO,
|
1232
1231
|
"[xds_override_host_lb] removing unowned subchannel wrapper %p",
|
1233
1232
|
subchannel);
|
@@ -1238,7 +1237,7 @@ void XdsOverrideHostLb::SubchannelEntry::OnSubchannelWrapperOrphan(
|
|
1238
1237
|
// is still within its idle timeout, so we make a new copy of
|
1239
1238
|
// the wrapper with the same underlying subchannel, and we hold
|
1240
1239
|
// our own ref to it.
|
1241
|
-
if (GRPC_TRACE_FLAG_ENABLED(
|
1240
|
+
if (GRPC_TRACE_FLAG_ENABLED(xds_override_host_lb)) {
|
1242
1241
|
gpr_log(GPR_INFO,
|
1243
1242
|
"[xds_override_host_lb] subchannel wrapper %p: cloning "
|
1244
1243
|
"to gain ownership",
|
@@ -23,10 +23,10 @@
|
|
23
23
|
|
24
24
|
#include "src/core/lib/gprpp/ref_counted_ptr.h"
|
25
25
|
#include "src/core/lib/gprpp/validation_errors.h"
|
26
|
-
#include "src/core/lib/json/json.h"
|
27
|
-
#include "src/core/lib/json/json_args.h"
|
28
|
-
#include "src/core/lib/json/json_object_loader.h"
|
29
26
|
#include "src/core/load_balancing/lb_policy.h"
|
27
|
+
#include "src/core/util/json/json.h"
|
28
|
+
#include "src/core/util/json/json_args.h"
|
29
|
+
#include "src/core/util/json/json_object_loader.h"
|
30
30
|
|
31
31
|
namespace grpc_core {
|
32
32
|
|
@@ -40,22 +40,20 @@
|
|
40
40
|
#include "src/core/lib/gprpp/ref_counted_string.h"
|
41
41
|
#include "src/core/lib/gprpp/validation_errors.h"
|
42
42
|
#include "src/core/lib/iomgr/pollset_set.h"
|
43
|
-
#include "src/core/lib/json/json.h"
|
44
|
-
#include "src/core/lib/json/json_args.h"
|
45
|
-
#include "src/core/lib/json/json_object_loader.h"
|
46
|
-
#include "src/core/lib/json/json_writer.h"
|
47
43
|
#include "src/core/load_balancing/delegating_helper.h"
|
48
44
|
#include "src/core/load_balancing/lb_policy.h"
|
49
45
|
#include "src/core/load_balancing/lb_policy_factory.h"
|
50
46
|
#include "src/core/load_balancing/lb_policy_registry.h"
|
51
47
|
#include "src/core/load_balancing/xds/xds_channel_args.h"
|
52
48
|
#include "src/core/resolver/endpoint_addresses.h"
|
49
|
+
#include "src/core/util/json/json.h"
|
50
|
+
#include "src/core/util/json/json_args.h"
|
51
|
+
#include "src/core/util/json/json_object_loader.h"
|
52
|
+
#include "src/core/util/json/json_writer.h"
|
53
53
|
#include "src/core/xds/xds_client/xds_client_stats.h"
|
54
54
|
|
55
55
|
namespace grpc_core {
|
56
56
|
|
57
|
-
TraceFlag grpc_xds_wrr_locality_lb_trace(false, "xds_wrr_locality_lb");
|
58
|
-
|
59
57
|
namespace {
|
60
58
|
|
61
59
|
constexpr absl::string_view kXdsWrrLocality = "xds_wrr_locality_experimental";
|
@@ -137,13 +135,13 @@ XdsWrrLocalityLb::XdsWrrLocalityLb(Args args)
|
|
137
135
|
: LoadBalancingPolicy(std::move(args)) {}
|
138
136
|
|
139
137
|
XdsWrrLocalityLb::~XdsWrrLocalityLb() {
|
140
|
-
if (GRPC_TRACE_FLAG_ENABLED(
|
138
|
+
if (GRPC_TRACE_FLAG_ENABLED(xds_wrr_locality_lb)) {
|
141
139
|
gpr_log(GPR_INFO, "[xds_wrr_locality_lb %p] destroying", this);
|
142
140
|
}
|
143
141
|
}
|
144
142
|
|
145
143
|
void XdsWrrLocalityLb::ShutdownLocked() {
|
146
|
-
if (GRPC_TRACE_FLAG_ENABLED(
|
144
|
+
if (GRPC_TRACE_FLAG_ENABLED(xds_wrr_locality_lb)) {
|
147
145
|
gpr_log(GPR_INFO, "[xds_wrr_locality_lb %p] shutting down", this);
|
148
146
|
}
|
149
147
|
if (child_policy_ != nullptr) {
|
@@ -162,7 +160,7 @@ void XdsWrrLocalityLb::ResetBackoffLocked() {
|
|
162
160
|
}
|
163
161
|
|
164
162
|
absl::Status XdsWrrLocalityLb::UpdateLocked(UpdateArgs args) {
|
165
|
-
if (GRPC_TRACE_FLAG_ENABLED(
|
163
|
+
if (GRPC_TRACE_FLAG_ENABLED(xds_wrr_locality_lb)) {
|
166
164
|
gpr_log(GPR_INFO, "[xds_wrr_locality_lb %p] Received update", this);
|
167
165
|
}
|
168
166
|
auto config = args.config.TakeAsSubclass<XdsWrrLocalityLbConfig>();
|
@@ -204,7 +202,7 @@ absl::Status XdsWrrLocalityLb::UpdateLocked(UpdateArgs args) {
|
|
204
202
|
})},
|
205
203
|
}),
|
206
204
|
});
|
207
|
-
if (GRPC_TRACE_FLAG_ENABLED(
|
205
|
+
if (GRPC_TRACE_FLAG_ENABLED(xds_wrr_locality_lb)) {
|
208
206
|
gpr_log(GPR_INFO,
|
209
207
|
"[xds_wrr_locality_lb %p] generated child policy config: %s", this,
|
210
208
|
JsonDump(child_config_json, /*indent=*/1).c_str());
|
@@ -240,7 +238,7 @@ absl::Status XdsWrrLocalityLb::UpdateLocked(UpdateArgs args) {
|
|
240
238
|
update_args.resolution_note = std::move(args.resolution_note);
|
241
239
|
update_args.args = std::move(args.args);
|
242
240
|
// Update the policy.
|
243
|
-
if (GRPC_TRACE_FLAG_ENABLED(
|
241
|
+
if (GRPC_TRACE_FLAG_ENABLED(xds_wrr_locality_lb)) {
|
244
242
|
gpr_log(GPR_INFO, "[xds_wrr_locality_lb %p] updating child policy %p", this,
|
245
243
|
child_policy_.get());
|
246
244
|
}
|
@@ -257,7 +255,7 @@ OrphanablePtr<LoadBalancingPolicy> XdsWrrLocalityLb::CreateChildPolicyLocked(
|
|
257
255
|
auto lb_policy =
|
258
256
|
CoreConfiguration::Get().lb_policy_registry().CreateLoadBalancingPolicy(
|
259
257
|
"weighted_target_experimental", std::move(lb_policy_args));
|
260
|
-
if (GRPC_TRACE_FLAG_ENABLED(
|
258
|
+
if (GRPC_TRACE_FLAG_ENABLED(xds_wrr_locality_lb)) {
|
261
259
|
gpr_log(GPR_INFO, "[xds_wrr_locality_lb %p] created new child policy %p",
|
262
260
|
this, lb_policy.get());
|
263
261
|
}
|
@@ -67,6 +67,8 @@ extern void RegisterWeightedRoundRobinLbPolicy(
|
|
67
67
|
CoreConfiguration::Builder* builder);
|
68
68
|
extern void RegisterHttpProxyMapper(CoreConfiguration::Builder* builder);
|
69
69
|
extern void RegisterConnectedChannel(CoreConfiguration::Builder* builder);
|
70
|
+
extern void RegisterLoadBalancedCallDestination(
|
71
|
+
CoreConfiguration::Builder* builder);
|
70
72
|
#ifndef GRPC_NO_RLS
|
71
73
|
extern void RegisterRlsLbPolicy(CoreConfiguration::Builder* builder);
|
72
74
|
#endif // !GRPC_NO_RLS
|
@@ -79,10 +81,11 @@ namespace {
|
|
79
81
|
void RegisterBuiltins(CoreConfiguration::Builder* builder) {
|
80
82
|
RegisterServerCallTracerFilter(builder);
|
81
83
|
builder->channel_init()
|
82
|
-
->
|
84
|
+
->RegisterV2Filter<LameClientFilter>(GRPC_CLIENT_LAME_CHANNEL)
|
83
85
|
.Terminal();
|
84
86
|
builder->channel_init()
|
85
87
|
->RegisterFilter(GRPC_SERVER_CHANNEL, &Server::kServerTopFilter)
|
88
|
+
.SkipV3()
|
86
89
|
.BeforeAll();
|
87
90
|
}
|
88
91
|
|
@@ -118,6 +121,7 @@ void BuildCoreConfiguration(CoreConfiguration::Builder* builder) {
|
|
118
121
|
RegisterSockaddrResolver(builder);
|
119
122
|
RegisterFakeResolver(builder);
|
120
123
|
RegisterHttpProxyMapper(builder);
|
124
|
+
RegisterLoadBalancedCallDestination(builder);
|
121
125
|
#ifdef GPR_SUPPORT_BINDER_TRANSPORT
|
122
126
|
RegisterBinderResolver(builder);
|
123
127
|
#endif
|
@@ -37,6 +37,7 @@
|
|
37
37
|
#include <memory>
|
38
38
|
#include <utility>
|
39
39
|
|
40
|
+
#include "absl/log/log.h"
|
40
41
|
#include "absl/status/statusor.h"
|
41
42
|
#include "absl/strings/str_cat.h"
|
42
43
|
#include "absl/strings/string_view.h"
|
@@ -126,12 +127,12 @@ class BinderResolverFactory final : public ResolverFactory {
|
|
126
127
|
grpc_resolved_address addr;
|
127
128
|
{
|
128
129
|
if (!uri.authority().empty()) {
|
129
|
-
|
130
|
+
LOG(ERROR) << "authority is not supported in binder scheme";
|
130
131
|
return false;
|
131
132
|
}
|
132
133
|
grpc_error_handle error = BinderAddrPopulate(uri.path(), &addr);
|
133
134
|
if (!error.ok()) {
|
134
|
-
|
135
|
+
LOG(ERROR) << StatusToString(error);
|
135
136
|
return false;
|
136
137
|
}
|
137
138
|
}
|
@@ -24,6 +24,7 @@
|
|
24
24
|
#include <vector>
|
25
25
|
|
26
26
|
#include "absl/base/thread_annotations.h"
|
27
|
+
#include "absl/log/log.h"
|
27
28
|
#include "absl/status/status.h"
|
28
29
|
#include "absl/status/statusor.h"
|
29
30
|
#include "absl/strings/match.h"
|
@@ -204,7 +205,7 @@ AresClientChannelDNSResolver::AresClientChannelDNSResolver(
|
|
204
205
|
.set_jitter(GRPC_DNS_RECONNECT_JITTER)
|
205
206
|
.set_max_backoff(Duration::Milliseconds(
|
206
207
|
GRPC_DNS_RECONNECT_MAX_BACKOFF_SECONDS * 1000)),
|
207
|
-
&
|
208
|
+
&cares_resolver_trace),
|
208
209
|
request_service_config_(
|
209
210
|
!channel_args()
|
210
211
|
.GetBool(GRPC_ARG_SERVICE_CONFIG_DISABLE_RESOLUTION)
|
@@ -348,7 +349,7 @@ class AresClientChannelDNSResolverFactory final : public ResolverFactory {
|
|
348
349
|
|
349
350
|
bool IsValidUri(const URI& uri) const override {
|
350
351
|
if (absl::StripPrefix(uri.path(), "/").empty()) {
|
351
|
-
|
352
|
+
LOG(ERROR) << "no server name supplied in dns URI";
|
352
353
|
return false;
|
353
354
|
}
|
354
355
|
return true;
|
@@ -39,7 +39,6 @@
|
|
39
39
|
#include <grpc/support/time.h>
|
40
40
|
|
41
41
|
#include "src/core/lib/address_utils/sockaddr_utils.h"
|
42
|
-
#include "src/core/lib/gpr/string.h"
|
43
42
|
#include "src/core/lib/gprpp/crash.h"
|
44
43
|
#include "src/core/lib/gprpp/memory.h"
|
45
44
|
#include "src/core/lib/iomgr/iocp_windows.h"
|
@@ -50,6 +49,7 @@
|
|
50
49
|
#include "src/core/lib/slice/slice_internal.h"
|
51
50
|
#include "src/core/resolver/dns/c_ares/grpc_ares_ev_driver.h"
|
52
51
|
#include "src/core/resolver/dns/c_ares/grpc_ares_wrapper.h"
|
52
|
+
#include "src/core/util/string.h"
|
53
53
|
|
54
54
|
// TODO(apolcyn): remove this hack after fixing upstream.
|
55
55
|
// Our grpc/c-ares code on Windows uses the ares_set_socket_functions API,
|
@@ -19,6 +19,7 @@
|
|
19
19
|
#include <algorithm>
|
20
20
|
#include <vector>
|
21
21
|
|
22
|
+
#include "absl/log/log.h"
|
22
23
|
#include "absl/strings/string_view.h"
|
23
24
|
|
24
25
|
#include <grpc/impl/channel_arg_names.h>
|
@@ -60,7 +61,6 @@
|
|
60
61
|
#include "src/core/lib/address_utils/parse_address.h"
|
61
62
|
#include "src/core/lib/address_utils/sockaddr_utils.h"
|
62
63
|
#include "src/core/lib/channel/channel_args.h"
|
63
|
-
#include "src/core/lib/gpr/string.h"
|
64
64
|
#include "src/core/lib/gprpp/debug_location.h"
|
65
65
|
#include "src/core/lib/gprpp/host_port.h"
|
66
66
|
#include "src/core/lib/gprpp/time.h"
|
@@ -71,15 +71,11 @@
|
|
71
71
|
#include "src/core/lib/iomgr/timer.h"
|
72
72
|
#include "src/core/resolver/dns/c_ares/grpc_ares_ev_driver.h"
|
73
73
|
#include "src/core/resolver/dns/c_ares/grpc_ares_wrapper.h"
|
74
|
+
#include "src/core/util/string.h"
|
74
75
|
|
75
76
|
using grpc_core::EndpointAddresses;
|
76
77
|
using grpc_core::EndpointAddressesList;
|
77
78
|
|
78
|
-
grpc_core::TraceFlag grpc_trace_cares_address_sorting(false,
|
79
|
-
"cares_address_sorting");
|
80
|
-
|
81
|
-
grpc_core::TraceFlag grpc_trace_cares_resolver(false, "cares_resolver");
|
82
|
-
|
83
79
|
typedef struct fd_node {
|
84
80
|
// default constructor exists only for linked list manipulation
|
85
81
|
fd_node() : ev_driver(nullptr) {}
|
@@ -571,7 +567,7 @@ static void log_address_sorting_list(const grpc_ares_request* r,
|
|
571
567
|
|
572
568
|
void grpc_cares_wrapper_address_sorting_sort(const grpc_ares_request* r,
|
573
569
|
EndpointAddressesList* addresses) {
|
574
|
-
if (GRPC_TRACE_FLAG_ENABLED(
|
570
|
+
if (GRPC_TRACE_FLAG_ENABLED(cares_address_sorting)) {
|
575
571
|
log_address_sorting_list(r, *addresses, "input");
|
576
572
|
}
|
577
573
|
address_sorting_sortable* sortables = static_cast<address_sorting_sortable*>(
|
@@ -591,7 +587,7 @@ void grpc_cares_wrapper_address_sorting_sort(const grpc_ares_request* r,
|
|
591
587
|
}
|
592
588
|
gpr_free(sortables);
|
593
589
|
*addresses = std::move(sorted);
|
594
|
-
if (GRPC_TRACE_FLAG_ENABLED(
|
590
|
+
if (GRPC_TRACE_FLAG_ENABLED(cares_address_sorting)) {
|
595
591
|
log_address_sorting_list(r, *addresses, "output");
|
596
592
|
}
|
597
593
|
}
|
@@ -883,14 +879,11 @@ grpc_error_handle grpc_dns_lookup_ares_continued(
|
|
883
879
|
grpc_core::SplitHostPort(name, host, port);
|
884
880
|
if (host->empty()) {
|
885
881
|
error =
|
886
|
-
|
887
|
-
grpc_core::StatusStrProperty::kTargetAddress, name);
|
882
|
+
GRPC_ERROR_CREATE(absl::StrCat("unparseable host:port \"", name, "\""));
|
888
883
|
return error;
|
889
884
|
} else if (check_port && port->empty()) {
|
890
885
|
if (default_port == nullptr || strlen(default_port) == 0) {
|
891
|
-
error =
|
892
|
-
grpc_core::StatusStrProperty::kTargetAddress,
|
893
|
-
name);
|
886
|
+
error = GRPC_ERROR_CREATE(absl::StrCat("no port in name \"", name, "\""));
|
894
887
|
return error;
|
895
888
|
}
|
896
889
|
*port = default_port;
|
@@ -952,7 +945,7 @@ static bool resolve_as_ip_literal_locked(
|
|
952
945
|
static bool target_matches_localhost_inner(const char* name, std::string* host,
|
953
946
|
std::string* port) {
|
954
947
|
if (!grpc_core::SplitHostPort(name, host, port)) {
|
955
|
-
|
948
|
+
LOG(ERROR) << "Unable to split host and port for name: " << name;
|
956
949
|
return false;
|
957
950
|
}
|
958
951
|
return gpr_stricmp(host->c_str(), "localhost") == 0;
|
@@ -39,13 +39,9 @@
|
|
39
39
|
|
40
40
|
#define GRPC_DNS_ARES_DEFAULT_QUERY_TIMEOUT_MS 120000
|
41
41
|
|
42
|
-
extern grpc_core::TraceFlag grpc_trace_cares_address_sorting;
|
43
|
-
|
44
|
-
extern grpc_core::TraceFlag grpc_trace_cares_resolver;
|
45
|
-
|
46
42
|
#define GRPC_CARES_TRACE_LOG(format, ...) \
|
47
43
|
do { \
|
48
|
-
if (GRPC_TRACE_FLAG_ENABLED(
|
44
|
+
if (GRPC_TRACE_FLAG_ENABLED(cares_resolver)) { \
|
49
45
|
gpr_log(GPR_DEBUG, "(c-ares resolver) " format, __VA_ARGS__); \
|
50
46
|
} \
|
51
47
|
} while (0)
|
@@ -25,10 +25,10 @@
|
|
25
25
|
#include <grpc/support/string_util.h>
|
26
26
|
|
27
27
|
#include "src/core/lib/address_utils/parse_address.h"
|
28
|
-
#include "src/core/lib/gpr/string.h"
|
29
28
|
#include "src/core/lib/iomgr/socket_windows.h"
|
30
29
|
#include "src/core/resolver/dns/c_ares/grpc_ares_wrapper.h"
|
31
30
|
#include "src/core/resolver/endpoint_addresses.h"
|
31
|
+
#include "src/core/util/string.h"
|
32
32
|
|
33
33
|
bool grpc_ares_query_ipv6() { return grpc_ipv6_loopback_available(); }
|
34
34
|
|
@@ -15,6 +15,7 @@
|
|
15
15
|
|
16
16
|
#include <memory>
|
17
17
|
|
18
|
+
#include "absl/log/log.h"
|
18
19
|
#include "absl/strings/match.h"
|
19
20
|
|
20
21
|
#include <grpc/support/log.h>
|
@@ -31,15 +32,15 @@
|
|
31
32
|
namespace grpc_core {
|
32
33
|
|
33
34
|
void RegisterDnsResolver(CoreConfiguration::Builder* builder) {
|
34
|
-
#
|
35
|
-
|
35
|
+
#if GRPC_IOS_EVENT_ENGINE_CLIENT
|
36
|
+
VLOG(2) << "Using EventEngine dns resolver";
|
36
37
|
builder->resolver_registry()->RegisterResolverFactory(
|
37
38
|
std::make_unique<EventEngineClientChannelDNSResolverFactory>());
|
38
39
|
return;
|
39
40
|
#endif
|
40
41
|
#ifndef GRPC_DO_NOT_INSTANTIATE_POSIX_POLLER
|
41
42
|
if (IsEventEngineDnsEnabled()) {
|
42
|
-
|
43
|
+
VLOG(2) << "Using EventEngine dns resolver";
|
43
44
|
builder->resolver_registry()->RegisterResolverFactory(
|
44
45
|
std::make_unique<EventEngineClientChannelDNSResolverFactory>());
|
45
46
|
return;
|
@@ -48,14 +49,14 @@ void RegisterDnsResolver(CoreConfiguration::Builder* builder) {
|
|
48
49
|
auto resolver = ConfigVars::Get().DnsResolver();
|
49
50
|
// ---- Ares resolver ----
|
50
51
|
if (ShouldUseAresDnsResolver(resolver)) {
|
51
|
-
|
52
|
+
VLOG(2) << "Using ares dns resolver";
|
52
53
|
RegisterAresDnsResolver(builder);
|
53
54
|
return;
|
54
55
|
}
|
55
56
|
// ---- Native resolver ----
|
56
57
|
if (absl::EqualsIgnoreCase(resolver, "native") ||
|
57
58
|
!builder->resolver_registry()->HasResolverFactory("dns")) {
|
58
|
-
|
59
|
+
VLOG(2) << "Using native dns resolver";
|
59
60
|
RegisterNativeDnsResolver(builder);
|
60
61
|
return;
|
61
62
|
}
|