grpc 1.66.0 → 1.67.0.pre1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Makefile +19 -10
- data/include/grpc/credentials.h +1 -1
- data/include/grpc/event_engine/README.md +1 -1
- data/include/grpc/event_engine/internal/slice_cast.h +1 -1
- data/include/grpc/event_engine/slice.h +0 -1
- data/include/grpc/event_engine/slice_buffer.h +0 -1
- data/include/grpc/grpc_crl_provider.h +1 -1
- data/include/grpc/impl/channel_arg_names.h +1 -1
- data/include/grpc/support/log.h +34 -32
- data/include/grpc/support/sync_generic.h +2 -4
- data/src/core/channelz/channelz.cc +0 -1
- data/src/core/channelz/channelz_registry.cc +0 -1
- data/src/core/client_channel/client_channel.cc +10 -7
- data/src/core/client_channel/client_channel.h +1 -1
- data/src/core/client_channel/client_channel_filter.cc +21 -18
- data/src/core/client_channel/client_channel_filter.h +1 -1
- data/src/core/client_channel/client_channel_internal.h +0 -2
- data/src/core/client_channel/config_selector.h +0 -1
- data/src/core/client_channel/dynamic_filters.cc +0 -2
- data/src/core/client_channel/local_subchannel_pool.cc +0 -2
- data/src/core/client_channel/retry_filter.h +0 -1
- data/src/core/client_channel/retry_filter_legacy_call_data.cc +175 -257
- data/src/core/client_channel/subchannel.cc +21 -27
- data/src/core/client_channel/subchannel_stream_client.cc +1 -1
- data/src/core/ext/filters/backend_metrics/backend_metric_filter.cc +8 -9
- data/src/core/ext/filters/channel_idle/legacy_channel_idle_filter.cc +0 -1
- data/src/core/ext/filters/fault_injection/fault_injection_filter.cc +3 -4
- data/src/core/ext/filters/gcp_authentication/gcp_authentication_filter.cc +167 -0
- data/src/core/ext/filters/gcp_authentication/gcp_authentication_filter.h +82 -0
- data/src/core/ext/filters/gcp_authentication/gcp_authentication_service_config_parser.cc +81 -0
- data/src/core/ext/filters/gcp_authentication/gcp_authentication_service_config_parser.h +87 -0
- data/src/core/ext/filters/http/message_compress/compression_filter.cc +7 -9
- data/src/core/ext/filters/http/server/http_server_filter.cc +2 -4
- data/src/core/ext/filters/message_size/message_size_filter.cc +6 -7
- data/src/core/ext/filters/stateful_session/stateful_session_filter.cc +0 -2
- data/src/core/ext/transport/chttp2/alpn/alpn.cc +0 -1
- data/src/core/ext/transport/chttp2/server/chttp2_server.cc +6 -8
- data/src/core/ext/transport/chttp2/transport/bin_encoder.cc +0 -1
- data/src/core/ext/transport/chttp2/transport/chttp2_transport.cc +288 -265
- data/src/core/ext/transport/chttp2/transport/flow_control.cc +3 -4
- data/src/core/ext/transport/chttp2/transport/flow_control.h +0 -1
- data/src/core/ext/transport/chttp2/transport/frame.cc +0 -1
- data/src/core/ext/transport/chttp2/transport/frame_data.cc +0 -1
- data/src/core/ext/transport/chttp2/transport/frame_goaway.cc +0 -1
- data/src/core/ext/transport/chttp2/transport/frame_ping.cc +6 -6
- data/src/core/ext/transport/chttp2/transport/frame_rst_stream.cc +3 -4
- data/src/core/ext/transport/chttp2/transport/frame_settings.cc +5 -6
- data/src/core/ext/transport/chttp2/transport/frame_window_update.cc +0 -1
- data/src/core/ext/transport/chttp2/transport/hpack_encoder.cc +2 -3
- data/src/core/ext/transport/chttp2/transport/hpack_encoder_table.cc +0 -1
- data/src/core/ext/transport/chttp2/transport/hpack_parse_result.h +0 -1
- data/src/core/ext/transport/chttp2/transport/hpack_parser.cc +3 -3
- data/src/core/ext/transport/chttp2/transport/hpack_parser_table.cc +37 -5
- data/src/core/ext/transport/chttp2/transport/hpack_parser_table.h +27 -6
- data/src/core/ext/transport/chttp2/transport/internal.h +2 -3
- data/src/core/ext/transport/chttp2/transport/parsing.cc +21 -32
- data/src/core/ext/transport/chttp2/transport/ping_callbacks.cc +0 -1
- data/src/core/ext/transport/chttp2/transport/stream_lists.cc +6 -8
- data/src/core/ext/transport/chttp2/transport/varint.h +0 -1
- data/src/core/ext/transport/chttp2/transport/write_size_policy.cc +0 -1
- data/src/core/ext/transport/chttp2/transport/writing.cc +22 -22
- data/src/core/ext/upb-gen/envoy/extensions/filters/http/gcp_authn/v3/gcp_authn.upb.h +431 -0
- data/src/core/ext/upb-gen/envoy/extensions/filters/http/gcp_authn/v3/gcp_authn.upb_minitable.c +129 -0
- data/src/core/ext/upb-gen/envoy/extensions/filters/http/gcp_authn/v3/gcp_authn.upb_minitable.h +33 -0
- data/src/core/ext/upb-gen/google/api/expr/v1alpha1/checked.upb.h +16 -0
- data/src/core/ext/upb-gen/google/api/expr/v1alpha1/checked.upb_minitable.c +13 -2
- data/src/core/ext/upb-gen/google/api/expr/v1alpha1/syntax.upb.h +397 -22
- data/src/core/ext/upb-gen/google/api/expr/v1alpha1/syntax.upb_minitable.c +94 -20
- data/src/core/ext/upb-gen/google/api/expr/v1alpha1/syntax.upb_minitable.h +2 -0
- data/src/core/ext/upbdefs-gen/envoy/extensions/filters/http/gcp_authn/v3/gcp_authn.upbdefs.c +86 -0
- data/src/core/ext/upbdefs-gen/envoy/extensions/filters/http/gcp_authn/v3/gcp_authn.upbdefs.h +47 -0
- data/src/core/ext/upbdefs-gen/google/api/expr/v1alpha1/checked.upbdefs.c +108 -107
- data/src/core/ext/upbdefs-gen/google/api/expr/v1alpha1/syntax.upbdefs.c +101 -78
- data/src/core/ext/upbdefs-gen/google/api/expr/v1alpha1/syntax.upbdefs.h +10 -0
- data/src/core/handshaker/handshaker.cc +21 -29
- data/src/core/handshaker/security/secure_endpoint.cc +3 -3
- data/src/core/handshaker/security/security_handshaker.cc +60 -72
- data/src/core/handshaker/tcp_connect/tcp_connect_handshaker.cc +0 -1
- data/src/core/lib/backoff/backoff.cc +7 -10
- data/src/core/lib/backoff/backoff.h +4 -6
- data/src/core/lib/channel/channel_stack.cc +0 -1
- data/src/core/lib/channel/channel_stack.h +0 -1
- data/src/core/lib/channel/channel_stack_builder_impl.cc +0 -1
- data/src/core/lib/channel/connected_channel.cc +0 -1
- data/src/core/lib/channel/promise_based_filter.cc +146 -194
- data/src/core/lib/channel/promise_based_filter.h +1 -1
- data/src/core/lib/compression/compression_internal.cc +0 -1
- data/src/core/lib/config/config_vars.cc +11 -1
- data/src/core/lib/config/config_vars.h +8 -0
- data/src/core/lib/config/core_configuration.cc +0 -1
- data/src/core/lib/config/core_configuration.h +0 -1
- data/src/core/lib/debug/event_log.cc +0 -1
- data/src/core/lib/debug/trace_flags.cc +4 -18
- data/src/core/lib/debug/trace_flags.h +2 -5
- data/src/core/lib/debug/trace_impl.h +6 -0
- data/src/core/lib/event_engine/ares_resolver.cc +89 -56
- data/src/core/lib/event_engine/ares_resolver.h +0 -9
- data/src/core/lib/event_engine/cf_engine/cfstream_endpoint.cc +14 -1
- data/src/core/lib/event_engine/cf_engine/cftype_unique_ref.h +1 -1
- data/src/core/lib/event_engine/forkable.cc +0 -1
- data/src/core/lib/event_engine/forkable.h +0 -1
- data/src/core/lib/event_engine/posix_engine/ev_epoll1_linux.cc +1 -1
- data/src/core/lib/event_engine/posix_engine/ev_epoll1_linux.h +4 -4
- data/src/core/lib/event_engine/posix_engine/ev_poll_posix.cc +0 -1
- data/src/core/lib/event_engine/posix_engine/lockfree_event.cc +0 -1
- data/src/core/lib/event_engine/posix_engine/posix_endpoint.cc +9 -1
- data/src/core/lib/event_engine/posix_engine/posix_endpoint.h +0 -1
- data/src/core/lib/event_engine/posix_engine/posix_engine_listener.h +2 -2
- data/src/core/lib/event_engine/posix_engine/tcp_socket_utils.h +1 -2
- data/src/core/lib/event_engine/posix_engine/timer_manager.cc +4 -9
- data/src/core/lib/event_engine/posix_engine/traced_buffer_list.cc +0 -1
- data/src/core/lib/event_engine/resolved_address.cc +0 -1
- data/src/core/lib/event_engine/slice.cc +0 -1
- data/src/core/lib/event_engine/thread_pool/thread_count.cc +0 -1
- data/src/core/lib/event_engine/thread_pool/work_stealing_thread_pool.cc +3 -5
- data/src/core/lib/event_engine/windows/grpc_polled_fd_windows.cc +121 -93
- data/src/core/lib/experiments/config.cc +12 -10
- data/src/core/lib/experiments/experiments.cc +45 -66
- data/src/core/lib/experiments/experiments.h +22 -27
- data/src/core/lib/gprpp/chunked_vector.h +0 -1
- data/src/core/lib/gprpp/down_cast.h +0 -1
- data/src/core/lib/gprpp/host_port.cc +0 -1
- data/src/core/lib/gprpp/load_file.cc +0 -1
- data/src/core/lib/gprpp/mpscq.h +0 -1
- data/src/core/lib/gprpp/single_set_ptr.h +0 -1
- data/src/core/lib/gprpp/status_helper.cc +0 -1
- data/src/core/lib/gprpp/sync.h +0 -1
- data/src/core/lib/gprpp/table.h +28 -0
- data/src/core/lib/gprpp/thd.h +0 -1
- data/src/core/lib/gprpp/time.h +0 -1
- data/src/core/lib/gprpp/time_util.cc +0 -1
- data/src/core/lib/gprpp/windows/directory_reader.cc +0 -2
- data/src/core/lib/gprpp/windows/thd.cc +0 -1
- data/src/core/lib/gprpp/work_serializer.cc +23 -34
- data/src/core/lib/iomgr/buffer_list.cc +0 -1
- data/src/core/lib/iomgr/call_combiner.h +6 -8
- data/src/core/lib/iomgr/cfstream_handle.cc +6 -8
- data/src/core/lib/iomgr/closure.h +5 -8
- data/src/core/lib/iomgr/combiner.cc +6 -8
- data/src/core/lib/iomgr/endpoint_cfstream.cc +17 -22
- data/src/core/lib/iomgr/endpoint_pair_posix.cc +0 -1
- data/src/core/lib/iomgr/error.h +0 -1
- data/src/core/lib/iomgr/ev_apple.cc +13 -18
- data/src/core/lib/iomgr/ev_epoll1_linux.cc +47 -85
- data/src/core/lib/iomgr/ev_poll_posix.cc +17 -24
- data/src/core/lib/iomgr/ev_posix.cc +55 -44
- data/src/core/lib/iomgr/ev_posix.h +0 -5
- data/src/core/lib/iomgr/event_engine_shims/closure.cc +7 -9
- data/src/core/lib/iomgr/event_engine_shims/endpoint.cc +3 -4
- data/src/core/lib/iomgr/exec_ctx.cc +6 -9
- data/src/core/lib/iomgr/exec_ctx.h +26 -16
- data/src/core/lib/iomgr/executor.cc +43 -33
- data/src/core/lib/iomgr/fork_windows.cc +0 -1
- data/src/core/lib/iomgr/internal_errqueue.cc +0 -1
- data/src/core/lib/iomgr/iocp_windows.cc +0 -1
- data/src/core/lib/iomgr/iomgr_windows.cc +0 -2
- data/src/core/lib/iomgr/lockfree_event.cc +7 -11
- data/src/core/lib/iomgr/polling_entity.cc +10 -3
- data/src/core/lib/iomgr/pollset_windows.cc +0 -2
- data/src/core/lib/iomgr/resolve_address.cc +0 -1
- data/src/core/lib/iomgr/resolve_address_posix.cc +0 -1
- data/src/core/lib/iomgr/resolve_address_windows.cc +0 -1
- data/src/core/lib/iomgr/sockaddr_utils_posix.cc +0 -1
- data/src/core/lib/iomgr/socket_mutator.cc +0 -1
- data/src/core/lib/iomgr/socket_utils_linux.cc +0 -2
- data/src/core/lib/iomgr/socket_utils_posix.cc +0 -1
- data/src/core/lib/iomgr/socket_utils_windows.cc +0 -2
- data/src/core/lib/iomgr/tcp_client_cfstream.cc +7 -12
- data/src/core/lib/iomgr/tcp_client_posix.cc +8 -12
- data/src/core/lib/iomgr/tcp_client_windows.cc +0 -1
- data/src/core/lib/iomgr/tcp_posix.cc +32 -68
- data/src/core/lib/iomgr/tcp_server_posix.cc +7 -11
- data/src/core/lib/iomgr/tcp_windows.cc +4 -12
- data/src/core/lib/iomgr/timer_generic.cc +46 -65
- data/src/core/lib/iomgr/timer_manager.cc +4 -5
- data/src/core/lib/iomgr/unix_sockets_posix.cc +0 -1
- data/src/core/lib/iomgr/unix_sockets_posix_noop.cc +0 -2
- data/src/core/lib/iomgr/vsock.cc +0 -1
- data/src/core/lib/iomgr/wakeup_fd_eventfd.cc +0 -2
- data/src/core/lib/promise/activity.h +0 -1
- data/src/core/lib/promise/context.h +0 -1
- data/src/core/lib/promise/detail/join_state.h +44 -44
- data/src/core/lib/promise/detail/seq_state.h +1101 -1356
- data/src/core/lib/promise/for_each.h +8 -15
- data/src/core/lib/promise/interceptor_list.h +17 -27
- data/src/core/lib/promise/latch.h +16 -24
- data/src/core/lib/promise/map.h +1 -1
- data/src/core/lib/promise/party.cc +238 -114
- data/src/core/lib/promise/party.h +105 -308
- data/src/core/lib/promise/pipe.h +3 -4
- data/src/core/lib/promise/poll.h +0 -1
- data/src/core/lib/promise/status_flag.h +0 -1
- data/src/core/lib/resource_quota/connection_quota.cc +0 -1
- data/src/core/lib/resource_quota/memory_quota.cc +11 -19
- data/src/core/lib/resource_quota/memory_quota.h +2 -4
- data/src/core/lib/resource_quota/periodic_update.cc +2 -3
- data/src/core/lib/resource_quota/thread_quota.cc +0 -1
- data/src/core/lib/security/authorization/audit_logging.cc +0 -1
- data/src/core/lib/security/authorization/grpc_authorization_engine.cc +0 -1
- data/src/core/lib/security/authorization/grpc_server_authz_filter.cc +14 -19
- data/src/core/lib/security/authorization/stdout_logger.cc +0 -1
- data/src/core/lib/security/credentials/alts/check_gcp_environment.cc +0 -1
- data/src/core/lib/security/credentials/alts/check_gcp_environment_windows.cc +0 -1
- data/src/core/lib/security/credentials/call_creds_util.cc +0 -1
- data/src/core/lib/security/credentials/composite/composite_credentials.cc +0 -1
- data/src/core/lib/security/credentials/composite/composite_credentials.h +2 -0
- data/src/core/lib/security/credentials/credentials.h +1 -2
- data/src/core/lib/security/credentials/external/aws_external_account_credentials.cc +322 -324
- data/src/core/lib/security/credentials/external/aws_external_account_credentials.h +53 -42
- data/src/core/lib/security/credentials/external/external_account_credentials.cc +391 -353
- data/src/core/lib/security/credentials/external/external_account_credentials.h +121 -51
- data/src/core/lib/security/credentials/external/file_external_account_credentials.cc +83 -44
- data/src/core/lib/security/credentials/external/file_external_account_credentials.h +27 -7
- data/src/core/lib/security/credentials/external/url_external_account_credentials.cc +91 -116
- data/src/core/lib/security/credentials/external/url_external_account_credentials.h +14 -17
- data/src/core/lib/security/credentials/fake/fake_credentials.h +2 -0
- data/src/core/lib/security/credentials/gcp_service_account_identity/gcp_service_account_identity_credentials.cc +196 -0
- data/src/core/lib/security/credentials/gcp_service_account_identity/gcp_service_account_identity_credentials.h +90 -0
- data/src/core/lib/security/credentials/google_default/google_default_credentials.cc +27 -41
- data/src/core/lib/security/credentials/iam/iam_credentials.cc +0 -1
- data/src/core/lib/security/credentials/iam/iam_credentials.h +2 -0
- data/src/core/lib/security/credentials/jwt/jwt_credentials.h +2 -0
- data/src/core/lib/security/credentials/oauth2/oauth2_credentials.cc +163 -259
- data/src/core/lib/security/credentials/oauth2/oauth2_credentials.h +34 -56
- data/src/core/lib/security/credentials/plugin/plugin_credentials.cc +12 -16
- data/src/core/lib/security/credentials/plugin/plugin_credentials.h +2 -0
- data/src/core/lib/security/credentials/ssl/ssl_credentials.h +0 -1
- data/src/core/lib/security/credentials/tls/grpc_tls_certificate_distributor.cc +0 -1
- data/src/core/lib/security/credentials/tls/grpc_tls_certificate_provider.h +0 -1
- data/src/core/lib/security/credentials/tls/grpc_tls_certificate_verifier.cc +0 -1
- data/src/core/lib/security/credentials/tls/grpc_tls_certificate_verifier.h +0 -1
- data/src/core/lib/security/credentials/token_fetcher/token_fetcher_credentials.cc +298 -0
- data/src/core/lib/security/credentials/token_fetcher/token_fetcher_credentials.h +176 -0
- data/src/core/lib/security/credentials/xds/xds_credentials.cc +0 -1
- data/src/core/lib/security/security_connector/fake/fake_security_connector.cc +0 -1
- data/src/core/lib/security/security_connector/insecure/insecure_security_connector.cc +0 -1
- data/src/core/lib/security/security_connector/load_system_roots_windows.cc +0 -1
- data/src/core/lib/security/transport/server_auth_filter.cc +4 -6
- data/src/core/lib/slice/percent_encoding.cc +0 -1
- data/src/core/lib/slice/slice.cc +0 -1
- data/src/core/lib/slice/slice.h +0 -1
- data/src/core/lib/slice/slice_buffer.cc +0 -1
- data/src/core/lib/slice/slice_internal.h +0 -1
- data/src/core/lib/slice/slice_refcount.h +6 -8
- data/src/core/lib/surface/byte_buffer_reader.cc +0 -1
- data/src/core/lib/surface/call.cc +3 -5
- data/src/core/lib/surface/call_utils.h +0 -1
- data/src/core/lib/surface/channel.cc +0 -1
- data/src/core/lib/surface/channel_create.cc +0 -1
- data/src/core/lib/surface/channel_init.h +0 -1
- data/src/core/lib/surface/client_call.cc +0 -1
- data/src/core/lib/surface/client_call.h +0 -1
- data/src/core/lib/surface/completion_queue.cc +28 -4
- data/src/core/lib/surface/completion_queue_factory.cc +0 -1
- data/src/core/lib/surface/filter_stack_call.cc +9 -9
- data/src/core/lib/surface/filter_stack_call.h +0 -1
- data/src/core/lib/surface/lame_client.cc +0 -1
- data/src/core/lib/surface/server_call.cc +0 -1
- data/src/core/lib/surface/server_call.h +0 -1
- data/src/core/lib/surface/validate_metadata.h +0 -1
- data/src/core/lib/surface/version.cc +2 -2
- data/src/core/lib/transport/bdp_estimator.cc +9 -12
- data/src/core/lib/transport/bdp_estimator.h +6 -8
- data/src/core/lib/transport/call_arena_allocator.cc +2 -16
- data/src/core/lib/transport/call_arena_allocator.h +20 -5
- data/src/core/lib/transport/call_filters.cc +6 -9
- data/src/core/lib/transport/call_spine.h +24 -13
- data/src/core/lib/transport/connectivity_state.cc +34 -42
- data/src/core/lib/transport/metadata_batch.h +41 -1
- data/src/core/lib/transport/timeout_encoding.cc +0 -1
- data/src/core/lib/transport/transport.h +6 -8
- data/src/core/lib/transport/transport_op_string.cc +0 -1
- data/src/core/lib/uri/uri_parser.cc +0 -1
- data/src/core/load_balancing/grpclb/grpclb.cc +55 -71
- data/src/core/load_balancing/health_check_client.cc +31 -42
- data/src/core/load_balancing/oob_backend_metric.cc +2 -4
- data/src/core/load_balancing/outlier_detection/outlier_detection.cc +99 -129
- data/src/core/load_balancing/pick_first/pick_first.cc +168 -228
- data/src/core/load_balancing/priority/priority.cc +77 -106
- data/src/core/load_balancing/ring_hash/ring_hash.cc +32 -46
- data/src/core/load_balancing/rls/rls.cc +142 -187
- data/src/core/load_balancing/round_robin/round_robin.cc +36 -55
- data/src/core/load_balancing/weighted_round_robin/static_stride_scheduler.cc +0 -1
- data/src/core/load_balancing/weighted_round_robin/weighted_round_robin.cc +85 -110
- data/src/core/load_balancing/weighted_target/weighted_target.cc +52 -75
- data/src/core/load_balancing/xds/cds.cc +26 -43
- data/src/core/load_balancing/xds/xds_cluster_impl.cc +57 -54
- data/src/core/load_balancing/xds/xds_cluster_manager.cc +36 -50
- data/src/core/load_balancing/xds/xds_override_host.cc +95 -131
- data/src/core/load_balancing/xds/xds_wrr_locality.cc +15 -23
- data/src/core/plugin_registry/grpc_plugin_registry_extra.cc +3 -0
- data/src/core/resolver/binder/binder_resolver.cc +0 -2
- data/src/core/resolver/dns/c_ares/dns_resolver_ares.cc +62 -44
- data/src/core/resolver/dns/c_ares/grpc_ares_ev_driver_posix.cc +0 -2
- data/src/core/resolver/dns/c_ares/grpc_ares_ev_driver_windows.cc +110 -89
- data/src/core/resolver/dns/c_ares/grpc_ares_wrapper.cc +132 -96
- data/src/core/resolver/dns/c_ares/grpc_ares_wrapper.h +0 -7
- data/src/core/resolver/dns/dns_resolver_plugin.cc +0 -1
- data/src/core/resolver/dns/event_engine/event_engine_client_channel_resolver.cc +40 -39
- data/src/core/resolver/dns/native/dns_resolver.cc +8 -14
- data/src/core/resolver/endpoint_addresses.cc +0 -1
- data/src/core/resolver/fake/fake_resolver.cc +0 -1
- data/src/core/resolver/polling_resolver.cc +6 -15
- data/src/core/resolver/polling_resolver.h +1 -1
- data/src/core/resolver/xds/xds_config.cc +96 -0
- data/src/core/resolver/xds/xds_config.h +109 -0
- data/src/core/resolver/xds/xds_dependency_manager.cc +59 -154
- data/src/core/resolver/xds/xds_dependency_manager.h +1 -69
- data/src/core/resolver/xds/xds_resolver.cc +51 -55
- data/src/core/server/server.cc +2 -2
- data/src/core/server/server_config_selector_filter.cc +0 -1
- data/src/core/server/xds_server_config_fetcher.cc +4 -6
- data/src/core/service_config/service_config_call_data.h +2 -3
- data/src/core/service_config/service_config_channel_arg_filter.cc +0 -1
- data/src/core/service_config/service_config_impl.h +0 -1
- data/src/core/telemetry/call_tracer.cc +0 -1
- data/src/core/telemetry/metrics.h +0 -1
- data/src/core/telemetry/stats_data.cc +67 -0
- data/src/core/telemetry/stats_data.h +48 -0
- data/src/core/tsi/alts/handshaker/alts_shared_resource.cc +0 -1
- data/src/core/tsi/alts/handshaker/transport_security_common_api.h +0 -1
- data/src/core/tsi/alts/zero_copy_frame_protector/alts_iovec_record_protocol.cc +0 -1
- data/src/core/tsi/fake_transport_security.cc +6 -5
- data/src/core/tsi/ssl/session_cache/ssl_session_cache.cc +0 -1
- data/src/core/util/alloc.cc +0 -1
- data/src/core/util/gcp_metadata_query.cc +0 -1
- data/src/core/util/http_client/httpcli.cc +12 -15
- data/src/core/util/http_client/httpcli.h +16 -11
- data/src/core/util/http_client/parser.cc +3 -4
- data/src/core/util/json/json_reader.cc +0 -1
- data/src/core/util/latent_see.cc +29 -9
- data/src/core/util/latent_see.h +122 -27
- data/src/core/util/log.cc +36 -55
- data/src/core/util/lru_cache.h +104 -0
- data/src/core/util/msys/tmpfile.cc +0 -1
- data/src/core/util/posix/sync.cc +0 -1
- data/src/core/util/posix/time.cc +0 -1
- data/src/core/util/ring_buffer.h +123 -0
- data/src/core/util/spinlock.h +1 -2
- data/src/core/util/string.cc +7 -7
- data/src/core/util/sync.cc +0 -1
- data/src/core/util/sync_abseil.cc +0 -1
- data/src/core/util/time.cc +0 -1
- data/src/core/util/unique_ptr_with_bitset.h +86 -0
- data/src/core/util/useful.h +0 -24
- data/src/core/util/windows/cpu.cc +0 -1
- data/src/core/util/windows/sync.cc +0 -1
- data/src/core/util/windows/time.cc +0 -1
- data/src/core/util/windows/tmpfile.cc +0 -1
- data/src/core/xds/grpc/xds_bootstrap_grpc.cc +0 -32
- data/src/core/xds/grpc/xds_bootstrap_grpc.h +0 -5
- data/src/core/xds/grpc/xds_certificate_provider.cc +0 -1
- data/src/core/xds/grpc/xds_client_grpc.cc +11 -16
- data/src/core/xds/grpc/xds_cluster.cc +2 -8
- data/src/core/xds/grpc/xds_cluster.h +4 -4
- data/src/core/xds/grpc/xds_cluster_parser.cc +58 -96
- data/src/core/xds/grpc/xds_cluster_specifier_plugin.cc +0 -1
- data/src/core/xds/grpc/xds_common_types_parser.cc +4 -4
- data/src/core/xds/grpc/xds_common_types_parser.h +17 -0
- data/src/core/xds/grpc/xds_endpoint_parser.cc +14 -14
- data/src/core/xds/grpc/xds_http_fault_filter.cc +15 -6
- data/src/core/xds/grpc/xds_http_fault_filter.h +5 -1
- data/src/core/xds/grpc/xds_http_filter.h +11 -1
- data/src/core/xds/grpc/xds_http_filter_registry.cc +7 -1
- data/src/core/xds/grpc/xds_http_filter_registry.h +8 -1
- data/src/core/xds/grpc/xds_http_gcp_authn_filter.cc +142 -0
- data/src/core/xds/grpc/xds_http_gcp_authn_filter.h +61 -0
- data/src/core/xds/grpc/xds_http_rbac_filter.cc +14 -6
- data/src/core/xds/grpc/xds_http_rbac_filter.h +5 -1
- data/src/core/xds/grpc/xds_http_stateful_session_filter.cc +9 -1
- data/src/core/xds/grpc/xds_http_stateful_session_filter.h +5 -1
- data/src/core/xds/grpc/xds_lb_policy_registry.cc +14 -16
- data/src/core/xds/grpc/xds_listener_parser.cc +10 -11
- data/src/core/xds/grpc/xds_metadata.cc +62 -0
- data/src/core/xds/grpc/xds_metadata.h +127 -0
- data/src/core/xds/grpc/xds_metadata_parser.cc +143 -0
- data/src/core/xds/grpc/xds_metadata_parser.h +36 -0
- data/src/core/xds/grpc/xds_route_config_parser.cc +12 -17
- data/src/core/xds/grpc/xds_routing.cc +57 -22
- data/src/core/xds/grpc/xds_routing.h +10 -2
- data/src/core/xds/grpc/xds_transport_grpc.cc +0 -1
- data/src/core/xds/xds_client/xds_client.cc +124 -165
- data/src/core/xds/xds_client/xds_client_stats.cc +20 -27
- data/src/ruby/ext/grpc/rb_call.c +1 -1
- data/src/ruby/ext/grpc/rb_call_credentials.c +34 -27
- data/src/ruby/ext/grpc/rb_channel.c +22 -16
- data/src/ruby/ext/grpc/rb_event_thread.c +3 -2
- data/src/ruby/ext/grpc/rb_grpc.c +9 -8
- data/src/ruby/ext/grpc/rb_grpc_imports.generated.c +6 -10
- data/src/ruby/ext/grpc/rb_grpc_imports.generated.h +9 -15
- data/src/ruby/ext/grpc/rb_server.c +10 -8
- data/src/ruby/lib/grpc/generic/active_call.rb +8 -5
- data/src/ruby/lib/grpc/version.rb +1 -1
- data/src/ruby/spec/call_spec.rb +53 -40
- data/src/ruby/spec/channel_spec.rb +4 -2
- data/src/ruby/spec/client_server_spec.rb +148 -507
- data/src/ruby/spec/generic/active_call_spec.rb +64 -86
- data/src/ruby/spec/support/services.rb +3 -0
- data/third_party/boringssl-with-bazel/src/crypto/{fipsmodule/rand/fork_detect.h → bcm_support.h} +51 -6
- data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/internal.h +43 -0
- data/third_party/boringssl-with-bazel/src/crypto/cpu_intel.c +72 -23
- data/third_party/boringssl-with-bazel/src/crypto/crypto.c +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/ecdsa_extra/ecdsa_asn1.c +160 -14
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/internal.h +2 -0
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bcm.c +79 -78
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bcm_interface.h +89 -0
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/{div.c → div.c.inc} +146 -179
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/{random.c → random.c.inc} +6 -8
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/{sqrt.c → sqrt.c.inc} +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/cipher/{e_aes.c → e_aes.c.inc} +9 -8
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/{ec_key.c → ec_key.c.inc} +11 -7
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/{p256-nistz.c → p256-nistz.c.inc} +104 -12
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/p256-nistz.h +65 -8
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ecdsa/{ecdsa.c → ecdsa.c.inc} +52 -107
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ecdsa/internal.h +28 -11
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/internal.h +1 -80
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/{rand.c → rand.c.inc} +26 -40
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/{padding.c → padding.c.inc} +2 -5
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/{rsa_impl.c → rsa_impl.c.inc} +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/self_check/{self_check.c → self_check.c.inc} +9 -35
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/service_indicator/internal.h +2 -2
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/service_indicator/{service_indicator.c → service_indicator.c.inc} +2 -2
- data/third_party/boringssl-with-bazel/src/crypto/hpke/hpke.c +293 -2
- data/third_party/boringssl-with-bazel/src/crypto/internal.h +69 -14
- data/third_party/boringssl-with-bazel/src/crypto/mem.c +7 -3
- data/third_party/boringssl-with-bazel/src/crypto/mldsa/internal.h +73 -0
- data/third_party/boringssl-with-bazel/src/crypto/mldsa/mldsa.c +1687 -0
- data/third_party/boringssl-with-bazel/src/crypto/mlkem/internal.h +90 -0
- data/third_party/boringssl-with-bazel/src/crypto/mlkem/mlkem.cc +1097 -0
- data/third_party/boringssl-with-bazel/src/crypto/obj/obj_dat.h +4 -1
- data/third_party/boringssl-with-bazel/src/crypto/pem/pem_lib.c +4 -5
- data/third_party/boringssl-with-bazel/src/crypto/pem/pem_pk8.c +2 -3
- data/third_party/boringssl-with-bazel/src/crypto/pem/pem_pkey.c +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/pkcs8/internal.h +1 -0
- data/third_party/boringssl-with-bazel/src/crypto/rand_extra/deterministic.c +9 -1
- data/third_party/boringssl-with-bazel/src/crypto/{fipsmodule/rand → rand_extra}/fork_detect.c +26 -28
- data/third_party/boringssl-with-bazel/src/crypto/rand_extra/getentropy.c +9 -1
- data/third_party/boringssl-with-bazel/src/crypto/rand_extra/ios.c +9 -1
- data/third_party/boringssl-with-bazel/src/crypto/rand_extra/passive.c +19 -3
- data/third_party/boringssl-with-bazel/src/crypto/rand_extra/rand_extra.c +26 -23
- data/third_party/boringssl-with-bazel/src/crypto/rand_extra/sysrand_internal.h +37 -0
- data/third_party/boringssl-with-bazel/src/crypto/rand_extra/trusty.c +9 -1
- data/third_party/boringssl-with-bazel/src/crypto/{fipsmodule/rand → rand_extra}/urandom.c +19 -19
- data/third_party/boringssl-with-bazel/src/crypto/rand_extra/windows.c +8 -1
- data/third_party/boringssl-with-bazel/src/crypto/rsa_extra/internal.h +2 -0
- data/third_party/boringssl-with-bazel/src/include/openssl/asn1.h +14 -1
- data/third_party/boringssl-with-bazel/src/include/openssl/bn.h +14 -9
- data/third_party/boringssl-with-bazel/src/include/openssl/experimental/dilithium.h +13 -15
- data/third_party/boringssl-with-bazel/src/include/openssl/hpke.h +8 -6
- data/third_party/boringssl-with-bazel/src/include/openssl/mldsa.h +136 -0
- data/third_party/boringssl-with-bazel/src/include/openssl/mlkem.h +246 -0
- data/third_party/boringssl-with-bazel/src/include/openssl/nid.h +3 -0
- data/third_party/boringssl-with-bazel/src/include/openssl/pem.h +3 -4
- data/third_party/boringssl-with-bazel/src/include/openssl/service_indicator.h +2 -2
- data/third_party/boringssl-with-bazel/src/include/openssl/span.h +22 -0
- data/third_party/boringssl-with-bazel/src/include/openssl/ssl.h +35 -5
- data/third_party/boringssl-with-bazel/src/ssl/d1_both.cc +5 -6
- data/third_party/boringssl-with-bazel/src/ssl/d1_lib.cc +6 -0
- data/third_party/boringssl-with-bazel/src/ssl/d1_pkt.cc +6 -1
- data/third_party/boringssl-with-bazel/src/ssl/dtls_method.cc +13 -1
- data/third_party/boringssl-with-bazel/src/ssl/dtls_record.cc +289 -55
- data/third_party/boringssl-with-bazel/src/ssl/extensions.cc +2 -0
- data/third_party/boringssl-with-bazel/src/ssl/handshake_client.cc +69 -38
- data/third_party/boringssl-with-bazel/src/ssl/handshake_server.cc +14 -3
- data/third_party/boringssl-with-bazel/src/ssl/internal.h +107 -14
- data/third_party/boringssl-with-bazel/src/ssl/s3_both.cc +44 -16
- data/third_party/boringssl-with-bazel/src/ssl/s3_pkt.cc +21 -1
- data/third_party/boringssl-with-bazel/src/ssl/ssl_aead_ctx.cc +86 -1
- data/third_party/boringssl-with-bazel/src/ssl/ssl_buffer.cc +7 -4
- data/third_party/boringssl-with-bazel/src/ssl/ssl_key_share.cc +97 -3
- data/third_party/boringssl-with-bazel/src/ssl/ssl_lib.cc +31 -2
- data/third_party/boringssl-with-bazel/src/ssl/ssl_versions.cc +6 -0
- data/third_party/boringssl-with-bazel/src/ssl/tls13_client.cc +18 -4
- data/third_party/boringssl-with-bazel/src/ssl/tls13_enc.cc +96 -34
- data/third_party/boringssl-with-bazel/src/ssl/tls13_server.cc +15 -5
- data/third_party/boringssl-with-bazel/src/ssl/tls_record.cc +3 -23
- metadata +113 -87
- data/src/core/ext/transport/chttp2/transport/max_concurrent_streams_policy.cc +0 -45
- data/src/core/ext/transport/chttp2/transport/max_concurrent_streams_policy.h +0 -67
- data/src/core/util/android/log.cc +0 -48
- data/src/core/util/linux/log.cc +0 -69
- data/src/core/util/posix/log.cc +0 -69
- data/src/core/util/windows/log.cc +0 -73
- /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/{aes.c → aes.c.inc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/{aes_nohw.c → aes_nohw.c.inc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/{key_wrap.c → key_wrap.c.inc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/{mode_wrappers.c → mode_wrappers.c.inc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/{add.c → add.c.inc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/asm/{x86_64-gcc.c → x86_64-gcc.c.inc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/{bn.c → bn.c.inc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/{bytes.c → bytes.c.inc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/{cmp.c → cmp.c.inc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/{ctx.c → ctx.c.inc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/{div_extra.c → div_extra.c.inc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/{exponentiation.c → exponentiation.c.inc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/{gcd.c → gcd.c.inc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/{gcd_extra.c → gcd_extra.c.inc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/{generic.c → generic.c.inc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/{jacobi.c → jacobi.c.inc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/{montgomery.c → montgomery.c.inc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/{montgomery_inv.c → montgomery_inv.c.inc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/{mul.c → mul.c.inc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/{prime.c → prime.c.inc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/{rsaz_exp.c → rsaz_exp.c.inc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/{shift.c → shift.c.inc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/cipher/{aead.c → aead.c.inc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/cipher/{cipher.c → cipher.c.inc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/cipher/{e_aesccm.c → e_aesccm.c.inc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/cmac/{cmac.c → cmac.c.inc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/dh/{check.c → check.c.inc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/dh/{dh.c → dh.c.inc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/digest/{digest.c → digest.c.inc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/digest/{digests.c → digests.c.inc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/digestsign/{digestsign.c → digestsign.c.inc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/{ec.c → ec.c.inc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/{ec_montgomery.c → ec_montgomery.c.inc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/{felem.c → felem.c.inc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/{oct.c → oct.c.inc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/{p224-64.c → p224-64.c.inc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/{p256.c → p256.c.inc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/{scalar.c → scalar.c.inc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/{simple.c → simple.c.inc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/{simple_mul.c → simple_mul.c.inc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/{util.c → util.c.inc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/{wnaf.c → wnaf.c.inc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ecdh/{ecdh.c → ecdh.c.inc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/hkdf/{hkdf.c → hkdf.c.inc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/hmac/{hmac.c → hmac.c.inc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/md4/{md4.c → md4.c.inc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/md5/{md5.c → md5.c.inc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/{cbc.c → cbc.c.inc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/{cfb.c → cfb.c.inc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/{ctr.c → ctr.c.inc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/{gcm.c → gcm.c.inc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/{gcm_nohw.c → gcm_nohw.c.inc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/{ofb.c → ofb.c.inc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/modes/{polyval.c → polyval.c.inc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/{ctrdrbg.c → ctrdrbg.c.inc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/{blinding.c → blinding.c.inc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/{rsa.c → rsa.c.inc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/self_check/{fips.c → fips.c.inc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/{sha1.c → sha1.c.inc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/{sha256.c → sha256.c.inc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/{sha512.c → sha512.c.inc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/tls/{kdf.c → kdf.c.inc} +0 -0
- /data/third_party/boringssl-with-bazel/src/crypto/{fipsmodule/rand → rand_extra}/getrandom_fillin.h +0 -0
@@ -360,9 +360,8 @@ static grpc_fd* fd_create(int fd, const char* name, bool track_err) {
|
|
360
360
|
grpc_iomgr_register_object(&new_fd->iomgr_object, fd_name.c_str());
|
361
361
|
fork_fd_list_add_grpc_fd(new_fd);
|
362
362
|
#ifndef NDEBUG
|
363
|
-
|
364
|
-
|
365
|
-
}
|
363
|
+
GRPC_TRACE_VLOG(fd_refcount, 2)
|
364
|
+
<< "FD " << fd << " " << new_fd << " create " << fd_name;
|
366
365
|
#endif
|
367
366
|
|
368
367
|
struct epoll_event ev;
|
@@ -727,9 +726,8 @@ static grpc_error_handle do_epoll_wait(grpc_pollset* ps,
|
|
727
726
|
|
728
727
|
if (r < 0) return GRPC_OS_ERROR(errno, "epoll_wait");
|
729
728
|
|
730
|
-
|
731
|
-
|
732
|
-
}
|
729
|
+
GRPC_TRACE_LOG(polling, INFO)
|
730
|
+
<< "ps: " << ps << " poll got " << r << " events";
|
733
731
|
|
734
732
|
gpr_atm_rel_store(&g_epoll_set.num_events, r);
|
735
733
|
gpr_atm_rel_store(&g_epoll_set.cursor, 0);
|
@@ -746,9 +744,8 @@ static bool begin_worker(grpc_pollset* pollset, grpc_pollset_worker* worker,
|
|
746
744
|
worker->schedule_on_end_work = (grpc_closure_list)GRPC_CLOSURE_LIST_INIT;
|
747
745
|
pollset->begin_refs++;
|
748
746
|
|
749
|
-
|
750
|
-
|
751
|
-
}
|
747
|
+
GRPC_TRACE_LOG(polling, INFO)
|
748
|
+
<< "PS:" << pollset << " BEGIN_STARTS:" << worker;
|
752
749
|
|
753
750
|
if (pollset->seen_inactive) {
|
754
751
|
// pollset has been observed to be inactive, we need to move back to the
|
@@ -765,11 +762,10 @@ static bool begin_worker(grpc_pollset* pollset, grpc_pollset_worker* worker,
|
|
765
762
|
retry_lock_neighborhood:
|
766
763
|
gpr_mu_lock(&neighborhood->mu);
|
767
764
|
gpr_mu_lock(&pollset->mu);
|
768
|
-
|
769
|
-
|
770
|
-
|
771
|
-
|
772
|
-
}
|
765
|
+
GRPC_TRACE_LOG(polling, INFO)
|
766
|
+
<< "PS:" << pollset << " BEGIN_REORG:" << worker
|
767
|
+
<< " kick_state=" << kick_state_string(worker->state)
|
768
|
+
<< " is_reassigning=" << is_reassigning;
|
773
769
|
if (pollset->seen_inactive) {
|
774
770
|
if (neighborhood != pollset->neighborhood) {
|
775
771
|
gpr_mu_unlock(&neighborhood->mu);
|
@@ -818,11 +814,10 @@ static bool begin_worker(grpc_pollset* pollset, grpc_pollset_worker* worker,
|
|
818
814
|
worker->initialized_cv = true;
|
819
815
|
gpr_cv_init(&worker->cv);
|
820
816
|
while (worker->state == UNKICKED && !pollset->shutting_down) {
|
821
|
-
|
822
|
-
|
823
|
-
|
824
|
-
|
825
|
-
}
|
817
|
+
GRPC_TRACE_LOG(polling, INFO)
|
818
|
+
<< "PS:" << pollset << " BEGIN_WAIT:" << worker
|
819
|
+
<< " kick_state=" << kick_state_string(worker->state)
|
820
|
+
<< " shutdown=" << pollset->shutting_down;
|
826
821
|
|
827
822
|
if (gpr_cv_wait(&worker->cv, &pollset->mu,
|
828
823
|
deadline.as_timespec(GPR_CLOCK_MONOTONIC)) &&
|
@@ -835,12 +830,11 @@ static bool begin_worker(grpc_pollset* pollset, grpc_pollset_worker* worker,
|
|
835
830
|
grpc_core::ExecCtx::Get()->InvalidateNow();
|
836
831
|
}
|
837
832
|
|
838
|
-
|
839
|
-
|
840
|
-
|
841
|
-
|
842
|
-
|
843
|
-
}
|
833
|
+
GRPC_TRACE_LOG(polling, INFO)
|
834
|
+
<< "PS:" << pollset << " BEGIN_DONE:" << worker
|
835
|
+
<< " kick_state=" << kick_state_string(worker->state)
|
836
|
+
<< " shutdown=" << pollset->shutting_down
|
837
|
+
<< " kicked_without_poller: " << pollset->kicked_without_poller;
|
844
838
|
|
845
839
|
// We release pollset lock in this function at a couple of places:
|
846
840
|
// 1. Briefly when assigning pollset to a neighborhood
|
@@ -877,17 +871,15 @@ static bool check_neighborhood_for_available_poller(
|
|
877
871
|
if (gpr_atm_no_barrier_cas(
|
878
872
|
&g_active_poller, 0,
|
879
873
|
reinterpret_cast<gpr_atm>(inspect_worker))) {
|
880
|
-
|
881
|
-
|
882
|
-
}
|
874
|
+
GRPC_TRACE_LOG(polling, INFO)
|
875
|
+
<< " .. choose next poller to be " << inspect_worker;
|
883
876
|
SET_KICK_STATE(inspect_worker, DESIGNATED_POLLER);
|
884
877
|
if (inspect_worker->initialized_cv) {
|
885
878
|
gpr_cv_signal(&inspect_worker->cv);
|
886
879
|
}
|
887
880
|
} else {
|
888
|
-
|
889
|
-
|
890
|
-
}
|
881
|
+
GRPC_TRACE_LOG(polling, INFO)
|
882
|
+
<< " .. beaten to choose next poller";
|
891
883
|
}
|
892
884
|
// even if we didn't win the cas, there's a worker, we can stop
|
893
885
|
found_worker = true;
|
@@ -903,9 +895,8 @@ static bool check_neighborhood_for_available_poller(
|
|
903
895
|
} while (!found_worker && inspect_worker != inspect->root_worker);
|
904
896
|
}
|
905
897
|
if (!found_worker) {
|
906
|
-
|
907
|
-
|
908
|
-
}
|
898
|
+
GRPC_TRACE_LOG(polling, INFO)
|
899
|
+
<< " .. mark pollset " << inspect << " inactive";
|
909
900
|
inspect->seen_inactive = true;
|
910
901
|
if (inspect == neighborhood->active_root) {
|
911
902
|
neighborhood->active_root =
|
@@ -922,9 +913,7 @@ static bool check_neighborhood_for_available_poller(
|
|
922
913
|
|
923
914
|
static void end_worker(grpc_pollset* pollset, grpc_pollset_worker* worker,
|
924
915
|
grpc_pollset_worker** worker_hdl) {
|
925
|
-
|
926
|
-
LOG(INFO) << "PS:" << pollset << " END_WORKER:" << worker;
|
927
|
-
}
|
916
|
+
GRPC_TRACE_LOG(polling, INFO) << "PS:" << pollset << " END_WORKER:" << worker;
|
928
917
|
if (worker_hdl != nullptr) *worker_hdl = nullptr;
|
929
918
|
// Make sure we appear kicked
|
930
919
|
SET_KICK_STATE(worker, KICKED);
|
@@ -933,9 +922,8 @@ static void end_worker(grpc_pollset* pollset, grpc_pollset_worker* worker,
|
|
933
922
|
if (gpr_atm_no_barrier_load(&g_active_poller) ==
|
934
923
|
reinterpret_cast<gpr_atm>(worker)) {
|
935
924
|
if (worker->next != worker && worker->next->state == UNKICKED) {
|
936
|
-
|
937
|
-
|
938
|
-
}
|
925
|
+
GRPC_TRACE_LOG(polling, INFO)
|
926
|
+
<< " .. choose next poller to be peer " << worker;
|
939
927
|
CHECK(worker->next->initialized_cv);
|
940
928
|
gpr_atm_no_barrier_store(&g_active_poller, (gpr_atm)worker->next);
|
941
929
|
SET_KICK_STATE(worker->next, DESIGNATED_POLLER);
|
@@ -984,9 +972,7 @@ static void end_worker(grpc_pollset* pollset, grpc_pollset_worker* worker,
|
|
984
972
|
if (worker->initialized_cv) {
|
985
973
|
gpr_cv_destroy(&worker->cv);
|
986
974
|
}
|
987
|
-
|
988
|
-
LOG(INFO) << " .. remove worker";
|
989
|
-
}
|
975
|
+
GRPC_TRACE_LOG(polling, INFO) << " .. remove worker";
|
990
976
|
if (EMPTIED == worker_remove(pollset, worker)) {
|
991
977
|
pollset_maybe_finish_shutdown(pollset);
|
992
978
|
}
|
@@ -1075,22 +1061,16 @@ static grpc_error_handle pollset_kick(grpc_pollset* pollset,
|
|
1075
1061
|
grpc_pollset_worker* root_worker = pollset->root_worker;
|
1076
1062
|
if (root_worker == nullptr) {
|
1077
1063
|
pollset->kicked_without_poller = true;
|
1078
|
-
|
1079
|
-
LOG(INFO) << " .. kicked_without_poller";
|
1080
|
-
}
|
1064
|
+
GRPC_TRACE_LOG(polling, INFO) << " .. kicked_without_poller";
|
1081
1065
|
goto done;
|
1082
1066
|
}
|
1083
1067
|
grpc_pollset_worker* next_worker = root_worker->next;
|
1084
1068
|
if (root_worker->state == KICKED) {
|
1085
|
-
|
1086
|
-
LOG(INFO) << " .. already kicked " << root_worker;
|
1087
|
-
}
|
1069
|
+
GRPC_TRACE_LOG(polling, INFO) << " .. already kicked " << root_worker;
|
1088
1070
|
SET_KICK_STATE(root_worker, KICKED);
|
1089
1071
|
goto done;
|
1090
1072
|
} else if (next_worker->state == KICKED) {
|
1091
|
-
|
1092
|
-
LOG(INFO) << " .. already kicked " << next_worker;
|
1093
|
-
}
|
1073
|
+
GRPC_TRACE_LOG(polling, INFO) << " .. already kicked " << next_worker;
|
1094
1074
|
SET_KICK_STATE(next_worker, KICKED);
|
1095
1075
|
goto done;
|
1096
1076
|
} else if (root_worker == next_worker && // only try and wake up a poller
|
@@ -1098,37 +1078,30 @@ static grpc_error_handle pollset_kick(grpc_pollset* pollset,
|
|
1098
1078
|
root_worker ==
|
1099
1079
|
reinterpret_cast<grpc_pollset_worker*>(
|
1100
1080
|
gpr_atm_no_barrier_load(&g_active_poller))) {
|
1101
|
-
|
1102
|
-
LOG(INFO) << " .. kicked " << root_worker;
|
1103
|
-
}
|
1081
|
+
GRPC_TRACE_LOG(polling, INFO) << " .. kicked " << root_worker;
|
1104
1082
|
SET_KICK_STATE(root_worker, KICKED);
|
1105
1083
|
ret_err = grpc_wakeup_fd_wakeup(&global_wakeup_fd);
|
1106
1084
|
goto done;
|
1107
1085
|
} else if (next_worker->state == UNKICKED) {
|
1108
|
-
|
1109
|
-
LOG(INFO) << " .. kicked " << next_worker;
|
1110
|
-
}
|
1086
|
+
GRPC_TRACE_LOG(polling, INFO) << " .. kicked " << next_worker;
|
1111
1087
|
CHECK(next_worker->initialized_cv);
|
1112
1088
|
SET_KICK_STATE(next_worker, KICKED);
|
1113
1089
|
gpr_cv_signal(&next_worker->cv);
|
1114
1090
|
goto done;
|
1115
1091
|
} else if (next_worker->state == DESIGNATED_POLLER) {
|
1116
1092
|
if (root_worker->state != DESIGNATED_POLLER) {
|
1117
|
-
|
1118
|
-
|
1119
|
-
|
1120
|
-
|
1121
|
-
}
|
1093
|
+
GRPC_TRACE_LOG(polling, INFO)
|
1094
|
+
<< " .. kicked root non-poller " << root_worker
|
1095
|
+
<< " (initialized_cv=" << root_worker->initialized_cv
|
1096
|
+
<< ") (poller=" << next_worker << ")";
|
1122
1097
|
SET_KICK_STATE(root_worker, KICKED);
|
1123
1098
|
if (root_worker->initialized_cv) {
|
1124
1099
|
gpr_cv_signal(&root_worker->cv);
|
1125
1100
|
}
|
1126
1101
|
goto done;
|
1127
1102
|
} else {
|
1128
|
-
|
1129
|
-
|
1130
|
-
<< " (root=" << root_worker << ")";
|
1131
|
-
}
|
1103
|
+
GRPC_TRACE_LOG(polling, INFO) << " .. non-root poller " << next_worker
|
1104
|
+
<< " (root=" << root_worker << ")";
|
1132
1105
|
SET_KICK_STATE(next_worker, KICKED);
|
1133
1106
|
ret_err = grpc_wakeup_fd_wakeup(&global_wakeup_fd);
|
1134
1107
|
goto done;
|
@@ -1139,9 +1112,7 @@ static grpc_error_handle pollset_kick(grpc_pollset* pollset,
|
|
1139
1112
|
goto done;
|
1140
1113
|
}
|
1141
1114
|
} else {
|
1142
|
-
|
1143
|
-
LOG(INFO) << " .. kicked while waking up";
|
1144
|
-
}
|
1115
|
+
GRPC_TRACE_LOG(polling, INFO) << " .. kicked while waking up";
|
1145
1116
|
goto done;
|
1146
1117
|
}
|
1147
1118
|
|
@@ -1149,36 +1120,27 @@ static grpc_error_handle pollset_kick(grpc_pollset* pollset,
|
|
1149
1120
|
}
|
1150
1121
|
|
1151
1122
|
if (specific_worker->state == KICKED) {
|
1152
|
-
|
1153
|
-
LOG(INFO) << " .. specific worker already kicked";
|
1154
|
-
}
|
1123
|
+
GRPC_TRACE_LOG(polling, INFO) << " .. specific worker already kicked";
|
1155
1124
|
goto done;
|
1156
1125
|
} else if (g_current_thread_worker == specific_worker) {
|
1157
|
-
|
1158
|
-
|
1159
|
-
}
|
1126
|
+
GRPC_TRACE_LOG(polling, INFO)
|
1127
|
+
<< " .. mark " << specific_worker << " kicked";
|
1160
1128
|
SET_KICK_STATE(specific_worker, KICKED);
|
1161
1129
|
goto done;
|
1162
1130
|
} else if (specific_worker ==
|
1163
1131
|
reinterpret_cast<grpc_pollset_worker*>(
|
1164
1132
|
gpr_atm_no_barrier_load(&g_active_poller))) {
|
1165
|
-
|
1166
|
-
LOG(INFO) << " .. kick active poller";
|
1167
|
-
}
|
1133
|
+
GRPC_TRACE_LOG(polling, INFO) << " .. kick active poller";
|
1168
1134
|
SET_KICK_STATE(specific_worker, KICKED);
|
1169
1135
|
ret_err = grpc_wakeup_fd_wakeup(&global_wakeup_fd);
|
1170
1136
|
goto done;
|
1171
1137
|
} else if (specific_worker->initialized_cv) {
|
1172
|
-
|
1173
|
-
LOG(INFO) << " .. kick waiting worker";
|
1174
|
-
}
|
1138
|
+
GRPC_TRACE_LOG(polling, INFO) << " .. kick waiting worker";
|
1175
1139
|
SET_KICK_STATE(specific_worker, KICKED);
|
1176
1140
|
gpr_cv_signal(&specific_worker->cv);
|
1177
1141
|
goto done;
|
1178
1142
|
} else {
|
1179
|
-
|
1180
|
-
LOG(INFO) << " .. kick non-waiting worker";
|
1181
|
-
}
|
1143
|
+
GRPC_TRACE_LOG(polling, INFO) << " .. kick non-waiting worker";
|
1182
1144
|
SET_KICK_STATE(specific_worker, KICKED);
|
1183
1145
|
goto done;
|
1184
1146
|
}
|
@@ -332,12 +332,11 @@ static void fork_fd_list_add_wakeup_fd(grpc_cached_wakeup_fd* fd) {
|
|
332
332
|
#define UNREF_BY(fd, n, reason) unref_by(fd, n, reason, __FILE__, __LINE__)
|
333
333
|
static void ref_by(grpc_fd* fd, int n, const char* reason, const char* file,
|
334
334
|
int line) {
|
335
|
-
|
336
|
-
|
337
|
-
|
338
|
-
|
339
|
-
|
340
|
-
}
|
335
|
+
GRPC_TRACE_VLOG(fd_refcount, 2)
|
336
|
+
<< "FD " << fd->fd << " " << fd << " ref " << n << " "
|
337
|
+
<< gpr_atm_no_barrier_load(&fd->refst) << " -> "
|
338
|
+
<< gpr_atm_no_barrier_load(&fd->refst) + n << " [" << reason << "; "
|
339
|
+
<< file << ":" << line << "]";
|
341
340
|
#else
|
342
341
|
#define REF_BY(fd, n, reason) \
|
343
342
|
do { \
|
@@ -357,12 +356,11 @@ static void ref_by(grpc_fd* fd, int n) {
|
|
357
356
|
#ifndef NDEBUG
|
358
357
|
static void unref_by(grpc_fd* fd, int n, const char* reason, const char* file,
|
359
358
|
int line) {
|
360
|
-
|
361
|
-
|
362
|
-
|
363
|
-
|
364
|
-
|
365
|
-
}
|
359
|
+
GRPC_TRACE_VLOG(fd_refcount, 2)
|
360
|
+
<< "FD " << fd->fd << " " << fd << " unref " << n << " "
|
361
|
+
<< gpr_atm_no_barrier_load(&fd->refst) << " -> "
|
362
|
+
<< gpr_atm_no_barrier_load(&fd->refst) - n << " [" << reason << "; "
|
363
|
+
<< file << ":" << line << "]";
|
366
364
|
#else
|
367
365
|
static void unref_by(grpc_fd* fd, int n) {
|
368
366
|
#endif
|
@@ -1028,9 +1026,7 @@ static grpc_error_handle pollset_work(grpc_pollset* pollset,
|
|
1028
1026
|
r = grpc_poll_function(pfds, pfd_count, timeout);
|
1029
1027
|
GRPC_SCHEDULING_END_BLOCKING_REGION;
|
1030
1028
|
|
1031
|
-
|
1032
|
-
LOG(INFO) << pollset << " poll=" << r;
|
1033
|
-
}
|
1029
|
+
GRPC_TRACE_LOG(polling, INFO) << pollset << " poll=" << r;
|
1034
1030
|
|
1035
1031
|
if (r < 0) {
|
1036
1032
|
if (errno != EINTR) {
|
@@ -1052,9 +1048,7 @@ static grpc_error_handle pollset_work(grpc_pollset* pollset,
|
|
1052
1048
|
}
|
1053
1049
|
} else {
|
1054
1050
|
if (pfds[0].revents & POLLIN_CHECK) {
|
1055
|
-
|
1056
|
-
LOG(INFO) << pollset << ": got_wakeup";
|
1057
|
-
}
|
1051
|
+
GRPC_TRACE_LOG(polling, INFO) << pollset << ": got_wakeup";
|
1058
1052
|
work_combine_error(
|
1059
1053
|
&error, grpc_wakeup_fd_consume_wakeup(&worker.wakeup_fd->fd));
|
1060
1054
|
}
|
@@ -1066,12 +1060,11 @@ static grpc_error_handle pollset_work(grpc_pollset* pollset,
|
|
1066
1060
|
}
|
1067
1061
|
fd_end_poll(&watchers[i], 0, 0);
|
1068
1062
|
} else {
|
1069
|
-
|
1070
|
-
|
1071
|
-
|
1072
|
-
|
1073
|
-
|
1074
|
-
}
|
1063
|
+
GRPC_TRACE_LOG(polling, INFO)
|
1064
|
+
<< pollset << " got_event: " << pfds[i].fd
|
1065
|
+
<< " r:" << ((pfds[i].revents & POLLIN_CHECK) != 0)
|
1066
|
+
<< " w:" << ((pfds[i].revents & POLLOUT_CHECK) != 0) << " ["
|
1067
|
+
<< pfds[i].revents << "]";
|
1075
1068
|
// This is a mitigation to prevent poll() from spinning on a
|
1076
1069
|
//* POLLHUP https://github.com/grpc/grpc/pull/13665
|
1077
1070
|
//
|
@@ -30,7 +30,6 @@
|
|
30
30
|
#include "absl/strings/str_split.h"
|
31
31
|
|
32
32
|
#include <grpc/support/alloc.h>
|
33
|
-
#include <grpc/support/log.h>
|
34
33
|
#include <grpc/support/string_util.h>
|
35
34
|
|
36
35
|
#include "src/core/lib/config/config_vars.h"
|
@@ -42,18 +41,6 @@
|
|
42
41
|
#include "src/core/lib/iomgr/internal_errqueue.h"
|
43
42
|
#include "src/core/util/useful.h"
|
44
43
|
|
45
|
-
// Traces fd create/close operations
|
46
|
-
|
47
|
-
// Polling API trace only enabled in debug builds
|
48
|
-
#ifndef NDEBUG
|
49
|
-
#define GRPC_POLLING_API_TRACE(format, ...) \
|
50
|
-
if (GRPC_TRACE_FLAG_ENABLED(polling_api)) { \
|
51
|
-
LOG(INFO) << "(polling-api) " << absl::StrFormat(format, __VA_ARGS__); \
|
52
|
-
}
|
53
|
-
#else
|
54
|
-
#define GRPC_POLLING_API_TRACE(...)
|
55
|
-
#endif // NDEBUG
|
56
|
-
|
57
44
|
/// Default poll() function - a pointer so that it can be overridden by some
|
58
45
|
/// tests
|
59
46
|
#ifndef GPR_AIX
|
@@ -165,8 +152,10 @@ bool grpc_event_engine_run_in_background(void) {
|
|
165
152
|
}
|
166
153
|
|
167
154
|
grpc_fd* grpc_fd_create(int fd, const char* name, bool track_err) {
|
168
|
-
|
169
|
-
|
155
|
+
GRPC_TRACE_DLOG(polling_api, INFO) << "(polling-api) fd_create(" << fd << ", "
|
156
|
+
<< name << ", " << track_err << ")";
|
157
|
+
GRPC_TRACE_LOG(fd_trace, INFO) << "(fd-trace) fd_create(" << fd << ", "
|
158
|
+
<< name << ", " << track_err << ")";
|
170
159
|
return g_event_engine->fd_create(
|
171
160
|
fd, name, track_err && grpc_event_engine_can_track_errors());
|
172
161
|
}
|
@@ -177,22 +166,29 @@ int grpc_fd_wrapped_fd(grpc_fd* fd) {
|
|
177
166
|
|
178
167
|
void grpc_fd_orphan(grpc_fd* fd, grpc_closure* on_done, int* release_fd,
|
179
168
|
const char* reason) {
|
180
|
-
|
181
|
-
|
182
|
-
|
169
|
+
GRPC_TRACE_DLOG(polling_api, INFO)
|
170
|
+
<< "(polling-api) fd_orphan(" << grpc_fd_wrapped_fd(fd) << ", " << on_done
|
171
|
+
<< ", " << release_fd << ", " << reason << ")";
|
172
|
+
GRPC_TRACE_LOG(fd_trace, INFO)
|
173
|
+
<< "(fd-trace) grpc_fd_orphan, fd:" << grpc_fd_wrapped_fd(fd)
|
174
|
+
<< " closed";
|
183
175
|
|
184
176
|
g_event_engine->fd_orphan(fd, on_done, release_fd, reason);
|
185
177
|
}
|
186
178
|
|
187
179
|
void grpc_fd_set_pre_allocated(grpc_fd* fd) {
|
188
|
-
|
189
|
-
|
180
|
+
GRPC_TRACE_DLOG(polling_api, INFO)
|
181
|
+
<< "(polling-api) fd_set_pre_allocated(" << grpc_fd_wrapped_fd(fd) << ")";
|
182
|
+
GRPC_TRACE_LOG(fd_trace, INFO)
|
183
|
+
<< "(fd-trace) fd_set_pre_allocated(" << grpc_fd_wrapped_fd(fd) << ")";
|
190
184
|
g_event_engine->fd_set_pre_allocated(fd);
|
191
185
|
}
|
192
186
|
|
193
187
|
void grpc_fd_shutdown(grpc_fd* fd, grpc_error_handle why) {
|
194
|
-
|
195
|
-
|
188
|
+
GRPC_TRACE_LOG(polling_api, INFO)
|
189
|
+
<< "(polling-api) fd_shutdown(" << grpc_fd_wrapped_fd(fd) << ")";
|
190
|
+
GRPC_TRACE_LOG(fd_trace, INFO)
|
191
|
+
<< "(fd-trace) fd_shutdown(" << grpc_fd_wrapped_fd(fd) << ")";
|
196
192
|
g_event_engine->fd_shutdown(fd, why);
|
197
193
|
}
|
198
194
|
|
@@ -221,41 +217,48 @@ void grpc_fd_set_error(grpc_fd* fd) { g_event_engine->fd_set_error(fd); }
|
|
221
217
|
static size_t pollset_size(void) { return g_event_engine->pollset_size; }
|
222
218
|
|
223
219
|
static void pollset_init(grpc_pollset* pollset, gpr_mu** mu) {
|
224
|
-
|
220
|
+
GRPC_TRACE_DLOG(polling_api, INFO)
|
221
|
+
<< "(polling-api) pollset_init(" << pollset << ")";
|
225
222
|
g_event_engine->pollset_init(pollset, mu);
|
226
223
|
}
|
227
224
|
|
228
225
|
static void pollset_shutdown(grpc_pollset* pollset, grpc_closure* closure) {
|
229
|
-
|
226
|
+
GRPC_TRACE_DLOG(polling_api, INFO)
|
227
|
+
<< "(polling-api) pollset_shutdown(" << pollset << ")";
|
230
228
|
g_event_engine->pollset_shutdown(pollset, closure);
|
231
229
|
}
|
232
230
|
|
233
231
|
static void pollset_destroy(grpc_pollset* pollset) {
|
234
|
-
|
232
|
+
GRPC_TRACE_DLOG(polling_api, INFO)
|
233
|
+
<< "(polling-api) pollset_destroy(" << pollset << ")";
|
235
234
|
g_event_engine->pollset_destroy(pollset);
|
236
235
|
}
|
237
236
|
|
238
237
|
static grpc_error_handle pollset_work(grpc_pollset* pollset,
|
239
238
|
grpc_pollset_worker** worker,
|
240
239
|
grpc_core::Timestamp deadline) {
|
241
|
-
|
242
|
-
|
240
|
+
GRPC_TRACE_DLOG(polling_api, INFO)
|
241
|
+
<< "(polling-api) pollset_work(" << pollset << ", "
|
242
|
+
<< deadline.milliseconds_after_process_epoch() << ") begin";
|
243
243
|
grpc_error_handle err =
|
244
244
|
g_event_engine->pollset_work(pollset, worker, deadline);
|
245
|
-
|
246
|
-
|
245
|
+
GRPC_TRACE_DLOG(polling_api, INFO)
|
246
|
+
<< "(polling-api) pollset_work(" << pollset << ", "
|
247
|
+
<< deadline.milliseconds_after_process_epoch() << ") end";
|
247
248
|
return err;
|
248
249
|
}
|
249
250
|
|
250
251
|
static grpc_error_handle pollset_kick(grpc_pollset* pollset,
|
251
252
|
grpc_pollset_worker* specific_worker) {
|
252
|
-
|
253
|
+
GRPC_TRACE_DLOG(polling_api, INFO) << "(polling-api) pollset_kick(" << pollset
|
254
|
+
<< ", " << specific_worker << ")";
|
253
255
|
return g_event_engine->pollset_kick(pollset, specific_worker);
|
254
256
|
}
|
255
257
|
|
256
258
|
void grpc_pollset_add_fd(grpc_pollset* pollset, struct grpc_fd* fd) {
|
257
|
-
|
258
|
-
|
259
|
+
GRPC_TRACE_DLOG(polling_api, INFO)
|
260
|
+
<< "(polling-api) pollset_add_fd(" << pollset << ", "
|
261
|
+
<< grpc_fd_wrapped_fd(fd) << ")";
|
259
262
|
g_event_engine->pollset_add_fd(pollset, fd);
|
260
263
|
}
|
261
264
|
|
@@ -270,38 +273,44 @@ grpc_pollset_vtable grpc_posix_pollset_vtable = {
|
|
270
273
|
|
271
274
|
static grpc_pollset_set* pollset_set_create(void) {
|
272
275
|
grpc_pollset_set* pss = g_event_engine->pollset_set_create();
|
273
|
-
|
276
|
+
GRPC_TRACE_DLOG(polling_api, INFO)
|
277
|
+
<< "(polling-api) pollset_set_create(" << pss << ")";
|
274
278
|
return pss;
|
275
279
|
}
|
276
280
|
|
277
281
|
static void pollset_set_destroy(grpc_pollset_set* pollset_set) {
|
278
|
-
|
282
|
+
GRPC_TRACE_DLOG(polling_api, INFO)
|
283
|
+
<< "(polling-api) pollset_set_destroy(" << pollset_set << ")";
|
279
284
|
g_event_engine->pollset_set_destroy(pollset_set);
|
280
285
|
}
|
281
286
|
|
282
287
|
static void pollset_set_add_pollset(grpc_pollset_set* pollset_set,
|
283
288
|
grpc_pollset* pollset) {
|
284
|
-
|
285
|
-
|
289
|
+
GRPC_TRACE_DLOG(polling_api, INFO) << "(polling-api) pollset_set_add_pollset("
|
290
|
+
<< pollset_set << ", " << pollset << ")";
|
286
291
|
g_event_engine->pollset_set_add_pollset(pollset_set, pollset);
|
287
292
|
}
|
288
293
|
|
289
294
|
static void pollset_set_del_pollset(grpc_pollset_set* pollset_set,
|
290
295
|
grpc_pollset* pollset) {
|
291
|
-
|
292
|
-
|
296
|
+
GRPC_TRACE_DLOG(polling_api, INFO) << "(polling-api) pollset_set_del_pollset("
|
297
|
+
<< pollset_set << ", " << pollset << ")";
|
293
298
|
g_event_engine->pollset_set_del_pollset(pollset_set, pollset);
|
294
299
|
}
|
295
300
|
|
296
301
|
static void pollset_set_add_pollset_set(grpc_pollset_set* bag,
|
297
302
|
grpc_pollset_set* item) {
|
298
|
-
|
303
|
+
GRPC_TRACE_DLOG(polling_api, INFO)
|
304
|
+
<< "(polling-api) pollset_set_add_pollset_set(" << bag << ", " << item
|
305
|
+
<< ")";
|
299
306
|
g_event_engine->pollset_set_add_pollset_set(bag, item);
|
300
307
|
}
|
301
308
|
|
302
309
|
static void pollset_set_del_pollset_set(grpc_pollset_set* bag,
|
303
310
|
grpc_pollset_set* item) {
|
304
|
-
|
311
|
+
GRPC_TRACE_DLOG(polling_api, INFO)
|
312
|
+
<< "(polling-api) pollset_set_del_pollset_set(" << bag << ", " << item
|
313
|
+
<< ")";
|
305
314
|
g_event_engine->pollset_set_del_pollset_set(bag, item);
|
306
315
|
}
|
307
316
|
|
@@ -311,14 +320,16 @@ grpc_pollset_set_vtable grpc_posix_pollset_set_vtable = {
|
|
311
320
|
pollset_set_add_pollset_set, pollset_set_del_pollset_set};
|
312
321
|
|
313
322
|
void grpc_pollset_set_add_fd(grpc_pollset_set* pollset_set, grpc_fd* fd) {
|
314
|
-
|
315
|
-
|
323
|
+
GRPC_TRACE_DLOG(polling_api, INFO)
|
324
|
+
<< "(polling-api) pollset_set_add_fd(" << pollset_set << ", "
|
325
|
+
<< grpc_fd_wrapped_fd(fd) << ")";
|
316
326
|
g_event_engine->pollset_set_add_fd(pollset_set, fd);
|
317
327
|
}
|
318
328
|
|
319
329
|
void grpc_pollset_set_del_fd(grpc_pollset_set* pollset_set, grpc_fd* fd) {
|
320
|
-
|
321
|
-
|
330
|
+
GRPC_TRACE_DLOG(polling_api, INFO)
|
331
|
+
<< "(polling-api) pollset_set_del_fd(" << pollset_set << ", "
|
332
|
+
<< grpc_fd_wrapped_fd(fd) << ")";
|
322
333
|
g_event_engine->pollset_set_del_fd(pollset_set, fd);
|
323
334
|
}
|
324
335
|
|
@@ -33,11 +33,6 @@
|
|
33
33
|
#include "src/core/lib/iomgr/pollset_set.h"
|
34
34
|
#include "src/core/lib/iomgr/wakeup_fd_posix.h"
|
35
35
|
|
36
|
-
#define GRPC_FD_TRACE(format, ...) \
|
37
|
-
if (GRPC_TRACE_FLAG_ENABLED(fd_trace)) { \
|
38
|
-
LOG(INFO) << "(fd-trace) " << absl::StrFormat(format, __VA_ARGS__); \
|
39
|
-
}
|
40
|
-
|
41
36
|
typedef struct grpc_fd grpc_fd;
|
42
37
|
|
43
38
|
typedef struct grpc_event_engine_vtable {
|
@@ -35,18 +35,16 @@ void RunEventEngineClosure(grpc_closure* closure, grpc_error_handle error) {
|
|
35
35
|
grpc_core::ExecCtx exec_ctx;
|
36
36
|
#ifndef NDEBUG
|
37
37
|
closure->scheduled = false;
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
}
|
38
|
+
GRPC_TRACE_VLOG(closure, 2)
|
39
|
+
<< "EventEngine: running closure " << closure << ": created ["
|
40
|
+
<< closure->file_created << ":" << closure->line_created
|
41
|
+
<< "]: " << (closure->run ? "run" : "scheduled") << " ["
|
42
|
+
<< closure->file_initiated << ":" << closure->line_initiated << "]";
|
44
43
|
#endif
|
45
44
|
closure->cb(closure->cb_arg, error);
|
46
45
|
#ifndef NDEBUG
|
47
|
-
|
48
|
-
|
49
|
-
}
|
46
|
+
GRPC_TRACE_VLOG(closure, 2)
|
47
|
+
<< "EventEngine: closure " << closure << " finished";
|
50
48
|
#endif
|
51
49
|
}
|
52
50
|
|
@@ -173,10 +173,9 @@ class EventEngineEndpointWrapper {
|
|
173
173
|
void FinishPendingWrite(absl::Status status) {
|
174
174
|
auto* write_buffer = reinterpret_cast<SliceBuffer*>(&eeep_->write_buffer);
|
175
175
|
write_buffer->~SliceBuffer();
|
176
|
-
|
177
|
-
|
178
|
-
|
179
|
-
}
|
176
|
+
GRPC_TRACE_LOG(tcp, INFO)
|
177
|
+
<< "TCP: " << this << " WRITE (peer=" << PeerAddress()
|
178
|
+
<< ") error=" << status;
|
180
179
|
grpc_closure* cb = pending_write_cb_;
|
181
180
|
pending_write_cb_ = nullptr;
|
182
181
|
if (grpc_core::ExecCtx::Get() == nullptr) {
|
@@ -32,21 +32,18 @@
|
|
32
32
|
static void exec_ctx_run(grpc_closure* closure) {
|
33
33
|
#ifndef NDEBUG
|
34
34
|
closure->scheduled = false;
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
}
|
35
|
+
GRPC_TRACE_VLOG(closure, 2)
|
36
|
+
<< "running closure " << closure << ": created [" << closure->file_created
|
37
|
+
<< ":" << closure->line_created
|
38
|
+
<< "]: " << (closure->run ? "run" : "scheduled") << " ["
|
39
|
+
<< closure->file_initiated << ":" << closure->line_initiated << "]";
|
41
40
|
#endif
|
42
41
|
grpc_error_handle error =
|
43
42
|
grpc_core::internal::StatusMoveFromHeapPtr(closure->error_data.error);
|
44
43
|
closure->error_data.error = 0;
|
45
44
|
closure->cb(closure->cb_arg, std::move(error));
|
46
45
|
#ifndef NDEBUG
|
47
|
-
|
48
|
-
VLOG(2) << "closure " << closure << " finished";
|
49
|
-
}
|
46
|
+
GRPC_TRACE_VLOG(closure, 2) << "closure " << closure << " finished";
|
50
47
|
#endif
|
51
48
|
}
|
52
49
|
|