grpc 1.78.0 → 1.80.0.pre1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/Makefile +22 -8
- data/include/grpc/credentials.h +47 -37
- data/include/grpc/credentials_cpp.h +39 -0
- data/include/grpc/event_engine/event_engine.h +8 -3
- data/include/grpc/grpc.h +4 -0
- data/include/grpc/impl/call.h +9 -0
- data/include/grpc/impl/channel_arg_names.h +7 -0
- data/include/grpc/module.modulemap +2 -0
- data/include/grpc/private_key_signer.h +104 -0
- data/include/grpc/support/port_platform.h +6 -0
- data/src/core/call/call_filters.h +101 -78
- data/src/core/call/call_spine.h +91 -68
- data/src/core/call/call_state.h +60 -4
- data/src/core/call/client_call.cc +9 -9
- data/src/core/call/client_call.h +1 -1
- data/src/core/call/metadata_batch.cc +2 -0
- data/src/core/call/metadata_batch.h +48 -1
- data/src/core/call/metadata_info.cc +35 -0
- data/src/core/call/metadata_info.h +2 -0
- data/src/core/call/simple_slice_based_metadata.h +2 -1
- data/src/core/channelz/channelz.cc +9 -6
- data/src/core/channelz/channelz.h +7 -4
- data/src/core/channelz/property_list.h +5 -0
- data/src/core/channelz/v2tov1/convert.cc +1 -1
- data/src/core/channelz/v2tov1/legacy_api.cc +164 -307
- data/src/core/client_channel/buffered_call.cc +7 -3
- data/src/core/client_channel/buffered_call.h +11 -5
- data/src/core/client_channel/client_channel.cc +106 -44
- data/src/core/client_channel/client_channel.h +3 -6
- data/src/core/client_channel/client_channel_filter.cc +90 -64
- data/src/core/client_channel/client_channel_filter.h +3 -6
- data/src/core/client_channel/client_channel_internal.h +5 -0
- data/src/core/client_channel/config_selector.h +17 -12
- data/src/core/client_channel/dynamic_filters.cc +8 -7
- data/src/core/client_channel/dynamic_filters.h +7 -5
- data/src/core/client_channel/retry_filter.cc +1 -1
- data/src/core/client_channel/retry_filter.h +2 -2
- data/src/core/client_channel/subchannel.cc +1682 -266
- data/src/core/client_channel/subchannel.h +411 -134
- data/src/core/client_channel/subchannel_stream_client.cc +22 -18
- data/src/core/client_channel/subchannel_stream_client.h +8 -9
- data/src/core/client_channel/subchannel_stream_limiter.cc +76 -0
- data/src/core/client_channel/subchannel_stream_limiter.h +51 -0
- data/src/core/config/config_vars.cc +9 -1
- data/src/core/config/config_vars.h +6 -0
- data/src/core/credentials/call/call_creds_registry.h +51 -22
- data/src/core/credentials/call/call_creds_registry_init.cc +86 -2
- data/src/core/credentials/call/external/aws_external_account_credentials.cc +2 -2
- data/src/core/credentials/call/external/external_account_credentials.cc +11 -4
- data/src/core/credentials/call/external/file_external_account_credentials.cc +2 -2
- data/src/core/credentials/transport/channel_creds_registry.h +71 -20
- data/src/core/credentials/transport/channel_creds_registry_init.cc +338 -29
- data/src/core/credentials/transport/ssl/ssl_credentials.cc +43 -24
- data/src/core/credentials/transport/ssl/ssl_credentials.h +7 -1
- data/src/core/credentials/transport/ssl/ssl_security_connector.cc +2 -8
- data/src/core/credentials/transport/ssl/ssl_security_connector.h +4 -3
- data/src/core/credentials/transport/tls/grpc_tls_certificate_distributor.cc +25 -5
- data/src/core/credentials/transport/tls/grpc_tls_certificate_distributor.h +7 -5
- data/src/core/credentials/transport/tls/grpc_tls_certificate_provider.cc +181 -109
- data/src/core/credentials/transport/tls/grpc_tls_certificate_provider.h +55 -42
- data/src/core/credentials/transport/tls/grpc_tls_credentials_options.cc +28 -23
- data/src/core/credentials/transport/tls/grpc_tls_credentials_options.h +26 -23
- data/src/core/credentials/transport/tls/spiffe_utils.cc +2 -2
- data/src/core/credentials/transport/tls/ssl_utils.cc +18 -18
- data/src/core/credentials/transport/tls/ssl_utils.h +12 -10
- data/src/core/credentials/transport/tls/tls_security_connector.cc +106 -74
- data/src/core/credentials/transport/tls/tls_security_connector.h +12 -8
- data/src/core/credentials/transport/xds/xds_credentials.cc +76 -32
- data/src/core/credentials/transport/xds/xds_credentials.h +4 -2
- data/src/core/ext/filters/fault_injection/fault_injection_filter.cc +117 -35
- data/src/core/ext/filters/fault_injection/fault_injection_filter.h +42 -4
- data/src/core/ext/filters/gcp_authentication/gcp_authentication_filter.cc +58 -29
- data/src/core/ext/filters/gcp_authentication/gcp_authentication_filter.h +19 -11
- data/src/core/ext/filters/stateful_session/stateful_session_filter.cc +82 -25
- data/src/core/ext/filters/stateful_session/stateful_session_filter.h +28 -3
- data/src/core/ext/filters/stateful_session/stateful_session_service_config_parser.cc +9 -7
- data/src/core/ext/filters/stateful_session/stateful_session_service_config_parser.h +1 -1
- data/src/core/ext/transport/chttp2/transport/call_tracer_wrapper.h +7 -1
- data/src/core/ext/transport/chttp2/transport/chttp2_transport.cc +117 -67
- data/src/core/ext/transport/chttp2/transport/chttp2_transport.h +2 -0
- data/src/core/ext/transport/chttp2/transport/flow_control.h +11 -1
- data/src/core/ext/transport/chttp2/transport/frame.cc +2 -15
- data/src/core/ext/transport/chttp2/transport/frame.h +0 -4
- data/src/core/ext/transport/chttp2/transport/goaway.cc +17 -2
- data/src/core/ext/transport/chttp2/transport/goaway.h +27 -6
- data/src/core/ext/transport/chttp2/transport/header_assembler.h +8 -21
- data/src/core/ext/transport/chttp2/transport/hpack_encoder.cc +101 -40
- data/src/core/ext/transport/chttp2/transport/hpack_encoder.h +95 -0
- data/src/core/ext/transport/chttp2/transport/http2_client_transport.cc +923 -772
- data/src/core/ext/transport/chttp2/transport/http2_client_transport.h +406 -423
- data/src/core/ext/transport/chttp2/transport/http2_settings.cc +1 -0
- data/src/core/ext/transport/chttp2/transport/http2_settings.h +8 -1
- data/src/core/ext/transport/chttp2/transport/http2_settings_promises.h +25 -13
- data/src/core/ext/transport/chttp2/transport/http2_transport.cc +71 -24
- data/src/core/ext/transport/chttp2/transport/http2_transport.h +25 -49
- data/src/core/ext/transport/chttp2/transport/http2_ztrace_collector.h +2 -2
- data/src/core/ext/transport/chttp2/transport/incoming_metadata_tracker.h +29 -9
- data/src/core/ext/transport/chttp2/transport/internal.h +6 -2
- data/src/core/ext/transport/chttp2/transport/keepalive.cc +14 -20
- data/src/core/ext/transport/chttp2/transport/keepalive.h +9 -6
- data/src/core/ext/transport/chttp2/transport/parsing.cc +11 -0
- data/src/core/ext/transport/chttp2/transport/ping_promise.cc +34 -74
- data/src/core/ext/transport/chttp2/transport/ping_promise.h +123 -79
- data/src/core/ext/transport/chttp2/transport/security_frame.h +233 -3
- data/src/core/ext/transport/chttp2/transport/stream.h +152 -73
- data/src/core/ext/transport/chttp2/transport/stream_data_queue.h +155 -85
- data/src/core/ext/transport/chttp2/transport/transport_common.h +0 -5
- data/src/core/ext/transport/chttp2/transport/writable_streams.h +8 -7
- data/src/core/ext/transport/chttp2/transport/write_cycle.cc +86 -0
- data/src/core/ext/transport/chttp2/transport/write_cycle.h +355 -0
- data/src/core/ext/transport/chttp2/transport/writing.cc +31 -29
- data/src/core/ext/upb-gen/cel/expr/checked.upb.h +1875 -0
- data/src/core/ext/upb-gen/cel/expr/checked.upb_minitable.c +409 -0
- data/src/core/ext/upb-gen/cel/expr/checked.upb_minitable.h +56 -0
- data/src/core/ext/upb-gen/cel/expr/syntax.upb.h +2223 -0
- data/src/core/ext/upb-gen/cel/expr/syntax.upb_minitable.c +489 -0
- data/src/core/ext/upb-gen/cel/expr/syntax.upb_minitable.h +60 -0
- data/src/core/ext/upb-gen/envoy/config/accesslog/v3/accesslog.upb.h +2 -1
- data/src/core/ext/upb-gen/envoy/config/bootstrap/v3/bootstrap.upb.h +130 -18
- data/src/core/ext/upb-gen/envoy/config/bootstrap/v3/bootstrap.upb_minitable.c +18 -13
- data/src/core/ext/upb-gen/envoy/config/cluster/v3/cluster.upb.h +70 -38
- data/src/core/ext/upb-gen/envoy/config/cluster/v3/cluster.upb_minitable.c +20 -17
- data/src/core/ext/upb-gen/envoy/config/common/matcher/v3/matcher.upb.h +26 -10
- data/src/core/ext/upb-gen/envoy/config/common/matcher/v3/matcher.upb_minitable.c +8 -7
- data/src/core/ext/upb-gen/envoy/config/common/mutation_rules/v3/mutation_rules.upb.h +495 -0
- data/src/core/ext/upb-gen/envoy/config/common/mutation_rules/v3/mutation_rules.upb_minitable.c +114 -0
- data/src/core/ext/upb-gen/envoy/config/common/mutation_rules/v3/mutation_rules.upb_minitable.h +36 -0
- data/src/core/ext/upb-gen/envoy/config/core/v3/address.upb.h +26 -10
- data/src/core/ext/upb-gen/envoy/config/core/v3/address.upb_minitable.c +8 -7
- data/src/core/ext/upb-gen/envoy/config/core/v3/cel.upb.h +121 -0
- data/src/core/ext/upb-gen/envoy/config/core/v3/cel.upb_minitable.c +54 -0
- data/src/core/ext/upb-gen/envoy/config/core/v3/cel.upb_minitable.h +32 -0
- data/src/core/ext/upb-gen/envoy/config/core/v3/grpc_service.upb.h +143 -9
- data/src/core/ext/upb-gen/envoy/config/core/v3/grpc_service.upb_minitable.c +18 -6
- data/src/core/ext/upb-gen/envoy/config/core/v3/protocol.upb.h +112 -11
- data/src/core/ext/upb-gen/envoy/config/core/v3/protocol.upb_minitable.c +22 -9
- data/src/core/ext/upb-gen/envoy/config/core/v3/proxy_protocol.upb.h +276 -0
- data/src/core/ext/upb-gen/envoy/config/core/v3/proxy_protocol.upb_minitable.c +60 -5
- data/src/core/ext/upb-gen/envoy/config/core/v3/proxy_protocol.upb_minitable.h +4 -0
- data/src/core/ext/upb-gen/envoy/config/endpoint/v3/endpoint_components.upb.h +72 -0
- data/src/core/ext/upb-gen/envoy/config/endpoint/v3/endpoint_components.upb_minitable.c +23 -2
- data/src/core/ext/upb-gen/envoy/config/endpoint/v3/endpoint_components.upb_minitable.h +2 -0
- data/src/core/ext/upb-gen/envoy/config/listener/v3/listener.upb.h +129 -13
- data/src/core/ext/upb-gen/envoy/config/listener/v3/listener.upb_minitable.c +36 -10
- data/src/core/ext/upb-gen/envoy/config/listener/v3/listener.upb_minitable.h +2 -0
- data/src/core/ext/upb-gen/envoy/config/listener/v3/quic_config.upb.h +30 -0
- data/src/core/ext/upb-gen/envoy/config/listener/v3/quic_config.upb_minitable.c +5 -3
- data/src/core/ext/upb-gen/envoy/config/metrics/v3/metrics_service.upb.h +16 -0
- data/src/core/ext/upb-gen/envoy/config/metrics/v3/metrics_service.upb_minitable.c +4 -3
- data/src/core/ext/upb-gen/envoy/config/metrics/v3/stats.upb.h +31 -0
- data/src/core/ext/upb-gen/envoy/config/metrics/v3/stats.upb_minitable.c +5 -3
- data/src/core/ext/upb-gen/envoy/config/overload/v3/overload.upb.h +2 -1
- data/src/core/ext/upb-gen/envoy/config/rbac/v3/rbac.upb.h +63 -0
- data/src/core/ext/upb-gen/envoy/config/rbac/v3/rbac.upb_minitable.c +12 -7
- data/src/core/ext/upb-gen/envoy/config/route/v3/route.upb.h +97 -81
- data/src/core/ext/upb-gen/envoy/config/route/v3/route.upb_minitable.c +40 -23
- data/src/core/ext/upb-gen/envoy/config/route/v3/route_components.upb.h +604 -228
- data/src/core/ext/upb-gen/envoy/config/route/v3/route_components.upb_minitable.c +146 -100
- data/src/core/ext/upb-gen/envoy/config/tap/v3/common.upb.h +30 -0
- data/src/core/ext/upb-gen/envoy/config/tap/v3/common.upb_minitable.c +5 -3
- data/src/core/ext/upb-gen/envoy/config/trace/v3/opentelemetry.upb.h +35 -3
- data/src/core/ext/upb-gen/envoy/config/trace/v3/opentelemetry.upb_minitable.c +7 -4
- data/src/core/ext/upb-gen/envoy/config/trace/v3/zipkin.upb.h +66 -14
- data/src/core/ext/upb-gen/envoy/config/trace/v3/zipkin.upb_minitable.c +22 -11
- data/src/core/ext/upb-gen/envoy/extensions/clusters/aggregate/v3/cluster.upb.h +87 -0
- data/src/core/ext/upb-gen/envoy/extensions/clusters/aggregate/v3/cluster.upb_minitable.c +29 -2
- data/src/core/ext/upb-gen/envoy/extensions/clusters/aggregate/v3/cluster.upb_minitable.h +2 -0
- data/src/core/ext/upb-gen/envoy/extensions/filters/http/rbac/v3/rbac.upb.h +0 -1
- data/src/core/ext/upb-gen/envoy/extensions/filters/http/rbac/v3/rbac.upb_minitable.c +0 -1
- data/src/core/ext/upb-gen/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upb.h +20 -4
- data/src/core/ext/upb-gen/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upb_minitable.c +5 -4
- data/src/core/ext/upb-gen/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.h +239 -60
- data/src/core/ext/upb-gen/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb_minitable.c +59 -28
- data/src/core/ext/upb-gen/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb_minitable.h +2 -0
- data/src/core/ext/upb-gen/envoy/extensions/grpc_service/call_credentials/access_token/v3/access_token_credentials.upb.h +89 -0
- data/src/core/ext/upb-gen/envoy/extensions/grpc_service/call_credentials/access_token/v3/access_token_credentials.upb_minitable.c +50 -0
- data/src/core/ext/upb-gen/envoy/extensions/grpc_service/call_credentials/access_token/v3/access_token_credentials.upb_minitable.h +32 -0
- data/src/core/ext/upb-gen/envoy/extensions/grpc_service/channel_credentials/tls/v3/tls_credentials.upb.h +135 -0
- data/src/core/ext/upb-gen/envoy/extensions/grpc_service/channel_credentials/tls/v3/tls_credentials.upb_minitable.c +53 -0
- data/src/core/ext/upb-gen/envoy/extensions/grpc_service/channel_credentials/tls/v3/tls_credentials.upb_minitable.h +32 -0
- data/src/core/ext/upb-gen/envoy/extensions/grpc_service/channel_credentials/xds/v3/xds_credentials.upb.h +105 -0
- data/src/core/ext/upb-gen/envoy/extensions/grpc_service/channel_credentials/xds/v3/xds_credentials.upb_minitable.c +51 -0
- data/src/core/ext/upb-gen/envoy/extensions/grpc_service/channel_credentials/xds/v3/xds_credentials.upb_minitable.h +32 -0
- data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/client_side_weighted_round_robin/v3/client_side_weighted_round_robin.upb.h +32 -0
- data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/client_side_weighted_round_robin/v3/client_side_weighted_round_robin.upb_minitable.c +6 -3
- data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/common/v3/common.upb.h +206 -0
- data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/common/v3/common.upb_minitable.c +41 -8
- data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/common/v3/common.upb_minitable.h +2 -0
- data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/common.upb.h +64 -0
- data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/common.upb_minitable.c +4 -3
- data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/secret.upb.h +64 -0
- data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/secret.upb_minitable.c +31 -5
- data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/secret.upb_minitable.h +2 -0
- data/src/core/ext/upb-gen/envoy/extensions/upstreams/http/v3/http_protocol_options.upb.h +283 -14
- data/src/core/ext/upb-gen/envoy/extensions/upstreams/http/v3/http_protocol_options.upb_minitable.c +48 -11
- data/src/core/ext/upb-gen/envoy/extensions/upstreams/http/v3/http_protocol_options.upb_minitable.h +2 -0
- data/src/core/ext/upb-gen/envoy/type/http/v3/cookie.upb.h +144 -6
- data/src/core/ext/upb-gen/envoy/type/http/v3/cookie.upb_minitable.c +35 -7
- data/src/core/ext/upb-gen/envoy/type/http/v3/cookie.upb_minitable.h +2 -0
- data/src/core/ext/upb-gen/envoy/type/tracing/v3/custom_tag.upb.h +42 -21
- data/src/core/ext/upb-gen/envoy/type/tracing/v3/custom_tag.upb_minitable.c +9 -8
- data/src/core/ext/upb-gen/src/proto/grpc/channelz/v2/promise.upb.h +164 -1
- data/src/core/ext/upb-gen/src/proto/grpc/channelz/v2/promise.upb_minitable.c +37 -6
- data/src/core/ext/upb-gen/src/proto/grpc/channelz/v2/promise.upb_minitable.h +2 -0
- data/src/core/ext/upb-gen/xds/type/matcher/v3/cel.upb.h +0 -1
- data/src/core/ext/upb-gen/xds/type/matcher/v3/cel.upb_minitable.c +0 -1
- data/src/core/ext/upb-gen/xds/type/matcher/v3/http_inputs.upb.h +0 -1
- data/src/core/ext/upb-gen/xds/type/matcher/v3/http_inputs.upb_minitable.c +0 -1
- data/src/core/ext/upb-gen/xds/type/matcher/v3/matcher.upb.h +26 -11
- data/src/core/ext/upb-gen/xds/type/matcher/v3/matcher.upb_minitable.c +8 -8
- data/src/core/ext/upb-gen/xds/type/matcher/v3/string.upb.h +33 -0
- data/src/core/ext/upb-gen/xds/type/matcher/v3/string.upb_minitable.c +14 -3
- data/src/core/ext/upb-gen/xds/type/v3/cel.upb.h +90 -10
- data/src/core/ext/upb-gen/xds/type/v3/cel.upb_minitable.c +18 -7
- data/src/core/ext/upbdefs-gen/cel/expr/checked.upbdefs.c +248 -0
- data/src/core/ext/upbdefs-gen/cel/expr/checked.upbdefs.h +97 -0
- data/src/core/ext/upbdefs-gen/cel/expr/syntax.upbdefs.c +283 -0
- data/src/core/ext/upbdefs-gen/cel/expr/syntax.upbdefs.h +107 -0
- data/src/core/ext/upbdefs-gen/envoy/config/accesslog/v3/accesslog.upbdefs.c +213 -211
- data/src/core/ext/upbdefs-gen/envoy/config/bootstrap/v3/bootstrap.upbdefs.c +635 -614
- data/src/core/ext/upbdefs-gen/envoy/config/cluster/v3/cluster.upbdefs.c +1012 -1000
- data/src/core/ext/upbdefs-gen/envoy/config/common/matcher/v3/matcher.upbdefs.c +276 -273
- data/src/core/ext/upbdefs-gen/envoy/config/common/mutation_rules/v3/mutation_rules.upbdefs.c +152 -0
- data/src/core/ext/upbdefs-gen/envoy/config/common/mutation_rules/v3/mutation_rules.upbdefs.h +47 -0
- data/src/core/ext/upbdefs-gen/envoy/config/core/v3/address.upbdefs.c +149 -144
- data/src/core/ext/upbdefs-gen/envoy/config/core/v3/base.upbdefs.c +367 -370
- data/src/core/ext/upbdefs-gen/envoy/config/core/v3/cel.upbdefs.c +63 -0
- data/src/core/ext/upbdefs-gen/envoy/config/core/v3/cel.upbdefs.h +37 -0
- data/src/core/ext/upbdefs-gen/envoy/config/core/v3/grpc_service.upbdefs.c +297 -284
- data/src/core/ext/upbdefs-gen/envoy/config/core/v3/protocol.upbdefs.c +492 -469
- data/src/core/ext/upbdefs-gen/envoy/config/core/v3/proxy_protocol.upbdefs.c +74 -43
- data/src/core/ext/upbdefs-gen/envoy/config/core/v3/proxy_protocol.upbdefs.h +10 -0
- data/src/core/ext/upbdefs-gen/envoy/config/core/v3/substitution_format_string.upbdefs.c +60 -59
- data/src/core/ext/upbdefs-gen/envoy/config/endpoint/v3/endpoint_components.upbdefs.c +202 -184
- data/src/core/ext/upbdefs-gen/envoy/config/endpoint/v3/endpoint_components.upbdefs.h +5 -0
- data/src/core/ext/upbdefs-gen/envoy/config/listener/v3/listener.upbdefs.c +354 -339
- data/src/core/ext/upbdefs-gen/envoy/config/listener/v3/listener.upbdefs.h +5 -0
- data/src/core/ext/upbdefs-gen/envoy/config/listener/v3/quic_config.upbdefs.c +28 -19
- data/src/core/ext/upbdefs-gen/envoy/config/metrics/v3/metrics_service.upbdefs.c +30 -27
- data/src/core/ext/upbdefs-gen/envoy/config/metrics/v3/stats.upbdefs.c +71 -66
- data/src/core/ext/upbdefs-gen/envoy/config/overload/v3/overload.upbdefs.c +94 -91
- data/src/core/ext/upbdefs-gen/envoy/config/rbac/v3/rbac.upbdefs.c +386 -369
- data/src/core/ext/upbdefs-gen/envoy/config/route/v3/route.upbdefs.c +60 -57
- data/src/core/ext/upbdefs-gen/envoy/config/route/v3/route_components.upbdefs.c +1974 -1884
- data/src/core/ext/upbdefs-gen/envoy/config/tap/v3/common.upbdefs.c +119 -112
- data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/opentelemetry.upbdefs.c +62 -51
- data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/zipkin.upbdefs.c +109 -88
- data/src/core/ext/upbdefs-gen/envoy/extensions/clusters/aggregate/v3/cluster.upbdefs.c +54 -36
- data/src/core/ext/upbdefs-gen/envoy/extensions/clusters/aggregate/v3/cluster.upbdefs.h +5 -0
- data/src/core/ext/upbdefs-gen/envoy/extensions/filters/http/rbac/v3/rbac.upbdefs.c +78 -84
- data/src/core/ext/upbdefs-gen/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upbdefs.c +48 -46
- data/src/core/ext/upbdefs-gen/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upbdefs.c +1041 -984
- data/src/core/ext/upbdefs-gen/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upbdefs.h +5 -0
- data/src/core/ext/upbdefs-gen/envoy/extensions/transport_sockets/tls/v3/common.upbdefs.c +304 -290
- data/src/core/ext/upbdefs-gen/envoy/extensions/transport_sockets/tls/v3/secret.upbdefs.c +94 -77
- data/src/core/ext/upbdefs-gen/envoy/extensions/transport_sockets/tls/v3/secret.upbdefs.h +5 -0
- data/src/core/ext/upbdefs-gen/envoy/extensions/upstreams/http/v3/http_protocol_options.upbdefs.c +246 -193
- data/src/core/ext/upbdefs-gen/envoy/extensions/upstreams/http/v3/http_protocol_options.upbdefs.h +5 -0
- data/src/core/ext/upbdefs-gen/envoy/type/http/v3/cookie.upbdefs.c +37 -23
- data/src/core/ext/upbdefs-gen/envoy/type/http/v3/cookie.upbdefs.h +5 -0
- data/src/core/ext/upbdefs-gen/envoy/type/tracing/v3/custom_tag.upbdefs.c +5 -3
- data/src/core/ext/upbdefs-gen/google/api/http.upbdefs.c +4 -4
- data/src/core/ext/upbdefs-gen/google/api/httpbody.upbdefs.c +4 -5
- data/src/core/ext/upbdefs-gen/src/proto/grpc/channelz/v2/promise.upbdefs.c +113 -87
- data/src/core/ext/upbdefs-gen/src/proto/grpc/channelz/v2/promise.upbdefs.h +5 -0
- data/src/core/ext/upbdefs-gen/udpa/annotations/migrate.upbdefs.c +5 -5
- data/src/core/ext/upbdefs-gen/udpa/annotations/security.upbdefs.c +6 -5
- data/src/core/ext/upbdefs-gen/udpa/annotations/sensitive.upbdefs.c +5 -5
- data/src/core/ext/upbdefs-gen/udpa/annotations/status.upbdefs.c +5 -5
- data/src/core/ext/upbdefs-gen/udpa/annotations/versioning.upbdefs.c +5 -5
- data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/cel.upbdefs.c +25 -30
- data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/http_inputs.upbdefs.c +14 -20
- data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/matcher.upbdefs.c +180 -183
- data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/string.upbdefs.c +56 -47
- data/src/core/ext/upbdefs-gen/xds/type/v3/cel.upbdefs.c +69 -47
- data/src/core/filter/filter_chain.h +95 -0
- data/src/core/handshaker/http_connect/{http_connect_handshaker.cc → http_connect_client_handshaker.cc} +32 -31
- data/src/core/handshaker/http_connect/{http_connect_handshaker.h → http_connect_client_handshaker.h} +4 -4
- data/src/core/handshaker/http_connect/http_proxy_mapper.cc +1 -1
- data/src/core/handshaker/http_connect/xds_http_proxy_mapper.cc +1 -1
- data/src/core/handshaker/security/pipelined_secure_endpoint.cc +14 -13
- data/src/core/handshaker/security/secure_endpoint.cc +282 -68
- data/src/core/handshaker/security/secure_endpoint.h +0 -7
- data/src/core/lib/channel/channel_args.h +1 -1
- data/src/core/lib/channel/promise_based_filter.cc +17 -4
- data/src/core/lib/channel/promise_based_filter.h +3 -2
- data/src/core/lib/debug/trace_flags.cc +2 -0
- data/src/core/lib/debug/trace_flags.h +1 -0
- data/src/core/lib/event_engine/cf_engine/cfstream_endpoint.cc +35 -8
- data/src/core/lib/event_engine/cf_engine/dns_service_resolver.h +1 -2
- data/src/core/lib/event_engine/event_engine.cc +9 -0
- data/src/core/lib/event_engine/extensions/tcp_trace.h +0 -3
- data/src/core/lib/event_engine/posix_engine/ev_poll_posix.cc +2 -2
- data/src/core/lib/event_engine/posix_engine/posix_endpoint.h +1 -1
- data/src/core/lib/event_engine/posix_engine/posix_engine.cc +34 -9
- data/src/core/lib/event_engine/posix_engine/posix_engine.h +24 -2
- data/src/core/lib/event_engine/posix_engine/posix_engine_listener.cc +1 -3
- data/src/core/lib/event_engine/posix_engine/posix_engine_listener_utils.cc +141 -14
- data/src/core/lib/event_engine/posix_engine/posix_engine_listener_utils.h +19 -2
- data/src/core/lib/event_engine/posix_engine/posix_interface.h +7 -0
- data/src/core/lib/event_engine/posix_engine/posix_interface_posix.cc +21 -3
- data/src/core/lib/event_engine/posix_engine/posix_interface_windows.cc +16 -0
- data/src/core/lib/experiments/experiments.cc +309 -201
- data/src/core/lib/experiments/experiments.h +141 -80
- data/src/core/lib/iomgr/event_engine_shims/endpoint.cc +2 -2
- data/src/core/lib/iomgr/resolve_address.h +0 -2
- data/src/core/lib/iomgr/resolved_address.h +0 -2
- data/src/core/lib/iomgr/tcp_posix.cc +13 -5
- data/src/core/lib/iomgr/tcp_server.cc +0 -5
- data/src/core/lib/iomgr/tcp_server.h +0 -7
- data/src/core/lib/iomgr/tcp_server_posix.cc +0 -17
- data/src/core/lib/iomgr/tcp_server_utils_posix.h +0 -3
- data/src/core/lib/iomgr/tcp_server_windows.cc +12 -51
- data/src/core/lib/promise/all_ok.h +17 -12
- data/src/core/lib/promise/cancel_callback.h +12 -13
- data/src/core/lib/promise/detail/join_state.h +626 -0
- data/src/core/lib/promise/detail/promise_factory.h +14 -14
- data/src/core/lib/promise/for_each.h +32 -8
- data/src/core/lib/promise/if.h +9 -7
- data/src/core/lib/promise/loop.h +18 -16
- data/src/core/lib/promise/map.h +54 -47
- data/src/core/lib/promise/mpsc.h +11 -10
- data/src/core/lib/promise/observable.h +6 -6
- data/src/core/lib/promise/party.h +25 -19
- data/src/core/lib/promise/poll.h +5 -5
- data/src/core/lib/promise/prioritized_race.h +10 -7
- data/src/core/lib/promise/promise.h +16 -11
- data/src/core/lib/promise/race.h +6 -5
- data/src/core/lib/promise/seq.h +109 -74
- data/src/core/lib/promise/try_join.h +14 -6
- data/src/core/lib/promise/try_seq.h +76 -60
- data/src/core/lib/resource_quota/api.cc +7 -0
- data/src/core/lib/resource_quota/arena.h +1 -1
- data/src/core/lib/resource_quota/memory_quota.cc +4 -1
- data/src/core/lib/resource_quota/resource_quota.cc +2 -1
- data/src/core/lib/resource_quota/resource_quota.h +3 -0
- data/src/core/lib/resource_quota/stream_quota.cc +77 -1
- data/src/core/lib/resource_quota/stream_quota.h +64 -1
- data/src/core/lib/resource_quota/telemetry.h +1 -1
- data/src/core/lib/surface/call.cc +13 -0
- data/src/core/lib/surface/call_utils.h +58 -43
- data/src/core/lib/surface/channel.h +1 -4
- data/src/core/lib/surface/completion_queue.cc +13 -6
- data/src/core/lib/surface/validate_metadata.cc +20 -15
- data/src/core/lib/surface/validate_metadata.h +3 -1
- data/src/core/lib/surface/version.cc +2 -2
- data/src/core/lib/transport/promise_endpoint.cc +1 -1
- data/src/core/lib/transport/promise_endpoint.h +1 -1
- data/src/core/lib/transport/transport.h +5 -0
- data/src/core/load_balancing/health_check_client.cc +1 -15
- data/src/core/load_balancing/health_check_client_internal.h +0 -2
- data/src/core/load_balancing/oob_backend_metric.cc +1 -5
- data/src/core/load_balancing/oob_backend_metric_internal.h +0 -1
- data/src/core/load_balancing/xds/xds_cluster_impl.cc +12 -9
- data/src/core/plugin_registry/grpc_plugin_registry.cc +3 -2
- data/src/core/resolver/xds/xds_resolver.cc +162 -116
- data/src/core/server/server.cc +18 -1
- data/src/core/server/server.h +2 -0
- data/src/core/server/xds_server_config_fetcher.cc +4 -4
- data/src/core/telemetry/call_tracer.cc +87 -2
- data/src/core/telemetry/call_tracer.h +46 -8
- data/src/core/telemetry/instrument.cc +102 -40
- data/src/core/telemetry/instrument.h +246 -65
- data/src/core/tsi/fake_transport_security.cc +3 -1
- data/src/core/tsi/ssl_transport_security.cc +516 -137
- data/src/core/tsi/ssl_transport_security.h +28 -22
- data/src/core/tsi/ssl_transport_security_utils.cc +2 -2
- data/src/core/tsi/ssl_transport_security_utils.h +2 -2
- data/src/core/util/bitset.h +6 -0
- data/src/core/util/function_signature.h +3 -1
- data/src/core/util/http_client/httpcli_security_connector.cc +2 -1
- data/src/core/util/json/json_reader.cc +0 -4
- data/src/core/xds/grpc/certificate_provider_store.cc +2 -1
- data/src/core/xds/grpc/certificate_provider_store.h +3 -17
- data/src/core/xds/grpc/certificate_provider_store_interface.h +61 -0
- data/src/core/xds/grpc/xds_bootstrap_grpc.cc +48 -0
- data/src/core/xds/grpc/xds_bootstrap_grpc.h +18 -0
- data/src/core/xds/grpc/xds_certificate_provider.cc +7 -2
- data/src/core/xds/grpc/xds_certificate_provider.h +13 -2
- data/src/core/xds/grpc/xds_client_grpc.cc +13 -6
- data/src/core/xds/grpc/xds_client_grpc.h +10 -7
- data/src/core/xds/grpc/xds_cluster.cc +18 -4
- data/src/core/xds/grpc/xds_cluster.h +17 -2
- data/src/core/xds/grpc/xds_cluster_parser.cc +36 -11
- data/src/core/xds/grpc/xds_common_types.cc +45 -0
- data/src/core/xds/grpc/xds_common_types.h +31 -0
- data/src/core/xds/grpc/xds_common_types_parser.cc +274 -16
- data/src/core/xds/grpc/xds_common_types_parser.h +12 -0
- data/src/core/xds/grpc/xds_http_fault_filter.cc +128 -24
- data/src/core/xds/grpc/xds_http_fault_filter.h +19 -10
- data/src/core/xds/grpc/xds_http_filter.cc +38 -0
- data/src/core/xds/grpc/xds_http_filter.h +70 -47
- data/src/core/xds/grpc/xds_http_filter_registry.cc +48 -14
- data/src/core/xds/grpc/xds_http_filter_registry.h +29 -15
- data/src/core/xds/grpc/xds_http_gcp_authn_filter.cc +88 -22
- data/src/core/xds/grpc/xds_http_gcp_authn_filter.h +22 -11
- data/src/core/xds/grpc/xds_http_rbac_filter.cc +36 -20
- data/src/core/xds/grpc/xds_http_rbac_filter.h +19 -10
- data/src/core/xds/grpc/xds_http_stateful_session_filter.cc +143 -26
- data/src/core/xds/grpc/xds_http_stateful_session_filter.h +19 -10
- data/src/core/xds/grpc/xds_listener.cc +4 -1
- data/src/core/xds/grpc/xds_listener.h +10 -2
- data/src/core/xds/grpc/xds_listener_parser.cc +23 -18
- data/src/core/xds/grpc/xds_matcher.cc +40 -5
- data/src/core/xds/grpc/xds_matcher.h +13 -0
- data/src/core/xds/grpc/xds_matcher_action.h +1 -1
- data/src/core/xds/grpc/xds_matcher_parse.cc +60 -40
- data/src/core/xds/grpc/xds_matcher_parse.h +2 -1
- data/src/core/xds/grpc/xds_route_config.cc +12 -1
- data/src/core/xds/grpc/xds_route_config.h +15 -2
- data/src/core/xds/grpc/xds_route_config_parser.cc +11 -5
- data/src/core/xds/grpc/xds_routing.cc +181 -6
- data/src/core/xds/grpc/xds_routing.h +57 -0
- data/src/core/xds/grpc/xds_server_grpc.cc +55 -43
- data/src/core/xds/grpc/xds_server_grpc.h +13 -6
- data/src/core/xds/grpc/xds_server_grpc_interface.h +3 -2
- data/src/core/xds/grpc/xds_transport_grpc.cc +12 -6
- data/src/core/xds/grpc/xds_transport_grpc.h +5 -1
- data/src/ruby/ext/grpc/rb_grpc_imports.generated.c +12 -8
- data/src/ruby/ext/grpc/rb_grpc_imports.generated.h +18 -12
- data/src/ruby/lib/grpc/grpc.rb +7 -9
- data/src/ruby/lib/grpc/version.rb +1 -1
- data/src/ruby/pb/generate_proto_ruby.sh +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
- metadata +64 -14
- data/src/core/ext/transport/chttp2/transport/security_frame.cc +0 -31
- data/src/core/handshaker/security/legacy_secure_endpoint.cc +0 -597
|
@@ -57,15 +57,21 @@ namespace grpc_core {
|
|
|
57
57
|
#ifdef GRPC_EXPERIMENTS_ARE_FINAL
|
|
58
58
|
|
|
59
59
|
#if defined(GRPC_CFSTREAM)
|
|
60
|
+
inline bool IsBufferListDeletionPrepEnabled() { return false; }
|
|
60
61
|
#define GRPC_EXPERIMENT_IS_INCLUDED_CALL_TRACER_IN_TRANSPORT
|
|
61
62
|
inline bool IsCallTracerInTransportEnabled() { return true; }
|
|
62
|
-
|
|
63
|
-
inline bool
|
|
63
|
+
#define GRPC_EXPERIMENT_IS_INCLUDED_CALL_TRACER_SEND_INITIAL_METADATA_IS_AN_ANNOTATION
|
|
64
|
+
inline bool IsCallTracerSendInitialMetadataIsAnAnnotationEnabled() {
|
|
65
|
+
return true;
|
|
66
|
+
}
|
|
67
|
+
inline bool IsCallTracerSendTrailingMetadataIsAnAnnotationEnabled() {
|
|
68
|
+
return false;
|
|
69
|
+
}
|
|
64
70
|
#define GRPC_EXPERIMENT_IS_INCLUDED_CHAOTIC_GOOD_CONNECT_DEADLINE
|
|
65
71
|
inline bool IsChaoticGoodConnectDeadlineEnabled() { return true; }
|
|
66
72
|
#define GRPC_EXPERIMENT_IS_INCLUDED_CHAOTIC_GOOD_FRAMING_LAYER
|
|
67
73
|
inline bool IsChaoticGoodFramingLayerEnabled() { return true; }
|
|
68
|
-
inline bool
|
|
74
|
+
inline bool IsChaoticGoodSendSupportedFeaturesEnabled() { return false; }
|
|
69
75
|
inline bool IsErrorFlattenEnabled() { return false; }
|
|
70
76
|
#define GRPC_EXPERIMENT_IS_INCLUDED_EVENT_ENGINE_CLIENT
|
|
71
77
|
inline bool IsEventEngineClientEnabled() { return true; }
|
|
@@ -73,65 +79,78 @@ inline bool IsEventEngineClientEnabled() { return true; }
|
|
|
73
79
|
inline bool IsEventEngineDnsEnabled() { return true; }
|
|
74
80
|
#define GRPC_EXPERIMENT_IS_INCLUDED_EVENT_ENGINE_DNS_NON_CLIENT_CHANNEL
|
|
75
81
|
inline bool IsEventEngineDnsNonClientChannelEnabled() { return true; }
|
|
76
|
-
|
|
82
|
+
#define GRPC_EXPERIMENT_IS_INCLUDED_EVENT_ENGINE_FORK
|
|
83
|
+
inline bool IsEventEngineForkEnabled() { return true; }
|
|
77
84
|
#define GRPC_EXPERIMENT_IS_INCLUDED_EVENT_ENGINE_LISTENER
|
|
78
85
|
inline bool IsEventEngineListenerEnabled() { return true; }
|
|
79
86
|
#define GRPC_EXPERIMENT_IS_INCLUDED_EVENT_ENGINE_CALLBACK_CQ
|
|
80
87
|
inline bool IsEventEngineCallbackCqEnabled() { return true; }
|
|
81
88
|
#define GRPC_EXPERIMENT_IS_INCLUDED_EVENT_ENGINE_FOR_ALL_OTHER_ENDPOINTS
|
|
82
89
|
inline bool IsEventEngineForAllOtherEndpointsEnabled() { return true; }
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
inline bool IsEventEngineSecureEndpointEnabled() { return true; }
|
|
90
|
+
#define GRPC_EXPERIMENT_IS_INCLUDED_EVENT_ENGINE_POLLER_FOR_PYTHON
|
|
91
|
+
inline bool IsEventEnginePollerForPythonEnabled() { return true; }
|
|
86
92
|
inline bool IsFailRecvMetadataOnDeadlineExceededEnabled() { return false; }
|
|
87
93
|
inline bool IsFreeLargeAllocatorEnabled() { return false; }
|
|
88
94
|
inline bool IsFuseFiltersEnabled() { return false; }
|
|
89
|
-
#define GRPC_EXPERIMENT_IS_INCLUDED_GRACEFUL_EXTERNAL_CONNECTION_FAILURE
|
|
90
|
-
inline bool IsGracefulExternalConnectionFailureEnabled() { return true; }
|
|
91
95
|
inline bool IsKeepAlivePingTimerBatchEnabled() { return false; }
|
|
92
96
|
inline bool IsLocalConnectorSecureEnabled() { return false; }
|
|
93
97
|
#define GRPC_EXPERIMENT_IS_INCLUDED_MAX_INFLIGHT_PINGS_STRICT_LIMIT
|
|
94
98
|
inline bool IsMaxInflightPingsStrictLimitEnabled() { return true; }
|
|
99
|
+
#define GRPC_EXPERIMENT_IS_INCLUDED_METADATA_PUBLISH_TO_APP_TAG
|
|
100
|
+
inline bool IsMetadataPublishToAppTagEnabled() { return true; }
|
|
95
101
|
#define GRPC_EXPERIMENT_IS_INCLUDED_MONITORING_EXPERIMENT
|
|
96
102
|
inline bool IsMonitoringExperimentEnabled() { return true; }
|
|
97
103
|
inline bool IsMultipingEnabled() { return false; }
|
|
98
104
|
inline bool IsOtelExportTelemetryDomainsEnabled() { return false; }
|
|
99
105
|
inline bool IsPickFirstIgnoreEmptyUpdatesEnabled() { return false; }
|
|
100
|
-
|
|
106
|
+
#define GRPC_EXPERIMENT_IS_INCLUDED_PICK_FIRST_READY_TO_CONNECTING
|
|
107
|
+
inline bool IsPickFirstReadyToConnectingEnabled() { return true; }
|
|
101
108
|
inline bool IsPipelinedReadSecureEndpointEnabled() { return false; }
|
|
102
109
|
inline bool IsPollsetAlternativeEnabled() { return false; }
|
|
103
110
|
inline bool IsPrioritizeFinishedRequestsEnabled() { return false; }
|
|
104
111
|
inline bool IsPromiseBasedHttp2ClientTransportEnabled() { return false; }
|
|
105
112
|
inline bool IsPromiseBasedHttp2ServerTransportEnabled() { return false; }
|
|
106
113
|
inline bool IsPromiseBasedInprocTransportEnabled() { return false; }
|
|
114
|
+
inline bool IsPromiseFilterSendCancelMetadataEnabled() { return false; }
|
|
107
115
|
inline bool IsRetryInCallv3Enabled() { return false; }
|
|
108
|
-
inline bool
|
|
116
|
+
inline bool IsReturnPreexistingErrorsEnabled() { return false; }
|
|
117
|
+
#define GRPC_EXPERIMENT_IS_INCLUDED_RR_WRR_CONNECT_FROM_RANDOM_INDEX
|
|
118
|
+
inline bool IsRrWrrConnectFromRandomIndexEnabled() { return true; }
|
|
109
119
|
inline bool IsScheduleCancellationOverWriteEnabled() { return false; }
|
|
110
120
|
inline bool IsSecureEndpointOffloadLargeReadsEnabled() { return false; }
|
|
111
121
|
inline bool IsSecureEndpointOffloadLargeWritesEnabled() { return false; }
|
|
122
|
+
inline bool IsSecureEndpointReadCoalescingEnabled() { return false; }
|
|
112
123
|
inline bool IsSkipClearPeerOnCancellationEnabled() { return false; }
|
|
113
124
|
inline bool IsSleepPromiseExecCtxRemovalEnabled() { return false; }
|
|
114
125
|
#define GRPC_EXPERIMENT_IS_INCLUDED_SLEEP_USE_NON_OWNING_WAKER
|
|
115
126
|
inline bool IsSleepUseNonOwningWakerEnabled() { return true; }
|
|
127
|
+
inline bool IsSubchannelConnectionScalingEnabled() { return false; }
|
|
116
128
|
inline bool IsSubchannelWrapperCleanupOnOrphanEnabled() { return false; }
|
|
117
129
|
inline bool IsTcpFrameSizeTuningEnabled() { return false; }
|
|
118
130
|
inline bool IsTcpRcvLowatEnabled() { return false; }
|
|
119
|
-
inline bool IsTrackWritesInResourceQuotaEnabled() { return false; }
|
|
120
|
-
inline bool IsTrackZeroCopyAllocationsInResourceQuotaEnabled() { return false; }
|
|
121
|
-
inline bool IsTransportStateWatcherEnabled() { return false; }
|
|
122
131
|
inline bool IsTsiFrameProtectorWithoutLocksEnabled() { return false; }
|
|
123
132
|
inline bool IsUnconstrainedMaxQuotaBufferSizeEnabled() { return false; }
|
|
133
|
+
inline bool IsUseCallEventEngineInCompletionQueueEnabled() { return false; }
|
|
134
|
+
inline bool IsWildcardIpExpansionRestrictionEnabled() { return false; }
|
|
135
|
+
#define GRPC_EXPERIMENT_IS_INCLUDED_XDS_CHANNEL_FILTER_CHAIN_PER_ROUTE
|
|
136
|
+
inline bool IsXdsChannelFilterChainPerRouteEnabled() { return true; }
|
|
124
137
|
|
|
125
138
|
#elif defined(GPR_WINDOWS)
|
|
139
|
+
inline bool IsBufferListDeletionPrepEnabled() { return false; }
|
|
126
140
|
#define GRPC_EXPERIMENT_IS_INCLUDED_CALL_TRACER_IN_TRANSPORT
|
|
127
141
|
inline bool IsCallTracerInTransportEnabled() { return true; }
|
|
128
|
-
|
|
129
|
-
inline bool
|
|
142
|
+
#define GRPC_EXPERIMENT_IS_INCLUDED_CALL_TRACER_SEND_INITIAL_METADATA_IS_AN_ANNOTATION
|
|
143
|
+
inline bool IsCallTracerSendInitialMetadataIsAnAnnotationEnabled() {
|
|
144
|
+
return true;
|
|
145
|
+
}
|
|
146
|
+
inline bool IsCallTracerSendTrailingMetadataIsAnAnnotationEnabled() {
|
|
147
|
+
return false;
|
|
148
|
+
}
|
|
130
149
|
#define GRPC_EXPERIMENT_IS_INCLUDED_CHAOTIC_GOOD_CONNECT_DEADLINE
|
|
131
150
|
inline bool IsChaoticGoodConnectDeadlineEnabled() { return true; }
|
|
132
151
|
#define GRPC_EXPERIMENT_IS_INCLUDED_CHAOTIC_GOOD_FRAMING_LAYER
|
|
133
152
|
inline bool IsChaoticGoodFramingLayerEnabled() { return true; }
|
|
134
|
-
inline bool
|
|
153
|
+
inline bool IsChaoticGoodSendSupportedFeaturesEnabled() { return false; }
|
|
135
154
|
inline bool IsErrorFlattenEnabled() { return false; }
|
|
136
155
|
#define GRPC_EXPERIMENT_IS_INCLUDED_EVENT_ENGINE_CLIENT
|
|
137
156
|
inline bool IsEventEngineClientEnabled() { return true; }
|
|
@@ -139,65 +158,78 @@ inline bool IsEventEngineClientEnabled() { return true; }
|
|
|
139
158
|
inline bool IsEventEngineDnsEnabled() { return true; }
|
|
140
159
|
#define GRPC_EXPERIMENT_IS_INCLUDED_EVENT_ENGINE_DNS_NON_CLIENT_CHANNEL
|
|
141
160
|
inline bool IsEventEngineDnsNonClientChannelEnabled() { return true; }
|
|
142
|
-
|
|
161
|
+
#define GRPC_EXPERIMENT_IS_INCLUDED_EVENT_ENGINE_FORK
|
|
162
|
+
inline bool IsEventEngineForkEnabled() { return true; }
|
|
143
163
|
#define GRPC_EXPERIMENT_IS_INCLUDED_EVENT_ENGINE_LISTENER
|
|
144
164
|
inline bool IsEventEngineListenerEnabled() { return true; }
|
|
145
165
|
#define GRPC_EXPERIMENT_IS_INCLUDED_EVENT_ENGINE_CALLBACK_CQ
|
|
146
166
|
inline bool IsEventEngineCallbackCqEnabled() { return true; }
|
|
147
167
|
#define GRPC_EXPERIMENT_IS_INCLUDED_EVENT_ENGINE_FOR_ALL_OTHER_ENDPOINTS
|
|
148
168
|
inline bool IsEventEngineForAllOtherEndpointsEnabled() { return true; }
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
inline bool IsEventEngineSecureEndpointEnabled() { return true; }
|
|
169
|
+
#define GRPC_EXPERIMENT_IS_INCLUDED_EVENT_ENGINE_POLLER_FOR_PYTHON
|
|
170
|
+
inline bool IsEventEnginePollerForPythonEnabled() { return true; }
|
|
152
171
|
inline bool IsFailRecvMetadataOnDeadlineExceededEnabled() { return false; }
|
|
153
172
|
inline bool IsFreeLargeAllocatorEnabled() { return false; }
|
|
154
173
|
inline bool IsFuseFiltersEnabled() { return false; }
|
|
155
|
-
#define GRPC_EXPERIMENT_IS_INCLUDED_GRACEFUL_EXTERNAL_CONNECTION_FAILURE
|
|
156
|
-
inline bool IsGracefulExternalConnectionFailureEnabled() { return true; }
|
|
157
174
|
inline bool IsKeepAlivePingTimerBatchEnabled() { return false; }
|
|
158
175
|
inline bool IsLocalConnectorSecureEnabled() { return false; }
|
|
159
176
|
#define GRPC_EXPERIMENT_IS_INCLUDED_MAX_INFLIGHT_PINGS_STRICT_LIMIT
|
|
160
177
|
inline bool IsMaxInflightPingsStrictLimitEnabled() { return true; }
|
|
178
|
+
#define GRPC_EXPERIMENT_IS_INCLUDED_METADATA_PUBLISH_TO_APP_TAG
|
|
179
|
+
inline bool IsMetadataPublishToAppTagEnabled() { return true; }
|
|
161
180
|
#define GRPC_EXPERIMENT_IS_INCLUDED_MONITORING_EXPERIMENT
|
|
162
181
|
inline bool IsMonitoringExperimentEnabled() { return true; }
|
|
163
182
|
inline bool IsMultipingEnabled() { return false; }
|
|
164
183
|
inline bool IsOtelExportTelemetryDomainsEnabled() { return false; }
|
|
165
184
|
inline bool IsPickFirstIgnoreEmptyUpdatesEnabled() { return false; }
|
|
166
|
-
|
|
185
|
+
#define GRPC_EXPERIMENT_IS_INCLUDED_PICK_FIRST_READY_TO_CONNECTING
|
|
186
|
+
inline bool IsPickFirstReadyToConnectingEnabled() { return true; }
|
|
167
187
|
inline bool IsPipelinedReadSecureEndpointEnabled() { return false; }
|
|
168
188
|
inline bool IsPollsetAlternativeEnabled() { return false; }
|
|
169
189
|
inline bool IsPrioritizeFinishedRequestsEnabled() { return false; }
|
|
170
190
|
inline bool IsPromiseBasedHttp2ClientTransportEnabled() { return false; }
|
|
171
191
|
inline bool IsPromiseBasedHttp2ServerTransportEnabled() { return false; }
|
|
172
192
|
inline bool IsPromiseBasedInprocTransportEnabled() { return false; }
|
|
193
|
+
inline bool IsPromiseFilterSendCancelMetadataEnabled() { return false; }
|
|
173
194
|
inline bool IsRetryInCallv3Enabled() { return false; }
|
|
174
|
-
inline bool
|
|
195
|
+
inline bool IsReturnPreexistingErrorsEnabled() { return false; }
|
|
196
|
+
#define GRPC_EXPERIMENT_IS_INCLUDED_RR_WRR_CONNECT_FROM_RANDOM_INDEX
|
|
197
|
+
inline bool IsRrWrrConnectFromRandomIndexEnabled() { return true; }
|
|
175
198
|
inline bool IsScheduleCancellationOverWriteEnabled() { return false; }
|
|
176
199
|
inline bool IsSecureEndpointOffloadLargeReadsEnabled() { return false; }
|
|
177
200
|
inline bool IsSecureEndpointOffloadLargeWritesEnabled() { return false; }
|
|
201
|
+
inline bool IsSecureEndpointReadCoalescingEnabled() { return false; }
|
|
178
202
|
inline bool IsSkipClearPeerOnCancellationEnabled() { return false; }
|
|
179
203
|
inline bool IsSleepPromiseExecCtxRemovalEnabled() { return false; }
|
|
180
204
|
#define GRPC_EXPERIMENT_IS_INCLUDED_SLEEP_USE_NON_OWNING_WAKER
|
|
181
205
|
inline bool IsSleepUseNonOwningWakerEnabled() { return true; }
|
|
206
|
+
inline bool IsSubchannelConnectionScalingEnabled() { return false; }
|
|
182
207
|
inline bool IsSubchannelWrapperCleanupOnOrphanEnabled() { return false; }
|
|
183
208
|
inline bool IsTcpFrameSizeTuningEnabled() { return false; }
|
|
184
209
|
inline bool IsTcpRcvLowatEnabled() { return false; }
|
|
185
|
-
inline bool IsTrackWritesInResourceQuotaEnabled() { return false; }
|
|
186
|
-
inline bool IsTrackZeroCopyAllocationsInResourceQuotaEnabled() { return false; }
|
|
187
|
-
inline bool IsTransportStateWatcherEnabled() { return false; }
|
|
188
210
|
inline bool IsTsiFrameProtectorWithoutLocksEnabled() { return false; }
|
|
189
211
|
inline bool IsUnconstrainedMaxQuotaBufferSizeEnabled() { return false; }
|
|
212
|
+
inline bool IsUseCallEventEngineInCompletionQueueEnabled() { return false; }
|
|
213
|
+
inline bool IsWildcardIpExpansionRestrictionEnabled() { return false; }
|
|
214
|
+
#define GRPC_EXPERIMENT_IS_INCLUDED_XDS_CHANNEL_FILTER_CHAIN_PER_ROUTE
|
|
215
|
+
inline bool IsXdsChannelFilterChainPerRouteEnabled() { return true; }
|
|
190
216
|
|
|
191
217
|
#else
|
|
218
|
+
inline bool IsBufferListDeletionPrepEnabled() { return false; }
|
|
192
219
|
#define GRPC_EXPERIMENT_IS_INCLUDED_CALL_TRACER_IN_TRANSPORT
|
|
193
220
|
inline bool IsCallTracerInTransportEnabled() { return true; }
|
|
194
|
-
|
|
195
|
-
inline bool
|
|
221
|
+
#define GRPC_EXPERIMENT_IS_INCLUDED_CALL_TRACER_SEND_INITIAL_METADATA_IS_AN_ANNOTATION
|
|
222
|
+
inline bool IsCallTracerSendInitialMetadataIsAnAnnotationEnabled() {
|
|
223
|
+
return true;
|
|
224
|
+
}
|
|
225
|
+
inline bool IsCallTracerSendTrailingMetadataIsAnAnnotationEnabled() {
|
|
226
|
+
return false;
|
|
227
|
+
}
|
|
196
228
|
#define GRPC_EXPERIMENT_IS_INCLUDED_CHAOTIC_GOOD_CONNECT_DEADLINE
|
|
197
229
|
inline bool IsChaoticGoodConnectDeadlineEnabled() { return true; }
|
|
198
230
|
#define GRPC_EXPERIMENT_IS_INCLUDED_CHAOTIC_GOOD_FRAMING_LAYER
|
|
199
231
|
inline bool IsChaoticGoodFramingLayerEnabled() { return true; }
|
|
200
|
-
inline bool
|
|
232
|
+
inline bool IsChaoticGoodSendSupportedFeaturesEnabled() { return false; }
|
|
201
233
|
inline bool IsErrorFlattenEnabled() { return false; }
|
|
202
234
|
#define GRPC_EXPERIMENT_IS_INCLUDED_EVENT_ENGINE_CLIENT
|
|
203
235
|
inline bool IsEventEngineClientEnabled() { return true; }
|
|
@@ -205,64 +237,72 @@ inline bool IsEventEngineClientEnabled() { return true; }
|
|
|
205
237
|
inline bool IsEventEngineDnsEnabled() { return true; }
|
|
206
238
|
#define GRPC_EXPERIMENT_IS_INCLUDED_EVENT_ENGINE_DNS_NON_CLIENT_CHANNEL
|
|
207
239
|
inline bool IsEventEngineDnsNonClientChannelEnabled() { return true; }
|
|
208
|
-
|
|
240
|
+
#define GRPC_EXPERIMENT_IS_INCLUDED_EVENT_ENGINE_FORK
|
|
241
|
+
inline bool IsEventEngineForkEnabled() { return true; }
|
|
209
242
|
#define GRPC_EXPERIMENT_IS_INCLUDED_EVENT_ENGINE_LISTENER
|
|
210
243
|
inline bool IsEventEngineListenerEnabled() { return true; }
|
|
211
244
|
#define GRPC_EXPERIMENT_IS_INCLUDED_EVENT_ENGINE_CALLBACK_CQ
|
|
212
245
|
inline bool IsEventEngineCallbackCqEnabled() { return true; }
|
|
213
246
|
#define GRPC_EXPERIMENT_IS_INCLUDED_EVENT_ENGINE_FOR_ALL_OTHER_ENDPOINTS
|
|
214
247
|
inline bool IsEventEngineForAllOtherEndpointsEnabled() { return true; }
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
inline bool IsEventEngineSecureEndpointEnabled() { return true; }
|
|
248
|
+
#define GRPC_EXPERIMENT_IS_INCLUDED_EVENT_ENGINE_POLLER_FOR_PYTHON
|
|
249
|
+
inline bool IsEventEnginePollerForPythonEnabled() { return true; }
|
|
218
250
|
inline bool IsFailRecvMetadataOnDeadlineExceededEnabled() { return false; }
|
|
219
251
|
inline bool IsFreeLargeAllocatorEnabled() { return false; }
|
|
220
252
|
inline bool IsFuseFiltersEnabled() { return false; }
|
|
221
|
-
#define GRPC_EXPERIMENT_IS_INCLUDED_GRACEFUL_EXTERNAL_CONNECTION_FAILURE
|
|
222
|
-
inline bool IsGracefulExternalConnectionFailureEnabled() { return true; }
|
|
223
253
|
inline bool IsKeepAlivePingTimerBatchEnabled() { return false; }
|
|
224
254
|
inline bool IsLocalConnectorSecureEnabled() { return false; }
|
|
225
255
|
#define GRPC_EXPERIMENT_IS_INCLUDED_MAX_INFLIGHT_PINGS_STRICT_LIMIT
|
|
226
256
|
inline bool IsMaxInflightPingsStrictLimitEnabled() { return true; }
|
|
257
|
+
#define GRPC_EXPERIMENT_IS_INCLUDED_METADATA_PUBLISH_TO_APP_TAG
|
|
258
|
+
inline bool IsMetadataPublishToAppTagEnabled() { return true; }
|
|
227
259
|
#define GRPC_EXPERIMENT_IS_INCLUDED_MONITORING_EXPERIMENT
|
|
228
260
|
inline bool IsMonitoringExperimentEnabled() { return true; }
|
|
229
261
|
inline bool IsMultipingEnabled() { return false; }
|
|
230
262
|
inline bool IsOtelExportTelemetryDomainsEnabled() { return false; }
|
|
231
263
|
inline bool IsPickFirstIgnoreEmptyUpdatesEnabled() { return false; }
|
|
232
|
-
|
|
264
|
+
#define GRPC_EXPERIMENT_IS_INCLUDED_PICK_FIRST_READY_TO_CONNECTING
|
|
265
|
+
inline bool IsPickFirstReadyToConnectingEnabled() { return true; }
|
|
233
266
|
inline bool IsPipelinedReadSecureEndpointEnabled() { return false; }
|
|
234
267
|
inline bool IsPollsetAlternativeEnabled() { return false; }
|
|
235
268
|
inline bool IsPrioritizeFinishedRequestsEnabled() { return false; }
|
|
236
269
|
inline bool IsPromiseBasedHttp2ClientTransportEnabled() { return false; }
|
|
237
270
|
inline bool IsPromiseBasedHttp2ServerTransportEnabled() { return false; }
|
|
238
271
|
inline bool IsPromiseBasedInprocTransportEnabled() { return false; }
|
|
272
|
+
inline bool IsPromiseFilterSendCancelMetadataEnabled() { return false; }
|
|
239
273
|
inline bool IsRetryInCallv3Enabled() { return false; }
|
|
240
|
-
inline bool
|
|
274
|
+
inline bool IsReturnPreexistingErrorsEnabled() { return false; }
|
|
275
|
+
#define GRPC_EXPERIMENT_IS_INCLUDED_RR_WRR_CONNECT_FROM_RANDOM_INDEX
|
|
276
|
+
inline bool IsRrWrrConnectFromRandomIndexEnabled() { return true; }
|
|
241
277
|
inline bool IsScheduleCancellationOverWriteEnabled() { return false; }
|
|
242
278
|
inline bool IsSecureEndpointOffloadLargeReadsEnabled() { return false; }
|
|
243
279
|
inline bool IsSecureEndpointOffloadLargeWritesEnabled() { return false; }
|
|
280
|
+
inline bool IsSecureEndpointReadCoalescingEnabled() { return false; }
|
|
244
281
|
inline bool IsSkipClearPeerOnCancellationEnabled() { return false; }
|
|
245
282
|
inline bool IsSleepPromiseExecCtxRemovalEnabled() { return false; }
|
|
246
283
|
#define GRPC_EXPERIMENT_IS_INCLUDED_SLEEP_USE_NON_OWNING_WAKER
|
|
247
284
|
inline bool IsSleepUseNonOwningWakerEnabled() { return true; }
|
|
285
|
+
inline bool IsSubchannelConnectionScalingEnabled() { return false; }
|
|
248
286
|
inline bool IsSubchannelWrapperCleanupOnOrphanEnabled() { return false; }
|
|
249
287
|
inline bool IsTcpFrameSizeTuningEnabled() { return false; }
|
|
250
288
|
inline bool IsTcpRcvLowatEnabled() { return false; }
|
|
251
|
-
inline bool IsTrackWritesInResourceQuotaEnabled() { return false; }
|
|
252
|
-
inline bool IsTrackZeroCopyAllocationsInResourceQuotaEnabled() { return false; }
|
|
253
|
-
inline bool IsTransportStateWatcherEnabled() { return false; }
|
|
254
289
|
inline bool IsTsiFrameProtectorWithoutLocksEnabled() { return false; }
|
|
255
290
|
inline bool IsUnconstrainedMaxQuotaBufferSizeEnabled() { return false; }
|
|
291
|
+
inline bool IsUseCallEventEngineInCompletionQueueEnabled() { return false; }
|
|
292
|
+
inline bool IsWildcardIpExpansionRestrictionEnabled() { return false; }
|
|
293
|
+
#define GRPC_EXPERIMENT_IS_INCLUDED_XDS_CHANNEL_FILTER_CHAIN_PER_ROUTE
|
|
294
|
+
inline bool IsXdsChannelFilterChainPerRouteEnabled() { return true; }
|
|
256
295
|
#endif
|
|
257
296
|
|
|
258
297
|
#else
|
|
259
298
|
enum ExperimentIds {
|
|
299
|
+
kExperimentIdBufferListDeletionPrep,
|
|
260
300
|
kExperimentIdCallTracerInTransport,
|
|
261
|
-
|
|
262
|
-
|
|
301
|
+
kExperimentIdCallTracerSendInitialMetadataIsAnAnnotation,
|
|
302
|
+
kExperimentIdCallTracerSendTrailingMetadataIsAnAnnotation,
|
|
263
303
|
kExperimentIdChaoticGoodConnectDeadline,
|
|
264
304
|
kExperimentIdChaoticGoodFramingLayer,
|
|
265
|
-
|
|
305
|
+
kExperimentIdChaoticGoodSendSupportedFeatures,
|
|
266
306
|
kExperimentIdErrorFlatten,
|
|
267
307
|
kExperimentIdEventEngineClient,
|
|
268
308
|
kExperimentIdEventEngineDns,
|
|
@@ -272,14 +312,13 @@ enum ExperimentIds {
|
|
|
272
312
|
kExperimentIdEventEngineCallbackCq,
|
|
273
313
|
kExperimentIdEventEngineForAllOtherEndpoints,
|
|
274
314
|
kExperimentIdEventEnginePollerForPython,
|
|
275
|
-
kExperimentIdEventEngineSecureEndpoint,
|
|
276
315
|
kExperimentIdFailRecvMetadataOnDeadlineExceeded,
|
|
277
316
|
kExperimentIdFreeLargeAllocator,
|
|
278
317
|
kExperimentIdFuseFilters,
|
|
279
|
-
kExperimentIdGracefulExternalConnectionFailure,
|
|
280
318
|
kExperimentIdKeepAlivePingTimerBatch,
|
|
281
319
|
kExperimentIdLocalConnectorSecure,
|
|
282
320
|
kExperimentIdMaxInflightPingsStrictLimit,
|
|
321
|
+
kExperimentIdMetadataPublishToAppTag,
|
|
283
322
|
kExperimentIdMonitoringExperiment,
|
|
284
323
|
kExperimentIdMultiping,
|
|
285
324
|
kExperimentIdOtelExportTelemetryDomains,
|
|
@@ -291,35 +330,45 @@ enum ExperimentIds {
|
|
|
291
330
|
kExperimentIdPromiseBasedHttp2ClientTransport,
|
|
292
331
|
kExperimentIdPromiseBasedHttp2ServerTransport,
|
|
293
332
|
kExperimentIdPromiseBasedInprocTransport,
|
|
333
|
+
kExperimentIdPromiseFilterSendCancelMetadata,
|
|
294
334
|
kExperimentIdRetryInCallv3,
|
|
335
|
+
kExperimentIdReturnPreexistingErrors,
|
|
295
336
|
kExperimentIdRrWrrConnectFromRandomIndex,
|
|
296
337
|
kExperimentIdScheduleCancellationOverWrite,
|
|
297
338
|
kExperimentIdSecureEndpointOffloadLargeReads,
|
|
298
339
|
kExperimentIdSecureEndpointOffloadLargeWrites,
|
|
340
|
+
kExperimentIdSecureEndpointReadCoalescing,
|
|
299
341
|
kExperimentIdSkipClearPeerOnCancellation,
|
|
300
342
|
kExperimentIdSleepPromiseExecCtxRemoval,
|
|
301
343
|
kExperimentIdSleepUseNonOwningWaker,
|
|
344
|
+
kExperimentIdSubchannelConnectionScaling,
|
|
302
345
|
kExperimentIdSubchannelWrapperCleanupOnOrphan,
|
|
303
346
|
kExperimentIdTcpFrameSizeTuning,
|
|
304
347
|
kExperimentIdTcpRcvLowat,
|
|
305
|
-
kExperimentIdTrackWritesInResourceQuota,
|
|
306
|
-
kExperimentIdTrackZeroCopyAllocationsInResourceQuota,
|
|
307
|
-
kExperimentIdTransportStateWatcher,
|
|
308
348
|
kExperimentIdTsiFrameProtectorWithoutLocks,
|
|
309
349
|
kExperimentIdUnconstrainedMaxQuotaBufferSize,
|
|
350
|
+
kExperimentIdUseCallEventEngineInCompletionQueue,
|
|
351
|
+
kExperimentIdWildcardIpExpansionRestriction,
|
|
352
|
+
kExperimentIdXdsChannelFilterChainPerRoute,
|
|
310
353
|
kNumExperiments
|
|
311
354
|
};
|
|
355
|
+
#define GRPC_EXPERIMENT_IS_INCLUDED_BUFFER_LIST_DELETION_PREP
|
|
356
|
+
inline bool IsBufferListDeletionPrepEnabled() {
|
|
357
|
+
return IsExperimentEnabled<kExperimentIdBufferListDeletionPrep>();
|
|
358
|
+
}
|
|
312
359
|
#define GRPC_EXPERIMENT_IS_INCLUDED_CALL_TRACER_IN_TRANSPORT
|
|
313
360
|
inline bool IsCallTracerInTransportEnabled() {
|
|
314
361
|
return IsExperimentEnabled<kExperimentIdCallTracerInTransport>();
|
|
315
362
|
}
|
|
316
|
-
#define
|
|
317
|
-
inline bool
|
|
318
|
-
return IsExperimentEnabled<
|
|
363
|
+
#define GRPC_EXPERIMENT_IS_INCLUDED_CALL_TRACER_SEND_INITIAL_METADATA_IS_AN_ANNOTATION
|
|
364
|
+
inline bool IsCallTracerSendInitialMetadataIsAnAnnotationEnabled() {
|
|
365
|
+
return IsExperimentEnabled<
|
|
366
|
+
kExperimentIdCallTracerSendInitialMetadataIsAnAnnotation>();
|
|
319
367
|
}
|
|
320
|
-
#define
|
|
321
|
-
inline bool
|
|
322
|
-
return IsExperimentEnabled<
|
|
368
|
+
#define GRPC_EXPERIMENT_IS_INCLUDED_CALL_TRACER_SEND_TRAILING_METADATA_IS_AN_ANNOTATION
|
|
369
|
+
inline bool IsCallTracerSendTrailingMetadataIsAnAnnotationEnabled() {
|
|
370
|
+
return IsExperimentEnabled<
|
|
371
|
+
kExperimentIdCallTracerSendTrailingMetadataIsAnAnnotation>();
|
|
323
372
|
}
|
|
324
373
|
#define GRPC_EXPERIMENT_IS_INCLUDED_CHAOTIC_GOOD_CONNECT_DEADLINE
|
|
325
374
|
inline bool IsChaoticGoodConnectDeadlineEnabled() {
|
|
@@ -329,9 +378,9 @@ inline bool IsChaoticGoodConnectDeadlineEnabled() {
|
|
|
329
378
|
inline bool IsChaoticGoodFramingLayerEnabled() {
|
|
330
379
|
return IsExperimentEnabled<kExperimentIdChaoticGoodFramingLayer>();
|
|
331
380
|
}
|
|
332
|
-
#define
|
|
333
|
-
inline bool
|
|
334
|
-
return IsExperimentEnabled<
|
|
381
|
+
#define GRPC_EXPERIMENT_IS_INCLUDED_CHAOTIC_GOOD_SEND_SUPPORTED_FEATURES
|
|
382
|
+
inline bool IsChaoticGoodSendSupportedFeaturesEnabled() {
|
|
383
|
+
return IsExperimentEnabled<kExperimentIdChaoticGoodSendSupportedFeatures>();
|
|
335
384
|
}
|
|
336
385
|
#define GRPC_EXPERIMENT_IS_INCLUDED_ERROR_FLATTEN
|
|
337
386
|
inline bool IsErrorFlattenEnabled() {
|
|
@@ -369,10 +418,6 @@ inline bool IsEventEngineForAllOtherEndpointsEnabled() {
|
|
|
369
418
|
inline bool IsEventEnginePollerForPythonEnabled() {
|
|
370
419
|
return IsExperimentEnabled<kExperimentIdEventEnginePollerForPython>();
|
|
371
420
|
}
|
|
372
|
-
#define GRPC_EXPERIMENT_IS_INCLUDED_EVENT_ENGINE_SECURE_ENDPOINT
|
|
373
|
-
inline bool IsEventEngineSecureEndpointEnabled() {
|
|
374
|
-
return IsExperimentEnabled<kExperimentIdEventEngineSecureEndpoint>();
|
|
375
|
-
}
|
|
376
421
|
#define GRPC_EXPERIMENT_IS_INCLUDED_FAIL_RECV_METADATA_ON_DEADLINE_EXCEEDED
|
|
377
422
|
inline bool IsFailRecvMetadataOnDeadlineExceededEnabled() {
|
|
378
423
|
return IsExperimentEnabled<kExperimentIdFailRecvMetadataOnDeadlineExceeded>();
|
|
@@ -385,10 +430,6 @@ inline bool IsFreeLargeAllocatorEnabled() {
|
|
|
385
430
|
inline bool IsFuseFiltersEnabled() {
|
|
386
431
|
return IsExperimentEnabled<kExperimentIdFuseFilters>();
|
|
387
432
|
}
|
|
388
|
-
#define GRPC_EXPERIMENT_IS_INCLUDED_GRACEFUL_EXTERNAL_CONNECTION_FAILURE
|
|
389
|
-
inline bool IsGracefulExternalConnectionFailureEnabled() {
|
|
390
|
-
return IsExperimentEnabled<kExperimentIdGracefulExternalConnectionFailure>();
|
|
391
|
-
}
|
|
392
433
|
#define GRPC_EXPERIMENT_IS_INCLUDED_KEEP_ALIVE_PING_TIMER_BATCH
|
|
393
434
|
inline bool IsKeepAlivePingTimerBatchEnabled() {
|
|
394
435
|
return IsExperimentEnabled<kExperimentIdKeepAlivePingTimerBatch>();
|
|
@@ -401,6 +442,10 @@ inline bool IsLocalConnectorSecureEnabled() {
|
|
|
401
442
|
inline bool IsMaxInflightPingsStrictLimitEnabled() {
|
|
402
443
|
return IsExperimentEnabled<kExperimentIdMaxInflightPingsStrictLimit>();
|
|
403
444
|
}
|
|
445
|
+
#define GRPC_EXPERIMENT_IS_INCLUDED_METADATA_PUBLISH_TO_APP_TAG
|
|
446
|
+
inline bool IsMetadataPublishToAppTagEnabled() {
|
|
447
|
+
return IsExperimentEnabled<kExperimentIdMetadataPublishToAppTag>();
|
|
448
|
+
}
|
|
404
449
|
#define GRPC_EXPERIMENT_IS_INCLUDED_MONITORING_EXPERIMENT
|
|
405
450
|
inline bool IsMonitoringExperimentEnabled() {
|
|
406
451
|
return IsExperimentEnabled<kExperimentIdMonitoringExperiment>();
|
|
@@ -445,10 +490,18 @@ inline bool IsPromiseBasedHttp2ServerTransportEnabled() {
|
|
|
445
490
|
inline bool IsPromiseBasedInprocTransportEnabled() {
|
|
446
491
|
return IsExperimentEnabled<kExperimentIdPromiseBasedInprocTransport>();
|
|
447
492
|
}
|
|
493
|
+
#define GRPC_EXPERIMENT_IS_INCLUDED_PROMISE_FILTER_SEND_CANCEL_METADATA
|
|
494
|
+
inline bool IsPromiseFilterSendCancelMetadataEnabled() {
|
|
495
|
+
return IsExperimentEnabled<kExperimentIdPromiseFilterSendCancelMetadata>();
|
|
496
|
+
}
|
|
448
497
|
#define GRPC_EXPERIMENT_IS_INCLUDED_RETRY_IN_CALLV3
|
|
449
498
|
inline bool IsRetryInCallv3Enabled() {
|
|
450
499
|
return IsExperimentEnabled<kExperimentIdRetryInCallv3>();
|
|
451
500
|
}
|
|
501
|
+
#define GRPC_EXPERIMENT_IS_INCLUDED_RETURN_PREEXISTING_ERRORS
|
|
502
|
+
inline bool IsReturnPreexistingErrorsEnabled() {
|
|
503
|
+
return IsExperimentEnabled<kExperimentIdReturnPreexistingErrors>();
|
|
504
|
+
}
|
|
452
505
|
#define GRPC_EXPERIMENT_IS_INCLUDED_RR_WRR_CONNECT_FROM_RANDOM_INDEX
|
|
453
506
|
inline bool IsRrWrrConnectFromRandomIndexEnabled() {
|
|
454
507
|
return IsExperimentEnabled<kExperimentIdRrWrrConnectFromRandomIndex>();
|
|
@@ -465,6 +518,10 @@ inline bool IsSecureEndpointOffloadLargeReadsEnabled() {
|
|
|
465
518
|
inline bool IsSecureEndpointOffloadLargeWritesEnabled() {
|
|
466
519
|
return IsExperimentEnabled<kExperimentIdSecureEndpointOffloadLargeWrites>();
|
|
467
520
|
}
|
|
521
|
+
#define GRPC_EXPERIMENT_IS_INCLUDED_SECURE_ENDPOINT_READ_COALESCING
|
|
522
|
+
inline bool IsSecureEndpointReadCoalescingEnabled() {
|
|
523
|
+
return IsExperimentEnabled<kExperimentIdSecureEndpointReadCoalescing>();
|
|
524
|
+
}
|
|
468
525
|
#define GRPC_EXPERIMENT_IS_INCLUDED_SKIP_CLEAR_PEER_ON_CANCELLATION
|
|
469
526
|
inline bool IsSkipClearPeerOnCancellationEnabled() {
|
|
470
527
|
return IsExperimentEnabled<kExperimentIdSkipClearPeerOnCancellation>();
|
|
@@ -477,6 +534,10 @@ inline bool IsSleepPromiseExecCtxRemovalEnabled() {
|
|
|
477
534
|
inline bool IsSleepUseNonOwningWakerEnabled() {
|
|
478
535
|
return IsExperimentEnabled<kExperimentIdSleepUseNonOwningWaker>();
|
|
479
536
|
}
|
|
537
|
+
#define GRPC_EXPERIMENT_IS_INCLUDED_SUBCHANNEL_CONNECTION_SCALING
|
|
538
|
+
inline bool IsSubchannelConnectionScalingEnabled() {
|
|
539
|
+
return IsExperimentEnabled<kExperimentIdSubchannelConnectionScaling>();
|
|
540
|
+
}
|
|
480
541
|
#define GRPC_EXPERIMENT_IS_INCLUDED_SUBCHANNEL_WRAPPER_CLEANUP_ON_ORPHAN
|
|
481
542
|
inline bool IsSubchannelWrapperCleanupOnOrphanEnabled() {
|
|
482
543
|
return IsExperimentEnabled<kExperimentIdSubchannelWrapperCleanupOnOrphan>();
|
|
@@ -489,19 +550,6 @@ inline bool IsTcpFrameSizeTuningEnabled() {
|
|
|
489
550
|
inline bool IsTcpRcvLowatEnabled() {
|
|
490
551
|
return IsExperimentEnabled<kExperimentIdTcpRcvLowat>();
|
|
491
552
|
}
|
|
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
|
-
}
|
|
505
553
|
#define GRPC_EXPERIMENT_IS_INCLUDED_TSI_FRAME_PROTECTOR_WITHOUT_LOCKS
|
|
506
554
|
inline bool IsTsiFrameProtectorWithoutLocksEnabled() {
|
|
507
555
|
return IsExperimentEnabled<kExperimentIdTsiFrameProtectorWithoutLocks>();
|
|
@@ -510,6 +558,19 @@ inline bool IsTsiFrameProtectorWithoutLocksEnabled() {
|
|
|
510
558
|
inline bool IsUnconstrainedMaxQuotaBufferSizeEnabled() {
|
|
511
559
|
return IsExperimentEnabled<kExperimentIdUnconstrainedMaxQuotaBufferSize>();
|
|
512
560
|
}
|
|
561
|
+
#define GRPC_EXPERIMENT_IS_INCLUDED_USE_CALL_EVENT_ENGINE_IN_COMPLETION_QUEUE
|
|
562
|
+
inline bool IsUseCallEventEngineInCompletionQueueEnabled() {
|
|
563
|
+
return IsExperimentEnabled<
|
|
564
|
+
kExperimentIdUseCallEventEngineInCompletionQueue>();
|
|
565
|
+
}
|
|
566
|
+
#define GRPC_EXPERIMENT_IS_INCLUDED_WILDCARD_IP_EXPANSION_RESTRICTION
|
|
567
|
+
inline bool IsWildcardIpExpansionRestrictionEnabled() {
|
|
568
|
+
return IsExperimentEnabled<kExperimentIdWildcardIpExpansionRestriction>();
|
|
569
|
+
}
|
|
570
|
+
#define GRPC_EXPERIMENT_IS_INCLUDED_XDS_CHANNEL_FILTER_CHAIN_PER_ROUTE
|
|
571
|
+
inline bool IsXdsChannelFilterChainPerRouteEnabled() {
|
|
572
|
+
return IsExperimentEnabled<kExperimentIdXdsChannelFilterChainPerRoute>();
|
|
573
|
+
}
|
|
513
574
|
|
|
514
575
|
extern const ExperimentMetadata g_experiment_metadata[kNumExperiments];
|
|
515
576
|
|
|
@@ -108,7 +108,7 @@ class EventEngineEndpointWrapper {
|
|
|
108
108
|
read_buffer->Clear();
|
|
109
109
|
return endpoint_->Read(
|
|
110
110
|
[this](absl::Status status) { FinishPendingRead(status); }, read_buffer,
|
|
111
|
-
|
|
111
|
+
args);
|
|
112
112
|
}
|
|
113
113
|
|
|
114
114
|
void FinishPendingRead(absl::Status status) {
|
|
@@ -302,7 +302,7 @@ void EndpointRead(grpc_endpoint* ep, grpc_slice_buffer* slices,
|
|
|
302
302
|
|
|
303
303
|
EventEngine::Endpoint::ReadArgs read_args;
|
|
304
304
|
read_args.set_read_hint_bytes(min_progress_size);
|
|
305
|
-
if (eeep->wrapper->Read(cb, slices,
|
|
305
|
+
if (eeep->wrapper->Read(cb, slices, read_args)) {
|
|
306
306
|
// Read succeeded immediately. Run the callback inline.
|
|
307
307
|
eeep->wrapper->FinishPendingRead(absl::OkStatus());
|
|
308
308
|
}
|
|
@@ -53,6 +53,7 @@
|
|
|
53
53
|
#include "src/core/lib/event_engine/shim.h"
|
|
54
54
|
#include "src/core/lib/experiments/experiments.h"
|
|
55
55
|
#include "src/core/lib/iomgr/buffer_list.h"
|
|
56
|
+
#include "src/core/lib/iomgr/error.h"
|
|
56
57
|
#include "src/core/lib/iomgr/ev_posix.h"
|
|
57
58
|
#include "src/core/lib/iomgr/event_engine_shims/endpoint.h"
|
|
58
59
|
#include "src/core/lib/iomgr/socket_utils_posix.h"
|
|
@@ -753,8 +754,10 @@ static void tcp_free(grpc_tcp* tcp) {
|
|
|
753
754
|
grpc_fd_orphan(tcp->em_fd, tcp->release_fd_cb, tcp->release_fd,
|
|
754
755
|
"tcp_unref_orphan");
|
|
755
756
|
grpc_slice_buffer_destroy(&tcp->last_read_buffer);
|
|
756
|
-
|
|
757
|
-
|
|
757
|
+
if (!grpc_core::IsBufferListDeletionPrepEnabled()) {
|
|
758
|
+
tcp->tb_list.Shutdown(tcp->outgoing_buffer_arg,
|
|
759
|
+
GRPC_ERROR_CREATE("endpoint destroyed"));
|
|
760
|
+
}
|
|
758
761
|
tcp->outgoing_buffer_arg = nullptr;
|
|
759
762
|
delete tcp;
|
|
760
763
|
}
|
|
@@ -1278,8 +1281,11 @@ static bool tcp_write_with_timestamps(grpc_tcp* tcp, struct msghdr* msg,
|
|
|
1278
1281
|
*sent_length = length;
|
|
1279
1282
|
// Only save timestamps if all the bytes were taken by sendmsg.
|
|
1280
1283
|
if (sending_length == static_cast<size_t>(length)) {
|
|
1281
|
-
|
|
1282
|
-
|
|
1284
|
+
if (!grpc_core::IsBufferListDeletionPrepEnabled()) {
|
|
1285
|
+
tcp->tb_list.AddNewEntry(
|
|
1286
|
+
static_cast<uint32_t>(tcp->bytes_counter + length), tcp->fd,
|
|
1287
|
+
tcp->outgoing_buffer_arg);
|
|
1288
|
+
}
|
|
1283
1289
|
tcp->outgoing_buffer_arg = nullptr;
|
|
1284
1290
|
}
|
|
1285
1291
|
return true;
|
|
@@ -1367,7 +1373,9 @@ struct cmsghdr* process_timestamp(grpc_tcp* tcp, msghdr* msg,
|
|
|
1367
1373
|
LOG(ERROR) << "Unexpected control message";
|
|
1368
1374
|
return cmsg;
|
|
1369
1375
|
}
|
|
1370
|
-
|
|
1376
|
+
if (!grpc_core::IsBufferListDeletionPrepEnabled()) {
|
|
1377
|
+
tcp->tb_list.ProcessTimestamp(serr, opt_stats, tss);
|
|
1378
|
+
}
|
|
1371
1379
|
return next_cmsg;
|
|
1372
1380
|
}
|
|
1373
1381
|
|
|
@@ -65,11 +65,6 @@ void grpc_tcp_server_shutdown_starting_add(grpc_tcp_server* s,
|
|
|
65
65
|
grpc_tcp_server_impl->shutdown_starting_add(s, shutdown_starting);
|
|
66
66
|
}
|
|
67
67
|
|
|
68
|
-
void grpc_tcp_server_shutdown_ending_add(grpc_tcp_server* s,
|
|
69
|
-
grpc_closure* shutdown_ending) {
|
|
70
|
-
grpc_tcp_server_impl->shutdown_ending_add(s, shutdown_ending);
|
|
71
|
-
}
|
|
72
|
-
|
|
73
68
|
void grpc_tcp_server_unref(grpc_tcp_server* s) {
|
|
74
69
|
grpc_tcp_server_impl->unref(s);
|
|
75
70
|
}
|
|
@@ -78,8 +78,6 @@ typedef struct grpc_tcp_server_vtable {
|
|
|
78
78
|
grpc_tcp_server* (*ref)(grpc_tcp_server* s);
|
|
79
79
|
void (*shutdown_starting_add)(grpc_tcp_server* s,
|
|
80
80
|
grpc_closure* shutdown_starting);
|
|
81
|
-
void (*shutdown_ending_add)(grpc_tcp_server* s,
|
|
82
|
-
grpc_closure* shutdown_ending);
|
|
83
81
|
void (*unref)(grpc_tcp_server* s);
|
|
84
82
|
void (*shutdown_listeners)(grpc_tcp_server* s);
|
|
85
83
|
int (*pre_allocated_fd)(grpc_tcp_server* s);
|
|
@@ -137,11 +135,6 @@ grpc_tcp_server* grpc_tcp_server_ref(grpc_tcp_server* s);
|
|
|
137
135
|
void grpc_tcp_server_shutdown_starting_add(grpc_tcp_server* s,
|
|
138
136
|
grpc_closure* shutdown_starting);
|
|
139
137
|
|
|
140
|
-
// shutdown_ending is called when ref count has reached zero and the server
|
|
141
|
-
// has just been destroyed. Calling grpc_tcp_server_ref() from it has no effect.
|
|
142
|
-
void grpc_tcp_server_shutdown_ending_add(grpc_tcp_server* s,
|
|
143
|
-
grpc_closure* shutdown_ending);
|
|
144
|
-
|
|
145
138
|
// If the refcount drops to zero, enqueue calls on exec_ctx to
|
|
146
139
|
// shutdown_listeners and delete s.
|
|
147
140
|
void grpc_tcp_server_unref(grpc_tcp_server* s);
|
|
@@ -91,12 +91,6 @@ using ::grpc_event_engine::experimental::SliceBuffer;
|
|
|
91
91
|
static void finish_shutdown(grpc_tcp_server* s) {
|
|
92
92
|
gpr_mu_lock(&s->mu);
|
|
93
93
|
GRPC_CHECK(s->shutdown);
|
|
94
|
-
if (grpc_core::ExecCtx::Get() == nullptr) {
|
|
95
|
-
grpc_core::ExecCtx exec_ctx;
|
|
96
|
-
grpc_core::ExecCtx::RunList(DEBUG_LOCATION, &s->shutdown_ending);
|
|
97
|
-
} else {
|
|
98
|
-
grpc_core::ExecCtx::RunList(DEBUG_LOCATION, &s->shutdown_ending);
|
|
99
|
-
}
|
|
100
94
|
gpr_mu_unlock(&s->mu);
|
|
101
95
|
if (s->shutdown_complete != nullptr) {
|
|
102
96
|
grpc_core::ExecCtx::Run(DEBUG_LOCATION, s->shutdown_complete,
|
|
@@ -285,8 +279,6 @@ static grpc_error_handle tcp_server_create(grpc_closure* shutdown_complete,
|
|
|
285
279
|
s->shutdown = false;
|
|
286
280
|
s->shutdown_starting.head = nullptr;
|
|
287
281
|
s->shutdown_starting.tail = nullptr;
|
|
288
|
-
s->shutdown_ending.head = nullptr;
|
|
289
|
-
s->shutdown_ending.tail = nullptr;
|
|
290
282
|
if (!grpc_event_engine::experimental::UseEventEngineListener()) {
|
|
291
283
|
s->shutdown_complete = shutdown_complete;
|
|
292
284
|
} else {
|
|
@@ -844,14 +836,6 @@ static void tcp_server_shutdown_starting_add(grpc_tcp_server* s,
|
|
|
844
836
|
gpr_mu_unlock(&s->mu);
|
|
845
837
|
}
|
|
846
838
|
|
|
847
|
-
static void tcp_server_shutdown_ending_add(grpc_tcp_server* s,
|
|
848
|
-
grpc_closure* shutdown_ending) {
|
|
849
|
-
gpr_mu_lock(&s->mu);
|
|
850
|
-
grpc_closure_list_append(&s->shutdown_ending, shutdown_ending,
|
|
851
|
-
absl::OkStatus());
|
|
852
|
-
gpr_mu_unlock(&s->mu);
|
|
853
|
-
}
|
|
854
|
-
|
|
855
839
|
static void tcp_server_unref(grpc_tcp_server* s) {
|
|
856
840
|
if (gpr_unref(&s->refs)) {
|
|
857
841
|
grpc_tcp_server_shutdown_listeners(s);
|
|
@@ -990,7 +974,6 @@ grpc_tcp_server_vtable grpc_posix_tcp_server_vtable = {
|
|
|
990
974
|
tcp_server_port_fd,
|
|
991
975
|
tcp_server_ref,
|
|
992
976
|
tcp_server_shutdown_starting_add,
|
|
993
|
-
tcp_server_shutdown_ending_add,
|
|
994
977
|
tcp_server_unref,
|
|
995
978
|
tcp_server_shutdown_listeners,
|
|
996
979
|
tcp_server_pre_allocated_fd,
|