grpc 1.73.0 → 1.75.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 +116 -53
- data/include/grpc/create_channel_from_endpoint.h +54 -0
- data/include/grpc/credentials.h +18 -6
- data/include/grpc/event_engine/event_engine.h +74 -17
- data/include/grpc/grpc_posix.h +20 -1
- data/include/grpc/impl/channel_arg_names.h +2 -4
- data/include/grpc/module.modulemap +1 -0
- data/include/grpc/support/json.h +24 -0
- data/src/core/call/client_call.cc +4 -4
- data/src/core/call/filter_fusion.h +1230 -0
- data/src/core/call/interception_chain.h +7 -11
- data/src/core/call/metadata.cc +22 -0
- data/src/core/call/metadata.h +24 -2
- data/src/core/channelz/channel_trace.cc +213 -115
- data/src/core/channelz/channel_trace.h +380 -86
- data/src/core/channelz/channelz.cc +274 -192
- data/src/core/channelz/channelz.h +224 -72
- data/src/core/channelz/channelz_registry.cc +2 -163
- data/src/core/channelz/channelz_registry.h +37 -6
- data/src/core/channelz/property_list.cc +353 -0
- data/src/core/channelz/property_list.h +204 -0
- data/src/core/channelz/v2tov1/convert.cc +683 -0
- data/src/core/channelz/v2tov1/convert.h +58 -0
- data/src/core/channelz/v2tov1/legacy_api.cc +425 -0
- data/src/core/channelz/v2tov1/legacy_api.h +32 -0
- data/src/core/channelz/v2tov1/property_list.cc +118 -0
- data/src/core/channelz/v2tov1/property_list.h +52 -0
- data/src/core/channelz/ztrace_collector.h +3 -2
- data/src/core/client_channel/backup_poller.cc +17 -2
- data/src/core/client_channel/client_channel.cc +17 -28
- data/src/core/client_channel/client_channel_filter.cc +24 -33
- data/src/core/client_channel/client_channel_filter.h +2 -2
- data/src/core/client_channel/client_channel_internal.h +2 -1
- data/src/core/client_channel/config_selector.h +8 -2
- data/src/core/client_channel/dynamic_filters.cc +5 -6
- data/src/core/client_channel/dynamic_filters.h +1 -1
- data/src/core/client_channel/global_subchannel_pool.cc +4 -1
- data/src/core/client_channel/load_balanced_call_destination.cc +6 -5
- data/src/core/client_channel/retry_filter.cc +21 -27
- data/src/core/client_channel/retry_filter.h +10 -7
- data/src/core/client_channel/retry_filter_legacy_call_data.cc +5 -5
- data/src/core/client_channel/retry_filter_legacy_call_data.h +1 -1
- data/src/core/client_channel/retry_interceptor.cc +30 -44
- data/src/core/client_channel/retry_interceptor.h +18 -17
- data/src/core/client_channel/retry_throttle.cc +46 -61
- data/src/core/client_channel/retry_throttle.h +17 -39
- data/src/core/client_channel/subchannel.cc +57 -25
- data/src/core/client_channel/subchannel.h +10 -0
- data/src/core/config/config_vars.cc +2 -0
- data/src/core/config/core_configuration.cc +4 -1
- data/src/core/config/core_configuration.h +23 -0
- data/src/core/credentials/call/call_creds_registry.h +125 -0
- data/src/core/credentials/call/call_creds_registry_init.cc +91 -0
- data/src/core/credentials/call/gcp_service_account_identity/gcp_service_account_identity_credentials.cc +6 -48
- data/src/core/credentials/call/jwt_token_file/jwt_token_file_call_credentials.cc +86 -0
- data/src/core/credentials/call/jwt_token_file/jwt_token_file_call_credentials.h +74 -0
- data/src/core/credentials/call/jwt_util.cc +70 -0
- data/src/core/credentials/call/jwt_util.h +32 -0
- data/src/core/credentials/transport/alts/alts_credentials.cc +5 -0
- data/src/core/credentials/transport/alts/check_gcp_environment_windows.cc +2 -0
- data/src/core/credentials/transport/channel_creds_registry_init.cc +4 -2
- data/src/core/credentials/transport/google_default/google_default_credentials.cc +72 -4
- data/src/core/credentials/transport/ssl/ssl_credentials.cc +1 -2
- data/src/core/credentials/transport/ssl/ssl_security_connector.cc +8 -3
- data/src/core/credentials/transport/tls/grpc_tls_certificate_distributor.cc +29 -24
- data/src/core/credentials/transport/tls/grpc_tls_certificate_distributor.h +19 -8
- data/src/core/credentials/transport/tls/grpc_tls_certificate_provider.cc +96 -54
- data/src/core/credentials/transport/tls/grpc_tls_certificate_provider.h +15 -2
- data/src/core/credentials/transport/tls/load_system_roots_supported.cc +1 -0
- data/src/core/credentials/transport/tls/spiffe_utils.cc +371 -0
- data/src/core/credentials/transport/tls/spiffe_utils.h +171 -0
- data/src/core/credentials/transport/tls/ssl_utils.cc +11 -10
- data/src/core/credentials/transport/tls/ssl_utils.h +4 -2
- data/src/core/credentials/transport/tls/tls_credentials.cc +2 -0
- data/src/core/credentials/transport/tls/tls_security_connector.cc +11 -26
- data/src/core/credentials/transport/tls/tls_security_connector.h +12 -12
- data/src/core/credentials/transport/xds/xds_credentials.cc +0 -3
- data/src/core/ext/filters/backend_metrics/backend_metric_filter.cc +1 -2
- data/src/core/ext/filters/gcp_authentication/gcp_authentication_filter.cc +8 -8
- data/src/core/ext/filters/gcp_authentication/gcp_authentication_filter.h +16 -16
- data/src/core/ext/filters/http/client/http_client_filter.cc +3 -6
- data/src/core/ext/filters/http/client_authority_filter.cc +3 -6
- data/src/core/ext/filters/http/message_compress/compression_filter.cc +8 -8
- data/src/core/ext/filters/http/message_compress/compression_filter.h +25 -22
- data/src/core/ext/filters/http/server/http_server_filter.cc +3 -6
- data/src/core/ext/filters/http/server/http_server_filter.h +12 -11
- data/src/core/ext/filters/message_size/message_size_filter.cc +4 -4
- data/src/core/ext/filters/rbac/rbac_filter.cc +1 -1
- data/src/core/ext/filters/stateful_session/stateful_session_filter.cc +3 -5
- data/src/core/ext/transport/chttp2/client/chttp2_connector.cc +120 -35
- data/src/core/ext/transport/chttp2/server/chttp2_server.cc +6 -5
- data/src/core/ext/transport/chttp2/transport/chttp2_transport.cc +165 -117
- data/src/core/ext/transport/chttp2/transport/chttp2_transport.h +0 -3
- data/src/core/ext/transport/chttp2/transport/decode_huff.cc +1239 -3514
- data/src/core/ext/transport/chttp2/transport/decode_huff.h +1008 -1486
- data/src/core/ext/transport/chttp2/transport/flow_control.cc +1 -0
- data/src/core/ext/transport/chttp2/transport/flow_control.h +23 -17
- data/src/core/ext/transport/chttp2/transport/frame.cc +99 -6
- data/src/core/ext/transport/chttp2/transport/frame.h +40 -2
- data/src/core/ext/transport/chttp2/transport/frame_data.cc +1 -1
- data/src/core/ext/transport/chttp2/transport/frame_settings.cc +7 -8
- data/src/core/ext/transport/chttp2/transport/frame_window_update.cc +4 -5
- data/src/core/ext/transport/chttp2/transport/header_assembler.h +290 -0
- data/src/core/ext/transport/chttp2/transport/hpack_parser.cc +1 -1
- data/src/core/ext/transport/chttp2/transport/hpack_parser.h +4 -1
- data/src/core/ext/transport/chttp2/transport/hpack_parser_table.cc +11 -5
- data/src/core/ext/transport/chttp2/transport/hpack_parser_table.h +12 -1
- data/src/core/ext/transport/chttp2/transport/http2_client_transport.cc +1233 -0
- data/src/core/ext/transport/chttp2/transport/http2_client_transport.h +712 -0
- data/src/core/ext/transport/chttp2/transport/http2_settings.cc +11 -38
- data/src/core/ext/transport/chttp2/transport/http2_settings.h +65 -51
- data/src/core/ext/transport/chttp2/transport/http2_settings_manager.cc +61 -0
- data/src/core/ext/transport/chttp2/transport/http2_settings_manager.h +142 -0
- data/{third_party/abseil-cpp/absl/strings/cord_buffer.cc → src/core/ext/transport/chttp2/transport/http2_stats_collector.cc} +14 -14
- data/src/core/ext/transport/chttp2/transport/http2_stats_collector.h +33 -0
- data/src/core/ext/transport/chttp2/transport/http2_status.h +6 -1
- data/src/core/ext/transport/chttp2/transport/http2_transport.cc +121 -0
- data/src/core/ext/transport/chttp2/transport/http2_transport.h +76 -0
- data/src/core/ext/transport/chttp2/transport/http2_ztrace_collector.h +0 -29
- data/src/core/ext/transport/chttp2/transport/internal.h +18 -8
- data/src/core/ext/transport/chttp2/transport/keepalive.cc +105 -0
- data/src/core/ext/transport/chttp2/transport/keepalive.h +138 -0
- data/src/core/ext/transport/chttp2/transport/message_assembler.h +185 -0
- data/src/core/ext/transport/chttp2/transport/parsing.cc +4 -5
- data/src/core/ext/transport/chttp2/transport/ping_callbacks.h +19 -0
- data/src/core/ext/transport/chttp2/transport/ping_promise.cc +152 -0
- data/src/core/ext/transport/chttp2/transport/ping_promise.h +197 -0
- data/src/core/ext/transport/chttp2/transport/ping_rate_policy.cc +5 -9
- data/src/core/ext/transport/chttp2/transport/ping_rate_policy.h +11 -0
- data/src/core/ext/transport/chttp2/transport/stream_data_queue.h +607 -0
- data/src/core/ext/transport/chttp2/transport/stream_lists.cc +39 -1
- data/src/core/ext/transport/chttp2/transport/transport_common.cc +19 -0
- data/src/core/ext/transport/chttp2/transport/transport_common.h +27 -0
- data/src/core/ext/transport/chttp2/transport/writable_streams.h +254 -0
- data/src/core/ext/transport/chttp2/transport/writing.cc +41 -13
- data/src/core/ext/upb-gen/src/proto/grpc/channelz/channelz.upb.h +4959 -0
- data/src/core/ext/upb-gen/src/proto/grpc/channelz/channelz.upb_minitable.c +1111 -0
- data/src/core/ext/upb-gen/src/proto/grpc/channelz/channelz.upb_minitable.h +108 -0
- data/src/core/ext/upb-gen/src/proto/grpc/channelz/v2/channelz.upb.h +571 -0
- data/src/core/ext/upb-gen/src/proto/grpc/channelz/v2/channelz.upb_minitable.c +120 -0
- data/src/core/ext/upb-gen/src/proto/grpc/channelz/v2/channelz.upb_minitable.h +36 -0
- data/src/core/ext/upb-gen/src/proto/grpc/channelz/v2/promise.upb.h +1272 -0
- data/src/core/ext/upb-gen/src/proto/grpc/channelz/v2/promise.upb_minitable.c +312 -0
- data/src/core/ext/upb-gen/src/proto/grpc/channelz/v2/promise.upb_minitable.h +50 -0
- data/src/core/ext/upb-gen/src/proto/grpc/channelz/v2/property_list.upb.h +1072 -0
- data/src/core/ext/upb-gen/src/proto/grpc/channelz/v2/property_list.upb_minitable.c +230 -0
- data/src/core/ext/upb-gen/src/proto/grpc/channelz/v2/property_list.upb_minitable.h +44 -0
- data/src/core/ext/upbdefs-gen/src/proto/grpc/channelz/channelz.upbdefs.c +716 -0
- data/src/core/ext/upbdefs-gen/src/proto/grpc/channelz/channelz.upbdefs.h +227 -0
- data/src/core/ext/upbdefs-gen/src/proto/grpc/channelz/v2/promise.upbdefs.c +175 -0
- data/src/core/ext/upbdefs-gen/src/proto/grpc/channelz/v2/promise.upbdefs.h +82 -0
- data/src/core/ext/upbdefs-gen/src/proto/grpc/channelz/v2/property_list.upbdefs.c +133 -0
- data/src/core/ext/upbdefs-gen/src/proto/grpc/channelz/v2/property_list.upbdefs.h +67 -0
- data/src/core/filter/auth/auth_filters.h +2 -27
- data/src/core/filter/auth/client_auth_filter.cc +0 -118
- data/src/core/filter/filter_args.h +9 -23
- data/src/core/filter/fused_filters.cc +154 -0
- data/src/core/handshaker/handshaker.cc +23 -14
- data/src/core/handshaker/handshaker.h +3 -0
- data/src/core/handshaker/http_connect/http_connect_handshaker.cc +3 -1
- data/src/core/handshaker/security/legacy_secure_endpoint.cc +7 -6
- data/src/core/handshaker/security/pipelined_secure_endpoint.cc +965 -0
- data/src/core/handshaker/security/secure_endpoint.cc +98 -38
- data/src/core/handshaker/security/secure_endpoint.h +8 -0
- data/src/core/handshaker/security/security_handshaker.cc +4 -1
- data/src/core/handshaker/tcp_connect/tcp_connect_handshaker.cc +7 -1
- data/src/core/lib/channel/channel_args.cc +15 -0
- data/src/core/lib/channel/channel_args.h +3 -0
- data/src/core/lib/channel/channel_stack.cc +22 -23
- data/src/core/lib/channel/channel_stack.h +9 -7
- data/src/core/lib/channel/channel_stack_builder_impl.cc +1 -1
- data/src/core/lib/channel/channel_stack_builder_impl.h +2 -7
- data/src/core/lib/channel/promise_based_filter.cc +15 -25
- data/src/core/lib/channel/promise_based_filter.h +11 -10
- data/src/core/lib/debug/trace_impl.h +0 -1
- data/src/core/lib/event_engine/ares_resolver.cc +165 -46
- data/src/core/lib/event_engine/ares_resolver.h +51 -3
- data/src/core/lib/event_engine/cf_engine/cf_engine.cc +12 -6
- data/src/core/lib/event_engine/cf_engine/cf_engine.h +2 -4
- data/src/core/lib/event_engine/cf_engine/cfsocket_listener.cc +263 -0
- data/src/core/lib/event_engine/cf_engine/cfsocket_listener.h +107 -0
- data/src/core/lib/event_engine/cf_engine/cfstream_endpoint.cc +31 -3
- data/src/core/lib/event_engine/cf_engine/cfstream_endpoint.h +14 -6
- data/src/core/lib/event_engine/endpoint_channel_arg_wrapper.cc +40 -0
- data/src/core/lib/event_engine/endpoint_channel_arg_wrapper.h +60 -0
- data/src/core/lib/event_engine/event_engine.cc +7 -0
- data/src/core/lib/event_engine/extensions/channelz.h +10 -6
- data/src/core/lib/event_engine/grpc_polled_fd.h +5 -0
- data/src/core/lib/event_engine/posix_engine/ev_epoll1_linux.cc +139 -169
- data/src/core/lib/event_engine/posix_engine/ev_epoll1_linux.h +17 -19
- data/src/core/lib/event_engine/posix_engine/ev_poll_posix.cc +90 -131
- data/src/core/lib/event_engine/posix_engine/ev_poll_posix.h +13 -13
- data/src/core/lib/event_engine/posix_engine/event_poller.h +18 -23
- data/src/core/lib/event_engine/posix_engine/event_poller_posix_default.cc +11 -23
- data/src/core/lib/event_engine/posix_engine/event_poller_posix_default.h +3 -2
- data/src/core/lib/event_engine/posix_engine/file_descriptor_collection.cc +124 -0
- data/src/core/lib/event_engine/posix_engine/file_descriptor_collection.h +243 -0
- data/src/core/lib/event_engine/posix_engine/grpc_polled_fd_posix.h +30 -19
- data/src/core/lib/event_engine/posix_engine/internal_errqueue.cc +6 -2
- data/src/core/lib/event_engine/posix_engine/internal_errqueue.h +6 -1
- data/src/core/lib/event_engine/posix_engine/lockfree_event.cc +4 -4
- data/src/core/lib/event_engine/posix_engine/lockfree_event.h +3 -4
- data/src/core/lib/event_engine/posix_engine/posix_endpoint.cc +147 -94
- data/src/core/lib/event_engine/posix_engine/posix_endpoint.h +9 -19
- data/src/core/lib/event_engine/posix_engine/posix_engine.cc +435 -229
- data/src/core/lib/event_engine/posix_engine/posix_engine.h +78 -50
- data/src/core/lib/event_engine/posix_engine/posix_engine_listener.cc +46 -38
- data/src/core/lib/event_engine/posix_engine/posix_engine_listener.h +6 -4
- data/src/core/lib/event_engine/posix_engine/posix_engine_listener_utils.cc +32 -142
- data/src/core/lib/event_engine/posix_engine/posix_engine_listener_utils.h +6 -5
- data/src/core/lib/event_engine/posix_engine/posix_interface.h +211 -0
- data/src/core/lib/event_engine/posix_engine/posix_interface_posix.cc +1083 -0
- data/src/core/lib/event_engine/posix_engine/posix_interface_windows.cc +281 -0
- data/src/core/lib/event_engine/posix_engine/posix_write_event_sink.cc +154 -0
- data/src/core/lib/event_engine/posix_engine/posix_write_event_sink.h +174 -0
- data/src/core/lib/event_engine/posix_engine/tcp_socket_utils.cc +3 -719
- data/src/core/lib/event_engine/posix_engine/tcp_socket_utils.h +11 -171
- data/src/core/lib/event_engine/posix_engine/timer_manager.cc +33 -22
- data/src/core/lib/event_engine/posix_engine/timer_manager.h +13 -11
- data/src/core/lib/event_engine/posix_engine/traced_buffer_list.cc +117 -151
- data/src/core/lib/event_engine/posix_engine/traced_buffer_list.h +26 -94
- data/src/core/lib/event_engine/posix_engine/wakeup_fd_eventfd.cc +26 -25
- data/src/core/lib/event_engine/posix_engine/wakeup_fd_eventfd.h +6 -2
- data/src/core/lib/event_engine/posix_engine/wakeup_fd_pipe.cc +36 -62
- data/src/core/lib/event_engine/posix_engine/wakeup_fd_pipe.h +6 -2
- data/src/core/lib/event_engine/posix_engine/wakeup_fd_posix.h +7 -6
- data/src/core/lib/event_engine/posix_engine/wakeup_fd_posix_default.cc +12 -6
- data/src/core/lib/event_engine/posix_engine/wakeup_fd_posix_default.h +3 -1
- data/src/core/lib/event_engine/shim.cc +9 -0
- data/src/core/lib/event_engine/shim.h +3 -0
- data/src/core/lib/event_engine/thread_pool/thread_pool.h +7 -3
- data/src/core/lib/event_engine/thread_pool/thread_pool_factory.cc +0 -17
- data/src/core/lib/event_engine/thread_pool/work_stealing_thread_pool.cc +4 -2
- data/src/core/lib/event_engine/thread_pool/work_stealing_thread_pool.h +3 -2
- data/src/core/lib/event_engine/windows/grpc_polled_fd_windows.cc +6 -1
- data/src/core/lib/event_engine/windows/grpc_polled_fd_windows.h +4 -0
- data/src/core/lib/event_engine/windows/windows_endpoint.h +2 -6
- data/src/core/lib/event_engine/windows/windows_engine.cc +0 -1
- data/src/core/lib/event_engine/windows/windows_engine.h +1 -3
- data/src/core/lib/event_engine/windows/windows_listener.cc +14 -2
- data/src/core/lib/experiments/experiments.cc +165 -99
- data/src/core/lib/experiments/experiments.h +65 -52
- data/src/core/lib/iomgr/combiner.cc +1 -1
- data/src/core/lib/iomgr/endpoint.cc +4 -3
- data/src/core/lib/iomgr/endpoint.h +7 -4
- data/src/core/lib/iomgr/endpoint_cfstream.cc +3 -2
- data/src/core/lib/iomgr/ev_epoll1_linux.cc +7 -2
- data/src/core/lib/iomgr/ev_poll_posix.cc +7 -2
- data/src/core/lib/iomgr/event_engine_shims/endpoint.cc +4 -6
- data/src/core/lib/iomgr/exec_ctx.h +3 -9
- data/src/core/lib/iomgr/socket_mutator.cc +1 -1
- data/src/core/lib/iomgr/socket_utils_posix.cc +1 -1
- data/src/core/lib/iomgr/socket_utils_posix.h +1 -1
- data/src/core/lib/iomgr/tcp_client_posix.cc +1 -1
- data/src/core/lib/iomgr/tcp_posix.cc +15 -9
- data/src/core/lib/iomgr/tcp_windows.cc +3 -2
- data/src/core/lib/promise/activity.h +3 -2
- data/src/core/lib/promise/arena_promise.h +23 -7
- data/src/core/lib/promise/detail/promise_factory.h +10 -0
- data/src/core/lib/promise/detail/promise_like.h +118 -11
- data/src/core/lib/promise/detail/promise_variant.h +50 -0
- data/src/core/lib/promise/detail/seq_state.h +687 -548
- data/src/core/lib/promise/if.h +20 -0
- data/src/core/lib/promise/inter_activity_latch.h +147 -0
- data/src/core/lib/promise/inter_activity_mutex.h +547 -0
- data/src/core/lib/promise/loop.h +65 -3
- data/src/core/lib/promise/map.h +24 -0
- data/src/core/lib/promise/match_promise.h +103 -0
- data/src/core/lib/promise/mpsc.cc +425 -0
- data/src/core/lib/promise/mpsc.h +490 -0
- data/src/core/lib/promise/party.cc +55 -6
- data/src/core/lib/promise/party.h +68 -3
- data/src/core/lib/promise/poll.h +10 -0
- data/src/core/lib/promise/race.h +31 -0
- data/src/core/lib/promise/seq.h +4 -1
- data/src/core/lib/promise/status_flag.h +7 -0
- data/src/core/lib/promise/try_seq.h +4 -1
- data/src/core/lib/promise/wait_set.cc +28 -0
- data/src/core/lib/promise/wait_set.h +86 -0
- data/src/core/lib/resource_quota/arena.h +19 -0
- data/src/core/lib/resource_quota/memory_quota.cc +90 -3
- data/src/core/lib/resource_quota/memory_quota.h +20 -9
- data/src/core/lib/resource_quota/periodic_update.cc +14 -0
- data/src/core/lib/resource_quota/periodic_update.h +8 -0
- data/src/core/lib/resource_quota/resource_quota.cc +15 -4
- data/src/core/lib/resource_quota/resource_quota.h +3 -0
- data/src/core/lib/security/authorization/grpc_server_authz_filter.cc +1 -2
- data/src/core/lib/slice/slice.h +5 -0
- data/src/core/lib/surface/call.cc +5 -5
- data/src/core/lib/surface/call.h +6 -5
- data/src/core/lib/surface/channel_create.cc +88 -13
- data/src/core/lib/surface/channel_create.h +4 -0
- data/src/core/lib/surface/channel_init.cc +164 -47
- data/src/core/lib/surface/channel_init.h +64 -1
- data/src/core/lib/surface/completion_queue.cc +2 -4
- data/src/core/lib/surface/filter_stack_call.cc +19 -10
- data/src/core/lib/surface/init.cc +6 -15
- data/src/core/lib/surface/legacy_channel.cc +3 -5
- data/src/core/lib/surface/legacy_channel.h +3 -1
- data/src/core/lib/surface/version.cc +2 -2
- data/src/core/lib/transport/promise_endpoint.cc +110 -0
- data/src/core/lib/transport/promise_endpoint.h +307 -0
- data/src/core/load_balancing/child_policy_handler.cc +2 -4
- data/src/core/load_balancing/delegating_helper.h +2 -3
- data/src/core/load_balancing/endpoint_list.cc +29 -2
- data/src/core/load_balancing/grpclb/client_load_reporting_filter.cc +3 -3
- data/src/core/load_balancing/grpclb/client_load_reporting_filter.h +1 -1
- data/src/core/load_balancing/health_check_client.cc +1 -5
- data/src/core/load_balancing/lb_policy.h +1 -3
- data/src/core/load_balancing/oob_backend_metric.cc +1 -5
- data/src/core/load_balancing/pick_first/pick_first.cc +15 -5
- data/src/core/load_balancing/xds/cds.cc +10 -1
- data/src/core/load_balancing/xds/xds_cluster_impl.cc +5 -3
- data/src/core/net/socket_mutator.cc +19 -0
- data/src/core/net/socket_mutator.h +25 -0
- data/src/core/plugin_registry/grpc_plugin_registry.cc +6 -0
- data/src/core/plugin_registry/grpc_plugin_registry_extra.cc +2 -0
- data/src/core/resolver/dns/c_ares/grpc_ares_ev_driver.h +6 -1
- data/src/core/resolver/dns/c_ares/grpc_ares_ev_driver_windows.cc +2 -1
- data/src/core/resolver/dns/c_ares/grpc_ares_wrapper.cc +8 -5
- data/src/core/resolver/dns/c_ares/grpc_ares_wrapper.h +2 -1
- data/src/core/resolver/xds/xds_config.cc +6 -3
- data/src/core/resolver/xds/xds_config.h +9 -4
- data/src/core/resolver/xds/xds_dependency_manager.cc +22 -7
- data/src/core/resolver/xds/xds_dependency_manager.h +2 -1
- data/src/core/resolver/xds/xds_resolver.cc +31 -11
- data/src/core/server/server.cc +84 -13
- data/src/core/server/server.h +21 -2
- data/src/core/server/server_call_tracer_filter.cc +0 -66
- data/src/core/server/server_call_tracer_filter.h +64 -0
- data/src/core/server/server_config_selector_filter.cc +1 -1
- data/src/core/server/xds_server_config_fetcher.cc +63 -25
- data/src/core/service_config/service_config.h +1 -1
- data/src/core/service_config/service_config_channel_arg_filter.cc +3 -60
- data/src/core/service_config/service_config_channel_arg_filter.h +82 -0
- data/src/core/service_config/service_config_impl.h +1 -1
- data/src/core/telemetry/call_tracer.cc +20 -14
- data/src/core/telemetry/call_tracer.h +22 -17
- data/src/core/telemetry/context_list_entry.cc +38 -0
- data/src/core/telemetry/context_list_entry.h +42 -12
- data/src/core/telemetry/metrics.h +8 -8
- data/src/core/telemetry/stats_data.cc +369 -343
- data/src/core/telemetry/stats_data.h +341 -244
- data/src/core/telemetry/tcp_tracer.h +1 -1
- data/src/core/transport/auth_context.cc +20 -0
- data/src/core/transport/auth_context.h +4 -0
- data/src/core/transport/auth_context_comparator_registry.h +69 -0
- data/src/core/tsi/alts/handshaker/alts_handshaker_client.cc +2 -3
- data/src/core/tsi/alts/zero_copy_frame_protector/alts_zero_copy_grpc_protector.cc +11 -3
- data/src/core/tsi/fake_transport_security.cc +17 -0
- data/src/core/tsi/ssl_transport_security.cc +205 -32
- data/src/core/tsi/ssl_transport_security.h +19 -10
- data/src/core/tsi/ssl_transport_security_utils.cc +21 -0
- data/src/core/tsi/ssl_transport_security_utils.h +4 -0
- data/src/core/tsi/transport_security_grpc.cc +8 -0
- data/src/core/tsi/transport_security_grpc.h +15 -0
- data/src/core/util/backoff.cc +1 -5
- data/src/core/util/backoff.h +1 -0
- data/src/core/util/down_cast.h +1 -1
- data/src/core/util/function_signature.h +15 -1
- data/src/core/util/http_client/httpcli.cc +12 -5
- data/src/core/util/http_client/httpcli.h +4 -1
- data/src/core/util/http_client/httpcli_security_connector.cc +3 -1
- data/src/core/util/latent_see.cc +178 -146
- data/src/core/util/latent_see.h +249 -189
- data/src/core/util/log.cc +4 -0
- data/src/core/util/memory_usage.h +268 -0
- data/src/core/util/per_cpu.cc +2 -0
- data/src/core/util/per_cpu.h +7 -0
- data/src/core/util/shared_bit_gen.h +20 -0
- data/src/core/util/single_set_ptr.h +7 -4
- data/src/core/util/upb_utils.h +42 -0
- data/src/core/util/uri.cc +3 -2
- data/src/core/util/useful.h +144 -2
- data/src/core/util/wait_for_single_owner.cc +31 -0
- data/src/core/util/wait_for_single_owner.h +24 -0
- data/src/core/util/windows/directory_reader.cc +1 -0
- data/src/core/util/windows/thd.cc +1 -3
- data/src/core/util/work_serializer.cc +1 -1
- data/src/core/xds/grpc/file_watcher_certificate_provider_factory.cc +32 -5
- data/src/core/xds/grpc/file_watcher_certificate_provider_factory.h +5 -0
- data/src/core/xds/grpc/xds_bootstrap_grpc.cc +2 -0
- data/src/core/xds/grpc/xds_bootstrap_grpc.h +5 -0
- data/src/core/xds/grpc/xds_certificate_provider.cc +5 -6
- data/src/core/xds/grpc/xds_client_grpc.cc +6 -2
- data/src/core/xds/grpc/xds_common_types_parser.cc +138 -50
- data/src/core/xds/grpc/xds_common_types_parser.h +12 -0
- data/src/core/xds/grpc/xds_http_filter.h +7 -0
- data/src/core/xds/grpc/xds_http_gcp_authn_filter.cc +22 -0
- data/src/core/xds/grpc/xds_http_gcp_authn_filter.h +3 -0
- data/src/core/xds/grpc/xds_route_config_parser.cc +15 -38
- data/src/core/xds/grpc/xds_server_grpc.cc +63 -13
- data/src/core/xds/grpc/xds_server_grpc.h +10 -2
- data/src/core/xds/grpc/xds_server_grpc_interface.h +4 -0
- data/src/core/xds/grpc/xds_transport_grpc.cc +18 -0
- data/src/core/xds/xds_client/xds_bootstrap.h +2 -0
- data/src/core/xds/xds_client/xds_client.cc +26 -5
- data/src/ruby/ext/grpc/extconf.rb +2 -0
- data/src/ruby/ext/grpc/rb_call.c +1 -8
- data/src/ruby/ext/grpc/rb_channel.c +70 -557
- data/src/ruby/ext/grpc/rb_channel.h +0 -3
- data/src/ruby/ext/grpc/rb_completion_queue.c +26 -14
- data/src/ruby/ext/grpc/rb_completion_queue.h +1 -7
- data/src/ruby/ext/grpc/rb_grpc.c +9 -5
- data/src/ruby/ext/grpc/rb_grpc_imports.generated.h +2 -2
- data/src/ruby/ext/grpc/rb_loader.c +0 -4
- data/src/ruby/ext/grpc/rb_server.c +31 -50
- data/src/ruby/lib/grpc/generic/client_stub.rb +4 -4
- data/src/ruby/lib/grpc/version.rb +1 -1
- data/src/ruby/spec/core_spec.rb +22 -0
- data/src/ruby/spec/generic/active_call_spec.rb +1 -1
- data/third_party/abseil-cpp/absl/algorithm/container.h +2 -19
- data/third_party/abseil-cpp/absl/base/attributes.h +76 -7
- data/third_party/abseil-cpp/absl/base/call_once.h +11 -12
- data/third_party/abseil-cpp/absl/base/config.h +20 -129
- data/third_party/abseil-cpp/absl/base/{internal/fast_type_id.h → fast_type_id.h} +11 -16
- data/third_party/abseil-cpp/absl/base/internal/cycleclock.cc +0 -5
- data/third_party/abseil-cpp/absl/base/internal/cycleclock_config.h +7 -7
- data/third_party/abseil-cpp/absl/base/internal/endian.h +34 -38
- data/third_party/abseil-cpp/absl/base/internal/iterator_traits.h +71 -0
- data/third_party/abseil-cpp/absl/base/internal/low_level_alloc.cc +6 -5
- data/third_party/abseil-cpp/absl/base/internal/{nullability_impl.h → nullability_deprecated.h} +45 -8
- data/third_party/abseil-cpp/absl/base/internal/spinlock.cc +0 -9
- data/third_party/abseil-cpp/absl/base/internal/spinlock.h +3 -13
- data/third_party/abseil-cpp/absl/base/internal/unaligned_access.h +6 -6
- data/third_party/abseil-cpp/absl/base/internal/unscaledcycleclock.h +8 -3
- data/third_party/abseil-cpp/absl/base/no_destructor.h +11 -32
- data/third_party/abseil-cpp/absl/base/nullability.h +84 -72
- data/third_party/abseil-cpp/absl/base/options.h +3 -80
- data/third_party/abseil-cpp/absl/base/policy_checks.h +7 -7
- data/third_party/abseil-cpp/absl/cleanup/cleanup.h +1 -3
- data/third_party/abseil-cpp/absl/cleanup/internal/cleanup.h +3 -4
- data/third_party/abseil-cpp/absl/container/btree_map.h +4 -2
- data/third_party/abseil-cpp/absl/container/btree_set.h +4 -2
- data/third_party/abseil-cpp/absl/container/fixed_array.h +7 -14
- data/third_party/abseil-cpp/absl/container/flat_hash_map.h +5 -0
- data/third_party/abseil-cpp/absl/container/flat_hash_set.h +6 -1
- data/third_party/abseil-cpp/absl/container/inlined_vector.h +8 -5
- data/third_party/abseil-cpp/absl/container/internal/btree.h +132 -29
- data/third_party/abseil-cpp/absl/container/internal/btree_container.h +175 -71
- data/third_party/abseil-cpp/absl/container/internal/common.h +43 -0
- data/third_party/abseil-cpp/absl/container/internal/common_policy_traits.h +1 -2
- data/third_party/abseil-cpp/absl/container/internal/container_memory.h +9 -10
- data/third_party/abseil-cpp/absl/container/internal/hash_function_defaults.h +1 -8
- data/third_party/abseil-cpp/absl/container/internal/hash_policy_traits.h +0 -4
- data/third_party/abseil-cpp/absl/container/internal/hashtable_control_bytes.h +527 -0
- data/third_party/abseil-cpp/absl/container/internal/hashtablez_sampler.cc +20 -4
- data/third_party/abseil-cpp/absl/container/internal/hashtablez_sampler.h +31 -12
- data/third_party/abseil-cpp/absl/container/internal/inlined_vector.h +2 -7
- data/third_party/abseil-cpp/absl/container/internal/layout.h +26 -42
- data/third_party/abseil-cpp/absl/container/internal/raw_hash_map.h +199 -68
- data/third_party/abseil-cpp/absl/container/internal/raw_hash_set.cc +1354 -183
- data/third_party/abseil-cpp/absl/container/internal/raw_hash_set.h +881 -1424
- data/third_party/abseil-cpp/absl/container/internal/raw_hash_set_resize_impl.h +80 -0
- data/third_party/abseil-cpp/absl/crc/crc32c.cc +0 -4
- data/third_party/abseil-cpp/absl/crc/crc32c.h +7 -5
- data/third_party/abseil-cpp/absl/crc/internal/crc32_x86_arm_combined_simd.h +0 -22
- data/third_party/abseil-cpp/absl/crc/internal/crc_x86_arm_combined.cc +45 -74
- data/third_party/abseil-cpp/absl/debugging/internal/addresses.h +57 -0
- data/third_party/abseil-cpp/absl/debugging/internal/decode_rust_punycode.cc +1 -1
- data/third_party/abseil-cpp/absl/debugging/internal/decode_rust_punycode.h +5 -5
- data/third_party/abseil-cpp/absl/debugging/internal/demangle.cc +8 -35
- data/third_party/abseil-cpp/absl/debugging/internal/demangle_rust.cc +16 -16
- data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_aarch64-inl.inc +40 -37
- data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_arm-inl.inc +16 -7
- data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_emscripten-inl.inc +14 -5
- data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_generic-inl.inc +10 -4
- data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_powerpc-inl.inc +27 -16
- data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_riscv-inl.inc +13 -4
- data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_unimplemented-inl.inc +4 -3
- data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_win32-inl.inc +15 -28
- data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_x86-inl.inc +19 -9
- data/third_party/abseil-cpp/absl/debugging/stacktrace.cc +144 -27
- data/third_party/abseil-cpp/absl/debugging/stacktrace.h +73 -5
- data/third_party/abseil-cpp/absl/debugging/symbolize_elf.inc +19 -9
- data/third_party/abseil-cpp/absl/debugging/symbolize_emscripten.inc +3 -2
- data/third_party/abseil-cpp/absl/debugging/symbolize_win32.inc +25 -6
- data/third_party/abseil-cpp/absl/flags/commandlineflag.h +2 -2
- data/third_party/abseil-cpp/absl/flags/flag.h +4 -3
- data/third_party/abseil-cpp/absl/flags/internal/commandlineflag.h +2 -2
- data/third_party/abseil-cpp/absl/flags/internal/flag.cc +2 -1
- data/third_party/abseil-cpp/absl/flags/internal/flag.h +7 -6
- data/third_party/abseil-cpp/absl/flags/internal/registry.h +4 -3
- data/third_party/abseil-cpp/absl/flags/reflection.cc +2 -3
- data/third_party/abseil-cpp/absl/functional/any_invocable.h +8 -10
- data/third_party/abseil-cpp/absl/functional/function_ref.h +2 -9
- data/third_party/abseil-cpp/absl/functional/internal/any_invocable.h +110 -226
- data/third_party/abseil-cpp/absl/functional/internal/front_binder.h +10 -12
- data/third_party/abseil-cpp/absl/functional/internal/function_ref.h +2 -5
- data/third_party/abseil-cpp/absl/hash/hash.h +18 -0
- data/third_party/abseil-cpp/absl/hash/internal/hash.cc +1 -5
- data/third_party/abseil-cpp/absl/hash/internal/hash.h +86 -61
- data/third_party/abseil-cpp/absl/hash/internal/low_level_hash.cc +25 -68
- data/third_party/abseil-cpp/absl/hash/internal/low_level_hash.h +2 -6
- data/third_party/abseil-cpp/absl/hash/internal/weakly_mixed_integer.h +38 -0
- data/third_party/abseil-cpp/absl/log/check.h +2 -1
- data/third_party/abseil-cpp/absl/log/globals.h +4 -5
- data/third_party/abseil-cpp/absl/log/internal/append_truncated.h +28 -0
- data/third_party/abseil-cpp/absl/log/internal/check_op.cc +22 -22
- data/third_party/abseil-cpp/absl/log/internal/check_op.h +65 -62
- data/third_party/abseil-cpp/absl/log/internal/conditions.cc +5 -3
- data/third_party/abseil-cpp/absl/log/internal/conditions.h +7 -2
- data/third_party/abseil-cpp/absl/log/internal/log_message.cc +85 -43
- data/third_party/abseil-cpp/absl/log/internal/log_message.h +84 -59
- data/third_party/abseil-cpp/absl/log/internal/nullstream.h +1 -0
- data/third_party/abseil-cpp/absl/log/internal/proto.cc +3 -2
- data/third_party/abseil-cpp/absl/log/internal/proto.h +3 -3
- data/third_party/abseil-cpp/absl/log/internal/strip.h +4 -12
- data/third_party/abseil-cpp/absl/log/internal/vlog_config.h +8 -6
- data/third_party/abseil-cpp/absl/log/internal/voidify.h +10 -4
- data/third_party/abseil-cpp/absl/log/log.h +48 -35
- data/third_party/abseil-cpp/absl/log/log_sink_registry.h +2 -2
- data/third_party/abseil-cpp/absl/meta/type_traits.h +46 -175
- data/third_party/abseil-cpp/absl/numeric/bits.h +68 -2
- data/third_party/abseil-cpp/absl/numeric/int128.cc +0 -52
- data/third_party/abseil-cpp/absl/numeric/internal/bits.h +7 -3
- data/third_party/abseil-cpp/absl/profiling/internal/exponential_biased.cc +1 -1
- data/third_party/abseil-cpp/absl/random/bit_gen_ref.h +10 -11
- data/third_party/abseil-cpp/absl/random/distributions.h +6 -8
- data/third_party/abseil-cpp/absl/random/gaussian_distribution.h +1 -1
- data/third_party/abseil-cpp/absl/random/internal/distribution_caller.h +5 -6
- data/third_party/abseil-cpp/absl/random/internal/{pool_urbg.cc → entropy_pool.cc} +22 -90
- data/third_party/abseil-cpp/absl/random/internal/entropy_pool.h +35 -0
- data/third_party/abseil-cpp/absl/random/internal/nonsecure_base.h +5 -6
- data/third_party/abseil-cpp/absl/random/internal/randen_detect.cc +1 -1
- data/third_party/abseil-cpp/absl/random/internal/seed_material.cc +20 -12
- data/third_party/abseil-cpp/absl/random/internal/seed_material.h +5 -5
- data/third_party/abseil-cpp/absl/random/random.h +88 -53
- data/third_party/abseil-cpp/absl/random/seed_sequences.cc +6 -2
- data/third_party/abseil-cpp/absl/status/internal/status_internal.cc +3 -4
- data/third_party/abseil-cpp/absl/status/internal/status_internal.h +3 -4
- data/third_party/abseil-cpp/absl/status/internal/statusor_internal.h +4 -3
- data/third_party/abseil-cpp/absl/status/status.cc +4 -8
- data/third_party/abseil-cpp/absl/status/status.h +8 -8
- data/third_party/abseil-cpp/absl/status/status_payload_printer.h +2 -2
- data/third_party/abseil-cpp/absl/status/statusor.cc +2 -2
- data/third_party/abseil-cpp/absl/status/statusor.h +6 -6
- data/third_party/abseil-cpp/absl/strings/ascii.cc +9 -9
- data/third_party/abseil-cpp/absl/strings/ascii.h +18 -18
- data/third_party/abseil-cpp/absl/strings/charconv.cc +21 -22
- data/third_party/abseil-cpp/absl/strings/charconv.h +5 -5
- data/third_party/abseil-cpp/absl/strings/cord.cc +54 -58
- data/third_party/abseil-cpp/absl/strings/cord.h +94 -83
- data/third_party/abseil-cpp/absl/strings/cord_analysis.cc +11 -11
- data/third_party/abseil-cpp/absl/strings/cord_analysis.h +3 -3
- data/third_party/abseil-cpp/absl/strings/escaping.cc +130 -149
- data/third_party/abseil-cpp/absl/strings/escaping.h +9 -10
- data/third_party/abseil-cpp/absl/strings/internal/charconv_bigint.cc +1 -1
- data/third_party/abseil-cpp/absl/strings/internal/cord_internal.h +6 -8
- data/third_party/abseil-cpp/absl/strings/internal/cord_rep_btree.cc +0 -4
- data/third_party/abseil-cpp/absl/strings/internal/cordz_info.cc +0 -4
- data/third_party/abseil-cpp/absl/strings/internal/str_format/arg.cc +7 -63
- data/third_party/abseil-cpp/absl/strings/internal/str_format/arg.h +1 -11
- data/third_party/abseil-cpp/absl/strings/internal/str_format/extension.cc +0 -22
- data/third_party/abseil-cpp/absl/strings/internal/str_format/output.cc +5 -3
- data/third_party/abseil-cpp/absl/strings/internal/str_format/parser.h +4 -2
- data/third_party/abseil-cpp/absl/strings/internal/str_join_internal.h +3 -3
- data/third_party/abseil-cpp/absl/strings/internal/string_constant.h +0 -5
- data/third_party/abseil-cpp/absl/strings/internal/utf8.cc +96 -1
- data/third_party/abseil-cpp/absl/strings/internal/utf8.h +15 -1
- data/third_party/abseil-cpp/absl/strings/numbers.cc +53 -32
- data/third_party/abseil-cpp/absl/strings/numbers.h +87 -58
- data/third_party/abseil-cpp/absl/strings/str_cat.cc +6 -7
- data/third_party/abseil-cpp/absl/strings/str_cat.h +32 -32
- data/third_party/abseil-cpp/absl/strings/str_format.h +18 -18
- data/third_party/abseil-cpp/absl/strings/str_replace.cc +3 -3
- data/third_party/abseil-cpp/absl/strings/str_replace.h +6 -6
- data/third_party/abseil-cpp/absl/strings/string_view.cc +4 -9
- data/third_party/abseil-cpp/absl/strings/string_view.h +27 -32
- data/third_party/abseil-cpp/absl/strings/strip.h +4 -4
- data/third_party/abseil-cpp/absl/strings/substitute.cc +5 -4
- data/third_party/abseil-cpp/absl/strings/substitute.h +66 -64
- data/third_party/abseil-cpp/absl/synchronization/internal/futex_waiter.cc +0 -4
- data/third_party/abseil-cpp/absl/synchronization/internal/kernel_timeout.cc +0 -5
- data/third_party/abseil-cpp/absl/synchronization/internal/pthread_waiter.cc +0 -4
- data/third_party/abseil-cpp/absl/synchronization/internal/sem_waiter.cc +0 -4
- data/third_party/abseil-cpp/absl/synchronization/internal/stdcpp_waiter.cc +0 -4
- data/third_party/abseil-cpp/absl/synchronization/internal/waiter_base.cc +0 -4
- data/third_party/abseil-cpp/absl/synchronization/internal/win32_waiter.cc +0 -4
- data/third_party/abseil-cpp/absl/synchronization/mutex.cc +1 -1
- data/third_party/abseil-cpp/absl/synchronization/mutex.h +97 -69
- data/third_party/abseil-cpp/absl/synchronization/notification.h +1 -1
- data/third_party/abseil-cpp/absl/time/civil_time.cc +1 -0
- data/third_party/abseil-cpp/absl/time/duration.cc +12 -7
- data/third_party/abseil-cpp/absl/time/internal/cctz/include/cctz/time_zone.h +1 -1
- data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_lookup.cc +90 -111
- data/third_party/abseil-cpp/absl/time/time.h +20 -15
- data/third_party/abseil-cpp/absl/types/optional.h +7 -747
- data/third_party/abseil-cpp/absl/types/span.h +13 -11
- data/third_party/abseil-cpp/absl/types/variant.h +5 -784
- data/third_party/abseil-cpp/absl/utility/utility.h +10 -185
- data/third_party/cares/cares/include/ares.h +925 -460
- data/third_party/cares/cares/include/ares_dns.h +86 -71
- data/third_party/cares/cares/include/ares_dns_record.h +1118 -0
- data/third_party/cares/cares/include/ares_nameser.h +215 -189
- data/third_party/cares/cares/include/ares_version.h +37 -14
- data/third_party/cares/cares/src/lib/ares_addrinfo2hostent.c +305 -0
- data/third_party/cares/cares/src/lib/ares_addrinfo_localhost.c +245 -0
- data/third_party/cares/cares/src/lib/ares_android.c +216 -164
- data/third_party/cares/cares/src/lib/ares_android.h +25 -14
- data/third_party/cares/cares/src/lib/ares_cancel.c +68 -44
- data/third_party/cares/cares/src/lib/ares_close_sockets.c +137 -0
- data/third_party/cares/cares/src/lib/ares_conn.c +511 -0
- data/third_party/cares/cares/src/lib/ares_conn.h +196 -0
- data/third_party/cares/cares/src/lib/ares_cookie.c +461 -0
- data/third_party/cares/cares/src/lib/ares_data.c +93 -181
- data/third_party/cares/cares/src/lib/ares_data.h +50 -39
- data/third_party/cares/cares/src/lib/ares_destroy.c +127 -89
- data/third_party/cares/cares/src/lib/ares_free_hostent.c +35 -24
- data/third_party/cares/cares/src/lib/ares_free_string.c +24 -16
- data/third_party/cares/cares/src/lib/ares_freeaddrinfo.c +45 -38
- data/third_party/cares/cares/src/lib/ares_getaddrinfo.c +549 -663
- data/third_party/cares/cares/src/lib/ares_getenv.c +25 -15
- data/third_party/cares/cares/src/lib/ares_getenv.h +26 -18
- data/third_party/cares/cares/src/lib/ares_gethostbyaddr.c +163 -221
- data/third_party/cares/cares/src/lib/ares_gethostbyname.c +222 -223
- data/third_party/cares/cares/src/lib/ares_getnameinfo.c +328 -338
- data/third_party/cares/cares/src/lib/ares_hosts_file.c +952 -0
- data/third_party/cares/cares/src/lib/ares_inet_net_pton.h +25 -19
- data/third_party/cares/cares/src/lib/ares_init.c +425 -2091
- data/third_party/cares/cares/src/lib/ares_ipv6.h +63 -33
- data/third_party/cares/cares/src/lib/ares_library_init.c +110 -54
- data/third_party/cares/cares/src/lib/ares_metrics.c +261 -0
- data/third_party/cares/cares/src/lib/ares_options.c +418 -332
- data/third_party/cares/cares/src/lib/ares_parse_into_addrinfo.c +179 -0
- data/third_party/cares/cares/src/lib/ares_private.h +558 -356
- data/third_party/cares/cares/src/lib/ares_process.c +1224 -1369
- data/third_party/cares/cares/src/lib/ares_qcache.c +430 -0
- data/third_party/cares/cares/src/lib/ares_query.c +126 -121
- data/third_party/cares/cares/src/lib/ares_search.c +564 -262
- data/third_party/cares/cares/src/lib/ares_send.c +264 -93
- data/third_party/cares/cares/src/lib/ares_set_socket_functions.c +588 -0
- data/third_party/cares/cares/src/lib/ares_setup.h +115 -111
- data/third_party/cares/cares/src/lib/ares_socket.c +425 -0
- data/third_party/cares/cares/src/lib/ares_socket.h +163 -0
- data/third_party/cares/cares/src/lib/ares_sortaddrinfo.c +447 -0
- data/third_party/cares/cares/src/lib/ares_strerror.c +83 -48
- data/third_party/cares/cares/src/lib/ares_sysconfig.c +639 -0
- data/third_party/cares/cares/src/lib/ares_sysconfig_files.c +839 -0
- data/third_party/cares/cares/src/lib/ares_sysconfig_mac.c +373 -0
- data/third_party/cares/cares/src/lib/ares_sysconfig_win.c +621 -0
- data/third_party/cares/cares/src/lib/ares_timeout.c +136 -73
- data/third_party/cares/cares/src/lib/ares_update_servers.c +1362 -0
- data/third_party/cares/cares/src/lib/ares_version.c +29 -4
- data/third_party/cares/cares/src/lib/config-dos.h +88 -89
- data/third_party/cares/cares/src/lib/config-win32.h +122 -77
- data/third_party/cares/cares/src/lib/dsa/ares_array.c +394 -0
- data/third_party/cares/cares/src/lib/dsa/ares_htable.c +447 -0
- data/third_party/cares/cares/src/lib/dsa/ares_htable.h +174 -0
- data/third_party/cares/cares/src/lib/dsa/ares_htable_asvp.c +224 -0
- data/third_party/cares/cares/src/lib/dsa/ares_htable_dict.c +228 -0
- data/third_party/cares/cares/src/lib/dsa/ares_htable_strvp.c +210 -0
- data/third_party/cares/cares/src/lib/dsa/ares_htable_szvp.c +188 -0
- data/third_party/cares/cares/src/lib/dsa/ares_htable_vpstr.c +186 -0
- data/third_party/cares/cares/src/lib/dsa/ares_htable_vpvp.c +194 -0
- data/third_party/cares/cares/src/lib/dsa/ares_llist.c +382 -0
- data/third_party/cares/cares/src/lib/dsa/ares_slist.c +479 -0
- data/third_party/cares/cares/src/lib/dsa/ares_slist.h +207 -0
- data/third_party/cares/cares/src/lib/event/ares_event.h +191 -0
- data/third_party/cares/cares/src/lib/event/ares_event_configchg.c +743 -0
- data/third_party/cares/cares/src/lib/event/ares_event_epoll.c +192 -0
- data/third_party/cares/cares/src/lib/event/ares_event_kqueue.c +248 -0
- data/third_party/cares/cares/src/lib/event/ares_event_poll.c +140 -0
- data/third_party/cares/cares/src/lib/event/ares_event_select.c +159 -0
- data/third_party/cares/cares/src/lib/event/ares_event_thread.c +567 -0
- data/third_party/cares/cares/src/lib/event/ares_event_wake_pipe.c +166 -0
- data/third_party/cares/cares/src/lib/event/ares_event_win32.c +978 -0
- data/third_party/cares/cares/src/lib/event/ares_event_win32.h +161 -0
- data/third_party/cares/cares/src/lib/include/ares_array.h +276 -0
- data/third_party/cares/cares/src/lib/include/ares_buf.h +732 -0
- data/third_party/cares/cares/src/lib/include/ares_htable_asvp.h +130 -0
- data/third_party/cares/cares/src/lib/include/ares_htable_dict.h +123 -0
- data/third_party/cares/cares/src/lib/include/ares_htable_strvp.h +130 -0
- data/third_party/cares/cares/src/lib/include/ares_htable_szvp.h +118 -0
- data/third_party/cares/cares/src/lib/include/ares_htable_vpstr.h +111 -0
- data/third_party/cares/cares/src/lib/include/ares_htable_vpvp.h +128 -0
- data/third_party/cares/cares/src/lib/include/ares_llist.h +239 -0
- data/third_party/cares/cares/src/lib/include/ares_mem.h +38 -0
- data/third_party/cares/cares/src/lib/include/ares_str.h +244 -0
- data/third_party/cares/cares/src/lib/inet_net_pton.c +202 -157
- data/third_party/cares/cares/src/lib/inet_ntop.c +87 -69
- data/third_party/cares/cares/src/lib/legacy/ares_create_query.c +78 -0
- data/third_party/cares/cares/src/lib/legacy/ares_expand_name.c +99 -0
- data/third_party/cares/cares/src/lib/legacy/ares_expand_string.c +107 -0
- data/third_party/cares/cares/src/lib/legacy/ares_fds.c +80 -0
- data/third_party/cares/cares/src/lib/legacy/ares_getsock.c +85 -0
- data/third_party/cares/cares/src/lib/legacy/ares_parse_a_reply.c +107 -0
- data/third_party/cares/cares/src/lib/legacy/ares_parse_aaaa_reply.c +109 -0
- data/third_party/cares/cares/src/lib/legacy/ares_parse_caa_reply.c +137 -0
- data/third_party/cares/cares/src/lib/legacy/ares_parse_mx_reply.c +110 -0
- data/third_party/cares/cares/src/lib/legacy/ares_parse_naptr_reply.c +132 -0
- data/third_party/cares/cares/src/lib/legacy/ares_parse_ns_reply.c +154 -0
- data/third_party/cares/cares/src/lib/legacy/ares_parse_ptr_reply.c +213 -0
- data/third_party/cares/cares/src/lib/legacy/ares_parse_soa_reply.c +115 -0
- data/third_party/cares/cares/src/lib/legacy/ares_parse_srv_reply.c +114 -0
- data/third_party/cares/cares/src/lib/legacy/ares_parse_txt_reply.c +144 -0
- data/third_party/cares/cares/src/lib/legacy/ares_parse_uri_reply.c +113 -0
- data/third_party/cares/cares/src/lib/record/ares_dns_mapping.c +982 -0
- data/third_party/cares/cares/src/lib/record/ares_dns_multistring.c +307 -0
- data/third_party/cares/cares/src/lib/record/ares_dns_multistring.h +72 -0
- data/third_party/cares/cares/src/lib/record/ares_dns_name.c +673 -0
- data/third_party/cares/cares/src/lib/record/ares_dns_parse.c +1329 -0
- data/third_party/cares/cares/src/lib/record/ares_dns_private.h +273 -0
- data/third_party/cares/cares/src/lib/record/ares_dns_record.c +1661 -0
- data/third_party/cares/cares/src/lib/record/ares_dns_write.c +1229 -0
- data/third_party/cares/cares/src/lib/str/ares_buf.c +1498 -0
- data/third_party/cares/cares/src/lib/str/ares_str.c +508 -0
- data/third_party/cares/cares/src/lib/str/ares_strsplit.c +90 -0
- data/third_party/cares/cares/src/lib/str/ares_strsplit.h +51 -0
- data/third_party/cares/cares/src/lib/thirdparty/apple/dnsinfo.h +122 -0
- data/third_party/cares/cares/src/lib/util/ares_iface_ips.c +628 -0
- data/third_party/cares/cares/src/lib/util/ares_iface_ips.h +139 -0
- data/third_party/cares/cares/src/lib/util/ares_math.c +158 -0
- data/third_party/cares/cares/src/lib/util/ares_math.h +45 -0
- data/third_party/cares/cares/src/lib/util/ares_rand.c +389 -0
- data/third_party/cares/cares/src/lib/util/ares_rand.h +36 -0
- data/third_party/cares/cares/src/lib/util/ares_threads.c +614 -0
- data/third_party/cares/cares/src/lib/util/ares_threads.h +60 -0
- data/third_party/cares/cares/src/lib/util/ares_time.h +48 -0
- data/third_party/cares/cares/src/lib/util/ares_timeval.c +95 -0
- data/third_party/cares/cares/src/lib/util/ares_uri.c +1626 -0
- data/third_party/cares/cares/src/lib/util/ares_uri.h +252 -0
- data/third_party/cares/cares/src/lib/windows_port.c +16 -9
- metadata +192 -68
- data/src/core/lib/event_engine/forkable.cc +0 -105
- data/src/core/lib/event_engine/forkable.h +0 -67
- data/src/core/lib/iomgr/python_util.h +0 -46
- data/src/core/util/ring_buffer.h +0 -122
- data/third_party/abseil-cpp/absl/base/internal/inline_variable.h +0 -108
- data/third_party/abseil-cpp/absl/base/internal/invoke.h +0 -241
- data/third_party/abseil-cpp/absl/log/log_entry.cc +0 -41
- data/third_party/abseil-cpp/absl/random/internal/pool_urbg.h +0 -131
- data/third_party/abseil-cpp/absl/types/bad_optional_access.cc +0 -66
- data/third_party/abseil-cpp/absl/types/bad_optional_access.h +0 -78
- data/third_party/abseil-cpp/absl/types/bad_variant_access.cc +0 -82
- data/third_party/abseil-cpp/absl/types/bad_variant_access.h +0 -82
- data/third_party/abseil-cpp/absl/types/internal/optional.h +0 -352
- data/third_party/abseil-cpp/absl/types/internal/variant.h +0 -1622
- data/third_party/cares/cares/include/ares_rules.h +0 -125
- data/third_party/cares/cares/src/lib/ares__addrinfo2hostent.c +0 -266
- data/third_party/cares/cares/src/lib/ares__addrinfo_localhost.c +0 -240
- data/third_party/cares/cares/src/lib/ares__close_sockets.c +0 -61
- data/third_party/cares/cares/src/lib/ares__get_hostent.c +0 -260
- data/third_party/cares/cares/src/lib/ares__parse_into_addrinfo.c +0 -229
- data/third_party/cares/cares/src/lib/ares__read_line.c +0 -73
- data/third_party/cares/cares/src/lib/ares__readaddrinfo.c +0 -258
- data/third_party/cares/cares/src/lib/ares__sortaddrinfo.c +0 -507
- data/third_party/cares/cares/src/lib/ares__timeval.c +0 -111
- data/third_party/cares/cares/src/lib/ares_create_query.c +0 -197
- data/third_party/cares/cares/src/lib/ares_expand_name.c +0 -311
- data/third_party/cares/cares/src/lib/ares_expand_string.c +0 -67
- data/third_party/cares/cares/src/lib/ares_fds.c +0 -59
- data/third_party/cares/cares/src/lib/ares_getsock.c +0 -66
- data/third_party/cares/cares/src/lib/ares_iphlpapi.h +0 -221
- data/third_party/cares/cares/src/lib/ares_llist.c +0 -63
- data/third_party/cares/cares/src/lib/ares_llist.h +0 -39
- data/third_party/cares/cares/src/lib/ares_mkquery.c +0 -24
- data/third_party/cares/cares/src/lib/ares_nowarn.c +0 -260
- data/third_party/cares/cares/src/lib/ares_nowarn.h +0 -61
- data/third_party/cares/cares/src/lib/ares_parse_a_reply.c +0 -90
- data/third_party/cares/cares/src/lib/ares_parse_aaaa_reply.c +0 -92
- data/third_party/cares/cares/src/lib/ares_parse_caa_reply.c +0 -199
- data/third_party/cares/cares/src/lib/ares_parse_mx_reply.c +0 -164
- data/third_party/cares/cares/src/lib/ares_parse_naptr_reply.c +0 -183
- data/third_party/cares/cares/src/lib/ares_parse_ns_reply.c +0 -177
- data/third_party/cares/cares/src/lib/ares_parse_ptr_reply.c +0 -228
- data/third_party/cares/cares/src/lib/ares_parse_soa_reply.c +0 -179
- data/third_party/cares/cares/src/lib/ares_parse_srv_reply.c +0 -168
- data/third_party/cares/cares/src/lib/ares_parse_txt_reply.c +0 -214
- data/third_party/cares/cares/src/lib/ares_parse_uri_reply.c +0 -184
- data/third_party/cares/cares/src/lib/ares_platform.c +0 -11042
- data/third_party/cares/cares/src/lib/ares_platform.h +0 -43
- data/third_party/cares/cares/src/lib/ares_rand.c +0 -279
- data/third_party/cares/cares/src/lib/ares_strcasecmp.c +0 -66
- data/third_party/cares/cares/src/lib/ares_strcasecmp.h +0 -30
- data/third_party/cares/cares/src/lib/ares_strdup.c +0 -42
- data/third_party/cares/cares/src/lib/ares_strdup.h +0 -24
- data/third_party/cares/cares/src/lib/ares_strsplit.c +0 -94
- data/third_party/cares/cares/src/lib/ares_strsplit.h +0 -42
- data/third_party/cares/cares/src/lib/ares_writev.c +0 -79
- data/third_party/cares/cares/src/lib/ares_writev.h +0 -36
- data/third_party/cares/cares/src/lib/bitncmp.c +0 -59
- data/third_party/cares/cares/src/lib/bitncmp.h +0 -26
- data/third_party/cares/cares/src/lib/setup_once.h +0 -554
- data/third_party/cares/cares/src/tools/ares_getopt.h +0 -53
@@ -26,9 +26,12 @@ namespace {
|
|
26
26
|
const char* const description_call_tracer_in_transport =
|
27
27
|
"Transport directly passes byte counts to CallTracer.";
|
28
28
|
const char* const additional_constraints_call_tracer_in_transport = "{}";
|
29
|
-
const char* const
|
30
|
-
"Use the
|
31
|
-
const char* const
|
29
|
+
const char* const description_channelz_use_v2_for_v1_api =
|
30
|
+
"Use the v2 channelz API for the v1 channelz API.";
|
31
|
+
const char* const additional_constraints_channelz_use_v2_for_v1_api = "{}";
|
32
|
+
const char* const description_channelz_use_v2_for_v1_service =
|
33
|
+
"Use the v2 channelz service for the v1 channelz service.";
|
34
|
+
const char* const additional_constraints_channelz_use_v2_for_v1_service = "{}";
|
32
35
|
const char* const description_chaotic_good_framing_layer =
|
33
36
|
"Enable the chaotic good framing layer.";
|
34
37
|
const char* const additional_constraints_chaotic_good_framing_layer = "{}";
|
@@ -79,6 +82,9 @@ const char* const additional_constraints_event_engine_secure_endpoint = "{}";
|
|
79
82
|
const char* const description_free_large_allocator =
|
80
83
|
"If set, return all free bytes from a \042big\042 allocator";
|
81
84
|
const char* const additional_constraints_free_large_allocator = "{}";
|
85
|
+
const char* const description_fuse_filters =
|
86
|
+
"If set, individual filters are merged into fused filters";
|
87
|
+
const char* const additional_constraints_fuse_filters = "{}";
|
82
88
|
const char* const description_keep_alive_ping_timer_batch =
|
83
89
|
"Avoid explicitly cancelling the keepalive timer. Instead adjust the "
|
84
90
|
"callback to re-schedule itself to the next ping interval.";
|
@@ -90,17 +96,22 @@ const char* const additional_constraints_local_connector_secure = "{}";
|
|
90
96
|
const char* const description_max_inflight_pings_strict_limit =
|
91
97
|
"If set, the max inflight pings limit is strictly enforced.";
|
92
98
|
const char* const additional_constraints_max_inflight_pings_strict_limit = "{}";
|
93
|
-
const char* const description_max_pings_wo_data_throttle =
|
94
|
-
"Experiment to throttle pings to a period of 1 min when "
|
95
|
-
"GRPC_ARG_HTTP2_MAX_PINGS_WITHOUT_DATA limit has reached (instead of "
|
96
|
-
"completely blocking).";
|
97
|
-
const char* const additional_constraints_max_pings_wo_data_throttle = "{}";
|
98
99
|
const char* const description_monitoring_experiment =
|
99
100
|
"Placeholder experiment to prove/disprove our monitoring is working";
|
100
101
|
const char* const additional_constraints_monitoring_experiment = "{}";
|
101
102
|
const char* const description_multiping =
|
102
103
|
"Allow more than one ping to be in flight at a time by default.";
|
103
104
|
const char* const additional_constraints_multiping = "{}";
|
105
|
+
const char* const description_pick_first_ignore_empty_updates =
|
106
|
+
"Ignore empty resolutions in pick_first";
|
107
|
+
const char* const additional_constraints_pick_first_ignore_empty_updates = "{}";
|
108
|
+
const char* const description_pipelined_read_secure_endpoint =
|
109
|
+
"Enable pipelined reads for EventEngine secure endpoints";
|
110
|
+
const char* const additional_constraints_pipelined_read_secure_endpoint = "{}";
|
111
|
+
const uint8_t required_experiments_pipelined_read_secure_endpoint[] = {
|
112
|
+
static_cast<uint8_t>(grpc_core::kExperimentIdEventEngineClient),
|
113
|
+
static_cast<uint8_t>(grpc_core::kExperimentIdEventEngineListener),
|
114
|
+
static_cast<uint8_t>(grpc_core::kExperimentIdEventEngineSecureEndpoint)};
|
104
115
|
const char* const description_pollset_alternative =
|
105
116
|
"Code outside iomgr that relies directly on pollsets will use non-pollset "
|
106
117
|
"alternatives when enabled.";
|
@@ -108,10 +119,10 @@ const char* const additional_constraints_pollset_alternative = "{}";
|
|
108
119
|
const uint8_t required_experiments_pollset_alternative[] = {
|
109
120
|
static_cast<uint8_t>(grpc_core::kExperimentIdEventEngineClient),
|
110
121
|
static_cast<uint8_t>(grpc_core::kExperimentIdEventEngineListener)};
|
111
|
-
const char* const
|
112
|
-
"
|
113
|
-
"
|
114
|
-
const char* const
|
122
|
+
const char* const description_prioritize_finished_requests =
|
123
|
+
"Prioritize flushing out finished requests over other in-flight requests "
|
124
|
+
"during transport writes.";
|
125
|
+
const char* const additional_constraints_prioritize_finished_requests = "{}";
|
115
126
|
const char* const description_promise_based_http2_client_transport =
|
116
127
|
"Use promises for the http2 client transport. We have kept client and "
|
117
128
|
"server transport experiments separate to help with smoother roll outs and "
|
@@ -129,14 +140,11 @@ const char* const description_promise_based_inproc_transport =
|
|
129
140
|
const char* const additional_constraints_promise_based_inproc_transport = "{}";
|
130
141
|
const char* const description_retry_in_callv3 = "Support retries with call-v3";
|
131
142
|
const char* const additional_constraints_retry_in_callv3 = "{}";
|
132
|
-
const char* const
|
133
|
-
"
|
134
|
-
"
|
135
|
-
const char* const
|
136
|
-
|
137
|
-
"Fix for RST_STREAM - do not send for idle streams "
|
138
|
-
"(https://github.com/grpc/grpc/issues/38758)";
|
139
|
-
const char* const additional_constraints_rst_stream_fix = "{}";
|
143
|
+
const char* const description_rr_wrr_connect_from_random_index =
|
144
|
+
"RR and WRR LB policies start connecting from a random index in the "
|
145
|
+
"address list.";
|
146
|
+
const char* const additional_constraints_rr_wrr_connect_from_random_index =
|
147
|
+
"{}";
|
140
148
|
const char* const description_schedule_cancellation_over_write =
|
141
149
|
"Allow cancellation op to be scheduled over a write";
|
142
150
|
const char* const additional_constraints_schedule_cancellation_over_write =
|
@@ -192,8 +200,13 @@ namespace grpc_core {
|
|
192
200
|
const ExperimentMetadata g_experiment_metadata[] = {
|
193
201
|
{"call_tracer_in_transport", description_call_tracer_in_transport,
|
194
202
|
additional_constraints_call_tracer_in_transport, nullptr, 0, true, false},
|
195
|
-
{"
|
196
|
-
|
203
|
+
{"channelz_use_v2_for_v1_api", description_channelz_use_v2_for_v1_api,
|
204
|
+
additional_constraints_channelz_use_v2_for_v1_api, nullptr, 0, false,
|
205
|
+
true},
|
206
|
+
{"channelz_use_v2_for_v1_service",
|
207
|
+
description_channelz_use_v2_for_v1_service,
|
208
|
+
additional_constraints_channelz_use_v2_for_v1_service, nullptr, 0, false,
|
209
|
+
true},
|
197
210
|
{"chaotic_good_framing_layer", description_chaotic_good_framing_layer,
|
198
211
|
additional_constraints_chaotic_good_framing_layer, nullptr, 0, true,
|
199
212
|
false},
|
@@ -208,7 +221,7 @@ const ExperimentMetadata g_experiment_metadata[] = {
|
|
208
221
|
{"event_engine_dns_non_client_channel",
|
209
222
|
description_event_engine_dns_non_client_channel,
|
210
223
|
additional_constraints_event_engine_dns_non_client_channel, nullptr, 0,
|
211
|
-
|
224
|
+
true, false},
|
212
225
|
{"event_engine_fork", description_event_engine_fork,
|
213
226
|
additional_constraints_event_engine_fork, nullptr, 0, false, false},
|
214
227
|
{"event_engine_listener", description_event_engine_listener,
|
@@ -225,6 +238,8 @@ const ExperimentMetadata g_experiment_metadata[] = {
|
|
225
238
|
false},
|
226
239
|
{"free_large_allocator", description_free_large_allocator,
|
227
240
|
additional_constraints_free_large_allocator, nullptr, 0, false, true},
|
241
|
+
{"fuse_filters", description_fuse_filters,
|
242
|
+
additional_constraints_fuse_filters, nullptr, 0, false, false},
|
228
243
|
{"keep_alive_ping_timer_batch", description_keep_alive_ping_timer_batch,
|
229
244
|
additional_constraints_keep_alive_ping_timer_batch, nullptr, 0, false,
|
230
245
|
true},
|
@@ -234,17 +249,24 @@ const ExperimentMetadata g_experiment_metadata[] = {
|
|
234
249
|
description_max_inflight_pings_strict_limit,
|
235
250
|
additional_constraints_max_inflight_pings_strict_limit, nullptr, 0, true,
|
236
251
|
true},
|
237
|
-
{"max_pings_wo_data_throttle", description_max_pings_wo_data_throttle,
|
238
|
-
additional_constraints_max_pings_wo_data_throttle, nullptr, 0, true, true},
|
239
252
|
{"monitoring_experiment", description_monitoring_experiment,
|
240
253
|
additional_constraints_monitoring_experiment, nullptr, 0, true, true},
|
241
254
|
{"multiping", description_multiping, additional_constraints_multiping,
|
242
255
|
nullptr, 0, false, true},
|
256
|
+
{"pick_first_ignore_empty_updates",
|
257
|
+
description_pick_first_ignore_empty_updates,
|
258
|
+
additional_constraints_pick_first_ignore_empty_updates, nullptr, 0, false,
|
259
|
+
true},
|
260
|
+
{"pipelined_read_secure_endpoint",
|
261
|
+
description_pipelined_read_secure_endpoint,
|
262
|
+
additional_constraints_pipelined_read_secure_endpoint,
|
263
|
+
required_experiments_pipelined_read_secure_endpoint, 3, false, false},
|
243
264
|
{"pollset_alternative", description_pollset_alternative,
|
244
265
|
additional_constraints_pollset_alternative,
|
245
266
|
required_experiments_pollset_alternative, 2, false, false},
|
246
|
-
{"
|
247
|
-
|
267
|
+
{"prioritize_finished_requests", description_prioritize_finished_requests,
|
268
|
+
additional_constraints_prioritize_finished_requests, nullptr, 0, false,
|
269
|
+
true},
|
248
270
|
{"promise_based_http2_client_transport",
|
249
271
|
description_promise_based_http2_client_transport,
|
250
272
|
additional_constraints_promise_based_http2_client_transport, nullptr, 0,
|
@@ -259,10 +281,10 @@ const ExperimentMetadata g_experiment_metadata[] = {
|
|
259
281
|
false},
|
260
282
|
{"retry_in_callv3", description_retry_in_callv3,
|
261
283
|
additional_constraints_retry_in_callv3, nullptr, 0, false, true},
|
262
|
-
{"
|
263
|
-
|
264
|
-
|
265
|
-
|
284
|
+
{"rr_wrr_connect_from_random_index",
|
285
|
+
description_rr_wrr_connect_from_random_index,
|
286
|
+
additional_constraints_rr_wrr_connect_from_random_index, nullptr, 0, false,
|
287
|
+
true},
|
266
288
|
{"schedule_cancellation_over_write",
|
267
289
|
description_schedule_cancellation_over_write,
|
268
290
|
additional_constraints_schedule_cancellation_over_write, nullptr, 0, false,
|
@@ -277,8 +299,8 @@ const ExperimentMetadata g_experiment_metadata[] = {
|
|
277
299
|
required_experiments_secure_endpoint_offload_large_writes, 3, false, true},
|
278
300
|
{"server_global_callbacks_ownership",
|
279
301
|
description_server_global_callbacks_ownership,
|
280
|
-
additional_constraints_server_global_callbacks_ownership, nullptr, 0,
|
281
|
-
|
302
|
+
additional_constraints_server_global_callbacks_ownership, nullptr, 0, true,
|
303
|
+
true},
|
282
304
|
{"shard_global_connection_pool", description_shard_global_connection_pool,
|
283
305
|
additional_constraints_shard_global_connection_pool, nullptr, 0, true,
|
284
306
|
true},
|
@@ -307,9 +329,12 @@ namespace {
|
|
307
329
|
const char* const description_call_tracer_in_transport =
|
308
330
|
"Transport directly passes byte counts to CallTracer.";
|
309
331
|
const char* const additional_constraints_call_tracer_in_transport = "{}";
|
310
|
-
const char* const
|
311
|
-
"Use the
|
312
|
-
const char* const
|
332
|
+
const char* const description_channelz_use_v2_for_v1_api =
|
333
|
+
"Use the v2 channelz API for the v1 channelz API.";
|
334
|
+
const char* const additional_constraints_channelz_use_v2_for_v1_api = "{}";
|
335
|
+
const char* const description_channelz_use_v2_for_v1_service =
|
336
|
+
"Use the v2 channelz service for the v1 channelz service.";
|
337
|
+
const char* const additional_constraints_channelz_use_v2_for_v1_service = "{}";
|
313
338
|
const char* const description_chaotic_good_framing_layer =
|
314
339
|
"Enable the chaotic good framing layer.";
|
315
340
|
const char* const additional_constraints_chaotic_good_framing_layer = "{}";
|
@@ -360,6 +385,9 @@ const char* const additional_constraints_event_engine_secure_endpoint = "{}";
|
|
360
385
|
const char* const description_free_large_allocator =
|
361
386
|
"If set, return all free bytes from a \042big\042 allocator";
|
362
387
|
const char* const additional_constraints_free_large_allocator = "{}";
|
388
|
+
const char* const description_fuse_filters =
|
389
|
+
"If set, individual filters are merged into fused filters";
|
390
|
+
const char* const additional_constraints_fuse_filters = "{}";
|
363
391
|
const char* const description_keep_alive_ping_timer_batch =
|
364
392
|
"Avoid explicitly cancelling the keepalive timer. Instead adjust the "
|
365
393
|
"callback to re-schedule itself to the next ping interval.";
|
@@ -371,17 +399,22 @@ const char* const additional_constraints_local_connector_secure = "{}";
|
|
371
399
|
const char* const description_max_inflight_pings_strict_limit =
|
372
400
|
"If set, the max inflight pings limit is strictly enforced.";
|
373
401
|
const char* const additional_constraints_max_inflight_pings_strict_limit = "{}";
|
374
|
-
const char* const description_max_pings_wo_data_throttle =
|
375
|
-
"Experiment to throttle pings to a period of 1 min when "
|
376
|
-
"GRPC_ARG_HTTP2_MAX_PINGS_WITHOUT_DATA limit has reached (instead of "
|
377
|
-
"completely blocking).";
|
378
|
-
const char* const additional_constraints_max_pings_wo_data_throttle = "{}";
|
379
402
|
const char* const description_monitoring_experiment =
|
380
403
|
"Placeholder experiment to prove/disprove our monitoring is working";
|
381
404
|
const char* const additional_constraints_monitoring_experiment = "{}";
|
382
405
|
const char* const description_multiping =
|
383
406
|
"Allow more than one ping to be in flight at a time by default.";
|
384
407
|
const char* const additional_constraints_multiping = "{}";
|
408
|
+
const char* const description_pick_first_ignore_empty_updates =
|
409
|
+
"Ignore empty resolutions in pick_first";
|
410
|
+
const char* const additional_constraints_pick_first_ignore_empty_updates = "{}";
|
411
|
+
const char* const description_pipelined_read_secure_endpoint =
|
412
|
+
"Enable pipelined reads for EventEngine secure endpoints";
|
413
|
+
const char* const additional_constraints_pipelined_read_secure_endpoint = "{}";
|
414
|
+
const uint8_t required_experiments_pipelined_read_secure_endpoint[] = {
|
415
|
+
static_cast<uint8_t>(grpc_core::kExperimentIdEventEngineClient),
|
416
|
+
static_cast<uint8_t>(grpc_core::kExperimentIdEventEngineListener),
|
417
|
+
static_cast<uint8_t>(grpc_core::kExperimentIdEventEngineSecureEndpoint)};
|
385
418
|
const char* const description_pollset_alternative =
|
386
419
|
"Code outside iomgr that relies directly on pollsets will use non-pollset "
|
387
420
|
"alternatives when enabled.";
|
@@ -389,10 +422,10 @@ const char* const additional_constraints_pollset_alternative = "{}";
|
|
389
422
|
const uint8_t required_experiments_pollset_alternative[] = {
|
390
423
|
static_cast<uint8_t>(grpc_core::kExperimentIdEventEngineClient),
|
391
424
|
static_cast<uint8_t>(grpc_core::kExperimentIdEventEngineListener)};
|
392
|
-
const char* const
|
393
|
-
"
|
394
|
-
"
|
395
|
-
const char* const
|
425
|
+
const char* const description_prioritize_finished_requests =
|
426
|
+
"Prioritize flushing out finished requests over other in-flight requests "
|
427
|
+
"during transport writes.";
|
428
|
+
const char* const additional_constraints_prioritize_finished_requests = "{}";
|
396
429
|
const char* const description_promise_based_http2_client_transport =
|
397
430
|
"Use promises for the http2 client transport. We have kept client and "
|
398
431
|
"server transport experiments separate to help with smoother roll outs and "
|
@@ -410,14 +443,11 @@ const char* const description_promise_based_inproc_transport =
|
|
410
443
|
const char* const additional_constraints_promise_based_inproc_transport = "{}";
|
411
444
|
const char* const description_retry_in_callv3 = "Support retries with call-v3";
|
412
445
|
const char* const additional_constraints_retry_in_callv3 = "{}";
|
413
|
-
const char* const
|
414
|
-
"
|
415
|
-
"
|
416
|
-
const char* const
|
417
|
-
|
418
|
-
"Fix for RST_STREAM - do not send for idle streams "
|
419
|
-
"(https://github.com/grpc/grpc/issues/38758)";
|
420
|
-
const char* const additional_constraints_rst_stream_fix = "{}";
|
446
|
+
const char* const description_rr_wrr_connect_from_random_index =
|
447
|
+
"RR and WRR LB policies start connecting from a random index in the "
|
448
|
+
"address list.";
|
449
|
+
const char* const additional_constraints_rr_wrr_connect_from_random_index =
|
450
|
+
"{}";
|
421
451
|
const char* const description_schedule_cancellation_over_write =
|
422
452
|
"Allow cancellation op to be scheduled over a write";
|
423
453
|
const char* const additional_constraints_schedule_cancellation_over_write =
|
@@ -473,8 +503,13 @@ namespace grpc_core {
|
|
473
503
|
const ExperimentMetadata g_experiment_metadata[] = {
|
474
504
|
{"call_tracer_in_transport", description_call_tracer_in_transport,
|
475
505
|
additional_constraints_call_tracer_in_transport, nullptr, 0, true, false},
|
476
|
-
{"
|
477
|
-
|
506
|
+
{"channelz_use_v2_for_v1_api", description_channelz_use_v2_for_v1_api,
|
507
|
+
additional_constraints_channelz_use_v2_for_v1_api, nullptr, 0, false,
|
508
|
+
true},
|
509
|
+
{"channelz_use_v2_for_v1_service",
|
510
|
+
description_channelz_use_v2_for_v1_service,
|
511
|
+
additional_constraints_channelz_use_v2_for_v1_service, nullptr, 0, false,
|
512
|
+
true},
|
478
513
|
{"chaotic_good_framing_layer", description_chaotic_good_framing_layer,
|
479
514
|
additional_constraints_chaotic_good_framing_layer, nullptr, 0, true,
|
480
515
|
false},
|
@@ -489,7 +524,7 @@ const ExperimentMetadata g_experiment_metadata[] = {
|
|
489
524
|
{"event_engine_dns_non_client_channel",
|
490
525
|
description_event_engine_dns_non_client_channel,
|
491
526
|
additional_constraints_event_engine_dns_non_client_channel, nullptr, 0,
|
492
|
-
|
527
|
+
true, false},
|
493
528
|
{"event_engine_fork", description_event_engine_fork,
|
494
529
|
additional_constraints_event_engine_fork, nullptr, 0, false, false},
|
495
530
|
{"event_engine_listener", description_event_engine_listener,
|
@@ -506,6 +541,8 @@ const ExperimentMetadata g_experiment_metadata[] = {
|
|
506
541
|
false},
|
507
542
|
{"free_large_allocator", description_free_large_allocator,
|
508
543
|
additional_constraints_free_large_allocator, nullptr, 0, false, true},
|
544
|
+
{"fuse_filters", description_fuse_filters,
|
545
|
+
additional_constraints_fuse_filters, nullptr, 0, false, false},
|
509
546
|
{"keep_alive_ping_timer_batch", description_keep_alive_ping_timer_batch,
|
510
547
|
additional_constraints_keep_alive_ping_timer_batch, nullptr, 0, false,
|
511
548
|
true},
|
@@ -515,17 +552,24 @@ const ExperimentMetadata g_experiment_metadata[] = {
|
|
515
552
|
description_max_inflight_pings_strict_limit,
|
516
553
|
additional_constraints_max_inflight_pings_strict_limit, nullptr, 0, true,
|
517
554
|
true},
|
518
|
-
{"max_pings_wo_data_throttle", description_max_pings_wo_data_throttle,
|
519
|
-
additional_constraints_max_pings_wo_data_throttle, nullptr, 0, true, true},
|
520
555
|
{"monitoring_experiment", description_monitoring_experiment,
|
521
556
|
additional_constraints_monitoring_experiment, nullptr, 0, true, true},
|
522
557
|
{"multiping", description_multiping, additional_constraints_multiping,
|
523
558
|
nullptr, 0, false, true},
|
559
|
+
{"pick_first_ignore_empty_updates",
|
560
|
+
description_pick_first_ignore_empty_updates,
|
561
|
+
additional_constraints_pick_first_ignore_empty_updates, nullptr, 0, false,
|
562
|
+
true},
|
563
|
+
{"pipelined_read_secure_endpoint",
|
564
|
+
description_pipelined_read_secure_endpoint,
|
565
|
+
additional_constraints_pipelined_read_secure_endpoint,
|
566
|
+
required_experiments_pipelined_read_secure_endpoint, 3, false, false},
|
524
567
|
{"pollset_alternative", description_pollset_alternative,
|
525
568
|
additional_constraints_pollset_alternative,
|
526
569
|
required_experiments_pollset_alternative, 2, false, false},
|
527
|
-
{"
|
528
|
-
|
570
|
+
{"prioritize_finished_requests", description_prioritize_finished_requests,
|
571
|
+
additional_constraints_prioritize_finished_requests, nullptr, 0, false,
|
572
|
+
true},
|
529
573
|
{"promise_based_http2_client_transport",
|
530
574
|
description_promise_based_http2_client_transport,
|
531
575
|
additional_constraints_promise_based_http2_client_transport, nullptr, 0,
|
@@ -540,10 +584,10 @@ const ExperimentMetadata g_experiment_metadata[] = {
|
|
540
584
|
false},
|
541
585
|
{"retry_in_callv3", description_retry_in_callv3,
|
542
586
|
additional_constraints_retry_in_callv3, nullptr, 0, false, true},
|
543
|
-
{"
|
544
|
-
|
545
|
-
|
546
|
-
|
587
|
+
{"rr_wrr_connect_from_random_index",
|
588
|
+
description_rr_wrr_connect_from_random_index,
|
589
|
+
additional_constraints_rr_wrr_connect_from_random_index, nullptr, 0, false,
|
590
|
+
true},
|
547
591
|
{"schedule_cancellation_over_write",
|
548
592
|
description_schedule_cancellation_over_write,
|
549
593
|
additional_constraints_schedule_cancellation_over_write, nullptr, 0, false,
|
@@ -558,8 +602,8 @@ const ExperimentMetadata g_experiment_metadata[] = {
|
|
558
602
|
required_experiments_secure_endpoint_offload_large_writes, 3, false, true},
|
559
603
|
{"server_global_callbacks_ownership",
|
560
604
|
description_server_global_callbacks_ownership,
|
561
|
-
additional_constraints_server_global_callbacks_ownership, nullptr, 0,
|
562
|
-
|
605
|
+
additional_constraints_server_global_callbacks_ownership, nullptr, 0, true,
|
606
|
+
true},
|
563
607
|
{"shard_global_connection_pool", description_shard_global_connection_pool,
|
564
608
|
additional_constraints_shard_global_connection_pool, nullptr, 0, true,
|
565
609
|
true},
|
@@ -588,9 +632,12 @@ namespace {
|
|
588
632
|
const char* const description_call_tracer_in_transport =
|
589
633
|
"Transport directly passes byte counts to CallTracer.";
|
590
634
|
const char* const additional_constraints_call_tracer_in_transport = "{}";
|
591
|
-
const char* const
|
592
|
-
"Use the
|
593
|
-
const char* const
|
635
|
+
const char* const description_channelz_use_v2_for_v1_api =
|
636
|
+
"Use the v2 channelz API for the v1 channelz API.";
|
637
|
+
const char* const additional_constraints_channelz_use_v2_for_v1_api = "{}";
|
638
|
+
const char* const description_channelz_use_v2_for_v1_service =
|
639
|
+
"Use the v2 channelz service for the v1 channelz service.";
|
640
|
+
const char* const additional_constraints_channelz_use_v2_for_v1_service = "{}";
|
594
641
|
const char* const description_chaotic_good_framing_layer =
|
595
642
|
"Enable the chaotic good framing layer.";
|
596
643
|
const char* const additional_constraints_chaotic_good_framing_layer = "{}";
|
@@ -641,6 +688,9 @@ const char* const additional_constraints_event_engine_secure_endpoint = "{}";
|
|
641
688
|
const char* const description_free_large_allocator =
|
642
689
|
"If set, return all free bytes from a \042big\042 allocator";
|
643
690
|
const char* const additional_constraints_free_large_allocator = "{}";
|
691
|
+
const char* const description_fuse_filters =
|
692
|
+
"If set, individual filters are merged into fused filters";
|
693
|
+
const char* const additional_constraints_fuse_filters = "{}";
|
644
694
|
const char* const description_keep_alive_ping_timer_batch =
|
645
695
|
"Avoid explicitly cancelling the keepalive timer. Instead adjust the "
|
646
696
|
"callback to re-schedule itself to the next ping interval.";
|
@@ -652,17 +702,22 @@ const char* const additional_constraints_local_connector_secure = "{}";
|
|
652
702
|
const char* const description_max_inflight_pings_strict_limit =
|
653
703
|
"If set, the max inflight pings limit is strictly enforced.";
|
654
704
|
const char* const additional_constraints_max_inflight_pings_strict_limit = "{}";
|
655
|
-
const char* const description_max_pings_wo_data_throttle =
|
656
|
-
"Experiment to throttle pings to a period of 1 min when "
|
657
|
-
"GRPC_ARG_HTTP2_MAX_PINGS_WITHOUT_DATA limit has reached (instead of "
|
658
|
-
"completely blocking).";
|
659
|
-
const char* const additional_constraints_max_pings_wo_data_throttle = "{}";
|
660
705
|
const char* const description_monitoring_experiment =
|
661
706
|
"Placeholder experiment to prove/disprove our monitoring is working";
|
662
707
|
const char* const additional_constraints_monitoring_experiment = "{}";
|
663
708
|
const char* const description_multiping =
|
664
709
|
"Allow more than one ping to be in flight at a time by default.";
|
665
710
|
const char* const additional_constraints_multiping = "{}";
|
711
|
+
const char* const description_pick_first_ignore_empty_updates =
|
712
|
+
"Ignore empty resolutions in pick_first";
|
713
|
+
const char* const additional_constraints_pick_first_ignore_empty_updates = "{}";
|
714
|
+
const char* const description_pipelined_read_secure_endpoint =
|
715
|
+
"Enable pipelined reads for EventEngine secure endpoints";
|
716
|
+
const char* const additional_constraints_pipelined_read_secure_endpoint = "{}";
|
717
|
+
const uint8_t required_experiments_pipelined_read_secure_endpoint[] = {
|
718
|
+
static_cast<uint8_t>(grpc_core::kExperimentIdEventEngineClient),
|
719
|
+
static_cast<uint8_t>(grpc_core::kExperimentIdEventEngineListener),
|
720
|
+
static_cast<uint8_t>(grpc_core::kExperimentIdEventEngineSecureEndpoint)};
|
666
721
|
const char* const description_pollset_alternative =
|
667
722
|
"Code outside iomgr that relies directly on pollsets will use non-pollset "
|
668
723
|
"alternatives when enabled.";
|
@@ -670,10 +725,10 @@ const char* const additional_constraints_pollset_alternative = "{}";
|
|
670
725
|
const uint8_t required_experiments_pollset_alternative[] = {
|
671
726
|
static_cast<uint8_t>(grpc_core::kExperimentIdEventEngineClient),
|
672
727
|
static_cast<uint8_t>(grpc_core::kExperimentIdEventEngineListener)};
|
673
|
-
const char* const
|
674
|
-
"
|
675
|
-
"
|
676
|
-
const char* const
|
728
|
+
const char* const description_prioritize_finished_requests =
|
729
|
+
"Prioritize flushing out finished requests over other in-flight requests "
|
730
|
+
"during transport writes.";
|
731
|
+
const char* const additional_constraints_prioritize_finished_requests = "{}";
|
677
732
|
const char* const description_promise_based_http2_client_transport =
|
678
733
|
"Use promises for the http2 client transport. We have kept client and "
|
679
734
|
"server transport experiments separate to help with smoother roll outs and "
|
@@ -691,14 +746,11 @@ const char* const description_promise_based_inproc_transport =
|
|
691
746
|
const char* const additional_constraints_promise_based_inproc_transport = "{}";
|
692
747
|
const char* const description_retry_in_callv3 = "Support retries with call-v3";
|
693
748
|
const char* const additional_constraints_retry_in_callv3 = "{}";
|
694
|
-
const char* const
|
695
|
-
"
|
696
|
-
"
|
697
|
-
const char* const
|
698
|
-
|
699
|
-
"Fix for RST_STREAM - do not send for idle streams "
|
700
|
-
"(https://github.com/grpc/grpc/issues/38758)";
|
701
|
-
const char* const additional_constraints_rst_stream_fix = "{}";
|
749
|
+
const char* const description_rr_wrr_connect_from_random_index =
|
750
|
+
"RR and WRR LB policies start connecting from a random index in the "
|
751
|
+
"address list.";
|
752
|
+
const char* const additional_constraints_rr_wrr_connect_from_random_index =
|
753
|
+
"{}";
|
702
754
|
const char* const description_schedule_cancellation_over_write =
|
703
755
|
"Allow cancellation op to be scheduled over a write";
|
704
756
|
const char* const additional_constraints_schedule_cancellation_over_write =
|
@@ -754,8 +806,13 @@ namespace grpc_core {
|
|
754
806
|
const ExperimentMetadata g_experiment_metadata[] = {
|
755
807
|
{"call_tracer_in_transport", description_call_tracer_in_transport,
|
756
808
|
additional_constraints_call_tracer_in_transport, nullptr, 0, true, false},
|
757
|
-
{"
|
758
|
-
|
809
|
+
{"channelz_use_v2_for_v1_api", description_channelz_use_v2_for_v1_api,
|
810
|
+
additional_constraints_channelz_use_v2_for_v1_api, nullptr, 0, false,
|
811
|
+
true},
|
812
|
+
{"channelz_use_v2_for_v1_service",
|
813
|
+
description_channelz_use_v2_for_v1_service,
|
814
|
+
additional_constraints_channelz_use_v2_for_v1_service, nullptr, 0, false,
|
815
|
+
true},
|
759
816
|
{"chaotic_good_framing_layer", description_chaotic_good_framing_layer,
|
760
817
|
additional_constraints_chaotic_good_framing_layer, nullptr, 0, true,
|
761
818
|
false},
|
@@ -770,7 +827,7 @@ const ExperimentMetadata g_experiment_metadata[] = {
|
|
770
827
|
{"event_engine_dns_non_client_channel",
|
771
828
|
description_event_engine_dns_non_client_channel,
|
772
829
|
additional_constraints_event_engine_dns_non_client_channel, nullptr, 0,
|
773
|
-
|
830
|
+
true, false},
|
774
831
|
{"event_engine_fork", description_event_engine_fork,
|
775
832
|
additional_constraints_event_engine_fork, nullptr, 0, false, false},
|
776
833
|
{"event_engine_listener", description_event_engine_listener,
|
@@ -787,6 +844,8 @@ const ExperimentMetadata g_experiment_metadata[] = {
|
|
787
844
|
false},
|
788
845
|
{"free_large_allocator", description_free_large_allocator,
|
789
846
|
additional_constraints_free_large_allocator, nullptr, 0, false, true},
|
847
|
+
{"fuse_filters", description_fuse_filters,
|
848
|
+
additional_constraints_fuse_filters, nullptr, 0, false, false},
|
790
849
|
{"keep_alive_ping_timer_batch", description_keep_alive_ping_timer_batch,
|
791
850
|
additional_constraints_keep_alive_ping_timer_batch, nullptr, 0, false,
|
792
851
|
true},
|
@@ -796,17 +855,24 @@ const ExperimentMetadata g_experiment_metadata[] = {
|
|
796
855
|
description_max_inflight_pings_strict_limit,
|
797
856
|
additional_constraints_max_inflight_pings_strict_limit, nullptr, 0, true,
|
798
857
|
true},
|
799
|
-
{"max_pings_wo_data_throttle", description_max_pings_wo_data_throttle,
|
800
|
-
additional_constraints_max_pings_wo_data_throttle, nullptr, 0, true, true},
|
801
858
|
{"monitoring_experiment", description_monitoring_experiment,
|
802
859
|
additional_constraints_monitoring_experiment, nullptr, 0, true, true},
|
803
860
|
{"multiping", description_multiping, additional_constraints_multiping,
|
804
861
|
nullptr, 0, false, true},
|
862
|
+
{"pick_first_ignore_empty_updates",
|
863
|
+
description_pick_first_ignore_empty_updates,
|
864
|
+
additional_constraints_pick_first_ignore_empty_updates, nullptr, 0, false,
|
865
|
+
true},
|
866
|
+
{"pipelined_read_secure_endpoint",
|
867
|
+
description_pipelined_read_secure_endpoint,
|
868
|
+
additional_constraints_pipelined_read_secure_endpoint,
|
869
|
+
required_experiments_pipelined_read_secure_endpoint, 3, false, false},
|
805
870
|
{"pollset_alternative", description_pollset_alternative,
|
806
871
|
additional_constraints_pollset_alternative,
|
807
872
|
required_experiments_pollset_alternative, 2, false, false},
|
808
|
-
{"
|
809
|
-
|
873
|
+
{"prioritize_finished_requests", description_prioritize_finished_requests,
|
874
|
+
additional_constraints_prioritize_finished_requests, nullptr, 0, false,
|
875
|
+
true},
|
810
876
|
{"promise_based_http2_client_transport",
|
811
877
|
description_promise_based_http2_client_transport,
|
812
878
|
additional_constraints_promise_based_http2_client_transport, nullptr, 0,
|
@@ -821,10 +887,10 @@ const ExperimentMetadata g_experiment_metadata[] = {
|
|
821
887
|
false},
|
822
888
|
{"retry_in_callv3", description_retry_in_callv3,
|
823
889
|
additional_constraints_retry_in_callv3, nullptr, 0, false, true},
|
824
|
-
{"
|
825
|
-
|
826
|
-
|
827
|
-
|
890
|
+
{"rr_wrr_connect_from_random_index",
|
891
|
+
description_rr_wrr_connect_from_random_index,
|
892
|
+
additional_constraints_rr_wrr_connect_from_random_index, nullptr, 0, false,
|
893
|
+
true},
|
828
894
|
{"schedule_cancellation_over_write",
|
829
895
|
description_schedule_cancellation_over_write,
|
830
896
|
additional_constraints_schedule_cancellation_over_write, nullptr, 0, false,
|
@@ -839,8 +905,8 @@ const ExperimentMetadata g_experiment_metadata[] = {
|
|
839
905
|
required_experiments_secure_endpoint_offload_large_writes, 3, false, true},
|
840
906
|
{"server_global_callbacks_ownership",
|
841
907
|
description_server_global_callbacks_ownership,
|
842
|
-
additional_constraints_server_global_callbacks_ownership, nullptr, 0,
|
843
|
-
|
908
|
+
additional_constraints_server_global_callbacks_ownership, nullptr, 0, true,
|
909
|
+
true},
|
844
910
|
{"shard_global_connection_pool", description_shard_global_connection_pool,
|
845
911
|
additional_constraints_shard_global_connection_pool, nullptr, 0, true,
|
846
912
|
true},
|