grpc 1.75.0 → 1.78.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/Makefile +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/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 +51 -6
|
@@ -32,6 +32,9 @@ const char* const additional_constraints_channelz_use_v2_for_v1_api = "{}";
|
|
|
32
32
|
const char* const description_channelz_use_v2_for_v1_service =
|
|
33
33
|
"Use the v2 channelz service for the v1 channelz service.";
|
|
34
34
|
const char* const additional_constraints_channelz_use_v2_for_v1_service = "{}";
|
|
35
|
+
const char* const description_chaotic_good_connect_deadline =
|
|
36
|
+
"Use the deadline from the connect args in chaotic good connector";
|
|
37
|
+
const char* const additional_constraints_chaotic_good_connect_deadline = "{}";
|
|
35
38
|
const char* const description_chaotic_good_framing_layer =
|
|
36
39
|
"Enable the chaotic good framing layer.";
|
|
37
40
|
const char* const additional_constraints_chaotic_good_framing_layer = "{}";
|
|
@@ -76,15 +79,26 @@ const uint8_t required_experiments_event_engine_for_all_other_endpoints[] = {
|
|
|
76
79
|
static_cast<uint8_t>(
|
|
77
80
|
grpc_core::kExperimentIdEventEngineDnsNonClientChannel),
|
|
78
81
|
static_cast<uint8_t>(grpc_core::kExperimentIdEventEngineListener)};
|
|
82
|
+
const char* const description_event_engine_poller_for_python =
|
|
83
|
+
"Enable event engine poller in gRPC Python";
|
|
84
|
+
const char* const additional_constraints_event_engine_poller_for_python = "{}";
|
|
79
85
|
const char* const description_event_engine_secure_endpoint =
|
|
80
86
|
"Use EventEngine secure endpoint wrapper instead of iomgr when available";
|
|
81
87
|
const char* const additional_constraints_event_engine_secure_endpoint = "{}";
|
|
88
|
+
const char* const description_fail_recv_metadata_on_deadline_exceeded =
|
|
89
|
+
"Fail recv initial metadata when the deadline is exceeded.";
|
|
90
|
+
const char* const
|
|
91
|
+
additional_constraints_fail_recv_metadata_on_deadline_exceeded = "{}";
|
|
82
92
|
const char* const description_free_large_allocator =
|
|
83
93
|
"If set, return all free bytes from a \042big\042 allocator";
|
|
84
94
|
const char* const additional_constraints_free_large_allocator = "{}";
|
|
85
95
|
const char* const description_fuse_filters =
|
|
86
96
|
"If set, individual filters are merged into fused filters";
|
|
87
97
|
const char* const additional_constraints_fuse_filters = "{}";
|
|
98
|
+
const char* const description_graceful_external_connection_failure =
|
|
99
|
+
"If set, handles external connection failures gracefully";
|
|
100
|
+
const char* const additional_constraints_graceful_external_connection_failure =
|
|
101
|
+
"{}";
|
|
88
102
|
const char* const description_keep_alive_ping_timer_batch =
|
|
89
103
|
"Avoid explicitly cancelling the keepalive timer. Instead adjust the "
|
|
90
104
|
"callback to re-schedule itself to the next ping interval.";
|
|
@@ -102,9 +116,16 @@ const char* const additional_constraints_monitoring_experiment = "{}";
|
|
|
102
116
|
const char* const description_multiping =
|
|
103
117
|
"Allow more than one ping to be in flight at a time by default.";
|
|
104
118
|
const char* const additional_constraints_multiping = "{}";
|
|
119
|
+
const char* const description_otel_export_telemetry_domains =
|
|
120
|
+
"Export telemetry domains in OpenTelemetry metrics.";
|
|
121
|
+
const char* const additional_constraints_otel_export_telemetry_domains = "{}";
|
|
105
122
|
const char* const description_pick_first_ignore_empty_updates =
|
|
106
123
|
"Ignore empty resolutions in pick_first";
|
|
107
124
|
const char* const additional_constraints_pick_first_ignore_empty_updates = "{}";
|
|
125
|
+
const char* const description_pick_first_ready_to_connecting =
|
|
126
|
+
"When the subchannel goes from READY to CONNECTING or TRANSIENT_FAILURE, "
|
|
127
|
+
"pick_first goes to CONNECTING and starts a new Happy Eyeballs pass.";
|
|
128
|
+
const char* const additional_constraints_pick_first_ready_to_connecting = "{}";
|
|
108
129
|
const char* const description_pipelined_read_secure_endpoint =
|
|
109
130
|
"Enable pipelined reads for EventEngine secure endpoints";
|
|
110
131
|
const char* const additional_constraints_pipelined_read_secure_endpoint = "{}";
|
|
@@ -165,17 +186,20 @@ const uint8_t required_experiments_secure_endpoint_offload_large_writes[] = {
|
|
|
165
186
|
static_cast<uint8_t>(grpc_core::kExperimentIdEventEngineClient),
|
|
166
187
|
static_cast<uint8_t>(grpc_core::kExperimentIdEventEngineListener),
|
|
167
188
|
static_cast<uint8_t>(grpc_core::kExperimentIdEventEngineSecureEndpoint)};
|
|
168
|
-
const char* const
|
|
169
|
-
"If set,
|
|
170
|
-
|
|
171
|
-
const char* const additional_constraints_server_global_callbacks_ownership =
|
|
172
|
-
"{}";
|
|
173
|
-
const char* const description_shard_global_connection_pool =
|
|
174
|
-
"If set, shard the global connection pool to improve parallelism.";
|
|
175
|
-
const char* const additional_constraints_shard_global_connection_pool = "{}";
|
|
189
|
+
const char* const description_skip_clear_peer_on_cancellation =
|
|
190
|
+
"If set, skips clearing of peer string on call cancellation.";
|
|
191
|
+
const char* const additional_constraints_skip_clear_peer_on_cancellation = "{}";
|
|
176
192
|
const char* const description_sleep_promise_exec_ctx_removal =
|
|
177
193
|
"If set, polling the sleep promise does not rely on the ExecCtx.";
|
|
178
194
|
const char* const additional_constraints_sleep_promise_exec_ctx_removal = "{}";
|
|
195
|
+
const char* const description_sleep_use_non_owning_waker =
|
|
196
|
+
"If set, the sleep promise uses a non-owning waker.";
|
|
197
|
+
const char* const additional_constraints_sleep_use_non_owning_waker = "{}";
|
|
198
|
+
const char* const description_subchannel_wrapper_cleanup_on_orphan =
|
|
199
|
+
"Fixes the subchannel wrapper to drop any non-cancelled watchers when it "
|
|
200
|
+
"gets orphaned.";
|
|
201
|
+
const char* const additional_constraints_subchannel_wrapper_cleanup_on_orphan =
|
|
202
|
+
"{}";
|
|
179
203
|
const char* const description_tcp_frame_size_tuning =
|
|
180
204
|
"If set, enables TCP to use RPC size estimation made by higher layers. TCP "
|
|
181
205
|
"would not indicate completion of a read operation until a specified "
|
|
@@ -185,6 +209,18 @@ const char* const additional_constraints_tcp_frame_size_tuning = "{}";
|
|
|
185
209
|
const char* const description_tcp_rcv_lowat =
|
|
186
210
|
"Use SO_RCVLOWAT to avoid wakeups on the read path.";
|
|
187
211
|
const char* const additional_constraints_tcp_rcv_lowat = "{}";
|
|
212
|
+
const char* const description_track_writes_in_resource_quota =
|
|
213
|
+
"Track the Write memory in Resource Quota.";
|
|
214
|
+
const char* const additional_constraints_track_writes_in_resource_quota = "{}";
|
|
215
|
+
const char* const description_track_zero_copy_allocations_in_resource_quota =
|
|
216
|
+
"Track the memory allocattions under the zero copy path in Resource Quota. "
|
|
217
|
+
"This includes the encryption / decryption for privacy-and-integrity "
|
|
218
|
+
"payloads.";
|
|
219
|
+
const char* const
|
|
220
|
+
additional_constraints_track_zero_copy_allocations_in_resource_quota = "{}";
|
|
221
|
+
const char* const description_transport_state_watcher =
|
|
222
|
+
"New state watcher API between transport and subchannel.";
|
|
223
|
+
const char* const additional_constraints_transport_state_watcher = "{}";
|
|
188
224
|
const char* const description_tsi_frame_protector_without_locks =
|
|
189
225
|
"Do not hold locks while using the tsi_frame_protector.";
|
|
190
226
|
const char* const additional_constraints_tsi_frame_protector_without_locks =
|
|
@@ -207,6 +243,9 @@ const ExperimentMetadata g_experiment_metadata[] = {
|
|
|
207
243
|
description_channelz_use_v2_for_v1_service,
|
|
208
244
|
additional_constraints_channelz_use_v2_for_v1_service, nullptr, 0, false,
|
|
209
245
|
true},
|
|
246
|
+
{"chaotic_good_connect_deadline", description_chaotic_good_connect_deadline,
|
|
247
|
+
additional_constraints_chaotic_good_connect_deadline, nullptr, 0, true,
|
|
248
|
+
true},
|
|
210
249
|
{"chaotic_good_framing_layer", description_chaotic_good_framing_layer,
|
|
211
250
|
additional_constraints_chaotic_good_framing_layer, nullptr, 0, true,
|
|
212
251
|
false},
|
|
@@ -233,13 +272,25 @@ const ExperimentMetadata g_experiment_metadata[] = {
|
|
|
233
272
|
description_event_engine_for_all_other_endpoints,
|
|
234
273
|
additional_constraints_event_engine_for_all_other_endpoints,
|
|
235
274
|
required_experiments_event_engine_for_all_other_endpoints, 4, true, false},
|
|
275
|
+
{"event_engine_poller_for_python",
|
|
276
|
+
description_event_engine_poller_for_python,
|
|
277
|
+
additional_constraints_event_engine_poller_for_python, nullptr, 0, false,
|
|
278
|
+
true},
|
|
236
279
|
{"event_engine_secure_endpoint", description_event_engine_secure_endpoint,
|
|
237
280
|
additional_constraints_event_engine_secure_endpoint, nullptr, 0, true,
|
|
238
281
|
false},
|
|
282
|
+
{"fail_recv_metadata_on_deadline_exceeded",
|
|
283
|
+
description_fail_recv_metadata_on_deadline_exceeded,
|
|
284
|
+
additional_constraints_fail_recv_metadata_on_deadline_exceeded, nullptr, 0,
|
|
285
|
+
false, false},
|
|
239
286
|
{"free_large_allocator", description_free_large_allocator,
|
|
240
287
|
additional_constraints_free_large_allocator, nullptr, 0, false, true},
|
|
241
288
|
{"fuse_filters", description_fuse_filters,
|
|
242
289
|
additional_constraints_fuse_filters, nullptr, 0, false, false},
|
|
290
|
+
{"graceful_external_connection_failure",
|
|
291
|
+
description_graceful_external_connection_failure,
|
|
292
|
+
additional_constraints_graceful_external_connection_failure, nullptr, 0,
|
|
293
|
+
true, false},
|
|
243
294
|
{"keep_alive_ping_timer_batch", description_keep_alive_ping_timer_batch,
|
|
244
295
|
additional_constraints_keep_alive_ping_timer_batch, nullptr, 0, false,
|
|
245
296
|
true},
|
|
@@ -253,10 +304,17 @@ const ExperimentMetadata g_experiment_metadata[] = {
|
|
|
253
304
|
additional_constraints_monitoring_experiment, nullptr, 0, true, true},
|
|
254
305
|
{"multiping", description_multiping, additional_constraints_multiping,
|
|
255
306
|
nullptr, 0, false, true},
|
|
307
|
+
{"otel_export_telemetry_domains", description_otel_export_telemetry_domains,
|
|
308
|
+
additional_constraints_otel_export_telemetry_domains, nullptr, 0, false,
|
|
309
|
+
true},
|
|
256
310
|
{"pick_first_ignore_empty_updates",
|
|
257
311
|
description_pick_first_ignore_empty_updates,
|
|
258
312
|
additional_constraints_pick_first_ignore_empty_updates, nullptr, 0, false,
|
|
259
313
|
true},
|
|
314
|
+
{"pick_first_ready_to_connecting",
|
|
315
|
+
description_pick_first_ready_to_connecting,
|
|
316
|
+
additional_constraints_pick_first_ready_to_connecting, nullptr, 0, false,
|
|
317
|
+
true},
|
|
260
318
|
{"pipelined_read_secure_endpoint",
|
|
261
319
|
description_pipelined_read_secure_endpoint,
|
|
262
320
|
additional_constraints_pipelined_read_secure_endpoint,
|
|
@@ -297,21 +355,34 @@ const ExperimentMetadata g_experiment_metadata[] = {
|
|
|
297
355
|
description_secure_endpoint_offload_large_writes,
|
|
298
356
|
additional_constraints_secure_endpoint_offload_large_writes,
|
|
299
357
|
required_experiments_secure_endpoint_offload_large_writes, 3, false, true},
|
|
300
|
-
{"
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
true},
|
|
304
|
-
{"shard_global_connection_pool", description_shard_global_connection_pool,
|
|
305
|
-
additional_constraints_shard_global_connection_pool, nullptr, 0, true,
|
|
358
|
+
{"skip_clear_peer_on_cancellation",
|
|
359
|
+
description_skip_clear_peer_on_cancellation,
|
|
360
|
+
additional_constraints_skip_clear_peer_on_cancellation, nullptr, 0, false,
|
|
306
361
|
true},
|
|
307
362
|
{"sleep_promise_exec_ctx_removal",
|
|
308
363
|
description_sleep_promise_exec_ctx_removal,
|
|
309
364
|
additional_constraints_sleep_promise_exec_ctx_removal, nullptr, 0, false,
|
|
310
365
|
true},
|
|
366
|
+
{"sleep_use_non_owning_waker", description_sleep_use_non_owning_waker,
|
|
367
|
+
additional_constraints_sleep_use_non_owning_waker, nullptr, 0, true, true},
|
|
368
|
+
{"subchannel_wrapper_cleanup_on_orphan",
|
|
369
|
+
description_subchannel_wrapper_cleanup_on_orphan,
|
|
370
|
+
additional_constraints_subchannel_wrapper_cleanup_on_orphan, nullptr, 0,
|
|
371
|
+
false, true},
|
|
311
372
|
{"tcp_frame_size_tuning", description_tcp_frame_size_tuning,
|
|
312
373
|
additional_constraints_tcp_frame_size_tuning, nullptr, 0, false, true},
|
|
313
374
|
{"tcp_rcv_lowat", description_tcp_rcv_lowat,
|
|
314
375
|
additional_constraints_tcp_rcv_lowat, nullptr, 0, false, true},
|
|
376
|
+
{"track_writes_in_resource_quota",
|
|
377
|
+
description_track_writes_in_resource_quota,
|
|
378
|
+
additional_constraints_track_writes_in_resource_quota, nullptr, 0, false,
|
|
379
|
+
true},
|
|
380
|
+
{"track_zero_copy_allocations_in_resource_quota",
|
|
381
|
+
description_track_zero_copy_allocations_in_resource_quota,
|
|
382
|
+
additional_constraints_track_zero_copy_allocations_in_resource_quota,
|
|
383
|
+
nullptr, 0, false, true},
|
|
384
|
+
{"transport_state_watcher", description_transport_state_watcher,
|
|
385
|
+
additional_constraints_transport_state_watcher, nullptr, 0, false, true},
|
|
315
386
|
{"tsi_frame_protector_without_locks",
|
|
316
387
|
description_tsi_frame_protector_without_locks,
|
|
317
388
|
additional_constraints_tsi_frame_protector_without_locks, nullptr, 0,
|
|
@@ -335,6 +406,9 @@ const char* const additional_constraints_channelz_use_v2_for_v1_api = "{}";
|
|
|
335
406
|
const char* const description_channelz_use_v2_for_v1_service =
|
|
336
407
|
"Use the v2 channelz service for the v1 channelz service.";
|
|
337
408
|
const char* const additional_constraints_channelz_use_v2_for_v1_service = "{}";
|
|
409
|
+
const char* const description_chaotic_good_connect_deadline =
|
|
410
|
+
"Use the deadline from the connect args in chaotic good connector";
|
|
411
|
+
const char* const additional_constraints_chaotic_good_connect_deadline = "{}";
|
|
338
412
|
const char* const description_chaotic_good_framing_layer =
|
|
339
413
|
"Enable the chaotic good framing layer.";
|
|
340
414
|
const char* const additional_constraints_chaotic_good_framing_layer = "{}";
|
|
@@ -379,15 +453,26 @@ const uint8_t required_experiments_event_engine_for_all_other_endpoints[] = {
|
|
|
379
453
|
static_cast<uint8_t>(
|
|
380
454
|
grpc_core::kExperimentIdEventEngineDnsNonClientChannel),
|
|
381
455
|
static_cast<uint8_t>(grpc_core::kExperimentIdEventEngineListener)};
|
|
456
|
+
const char* const description_event_engine_poller_for_python =
|
|
457
|
+
"Enable event engine poller in gRPC Python";
|
|
458
|
+
const char* const additional_constraints_event_engine_poller_for_python = "{}";
|
|
382
459
|
const char* const description_event_engine_secure_endpoint =
|
|
383
460
|
"Use EventEngine secure endpoint wrapper instead of iomgr when available";
|
|
384
461
|
const char* const additional_constraints_event_engine_secure_endpoint = "{}";
|
|
462
|
+
const char* const description_fail_recv_metadata_on_deadline_exceeded =
|
|
463
|
+
"Fail recv initial metadata when the deadline is exceeded.";
|
|
464
|
+
const char* const
|
|
465
|
+
additional_constraints_fail_recv_metadata_on_deadline_exceeded = "{}";
|
|
385
466
|
const char* const description_free_large_allocator =
|
|
386
467
|
"If set, return all free bytes from a \042big\042 allocator";
|
|
387
468
|
const char* const additional_constraints_free_large_allocator = "{}";
|
|
388
469
|
const char* const description_fuse_filters =
|
|
389
470
|
"If set, individual filters are merged into fused filters";
|
|
390
471
|
const char* const additional_constraints_fuse_filters = "{}";
|
|
472
|
+
const char* const description_graceful_external_connection_failure =
|
|
473
|
+
"If set, handles external connection failures gracefully";
|
|
474
|
+
const char* const additional_constraints_graceful_external_connection_failure =
|
|
475
|
+
"{}";
|
|
391
476
|
const char* const description_keep_alive_ping_timer_batch =
|
|
392
477
|
"Avoid explicitly cancelling the keepalive timer. Instead adjust the "
|
|
393
478
|
"callback to re-schedule itself to the next ping interval.";
|
|
@@ -405,9 +490,16 @@ const char* const additional_constraints_monitoring_experiment = "{}";
|
|
|
405
490
|
const char* const description_multiping =
|
|
406
491
|
"Allow more than one ping to be in flight at a time by default.";
|
|
407
492
|
const char* const additional_constraints_multiping = "{}";
|
|
493
|
+
const char* const description_otel_export_telemetry_domains =
|
|
494
|
+
"Export telemetry domains in OpenTelemetry metrics.";
|
|
495
|
+
const char* const additional_constraints_otel_export_telemetry_domains = "{}";
|
|
408
496
|
const char* const description_pick_first_ignore_empty_updates =
|
|
409
497
|
"Ignore empty resolutions in pick_first";
|
|
410
498
|
const char* const additional_constraints_pick_first_ignore_empty_updates = "{}";
|
|
499
|
+
const char* const description_pick_first_ready_to_connecting =
|
|
500
|
+
"When the subchannel goes from READY to CONNECTING or TRANSIENT_FAILURE, "
|
|
501
|
+
"pick_first goes to CONNECTING and starts a new Happy Eyeballs pass.";
|
|
502
|
+
const char* const additional_constraints_pick_first_ready_to_connecting = "{}";
|
|
411
503
|
const char* const description_pipelined_read_secure_endpoint =
|
|
412
504
|
"Enable pipelined reads for EventEngine secure endpoints";
|
|
413
505
|
const char* const additional_constraints_pipelined_read_secure_endpoint = "{}";
|
|
@@ -468,17 +560,20 @@ const uint8_t required_experiments_secure_endpoint_offload_large_writes[] = {
|
|
|
468
560
|
static_cast<uint8_t>(grpc_core::kExperimentIdEventEngineClient),
|
|
469
561
|
static_cast<uint8_t>(grpc_core::kExperimentIdEventEngineListener),
|
|
470
562
|
static_cast<uint8_t>(grpc_core::kExperimentIdEventEngineSecureEndpoint)};
|
|
471
|
-
const char* const
|
|
472
|
-
"If set,
|
|
473
|
-
|
|
474
|
-
const char* const additional_constraints_server_global_callbacks_ownership =
|
|
475
|
-
"{}";
|
|
476
|
-
const char* const description_shard_global_connection_pool =
|
|
477
|
-
"If set, shard the global connection pool to improve parallelism.";
|
|
478
|
-
const char* const additional_constraints_shard_global_connection_pool = "{}";
|
|
563
|
+
const char* const description_skip_clear_peer_on_cancellation =
|
|
564
|
+
"If set, skips clearing of peer string on call cancellation.";
|
|
565
|
+
const char* const additional_constraints_skip_clear_peer_on_cancellation = "{}";
|
|
479
566
|
const char* const description_sleep_promise_exec_ctx_removal =
|
|
480
567
|
"If set, polling the sleep promise does not rely on the ExecCtx.";
|
|
481
568
|
const char* const additional_constraints_sleep_promise_exec_ctx_removal = "{}";
|
|
569
|
+
const char* const description_sleep_use_non_owning_waker =
|
|
570
|
+
"If set, the sleep promise uses a non-owning waker.";
|
|
571
|
+
const char* const additional_constraints_sleep_use_non_owning_waker = "{}";
|
|
572
|
+
const char* const description_subchannel_wrapper_cleanup_on_orphan =
|
|
573
|
+
"Fixes the subchannel wrapper to drop any non-cancelled watchers when it "
|
|
574
|
+
"gets orphaned.";
|
|
575
|
+
const char* const additional_constraints_subchannel_wrapper_cleanup_on_orphan =
|
|
576
|
+
"{}";
|
|
482
577
|
const char* const description_tcp_frame_size_tuning =
|
|
483
578
|
"If set, enables TCP to use RPC size estimation made by higher layers. TCP "
|
|
484
579
|
"would not indicate completion of a read operation until a specified "
|
|
@@ -488,6 +583,18 @@ const char* const additional_constraints_tcp_frame_size_tuning = "{}";
|
|
|
488
583
|
const char* const description_tcp_rcv_lowat =
|
|
489
584
|
"Use SO_RCVLOWAT to avoid wakeups on the read path.";
|
|
490
585
|
const char* const additional_constraints_tcp_rcv_lowat = "{}";
|
|
586
|
+
const char* const description_track_writes_in_resource_quota =
|
|
587
|
+
"Track the Write memory in Resource Quota.";
|
|
588
|
+
const char* const additional_constraints_track_writes_in_resource_quota = "{}";
|
|
589
|
+
const char* const description_track_zero_copy_allocations_in_resource_quota =
|
|
590
|
+
"Track the memory allocattions under the zero copy path in Resource Quota. "
|
|
591
|
+
"This includes the encryption / decryption for privacy-and-integrity "
|
|
592
|
+
"payloads.";
|
|
593
|
+
const char* const
|
|
594
|
+
additional_constraints_track_zero_copy_allocations_in_resource_quota = "{}";
|
|
595
|
+
const char* const description_transport_state_watcher =
|
|
596
|
+
"New state watcher API between transport and subchannel.";
|
|
597
|
+
const char* const additional_constraints_transport_state_watcher = "{}";
|
|
491
598
|
const char* const description_tsi_frame_protector_without_locks =
|
|
492
599
|
"Do not hold locks while using the tsi_frame_protector.";
|
|
493
600
|
const char* const additional_constraints_tsi_frame_protector_without_locks =
|
|
@@ -510,6 +617,9 @@ const ExperimentMetadata g_experiment_metadata[] = {
|
|
|
510
617
|
description_channelz_use_v2_for_v1_service,
|
|
511
618
|
additional_constraints_channelz_use_v2_for_v1_service, nullptr, 0, false,
|
|
512
619
|
true},
|
|
620
|
+
{"chaotic_good_connect_deadline", description_chaotic_good_connect_deadline,
|
|
621
|
+
additional_constraints_chaotic_good_connect_deadline, nullptr, 0, true,
|
|
622
|
+
true},
|
|
513
623
|
{"chaotic_good_framing_layer", description_chaotic_good_framing_layer,
|
|
514
624
|
additional_constraints_chaotic_good_framing_layer, nullptr, 0, true,
|
|
515
625
|
false},
|
|
@@ -536,13 +646,25 @@ const ExperimentMetadata g_experiment_metadata[] = {
|
|
|
536
646
|
description_event_engine_for_all_other_endpoints,
|
|
537
647
|
additional_constraints_event_engine_for_all_other_endpoints,
|
|
538
648
|
required_experiments_event_engine_for_all_other_endpoints, 4, true, false},
|
|
649
|
+
{"event_engine_poller_for_python",
|
|
650
|
+
description_event_engine_poller_for_python,
|
|
651
|
+
additional_constraints_event_engine_poller_for_python, nullptr, 0, false,
|
|
652
|
+
true},
|
|
539
653
|
{"event_engine_secure_endpoint", description_event_engine_secure_endpoint,
|
|
540
654
|
additional_constraints_event_engine_secure_endpoint, nullptr, 0, true,
|
|
541
655
|
false},
|
|
656
|
+
{"fail_recv_metadata_on_deadline_exceeded",
|
|
657
|
+
description_fail_recv_metadata_on_deadline_exceeded,
|
|
658
|
+
additional_constraints_fail_recv_metadata_on_deadline_exceeded, nullptr, 0,
|
|
659
|
+
false, false},
|
|
542
660
|
{"free_large_allocator", description_free_large_allocator,
|
|
543
661
|
additional_constraints_free_large_allocator, nullptr, 0, false, true},
|
|
544
662
|
{"fuse_filters", description_fuse_filters,
|
|
545
663
|
additional_constraints_fuse_filters, nullptr, 0, false, false},
|
|
664
|
+
{"graceful_external_connection_failure",
|
|
665
|
+
description_graceful_external_connection_failure,
|
|
666
|
+
additional_constraints_graceful_external_connection_failure, nullptr, 0,
|
|
667
|
+
true, false},
|
|
546
668
|
{"keep_alive_ping_timer_batch", description_keep_alive_ping_timer_batch,
|
|
547
669
|
additional_constraints_keep_alive_ping_timer_batch, nullptr, 0, false,
|
|
548
670
|
true},
|
|
@@ -556,10 +678,17 @@ const ExperimentMetadata g_experiment_metadata[] = {
|
|
|
556
678
|
additional_constraints_monitoring_experiment, nullptr, 0, true, true},
|
|
557
679
|
{"multiping", description_multiping, additional_constraints_multiping,
|
|
558
680
|
nullptr, 0, false, true},
|
|
681
|
+
{"otel_export_telemetry_domains", description_otel_export_telemetry_domains,
|
|
682
|
+
additional_constraints_otel_export_telemetry_domains, nullptr, 0, false,
|
|
683
|
+
true},
|
|
559
684
|
{"pick_first_ignore_empty_updates",
|
|
560
685
|
description_pick_first_ignore_empty_updates,
|
|
561
686
|
additional_constraints_pick_first_ignore_empty_updates, nullptr, 0, false,
|
|
562
687
|
true},
|
|
688
|
+
{"pick_first_ready_to_connecting",
|
|
689
|
+
description_pick_first_ready_to_connecting,
|
|
690
|
+
additional_constraints_pick_first_ready_to_connecting, nullptr, 0, false,
|
|
691
|
+
true},
|
|
563
692
|
{"pipelined_read_secure_endpoint",
|
|
564
693
|
description_pipelined_read_secure_endpoint,
|
|
565
694
|
additional_constraints_pipelined_read_secure_endpoint,
|
|
@@ -600,21 +729,34 @@ const ExperimentMetadata g_experiment_metadata[] = {
|
|
|
600
729
|
description_secure_endpoint_offload_large_writes,
|
|
601
730
|
additional_constraints_secure_endpoint_offload_large_writes,
|
|
602
731
|
required_experiments_secure_endpoint_offload_large_writes, 3, false, true},
|
|
603
|
-
{"
|
|
604
|
-
|
|
605
|
-
|
|
606
|
-
true},
|
|
607
|
-
{"shard_global_connection_pool", description_shard_global_connection_pool,
|
|
608
|
-
additional_constraints_shard_global_connection_pool, nullptr, 0, true,
|
|
732
|
+
{"skip_clear_peer_on_cancellation",
|
|
733
|
+
description_skip_clear_peer_on_cancellation,
|
|
734
|
+
additional_constraints_skip_clear_peer_on_cancellation, nullptr, 0, false,
|
|
609
735
|
true},
|
|
610
736
|
{"sleep_promise_exec_ctx_removal",
|
|
611
737
|
description_sleep_promise_exec_ctx_removal,
|
|
612
738
|
additional_constraints_sleep_promise_exec_ctx_removal, nullptr, 0, false,
|
|
613
739
|
true},
|
|
740
|
+
{"sleep_use_non_owning_waker", description_sleep_use_non_owning_waker,
|
|
741
|
+
additional_constraints_sleep_use_non_owning_waker, nullptr, 0, true, true},
|
|
742
|
+
{"subchannel_wrapper_cleanup_on_orphan",
|
|
743
|
+
description_subchannel_wrapper_cleanup_on_orphan,
|
|
744
|
+
additional_constraints_subchannel_wrapper_cleanup_on_orphan, nullptr, 0,
|
|
745
|
+
false, true},
|
|
614
746
|
{"tcp_frame_size_tuning", description_tcp_frame_size_tuning,
|
|
615
747
|
additional_constraints_tcp_frame_size_tuning, nullptr, 0, false, true},
|
|
616
748
|
{"tcp_rcv_lowat", description_tcp_rcv_lowat,
|
|
617
749
|
additional_constraints_tcp_rcv_lowat, nullptr, 0, false, true},
|
|
750
|
+
{"track_writes_in_resource_quota",
|
|
751
|
+
description_track_writes_in_resource_quota,
|
|
752
|
+
additional_constraints_track_writes_in_resource_quota, nullptr, 0, false,
|
|
753
|
+
true},
|
|
754
|
+
{"track_zero_copy_allocations_in_resource_quota",
|
|
755
|
+
description_track_zero_copy_allocations_in_resource_quota,
|
|
756
|
+
additional_constraints_track_zero_copy_allocations_in_resource_quota,
|
|
757
|
+
nullptr, 0, false, true},
|
|
758
|
+
{"transport_state_watcher", description_transport_state_watcher,
|
|
759
|
+
additional_constraints_transport_state_watcher, nullptr, 0, false, true},
|
|
618
760
|
{"tsi_frame_protector_without_locks",
|
|
619
761
|
description_tsi_frame_protector_without_locks,
|
|
620
762
|
additional_constraints_tsi_frame_protector_without_locks, nullptr, 0,
|
|
@@ -638,6 +780,9 @@ const char* const additional_constraints_channelz_use_v2_for_v1_api = "{}";
|
|
|
638
780
|
const char* const description_channelz_use_v2_for_v1_service =
|
|
639
781
|
"Use the v2 channelz service for the v1 channelz service.";
|
|
640
782
|
const char* const additional_constraints_channelz_use_v2_for_v1_service = "{}";
|
|
783
|
+
const char* const description_chaotic_good_connect_deadline =
|
|
784
|
+
"Use the deadline from the connect args in chaotic good connector";
|
|
785
|
+
const char* const additional_constraints_chaotic_good_connect_deadline = "{}";
|
|
641
786
|
const char* const description_chaotic_good_framing_layer =
|
|
642
787
|
"Enable the chaotic good framing layer.";
|
|
643
788
|
const char* const additional_constraints_chaotic_good_framing_layer = "{}";
|
|
@@ -682,15 +827,26 @@ const uint8_t required_experiments_event_engine_for_all_other_endpoints[] = {
|
|
|
682
827
|
static_cast<uint8_t>(
|
|
683
828
|
grpc_core::kExperimentIdEventEngineDnsNonClientChannel),
|
|
684
829
|
static_cast<uint8_t>(grpc_core::kExperimentIdEventEngineListener)};
|
|
830
|
+
const char* const description_event_engine_poller_for_python =
|
|
831
|
+
"Enable event engine poller in gRPC Python";
|
|
832
|
+
const char* const additional_constraints_event_engine_poller_for_python = "{}";
|
|
685
833
|
const char* const description_event_engine_secure_endpoint =
|
|
686
834
|
"Use EventEngine secure endpoint wrapper instead of iomgr when available";
|
|
687
835
|
const char* const additional_constraints_event_engine_secure_endpoint = "{}";
|
|
836
|
+
const char* const description_fail_recv_metadata_on_deadline_exceeded =
|
|
837
|
+
"Fail recv initial metadata when the deadline is exceeded.";
|
|
838
|
+
const char* const
|
|
839
|
+
additional_constraints_fail_recv_metadata_on_deadline_exceeded = "{}";
|
|
688
840
|
const char* const description_free_large_allocator =
|
|
689
841
|
"If set, return all free bytes from a \042big\042 allocator";
|
|
690
842
|
const char* const additional_constraints_free_large_allocator = "{}";
|
|
691
843
|
const char* const description_fuse_filters =
|
|
692
844
|
"If set, individual filters are merged into fused filters";
|
|
693
845
|
const char* const additional_constraints_fuse_filters = "{}";
|
|
846
|
+
const char* const description_graceful_external_connection_failure =
|
|
847
|
+
"If set, handles external connection failures gracefully";
|
|
848
|
+
const char* const additional_constraints_graceful_external_connection_failure =
|
|
849
|
+
"{}";
|
|
694
850
|
const char* const description_keep_alive_ping_timer_batch =
|
|
695
851
|
"Avoid explicitly cancelling the keepalive timer. Instead adjust the "
|
|
696
852
|
"callback to re-schedule itself to the next ping interval.";
|
|
@@ -708,9 +864,16 @@ const char* const additional_constraints_monitoring_experiment = "{}";
|
|
|
708
864
|
const char* const description_multiping =
|
|
709
865
|
"Allow more than one ping to be in flight at a time by default.";
|
|
710
866
|
const char* const additional_constraints_multiping = "{}";
|
|
867
|
+
const char* const description_otel_export_telemetry_domains =
|
|
868
|
+
"Export telemetry domains in OpenTelemetry metrics.";
|
|
869
|
+
const char* const additional_constraints_otel_export_telemetry_domains = "{}";
|
|
711
870
|
const char* const description_pick_first_ignore_empty_updates =
|
|
712
871
|
"Ignore empty resolutions in pick_first";
|
|
713
872
|
const char* const additional_constraints_pick_first_ignore_empty_updates = "{}";
|
|
873
|
+
const char* const description_pick_first_ready_to_connecting =
|
|
874
|
+
"When the subchannel goes from READY to CONNECTING or TRANSIENT_FAILURE, "
|
|
875
|
+
"pick_first goes to CONNECTING and starts a new Happy Eyeballs pass.";
|
|
876
|
+
const char* const additional_constraints_pick_first_ready_to_connecting = "{}";
|
|
714
877
|
const char* const description_pipelined_read_secure_endpoint =
|
|
715
878
|
"Enable pipelined reads for EventEngine secure endpoints";
|
|
716
879
|
const char* const additional_constraints_pipelined_read_secure_endpoint = "{}";
|
|
@@ -771,17 +934,20 @@ const uint8_t required_experiments_secure_endpoint_offload_large_writes[] = {
|
|
|
771
934
|
static_cast<uint8_t>(grpc_core::kExperimentIdEventEngineClient),
|
|
772
935
|
static_cast<uint8_t>(grpc_core::kExperimentIdEventEngineListener),
|
|
773
936
|
static_cast<uint8_t>(grpc_core::kExperimentIdEventEngineSecureEndpoint)};
|
|
774
|
-
const char* const
|
|
775
|
-
"If set,
|
|
776
|
-
|
|
777
|
-
const char* const additional_constraints_server_global_callbacks_ownership =
|
|
778
|
-
"{}";
|
|
779
|
-
const char* const description_shard_global_connection_pool =
|
|
780
|
-
"If set, shard the global connection pool to improve parallelism.";
|
|
781
|
-
const char* const additional_constraints_shard_global_connection_pool = "{}";
|
|
937
|
+
const char* const description_skip_clear_peer_on_cancellation =
|
|
938
|
+
"If set, skips clearing of peer string on call cancellation.";
|
|
939
|
+
const char* const additional_constraints_skip_clear_peer_on_cancellation = "{}";
|
|
782
940
|
const char* const description_sleep_promise_exec_ctx_removal =
|
|
783
941
|
"If set, polling the sleep promise does not rely on the ExecCtx.";
|
|
784
942
|
const char* const additional_constraints_sleep_promise_exec_ctx_removal = "{}";
|
|
943
|
+
const char* const description_sleep_use_non_owning_waker =
|
|
944
|
+
"If set, the sleep promise uses a non-owning waker.";
|
|
945
|
+
const char* const additional_constraints_sleep_use_non_owning_waker = "{}";
|
|
946
|
+
const char* const description_subchannel_wrapper_cleanup_on_orphan =
|
|
947
|
+
"Fixes the subchannel wrapper to drop any non-cancelled watchers when it "
|
|
948
|
+
"gets orphaned.";
|
|
949
|
+
const char* const additional_constraints_subchannel_wrapper_cleanup_on_orphan =
|
|
950
|
+
"{}";
|
|
785
951
|
const char* const description_tcp_frame_size_tuning =
|
|
786
952
|
"If set, enables TCP to use RPC size estimation made by higher layers. TCP "
|
|
787
953
|
"would not indicate completion of a read operation until a specified "
|
|
@@ -791,6 +957,18 @@ const char* const additional_constraints_tcp_frame_size_tuning = "{}";
|
|
|
791
957
|
const char* const description_tcp_rcv_lowat =
|
|
792
958
|
"Use SO_RCVLOWAT to avoid wakeups on the read path.";
|
|
793
959
|
const char* const additional_constraints_tcp_rcv_lowat = "{}";
|
|
960
|
+
const char* const description_track_writes_in_resource_quota =
|
|
961
|
+
"Track the Write memory in Resource Quota.";
|
|
962
|
+
const char* const additional_constraints_track_writes_in_resource_quota = "{}";
|
|
963
|
+
const char* const description_track_zero_copy_allocations_in_resource_quota =
|
|
964
|
+
"Track the memory allocattions under the zero copy path in Resource Quota. "
|
|
965
|
+
"This includes the encryption / decryption for privacy-and-integrity "
|
|
966
|
+
"payloads.";
|
|
967
|
+
const char* const
|
|
968
|
+
additional_constraints_track_zero_copy_allocations_in_resource_quota = "{}";
|
|
969
|
+
const char* const description_transport_state_watcher =
|
|
970
|
+
"New state watcher API between transport and subchannel.";
|
|
971
|
+
const char* const additional_constraints_transport_state_watcher = "{}";
|
|
794
972
|
const char* const description_tsi_frame_protector_without_locks =
|
|
795
973
|
"Do not hold locks while using the tsi_frame_protector.";
|
|
796
974
|
const char* const additional_constraints_tsi_frame_protector_without_locks =
|
|
@@ -813,6 +991,9 @@ const ExperimentMetadata g_experiment_metadata[] = {
|
|
|
813
991
|
description_channelz_use_v2_for_v1_service,
|
|
814
992
|
additional_constraints_channelz_use_v2_for_v1_service, nullptr, 0, false,
|
|
815
993
|
true},
|
|
994
|
+
{"chaotic_good_connect_deadline", description_chaotic_good_connect_deadline,
|
|
995
|
+
additional_constraints_chaotic_good_connect_deadline, nullptr, 0, true,
|
|
996
|
+
true},
|
|
816
997
|
{"chaotic_good_framing_layer", description_chaotic_good_framing_layer,
|
|
817
998
|
additional_constraints_chaotic_good_framing_layer, nullptr, 0, true,
|
|
818
999
|
false},
|
|
@@ -839,13 +1020,25 @@ const ExperimentMetadata g_experiment_metadata[] = {
|
|
|
839
1020
|
description_event_engine_for_all_other_endpoints,
|
|
840
1021
|
additional_constraints_event_engine_for_all_other_endpoints,
|
|
841
1022
|
required_experiments_event_engine_for_all_other_endpoints, 4, true, false},
|
|
1023
|
+
{"event_engine_poller_for_python",
|
|
1024
|
+
description_event_engine_poller_for_python,
|
|
1025
|
+
additional_constraints_event_engine_poller_for_python, nullptr, 0, false,
|
|
1026
|
+
true},
|
|
842
1027
|
{"event_engine_secure_endpoint", description_event_engine_secure_endpoint,
|
|
843
1028
|
additional_constraints_event_engine_secure_endpoint, nullptr, 0, true,
|
|
844
1029
|
false},
|
|
1030
|
+
{"fail_recv_metadata_on_deadline_exceeded",
|
|
1031
|
+
description_fail_recv_metadata_on_deadline_exceeded,
|
|
1032
|
+
additional_constraints_fail_recv_metadata_on_deadline_exceeded, nullptr, 0,
|
|
1033
|
+
false, false},
|
|
845
1034
|
{"free_large_allocator", description_free_large_allocator,
|
|
846
1035
|
additional_constraints_free_large_allocator, nullptr, 0, false, true},
|
|
847
1036
|
{"fuse_filters", description_fuse_filters,
|
|
848
1037
|
additional_constraints_fuse_filters, nullptr, 0, false, false},
|
|
1038
|
+
{"graceful_external_connection_failure",
|
|
1039
|
+
description_graceful_external_connection_failure,
|
|
1040
|
+
additional_constraints_graceful_external_connection_failure, nullptr, 0,
|
|
1041
|
+
true, false},
|
|
849
1042
|
{"keep_alive_ping_timer_batch", description_keep_alive_ping_timer_batch,
|
|
850
1043
|
additional_constraints_keep_alive_ping_timer_batch, nullptr, 0, false,
|
|
851
1044
|
true},
|
|
@@ -859,10 +1052,17 @@ const ExperimentMetadata g_experiment_metadata[] = {
|
|
|
859
1052
|
additional_constraints_monitoring_experiment, nullptr, 0, true, true},
|
|
860
1053
|
{"multiping", description_multiping, additional_constraints_multiping,
|
|
861
1054
|
nullptr, 0, false, true},
|
|
1055
|
+
{"otel_export_telemetry_domains", description_otel_export_telemetry_domains,
|
|
1056
|
+
additional_constraints_otel_export_telemetry_domains, nullptr, 0, false,
|
|
1057
|
+
true},
|
|
862
1058
|
{"pick_first_ignore_empty_updates",
|
|
863
1059
|
description_pick_first_ignore_empty_updates,
|
|
864
1060
|
additional_constraints_pick_first_ignore_empty_updates, nullptr, 0, false,
|
|
865
1061
|
true},
|
|
1062
|
+
{"pick_first_ready_to_connecting",
|
|
1063
|
+
description_pick_first_ready_to_connecting,
|
|
1064
|
+
additional_constraints_pick_first_ready_to_connecting, nullptr, 0, false,
|
|
1065
|
+
true},
|
|
866
1066
|
{"pipelined_read_secure_endpoint",
|
|
867
1067
|
description_pipelined_read_secure_endpoint,
|
|
868
1068
|
additional_constraints_pipelined_read_secure_endpoint,
|
|
@@ -903,21 +1103,34 @@ const ExperimentMetadata g_experiment_metadata[] = {
|
|
|
903
1103
|
description_secure_endpoint_offload_large_writes,
|
|
904
1104
|
additional_constraints_secure_endpoint_offload_large_writes,
|
|
905
1105
|
required_experiments_secure_endpoint_offload_large_writes, 3, false, true},
|
|
906
|
-
{"
|
|
907
|
-
|
|
908
|
-
|
|
909
|
-
true},
|
|
910
|
-
{"shard_global_connection_pool", description_shard_global_connection_pool,
|
|
911
|
-
additional_constraints_shard_global_connection_pool, nullptr, 0, true,
|
|
1106
|
+
{"skip_clear_peer_on_cancellation",
|
|
1107
|
+
description_skip_clear_peer_on_cancellation,
|
|
1108
|
+
additional_constraints_skip_clear_peer_on_cancellation, nullptr, 0, false,
|
|
912
1109
|
true},
|
|
913
1110
|
{"sleep_promise_exec_ctx_removal",
|
|
914
1111
|
description_sleep_promise_exec_ctx_removal,
|
|
915
1112
|
additional_constraints_sleep_promise_exec_ctx_removal, nullptr, 0, false,
|
|
916
1113
|
true},
|
|
1114
|
+
{"sleep_use_non_owning_waker", description_sleep_use_non_owning_waker,
|
|
1115
|
+
additional_constraints_sleep_use_non_owning_waker, nullptr, 0, true, true},
|
|
1116
|
+
{"subchannel_wrapper_cleanup_on_orphan",
|
|
1117
|
+
description_subchannel_wrapper_cleanup_on_orphan,
|
|
1118
|
+
additional_constraints_subchannel_wrapper_cleanup_on_orphan, nullptr, 0,
|
|
1119
|
+
false, true},
|
|
917
1120
|
{"tcp_frame_size_tuning", description_tcp_frame_size_tuning,
|
|
918
1121
|
additional_constraints_tcp_frame_size_tuning, nullptr, 0, false, true},
|
|
919
1122
|
{"tcp_rcv_lowat", description_tcp_rcv_lowat,
|
|
920
1123
|
additional_constraints_tcp_rcv_lowat, nullptr, 0, false, true},
|
|
1124
|
+
{"track_writes_in_resource_quota",
|
|
1125
|
+
description_track_writes_in_resource_quota,
|
|
1126
|
+
additional_constraints_track_writes_in_resource_quota, nullptr, 0, false,
|
|
1127
|
+
true},
|
|
1128
|
+
{"track_zero_copy_allocations_in_resource_quota",
|
|
1129
|
+
description_track_zero_copy_allocations_in_resource_quota,
|
|
1130
|
+
additional_constraints_track_zero_copy_allocations_in_resource_quota,
|
|
1131
|
+
nullptr, 0, false, true},
|
|
1132
|
+
{"transport_state_watcher", description_transport_state_watcher,
|
|
1133
|
+
additional_constraints_transport_state_watcher, nullptr, 0, false, true},
|
|
921
1134
|
{"tsi_frame_protector_without_locks",
|
|
922
1135
|
description_tsi_frame_protector_without_locks,
|
|
923
1136
|
additional_constraints_tsi_frame_protector_without_locks, nullptr, 0,
|