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
@@ -618,18 +618,14 @@ static void tcp_drop_uncovered_then_handle_write(void* arg /* grpc_tcp */,
|
|
618
618
|
|
619
619
|
static void done_poller(void* bp, grpc_error_handle /*error_ignored*/) {
|
620
620
|
backup_poller* p = static_cast<backup_poller*>(bp);
|
621
|
-
|
622
|
-
LOG(INFO) << "BACKUP_POLLER:" << p << " destroy";
|
623
|
-
}
|
621
|
+
GRPC_TRACE_LOG(tcp, INFO) << "BACKUP_POLLER:" << p << " destroy";
|
624
622
|
grpc_pollset_destroy(BACKUP_POLLER_POLLSET(p));
|
625
623
|
gpr_free(p);
|
626
624
|
}
|
627
625
|
|
628
626
|
static void run_poller(void* bp, grpc_error_handle /*error_ignored*/) {
|
629
627
|
backup_poller* p = static_cast<backup_poller*>(bp);
|
630
|
-
|
631
|
-
LOG(INFO) << "BACKUP_POLLER:" << p << " run";
|
632
|
-
}
|
628
|
+
GRPC_TRACE_LOG(tcp, INFO) << "BACKUP_POLLER:" << p << " run";
|
633
629
|
gpr_mu_lock(p->pollset_mu);
|
634
630
|
grpc_core::Timestamp deadline =
|
635
631
|
grpc_core::Timestamp::Now() + grpc_core::Duration::Seconds(10);
|
@@ -644,17 +640,13 @@ static void run_poller(void* bp, grpc_error_handle /*error_ignored*/) {
|
|
644
640
|
g_backup_poller = nullptr;
|
645
641
|
g_uncovered_notifications_pending = 0;
|
646
642
|
g_backup_poller_mu->Unlock();
|
647
|
-
|
648
|
-
LOG(INFO) << "BACKUP_POLLER:" << p << " shutdown";
|
649
|
-
}
|
643
|
+
GRPC_TRACE_LOG(tcp, INFO) << "BACKUP_POLLER:" << p << " shutdown";
|
650
644
|
grpc_pollset_shutdown(BACKUP_POLLER_POLLSET(p),
|
651
645
|
GRPC_CLOSURE_INIT(&p->run_poller, done_poller, p,
|
652
646
|
grpc_schedule_on_exec_ctx));
|
653
647
|
} else {
|
654
648
|
g_backup_poller_mu->Unlock();
|
655
|
-
|
656
|
-
LOG(INFO) << "BACKUP_POLLER:" << p << " reschedule";
|
657
|
-
}
|
649
|
+
GRPC_TRACE_LOG(tcp, INFO) << "BACKUP_POLLER:" << p << " reschedule";
|
658
650
|
grpc_core::Executor::Run(&p->run_poller, absl::OkStatus(),
|
659
651
|
grpc_core::ExecutorType::DEFAULT,
|
660
652
|
grpc_core::ExecutorJobType::LONG);
|
@@ -669,10 +661,8 @@ static void drop_uncovered(grpc_tcp* /*tcp*/) {
|
|
669
661
|
old_count = g_uncovered_notifications_pending--;
|
670
662
|
g_backup_poller_mu->Unlock();
|
671
663
|
CHECK_GT(old_count, 1);
|
672
|
-
|
673
|
-
|
674
|
-
<< old_count - 1;
|
675
|
-
}
|
664
|
+
GRPC_TRACE_LOG(tcp, INFO) << "BACKUP_POLLER:" << p << " uncover cnt "
|
665
|
+
<< old_count << "->" << old_count - 1;
|
676
666
|
}
|
677
667
|
|
678
668
|
// gRPC API considers a Write operation to be done the moment it clears ‘flow
|
@@ -693,9 +683,7 @@ static void cover_self(grpc_tcp* tcp) {
|
|
693
683
|
g_backup_poller = p;
|
694
684
|
grpc_pollset_init(BACKUP_POLLER_POLLSET(p), &p->pollset_mu);
|
695
685
|
g_backup_poller_mu->Unlock();
|
696
|
-
|
697
|
-
LOG(INFO) << "BACKUP_POLLER:" << p << " create";
|
698
|
-
}
|
686
|
+
GRPC_TRACE_LOG(tcp, INFO) << "BACKUP_POLLER:" << p << " create";
|
699
687
|
grpc_core::Executor::Run(
|
700
688
|
GRPC_CLOSURE_INIT(&p->run_poller, run_poller, p, nullptr),
|
701
689
|
absl::OkStatus(), grpc_core::ExecutorType::DEFAULT,
|
@@ -705,24 +693,18 @@ static void cover_self(grpc_tcp* tcp) {
|
|
705
693
|
p = g_backup_poller;
|
706
694
|
g_backup_poller_mu->Unlock();
|
707
695
|
}
|
708
|
-
|
709
|
-
|
710
|
-
<< old_count - 1 << "->" << old_count;
|
711
|
-
}
|
696
|
+
GRPC_TRACE_LOG(tcp, INFO) << "BACKUP_POLLER:" << p << " add " << tcp
|
697
|
+
<< " cnt " << old_count - 1 << "->" << old_count;
|
712
698
|
grpc_pollset_add_fd(BACKUP_POLLER_POLLSET(p), tcp->em_fd);
|
713
699
|
}
|
714
700
|
|
715
701
|
static void notify_on_read(grpc_tcp* tcp) {
|
716
|
-
|
717
|
-
LOG(INFO) << "TCP:" << tcp << " notify_on_read";
|
718
|
-
}
|
702
|
+
GRPC_TRACE_LOG(tcp, INFO) << "TCP:" << tcp << " notify_on_read";
|
719
703
|
grpc_fd_notify_on_read(tcp->em_fd, &tcp->read_done_closure);
|
720
704
|
}
|
721
705
|
|
722
706
|
static void notify_on_write(grpc_tcp* tcp) {
|
723
|
-
|
724
|
-
LOG(INFO) << "TCP:" << tcp << " notify_on_write";
|
725
|
-
}
|
707
|
+
GRPC_TRACE_LOG(tcp, INFO) << "TCP:" << tcp << " notify_on_write";
|
726
708
|
if (!grpc_event_engine_run_in_background()) {
|
727
709
|
cover_self(tcp);
|
728
710
|
}
|
@@ -731,10 +713,8 @@ static void notify_on_write(grpc_tcp* tcp) {
|
|
731
713
|
|
732
714
|
static void tcp_drop_uncovered_then_handle_write(void* arg,
|
733
715
|
grpc_error_handle error) {
|
734
|
-
|
735
|
-
|
736
|
-
<< " got_write: " << grpc_core::StatusToString(error);
|
737
|
-
}
|
716
|
+
GRPC_TRACE_LOG(tcp, INFO)
|
717
|
+
<< "TCP:" << arg << " got_write: " << grpc_core::StatusToString(error);
|
738
718
|
drop_uncovered(static_cast<grpc_tcp*>(arg));
|
739
719
|
tcp_handle_write(arg, error);
|
740
720
|
}
|
@@ -821,9 +801,8 @@ static void tcp_destroy(grpc_endpoint* ep) {
|
|
821
801
|
|
822
802
|
static void perform_reclamation(grpc_tcp* tcp)
|
823
803
|
ABSL_LOCKS_EXCLUDED(tcp->read_mu) {
|
824
|
-
|
825
|
-
|
826
|
-
}
|
804
|
+
GRPC_TRACE_LOG(resource_quota, INFO)
|
805
|
+
<< "TCP: benign reclamation to free memory";
|
827
806
|
tcp->read_mu.Lock();
|
828
807
|
if (tcp->incoming_buffer != nullptr) {
|
829
808
|
grpc_slice_buffer_reset_and_unref(tcp->incoming_buffer);
|
@@ -915,9 +894,8 @@ static void update_rcvlowat(grpc_tcp* tcp)
|
|
915
894
|
#define MAX_READ_IOVEC 64
|
916
895
|
static bool tcp_do_read(grpc_tcp* tcp, grpc_error_handle* error)
|
917
896
|
ABSL_EXCLUSIVE_LOCKS_REQUIRED(tcp->read_mu) {
|
918
|
-
|
919
|
-
|
920
|
-
}
|
897
|
+
GRPC_LATENT_SEE_INNER_SCOPE("tcp_do_read");
|
898
|
+
GRPC_TRACE_LOG(tcp, INFO) << "TCP:" << tcp << " do_read";
|
921
899
|
struct msghdr msg;
|
922
900
|
struct iovec iov[MAX_READ_IOVEC];
|
923
901
|
ssize_t read_bytes;
|
@@ -1128,10 +1106,8 @@ static void maybe_make_read_slices(grpc_tcp* tcp)
|
|
1128
1106
|
|
1129
1107
|
static void tcp_handle_read(void* arg /* grpc_tcp */, grpc_error_handle error) {
|
1130
1108
|
grpc_tcp* tcp = static_cast<grpc_tcp*>(arg);
|
1131
|
-
|
1132
|
-
|
1133
|
-
<< " got_read: " << grpc_core::StatusToString(error);
|
1134
|
-
}
|
1109
|
+
GRPC_TRACE_LOG(tcp, INFO)
|
1110
|
+
<< "TCP:" << tcp << " got_read: " << grpc_core::StatusToString(error);
|
1135
1111
|
tcp->read_mu.Lock();
|
1136
1112
|
grpc_error_handle tcp_read_error;
|
1137
1113
|
if (GPR_LIKELY(error.ok()) && tcp->memory_owner.is_valid()) {
|
@@ -1211,6 +1187,7 @@ static void tcp_read(grpc_endpoint* ep, grpc_slice_buffer* incoming_buffer,
|
|
1211
1187
|
// of bytes sent.
|
1212
1188
|
ssize_t tcp_send(int fd, const struct msghdr* msg, int* saved_errno,
|
1213
1189
|
int additional_flags = 0) {
|
1190
|
+
GRPC_LATENT_SEE_INNER_SCOPE("tcp_send");
|
1214
1191
|
ssize_t sent_length;
|
1215
1192
|
do {
|
1216
1193
|
// TODO(klempner): Cork if this is a partial write
|
@@ -1278,9 +1255,8 @@ static bool tcp_write_with_timestamps(grpc_tcp* tcp, struct msghdr* msg,
|
|
1278
1255
|
uint32_t opt = grpc_core::kTimestampingSocketOptions;
|
1279
1256
|
if (setsockopt(tcp->fd, SOL_SOCKET, SO_TIMESTAMPING,
|
1280
1257
|
static_cast<void*>(&opt), sizeof(opt)) != 0) {
|
1281
|
-
|
1282
|
-
|
1283
|
-
}
|
1258
|
+
GRPC_TRACE_LOG(tcp, ERROR)
|
1259
|
+
<< "Failed to set timestamping options on the socket.";
|
1284
1260
|
return false;
|
1285
1261
|
}
|
1286
1262
|
tcp->bytes_counter = -1;
|
@@ -1364,9 +1340,7 @@ struct cmsghdr* process_timestamp(grpc_tcp* tcp, msghdr* msg,
|
|
1364
1340
|
auto next_cmsg = CMSG_NXTHDR(msg, cmsg);
|
1365
1341
|
cmsghdr* opt_stats = nullptr;
|
1366
1342
|
if (next_cmsg == nullptr) {
|
1367
|
-
|
1368
|
-
LOG(ERROR) << "Received timestamp without extended error";
|
1369
|
-
}
|
1343
|
+
GRPC_TRACE_LOG(tcp, ERROR) << "Received timestamp without extended error";
|
1370
1344
|
return cmsg;
|
1371
1345
|
}
|
1372
1346
|
|
@@ -1376,9 +1350,7 @@ struct cmsghdr* process_timestamp(grpc_tcp* tcp, msghdr* msg,
|
|
1376
1350
|
opt_stats = next_cmsg;
|
1377
1351
|
next_cmsg = CMSG_NXTHDR(msg, opt_stats);
|
1378
1352
|
if (next_cmsg == nullptr) {
|
1379
|
-
|
1380
|
-
LOG(ERROR) << "Received timestamp without extended error";
|
1381
|
-
}
|
1353
|
+
GRPC_TRACE_LOG(tcp, ERROR) << "Received timestamp without extended error";
|
1382
1354
|
return opt_stats;
|
1383
1355
|
}
|
1384
1356
|
}
|
@@ -1386,9 +1358,7 @@ struct cmsghdr* process_timestamp(grpc_tcp* tcp, msghdr* msg,
|
|
1386
1358
|
if (!(next_cmsg->cmsg_level == SOL_IP || next_cmsg->cmsg_level == SOL_IPV6) ||
|
1387
1359
|
!(next_cmsg->cmsg_type == IP_RECVERR ||
|
1388
1360
|
next_cmsg->cmsg_type == IPV6_RECVERR)) {
|
1389
|
-
|
1390
|
-
LOG(ERROR) << "Unexpected control message";
|
1391
|
-
}
|
1361
|
+
GRPC_TRACE_LOG(tcp, ERROR) << "Unexpected control message";
|
1392
1362
|
return cmsg;
|
1393
1363
|
}
|
1394
1364
|
|
@@ -1408,6 +1378,7 @@ struct cmsghdr* process_timestamp(grpc_tcp* tcp, msghdr* msg,
|
|
1408
1378
|
/// messages from the queue.
|
1409
1379
|
///
|
1410
1380
|
static bool process_errors(grpc_tcp* tcp) {
|
1381
|
+
GRPC_LATENT_SEE_INNER_SCOPE("process_errors");
|
1411
1382
|
bool processed_err = false;
|
1412
1383
|
struct iovec iov;
|
1413
1384
|
iov.iov_base = nullptr;
|
@@ -1469,10 +1440,9 @@ static bool process_errors(grpc_tcp* tcp) {
|
|
1469
1440
|
} else {
|
1470
1441
|
// Got a control message that is not a timestamp or zerocopy. Don't know
|
1471
1442
|
// how to handle this.
|
1472
|
-
|
1473
|
-
|
1474
|
-
|
1475
|
-
}
|
1443
|
+
GRPC_TRACE_LOG(tcp, INFO)
|
1444
|
+
<< "unknown control message cmsg_level:" << cmsg->cmsg_level
|
1445
|
+
<< " cmsg_type:" << cmsg->cmsg_type;
|
1476
1446
|
return processed_err;
|
1477
1447
|
}
|
1478
1448
|
}
|
@@ -1485,9 +1455,7 @@ static bool process_errors(grpc_tcp* tcp) {
|
|
1485
1455
|
static void tcp_handle_error(void* arg /* grpc_tcp */,
|
1486
1456
|
grpc_error_handle error) {
|
1487
1457
|
grpc_tcp* tcp = static_cast<grpc_tcp*>(arg);
|
1488
|
-
|
1489
|
-
LOG(INFO) << "TCP:" << tcp << " got_error: " << error;
|
1490
|
-
}
|
1458
|
+
GRPC_TRACE_LOG(tcp, INFO) << "TCP:" << tcp << " got_error: " << error;
|
1491
1459
|
|
1492
1460
|
if (!error.ok() ||
|
1493
1461
|
static_cast<bool>(gpr_atm_acq_load(&tcp->stop_error_notification))) {
|
@@ -1815,9 +1783,7 @@ static void tcp_handle_write(void* arg /* grpc_tcp */,
|
|
1815
1783
|
? tcp_flush_zerocopy(tcp, tcp->current_zerocopy_send, &error)
|
1816
1784
|
: tcp_flush(tcp, &error);
|
1817
1785
|
if (!flush_result) {
|
1818
|
-
|
1819
|
-
LOG(INFO) << "write: delayed";
|
1820
|
-
}
|
1786
|
+
GRPC_TRACE_LOG(tcp, INFO) << "write: delayed";
|
1821
1787
|
notify_on_write(tcp);
|
1822
1788
|
// tcp_flush does not populate error if it has returned false.
|
1823
1789
|
DCHECK(error.ok());
|
@@ -1886,9 +1852,7 @@ static void tcp_write(grpc_endpoint* ep, grpc_slice_buffer* buf,
|
|
1886
1852
|
TCP_REF(tcp, "write");
|
1887
1853
|
tcp->write_cb = cb;
|
1888
1854
|
tcp->current_zerocopy_send = zerocopy_send_record;
|
1889
|
-
|
1890
|
-
LOG(INFO) << "write: delayed";
|
1891
|
-
}
|
1855
|
+
GRPC_TRACE_LOG(tcp, INFO) << "write: delayed";
|
1892
1856
|
notify_on_write(tcp);
|
1893
1857
|
} else {
|
1894
1858
|
GRPC_TRACE_LOG(tcp, INFO) << "write: " << grpc_core::StatusToString(error);
|
@@ -177,10 +177,9 @@ static grpc_error_handle CreateEventEngineListener(
|
|
177
177
|
<< addr_uri.status().ToString();
|
178
178
|
return;
|
179
179
|
}
|
180
|
-
|
181
|
-
|
182
|
-
|
183
|
-
}
|
180
|
+
GRPC_TRACE_LOG(tcp, INFO) << "SERVER_CONNECT: incoming external "
|
181
|
+
"connection: "
|
182
|
+
<< addr_uri->c_str();
|
184
183
|
}
|
185
184
|
read_notifier_pollset =
|
186
185
|
(*(s->pollsets))[static_cast<size_t>(
|
@@ -460,9 +459,8 @@ static void on_read(void* arg, grpc_error_handle err) {
|
|
460
459
|
LOG(ERROR) << "Invalid address: " << addr_uri.status();
|
461
460
|
goto error;
|
462
461
|
}
|
463
|
-
|
464
|
-
|
465
|
-
}
|
462
|
+
GRPC_TRACE_LOG(tcp, INFO)
|
463
|
+
<< "SERVER_CONNECT: incoming connection: " << *addr_uri;
|
466
464
|
|
467
465
|
std::string name = absl::StrCat("tcp-server-connection:", addr_uri.value());
|
468
466
|
grpc_fd* fdobj = grpc_fd_create(fd, name.c_str(), true);
|
@@ -916,10 +914,8 @@ class ExternalConnectionHandler : public grpc_core::TcpServerFdHandler {
|
|
916
914
|
LOG(ERROR) << "Invalid address: " << addr_uri.status();
|
917
915
|
return;
|
918
916
|
}
|
919
|
-
|
920
|
-
|
921
|
-
<< *addr_uri;
|
922
|
-
}
|
917
|
+
GRPC_TRACE_LOG(tcp, INFO)
|
918
|
+
<< "SERVER_CONNECT: incoming external connection: " << *addr_uri;
|
923
919
|
std::string name = absl::StrCat("tcp-server-connection:", addr_uri.value());
|
924
920
|
grpc_fd* fdobj = grpc_fd_create(fd, name.c_str(), true);
|
925
921
|
read_notifier_pollset =
|
@@ -176,9 +176,7 @@ static void on_read(void* tcpp, grpc_error_handle error) {
|
|
176
176
|
grpc_winsocket* socket = tcp->socket;
|
177
177
|
grpc_winsocket_callback_info* info = &socket->read_info;
|
178
178
|
|
179
|
-
|
180
|
-
LOG(INFO) << "TCP:" << tcp << " on_read";
|
181
|
-
}
|
179
|
+
GRPC_TRACE_LOG(tcp, INFO) << "TCP:" << tcp << " on_read";
|
182
180
|
|
183
181
|
if (error.ok()) {
|
184
182
|
if (info->wsa_error != 0 && !tcp->shutting_down) {
|
@@ -208,9 +206,7 @@ static void on_read(void* tcpp, grpc_error_handle error) {
|
|
208
206
|
}
|
209
207
|
}
|
210
208
|
} else {
|
211
|
-
|
212
|
-
LOG(INFO) << "TCP:" << tcp << " unref read_slice";
|
213
|
-
}
|
209
|
+
GRPC_TRACE_LOG(tcp, INFO) << "TCP:" << tcp << " unref read_slice";
|
214
210
|
grpc_slice_buffer_reset_and_unref(tcp->read_slices);
|
215
211
|
error = grpc_error_set_int(
|
216
212
|
tcp->shutting_down ? GRPC_ERROR_CREATE("TCP stream shutting down")
|
@@ -239,9 +235,7 @@ static void win_read(grpc_endpoint* ep, grpc_slice_buffer* read_slices,
|
|
239
235
|
WSABUF buffers[MAX_WSABUF_COUNT];
|
240
236
|
size_t i;
|
241
237
|
|
242
|
-
|
243
|
-
LOG(INFO) << "TCP:" << tcp << " win_read";
|
244
|
-
}
|
238
|
+
GRPC_TRACE_LOG(tcp, INFO) << "TCP:" << tcp << " win_read";
|
245
239
|
|
246
240
|
if (tcp->shutting_down) {
|
247
241
|
grpc_core::ExecCtx::Run(
|
@@ -310,9 +304,7 @@ static void on_write(void* tcpp, grpc_error_handle error) {
|
|
310
304
|
grpc_winsocket_callback_info* info = &handle->write_info;
|
311
305
|
grpc_closure* cb;
|
312
306
|
|
313
|
-
|
314
|
-
LOG(INFO) << "TCP:" << tcp << " on_write";
|
315
|
-
}
|
307
|
+
GRPC_TRACE_LOG(tcp, INFO) << "TCP:" << tcp << " on_write";
|
316
308
|
|
317
309
|
gpr_mu_lock(&tcp->mu);
|
318
310
|
cb = tcp->write_cb;
|
@@ -334,12 +334,11 @@ static void timer_init(grpc_timer* timer, grpc_core::Timestamp deadline,
|
|
334
334
|
timer->hash_table_next = nullptr;
|
335
335
|
#endif
|
336
336
|
|
337
|
-
|
338
|
-
|
339
|
-
|
340
|
-
|
341
|
-
|
342
|
-
}
|
337
|
+
GRPC_TRACE_VLOG(timer, 2)
|
338
|
+
<< "TIMER " << timer << ": SET "
|
339
|
+
<< deadline.milliseconds_after_process_epoch() << " now "
|
340
|
+
<< grpc_core::Timestamp::Now().milliseconds_after_process_epoch()
|
341
|
+
<< " call " << closure << "[" << closure->cb << "]";
|
343
342
|
|
344
343
|
if (!g_shared_mutables.initialized) {
|
345
344
|
timer->pending = false;
|
@@ -370,12 +369,11 @@ static void timer_init(grpc_timer* timer, grpc_core::Timestamp deadline,
|
|
370
369
|
timer->heap_index = INVALID_HEAP_INDEX;
|
371
370
|
list_join(&shard->list, timer);
|
372
371
|
}
|
373
|
-
|
374
|
-
|
375
|
-
|
376
|
-
|
377
|
-
|
378
|
-
}
|
372
|
+
GRPC_TRACE_VLOG(timer, 2)
|
373
|
+
<< " .. add to shard " << (shard - g_shards)
|
374
|
+
<< " with queue_deadline_cap="
|
375
|
+
<< shard->queue_deadline_cap.milliseconds_after_process_epoch()
|
376
|
+
<< " => is_first_timer=" << (is_first_timer ? "true" : "false");
|
379
377
|
gpr_mu_unlock(&shard->mu);
|
380
378
|
|
381
379
|
// Deadline may have decreased, we need to adjust the main queue. Note
|
@@ -391,10 +389,9 @@ static void timer_init(grpc_timer* timer, grpc_core::Timestamp deadline,
|
|
391
389
|
// grpc_timer_check.
|
392
390
|
if (is_first_timer) {
|
393
391
|
gpr_mu_lock(&g_shared_mutables.mu);
|
394
|
-
|
395
|
-
|
396
|
-
|
397
|
-
}
|
392
|
+
GRPC_TRACE_VLOG(timer, 2)
|
393
|
+
<< " .. old shard min_deadline="
|
394
|
+
<< shard->min_deadline.milliseconds_after_process_epoch();
|
398
395
|
if (deadline < shard->min_deadline) {
|
399
396
|
grpc_core::Timestamp old_min_deadline = g_shard_queue[0]->min_deadline;
|
400
397
|
shard->min_deadline = deadline;
|
@@ -433,10 +430,9 @@ static void timer_cancel(grpc_timer* timer) {
|
|
433
430
|
|
434
431
|
timer_shard* shard = &g_shards[grpc_core::HashPointer(timer, g_num_shards)];
|
435
432
|
gpr_mu_lock(&shard->mu);
|
436
|
-
|
437
|
-
|
438
|
-
|
439
|
-
}
|
433
|
+
GRPC_TRACE_VLOG(timer, 2)
|
434
|
+
<< "TIMER " << timer
|
435
|
+
<< ": CANCEL pending=" << (timer->pending ? "true" : "false");
|
440
436
|
|
441
437
|
if (timer->pending) {
|
442
438
|
REMOVE_FROM_HASH_TABLE(timer);
|
@@ -474,11 +470,9 @@ static bool refill_heap(timer_shard* shard, grpc_core::Timestamp now) {
|
|
474
470
|
std::max(now, shard->queue_deadline_cap) +
|
475
471
|
grpc_core::Duration::FromSecondsAsDouble(deadline_delta);
|
476
472
|
|
477
|
-
|
478
|
-
|
479
|
-
|
480
|
-
<< shard->queue_deadline_cap.milliseconds_after_process_epoch();
|
481
|
-
}
|
473
|
+
GRPC_TRACE_VLOG(timer_check, 2)
|
474
|
+
<< " .. shard[" << (shard - g_shards) << "]->queue_deadline_cap --> "
|
475
|
+
<< shard->queue_deadline_cap.milliseconds_after_process_epoch();
|
482
476
|
for (timer = shard->list.next; timer != &shard->list; timer = next) {
|
483
477
|
next = timer->next;
|
484
478
|
auto timer_deadline =
|
@@ -486,11 +480,9 @@ static bool refill_heap(timer_shard* shard, grpc_core::Timestamp now) {
|
|
486
480
|
timer->deadline);
|
487
481
|
|
488
482
|
if (timer_deadline < shard->queue_deadline_cap) {
|
489
|
-
|
490
|
-
|
491
|
-
|
492
|
-
<< " to heap";
|
493
|
-
}
|
483
|
+
GRPC_TRACE_VLOG(timer_check, 2)
|
484
|
+
<< " .. add timer with deadline "
|
485
|
+
<< timer_deadline.milliseconds_after_process_epoch() << " to heap";
|
494
486
|
list_remove(timer);
|
495
487
|
grpc_timer_heap_add(&shard->heap, timer);
|
496
488
|
}
|
@@ -504,10 +496,9 @@ static bool refill_heap(timer_shard* shard, grpc_core::Timestamp now) {
|
|
504
496
|
static grpc_timer* pop_one(timer_shard* shard, grpc_core::Timestamp now) {
|
505
497
|
grpc_timer* timer;
|
506
498
|
for (;;) {
|
507
|
-
|
508
|
-
|
509
|
-
|
510
|
-
}
|
499
|
+
GRPC_TRACE_VLOG(timer_check, 2)
|
500
|
+
<< " .. shard[" << (shard - g_shards) << "]: heap_empty="
|
501
|
+
<< (grpc_timer_heap_is_empty(&shard->heap) ? "true" : "false");
|
511
502
|
if (grpc_timer_heap_is_empty(&shard->heap)) {
|
512
503
|
if (now < shard->queue_deadline_cap) return nullptr;
|
513
504
|
if (!refill_heap(shard, now)) return nullptr;
|
@@ -516,16 +507,13 @@ static grpc_timer* pop_one(timer_shard* shard, grpc_core::Timestamp now) {
|
|
516
507
|
auto timer_deadline =
|
517
508
|
grpc_core::Timestamp::FromMillisecondsAfterProcessEpoch(
|
518
509
|
timer->deadline);
|
519
|
-
|
520
|
-
|
521
|
-
|
522
|
-
|
523
|
-
}
|
510
|
+
GRPC_TRACE_VLOG(timer_check, 2)
|
511
|
+
<< " .. check top timer deadline="
|
512
|
+
<< timer_deadline.milliseconds_after_process_epoch()
|
513
|
+
<< " now=" << now.milliseconds_after_process_epoch();
|
524
514
|
if (timer_deadline > now) return nullptr;
|
525
|
-
|
526
|
-
|
527
|
-
<< (now - timer_deadline).millis() << "ms late";
|
528
|
-
}
|
515
|
+
GRPC_TRACE_VLOG(timer, 2) << "TIMER " << timer << ": FIRE "
|
516
|
+
<< (now - timer_deadline).millis() << "ms late";
|
529
517
|
timer->pending = false;
|
530
518
|
grpc_timer_heap_pop(&shard->heap);
|
531
519
|
return timer;
|
@@ -546,9 +534,8 @@ static size_t pop_timers(timer_shard* shard, grpc_core::Timestamp now,
|
|
546
534
|
}
|
547
535
|
*new_min_deadline = compute_min_deadline(shard);
|
548
536
|
gpr_mu_unlock(&shard->mu);
|
549
|
-
|
550
|
-
|
551
|
-
}
|
537
|
+
GRPC_TRACE_VLOG(timer_check, 2)
|
538
|
+
<< " .. shard[" << (shard - g_shards) << "] popped " << n;
|
552
539
|
return n;
|
553
540
|
}
|
554
541
|
|
@@ -584,12 +571,10 @@ static grpc_timer_check_result run_some_expired_timers(
|
|
584
571
|
gpr_mu_lock(&g_shared_mutables.mu);
|
585
572
|
result = GRPC_TIMERS_CHECKED_AND_EMPTY;
|
586
573
|
|
587
|
-
|
588
|
-
|
589
|
-
|
590
|
-
|
591
|
-
<< g_shard_queue[0]->min_deadline.milliseconds_after_process_epoch();
|
592
|
-
}
|
574
|
+
GRPC_TRACE_VLOG(timer_check, 2)
|
575
|
+
<< " .. shard[" << (g_shard_queue[0] - g_shards)
|
576
|
+
<< "]->min_deadline = "
|
577
|
+
<< g_shard_queue[0]->min_deadline.milliseconds_after_process_epoch();
|
593
578
|
|
594
579
|
while (g_shard_queue[0]->min_deadline < now ||
|
595
580
|
(now != grpc_core::Timestamp::InfFuture() &&
|
@@ -603,14 +588,12 @@ static grpc_timer_check_result run_some_expired_timers(
|
|
603
588
|
result = GRPC_TIMERS_FIRED;
|
604
589
|
}
|
605
590
|
|
606
|
-
|
607
|
-
|
608
|
-
|
609
|
-
|
610
|
-
|
611
|
-
|
612
|
-
<< ", now=" << now.milliseconds_after_process_epoch();
|
613
|
-
}
|
591
|
+
GRPC_TRACE_VLOG(timer_check, 2)
|
592
|
+
<< " .. result --> " << result << ", shard["
|
593
|
+
<< (g_shard_queue[0] - g_shards) << "]->min_deadline "
|
594
|
+
<< g_shard_queue[0]->min_deadline.milliseconds_after_process_epoch()
|
595
|
+
<< " --> " << new_min_deadline.milliseconds_after_process_epoch()
|
596
|
+
<< ", now=" << now.milliseconds_after_process_epoch();
|
614
597
|
|
615
598
|
// An grpc_timer_init() on the shard could intervene here, adding a new
|
616
599
|
// timer that is earlier than new_min_deadline. However,
|
@@ -660,11 +643,9 @@ static grpc_timer_check_result timer_check(grpc_core::Timestamp* next) {
|
|
660
643
|
if (next != nullptr) {
|
661
644
|
*next = std::min(*next, min_timer);
|
662
645
|
}
|
663
|
-
|
664
|
-
|
665
|
-
|
666
|
-
<< " min_timer=" << min_timer.milliseconds_after_process_epoch();
|
667
|
-
}
|
646
|
+
GRPC_TRACE_VLOG(timer_check, 2)
|
647
|
+
<< "TIMER CHECK SKIP: now=" << now.milliseconds_after_process_epoch()
|
648
|
+
<< " min_timer=" << min_timer.milliseconds_after_process_epoch();
|
668
649
|
return GRPC_TIMERS_CHECKED_AND_EMPTY;
|
669
650
|
}
|
670
651
|
|
@@ -195,11 +195,10 @@ static bool wait_until(grpc_core::Timestamp next) {
|
|
195
195
|
|
196
196
|
gpr_cv_wait(&g_cv_wait, &g_mu, next.as_timespec(GPR_CLOCK_MONOTONIC));
|
197
197
|
|
198
|
-
|
199
|
-
|
200
|
-
|
201
|
-
|
202
|
-
}
|
198
|
+
GRPC_TRACE_LOG(timer_check, INFO)
|
199
|
+
<< "wait ended: was_timed:"
|
200
|
+
<< (my_timed_waiter_generation == g_timed_waiter_generation)
|
201
|
+
<< " kicked:" << g_kicked;
|
203
202
|
// if this was the timed waiter, then we need to check timers, and flag
|
204
203
|
// that there's now no timed waiter... we'll look for a replacement if
|
205
204
|
// there's work to do after checking timers (code above)
|
data/src/core/lib/iomgr/vsock.cc
CHANGED