grpc 1.75.0.pre1 → 1.76.0.pre1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/Makefile +18 -5
- data/include/grpc/credentials.h +21 -5
- data/src/core/call/call_filters.cc +4 -4
- data/src/core/call/call_filters.h +36 -36
- data/src/core/call/call_spine.h +27 -27
- data/src/core/call/client_call.cc +6 -5
- data/src/core/call/filter_fusion.h +5 -5
- data/src/core/call/metadata_batch.h +3 -3
- data/src/core/call/security_context.cc +1 -1
- data/src/core/call/server_call.cc +4 -4
- data/src/core/call/server_call.h +1 -1
- data/src/core/channelz/channelz.cc +12 -18
- data/src/core/channelz/channelz.h +32 -16
- data/src/core/channelz/channelz_registry.h +11 -0
- data/src/core/channelz/property_list.cc +18 -0
- data/src/core/channelz/property_list.h +10 -1
- data/src/core/channelz/text_encode.cc +66 -0
- data/src/core/channelz/text_encode.h +29 -0
- data/src/core/channelz/v2tov1/convert.cc +11 -0
- data/src/core/channelz/v2tov1/legacy_api.cc +15 -8
- data/src/core/channelz/ztrace_collector.h +247 -86
- data/src/core/client_channel/backup_poller.cc +5 -6
- data/src/core/client_channel/client_channel.cc +20 -13
- data/src/core/client_channel/client_channel_filter.cc +53 -45
- data/src/core/client_channel/client_channel_filter.h +2 -2
- data/src/core/client_channel/client_channel_internal.h +3 -4
- data/src/core/client_channel/config_selector.h +3 -3
- data/src/core/client_channel/dynamic_filters.cc +3 -3
- data/src/core/client_channel/global_subchannel_pool.cc +0 -37
- data/src/core/client_channel/global_subchannel_pool.h +0 -27
- data/src/core/client_channel/load_balanced_call_destination.cc +7 -7
- data/src/core/client_channel/local_subchannel_pool.cc +4 -4
- data/src/core/client_channel/retry_filter.h +3 -3
- data/src/core/client_channel/retry_filter_legacy_call_data.cc +5 -5
- data/src/core/client_channel/subchannel.cc +8 -8
- data/src/core/client_channel/subchannel_stream_client.cc +4 -4
- data/src/core/config/config_vars.cc +30 -1
- data/src/core/config/config_vars.h +21 -0
- data/src/core/config/core_configuration.cc +5 -5
- data/src/core/config/core_configuration.h +7 -7
- data/src/core/config/load_config.cc +12 -0
- data/src/core/config/load_config.h +2 -0
- data/src/core/credentials/call/call_credentials.h +2 -2
- data/src/core/credentials/call/call_creds_util.cc +4 -3
- data/src/core/credentials/call/composite/composite_call_credentials.cc +4 -4
- data/src/core/credentials/call/external/aws_external_account_credentials.cc +3 -3
- data/src/core/credentials/call/external/external_account_credentials.cc +1 -1
- data/src/core/credentials/call/external/url_external_account_credentials.cc +1 -1
- data/src/core/credentials/call/iam/iam_credentials.cc +4 -4
- data/src/core/credentials/call/jwt/json_token.cc +3 -3
- data/src/core/credentials/call/jwt/jwt_credentials.cc +2 -2
- data/src/core/credentials/call/jwt/jwt_verifier.cc +14 -13
- data/src/core/credentials/call/oauth2/oauth2_credentials.cc +20 -12
- data/src/core/credentials/call/plugin/plugin_credentials.cc +2 -2
- data/src/core/credentials/transport/alts/alts_credentials.cc +4 -4
- data/src/core/credentials/transport/alts/alts_security_connector.cc +14 -12
- data/src/core/credentials/transport/alts/grpc_alts_credentials_client_options.cc +22 -2
- data/src/core/credentials/transport/alts/grpc_alts_credentials_options.cc +10 -1
- data/src/core/credentials/transport/alts/grpc_alts_credentials_options.h +31 -0
- data/src/core/credentials/transport/alts/grpc_alts_credentials_server_options.cc +8 -3
- data/src/core/credentials/transport/composite/composite_channel_credentials.cc +5 -5
- data/src/core/credentials/transport/fake/fake_security_connector.cc +2 -2
- data/src/core/credentials/transport/google_default/google_default_credentials.cc +78 -28
- data/src/core/credentials/transport/insecure/insecure_security_connector.cc +3 -3
- data/src/core/credentials/transport/local/local_security_connector.cc +8 -8
- data/src/core/credentials/transport/security_connector.cc +5 -5
- data/src/core/credentials/transport/ssl/ssl_credentials.cc +12 -12
- data/src/core/credentials/transport/ssl/ssl_credentials.h +2 -2
- data/src/core/credentials/transport/ssl/ssl_security_connector.cc +3 -3
- data/src/core/credentials/transport/tls/certificate_provider_registry.cc +2 -2
- data/src/core/credentials/transport/tls/grpc_tls_certificate_distributor.cc +24 -24
- data/src/core/credentials/transport/tls/grpc_tls_certificate_provider.cc +5 -5
- data/src/core/credentials/transport/tls/grpc_tls_certificate_provider.h +2 -2
- data/src/core/credentials/transport/tls/grpc_tls_certificate_verifier.cc +2 -2
- data/src/core/credentials/transport/tls/grpc_tls_certificate_verifier.h +2 -2
- data/src/core/credentials/transport/tls/grpc_tls_credentials_options.cc +17 -17
- data/src/core/credentials/transport/tls/ssl_utils.cc +14 -9
- data/src/core/credentials/transport/tls/tls_credentials.cc +2 -2
- data/src/core/credentials/transport/tls/tls_security_connector.cc +11 -11
- data/src/core/credentials/transport/transport_credentials.cc +2 -2
- data/src/core/credentials/transport/transport_credentials.h +2 -2
- data/src/core/credentials/transport/xds/xds_credentials.cc +5 -5
- data/src/core/ext/filters/channel_idle/legacy_channel_idle_filter.cc +2 -0
- data/src/core/ext/filters/gcp_authentication/gcp_authentication_filter.cc +1 -1
- data/src/core/ext/filters/http/message_compress/compression_filter.cc +8 -8
- data/src/core/ext/filters/http/message_compress/compression_filter.h +3 -3
- data/src/core/ext/filters/stateful_session/stateful_session_filter.cc +7 -7
- data/src/core/ext/transport/chttp2/alpn/alpn.cc +2 -2
- data/src/core/ext/transport/chttp2/client/chttp2_connector.cc +10 -9
- data/src/core/ext/transport/chttp2/server/chttp2_server.cc +10 -7
- data/src/core/ext/transport/chttp2/transport/bin_decoder.cc +5 -5
- data/src/core/ext/transport/chttp2/transport/bin_encoder.cc +6 -6
- data/src/core/ext/transport/chttp2/transport/chttp2_transport.cc +96 -88
- data/src/core/ext/transport/chttp2/transport/flow_control.cc +3 -3
- data/src/core/ext/transport/chttp2/transport/flow_control.h +12 -7
- data/src/core/ext/transport/chttp2/transport/flow_control_manager.h +60 -0
- data/src/core/ext/transport/chttp2/transport/frame.cc +32 -10
- data/src/core/ext/transport/chttp2/transport/frame.h +16 -2
- data/src/core/ext/transport/chttp2/transport/frame_data.cc +2 -2
- data/src/core/ext/transport/chttp2/transport/frame_goaway.cc +4 -4
- data/src/core/ext/transport/chttp2/transport/frame_ping.cc +2 -2
- data/src/core/ext/transport/chttp2/transport/frame_rst_stream.cc +2 -2
- data/src/core/ext/transport/chttp2/transport/frame_window_update.cc +3 -3
- data/src/core/ext/transport/chttp2/transport/header_assembler.h +28 -12
- data/src/core/ext/transport/chttp2/transport/hpack_encoder.cc +2 -2
- data/src/core/ext/transport/chttp2/transport/hpack_encoder.h +4 -2
- data/src/core/ext/transport/chttp2/transport/hpack_encoder_table.cc +8 -8
- data/src/core/ext/transport/chttp2/transport/hpack_parse_result.cc +2 -2
- data/src/core/ext/transport/chttp2/transport/hpack_parse_result.h +2 -2
- data/src/core/ext/transport/chttp2/transport/hpack_parser.cc +27 -27
- data/src/core/ext/transport/chttp2/transport/hpack_parser.h +2 -3
- data/src/core/ext/transport/chttp2/transport/hpack_parser_table.cc +4 -4
- data/src/core/ext/transport/chttp2/transport/http2_client_transport.cc +543 -366
- data/src/core/ext/transport/chttp2/transport/http2_client_transport.h +198 -277
- data/src/core/ext/transport/chttp2/transport/http2_settings_manager.cc +3 -0
- data/src/core/ext/transport/chttp2/transport/http2_settings_manager.h +11 -0
- data/src/core/ext/transport/chttp2/transport/http2_settings_promises.h +179 -0
- data/src/core/ext/transport/chttp2/transport/http2_transport.cc +51 -23
- data/src/core/ext/transport/chttp2/transport/http2_transport.h +13 -6
- data/src/core/ext/transport/chttp2/transport/http2_ztrace_collector.h +115 -71
- data/src/core/ext/transport/chttp2/transport/internal.h +6 -14
- data/src/core/ext/transport/chttp2/transport/message_assembler.h +7 -7
- data/src/core/ext/transport/chttp2/transport/parsing.cc +17 -15
- data/src/core/ext/transport/chttp2/transport/ping_callbacks.cc +2 -2
- data/src/core/ext/transport/chttp2/transport/ping_promise.cc +62 -26
- data/src/core/ext/transport/chttp2/transport/ping_promise.h +58 -22
- data/src/core/ext/transport/chttp2/transport/stream.h +207 -0
- data/src/core/ext/transport/chttp2/transport/stream_data_queue.h +328 -187
- data/src/core/ext/transport/chttp2/transport/stream_lists.cc +7 -7
- data/src/core/ext/transport/chttp2/transport/transport_common.cc +17 -1
- data/src/core/ext/transport/chttp2/transport/transport_common.h +52 -0
- data/src/core/ext/transport/chttp2/transport/varint.h +2 -2
- data/src/core/ext/transport/chttp2/transport/writable_streams.h +181 -79
- data/src/core/ext/transport/chttp2/transport/write_size_policy.cc +2 -2
- data/src/core/ext/transport/chttp2/transport/writing.cc +3 -3
- data/src/core/ext/transport/inproc/inproc_transport.cc +1 -1
- data/src/core/ext/transport/inproc/legacy_inproc_transport.cc +3 -3
- data/src/core/ext/upb-gen/src/proto/grpc/channelz/v2/service.upb.h +740 -0
- data/src/core/ext/upb-gen/src/proto/grpc/channelz/v2/service.upb_minitable.c +218 -0
- data/src/core/ext/upb-gen/src/proto/grpc/channelz/v2/service.upb_minitable.h +46 -0
- data/src/core/ext/upb-gen/src/proto/grpc/gcp/handshaker.upb.h +87 -55
- data/src/core/ext/upb-gen/src/proto/grpc/gcp/handshaker.upb_minitable.c +23 -21
- data/src/core/ext/upbdefs-gen/src/proto/grpc/channelz/v2/channelz.upbdefs.c +80 -0
- data/src/core/ext/upbdefs-gen/src/proto/grpc/channelz/v2/channelz.upbdefs.h +47 -0
- data/src/core/ext/upbdefs-gen/src/proto/grpc/channelz/v2/service.upbdefs.c +129 -0
- data/src/core/ext/upbdefs-gen/src/proto/grpc/channelz/v2/service.upbdefs.h +72 -0
- data/src/core/filter/auth/server_auth_filter.cc +2 -2
- data/src/core/handshaker/handshaker.cc +3 -3
- data/src/core/handshaker/http_connect/http_proxy_mapper.cc +2 -2
- data/src/core/handshaker/security/legacy_secure_endpoint.cc +2 -2
- data/src/core/handshaker/security/pipelined_secure_endpoint.cc +31 -8
- data/src/core/handshaker/security/secure_endpoint.cc +16 -6
- data/src/core/handshaker/security/security_handshaker.cc +3 -3
- data/src/core/handshaker/tcp_connect/tcp_connect_handshaker.cc +2 -2
- data/src/core/lib/channel/channel_stack.cc +8 -5
- data/src/core/lib/channel/channel_stack.h +3 -0
- data/src/core/lib/channel/channel_stack_builder_impl.cc +1 -0
- data/src/core/lib/channel/connected_channel.cc +2 -2
- data/src/core/lib/channel/promise_based_filter.cc +69 -64
- data/src/core/lib/channel/promise_based_filter.h +16 -15
- data/src/core/lib/compression/compression_internal.cc +2 -2
- data/src/core/lib/compression/message_compress.cc +7 -7
- data/src/core/lib/event_engine/ares_resolver.cc +22 -20
- data/src/core/lib/event_engine/cf_engine/cf_engine.cc +2 -2
- data/src/core/lib/event_engine/cf_engine/dns_service_resolver.cc +2 -2
- data/src/core/lib/event_engine/cf_engine/dns_service_resolver.h +2 -2
- data/src/core/lib/event_engine/extensions/channelz.h +2 -2
- data/src/core/lib/event_engine/extensions/supports_fd.h +5 -5
- data/src/core/lib/event_engine/posix_engine/ev_epoll1_linux.cc +8 -8
- data/src/core/lib/event_engine/posix_engine/ev_poll_posix.cc +10 -10
- data/src/core/lib/event_engine/posix_engine/lockfree_event.cc +2 -2
- data/src/core/lib/event_engine/posix_engine/posix_endpoint.cc +23 -22
- data/src/core/lib/event_engine/posix_engine/posix_endpoint.h +11 -11
- data/src/core/lib/event_engine/posix_engine/posix_engine.cc +168 -170
- data/src/core/lib/event_engine/posix_engine/posix_engine.h +33 -54
- data/src/core/lib/event_engine/posix_engine/posix_engine_listener.cc +4 -3
- data/src/core/lib/event_engine/posix_engine/posix_engine_listener_utils.cc +5 -5
- data/src/core/lib/event_engine/posix_engine/posix_interface.h +1 -1
- data/src/core/lib/event_engine/posix_engine/tcp_socket_utils.cc +1 -1
- data/src/core/lib/event_engine/posix_engine/timer_manager.cc +3 -3
- data/src/core/lib/event_engine/resolved_address.cc +3 -3
- data/src/core/lib/event_engine/shim.cc +8 -11
- data/src/core/lib/event_engine/shim.h +2 -1
- data/src/core/lib/event_engine/slice.cc +2 -2
- data/src/core/lib/event_engine/tcp_socket_utils.cc +11 -11
- data/src/core/lib/event_engine/thread_pool/work_stealing_thread_pool.cc +7 -7
- data/src/core/lib/event_engine/windows/grpc_polled_fd_windows.cc +31 -31
- data/src/core/lib/event_engine/windows/iocp.cc +10 -10
- data/src/core/lib/event_engine/windows/win_socket.cc +6 -6
- data/src/core/lib/event_engine/windows/windows_endpoint.cc +11 -11
- data/src/core/lib/event_engine/windows/windows_engine.cc +16 -14
- data/src/core/lib/event_engine/windows/windows_listener.cc +7 -7
- data/src/core/lib/experiments/experiments.cc +105 -18
- data/src/core/lib/experiments/experiments.h +43 -11
- data/src/core/lib/iomgr/call_combiner.cc +3 -3
- data/src/core/lib/iomgr/endpoint_cfstream.cc +6 -6
- data/src/core/lib/iomgr/endpoint_pair_posix.cc +5 -5
- data/src/core/lib/iomgr/endpoint_pair_windows.cc +15 -14
- data/src/core/lib/iomgr/ev_epoll1_linux.cc +15 -15
- data/src/core/lib/iomgr/ev_poll_posix.cc +11 -11
- data/src/core/lib/iomgr/event_engine_shims/endpoint.cc +5 -4
- data/src/core/lib/iomgr/event_engine_shims/endpoint.h +1 -1
- data/src/core/lib/iomgr/iocp_windows.cc +8 -8
- data/src/core/lib/iomgr/iomgr_windows.cc +3 -3
- data/src/core/lib/iomgr/lockfree_event.cc +2 -2
- data/src/core/lib/iomgr/polling_entity.cc +3 -3
- data/src/core/lib/iomgr/socket_utils_common_posix.cc +2 -2
- data/src/core/lib/iomgr/socket_windows.cc +4 -4
- data/src/core/lib/iomgr/tcp_client_posix.cc +4 -4
- data/src/core/lib/iomgr/tcp_client_windows.cc +4 -4
- data/src/core/lib/iomgr/tcp_posix.cc +42 -42
- data/src/core/lib/iomgr/tcp_server.cc +5 -0
- data/src/core/lib/iomgr/tcp_server.h +7 -0
- data/src/core/lib/iomgr/tcp_server_posix.cc +47 -27
- data/src/core/lib/iomgr/tcp_server_utils_posix.h +3 -0
- data/src/core/lib/iomgr/tcp_server_utils_posix_common.cc +5 -5
- data/src/core/lib/iomgr/tcp_server_utils_posix_ifaddrs.cc +2 -2
- data/src/core/lib/iomgr/tcp_server_windows.cc +68 -29
- data/src/core/lib/iomgr/tcp_windows.cc +7 -7
- data/src/core/lib/iomgr/timer_generic.cc +2 -2
- data/src/core/lib/iomgr/timer_manager.cc +2 -2
- data/src/core/lib/iomgr/unix_sockets_posix.cc +2 -2
- data/src/core/lib/iomgr/unix_sockets_posix_noop.cc +2 -2
- data/src/core/lib/promise/activity.cc +2 -2
- data/src/core/lib/promise/activity.h +6 -6
- data/src/core/lib/promise/context.h +2 -2
- data/src/core/lib/promise/detail/join_state.h +9 -9
- data/src/core/lib/promise/detail/seq_state.h +13 -13
- data/src/core/lib/promise/detail/status.h +2 -2
- data/src/core/lib/promise/for_each.h +5 -5
- data/src/core/lib/promise/interceptor_list.h +2 -2
- data/src/core/lib/promise/latch.h +7 -7
- data/src/core/lib/promise/mpsc.cc +26 -26
- data/src/core/lib/promise/mpsc.h +2 -2
- data/src/core/lib/promise/observable.h +4 -4
- data/src/core/lib/promise/party.cc +32 -25
- data/src/core/lib/promise/party.h +16 -19
- data/src/core/lib/promise/pipe.h +15 -15
- data/src/core/lib/promise/poll.h +5 -4
- data/src/core/lib/promise/promise.h +0 -2
- data/src/core/lib/promise/sleep.cc +3 -1
- data/src/core/lib/promise/status_flag.h +7 -7
- data/src/core/lib/promise/try_join.h +2 -2
- data/src/core/lib/promise/try_seq.h +2 -2
- data/src/core/lib/resource_quota/arena.h +15 -2
- data/src/core/lib/resource_quota/connection_quota.cc +9 -7
- data/src/core/lib/resource_quota/memory_quota.cc +45 -24
- data/src/core/lib/resource_quota/memory_quota.h +48 -16
- data/src/core/lib/resource_quota/telemetry.h +54 -0
- data/src/core/lib/resource_quota/thread_quota.cc +2 -2
- data/src/core/lib/resource_tracker/resource_tracker.cc +33 -0
- data/src/core/lib/resource_tracker/resource_tracker.h +46 -0
- data/src/core/lib/security/authorization/audit_logging.cc +5 -5
- data/src/core/lib/security/authorization/grpc_authorization_engine.cc +2 -2
- data/src/core/lib/security/authorization/stdout_logger.cc +3 -3
- data/src/core/lib/surface/byte_buffer_reader.cc +2 -2
- data/src/core/lib/surface/call.cc +16 -14
- data/src/core/lib/surface/call.h +1 -1
- data/src/core/lib/surface/call_utils.cc +2 -2
- data/src/core/lib/surface/call_utils.h +2 -2
- data/src/core/lib/surface/channel.cc +4 -4
- data/src/core/lib/surface/channel_create.cc +10 -6
- data/src/core/lib/surface/channel_init.cc +80 -23
- data/src/core/lib/surface/channel_init.h +26 -11
- data/src/core/lib/surface/completion_queue.cc +17 -16
- data/src/core/lib/surface/completion_queue_factory.cc +7 -7
- data/src/core/lib/surface/connection_context.h +45 -2
- data/src/core/lib/surface/filter_stack_call.cc +12 -23
- data/src/core/lib/surface/filter_stack_call.h +3 -4
- data/src/core/lib/surface/legacy_channel.cc +7 -7
- data/src/core/lib/surface/validate_metadata.h +2 -2
- data/src/core/lib/surface/version.cc +2 -2
- data/src/core/lib/transport/bdp_estimator.cc +2 -2
- data/src/core/lib/transport/bdp_estimator.h +3 -3
- data/src/core/lib/transport/promise_endpoint.cc +3 -3
- data/src/core/lib/transport/promise_endpoint.h +8 -8
- data/src/core/lib/transport/timeout_encoding.cc +4 -4
- data/src/core/load_balancing/child_policy_handler.cc +4 -4
- data/src/core/load_balancing/endpoint_list.cc +2 -2
- data/src/core/load_balancing/grpclb/grpclb.cc +24 -24
- data/src/core/load_balancing/health_check_client.cc +4 -4
- data/src/core/load_balancing/health_check_client_internal.h +2 -2
- data/src/core/load_balancing/lb_policy_registry.cc +2 -2
- data/src/core/load_balancing/oob_backend_metric.cc +4 -4
- data/src/core/load_balancing/oob_backend_metric_internal.h +2 -2
- data/src/core/load_balancing/outlier_detection/outlier_detection.cc +2 -2
- data/src/core/load_balancing/pick_first/pick_first.cc +14 -14
- data/src/core/load_balancing/priority/priority.cc +23 -24
- data/src/core/load_balancing/ring_hash/ring_hash.cc +3 -3
- data/src/core/load_balancing/rls/rls.cc +13 -13
- data/src/core/load_balancing/round_robin/round_robin.cc +9 -9
- data/src/core/load_balancing/weighted_round_robin/static_stride_scheduler.cc +3 -3
- data/src/core/load_balancing/weighted_round_robin/weighted_round_robin.cc +33 -26
- data/src/core/load_balancing/weighted_target/weighted_target.cc +5 -5
- data/src/core/load_balancing/xds/cds.cc +76 -32
- data/src/core/load_balancing/xds/xds_cluster_impl.cc +3 -3
- data/src/core/load_balancing/xds/xds_override_host.cc +4 -4
- data/src/core/resolver/dns/c_ares/grpc_ares_ev_driver_posix.cc +2 -2
- data/src/core/resolver/dns/c_ares/grpc_ares_ev_driver_windows.cc +33 -33
- data/src/core/resolver/dns/c_ares/grpc_ares_wrapper.cc +10 -10
- data/src/core/resolver/dns/dns_resolver_plugin.cc +6 -3
- data/src/core/resolver/dns/event_engine/event_engine_client_channel_resolver.cc +2 -2
- data/src/core/resolver/endpoint_addresses.cc +3 -3
- data/src/core/resolver/endpoint_addresses.h +3 -0
- data/src/core/resolver/fake/fake_resolver.cc +2 -2
- data/src/core/resolver/google_c2p/google_c2p_resolver.cc +41 -54
- data/src/core/resolver/polling_resolver.cc +3 -3
- data/src/core/resolver/resolver_registry.cc +5 -4
- data/src/core/resolver/xds/xds_dependency_manager.cc +5 -5
- data/src/core/resolver/xds/xds_resolver.cc +9 -9
- data/src/core/server/server.cc +38 -38
- data/src/core/server/server_call_tracer_filter.h +4 -4
- data/src/core/server/server_config_selector_filter.cc +2 -2
- data/src/core/server/xds_server_config_fetcher.cc +9 -8
- data/src/core/service_config/service_config_impl.h +2 -2
- data/src/core/telemetry/call_tracer.cc +39 -49
- data/src/core/telemetry/call_tracer.h +199 -22
- data/src/core/telemetry/histogram.h +205 -0
- data/src/core/telemetry/instrument.cc +719 -0
- data/src/core/telemetry/instrument.h +932 -0
- data/src/core/telemetry/metrics.cc +13 -5
- data/src/core/telemetry/metrics.h +3 -1
- data/src/core/telemetry/stats_data.cc +0 -19
- data/src/core/telemetry/stats_data.h +0 -19
- data/src/core/transport/auth_context.cc +2 -2
- data/src/core/tsi/alts/handshaker/alts_handshaker_client.cc +78 -45
- data/src/core/tsi/alts/handshaker/alts_handshaker_client.h +1 -0
- data/src/core/tsi/alts/handshaker/alts_shared_resource.cc +3 -3
- data/src/core/tsi/alts/handshaker/alts_tsi_handshaker.cc +39 -31
- data/src/core/tsi/alts/handshaker/alts_tsi_utils.cc +3 -3
- data/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_integrity_only_record_protocol.cc +3 -3
- data/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_record_protocol_common.cc +7 -7
- data/src/core/tsi/alts/zero_copy_frame_protector/alts_zero_copy_grpc_protector.cc +3 -3
- data/src/core/tsi/fake_transport_security.cc +4 -4
- data/src/core/tsi/ssl/key_logging/ssl_key_logging.cc +4 -4
- data/src/core/tsi/ssl/session_cache/ssl_session_cache.cc +9 -9
- data/src/core/tsi/ssl/session_cache/ssl_session_openssl.cc +3 -3
- data/src/core/tsi/ssl_transport_security.cc +26 -25
- data/src/core/tsi/ssl_transport_security_utils.cc +9 -9
- data/src/core/util/chunked_vector.h +4 -4
- data/src/core/util/event_log.cc +2 -2
- data/src/core/util/gcp_metadata_query.cc +2 -2
- data/src/core/util/grpc_check.cc +22 -0
- data/src/core/util/grpc_check.h +103 -0
- data/src/core/util/http_client/httpcli.cc +3 -3
- data/src/core/util/http_client/parser.cc +4 -4
- data/src/core/util/latent_see.h +7 -4
- data/src/core/util/lru_cache.h +4 -4
- data/src/core/util/memory_usage.h +16 -0
- data/src/core/util/posix/directory_reader.cc +3 -2
- data/src/core/util/posix/sync.cc +24 -24
- data/src/core/util/postmortem_emit.cc +52 -0
- data/src/core/util/postmortem_emit.h +30 -0
- data/src/core/util/ref_counted_ptr.h +5 -0
- data/src/core/util/trie_lookup.h +170 -0
- data/src/core/util/unique_ptr_with_bitset.h +5 -5
- data/src/core/xds/grpc/xds_bootstrap_grpc.h +6 -1
- data/src/core/xds/grpc/xds_certificate_provider.cc +3 -3
- data/src/core/xds/grpc/xds_client_grpc.cc +34 -15
- data/src/core/xds/grpc/xds_client_grpc.h +4 -1
- data/src/core/xds/grpc/xds_cluster_parser.cc +2 -2
- data/src/core/xds/grpc/xds_cluster_specifier_plugin.cc +2 -2
- data/src/core/xds/grpc/xds_endpoint_parser.cc +2 -2
- data/src/core/xds/grpc/xds_http_filter_registry.cc +4 -3
- data/src/core/xds/grpc/xds_listener_parser.cc +3 -3
- data/src/core/xds/grpc/xds_matcher.cc +277 -0
- data/src/core/xds/grpc/xds_matcher.h +432 -0
- data/src/core/xds/grpc/xds_matcher_action.cc +47 -0
- data/src/core/xds/grpc/xds_matcher_action.h +48 -0
- data/src/core/xds/grpc/xds_matcher_context.cc +29 -0
- data/src/core/xds/grpc/xds_matcher_context.h +46 -0
- data/src/core/xds/grpc/xds_matcher_input.cc +79 -0
- data/src/core/xds/grpc/xds_matcher_input.h +105 -0
- data/src/core/xds/grpc/xds_matcher_parse.cc +356 -0
- data/src/core/xds/grpc/xds_matcher_parse.h +39 -0
- data/src/core/xds/grpc/xds_metadata.cc +4 -3
- data/src/core/xds/grpc/xds_route_config_parser.cc +6 -6
- data/src/core/xds/grpc/xds_routing.cc +3 -3
- data/src/core/xds/grpc/xds_transport_grpc.cc +10 -10
- data/src/core/xds/xds_client/lrs_client.cc +6 -6
- data/src/core/xds/xds_client/xds_client.cc +9 -9
- data/src/ruby/ext/grpc/rb_grpc_imports.generated.h +2 -2
- data/src/ruby/lib/grpc/version.rb +1 -1
- data/third_party/abseil-cpp/absl/container/internal/node_slot_policy.h +95 -0
- data/third_party/abseil-cpp/absl/container/node_hash_map.h +687 -0
- metadata +37 -2
@@ -25,7 +25,6 @@
|
|
25
25
|
#include <fcntl.h>
|
26
26
|
#include <string.h>
|
27
27
|
|
28
|
-
#include "absl/log/check.h"
|
29
28
|
#include "absl/log/log.h"
|
30
29
|
#include "src/core/config/core_configuration.h"
|
31
30
|
#include "src/core/lib/address_utils/sockaddr_utils.h"
|
@@ -38,6 +37,7 @@
|
|
38
37
|
#include "src/core/lib/iomgr/socket_windows.h"
|
39
38
|
#include "src/core/lib/iomgr/tcp_windows.h"
|
40
39
|
#include "src/core/util/crash.h"
|
40
|
+
#include "src/core/util/grpc_check.h"
|
41
41
|
|
42
42
|
static void create_sockets(SOCKET sv[2]) {
|
43
43
|
SOCKET svr_sock = INVALID_SOCKET;
|
@@ -48,25 +48,26 @@ static void create_sockets(SOCKET sv[2]) {
|
|
48
48
|
|
49
49
|
lst_sock = WSASocket(AF_INET, SOCK_STREAM, IPPROTO_TCP, NULL, 0,
|
50
50
|
grpc_get_default_wsa_socket_flags());
|
51
|
-
|
51
|
+
GRPC_CHECK(lst_sock != INVALID_SOCKET);
|
52
52
|
|
53
53
|
memset(&addr, 0, sizeof(addr));
|
54
54
|
addr.sin_addr.s_addr = htonl(INADDR_LOOPBACK);
|
55
55
|
addr.sin_family = AF_INET;
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
56
|
+
GRPC_CHECK(bind(lst_sock, (grpc_sockaddr*)&addr, sizeof(addr)) !=
|
57
|
+
SOCKET_ERROR);
|
58
|
+
GRPC_CHECK(listen(lst_sock, SOMAXCONN) != SOCKET_ERROR);
|
59
|
+
GRPC_CHECK(getsockname(lst_sock, (grpc_sockaddr*)&addr, &addr_len) !=
|
60
|
+
SOCKET_ERROR);
|
60
61
|
|
61
62
|
cli_sock = WSASocket(AF_INET, SOCK_STREAM, IPPROTO_TCP, NULL, 0,
|
62
63
|
grpc_get_default_wsa_socket_flags());
|
63
|
-
|
64
|
+
GRPC_CHECK(cli_sock != INVALID_SOCKET);
|
64
65
|
|
65
|
-
|
66
|
-
|
67
|
-
|
66
|
+
GRPC_CHECK_EQ(WSAConnect(cli_sock, (grpc_sockaddr*)&addr, addr_len, NULL,
|
67
|
+
NULL, NULL, NULL),
|
68
|
+
0);
|
68
69
|
svr_sock = accept(lst_sock, (grpc_sockaddr*)&addr, &addr_len);
|
69
|
-
|
70
|
+
GRPC_CHECK_NE(svr_sock, INVALID_SOCKET);
|
70
71
|
|
71
72
|
closesocket(lst_sock);
|
72
73
|
grpc_error_handle error = grpc_tcp_prepare_socket(cli_sock);
|
@@ -100,20 +101,20 @@ grpc_endpoint_pair grpc_iomgr_create_endpoint_pair(
|
|
100
101
|
new_args
|
101
102
|
.GetObjectRef<grpc_event_engine::experimental::EventEngine>()
|
102
103
|
.get());
|
103
|
-
|
104
|
+
GRPC_CHECK_NE(event_engine_supports_win_sockets, nullptr)
|
104
105
|
<< "EventEngine does not support windows SOCKETS, so an endpoint pair "
|
105
106
|
"cannot be created.";
|
106
107
|
auto client_endpoint =
|
107
108
|
event_engine_supports_win_sockets->CreateEndpointFromWinSocket(
|
108
109
|
sv[1], grpc_event_engine::experimental::ChannelArgsEndpointConfig(
|
109
110
|
new_args));
|
110
|
-
|
111
|
+
GRPC_CHECK_NE(client_endpoint.get(), nullptr)
|
111
112
|
<< "Failed to create client endpoint";
|
112
113
|
auto server_endpoint =
|
113
114
|
event_engine_supports_win_sockets->CreateEndpointFromWinSocket(
|
114
115
|
sv[0], grpc_event_engine::experimental::ChannelArgsEndpointConfig(
|
115
116
|
new_args));
|
116
|
-
|
117
|
+
GRPC_CHECK_NE(server_endpoint.get(), nullptr)
|
117
118
|
<< "Failed to create server endpoint";
|
118
119
|
p.client = grpc_event_engine_endpoint_create(std::move(client_endpoint));
|
119
120
|
p.server = grpc_event_engine_endpoint_create(std::move(server_endpoint));
|
@@ -40,7 +40,6 @@
|
|
40
40
|
#include <string>
|
41
41
|
#include <vector>
|
42
42
|
|
43
|
-
#include "absl/log/check.h"
|
44
43
|
#include "absl/log/log.h"
|
45
44
|
#include "absl/strings/str_cat.h"
|
46
45
|
#include "absl/strings/str_format.h"
|
@@ -55,6 +54,7 @@
|
|
55
54
|
#include "src/core/lib/iomgr/wakeup_fd_posix.h"
|
56
55
|
#include "src/core/telemetry/stats.h"
|
57
56
|
#include "src/core/telemetry/stats_data.h"
|
57
|
+
#include "src/core/util/grpc_check.h"
|
58
58
|
#include "src/core/util/manual_constructor.h"
|
59
59
|
#include "src/core/util/strerror.h"
|
60
60
|
#include "src/core/util/string.h"
|
@@ -421,8 +421,8 @@ static void fd_orphan(grpc_fd* fd, grpc_closure* on_done, int* release_fd,
|
|
421
421
|
if (grpc_core::IsEventEngineForAllOtherEndpointsEnabled() &&
|
422
422
|
!grpc_event_engine::experimental::
|
423
423
|
EventEngineExperimentDisabledForPython()) {
|
424
|
-
|
425
|
-
|
424
|
+
GRPC_CHECK_NE(release_fd, nullptr);
|
425
|
+
GRPC_CHECK_EQ(on_done, nullptr);
|
426
426
|
*release_fd = fd->fd;
|
427
427
|
gpr_free(fd);
|
428
428
|
return;
|
@@ -647,8 +647,8 @@ static void pollset_maybe_finish_shutdown(grpc_pollset* pollset) {
|
|
647
647
|
}
|
648
648
|
|
649
649
|
static void pollset_shutdown(grpc_pollset* pollset, grpc_closure* closure) {
|
650
|
-
|
651
|
-
|
650
|
+
GRPC_CHECK_EQ(pollset->shutdown_closure, nullptr);
|
651
|
+
GRPC_CHECK(!pollset->shutting_down);
|
652
652
|
pollset->shutdown_closure = closure;
|
653
653
|
pollset->shutting_down = true;
|
654
654
|
GRPC_LOG_IF_ERROR("pollset_shutdown", pollset_kick_all(pollset));
|
@@ -816,7 +816,7 @@ static bool begin_worker(grpc_pollset* pollset, grpc_pollset_worker* worker,
|
|
816
816
|
}
|
817
817
|
}
|
818
818
|
if (is_reassigning) {
|
819
|
-
|
819
|
+
GRPC_CHECK(pollset->reassigning_neighborhood);
|
820
820
|
pollset->reassigning_neighborhood = false;
|
821
821
|
}
|
822
822
|
gpr_mu_unlock(&neighborhood->mu);
|
@@ -825,7 +825,7 @@ static bool begin_worker(grpc_pollset* pollset, grpc_pollset_worker* worker,
|
|
825
825
|
worker_insert(pollset, worker);
|
826
826
|
pollset->begin_refs--;
|
827
827
|
if (worker->state == UNKICKED && !pollset->kicked_without_poller) {
|
828
|
-
|
828
|
+
GRPC_CHECK(gpr_atm_no_barrier_load(&g_active_poller) != (gpr_atm)worker);
|
829
829
|
worker->initialized_cv = true;
|
830
830
|
gpr_cv_init(&worker->cv);
|
831
831
|
while (worker->state == UNKICKED && !pollset->shutting_down) {
|
@@ -877,7 +877,7 @@ static bool check_neighborhood_for_available_poller(
|
|
877
877
|
break;
|
878
878
|
}
|
879
879
|
gpr_mu_lock(&inspect->mu);
|
880
|
-
|
880
|
+
GRPC_CHECK(!inspect->seen_inactive);
|
881
881
|
grpc_pollset_worker* inspect_worker = inspect->root_worker;
|
882
882
|
if (inspect_worker != nullptr) {
|
883
883
|
do {
|
@@ -939,7 +939,7 @@ static void end_worker(grpc_pollset* pollset, grpc_pollset_worker* worker,
|
|
939
939
|
if (worker->next != worker && worker->next->state == UNKICKED) {
|
940
940
|
GRPC_TRACE_LOG(polling, INFO)
|
941
941
|
<< " .. choose next poller to be peer " << worker;
|
942
|
-
|
942
|
+
GRPC_CHECK(worker->next->initialized_cv);
|
943
943
|
gpr_atm_no_barrier_store(&g_active_poller, (gpr_atm)worker->next);
|
944
944
|
SET_KICK_STATE(worker->next, DESIGNATED_POLLER);
|
945
945
|
gpr_cv_signal(&worker->next->cv);
|
@@ -991,7 +991,7 @@ static void end_worker(grpc_pollset* pollset, grpc_pollset_worker* worker,
|
|
991
991
|
if (EMPTIED == worker_remove(pollset, worker)) {
|
992
992
|
pollset_maybe_finish_shutdown(pollset);
|
993
993
|
}
|
994
|
-
|
994
|
+
GRPC_CHECK(gpr_atm_no_barrier_load(&g_active_poller) != (gpr_atm)worker);
|
995
995
|
}
|
996
996
|
|
997
997
|
// pollset->po.mu lock must be held by the caller before calling this.
|
@@ -1012,8 +1012,8 @@ static grpc_error_handle pollset_work(grpc_pollset* ps,
|
|
1012
1012
|
if (begin_worker(ps, &worker, worker_hdl, deadline)) {
|
1013
1013
|
g_current_thread_pollset = ps;
|
1014
1014
|
g_current_thread_worker = &worker;
|
1015
|
-
|
1016
|
-
|
1015
|
+
GRPC_CHECK(!ps->shutting_down);
|
1016
|
+
GRPC_CHECK(!ps->seen_inactive);
|
1017
1017
|
|
1018
1018
|
gpr_mu_unlock(&ps->mu); // unlock
|
1019
1019
|
// This is the designated polling thread at this point and should ideally do
|
@@ -1099,7 +1099,7 @@ static grpc_error_handle pollset_kick(grpc_pollset* pollset,
|
|
1099
1099
|
goto done;
|
1100
1100
|
} else if (next_worker->state == UNKICKED) {
|
1101
1101
|
GRPC_TRACE_LOG(polling, INFO) << " .. kicked " << next_worker;
|
1102
|
-
|
1102
|
+
GRPC_CHECK(next_worker->initialized_cv);
|
1103
1103
|
SET_KICK_STATE(next_worker, KICKED);
|
1104
1104
|
gpr_cv_signal(&next_worker->cv);
|
1105
1105
|
goto done;
|
@@ -1122,7 +1122,7 @@ static grpc_error_handle pollset_kick(grpc_pollset* pollset,
|
|
1122
1122
|
goto done;
|
1123
1123
|
}
|
1124
1124
|
} else {
|
1125
|
-
|
1125
|
+
GRPC_CHECK(next_worker->state == KICKED);
|
1126
1126
|
SET_KICK_STATE(next_worker, KICKED);
|
1127
1127
|
goto done;
|
1128
1128
|
}
|
@@ -1251,7 +1251,7 @@ const grpc_event_engine_vtable grpc_ev_epoll1_posix = {
|
|
1251
1251
|
/* check_engine_available = */
|
1252
1252
|
[](bool) { return init_epoll1_linux(); },
|
1253
1253
|
/* init_engine = */
|
1254
|
-
[]() {
|
1254
|
+
[]() { GRPC_CHECK(init_epoll1_linux()); },
|
1255
1255
|
shutdown_background_closure,
|
1256
1256
|
/* shutdown_engine = */
|
1257
1257
|
[]() { shutdown_engine(); },
|
@@ -34,7 +34,6 @@
|
|
34
34
|
|
35
35
|
#include <string>
|
36
36
|
|
37
|
-
#include "absl/log/check.h"
|
38
37
|
#include "absl/log/log.h"
|
39
38
|
#include "absl/strings/str_cat.h"
|
40
39
|
#include "absl/strings/str_format.h"
|
@@ -47,6 +46,7 @@
|
|
47
46
|
#include "src/core/telemetry/stats.h"
|
48
47
|
#include "src/core/telemetry/stats_data.h"
|
49
48
|
#include "src/core/util/crash.h"
|
49
|
+
#include "src/core/util/grpc_check.h"
|
50
50
|
#include "src/core/util/thd.h"
|
51
51
|
#include "src/core/util/useful.h"
|
52
52
|
|
@@ -350,7 +350,7 @@ static void ref_by(grpc_fd* fd, int n, const char* reason, const char* file,
|
|
350
350
|
} while (0)
|
351
351
|
static void ref_by(grpc_fd* fd, int n) {
|
352
352
|
#endif
|
353
|
-
|
353
|
+
GRPC_CHECK_GT(gpr_atm_no_barrier_fetch_add(&fd->refst, n), 0);
|
354
354
|
}
|
355
355
|
|
356
356
|
#ifndef NDEBUG
|
@@ -374,7 +374,7 @@ static void unref_by(grpc_fd* fd, int n) {
|
|
374
374
|
fd->shutdown_error.~Status();
|
375
375
|
gpr_free(fd);
|
376
376
|
} else {
|
377
|
-
|
377
|
+
GRPC_CHECK(old > n);
|
378
378
|
}
|
379
379
|
}
|
380
380
|
|
@@ -392,7 +392,7 @@ static grpc_fd* fd_create(int fd, const char* name, bool track_err) {
|
|
392
392
|
}
|
393
393
|
// Avoid unused-parameter warning for debug-only parameter
|
394
394
|
(void)track_err;
|
395
|
-
|
395
|
+
GRPC_DCHECK(track_err == false);
|
396
396
|
grpc_fd* r = static_cast<grpc_fd*>(gpr_malloc(sizeof(*r)));
|
397
397
|
gpr_mu_init(&r->mu);
|
398
398
|
gpr_atm_rel_store(&r->refst, 1);
|
@@ -422,7 +422,7 @@ static bool fd_is_orphaned(grpc_fd* fd) {
|
|
422
422
|
|
423
423
|
static grpc_error_handle pollset_kick_locked(grpc_fd_watcher* watcher) {
|
424
424
|
gpr_mu_lock(&watcher->pollset->mu);
|
425
|
-
|
425
|
+
GRPC_CHECK(watcher->worker);
|
426
426
|
grpc_error_handle err =
|
427
427
|
pollset_kick_ext(watcher->pollset, watcher->worker,
|
428
428
|
GRPC_POLLSET_REEVALUATE_POLLING_ON_WAKEUP);
|
@@ -483,8 +483,8 @@ static void fd_orphan(grpc_fd* fd, grpc_closure* on_done, int* release_fd,
|
|
483
483
|
if (grpc_core::IsEventEngineForAllOtherEndpointsEnabled() &&
|
484
484
|
!grpc_event_engine::experimental::
|
485
485
|
EventEngineExperimentDisabledForPython()) {
|
486
|
-
|
487
|
-
|
486
|
+
GRPC_CHECK_NE(release_fd, nullptr);
|
487
|
+
GRPC_CHECK_EQ(on_done, nullptr);
|
488
488
|
*release_fd = fd->fd;
|
489
489
|
gpr_free(fd);
|
490
490
|
return;
|
@@ -805,7 +805,7 @@ static grpc_error_handle pollset_kick_ext(grpc_pollset* p,
|
|
805
805
|
// pollset->mu already held
|
806
806
|
if (specific_worker != nullptr) {
|
807
807
|
if (specific_worker == GRPC_POLLSET_KICK_BROADCAST) {
|
808
|
-
|
808
|
+
GRPC_CHECK_EQ((flags & GRPC_POLLSET_REEVALUATE_POLLING_ON_WAKEUP), 0u);
|
809
809
|
for (specific_worker = p->root_worker.next;
|
810
810
|
specific_worker != &p->root_worker;
|
811
811
|
specific_worker = specific_worker->next) {
|
@@ -829,7 +829,7 @@ static grpc_error_handle pollset_kick_ext(grpc_pollset* p,
|
|
829
829
|
grpc_wakeup_fd_wakeup(&specific_worker->wakeup_fd->fd));
|
830
830
|
}
|
831
831
|
} else if (g_current_thread_poller != p) {
|
832
|
-
|
832
|
+
GRPC_CHECK_EQ((flags & GRPC_POLLSET_REEVALUATE_POLLING_ON_WAKEUP), 0u);
|
833
833
|
specific_worker = pop_front_worker(p);
|
834
834
|
if (specific_worker != nullptr) {
|
835
835
|
if (g_current_thread_worker == specific_worker) {
|
@@ -882,7 +882,7 @@ static void pollset_init(grpc_pollset* pollset, gpr_mu** mu) {
|
|
882
882
|
}
|
883
883
|
|
884
884
|
static void pollset_destroy(grpc_pollset* pollset) {
|
885
|
-
|
885
|
+
GRPC_CHECK(!pollset_has_workers(pollset));
|
886
886
|
while (pollset->local_wakeup_cache) {
|
887
887
|
grpc_cached_wakeup_fd* next = pollset->local_wakeup_cache->next;
|
888
888
|
fork_fd_list_remove_wakeup_fd(pollset->local_wakeup_cache);
|
@@ -1160,7 +1160,7 @@ static grpc_error_handle pollset_work(grpc_pollset* pollset,
|
|
1160
1160
|
}
|
1161
1161
|
|
1162
1162
|
static void pollset_shutdown(grpc_pollset* pollset, grpc_closure* closure) {
|
1163
|
-
|
1163
|
+
GRPC_CHECK(!pollset->shutting_down);
|
1164
1164
|
pollset->shutting_down = 1;
|
1165
1165
|
pollset->shutdown_done = closure;
|
1166
1166
|
(void)pollset_kick(pollset, GRPC_POLLSET_KICK_BROADCAST);
|
@@ -25,7 +25,6 @@
|
|
25
25
|
#include <utility>
|
26
26
|
|
27
27
|
#include "absl/functional/any_invocable.h"
|
28
|
-
#include "absl/log/check.h"
|
29
28
|
#include "absl/log/log.h"
|
30
29
|
#include "absl/status/status.h"
|
31
30
|
#include "absl/status/statusor.h"
|
@@ -45,6 +44,7 @@
|
|
45
44
|
#include "src/core/lib/transport/error_utils.h"
|
46
45
|
#include "src/core/util/construct_destruct.h"
|
47
46
|
#include "src/core/util/debug_location.h"
|
47
|
+
#include "src/core/util/grpc_check.h"
|
48
48
|
#include "src/core/util/string.h"
|
49
49
|
#include "src/core/util/sync.h"
|
50
50
|
|
@@ -412,9 +412,10 @@ EventEngineEndpointWrapper::EventEngineEndpointWrapper(
|
|
412
412
|
} // namespace
|
413
413
|
|
414
414
|
grpc_endpoint* grpc_event_engine_endpoint_create(
|
415
|
-
std::unique_ptr<EventEngine::Endpoint
|
416
|
-
|
417
|
-
|
415
|
+
absl::StatusOr<std::unique_ptr<EventEngine::Endpoint>> ee_endpoint) {
|
416
|
+
GRPC_DCHECK(ee_endpoint.ok()) << ee_endpoint.status();
|
417
|
+
GRPC_DCHECK(ee_endpoint.value() != nullptr);
|
418
|
+
auto wrapper = new EventEngineEndpointWrapper(std::move(ee_endpoint).value());
|
418
419
|
return wrapper->GetGrpcEndpoint();
|
419
420
|
}
|
420
421
|
|
@@ -27,7 +27,7 @@ namespace experimental {
|
|
27
27
|
/// Server code needs to create grpc_endpoints after the EventEngine has made
|
28
28
|
/// connections.
|
29
29
|
grpc_endpoint* grpc_event_engine_endpoint_create(
|
30
|
-
std::unique_ptr<EventEngine::Endpoint
|
30
|
+
absl::StatusOr<std::unique_ptr<EventEngine::Endpoint>> ee_endpoint);
|
31
31
|
|
32
32
|
/// Returns true if the passed endpoint is an event engine shim endpoint.
|
33
33
|
bool grpc_is_event_engine_endpoint(grpc_endpoint* ep);
|
@@ -28,7 +28,6 @@
|
|
28
28
|
|
29
29
|
#include <limits>
|
30
30
|
|
31
|
-
#include "absl/log/check.h"
|
32
31
|
#include "absl/log/log.h"
|
33
32
|
#include "src/core/lib/iomgr/iocp_windows.h"
|
34
33
|
#include "src/core/lib/iomgr/iomgr_internal.h"
|
@@ -37,6 +36,7 @@
|
|
37
36
|
#include "src/core/telemetry/stats.h"
|
38
37
|
#include "src/core/telemetry/stats_data.h"
|
39
38
|
#include "src/core/util/crash.h"
|
39
|
+
#include "src/core/util/grpc_check.h"
|
40
40
|
#include "src/core/util/thd.h"
|
41
41
|
|
42
42
|
static ULONG g_iocp_kick_token;
|
@@ -73,8 +73,8 @@ grpc_iocp_work_status grpc_iocp_work(grpc_core::Timestamp deadline) {
|
|
73
73
|
if (success == 0 && overlapped == NULL) {
|
74
74
|
return GRPC_IOCP_WORK_TIMEOUT;
|
75
75
|
}
|
76
|
-
|
77
|
-
|
76
|
+
GRPC_CHECK(completion_key);
|
77
|
+
GRPC_CHECK(overlapped);
|
78
78
|
if (overlapped == &g_iocp_custom_overlap) {
|
79
79
|
gpr_atm_full_fetch_add(&g_custom_events, -1);
|
80
80
|
if (completion_key == (ULONG_PTR)&g_iocp_kick_token) {
|
@@ -102,7 +102,7 @@ grpc_iocp_work_status grpc_iocp_work(grpc_core::Timestamp deadline) {
|
|
102
102
|
info->bytes_transferred = bytes;
|
103
103
|
info->wsa_error = success ? 0 : WSAGetLastError();
|
104
104
|
}
|
105
|
-
|
105
|
+
GRPC_CHECK(overlapped == &info->overlapped);
|
106
106
|
bool should_destroy = grpc_socket_become_ready(socket, info);
|
107
107
|
gpr_mu_unlock(&socket->state_mu);
|
108
108
|
if (should_destroy) {
|
@@ -114,7 +114,7 @@ grpc_iocp_work_status grpc_iocp_work(grpc_core::Timestamp deadline) {
|
|
114
114
|
void grpc_iocp_init(void) {
|
115
115
|
g_iocp =
|
116
116
|
CreateIoCompletionPort(INVALID_HANDLE_VALUE, NULL, (ULONG_PTR)NULL, 0);
|
117
|
-
|
117
|
+
GRPC_CHECK(g_iocp);
|
118
118
|
}
|
119
119
|
|
120
120
|
void grpc_iocp_kick(void) {
|
@@ -123,7 +123,7 @@ void grpc_iocp_kick(void) {
|
|
123
123
|
gpr_atm_full_fetch_add(&g_custom_events, 1);
|
124
124
|
success = PostQueuedCompletionStatus(g_iocp, 0, (ULONG_PTR)&g_iocp_kick_token,
|
125
125
|
&g_iocp_custom_overlap);
|
126
|
-
|
126
|
+
GRPC_CHECK(success);
|
127
127
|
}
|
128
128
|
|
129
129
|
void grpc_iocp_flush(void) {
|
@@ -145,7 +145,7 @@ void grpc_iocp_shutdown(void) {
|
|
145
145
|
grpc_core::ExecCtx::Get()->Flush();
|
146
146
|
}
|
147
147
|
|
148
|
-
|
148
|
+
GRPC_CHECK(CloseHandle(g_iocp));
|
149
149
|
}
|
150
150
|
|
151
151
|
void grpc_iocp_add_socket(grpc_winsocket* socket) {
|
@@ -161,7 +161,7 @@ void grpc_iocp_add_socket(grpc_winsocket* socket) {
|
|
161
161
|
abort();
|
162
162
|
}
|
163
163
|
socket->added_to_iocp = 1;
|
164
|
-
|
164
|
+
GRPC_CHECK(ret == g_iocp);
|
165
165
|
}
|
166
166
|
|
167
167
|
void grpc_iocp_register_socket_shutdown_socket_locked(grpc_winsocket* socket) {
|
@@ -22,7 +22,6 @@
|
|
22
22
|
|
23
23
|
#ifdef GRPC_WINSOCK_SOCKET
|
24
24
|
|
25
|
-
#include "absl/log/check.h"
|
26
25
|
#include "src/core/lib/experiments/experiments.h"
|
27
26
|
#include "src/core/lib/iomgr/iocp_windows.h"
|
28
27
|
#include "src/core/lib/iomgr/iomgr.h"
|
@@ -35,6 +34,7 @@
|
|
35
34
|
#include "src/core/lib/iomgr/tcp_server.h"
|
36
35
|
#include "src/core/lib/iomgr/timer.h"
|
37
36
|
#include "src/core/util/crash.h"
|
37
|
+
#include "src/core/util/grpc_check.h"
|
38
38
|
|
39
39
|
extern grpc_tcp_server_vtable grpc_windows_tcp_server_vtable;
|
40
40
|
extern grpc_tcp_server_vtable grpc_windows_event_engine_tcp_server_vtable;
|
@@ -50,12 +50,12 @@ extern grpc_pollset_set_vtable grpc_windows_pollset_set_vtable;
|
|
50
50
|
static void winsock_init(void) {
|
51
51
|
WSADATA wsaData;
|
52
52
|
int status = WSAStartup(MAKEWORD(2, 0), &wsaData);
|
53
|
-
|
53
|
+
GRPC_CHECK_EQ(status, 0);
|
54
54
|
}
|
55
55
|
|
56
56
|
static void winsock_shutdown(void) {
|
57
57
|
int status = WSACleanup();
|
58
|
-
|
58
|
+
GRPC_CHECK_EQ(status, 0);
|
59
59
|
}
|
60
60
|
|
61
61
|
static void iomgr_platform_init(void) {
|
@@ -20,11 +20,11 @@
|
|
20
20
|
|
21
21
|
#include <grpc/support/port_platform.h>
|
22
22
|
|
23
|
-
#include "absl/log/check.h"
|
24
23
|
#include "absl/log/log.h"
|
25
24
|
#include "src/core/lib/debug/trace.h"
|
26
25
|
#include "src/core/lib/iomgr/exec_ctx.h"
|
27
26
|
#include "src/core/util/crash.h"
|
27
|
+
#include "src/core/util/grpc_check.h"
|
28
28
|
|
29
29
|
// 'state' holds the to call when the fd is readable or writable respectively.
|
30
30
|
// It can contain one of the following values:
|
@@ -78,7 +78,7 @@ void LockfreeEvent::DestroyEvent() {
|
|
78
78
|
if (curr & kShutdownBit) {
|
79
79
|
internal::StatusFreeHeapPtr(curr & ~kShutdownBit);
|
80
80
|
} else {
|
81
|
-
|
81
|
+
GRPC_CHECK(curr == kClosureNotReady || curr == kClosureReady);
|
82
82
|
}
|
83
83
|
// we CAS in a shutdown, no error value here. If this event is interacted
|
84
84
|
// with post-deletion (see the note in the constructor) we want the bit
|
@@ -21,9 +21,9 @@
|
|
21
21
|
#include <grpc/support/alloc.h>
|
22
22
|
#include <grpc/support/port_platform.h>
|
23
23
|
|
24
|
-
#include "absl/log/check.h"
|
25
24
|
#include "absl/strings/str_format.h"
|
26
25
|
#include "src/core/util/crash.h"
|
26
|
+
#include "src/core/util/grpc_check.h"
|
27
27
|
|
28
28
|
grpc_polling_entity grpc_polling_entity_create_from_pollset_set(
|
29
29
|
grpc_pollset_set* pollset_set) {
|
@@ -72,7 +72,7 @@ void grpc_polling_entity_add_to_pollset_set(grpc_polling_entity* pollent,
|
|
72
72
|
grpc_pollset_set_add_pollset(pss_dst, pollent->pollent.pollset);
|
73
73
|
}
|
74
74
|
} else if (pollent->tag == GRPC_POLLS_POLLSET_SET) {
|
75
|
-
|
75
|
+
GRPC_CHECK_NE(pollent->pollent.pollset_set, nullptr);
|
76
76
|
grpc_pollset_set_add_pollset_set(pss_dst, pollent->pollent.pollset_set);
|
77
77
|
} else if (pollent->tag == GRPC_POLLS_NONE) {
|
78
78
|
// Do nothing.
|
@@ -90,7 +90,7 @@ void grpc_polling_entity_del_from_pollset_set(grpc_polling_entity* pollent,
|
|
90
90
|
grpc_pollset_set_del_pollset(pss_dst, pollent->pollent.pollset);
|
91
91
|
}
|
92
92
|
} else if (pollent->tag == GRPC_POLLS_POLLSET_SET) {
|
93
|
-
|
93
|
+
GRPC_CHECK_NE(pollent->pollent.pollset_set, nullptr);
|
94
94
|
grpc_pollset_set_del_pollset_set(pss_dst, pollent->pollent.pollset_set);
|
95
95
|
} else if (pollent->tag == GRPC_POLLS_NONE) {
|
96
96
|
// Do nothing.
|
@@ -46,13 +46,13 @@
|
|
46
46
|
|
47
47
|
#include <string>
|
48
48
|
|
49
|
-
#include "absl/log/check.h"
|
50
49
|
#include "absl/log/log.h"
|
51
50
|
#include "absl/strings/str_cat.h"
|
52
51
|
#include "src/core/lib/address_utils/sockaddr_utils.h"
|
53
52
|
#include "src/core/lib/iomgr/sockaddr.h"
|
54
53
|
#include "src/core/lib/iomgr/socket_factory_posix.h"
|
55
54
|
#include "src/core/util/crash.h"
|
55
|
+
#include "src/core/util/grpc_check.h"
|
56
56
|
#include "src/core/util/strerror.h"
|
57
57
|
#include "src/core/util/string.h"
|
58
58
|
|
@@ -416,7 +416,7 @@ grpc_error_handle grpc_set_socket_tcp_user_timeout(
|
|
416
416
|
// set a socket using a grpc_socket_mutator
|
417
417
|
grpc_error_handle grpc_set_socket_with_mutator(int fd, grpc_fd_usage usage,
|
418
418
|
grpc_socket_mutator* mutator) {
|
419
|
-
|
419
|
+
GRPC_CHECK(mutator);
|
420
420
|
if (!grpc_socket_mutator_mutate_fd(mutator, fd, usage)) {
|
421
421
|
return GRPC_ERROR_CREATE("grpc_socket_mutator failed.");
|
422
422
|
}
|
@@ -29,7 +29,6 @@
|
|
29
29
|
#include <grpc/support/log_windows.h>
|
30
30
|
#include <mswsock.h>
|
31
31
|
|
32
|
-
#include "absl/log/check.h"
|
33
32
|
#include "absl/log/log.h"
|
34
33
|
#include "absl/strings/str_format.h"
|
35
34
|
#include "src/core/lib/iomgr/iocp_windows.h"
|
@@ -39,6 +38,7 @@
|
|
39
38
|
#include "src/core/lib/iomgr/sockaddr_windows.h"
|
40
39
|
#include "src/core/lib/iomgr/socket_windows.h"
|
41
40
|
#include "src/core/util/crash.h"
|
41
|
+
#include "src/core/util/grpc_check.h"
|
42
42
|
|
43
43
|
static DWORD s_wsa_socket_flags;
|
44
44
|
|
@@ -157,7 +157,7 @@ void grpc_winsocket_finish(grpc_winsocket* winsocket) {
|
|
157
157
|
|
158
158
|
void grpc_winsocket_destroy(grpc_winsocket* winsocket) {
|
159
159
|
gpr_mu_lock(&winsocket->state_mu);
|
160
|
-
|
160
|
+
GRPC_CHECK(!winsocket->destroy_called);
|
161
161
|
winsocket->destroy_called = true;
|
162
162
|
bool should_destroy = check_destroyable(winsocket);
|
163
163
|
gpr_mu_unlock(&winsocket->state_mu);
|
@@ -172,7 +172,7 @@ void grpc_winsocket_destroy(grpc_winsocket* winsocket) {
|
|
172
172
|
//-) The IOCP hasn't completed yet, and we're queuing it for later.
|
173
173
|
static void socket_notify_on_iocp(grpc_winsocket* socket, grpc_closure* closure,
|
174
174
|
grpc_winsocket_callback_info* info) {
|
175
|
-
|
175
|
+
GRPC_CHECK(info->closure == NULL);
|
176
176
|
gpr_mu_lock(&socket->state_mu);
|
177
177
|
if (info->has_pending_iocp) {
|
178
178
|
info->has_pending_iocp = 0;
|
@@ -194,7 +194,7 @@ void grpc_socket_notify_on_read(grpc_winsocket* socket, grpc_closure* closure) {
|
|
194
194
|
|
195
195
|
bool grpc_socket_become_ready(grpc_winsocket* socket,
|
196
196
|
grpc_winsocket_callback_info* info) {
|
197
|
-
|
197
|
+
GRPC_CHECK(!info->has_pending_iocp);
|
198
198
|
if (info->closure) {
|
199
199
|
// Only run the closure once at shutdown.
|
200
200
|
if (!info->closure_already_executed_at_shutdown) {
|
@@ -33,7 +33,6 @@
|
|
33
33
|
#include <memory>
|
34
34
|
|
35
35
|
#include "absl/container/flat_hash_map.h"
|
36
|
-
#include "absl/log/check.h"
|
37
36
|
#include "absl/log/log.h"
|
38
37
|
#include "absl/strings/str_cat.h"
|
39
38
|
#include "src/core/lib/address_utils/sockaddr_utils.h"
|
@@ -53,6 +52,7 @@
|
|
53
52
|
#include "src/core/lib/slice/slice_internal.h"
|
54
53
|
#include "src/core/net/socket_mutator.h"
|
55
54
|
#include "src/core/util/crash.h"
|
55
|
+
#include "src/core/util/grpc_check.h"
|
56
56
|
#include "src/core/util/status_helper.h"
|
57
57
|
#include "src/core/util/string.h"
|
58
58
|
|
@@ -103,7 +103,7 @@ static grpc_error_handle prepare_socket(
|
|
103
103
|
const grpc_core::PosixTcpOptions& options) {
|
104
104
|
grpc_error_handle err;
|
105
105
|
|
106
|
-
|
106
|
+
GRPC_CHECK_GE(fd, 0);
|
107
107
|
|
108
108
|
err = grpc_set_socket_nonblocking(fd, 1);
|
109
109
|
if (!err.ok()) goto error;
|
@@ -187,7 +187,7 @@ static void on_writable(void* acp, grpc_error_handle error) {
|
|
187
187
|
<< ": on_writable: error=" << grpc_core::StatusToString(error);
|
188
188
|
|
189
189
|
gpr_mu_lock(&ac->mu);
|
190
|
-
|
190
|
+
GRPC_CHECK(ac->fd);
|
191
191
|
fd = ac->fd;
|
192
192
|
ac->fd = nullptr;
|
193
193
|
bool connect_cancelled = ac->connect_cancelled;
|
@@ -438,7 +438,7 @@ static bool tcp_cancel_connect(int64_t connection_handle) {
|
|
438
438
|
auto it = shard->pending_connections.find(connection_handle);
|
439
439
|
if (it != shard->pending_connections.end()) {
|
440
440
|
ac = it->second;
|
441
|
-
|
441
|
+
GRPC_CHECK_NE(ac, nullptr);
|
442
442
|
// Trying to acquire ac->mu here would could cause a deadlock because
|
443
443
|
// the on_writable method tries to acquire the two mutexes used
|
444
444
|
// here in the reverse order. But we dont need to acquire ac->mu before
|
@@ -28,7 +28,6 @@
|
|
28
28
|
#include <grpc/support/alloc.h>
|
29
29
|
#include <grpc/support/log_windows.h>
|
30
30
|
|
31
|
-
#include "absl/log/check.h"
|
32
31
|
#include "src/core/lib/address_utils/sockaddr_utils.h"
|
33
32
|
#include "src/core/lib/event_engine/shim.h"
|
34
33
|
#include "src/core/lib/iomgr/event_engine_shims/tcp_client.h"
|
@@ -42,6 +41,7 @@
|
|
42
41
|
#include "src/core/lib/resource_quota/api.h"
|
43
42
|
#include "src/core/lib/slice/slice_internal.h"
|
44
43
|
#include "src/core/util/crash.h"
|
44
|
+
#include "src/core/util/grpc_check.h"
|
45
45
|
|
46
46
|
using ::grpc_event_engine::experimental::EndpointConfig;
|
47
47
|
|
@@ -82,7 +82,7 @@ static void on_alarm(void* acp, grpc_error_handle /* error */) {
|
|
82
82
|
static void on_connect(void* acp, grpc_error_handle error) {
|
83
83
|
async_connect* ac = (async_connect*)acp;
|
84
84
|
grpc_endpoint** ep = ac->endpoint;
|
85
|
-
|
85
|
+
GRPC_CHECK(*ep == NULL);
|
86
86
|
grpc_closure* on_done = ac->on_done;
|
87
87
|
|
88
88
|
gpr_mu_lock(&ac->mu);
|
@@ -101,7 +101,7 @@ static void on_connect(void* acp, grpc_error_handle error) {
|
|
101
101
|
BOOL wsa_success =
|
102
102
|
WSAGetOverlappedResult(socket->socket, &socket->write_info.overlapped,
|
103
103
|
&transferred_bytes, FALSE, &flags);
|
104
|
-
|
104
|
+
GRPC_CHECK_EQ(transferred_bytes, 0);
|
105
105
|
if (!wsa_success) {
|
106
106
|
error = GRPC_WSA_ERROR(WSAGetLastError(), "ConnectEx");
|
107
107
|
closesocket(socket->socket);
|
@@ -242,7 +242,7 @@ static int64_t tcp_connect(grpc_closure* on_done, grpc_endpoint** endpoint,
|
|
242
242
|
return 0;
|
243
243
|
|
244
244
|
failure:
|
245
|
-
|
245
|
+
GRPC_CHECK(!error.ok());
|
246
246
|
grpc_error_handle final_error =
|
247
247
|
GRPC_ERROR_CREATE_REFERENCING("Failed to connect", &error, 1);
|
248
248
|
if (socket != NULL) {
|