grpc 1.75.0 → 1.78.1
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 +24 -5
- data/include/grpc/credentials.h +27 -6
- data/include/grpc/event_engine/memory_allocator.h +2 -0
- data/include/grpc/event_engine/memory_request.h +2 -0
- data/include/grpc/impl/channel_arg_names.h +5 -0
- data/include/grpc/support/metrics.h +7 -1
- data/src/core/call/call_filters.cc +5 -5
- data/src/core/call/call_filters.h +211 -37
- data/src/core/call/call_spine.cc +1 -1
- data/src/core/call/call_spine.h +54 -32
- data/src/core/call/channelz_context.h +30 -0
- data/src/core/call/client_call.cc +49 -10
- data/src/core/call/client_call.h +6 -3
- data/src/core/call/filter_fusion.h +9 -9
- data/src/core/call/interception_chain.h +7 -6
- data/src/core/call/metadata_batch.cc +49 -55
- data/src/core/call/metadata_batch.h +10 -9
- data/src/core/call/metadata_info.cc +1 -1
- data/src/core/call/parsed_metadata.h +2 -2
- data/src/core/call/request_buffer.cc +1 -1
- data/src/core/call/security_context.cc +2 -2
- data/src/core/call/security_context.h +1 -1
- data/src/core/call/server_call.cc +5 -5
- data/src/core/call/server_call.h +6 -4
- data/src/core/call/simple_slice_based_metadata.h +1 -1
- data/src/core/call/status_util.cc +1 -1
- data/src/core/channelz/channel_trace.cc +1 -1
- data/src/core/channelz/channel_trace.h +3 -3
- data/src/core/channelz/channelz.cc +25 -29
- data/src/core/channelz/channelz.h +73 -22
- data/src/core/channelz/channelz_registry.cc +2 -2
- data/src/core/channelz/channelz_registry.h +53 -2
- data/src/core/channelz/property_list.cc +18 -0
- data/src/core/channelz/property_list.h +15 -4
- 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 +17 -6
- data/src/core/channelz/v2tov1/legacy_api.cc +18 -12
- data/src/core/channelz/v2tov1/property_list.cc +2 -1
- data/src/core/channelz/ztrace_collector.h +260 -87
- data/src/core/client_channel/backup_poller.cc +7 -8
- data/src/core/client_channel/buffered_call.cc +140 -0
- data/src/core/client_channel/buffered_call.h +104 -0
- data/src/core/client_channel/client_channel.cc +144 -84
- data/src/core/client_channel/client_channel.h +8 -11
- data/src/core/client_channel/client_channel_factory.h +1 -1
- data/src/core/client_channel/client_channel_filter.cc +424 -686
- data/src/core/client_channel/client_channel_filter.h +57 -150
- data/src/core/client_channel/client_channel_internal.h +8 -5
- data/src/core/client_channel/client_channel_service_config.cc +43 -3
- data/src/core/client_channel/client_channel_service_config.h +12 -1
- data/src/core/client_channel/config_selector.h +5 -5
- data/src/core/client_channel/connector.h +2 -0
- data/src/core/client_channel/dynamic_filters.cc +5 -5
- data/src/core/client_channel/global_subchannel_pool.cc +0 -37
- data/src/core/client_channel/global_subchannel_pool.h +1 -28
- data/src/core/client_channel/lb_metadata.h +1 -1
- data/src/core/client_channel/load_balanced_call_destination.cc +10 -12
- data/src/core/client_channel/load_balanced_call_destination.h +1 -1
- data/src/core/client_channel/local_subchannel_pool.cc +4 -4
- data/src/core/client_channel/retry_filter.cc +2 -2
- data/src/core/client_channel/retry_filter.h +3 -3
- data/src/core/client_channel/retry_filter_legacy_call_data.cc +11 -12
- data/src/core/client_channel/retry_filter_legacy_call_data.h +6 -8
- data/src/core/client_channel/retry_service_config.cc +3 -3
- data/src/core/client_channel/retry_service_config.h +1 -1
- data/src/core/client_channel/subchannel.cc +114 -25
- data/src/core/client_channel/subchannel.h +24 -8
- data/src/core/client_channel/subchannel_pool_interface.cc +2 -2
- data/src/core/client_channel/subchannel_pool_interface.h +1 -1
- data/src/core/client_channel/subchannel_stream_client.cc +5 -5
- data/src/core/client_channel/subchannel_stream_client.h +3 -3
- data/src/core/config/config_vars.cc +38 -3
- data/src/core/config/config_vars.h +26 -0
- data/src/core/config/core_configuration.cc +5 -5
- data/src/core/config/core_configuration.h +8 -8
- data/src/core/config/load_config.cc +13 -1
- data/src/core/config/load_config.h +2 -0
- data/src/core/credentials/call/call_credentials.h +4 -4
- data/src/core/credentials/call/call_creds_registry.h +1 -1
- data/src/core/credentials/call/call_creds_registry_init.cc +2 -2
- data/src/core/credentials/call/call_creds_util.cc +7 -6
- data/src/core/credentials/call/composite/composite_call_credentials.cc +6 -6
- data/src/core/credentials/call/composite/composite_call_credentials.h +1 -1
- data/src/core/credentials/call/external/aws_external_account_credentials.cc +9 -9
- data/src/core/credentials/call/external/aws_external_account_credentials.h +1 -1
- data/src/core/credentials/call/external/external_account_credentials.cc +12 -12
- data/src/core/credentials/call/external/external_account_credentials.h +1 -1
- data/src/core/credentials/call/external/file_external_account_credentials.cc +3 -3
- data/src/core/credentials/call/external/file_external_account_credentials.h +1 -1
- data/src/core/credentials/call/external/url_external_account_credentials.cc +7 -7
- data/src/core/credentials/call/external/url_external_account_credentials.h +1 -1
- data/src/core/credentials/call/gcp_service_account_identity/gcp_service_account_identity_credentials.cc +24 -71
- data/src/core/credentials/call/gcp_service_account_identity/gcp_service_account_identity_credentials.h +1 -8
- data/src/core/credentials/call/iam/iam_credentials.cc +6 -6
- data/src/core/credentials/call/iam/iam_credentials.h +1 -1
- data/src/core/credentials/call/json_util.cc +1 -1
- data/src/core/credentials/call/jwt/json_token.cc +7 -7
- data/src/core/credentials/call/jwt/jwt_credentials.cc +5 -5
- data/src/core/credentials/call/jwt/jwt_credentials.h +4 -4
- data/src/core/credentials/call/jwt/jwt_verifier.cc +19 -18
- data/src/core/credentials/call/jwt_token_file/jwt_token_file_call_credentials.cc +2 -2
- data/src/core/credentials/call/jwt_token_file/jwt_token_file_call_credentials.h +3 -3
- data/src/core/credentials/call/jwt_util.cc +3 -3
- data/src/core/credentials/call/jwt_util.h +1 -1
- data/src/core/credentials/call/oauth2/oauth2_credentials.cc +49 -72
- data/src/core/credentials/call/oauth2/oauth2_credentials.h +3 -9
- data/src/core/credentials/call/plugin/plugin_credentials.cc +6 -6
- data/src/core/credentials/call/plugin/plugin_credentials.h +2 -2
- data/src/core/credentials/call/token_fetcher/token_fetcher_credentials.cc +46 -0
- data/src/core/credentials/call/token_fetcher/token_fetcher_credentials.h +32 -3
- data/src/core/credentials/transport/alts/alts_credentials.cc +5 -5
- data/src/core/credentials/transport/alts/alts_security_connector.cc +17 -15
- data/src/core/credentials/transport/alts/check_gcp_environment_no_op.cc +1 -1
- data/src/core/credentials/transport/alts/grpc_alts_credentials_client_options.cc +23 -3
- 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/channel_creds_registry.h +1 -1
- data/src/core/credentials/transport/channel_creds_registry_init.cc +1 -1
- data/src/core/credentials/transport/composite/composite_channel_credentials.cc +7 -7
- data/src/core/credentials/transport/composite/composite_channel_credentials.h +1 -1
- data/src/core/credentials/transport/fake/fake_credentials.cc +1 -1
- data/src/core/credentials/transport/fake/fake_credentials.h +1 -1
- data/src/core/credentials/transport/fake/fake_security_connector.cc +7 -7
- data/src/core/credentials/transport/google_default/credentials_generic.cc +2 -2
- data/src/core/credentials/transport/google_default/google_default_credentials.cc +83 -39
- data/src/core/credentials/transport/google_default/google_default_credentials.h +0 -2
- data/src/core/credentials/transport/insecure/insecure_security_connector.cc +3 -3
- data/src/core/credentials/transport/insecure/insecure_security_connector.h +2 -2
- data/src/core/credentials/transport/local/local_security_connector.cc +13 -13
- data/src/core/credentials/transport/security_connector.cc +6 -6
- data/src/core/credentials/transport/security_connector.h +2 -2
- data/src/core/credentials/transport/ssl/ssl_credentials.cc +13 -13
- data/src/core/credentials/transport/ssl/ssl_credentials.h +2 -2
- data/src/core/credentials/transport/ssl/ssl_security_connector.cc +8 -8
- data/src/core/credentials/transport/tls/certificate_provider_factory.h +1 -1
- data/src/core/credentials/transport/tls/certificate_provider_registry.cc +2 -2
- data/src/core/credentials/transport/tls/certificate_provider_registry.h +1 -1
- data/src/core/credentials/transport/tls/grpc_tls_certificate_distributor.cc +25 -25
- data/src/core/credentials/transport/tls/grpc_tls_certificate_distributor.h +2 -2
- data/src/core/credentials/transport/tls/grpc_tls_certificate_match.cc +1 -1
- data/src/core/credentials/transport/tls/grpc_tls_certificate_provider.cc +8 -8
- data/src/core/credentials/transport/tls/grpc_tls_certificate_provider.h +5 -5
- data/src/core/credentials/transport/tls/grpc_tls_certificate_verifier.cc +3 -3
- data/src/core/credentials/transport/tls/grpc_tls_certificate_verifier.h +4 -4
- data/src/core/credentials/transport/tls/grpc_tls_credentials_options.cc +18 -18
- data/src/core/credentials/transport/tls/grpc_tls_crl_provider.cc +5 -5
- data/src/core/credentials/transport/tls/grpc_tls_crl_provider.h +3 -3
- data/src/core/credentials/transport/tls/load_system_roots_supported.cc +1 -1
- data/src/core/credentials/transport/tls/spiffe_utils.cc +10 -8
- data/src/core/credentials/transport/tls/spiffe_utils.h +2 -2
- data/src/core/credentials/transport/tls/ssl_utils.cc +18 -13
- data/src/core/credentials/transport/tls/ssl_utils.h +2 -2
- data/src/core/credentials/transport/tls/tls_credentials.cc +3 -3
- data/src/core/credentials/transport/tls/tls_security_connector.cc +15 -15
- data/src/core/credentials/transport/tls/tls_security_connector.h +3 -3
- data/src/core/credentials/transport/transport_credentials.cc +3 -3
- data/src/core/credentials/transport/transport_credentials.h +4 -4
- data/src/core/credentials/transport/xds/xds_credentials.cc +5 -5
- data/src/core/credentials/transport/xds/xds_credentials.h +1 -1
- data/src/core/ext/filters/backend_metrics/backend_metric_filter.cc +2 -2
- data/src/core/ext/filters/backend_metrics/backend_metric_filter.h +4 -1
- data/src/core/ext/filters/channel_idle/legacy_channel_idle_filter.cc +6 -4
- data/src/core/ext/filters/channel_idle/legacy_channel_idle_filter.h +2 -2
- data/src/core/ext/filters/fault_injection/fault_injection_filter.cc +7 -7
- data/src/core/ext/filters/fault_injection/fault_injection_filter.h +6 -3
- data/src/core/ext/filters/fault_injection/fault_injection_service_config_parser.h +1 -1
- data/src/core/ext/filters/gcp_authentication/gcp_authentication_filter.cc +2 -2
- data/src/core/ext/filters/gcp_authentication/gcp_authentication_filter.h +6 -3
- data/src/core/ext/filters/gcp_authentication/gcp_authentication_service_config_parser.h +1 -1
- data/src/core/ext/filters/http/client/http_client_filter.cc +6 -6
- data/src/core/ext/filters/http/client/http_client_filter.h +4 -1
- data/src/core/ext/filters/http/client_authority_filter.cc +2 -2
- data/src/core/ext/filters/http/client_authority_filter.h +4 -1
- data/src/core/ext/filters/http/http_filters_plugin.cc +1 -1
- data/src/core/ext/filters/http/message_compress/compression_filter.cc +11 -11
- data/src/core/ext/filters/http/message_compress/compression_filter.h +24 -5
- data/src/core/ext/filters/http/server/http_server_filter.cc +3 -3
- data/src/core/ext/filters/http/server/http_server_filter.h +4 -1
- data/src/core/ext/filters/message_size/message_size_filter.cc +2 -2
- data/src/core/ext/filters/message_size/message_size_filter.h +8 -2
- data/src/core/ext/filters/rbac/rbac_filter.cc +1 -1
- data/src/core/ext/filters/rbac/rbac_filter.h +4 -1
- data/src/core/ext/filters/rbac/rbac_service_config_parser.cc +3 -3
- data/src/core/ext/filters/rbac/rbac_service_config_parser.h +1 -1
- data/src/core/ext/filters/stateful_session/stateful_session_filter.cc +14 -14
- data/src/core/ext/filters/stateful_session/stateful_session_filter.h +13 -2
- data/src/core/ext/filters/stateful_session/stateful_session_service_config_parser.h +1 -1
- data/src/core/ext/transport/chttp2/alpn/alpn.cc +2 -2
- data/src/core/ext/transport/chttp2/client/chttp2_connector.cc +58 -44
- data/src/core/ext/transport/chttp2/client/chttp2_connector.h +2 -3
- data/src/core/ext/transport/chttp2/server/chttp2_server.cc +25 -24
- data/src/core/ext/transport/chttp2/server/chttp2_server.h +1 -2
- data/src/core/ext/transport/chttp2/transport/bin_decoder.cc +6 -6
- data/src/core/ext/transport/chttp2/transport/bin_encoder.cc +6 -6
- data/src/core/ext/transport/chttp2/transport/chttp2_transport.cc +306 -148
- data/src/core/ext/transport/chttp2/transport/chttp2_transport.h +10 -2
- data/src/core/ext/transport/chttp2/transport/flow_control.cc +42 -7
- data/src/core/ext/transport/chttp2/transport/flow_control.h +223 -83
- data/src/core/ext/transport/chttp2/transport/flow_control_manager.h +105 -0
- data/src/core/ext/transport/chttp2/transport/frame.cc +175 -27
- data/src/core/ext/transport/chttp2/transport/frame.h +58 -10
- data/src/core/ext/transport/chttp2/transport/frame_data.cc +4 -4
- data/src/core/ext/transport/chttp2/transport/frame_data.h +1 -1
- data/src/core/ext/transport/chttp2/transport/frame_goaway.cc +5 -5
- data/src/core/ext/transport/chttp2/transport/frame_ping.cc +6 -6
- data/src/core/ext/transport/chttp2/transport/frame_rst_stream.cc +7 -7
- data/src/core/ext/transport/chttp2/transport/frame_security.cc +1 -1
- data/src/core/ext/transport/chttp2/transport/frame_settings.cc +7 -15
- data/src/core/ext/transport/chttp2/transport/frame_window_update.cc +6 -6
- data/src/core/ext/transport/chttp2/transport/goaway.cc +129 -0
- data/src/core/ext/transport/chttp2/transport/goaway.h +350 -0
- data/src/core/ext/transport/chttp2/transport/header_assembler.h +194 -54
- data/src/core/ext/transport/chttp2/transport/hpack_encoder.cc +3 -3
- data/src/core/ext/transport/chttp2/transport/hpack_encoder.h +8 -6
- data/src/core/ext/transport/chttp2/transport/hpack_encoder_table.cc +8 -8
- data/src/core/ext/transport/chttp2/transport/hpack_parse_result.cc +3 -3
- data/src/core/ext/transport/chttp2/transport/hpack_parse_result.h +5 -5
- data/src/core/ext/transport/chttp2/transport/hpack_parser.cc +34 -34
- data/src/core/ext/transport/chttp2/transport/hpack_parser.h +6 -7
- data/src/core/ext/transport/chttp2/transport/hpack_parser_table.cc +8 -8
- data/src/core/ext/transport/chttp2/transport/hpack_parser_table.h +1 -1
- data/src/core/ext/transport/chttp2/transport/http2_client_transport.cc +1475 -632
- data/src/core/ext/transport/chttp2/transport/http2_client_transport.h +384 -373
- data/src/core/ext/transport/chttp2/transport/http2_settings.cc +1 -1
- data/src/core/ext/transport/chttp2/transport/http2_settings.h +6 -4
- data/src/core/ext/transport/chttp2/transport/http2_settings_manager.cc +4 -3
- data/src/core/ext/transport/chttp2/transport/http2_settings_manager.h +6 -5
- data/src/core/ext/transport/chttp2/transport/http2_settings_promises.h +417 -0
- data/src/core/ext/transport/chttp2/transport/http2_status.h +7 -1
- data/src/core/ext/transport/chttp2/transport/http2_transport.cc +337 -30
- data/src/core/ext/transport/chttp2/transport/http2_transport.h +196 -21
- data/src/core/ext/transport/chttp2/transport/http2_ztrace_collector.h +172 -72
- data/src/core/ext/transport/chttp2/transport/incoming_metadata_tracker.h +128 -0
- data/src/core/ext/transport/chttp2/transport/internal.h +31 -19
- data/src/core/ext/transport/chttp2/transport/keepalive.cc +12 -5
- data/src/core/ext/transport/chttp2/transport/keepalive.h +14 -10
- data/src/core/ext/transport/chttp2/transport/message_assembler.h +30 -21
- data/src/core/ext/transport/chttp2/transport/parsing.cc +25 -23
- data/src/core/ext/transport/chttp2/transport/ping_callbacks.cc +2 -2
- data/src/core/ext/transport/chttp2/transport/ping_callbacks.h +3 -3
- data/src/core/ext/transport/chttp2/transport/ping_promise.cc +70 -28
- data/src/core/ext/transport/chttp2/transport/ping_promise.h +63 -23
- data/src/core/ext/transport/chttp2/transport/ping_rate_policy.cc +1 -1
- data/src/core/ext/transport/chttp2/transport/security_frame.cc +31 -0
- data/src/core/ext/transport/chttp2/transport/security_frame.h +32 -0
- data/src/core/ext/transport/chttp2/transport/stream.h +287 -0
- data/src/core/ext/transport/chttp2/transport/stream_data_queue.h +476 -208
- data/src/core/ext/transport/chttp2/transport/stream_lists.cc +8 -8
- data/src/core/ext/transport/chttp2/transport/transport_common.cc +17 -1
- data/src/core/ext/transport/chttp2/transport/transport_common.h +57 -0
- data/src/core/ext/transport/chttp2/transport/varint.h +2 -2
- data/src/core/ext/transport/chttp2/transport/writable_streams.h +202 -84
- data/src/core/ext/transport/chttp2/transport/write_size_policy.cc +2 -2
- data/src/core/ext/transport/chttp2/transport/writing.cc +6 -6
- data/src/core/ext/transport/inproc/inproc_transport.cc +9 -3
- data/src/core/ext/transport/inproc/legacy_inproc_transport.cc +11 -8
- 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/auth_filters.h +7 -1
- data/src/core/filter/auth/client_auth_filter.cc +2 -2
- data/src/core/filter/auth/server_auth_filter.cc +5 -5
- data/src/core/filter/blackboard.h +2 -2
- data/src/core/filter/filter_args.h +40 -2
- data/src/core/handshaker/endpoint_info/endpoint_info_handshaker.cc +2 -2
- data/src/core/handshaker/handshaker.cc +8 -8
- data/src/core/handshaker/handshaker.h +2 -2
- data/src/core/handshaker/http_connect/http_connect_handshaker.cc +5 -5
- data/src/core/handshaker/http_connect/http_proxy_mapper.cc +12 -12
- data/src/core/handshaker/http_connect/http_proxy_mapper.h +1 -1
- data/src/core/handshaker/http_connect/xds_http_proxy_mapper.cc +1 -1
- data/src/core/handshaker/http_connect/xds_http_proxy_mapper.h +1 -1
- data/src/core/handshaker/proxy_mapper.h +1 -1
- data/src/core/handshaker/proxy_mapper_registry.h +1 -1
- data/src/core/handshaker/security/legacy_secure_endpoint.cc +6 -6
- data/src/core/handshaker/security/pipelined_secure_endpoint.cc +38 -15
- data/src/core/handshaker/security/secure_endpoint.cc +31 -11
- data/src/core/handshaker/security/security_handshaker.cc +11 -8
- data/src/core/handshaker/security/security_handshaker.h +1 -1
- data/src/core/handshaker/tcp_connect/tcp_connect_handshaker.cc +6 -6
- data/src/core/lib/address_utils/parse_address.cc +5 -5
- data/src/core/lib/address_utils/parse_address.h +2 -2
- data/src/core/lib/address_utils/sockaddr_utils.cc +4 -4
- data/src/core/lib/address_utils/sockaddr_utils.h +1 -1
- data/src/core/lib/channel/channel_args.cc +1 -1
- data/src/core/lib/channel/channel_args.h +2 -2
- data/src/core/lib/channel/channel_stack.cc +29 -25
- data/src/core/lib/channel/channel_stack.h +8 -3
- data/src/core/lib/channel/channel_stack_builder.cc +8 -4
- data/src/core/lib/channel/channel_stack_builder.h +10 -9
- data/src/core/lib/channel/channel_stack_builder_impl.cc +8 -13
- data/src/core/lib/channel/channel_stack_builder_impl.h +1 -1
- data/src/core/lib/channel/connected_channel.cc +4 -4
- data/src/core/lib/channel/promise_based_filter.cc +132 -72
- data/src/core/lib/channel/promise_based_filter.h +39 -23
- data/src/core/lib/compression/compression_internal.cc +6 -6
- data/src/core/lib/compression/compression_internal.h +1 -1
- data/src/core/lib/compression/message_compress.cc +8 -8
- data/src/core/lib/debug/trace.cc +2 -5
- data/src/core/lib/debug/trace.h +10 -0
- data/src/core/lib/debug/trace_flags.cc +2 -2
- data/src/core/lib/debug/trace_flags.h +1 -1
- data/src/core/lib/event_engine/ares_resolver.cc +30 -28
- data/src/core/lib/event_engine/ares_resolver.h +4 -4
- data/src/core/lib/event_engine/cf_engine/cf_engine.cc +3 -3
- data/src/core/lib/event_engine/cf_engine/cfstream_endpoint.cc +2 -2
- data/src/core/lib/event_engine/cf_engine/cfstream_endpoint.h +1 -1
- data/src/core/lib/event_engine/cf_engine/dns_service_resolver.cc +4 -4
- data/src/core/lib/event_engine/cf_engine/dns_service_resolver.h +3 -3
- data/src/core/lib/event_engine/channel_args_endpoint_config.h +1 -1
- data/src/core/lib/event_engine/default_event_engine.cc +1 -1
- data/src/core/lib/event_engine/event_engine.cc +1 -1
- data/src/core/lib/event_engine/extensions/channelz.h +3 -3
- data/src/core/lib/event_engine/extensions/chaotic_good_extension.h +1 -1
- data/src/core/lib/event_engine/extensions/supports_fd.h +5 -5
- data/src/core/lib/event_engine/extensions/tcp_trace.h +8 -1
- data/src/core/lib/event_engine/grpc_polled_fd.h +1 -1
- data/src/core/lib/event_engine/memory_allocator_factory.h +1 -1
- data/src/core/lib/event_engine/posix_engine/ev_epoll1_linux.cc +12 -12
- data/src/core/lib/event_engine/posix_engine/ev_epoll1_linux.h +5 -5
- data/src/core/lib/event_engine/posix_engine/ev_poll_posix.cc +15 -15
- data/src/core/lib/event_engine/posix_engine/ev_poll_posix.h +3 -3
- data/src/core/lib/event_engine/posix_engine/event_poller.h +2 -2
- data/src/core/lib/event_engine/posix_engine/event_poller_posix_default.cc +2 -2
- data/src/core/lib/event_engine/posix_engine/file_descriptor_collection.cc +1 -1
- data/src/core/lib/event_engine/posix_engine/file_descriptor_collection.h +1 -1
- data/src/core/lib/event_engine/posix_engine/grpc_polled_fd_posix.h +4 -4
- data/src/core/lib/event_engine/posix_engine/internal_errqueue.cc +1 -1
- data/src/core/lib/event_engine/posix_engine/lockfree_event.cc +3 -3
- data/src/core/lib/event_engine/posix_engine/lockfree_event.h +1 -1
- data/src/core/lib/event_engine/posix_engine/native_posix_dns_resolver.cc +3 -3
- data/src/core/lib/event_engine/posix_engine/native_posix_dns_resolver.h +1 -1
- data/src/core/lib/event_engine/posix_engine/posix_endpoint.cc +28 -27
- data/src/core/lib/event_engine/posix_engine/posix_endpoint.h +17 -17
- data/src/core/lib/event_engine/posix_engine/posix_engine.cc +175 -177
- data/src/core/lib/event_engine/posix_engine/posix_engine.h +40 -61
- data/src/core/lib/event_engine/posix_engine/posix_engine_listener.cc +11 -7
- data/src/core/lib/event_engine/posix_engine/posix_engine_listener.h +4 -4
- data/src/core/lib/event_engine/posix_engine/posix_engine_listener_utils.cc +9 -9
- data/src/core/lib/event_engine/posix_engine/posix_engine_listener_utils.h +1 -1
- data/src/core/lib/event_engine/posix_engine/posix_interface.h +2 -2
- data/src/core/lib/event_engine/posix_engine/posix_interface_posix.cc +5 -5
- data/src/core/lib/event_engine/posix_engine/posix_write_event_sink.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/tcp_socket_utils.h +1 -1
- data/src/core/lib/event_engine/posix_engine/timer.h +1 -1
- data/src/core/lib/event_engine/posix_engine/timer_manager.cc +4 -4
- data/src/core/lib/event_engine/posix_engine/timer_manager.h +1 -1
- data/src/core/lib/event_engine/posix_engine/traced_buffer_list.cc +2 -2
- data/src/core/lib/event_engine/posix_engine/traced_buffer_list.h +2 -2
- data/src/core/lib/event_engine/posix_engine/wakeup_fd_eventfd.cc +1 -1
- data/src/core/lib/event_engine/posix_engine/wakeup_fd_eventfd.h +2 -2
- data/src/core/lib/event_engine/posix_engine/wakeup_fd_pipe.cc +1 -1
- data/src/core/lib/event_engine/posix_engine/wakeup_fd_pipe.h +2 -2
- data/src/core/lib/event_engine/posix_engine/wakeup_fd_posix.h +1 -1
- data/src/core/lib/event_engine/posix_engine/wakeup_fd_posix_default.cc +2 -2
- data/src/core/lib/event_engine/posix_engine/wakeup_fd_posix_default.h +1 -1
- data/src/core/lib/event_engine/ref_counted_dns_resolver_interface.h +1 -1
- 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 +15 -15
- data/src/core/lib/event_engine/thread_pool/thread_count.cc +1 -1
- data/src/core/lib/event_engine/thread_pool/thread_count.h +1 -1
- data/src/core/lib/event_engine/thread_pool/work_stealing_thread_pool.cc +11 -11
- data/src/core/lib/event_engine/thread_pool/work_stealing_thread_pool.h +3 -3
- data/src/core/lib/event_engine/utils.cc +3 -3
- data/src/core/lib/event_engine/utils.h +1 -1
- data/src/core/lib/event_engine/windows/grpc_polled_fd_windows.cc +32 -32
- data/src/core/lib/event_engine/windows/grpc_polled_fd_windows.h +2 -2
- data/src/core/lib/event_engine/windows/iocp.cc +11 -11
- data/src/core/lib/event_engine/windows/iocp.h +1 -1
- data/src/core/lib/event_engine/windows/native_windows_dns_resolver.cc +5 -2
- data/src/core/lib/event_engine/windows/win_socket.cc +7 -7
- data/src/core/lib/event_engine/windows/win_socket.h +2 -2
- data/src/core/lib/event_engine/windows/windows_endpoint.cc +16 -16
- data/src/core/lib/event_engine/windows/windows_engine.cc +20 -18
- data/src/core/lib/event_engine/windows/windows_engine.h +3 -3
- data/src/core/lib/event_engine/windows/windows_listener.cc +10 -10
- data/src/core/lib/event_engine/windows/windows_listener.h +2 -2
- data/src/core/lib/event_engine/work_queue/basic_work_queue.h +2 -2
- data/src/core/lib/experiments/config.cc +4 -4
- data/src/core/lib/experiments/experiments.cc +255 -42
- data/src/core/lib/experiments/experiments.h +105 -21
- data/src/core/lib/iomgr/buffer_list.cc +1 -1
- data/src/core/lib/iomgr/call_combiner.cc +4 -4
- data/src/core/lib/iomgr/call_combiner.h +2 -2
- data/src/core/lib/iomgr/cfstream_handle.cc +1 -1
- data/src/core/lib/iomgr/closure.h +2 -2
- data/src/core/lib/iomgr/combiner.cc +2 -2
- data/src/core/lib/iomgr/endpoint.h +1 -1
- data/src/core/lib/iomgr/endpoint_cfstream.cc +7 -7
- data/src/core/lib/iomgr/endpoint_pair_posix.cc +6 -6
- data/src/core/lib/iomgr/endpoint_pair_windows.cc +16 -15
- data/src/core/lib/iomgr/error.cc +1 -1
- data/src/core/lib/iomgr/error.h +2 -2
- data/src/core/lib/iomgr/error_cfstream.cc +1 -1
- data/src/core/lib/iomgr/ev_apple.cc +1 -1
- data/src/core/lib/iomgr/ev_epoll1_linux.cc +19 -19
- data/src/core/lib/iomgr/ev_poll_posix.cc +14 -14
- data/src/core/lib/iomgr/ev_posix.cc +3 -3
- data/src/core/lib/iomgr/event_engine_shims/closure.cc +3 -3
- data/src/core/lib/iomgr/event_engine_shims/closure.h +1 -1
- data/src/core/lib/iomgr/event_engine_shims/endpoint.cc +10 -9
- data/src/core/lib/iomgr/event_engine_shims/endpoint.h +1 -1
- data/src/core/lib/iomgr/event_engine_shims/tcp_client.cc +2 -2
- data/src/core/lib/iomgr/exec_ctx.cc +3 -3
- data/src/core/lib/iomgr/exec_ctx.h +1 -1
- data/src/core/lib/iomgr/fork_posix.cc +1 -1
- data/src/core/lib/iomgr/internal_errqueue.cc +1 -1
- data/src/core/lib/iomgr/iocp_windows.cc +9 -9
- data/src/core/lib/iomgr/iomgr.cc +1 -1
- data/src/core/lib/iomgr/iomgr_windows.cc +3 -3
- data/src/core/lib/iomgr/lockfree_event.cc +3 -3
- data/src/core/lib/iomgr/polling_entity.cc +4 -4
- data/src/core/lib/iomgr/resolve_address.cc +1 -1
- data/src/core/lib/iomgr/resolve_address.h +2 -2
- data/src/core/lib/iomgr/resolve_address_posix.cc +4 -4
- data/src/core/lib/iomgr/resolve_address_windows.cc +1 -1
- data/src/core/lib/iomgr/sockaddr_utils_posix.cc +1 -1
- data/src/core/lib/iomgr/socket_utils_common_posix.cc +4 -4
- data/src/core/lib/iomgr/socket_windows.cc +6 -6
- data/src/core/lib/iomgr/tcp_client_cfstream.cc +1 -1
- data/src/core/lib/iomgr/tcp_client_posix.cc +7 -7
- data/src/core/lib/iomgr/tcp_client_windows.cc +4 -4
- data/src/core/lib/iomgr/tcp_posix.cc +47 -47
- 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 +62 -31
- data/src/core/lib/iomgr/tcp_server_utils_posix.h +4 -1
- data/src/core/lib/iomgr/tcp_server_utils_posix_common.cc +7 -7
- data/src/core/lib/iomgr/tcp_server_utils_posix_ifaddrs.cc +4 -4
- data/src/core/lib/iomgr/tcp_server_windows.cc +70 -31
- data/src/core/lib/iomgr/tcp_windows.cc +8 -8
- data/src/core/lib/iomgr/timer_generic.cc +5 -5
- data/src/core/lib/iomgr/timer_manager.cc +3 -3
- data/src/core/lib/iomgr/unix_sockets_posix.cc +3 -3
- data/src/core/lib/iomgr/unix_sockets_posix.h +1 -1
- data/src/core/lib/iomgr/unix_sockets_posix_noop.cc +2 -2
- data/src/core/lib/iomgr/vsock.cc +1 -1
- data/src/core/lib/iomgr/vsock.h +1 -1
- data/src/core/lib/iomgr/wakeup_fd_pipe.cc +1 -1
- data/src/core/lib/promise/activity.cc +3 -3
- data/src/core/lib/promise/activity.h +11 -10
- data/src/core/lib/promise/all_ok.h +3 -3
- data/src/core/lib/promise/arena_promise.h +47 -6
- data/src/core/lib/promise/context.h +3 -3
- data/src/core/lib/promise/detail/join_state.h +10 -10
- data/src/core/lib/promise/detail/promise_factory.h +1 -1
- data/src/core/lib/promise/detail/promise_like.h +1 -1
- data/src/core/lib/promise/detail/seq_state.h +16 -16
- data/src/core/lib/promise/detail/status.h +2 -2
- data/src/core/lib/promise/exec_ctx_wakeup_scheduler.h +1 -1
- data/src/core/lib/promise/for_each.h +8 -8
- data/src/core/lib/promise/if.h +1 -1
- data/src/core/lib/promise/inter_activity_latch.h +3 -3
- data/src/core/lib/promise/inter_activity_mutex.h +1 -1
- data/src/core/lib/promise/interceptor_list.h +5 -5
- data/src/core/lib/promise/latch.h +9 -9
- data/src/core/lib/promise/loop.h +2 -2
- data/src/core/lib/promise/map.h +2 -2
- data/src/core/lib/promise/mpsc.cc +31 -30
- data/src/core/lib/promise/mpsc.h +2 -2
- data/src/core/lib/promise/observable.h +6 -6
- data/src/core/lib/promise/party.cc +43 -30
- data/src/core/lib/promise/party.h +27 -23
- data/src/core/lib/promise/pipe.h +31 -17
- data/src/core/lib/promise/poll.h +6 -5
- data/src/core/lib/promise/promise.h +2 -4
- data/src/core/lib/promise/sleep.cc +3 -1
- data/src/core/lib/promise/sleep.h +1 -1
- data/src/core/lib/promise/status_flag.h +8 -8
- data/src/core/lib/promise/try_join.h +5 -5
- data/src/core/lib/promise/try_seq.h +5 -5
- data/src/core/lib/promise/wait_set.h +2 -2
- data/src/core/lib/resource_quota/api.cc +1 -1
- data/src/core/lib/resource_quota/arena.cc +1 -1
- 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/connection_quota.h +1 -1
- data/src/core/lib/resource_quota/memory_quota.cc +48 -27
- data/src/core/lib/resource_quota/memory_quota.h +56 -20
- data/src/core/lib/resource_quota/periodic_update.h +1 -1
- data/src/core/lib/resource_quota/resource_quota.cc +8 -0
- data/src/core/lib/resource_quota/resource_quota.h +2 -1
- data/src/core/lib/resource_quota/stream_quota.cc +22 -0
- data/src/core/lib/resource_quota/stream_quota.h +31 -0
- data/src/core/lib/resource_quota/telemetry.h +55 -0
- data/src/core/lib/resource_quota/thread_quota.cc +2 -2
- data/src/core/lib/resource_quota/thread_quota.h +1 -1
- 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 +7 -7
- data/src/core/lib/security/authorization/audit_logging.h +1 -1
- data/src/core/lib/security/authorization/authorization_policy_provider.h +1 -1
- data/src/core/lib/security/authorization/evaluate_args.cc +5 -5
- data/src/core/lib/security/authorization/evaluate_args.h +1 -1
- data/src/core/lib/security/authorization/grpc_authorization_engine.cc +2 -2
- data/src/core/lib/security/authorization/grpc_server_authz_filter.cc +3 -3
- data/src/core/lib/security/authorization/grpc_server_authz_filter.h +4 -1
- data/src/core/lib/security/authorization/matchers.cc +2 -2
- data/src/core/lib/security/authorization/stdout_logger.cc +3 -3
- data/src/core/lib/slice/percent_encoding.cc +1 -1
- data/src/core/lib/slice/slice.cc +1 -1
- data/src/core/lib/slice/slice.h +2 -2
- data/src/core/lib/slice/slice_buffer.cc +1 -1
- data/src/core/lib/slice/slice_internal.h +1 -1
- data/src/core/lib/surface/byte_buffer_reader.cc +2 -2
- data/src/core/lib/surface/call.cc +58 -28
- data/src/core/lib/surface/call.h +13 -6
- data/src/core/lib/surface/call_log_batch.cc +2 -2
- data/src/core/lib/surface/call_utils.cc +7 -7
- data/src/core/lib/surface/call_utils.h +85 -20
- data/src/core/lib/surface/channel.cc +6 -5
- data/src/core/lib/surface/channel.h +13 -3
- data/src/core/lib/surface/channel_create.cc +12 -8
- data/src/core/lib/surface/channel_create.h +1 -1
- data/src/core/lib/surface/channel_init.cc +84 -27
- data/src/core/lib/surface/channel_init.h +30 -13
- data/src/core/lib/surface/completion_queue.cc +21 -20
- 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 +25 -31
- data/src/core/lib/surface/filter_stack_call.h +6 -7
- data/src/core/lib/surface/init.cc +4 -4
- data/src/core/lib/surface/lame_client.cc +2 -2
- data/src/core/lib/surface/lame_client.h +3 -3
- data/src/core/lib/surface/legacy_channel.cc +10 -10
- data/src/core/lib/surface/legacy_channel.h +1 -1
- data/src/core/lib/surface/validate_metadata.cc +2 -2
- data/src/core/lib/surface/validate_metadata.h +3 -3
- 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 +5 -5
- data/src/core/lib/transport/connectivity_state.cc +1 -1
- data/src/core/lib/transport/connectivity_state.h +2 -2
- data/src/core/lib/transport/error_utils.h +1 -1
- data/src/core/lib/transport/promise_endpoint.cc +4 -4
- data/src/core/lib/transport/promise_endpoint.h +11 -11
- data/src/core/lib/transport/timeout_encoding.cc +4 -4
- data/src/core/lib/transport/transport.cc +3 -3
- data/src/core/lib/transport/transport.h +62 -4
- data/src/core/lib/transport/transport_framing_endpoint_extension.h +1 -1
- data/src/core/lib/transport/transport_op_string.cc +2 -2
- data/src/core/load_balancing/address_filtering.cc +1 -1
- data/src/core/load_balancing/address_filtering.h +2 -2
- data/src/core/load_balancing/backend_metric_parser.cc +1 -1
- data/src/core/load_balancing/backend_metric_parser.h +1 -1
- data/src/core/load_balancing/child_policy_handler.cc +8 -8
- data/src/core/load_balancing/child_policy_handler.h +2 -2
- data/src/core/load_balancing/delegating_helper.h +2 -2
- data/src/core/load_balancing/endpoint_list.cc +6 -6
- data/src/core/load_balancing/endpoint_list.h +2 -2
- data/src/core/load_balancing/grpclb/client_load_reporting_filter.cc +7 -5
- data/src/core/load_balancing/grpclb/client_load_reporting_filter.h +5 -1
- data/src/core/load_balancing/grpclb/grpclb.cc +37 -48
- data/src/core/load_balancing/grpclb/grpclb_client_stats.h +2 -2
- data/src/core/load_balancing/grpclb/load_balancer_api.cc +1 -1
- data/src/core/load_balancing/grpclb/load_balancer_api.h +1 -1
- data/src/core/load_balancing/health_check_client.cc +13 -9
- data/src/core/load_balancing/health_check_client_internal.h +5 -5
- data/src/core/load_balancing/lb_policy.h +11 -8
- data/src/core/load_balancing/lb_policy_factory.h +2 -2
- data/src/core/load_balancing/lb_policy_registry.cc +3 -3
- data/src/core/load_balancing/lb_policy_registry.h +2 -2
- data/src/core/load_balancing/oob_backend_metric.cc +11 -7
- data/src/core/load_balancing/oob_backend_metric_internal.h +4 -4
- data/src/core/load_balancing/outlier_detection/outlier_detection.cc +9 -17
- data/src/core/load_balancing/pick_first/pick_first.cc +62 -32
- data/src/core/load_balancing/priority/priority.cc +29 -30
- data/src/core/load_balancing/ring_hash/ring_hash.cc +11 -11
- data/src/core/load_balancing/rls/rls.cc +23 -23
- data/src/core/load_balancing/round_robin/round_robin.cc +16 -16
- data/src/core/load_balancing/subchannel_interface.h +2 -2
- 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 +42 -41
- data/src/core/load_balancing/weighted_target/weighted_target.cc +14 -14
- data/src/core/load_balancing/xds/cds.cc +81 -37
- data/src/core/load_balancing/xds/xds_cluster_impl.cc +24 -41
- data/src/core/load_balancing/xds/xds_cluster_manager.cc +6 -6
- data/src/core/load_balancing/xds/xds_override_host.cc +14 -14
- data/src/core/load_balancing/xds/xds_override_host.h +1 -1
- data/src/core/load_balancing/xds/xds_wrr_locality.cc +5 -5
- data/src/core/resolver/dns/c_ares/dns_resolver_ares.cc +8 -8
- data/src/core/resolver/dns/c_ares/dns_resolver_ares.h +1 -1
- data/src/core/resolver/dns/c_ares/grpc_ares_ev_driver.h +1 -1
- data/src/core/resolver/dns/c_ares/grpc_ares_ev_driver_posix.cc +4 -4
- data/src/core/resolver/dns/c_ares/grpc_ares_ev_driver_windows.cc +35 -35
- data/src/core/resolver/dns/c_ares/grpc_ares_wrapper.cc +16 -16
- data/src/core/resolver/dns/c_ares/grpc_ares_wrapper.h +2 -2
- data/src/core/resolver/dns/dns_resolver_plugin.cc +8 -5
- data/src/core/resolver/dns/event_engine/event_engine_client_channel_resolver.cc +10 -10
- data/src/core/resolver/dns/event_engine/event_engine_client_channel_resolver.h +1 -1
- data/src/core/resolver/dns/event_engine/service_config_helper.cc +2 -2
- data/src/core/resolver/dns/native/dns_resolver.cc +7 -7
- data/src/core/resolver/endpoint_addresses.cc +6 -6
- data/src/core/resolver/endpoint_addresses.h +4 -1
- data/src/core/resolver/fake/fake_resolver.cc +3 -3
- data/src/core/resolver/fake/fake_resolver.h +3 -3
- data/src/core/resolver/google_c2p/google_c2p_resolver.cc +46 -59
- data/src/core/resolver/polling_resolver.cc +8 -8
- data/src/core/resolver/polling_resolver.h +1 -1
- data/src/core/resolver/resolver.h +2 -2
- data/src/core/resolver/resolver_factory.h +2 -2
- data/src/core/resolver/resolver_registry.cc +5 -4
- data/src/core/resolver/resolver_registry.h +1 -1
- data/src/core/resolver/sockaddr/sockaddr_resolver.cc +4 -4
- data/src/core/resolver/xds/xds_config.cc +1 -1
- data/src/core/resolver/xds/xds_config.h +3 -3
- data/src/core/resolver/xds/xds_dependency_manager.cc +7 -7
- data/src/core/resolver/xds/xds_dependency_manager.h +3 -3
- data/src/core/resolver/xds/xds_resolver.cc +25 -22
- data/src/core/resolver/xds/xds_resolver_attributes.h +1 -1
- data/src/core/server/add_port.cc +2 -2
- data/src/core/server/server.cc +47 -43
- data/src/core/server/server.h +8 -7
- data/src/core/server/server_call_tracer_filter.cc +1 -1
- data/src/core/server/server_call_tracer_filter.h +9 -5
- data/src/core/server/server_config_selector.h +2 -2
- data/src/core/server/server_config_selector_filter.cc +5 -5
- data/src/core/server/xds_channel_stack_modifier.cc +3 -2
- data/src/core/server/xds_channel_stack_modifier.h +1 -1
- data/src/core/server/xds_server_config_fetcher.cc +19 -18
- data/src/core/service_config/service_config.h +1 -1
- data/src/core/service_config/service_config_channel_arg_filter.h +4 -1
- data/src/core/service_config/service_config_impl.cc +3 -3
- data/src/core/service_config/service_config_impl.h +4 -4
- data/src/core/service_config/service_config_parser.h +1 -1
- data/src/core/telemetry/call_tracer.cc +39 -49
- data/src/core/telemetry/call_tracer.h +201 -24
- data/src/core/telemetry/default_tcp_tracer.h +3 -3
- data/src/core/telemetry/histogram.h +205 -0
- data/src/core/telemetry/instrument.cc +999 -0
- data/src/core/telemetry/instrument.h +1105 -0
- data/src/core/telemetry/metrics.cc +15 -5
- data/src/core/telemetry/metrics.h +36 -5
- data/src/core/telemetry/stats.h +2 -2
- data/src/core/telemetry/stats_data.cc +1 -20
- data/src/core/telemetry/stats_data.h +2 -21
- data/src/core/transport/auth_context.cc +3 -3
- data/src/core/transport/auth_context.h +2 -1
- data/src/core/transport/auth_context_comparator_registry.h +1 -1
- data/src/core/tsi/alts/crypt/aes_gcm.cc +1 -1
- data/src/core/tsi/alts/frame_protector/alts_frame_protector.cc +2 -2
- data/src/core/tsi/alts/frame_protector/frame_handler.cc +1 -1
- data/src/core/tsi/alts/handshaker/alts_handshaker_client.cc +81 -48
- 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 +46 -36
- data/src/core/tsi/alts/handshaker/alts_tsi_utils.cc +4 -4
- data/src/core/tsi/alts/handshaker/transport_security_common_api.cc +1 -1
- data/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_integrity_only_record_protocol.cc +4 -4
- data/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_privacy_integrity_record_protocol.cc +11 -3
- data/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_record_protocol.h +10 -0
- data/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_record_protocol_common.cc +16 -8
- data/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_record_protocol_common.h +3 -0
- data/src/core/tsi/alts/zero_copy_frame_protector/alts_zero_copy_grpc_protector.cc +18 -5
- data/src/core/tsi/fake_transport_security.cc +6 -5
- data/src/core/tsi/local_transport_security.cc +1 -1
- data/src/core/tsi/ssl/key_logging/ssl_key_logging.cc +5 -5
- data/src/core/tsi/ssl/key_logging/ssl_key_logging.h +1 -1
- data/src/core/tsi/ssl/session_cache/ssl_session_cache.cc +10 -10
- data/src/core/tsi/ssl/session_cache/ssl_session_openssl.cc +4 -4
- data/src/core/tsi/ssl_transport_security.cc +30 -30
- data/src/core/tsi/ssl_transport_security.h +1 -1
- data/src/core/tsi/ssl_transport_security_utils.cc +10 -10
- data/src/core/tsi/ssl_transport_security_utils.h +2 -2
- data/src/core/tsi/transport_security_grpc.cc +8 -0
- data/src/core/tsi/transport_security_grpc.h +15 -0
- data/src/core/util/alloc.cc +1 -1
- data/src/core/util/backoff.h +1 -1
- data/src/core/util/chunked_vector.h +4 -4
- data/src/core/util/crash.h +1 -1
- data/src/core/util/dual_ref_counted.h +2 -2
- data/src/core/util/event_log.cc +2 -2
- data/src/core/util/event_log.h +3 -3
- data/src/core/util/gcp_metadata_query.cc +7 -7
- data/src/core/util/gcp_metadata_query.h +2 -2
- data/src/core/util/glob.cc +2 -0
- data/src/core/util/grpc_check.cc +24 -0
- data/src/core/util/grpc_check.h +103 -0
- data/src/core/util/grpc_if_nametoindex_posix.cc +1 -1
- data/src/core/util/grpc_if_nametoindex_unsupported.cc +1 -1
- data/src/core/util/http_client/format_request.cc +1 -1
- data/src/core/util/http_client/httpcli.cc +6 -6
- data/src/core/util/http_client/httpcli.h +4 -4
- data/src/core/util/http_client/httpcli_security_connector.cc +4 -4
- data/src/core/util/http_client/parser.cc +4 -4
- data/src/core/util/json/json_channel_args.h +1 -1
- data/src/core/util/json/json_object_loader.h +6 -6
- data/src/core/util/json/json_reader.cc +2 -2
- data/src/core/util/json/json_reader.h +1 -1
- data/src/core/util/json/json_util.h +3 -3
- data/src/core/util/json/json_writer.cc +1 -1
- data/src/core/util/latent_see.cc +45 -24
- data/src/core/util/latent_see.h +199 -28
- data/src/core/util/linux/cpu.cc +1 -1
- data/src/core/util/load_file.cc +1 -1
- data/src/core/util/load_file.h +1 -1
- data/src/core/util/log.cc +3 -3
- data/src/core/util/lru_cache.h +4 -4
- data/src/core/util/matchers.h +1 -1
- data/src/core/util/memory_usage.h +17 -1
- data/src/core/util/mpscq.h +1 -1
- data/src/core/util/notification.h +1 -1
- data/src/core/util/posix/cpu.cc +1 -1
- data/src/core/util/posix/directory_reader.cc +3 -2
- data/src/core/util/posix/stat.cc +2 -2
- data/src/core/util/posix/sync.cc +24 -24
- data/src/core/util/posix/thd.cc +2 -2
- data/src/core/util/posix/tmpfile.cc +2 -2
- data/src/core/util/postmortem_emit.cc +52 -0
- data/src/core/util/postmortem_emit.h +30 -0
- data/src/core/util/ref_counted.h +2 -2
- data/src/core/util/ref_counted_ptr.h +6 -1
- data/src/core/util/ref_counted_string.h +1 -1
- data/src/core/util/single_set_ptr.h +3 -1
- data/src/core/util/status_helper.cc +8 -8
- data/src/core/util/status_helper.h +1 -1
- data/src/core/util/string.cc +2 -2
- data/src/core/util/sync_abseil.cc +1 -1
- data/src/core/util/table.h +1 -1
- data/src/core/util/time.cc +1 -1
- data/src/core/util/time_precise.cc +1 -1
- data/src/core/util/trie_lookup.h +170 -0
- data/src/core/util/unique_ptr_with_bitset.h +5 -5
- data/src/core/util/unique_type_name.h +1 -1
- data/src/core/util/upb_utils.h +6 -1
- data/src/core/util/validation_errors.cc +2 -2
- data/src/core/util/validation_errors.h +2 -3
- data/src/core/util/wait_for_single_owner.h +2 -2
- data/src/core/util/windows/directory_reader.cc +1 -1
- data/src/core/util/windows/stat.cc +2 -2
- data/src/core/util/windows/thd.cc +2 -2
- data/src/core/util/windows/time.cc +1 -1
- data/src/core/util/work_serializer.cc +3 -3
- data/src/core/util/work_serializer.h +2 -2
- data/src/core/xds/grpc/certificate_provider_store.cc +2 -2
- data/src/core/xds/grpc/certificate_provider_store.h +2 -2
- data/src/core/xds/grpc/file_watcher_certificate_provider_factory.cc +3 -3
- data/src/core/xds/grpc/file_watcher_certificate_provider_factory.h +1 -1
- data/src/core/xds/grpc/xds_audit_logger_registry.cc +3 -3
- data/src/core/xds/grpc/xds_audit_logger_registry.h +1 -1
- data/src/core/xds/grpc/xds_bootstrap_grpc.cc +7 -7
- data/src/core/xds/grpc/xds_bootstrap_grpc.h +8 -3
- data/src/core/xds/grpc/xds_certificate_provider.cc +4 -4
- data/src/core/xds/grpc/xds_certificate_provider.h +2 -2
- data/src/core/xds/grpc/xds_client_grpc.cc +39 -20
- data/src/core/xds/grpc/xds_client_grpc.h +6 -3
- data/src/core/xds/grpc/xds_cluster.cc +2 -2
- data/src/core/xds/grpc/xds_cluster.h +1 -1
- data/src/core/xds/grpc/xds_cluster_parser.cc +7 -7
- data/src/core/xds/grpc/xds_cluster_parser.h +1 -1
- data/src/core/xds/grpc/xds_cluster_specifier_plugin.cc +4 -4
- data/src/core/xds/grpc/xds_cluster_specifier_plugin.h +1 -1
- data/src/core/xds/grpc/xds_common_types.cc +1 -1
- data/src/core/xds/grpc/xds_common_types.h +1 -1
- data/src/core/xds/grpc/xds_common_types_parser.cc +5 -5
- data/src/core/xds/grpc/xds_endpoint.h +2 -2
- data/src/core/xds/grpc/xds_endpoint_parser.cc +7 -7
- data/src/core/xds/grpc/xds_endpoint_parser.h +1 -1
- data/src/core/xds/grpc/xds_health_status.cc +1 -1
- data/src/core/xds/grpc/xds_health_status.h +1 -1
- data/src/core/xds/grpc/xds_http_fault_filter.cc +4 -4
- data/src/core/xds/grpc/xds_http_fault_filter.h +2 -2
- data/src/core/xds/grpc/xds_http_filter.h +3 -3
- data/src/core/xds/grpc/xds_http_filter_registry.cc +4 -3
- data/src/core/xds/grpc/xds_http_filter_registry.h +2 -2
- data/src/core/xds/grpc/xds_http_gcp_authn_filter.cc +3 -3
- data/src/core/xds/grpc/xds_http_gcp_authn_filter.h +2 -2
- data/src/core/xds/grpc/xds_http_rbac_filter.cc +4 -4
- data/src/core/xds/grpc/xds_http_rbac_filter.h +2 -2
- data/src/core/xds/grpc/xds_http_stateful_session_filter.cc +3 -3
- data/src/core/xds/grpc/xds_http_stateful_session_filter.h +2 -2
- data/src/core/xds/grpc/xds_lb_policy_registry.cc +1 -1
- data/src/core/xds/grpc/xds_lb_policy_registry.h +1 -1
- data/src/core/xds/grpc/xds_listener.cc +2 -2
- data/src/core/xds/grpc/xds_listener_parser.cc +9 -9
- data/src/core/xds/grpc/xds_listener_parser.h +1 -1
- 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_metadata.h +3 -3
- data/src/core/xds/grpc/xds_metadata_parser.cc +2 -2
- data/src/core/xds/grpc/xds_route_config.cc +3 -3
- data/src/core/xds/grpc/xds_route_config_parser.cc +14 -14
- data/src/core/xds/grpc/xds_route_config_parser.h +1 -1
- data/src/core/xds/grpc/xds_routing.cc +6 -6
- data/src/core/xds/grpc/xds_routing.h +2 -2
- data/src/core/xds/grpc/xds_server_grpc.cc +2 -2
- data/src/core/xds/grpc/xds_transport_grpc.cc +11 -11
- data/src/core/xds/grpc/xds_transport_grpc.h +2 -2
- data/src/core/xds/xds_client/lrs_client.cc +9 -9
- data/src/core/xds/xds_client/lrs_client.h +4 -4
- data/src/core/xds/xds_client/xds_api.h +1 -1
- data/src/core/xds/xds_client/xds_backend_metric_propagation.cc +1 -1
- data/src/core/xds/xds_client/xds_backend_metric_propagation.h +1 -1
- data/src/core/xds/xds_client/xds_client.cc +17 -17
- data/src/core/xds/xds_client/xds_client.h +5 -5
- data/src/core/xds/xds_client/xds_locality.h +2 -2
- data/src/core/xds/xds_client/xds_resource_type.h +2 -2
- data/src/core/xds/xds_client/xds_resource_type_impl.h +1 -1
- data/src/core/xds/xds_client/xds_transport.h +2 -2
- data/src/ruby/ext/grpc/extconf.rb +14 -12
- data/src/ruby/ext/grpc/rb_call.c +0 -1
- data/src/ruby/ext/grpc/rb_channel_args.c +0 -1
- data/src/ruby/ext/grpc/rb_channel_credentials.c +0 -1
- data/src/ruby/ext/grpc/rb_compression_options.c +0 -1
- data/src/ruby/ext/grpc/rb_grpc_imports.generated.h +2 -2
- data/src/ruby/ext/grpc/rb_server_credentials.c +0 -1
- data/src/ruby/ext/grpc/rb_xds_channel_credentials.c +0 -1
- data/src/ruby/ext/grpc/rb_xds_server_credentials.c +0 -1
- data/src/ruby/lib/grpc/grpc.rb +7 -9
- data/src/ruby/lib/grpc/version.rb +1 -1
- data/src/ruby/spec/client_server_spec.rb +1 -1
- data/src/ruby/spec/generic/rpc_server_pool_spec.rb +1 -1
- data/src/ruby/spec/generic/rpc_server_spec.rb +3 -4
- data/src/ruby/spec/spec_helper.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 +67 -8
|
@@ -61,6 +61,8 @@ namespace grpc_core {
|
|
|
61
61
|
inline bool IsCallTracerInTransportEnabled() { return true; }
|
|
62
62
|
inline bool IsChannelzUseV2ForV1ApiEnabled() { return false; }
|
|
63
63
|
inline bool IsChannelzUseV2ForV1ServiceEnabled() { return false; }
|
|
64
|
+
#define GRPC_EXPERIMENT_IS_INCLUDED_CHAOTIC_GOOD_CONNECT_DEADLINE
|
|
65
|
+
inline bool IsChaoticGoodConnectDeadlineEnabled() { return true; }
|
|
64
66
|
#define GRPC_EXPERIMENT_IS_INCLUDED_CHAOTIC_GOOD_FRAMING_LAYER
|
|
65
67
|
inline bool IsChaoticGoodFramingLayerEnabled() { return true; }
|
|
66
68
|
inline bool IsChttp2BoundWriteSizeEnabled() { return false; }
|
|
@@ -78,10 +80,14 @@ inline bool IsEventEngineListenerEnabled() { return true; }
|
|
|
78
80
|
inline bool IsEventEngineCallbackCqEnabled() { return true; }
|
|
79
81
|
#define GRPC_EXPERIMENT_IS_INCLUDED_EVENT_ENGINE_FOR_ALL_OTHER_ENDPOINTS
|
|
80
82
|
inline bool IsEventEngineForAllOtherEndpointsEnabled() { return true; }
|
|
83
|
+
inline bool IsEventEnginePollerForPythonEnabled() { return false; }
|
|
81
84
|
#define GRPC_EXPERIMENT_IS_INCLUDED_EVENT_ENGINE_SECURE_ENDPOINT
|
|
82
85
|
inline bool IsEventEngineSecureEndpointEnabled() { return true; }
|
|
86
|
+
inline bool IsFailRecvMetadataOnDeadlineExceededEnabled() { return false; }
|
|
83
87
|
inline bool IsFreeLargeAllocatorEnabled() { return false; }
|
|
84
88
|
inline bool IsFuseFiltersEnabled() { return false; }
|
|
89
|
+
#define GRPC_EXPERIMENT_IS_INCLUDED_GRACEFUL_EXTERNAL_CONNECTION_FAILURE
|
|
90
|
+
inline bool IsGracefulExternalConnectionFailureEnabled() { return true; }
|
|
85
91
|
inline bool IsKeepAlivePingTimerBatchEnabled() { return false; }
|
|
86
92
|
inline bool IsLocalConnectorSecureEnabled() { return false; }
|
|
87
93
|
#define GRPC_EXPERIMENT_IS_INCLUDED_MAX_INFLIGHT_PINGS_STRICT_LIMIT
|
|
@@ -89,7 +95,9 @@ inline bool IsMaxInflightPingsStrictLimitEnabled() { return true; }
|
|
|
89
95
|
#define GRPC_EXPERIMENT_IS_INCLUDED_MONITORING_EXPERIMENT
|
|
90
96
|
inline bool IsMonitoringExperimentEnabled() { return true; }
|
|
91
97
|
inline bool IsMultipingEnabled() { return false; }
|
|
98
|
+
inline bool IsOtelExportTelemetryDomainsEnabled() { return false; }
|
|
92
99
|
inline bool IsPickFirstIgnoreEmptyUpdatesEnabled() { return false; }
|
|
100
|
+
inline bool IsPickFirstReadyToConnectingEnabled() { return false; }
|
|
93
101
|
inline bool IsPipelinedReadSecureEndpointEnabled() { return false; }
|
|
94
102
|
inline bool IsPollsetAlternativeEnabled() { return false; }
|
|
95
103
|
inline bool IsPrioritizeFinishedRequestsEnabled() { return false; }
|
|
@@ -101,13 +109,16 @@ inline bool IsRrWrrConnectFromRandomIndexEnabled() { return false; }
|
|
|
101
109
|
inline bool IsScheduleCancellationOverWriteEnabled() { return false; }
|
|
102
110
|
inline bool IsSecureEndpointOffloadLargeReadsEnabled() { return false; }
|
|
103
111
|
inline bool IsSecureEndpointOffloadLargeWritesEnabled() { return false; }
|
|
104
|
-
|
|
105
|
-
inline bool IsServerGlobalCallbacksOwnershipEnabled() { return true; }
|
|
106
|
-
#define GRPC_EXPERIMENT_IS_INCLUDED_SHARD_GLOBAL_CONNECTION_POOL
|
|
107
|
-
inline bool IsShardGlobalConnectionPoolEnabled() { return true; }
|
|
112
|
+
inline bool IsSkipClearPeerOnCancellationEnabled() { return false; }
|
|
108
113
|
inline bool IsSleepPromiseExecCtxRemovalEnabled() { return false; }
|
|
114
|
+
#define GRPC_EXPERIMENT_IS_INCLUDED_SLEEP_USE_NON_OWNING_WAKER
|
|
115
|
+
inline bool IsSleepUseNonOwningWakerEnabled() { return true; }
|
|
116
|
+
inline bool IsSubchannelWrapperCleanupOnOrphanEnabled() { return false; }
|
|
109
117
|
inline bool IsTcpFrameSizeTuningEnabled() { return false; }
|
|
110
118
|
inline bool IsTcpRcvLowatEnabled() { return false; }
|
|
119
|
+
inline bool IsTrackWritesInResourceQuotaEnabled() { return false; }
|
|
120
|
+
inline bool IsTrackZeroCopyAllocationsInResourceQuotaEnabled() { return false; }
|
|
121
|
+
inline bool IsTransportStateWatcherEnabled() { return false; }
|
|
111
122
|
inline bool IsTsiFrameProtectorWithoutLocksEnabled() { return false; }
|
|
112
123
|
inline bool IsUnconstrainedMaxQuotaBufferSizeEnabled() { return false; }
|
|
113
124
|
|
|
@@ -116,6 +127,8 @@ inline bool IsUnconstrainedMaxQuotaBufferSizeEnabled() { return false; }
|
|
|
116
127
|
inline bool IsCallTracerInTransportEnabled() { return true; }
|
|
117
128
|
inline bool IsChannelzUseV2ForV1ApiEnabled() { return false; }
|
|
118
129
|
inline bool IsChannelzUseV2ForV1ServiceEnabled() { return false; }
|
|
130
|
+
#define GRPC_EXPERIMENT_IS_INCLUDED_CHAOTIC_GOOD_CONNECT_DEADLINE
|
|
131
|
+
inline bool IsChaoticGoodConnectDeadlineEnabled() { return true; }
|
|
119
132
|
#define GRPC_EXPERIMENT_IS_INCLUDED_CHAOTIC_GOOD_FRAMING_LAYER
|
|
120
133
|
inline bool IsChaoticGoodFramingLayerEnabled() { return true; }
|
|
121
134
|
inline bool IsChttp2BoundWriteSizeEnabled() { return false; }
|
|
@@ -133,10 +146,14 @@ inline bool IsEventEngineListenerEnabled() { return true; }
|
|
|
133
146
|
inline bool IsEventEngineCallbackCqEnabled() { return true; }
|
|
134
147
|
#define GRPC_EXPERIMENT_IS_INCLUDED_EVENT_ENGINE_FOR_ALL_OTHER_ENDPOINTS
|
|
135
148
|
inline bool IsEventEngineForAllOtherEndpointsEnabled() { return true; }
|
|
149
|
+
inline bool IsEventEnginePollerForPythonEnabled() { return false; }
|
|
136
150
|
#define GRPC_EXPERIMENT_IS_INCLUDED_EVENT_ENGINE_SECURE_ENDPOINT
|
|
137
151
|
inline bool IsEventEngineSecureEndpointEnabled() { return true; }
|
|
152
|
+
inline bool IsFailRecvMetadataOnDeadlineExceededEnabled() { return false; }
|
|
138
153
|
inline bool IsFreeLargeAllocatorEnabled() { return false; }
|
|
139
154
|
inline bool IsFuseFiltersEnabled() { return false; }
|
|
155
|
+
#define GRPC_EXPERIMENT_IS_INCLUDED_GRACEFUL_EXTERNAL_CONNECTION_FAILURE
|
|
156
|
+
inline bool IsGracefulExternalConnectionFailureEnabled() { return true; }
|
|
140
157
|
inline bool IsKeepAlivePingTimerBatchEnabled() { return false; }
|
|
141
158
|
inline bool IsLocalConnectorSecureEnabled() { return false; }
|
|
142
159
|
#define GRPC_EXPERIMENT_IS_INCLUDED_MAX_INFLIGHT_PINGS_STRICT_LIMIT
|
|
@@ -144,7 +161,9 @@ inline bool IsMaxInflightPingsStrictLimitEnabled() { return true; }
|
|
|
144
161
|
#define GRPC_EXPERIMENT_IS_INCLUDED_MONITORING_EXPERIMENT
|
|
145
162
|
inline bool IsMonitoringExperimentEnabled() { return true; }
|
|
146
163
|
inline bool IsMultipingEnabled() { return false; }
|
|
164
|
+
inline bool IsOtelExportTelemetryDomainsEnabled() { return false; }
|
|
147
165
|
inline bool IsPickFirstIgnoreEmptyUpdatesEnabled() { return false; }
|
|
166
|
+
inline bool IsPickFirstReadyToConnectingEnabled() { return false; }
|
|
148
167
|
inline bool IsPipelinedReadSecureEndpointEnabled() { return false; }
|
|
149
168
|
inline bool IsPollsetAlternativeEnabled() { return false; }
|
|
150
169
|
inline bool IsPrioritizeFinishedRequestsEnabled() { return false; }
|
|
@@ -156,13 +175,16 @@ inline bool IsRrWrrConnectFromRandomIndexEnabled() { return false; }
|
|
|
156
175
|
inline bool IsScheduleCancellationOverWriteEnabled() { return false; }
|
|
157
176
|
inline bool IsSecureEndpointOffloadLargeReadsEnabled() { return false; }
|
|
158
177
|
inline bool IsSecureEndpointOffloadLargeWritesEnabled() { return false; }
|
|
159
|
-
|
|
160
|
-
inline bool IsServerGlobalCallbacksOwnershipEnabled() { return true; }
|
|
161
|
-
#define GRPC_EXPERIMENT_IS_INCLUDED_SHARD_GLOBAL_CONNECTION_POOL
|
|
162
|
-
inline bool IsShardGlobalConnectionPoolEnabled() { return true; }
|
|
178
|
+
inline bool IsSkipClearPeerOnCancellationEnabled() { return false; }
|
|
163
179
|
inline bool IsSleepPromiseExecCtxRemovalEnabled() { return false; }
|
|
180
|
+
#define GRPC_EXPERIMENT_IS_INCLUDED_SLEEP_USE_NON_OWNING_WAKER
|
|
181
|
+
inline bool IsSleepUseNonOwningWakerEnabled() { return true; }
|
|
182
|
+
inline bool IsSubchannelWrapperCleanupOnOrphanEnabled() { return false; }
|
|
164
183
|
inline bool IsTcpFrameSizeTuningEnabled() { return false; }
|
|
165
184
|
inline bool IsTcpRcvLowatEnabled() { return false; }
|
|
185
|
+
inline bool IsTrackWritesInResourceQuotaEnabled() { return false; }
|
|
186
|
+
inline bool IsTrackZeroCopyAllocationsInResourceQuotaEnabled() { return false; }
|
|
187
|
+
inline bool IsTransportStateWatcherEnabled() { return false; }
|
|
166
188
|
inline bool IsTsiFrameProtectorWithoutLocksEnabled() { return false; }
|
|
167
189
|
inline bool IsUnconstrainedMaxQuotaBufferSizeEnabled() { return false; }
|
|
168
190
|
|
|
@@ -171,6 +193,8 @@ inline bool IsUnconstrainedMaxQuotaBufferSizeEnabled() { return false; }
|
|
|
171
193
|
inline bool IsCallTracerInTransportEnabled() { return true; }
|
|
172
194
|
inline bool IsChannelzUseV2ForV1ApiEnabled() { return false; }
|
|
173
195
|
inline bool IsChannelzUseV2ForV1ServiceEnabled() { return false; }
|
|
196
|
+
#define GRPC_EXPERIMENT_IS_INCLUDED_CHAOTIC_GOOD_CONNECT_DEADLINE
|
|
197
|
+
inline bool IsChaoticGoodConnectDeadlineEnabled() { return true; }
|
|
174
198
|
#define GRPC_EXPERIMENT_IS_INCLUDED_CHAOTIC_GOOD_FRAMING_LAYER
|
|
175
199
|
inline bool IsChaoticGoodFramingLayerEnabled() { return true; }
|
|
176
200
|
inline bool IsChttp2BoundWriteSizeEnabled() { return false; }
|
|
@@ -188,10 +212,14 @@ inline bool IsEventEngineListenerEnabled() { return true; }
|
|
|
188
212
|
inline bool IsEventEngineCallbackCqEnabled() { return true; }
|
|
189
213
|
#define GRPC_EXPERIMENT_IS_INCLUDED_EVENT_ENGINE_FOR_ALL_OTHER_ENDPOINTS
|
|
190
214
|
inline bool IsEventEngineForAllOtherEndpointsEnabled() { return true; }
|
|
215
|
+
inline bool IsEventEnginePollerForPythonEnabled() { return false; }
|
|
191
216
|
#define GRPC_EXPERIMENT_IS_INCLUDED_EVENT_ENGINE_SECURE_ENDPOINT
|
|
192
217
|
inline bool IsEventEngineSecureEndpointEnabled() { return true; }
|
|
218
|
+
inline bool IsFailRecvMetadataOnDeadlineExceededEnabled() { return false; }
|
|
193
219
|
inline bool IsFreeLargeAllocatorEnabled() { return false; }
|
|
194
220
|
inline bool IsFuseFiltersEnabled() { return false; }
|
|
221
|
+
#define GRPC_EXPERIMENT_IS_INCLUDED_GRACEFUL_EXTERNAL_CONNECTION_FAILURE
|
|
222
|
+
inline bool IsGracefulExternalConnectionFailureEnabled() { return true; }
|
|
195
223
|
inline bool IsKeepAlivePingTimerBatchEnabled() { return false; }
|
|
196
224
|
inline bool IsLocalConnectorSecureEnabled() { return false; }
|
|
197
225
|
#define GRPC_EXPERIMENT_IS_INCLUDED_MAX_INFLIGHT_PINGS_STRICT_LIMIT
|
|
@@ -199,7 +227,9 @@ inline bool IsMaxInflightPingsStrictLimitEnabled() { return true; }
|
|
|
199
227
|
#define GRPC_EXPERIMENT_IS_INCLUDED_MONITORING_EXPERIMENT
|
|
200
228
|
inline bool IsMonitoringExperimentEnabled() { return true; }
|
|
201
229
|
inline bool IsMultipingEnabled() { return false; }
|
|
230
|
+
inline bool IsOtelExportTelemetryDomainsEnabled() { return false; }
|
|
202
231
|
inline bool IsPickFirstIgnoreEmptyUpdatesEnabled() { return false; }
|
|
232
|
+
inline bool IsPickFirstReadyToConnectingEnabled() { return false; }
|
|
203
233
|
inline bool IsPipelinedReadSecureEndpointEnabled() { return false; }
|
|
204
234
|
inline bool IsPollsetAlternativeEnabled() { return false; }
|
|
205
235
|
inline bool IsPrioritizeFinishedRequestsEnabled() { return false; }
|
|
@@ -211,13 +241,16 @@ inline bool IsRrWrrConnectFromRandomIndexEnabled() { return false; }
|
|
|
211
241
|
inline bool IsScheduleCancellationOverWriteEnabled() { return false; }
|
|
212
242
|
inline bool IsSecureEndpointOffloadLargeReadsEnabled() { return false; }
|
|
213
243
|
inline bool IsSecureEndpointOffloadLargeWritesEnabled() { return false; }
|
|
214
|
-
|
|
215
|
-
inline bool IsServerGlobalCallbacksOwnershipEnabled() { return true; }
|
|
216
|
-
#define GRPC_EXPERIMENT_IS_INCLUDED_SHARD_GLOBAL_CONNECTION_POOL
|
|
217
|
-
inline bool IsShardGlobalConnectionPoolEnabled() { return true; }
|
|
244
|
+
inline bool IsSkipClearPeerOnCancellationEnabled() { return false; }
|
|
218
245
|
inline bool IsSleepPromiseExecCtxRemovalEnabled() { return false; }
|
|
246
|
+
#define GRPC_EXPERIMENT_IS_INCLUDED_SLEEP_USE_NON_OWNING_WAKER
|
|
247
|
+
inline bool IsSleepUseNonOwningWakerEnabled() { return true; }
|
|
248
|
+
inline bool IsSubchannelWrapperCleanupOnOrphanEnabled() { return false; }
|
|
219
249
|
inline bool IsTcpFrameSizeTuningEnabled() { return false; }
|
|
220
250
|
inline bool IsTcpRcvLowatEnabled() { return false; }
|
|
251
|
+
inline bool IsTrackWritesInResourceQuotaEnabled() { return false; }
|
|
252
|
+
inline bool IsTrackZeroCopyAllocationsInResourceQuotaEnabled() { return false; }
|
|
253
|
+
inline bool IsTransportStateWatcherEnabled() { return false; }
|
|
221
254
|
inline bool IsTsiFrameProtectorWithoutLocksEnabled() { return false; }
|
|
222
255
|
inline bool IsUnconstrainedMaxQuotaBufferSizeEnabled() { return false; }
|
|
223
256
|
#endif
|
|
@@ -227,6 +260,7 @@ enum ExperimentIds {
|
|
|
227
260
|
kExperimentIdCallTracerInTransport,
|
|
228
261
|
kExperimentIdChannelzUseV2ForV1Api,
|
|
229
262
|
kExperimentIdChannelzUseV2ForV1Service,
|
|
263
|
+
kExperimentIdChaoticGoodConnectDeadline,
|
|
230
264
|
kExperimentIdChaoticGoodFramingLayer,
|
|
231
265
|
kExperimentIdChttp2BoundWriteSize,
|
|
232
266
|
kExperimentIdErrorFlatten,
|
|
@@ -237,15 +271,20 @@ enum ExperimentIds {
|
|
|
237
271
|
kExperimentIdEventEngineListener,
|
|
238
272
|
kExperimentIdEventEngineCallbackCq,
|
|
239
273
|
kExperimentIdEventEngineForAllOtherEndpoints,
|
|
274
|
+
kExperimentIdEventEnginePollerForPython,
|
|
240
275
|
kExperimentIdEventEngineSecureEndpoint,
|
|
276
|
+
kExperimentIdFailRecvMetadataOnDeadlineExceeded,
|
|
241
277
|
kExperimentIdFreeLargeAllocator,
|
|
242
278
|
kExperimentIdFuseFilters,
|
|
279
|
+
kExperimentIdGracefulExternalConnectionFailure,
|
|
243
280
|
kExperimentIdKeepAlivePingTimerBatch,
|
|
244
281
|
kExperimentIdLocalConnectorSecure,
|
|
245
282
|
kExperimentIdMaxInflightPingsStrictLimit,
|
|
246
283
|
kExperimentIdMonitoringExperiment,
|
|
247
284
|
kExperimentIdMultiping,
|
|
285
|
+
kExperimentIdOtelExportTelemetryDomains,
|
|
248
286
|
kExperimentIdPickFirstIgnoreEmptyUpdates,
|
|
287
|
+
kExperimentIdPickFirstReadyToConnecting,
|
|
249
288
|
kExperimentIdPipelinedReadSecureEndpoint,
|
|
250
289
|
kExperimentIdPollsetAlternative,
|
|
251
290
|
kExperimentIdPrioritizeFinishedRequests,
|
|
@@ -257,11 +296,15 @@ enum ExperimentIds {
|
|
|
257
296
|
kExperimentIdScheduleCancellationOverWrite,
|
|
258
297
|
kExperimentIdSecureEndpointOffloadLargeReads,
|
|
259
298
|
kExperimentIdSecureEndpointOffloadLargeWrites,
|
|
260
|
-
|
|
261
|
-
kExperimentIdShardGlobalConnectionPool,
|
|
299
|
+
kExperimentIdSkipClearPeerOnCancellation,
|
|
262
300
|
kExperimentIdSleepPromiseExecCtxRemoval,
|
|
301
|
+
kExperimentIdSleepUseNonOwningWaker,
|
|
302
|
+
kExperimentIdSubchannelWrapperCleanupOnOrphan,
|
|
263
303
|
kExperimentIdTcpFrameSizeTuning,
|
|
264
304
|
kExperimentIdTcpRcvLowat,
|
|
305
|
+
kExperimentIdTrackWritesInResourceQuota,
|
|
306
|
+
kExperimentIdTrackZeroCopyAllocationsInResourceQuota,
|
|
307
|
+
kExperimentIdTransportStateWatcher,
|
|
265
308
|
kExperimentIdTsiFrameProtectorWithoutLocks,
|
|
266
309
|
kExperimentIdUnconstrainedMaxQuotaBufferSize,
|
|
267
310
|
kNumExperiments
|
|
@@ -278,6 +321,10 @@ inline bool IsChannelzUseV2ForV1ApiEnabled() {
|
|
|
278
321
|
inline bool IsChannelzUseV2ForV1ServiceEnabled() {
|
|
279
322
|
return IsExperimentEnabled<kExperimentIdChannelzUseV2ForV1Service>();
|
|
280
323
|
}
|
|
324
|
+
#define GRPC_EXPERIMENT_IS_INCLUDED_CHAOTIC_GOOD_CONNECT_DEADLINE
|
|
325
|
+
inline bool IsChaoticGoodConnectDeadlineEnabled() {
|
|
326
|
+
return IsExperimentEnabled<kExperimentIdChaoticGoodConnectDeadline>();
|
|
327
|
+
}
|
|
281
328
|
#define GRPC_EXPERIMENT_IS_INCLUDED_CHAOTIC_GOOD_FRAMING_LAYER
|
|
282
329
|
inline bool IsChaoticGoodFramingLayerEnabled() {
|
|
283
330
|
return IsExperimentEnabled<kExperimentIdChaoticGoodFramingLayer>();
|
|
@@ -318,10 +365,18 @@ inline bool IsEventEngineCallbackCqEnabled() {
|
|
|
318
365
|
inline bool IsEventEngineForAllOtherEndpointsEnabled() {
|
|
319
366
|
return IsExperimentEnabled<kExperimentIdEventEngineForAllOtherEndpoints>();
|
|
320
367
|
}
|
|
368
|
+
#define GRPC_EXPERIMENT_IS_INCLUDED_EVENT_ENGINE_POLLER_FOR_PYTHON
|
|
369
|
+
inline bool IsEventEnginePollerForPythonEnabled() {
|
|
370
|
+
return IsExperimentEnabled<kExperimentIdEventEnginePollerForPython>();
|
|
371
|
+
}
|
|
321
372
|
#define GRPC_EXPERIMENT_IS_INCLUDED_EVENT_ENGINE_SECURE_ENDPOINT
|
|
322
373
|
inline bool IsEventEngineSecureEndpointEnabled() {
|
|
323
374
|
return IsExperimentEnabled<kExperimentIdEventEngineSecureEndpoint>();
|
|
324
375
|
}
|
|
376
|
+
#define GRPC_EXPERIMENT_IS_INCLUDED_FAIL_RECV_METADATA_ON_DEADLINE_EXCEEDED
|
|
377
|
+
inline bool IsFailRecvMetadataOnDeadlineExceededEnabled() {
|
|
378
|
+
return IsExperimentEnabled<kExperimentIdFailRecvMetadataOnDeadlineExceeded>();
|
|
379
|
+
}
|
|
325
380
|
#define GRPC_EXPERIMENT_IS_INCLUDED_FREE_LARGE_ALLOCATOR
|
|
326
381
|
inline bool IsFreeLargeAllocatorEnabled() {
|
|
327
382
|
return IsExperimentEnabled<kExperimentIdFreeLargeAllocator>();
|
|
@@ -330,6 +385,10 @@ inline bool IsFreeLargeAllocatorEnabled() {
|
|
|
330
385
|
inline bool IsFuseFiltersEnabled() {
|
|
331
386
|
return IsExperimentEnabled<kExperimentIdFuseFilters>();
|
|
332
387
|
}
|
|
388
|
+
#define GRPC_EXPERIMENT_IS_INCLUDED_GRACEFUL_EXTERNAL_CONNECTION_FAILURE
|
|
389
|
+
inline bool IsGracefulExternalConnectionFailureEnabled() {
|
|
390
|
+
return IsExperimentEnabled<kExperimentIdGracefulExternalConnectionFailure>();
|
|
391
|
+
}
|
|
333
392
|
#define GRPC_EXPERIMENT_IS_INCLUDED_KEEP_ALIVE_PING_TIMER_BATCH
|
|
334
393
|
inline bool IsKeepAlivePingTimerBatchEnabled() {
|
|
335
394
|
return IsExperimentEnabled<kExperimentIdKeepAlivePingTimerBatch>();
|
|
@@ -350,10 +409,18 @@ inline bool IsMonitoringExperimentEnabled() {
|
|
|
350
409
|
inline bool IsMultipingEnabled() {
|
|
351
410
|
return IsExperimentEnabled<kExperimentIdMultiping>();
|
|
352
411
|
}
|
|
412
|
+
#define GRPC_EXPERIMENT_IS_INCLUDED_OTEL_EXPORT_TELEMETRY_DOMAINS
|
|
413
|
+
inline bool IsOtelExportTelemetryDomainsEnabled() {
|
|
414
|
+
return IsExperimentEnabled<kExperimentIdOtelExportTelemetryDomains>();
|
|
415
|
+
}
|
|
353
416
|
#define GRPC_EXPERIMENT_IS_INCLUDED_PICK_FIRST_IGNORE_EMPTY_UPDATES
|
|
354
417
|
inline bool IsPickFirstIgnoreEmptyUpdatesEnabled() {
|
|
355
418
|
return IsExperimentEnabled<kExperimentIdPickFirstIgnoreEmptyUpdates>();
|
|
356
419
|
}
|
|
420
|
+
#define GRPC_EXPERIMENT_IS_INCLUDED_PICK_FIRST_READY_TO_CONNECTING
|
|
421
|
+
inline bool IsPickFirstReadyToConnectingEnabled() {
|
|
422
|
+
return IsExperimentEnabled<kExperimentIdPickFirstReadyToConnecting>();
|
|
423
|
+
}
|
|
357
424
|
#define GRPC_EXPERIMENT_IS_INCLUDED_PIPELINED_READ_SECURE_ENDPOINT
|
|
358
425
|
inline bool IsPipelinedReadSecureEndpointEnabled() {
|
|
359
426
|
return IsExperimentEnabled<kExperimentIdPipelinedReadSecureEndpoint>();
|
|
@@ -398,18 +465,22 @@ inline bool IsSecureEndpointOffloadLargeReadsEnabled() {
|
|
|
398
465
|
inline bool IsSecureEndpointOffloadLargeWritesEnabled() {
|
|
399
466
|
return IsExperimentEnabled<kExperimentIdSecureEndpointOffloadLargeWrites>();
|
|
400
467
|
}
|
|
401
|
-
#define
|
|
402
|
-
inline bool
|
|
403
|
-
return IsExperimentEnabled<
|
|
404
|
-
}
|
|
405
|
-
#define GRPC_EXPERIMENT_IS_INCLUDED_SHARD_GLOBAL_CONNECTION_POOL
|
|
406
|
-
inline bool IsShardGlobalConnectionPoolEnabled() {
|
|
407
|
-
return IsExperimentEnabled<kExperimentIdShardGlobalConnectionPool>();
|
|
468
|
+
#define GRPC_EXPERIMENT_IS_INCLUDED_SKIP_CLEAR_PEER_ON_CANCELLATION
|
|
469
|
+
inline bool IsSkipClearPeerOnCancellationEnabled() {
|
|
470
|
+
return IsExperimentEnabled<kExperimentIdSkipClearPeerOnCancellation>();
|
|
408
471
|
}
|
|
409
472
|
#define GRPC_EXPERIMENT_IS_INCLUDED_SLEEP_PROMISE_EXEC_CTX_REMOVAL
|
|
410
473
|
inline bool IsSleepPromiseExecCtxRemovalEnabled() {
|
|
411
474
|
return IsExperimentEnabled<kExperimentIdSleepPromiseExecCtxRemoval>();
|
|
412
475
|
}
|
|
476
|
+
#define GRPC_EXPERIMENT_IS_INCLUDED_SLEEP_USE_NON_OWNING_WAKER
|
|
477
|
+
inline bool IsSleepUseNonOwningWakerEnabled() {
|
|
478
|
+
return IsExperimentEnabled<kExperimentIdSleepUseNonOwningWaker>();
|
|
479
|
+
}
|
|
480
|
+
#define GRPC_EXPERIMENT_IS_INCLUDED_SUBCHANNEL_WRAPPER_CLEANUP_ON_ORPHAN
|
|
481
|
+
inline bool IsSubchannelWrapperCleanupOnOrphanEnabled() {
|
|
482
|
+
return IsExperimentEnabled<kExperimentIdSubchannelWrapperCleanupOnOrphan>();
|
|
483
|
+
}
|
|
413
484
|
#define GRPC_EXPERIMENT_IS_INCLUDED_TCP_FRAME_SIZE_TUNING
|
|
414
485
|
inline bool IsTcpFrameSizeTuningEnabled() {
|
|
415
486
|
return IsExperimentEnabled<kExperimentIdTcpFrameSizeTuning>();
|
|
@@ -418,6 +489,19 @@ inline bool IsTcpFrameSizeTuningEnabled() {
|
|
|
418
489
|
inline bool IsTcpRcvLowatEnabled() {
|
|
419
490
|
return IsExperimentEnabled<kExperimentIdTcpRcvLowat>();
|
|
420
491
|
}
|
|
492
|
+
#define GRPC_EXPERIMENT_IS_INCLUDED_TRACK_WRITES_IN_RESOURCE_QUOTA
|
|
493
|
+
inline bool IsTrackWritesInResourceQuotaEnabled() {
|
|
494
|
+
return IsExperimentEnabled<kExperimentIdTrackWritesInResourceQuota>();
|
|
495
|
+
}
|
|
496
|
+
#define GRPC_EXPERIMENT_IS_INCLUDED_TRACK_ZERO_COPY_ALLOCATIONS_IN_RESOURCE_QUOTA
|
|
497
|
+
inline bool IsTrackZeroCopyAllocationsInResourceQuotaEnabled() {
|
|
498
|
+
return IsExperimentEnabled<
|
|
499
|
+
kExperimentIdTrackZeroCopyAllocationsInResourceQuota>();
|
|
500
|
+
}
|
|
501
|
+
#define GRPC_EXPERIMENT_IS_INCLUDED_TRANSPORT_STATE_WATCHER
|
|
502
|
+
inline bool IsTransportStateWatcherEnabled() {
|
|
503
|
+
return IsExperimentEnabled<kExperimentIdTransportStateWatcher>();
|
|
504
|
+
}
|
|
421
505
|
#define GRPC_EXPERIMENT_IS_INCLUDED_TSI_FRAME_PROTECTOR_WITHOUT_LOCKS
|
|
422
506
|
inline bool IsTsiFrameProtectorWithoutLocksEnabled() {
|
|
423
507
|
return IsExperimentEnabled<kExperimentIdTsiFrameProtectorWithoutLocks>();
|
|
@@ -21,10 +21,10 @@
|
|
|
21
21
|
#include <grpc/support/port_platform.h>
|
|
22
22
|
#include <grpc/support/time.h>
|
|
23
23
|
|
|
24
|
-
#include "absl/log/log.h"
|
|
25
24
|
#include "src/core/lib/iomgr/port.h"
|
|
26
25
|
#include "src/core/util/crash.h"
|
|
27
26
|
#include "src/core/util/sync.h"
|
|
27
|
+
#include "absl/log/log.h"
|
|
28
28
|
|
|
29
29
|
#ifdef GRPC_LINUX_ERRQUEUE
|
|
30
30
|
#include <netinet/in.h>
|
|
@@ -21,11 +21,11 @@
|
|
|
21
21
|
#include <grpc/support/port_platform.h>
|
|
22
22
|
#include <inttypes.h>
|
|
23
23
|
|
|
24
|
-
#include "absl/log/check.h"
|
|
25
|
-
#include "absl/log/log.h"
|
|
26
24
|
#include "src/core/telemetry/stats.h"
|
|
27
25
|
#include "src/core/telemetry/stats_data.h"
|
|
28
26
|
#include "src/core/util/crash.h"
|
|
27
|
+
#include "src/core/util/grpc_check.h"
|
|
28
|
+
#include "absl/log/log.h"
|
|
29
29
|
|
|
30
30
|
namespace grpc_core {
|
|
31
31
|
|
|
@@ -84,7 +84,7 @@ void CallCombiner::TsanClosure(void* arg, grpc_error_handle error) {
|
|
|
84
84
|
if (lock != nullptr) {
|
|
85
85
|
TSAN_ANNOTATE_RWLOCK_RELEASED(&lock->taken, true);
|
|
86
86
|
bool prev = true;
|
|
87
|
-
|
|
87
|
+
GRPC_CHECK(lock->taken.compare_exchange_strong(prev, false));
|
|
88
88
|
}
|
|
89
89
|
}
|
|
90
90
|
#endif
|
|
@@ -141,7 +141,7 @@ void CallCombiner::Stop(DEBUG_ARGS const char* reason) {
|
|
|
141
141
|
static_cast<size_t>(gpr_atm_full_fetch_add(&size_, (gpr_atm)-1));
|
|
142
142
|
GRPC_TRACE_LOG(call_combiner, INFO)
|
|
143
143
|
<< " size: " << prev_size << " -> " << prev_size - 1;
|
|
144
|
-
|
|
144
|
+
GRPC_CHECK_GE(prev_size, 1u);
|
|
145
145
|
if (prev_size > 1) {
|
|
146
146
|
while (true) {
|
|
147
147
|
GRPC_TRACE_LOG(call_combiner, INFO) << " checking queue";
|
|
@@ -23,14 +23,14 @@
|
|
|
23
23
|
#include <grpc/support/port_platform.h>
|
|
24
24
|
#include <stddef.h>
|
|
25
25
|
|
|
26
|
-
#include "absl/container/inlined_vector.h"
|
|
27
|
-
#include "absl/log/log.h"
|
|
28
26
|
#include "src/core/lib/iomgr/closure.h"
|
|
29
27
|
#include "src/core/lib/iomgr/dynamic_annotations.h"
|
|
30
28
|
#include "src/core/lib/iomgr/exec_ctx.h"
|
|
31
29
|
#include "src/core/util/mpscq.h"
|
|
32
30
|
#include "src/core/util/ref_counted.h"
|
|
33
31
|
#include "src/core/util/ref_counted_ptr.h"
|
|
32
|
+
#include "absl/container/inlined_vector.h"
|
|
33
|
+
#include "absl/log/log.h"
|
|
34
34
|
|
|
35
35
|
// A simple, lock-free mechanism for serializing activity related to a
|
|
36
36
|
// single call. This is similar to a combiner but is more lightweight.
|
|
@@ -27,13 +27,13 @@
|
|
|
27
27
|
#include <grpc/support/atm.h>
|
|
28
28
|
#include <grpc/support/sync.h>
|
|
29
29
|
|
|
30
|
-
#include "absl/log/log.h"
|
|
31
30
|
#include "src/core/lib/debug/trace.h"
|
|
32
31
|
#import "src/core/lib/iomgr/cfstream_handle.h"
|
|
33
32
|
#include "src/core/lib/iomgr/closure.h"
|
|
34
33
|
#include "src/core/lib/iomgr/error_cfstream.h"
|
|
35
34
|
#include "src/core/lib/iomgr/ev_apple.h"
|
|
36
35
|
#include "src/core/lib/iomgr/exec_ctx.h"
|
|
36
|
+
#include "absl/log/log.h"
|
|
37
37
|
|
|
38
38
|
GrpcLibraryInitHolder::GrpcLibraryInitHolder() { grpc_init(); }
|
|
39
39
|
|
|
@@ -24,13 +24,13 @@
|
|
|
24
24
|
#include <grpc/support/port_platform.h>
|
|
25
25
|
#include <stdbool.h>
|
|
26
26
|
|
|
27
|
-
#include "absl/log/check.h"
|
|
28
|
-
#include "absl/log/log.h"
|
|
29
27
|
#include "src/core/lib/iomgr/error.h"
|
|
30
28
|
#include "src/core/util/crash.h"
|
|
31
29
|
#include "src/core/util/debug_location.h"
|
|
32
30
|
#include "src/core/util/manual_constructor.h"
|
|
33
31
|
#include "src/core/util/mpscq.h"
|
|
32
|
+
#include "absl/log/check.h"
|
|
33
|
+
#include "absl/log/log.h"
|
|
34
34
|
|
|
35
35
|
struct grpc_closure;
|
|
36
36
|
typedef struct grpc_closure grpc_closure;
|
|
@@ -24,12 +24,12 @@
|
|
|
24
24
|
#include <inttypes.h>
|
|
25
25
|
#include <string.h>
|
|
26
26
|
|
|
27
|
-
#include "absl/log/check.h"
|
|
28
|
-
#include "absl/log/log.h"
|
|
29
27
|
#include "src/core/lib/experiments/experiments.h"
|
|
30
28
|
#include "src/core/lib/iomgr/iomgr_internal.h"
|
|
31
29
|
#include "src/core/util/crash.h"
|
|
32
30
|
#include "src/core/util/mpscq.h"
|
|
31
|
+
#include "absl/log/check.h"
|
|
32
|
+
#include "absl/log/log.h"
|
|
33
33
|
|
|
34
34
|
#define STATE_UNORPHANED 1
|
|
35
35
|
#define STATE_ELEM_COUNT_LOW_BIT 2
|
|
@@ -25,9 +25,9 @@
|
|
|
25
25
|
#include <grpc/support/port_platform.h>
|
|
26
26
|
#include <grpc/support/time.h>
|
|
27
27
|
|
|
28
|
-
#include "absl/strings/string_view.h"
|
|
29
28
|
#include "src/core/lib/iomgr/pollset.h"
|
|
30
29
|
#include "src/core/lib/iomgr/pollset_set.h"
|
|
30
|
+
#include "absl/strings/string_view.h"
|
|
31
31
|
|
|
32
32
|
// An endpoint caps a streaming channel between two communicating processes.
|
|
33
33
|
// Examples may be: a tcp socket, <stdin+stdout>, or some shared memory.
|
|
@@ -27,8 +27,6 @@
|
|
|
27
27
|
#include <grpc/support/alloc.h>
|
|
28
28
|
#include <grpc/support/string_util.h>
|
|
29
29
|
|
|
30
|
-
#include "absl/log/check.h"
|
|
31
|
-
#include "absl/log/log.h"
|
|
32
30
|
#include "src/core/lib/address_utils/sockaddr_utils.h"
|
|
33
31
|
#include "src/core/lib/iomgr/cfstream_handle.h"
|
|
34
32
|
#include "src/core/lib/iomgr/closure.h"
|
|
@@ -39,7 +37,9 @@
|
|
|
39
37
|
#include "src/core/lib/slice/slice.h"
|
|
40
38
|
#include "src/core/lib/slice/slice_internal.h"
|
|
41
39
|
#include "src/core/lib/slice/slice_string_helpers.h"
|
|
40
|
+
#include "src/core/util/grpc_check.h"
|
|
42
41
|
#include "src/core/util/string.h"
|
|
42
|
+
#include "absl/log/log.h"
|
|
43
43
|
|
|
44
44
|
struct CFStreamEndpoint {
|
|
45
45
|
grpc_endpoint base;
|
|
@@ -139,7 +139,7 @@ static void CallWriteCb(CFStreamEndpoint* ep, grpc_error_handle error) {
|
|
|
139
139
|
|
|
140
140
|
static void ReadAction(void* arg, grpc_error_handle error) {
|
|
141
141
|
CFStreamEndpoint* ep = static_cast<CFStreamEndpoint*>(arg);
|
|
142
|
-
|
|
142
|
+
GRPC_CHECK_NE(ep->read_cb, nullptr);
|
|
143
143
|
if (!error.ok()) {
|
|
144
144
|
grpc_slice_buffer_reset_and_unref(ep->read_slices);
|
|
145
145
|
CallReadCb(ep, error);
|
|
@@ -147,7 +147,7 @@ static void ReadAction(void* arg, grpc_error_handle error) {
|
|
|
147
147
|
return;
|
|
148
148
|
}
|
|
149
149
|
|
|
150
|
-
|
|
150
|
+
GRPC_CHECK_EQ(ep->read_slices->count, 1);
|
|
151
151
|
grpc_slice slice = ep->read_slices->slices[0];
|
|
152
152
|
size_t len = GRPC_SLICE_LENGTH(slice);
|
|
153
153
|
CFIndex read_size =
|
|
@@ -179,7 +179,7 @@ static void ReadAction(void* arg, grpc_error_handle error) {
|
|
|
179
179
|
|
|
180
180
|
static void WriteAction(void* arg, grpc_error_handle error) {
|
|
181
181
|
CFStreamEndpoint* ep = static_cast<CFStreamEndpoint*>(arg);
|
|
182
|
-
|
|
182
|
+
GRPC_CHECK_NE(ep->write_cb, nullptr);
|
|
183
183
|
if (!error.ok()) {
|
|
184
184
|
grpc_slice_buffer_reset_and_unref(ep->write_slices);
|
|
185
185
|
CallWriteCb(ep, error);
|
|
@@ -233,7 +233,7 @@ static void CFStreamRead(grpc_endpoint* ep, grpc_slice_buffer* slices,
|
|
|
233
233
|
GRPC_TRACE_VLOG(tcp, 2) << "CFStream endpoint:" << ep_impl << " read ("
|
|
234
234
|
<< slices << ", " << cb
|
|
235
235
|
<< ") length:" << slices->length;
|
|
236
|
-
|
|
236
|
+
GRPC_CHECK_EQ(ep_impl->read_cb, nullptr);
|
|
237
237
|
ep_impl->read_cb = cb;
|
|
238
238
|
ep_impl->read_slices = slices;
|
|
239
239
|
grpc_slice_buffer_reset_and_unref(slices);
|
|
@@ -251,7 +251,7 @@ static void CFStreamWrite(grpc_endpoint* ep, grpc_slice_buffer* slices,
|
|
|
251
251
|
GRPC_TRACE_VLOG(tcp, 2) << "CFStream endpoint:" << ep_impl << " write ("
|
|
252
252
|
<< slices << ", " << cb
|
|
253
253
|
<< ") length:" << slices->length;
|
|
254
|
-
|
|
254
|
+
GRPC_CHECK_EQ(ep_impl->write_cb, nullptr);
|
|
255
255
|
ep_impl->write_cb = cb;
|
|
256
256
|
ep_impl->write_slices = slices;
|
|
257
257
|
EP_REF(ep_impl, "write");
|
|
@@ -30,8 +30,6 @@
|
|
|
30
30
|
|
|
31
31
|
#include <string>
|
|
32
32
|
|
|
33
|
-
#include "absl/log/check.h"
|
|
34
|
-
#include "absl/strings/str_cat.h"
|
|
35
33
|
#include "src/core/config/core_configuration.h"
|
|
36
34
|
#include "src/core/lib/event_engine/channel_args_endpoint_config.h"
|
|
37
35
|
#include "src/core/lib/event_engine/extensions/supports_fd.h"
|
|
@@ -44,6 +42,8 @@
|
|
|
44
42
|
#include "src/core/lib/iomgr/tcp_posix.h"
|
|
45
43
|
#include "src/core/lib/iomgr/unix_sockets_posix.h"
|
|
46
44
|
#include "src/core/util/crash.h"
|
|
45
|
+
#include "src/core/util/grpc_check.h"
|
|
46
|
+
#include "absl/strings/str_cat.h"
|
|
47
47
|
|
|
48
48
|
namespace {
|
|
49
49
|
using grpc_event_engine::experimental::ChannelArgsEndpointConfig;
|
|
@@ -56,11 +56,11 @@ void create_sockets(int sv[2]) {
|
|
|
56
56
|
int flags;
|
|
57
57
|
grpc_create_socketpair_if_unix(sv);
|
|
58
58
|
flags = fcntl(sv[0], F_GETFL, 0);
|
|
59
|
-
|
|
59
|
+
GRPC_CHECK_EQ(fcntl(sv[0], F_SETFL, flags | O_NONBLOCK), 0);
|
|
60
60
|
flags = fcntl(sv[1], F_GETFL, 0);
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
61
|
+
GRPC_CHECK_EQ(fcntl(sv[1], F_SETFL, flags | O_NONBLOCK), 0);
|
|
62
|
+
GRPC_CHECK(grpc_set_socket_no_sigpipe_if_possible(sv[0]) == absl::OkStatus());
|
|
63
|
+
GRPC_CHECK(grpc_set_socket_no_sigpipe_if_possible(sv[1]) == absl::OkStatus());
|
|
64
64
|
}
|
|
65
65
|
|
|
66
66
|
} // namespace
|
|
@@ -25,8 +25,6 @@
|
|
|
25
25
|
#include <fcntl.h>
|
|
26
26
|
#include <string.h>
|
|
27
27
|
|
|
28
|
-
#include "absl/log/check.h"
|
|
29
|
-
#include "absl/log/log.h"
|
|
30
28
|
#include "src/core/config/core_configuration.h"
|
|
31
29
|
#include "src/core/lib/address_utils/sockaddr_utils.h"
|
|
32
30
|
#include "src/core/lib/event_engine/channel_args_endpoint_config.h"
|
|
@@ -38,6 +36,8 @@
|
|
|
38
36
|
#include "src/core/lib/iomgr/socket_windows.h"
|
|
39
37
|
#include "src/core/lib/iomgr/tcp_windows.h"
|
|
40
38
|
#include "src/core/util/crash.h"
|
|
39
|
+
#include "src/core/util/grpc_check.h"
|
|
40
|
+
#include "absl/log/log.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));
|
data/src/core/lib/iomgr/error.cc
CHANGED
|
@@ -24,11 +24,11 @@
|
|
|
24
24
|
#include <inttypes.h>
|
|
25
25
|
#include <string.h>
|
|
26
26
|
|
|
27
|
+
#include "src/core/util/crash.h"
|
|
27
28
|
#include "absl/log/check.h"
|
|
28
29
|
#include "absl/log/log.h"
|
|
29
30
|
#include "absl/strings/str_cat.h"
|
|
30
31
|
#include "absl/strings/str_format.h"
|
|
31
|
-
#include "src/core/util/crash.h"
|
|
32
32
|
|
|
33
33
|
#ifdef GPR_WINDOWS
|
|
34
34
|
#include <grpc/support/log_windows.h>
|
data/src/core/lib/iomgr/error.h
CHANGED
|
@@ -26,13 +26,13 @@
|
|
|
26
26
|
#include <inttypes.h>
|
|
27
27
|
#include <stdbool.h>
|
|
28
28
|
|
|
29
|
-
#include "absl/log/check.h"
|
|
30
|
-
#include "absl/status/status.h"
|
|
31
29
|
#include "src/core/lib/debug/trace.h"
|
|
32
30
|
#include "src/core/lib/slice/slice_internal.h"
|
|
33
31
|
#include "src/core/util/crash.h"
|
|
34
32
|
#include "src/core/util/spinlock.h"
|
|
35
33
|
#include "src/core/util/status_helper.h"
|
|
34
|
+
#include "absl/log/check.h"
|
|
35
|
+
#include "absl/status/status.h"
|
|
36
36
|
|
|
37
37
|
/// Opaque representation of an error.
|
|
38
38
|
|