grpc 1.63.0 → 1.65.2
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 +105 -103
- data/include/grpc/credentials.h +1222 -0
- data/include/grpc/event_engine/event_engine.h +13 -6
- data/include/grpc/grpc.h +7 -0
- data/include/grpc/grpc_crl_provider.h +1 -0
- data/include/grpc/grpc_security.h +0 -1171
- data/include/grpc/impl/channel_arg_names.h +7 -6
- data/include/grpc/module.modulemap +2 -0
- data/include/grpc/passive_listener.h +62 -0
- data/include/grpc/support/log.h +7 -17
- data/include/grpc/support/port_platform.h +3 -0
- data/src/core/{lib/channel → channelz}/channel_trace.cc +57 -63
- data/src/core/{lib/channel → channelz}/channel_trace.h +22 -20
- data/src/core/{lib/channel → channelz}/channelz.cc +71 -9
- data/src/core/{lib/channel → channelz}/channelz.h +52 -13
- data/src/core/{lib/channel → channelz}/channelz_registry.cc +11 -9
- data/src/core/{lib/channel → channelz}/channelz_registry.h +6 -6
- data/src/core/client_channel/backup_poller.cc +4 -5
- data/src/core/client_channel/client_channel.cc +1324 -0
- data/src/core/client_channel/client_channel.h +243 -0
- data/src/core/client_channel/client_channel_filter.cc +312 -759
- data/src/core/client_channel/client_channel_filter.h +13 -68
- data/src/core/client_channel/client_channel_internal.h +19 -7
- data/src/core/client_channel/client_channel_plugin.cc +1 -14
- data/src/core/client_channel/client_channel_service_config.h +4 -4
- data/src/core/client_channel/config_selector.cc +1 -1
- data/src/core/client_channel/config_selector.h +5 -4
- data/src/core/client_channel/connector.h +1 -1
- data/src/core/client_channel/dynamic_filters.cc +6 -5
- data/src/core/client_channel/dynamic_filters.h +1 -3
- data/src/core/client_channel/load_balanced_call_destination.cc +336 -0
- data/src/core/client_channel/load_balanced_call_destination.h +49 -0
- data/src/core/client_channel/local_subchannel_pool.cc +5 -3
- data/src/core/client_channel/retry_filter.cc +3 -10
- data/src/core/client_channel/retry_filter.h +5 -9
- data/src/core/client_channel/retry_filter_legacy_call_data.cc +70 -76
- data/src/core/client_channel/retry_filter_legacy_call_data.h +0 -2
- data/src/core/client_channel/retry_service_config.cc +4 -5
- data/src/core/client_channel/retry_service_config.h +3 -3
- data/src/core/client_channel/subchannel.cc +241 -129
- data/src/core/client_channel/subchannel.h +31 -19
- data/src/core/client_channel/subchannel_pool_interface.cc +0 -2
- data/src/core/client_channel/subchannel_pool_interface.h +2 -4
- data/src/core/client_channel/subchannel_stream_client.cc +41 -52
- data/src/core/client_channel/subchannel_stream_client.h +2 -4
- data/src/core/ext/filters/backend_metrics/backend_metric_filter.cc +11 -13
- data/src/core/ext/filters/backend_metrics/backend_metric_filter.h +3 -2
- data/src/core/ext/filters/backend_metrics/backend_metric_provider.h +7 -0
- data/src/core/ext/filters/census/grpc_context.cc +2 -4
- data/src/core/ext/filters/channel_idle/legacy_channel_idle_filter.cc +16 -15
- data/src/core/ext/filters/channel_idle/legacy_channel_idle_filter.h +12 -11
- data/src/core/ext/filters/fault_injection/fault_injection_filter.cc +11 -16
- data/src/core/ext/filters/fault_injection/fault_injection_filter.h +5 -4
- data/src/core/ext/filters/fault_injection/fault_injection_service_config_parser.h +3 -3
- data/src/core/ext/filters/http/client/http_client_filter.cc +6 -4
- data/src/core/ext/filters/http/client/http_client_filter.h +6 -5
- data/src/core/ext/filters/http/client_authority_filter.cc +5 -3
- data/src/core/ext/filters/http/client_authority_filter.h +6 -4
- data/src/core/ext/filters/http/message_compress/compression_filter.cc +19 -23
- data/src/core/ext/filters/http/message_compress/compression_filter.h +10 -8
- data/src/core/ext/filters/http/server/http_server_filter.cc +4 -4
- data/src/core/ext/filters/http/server/http_server_filter.h +6 -5
- data/src/core/ext/filters/message_size/message_size_filter.cc +16 -28
- data/src/core/ext/filters/message_size/message_size_filter.h +14 -12
- data/src/core/ext/filters/rbac/rbac_filter.cc +13 -11
- data/src/core/ext/filters/rbac/rbac_filter.h +6 -5
- data/src/core/ext/filters/rbac/rbac_service_config_parser.cc +2 -2
- data/src/core/ext/filters/rbac/rbac_service_config_parser.h +1 -1
- data/src/core/ext/filters/stateful_session/stateful_session_filter.cc +14 -18
- data/src/core/ext/filters/stateful_session/stateful_session_filter.h +4 -2
- data/src/core/ext/filters/stateful_session/stateful_session_service_config_parser.h +3 -3
- data/src/core/ext/transport/chttp2/alpn/alpn.cc +5 -4
- data/src/core/ext/transport/chttp2/alpn/alpn.h +2 -2
- data/src/core/ext/transport/chttp2/client/chttp2_connector.cc +23 -38
- data/src/core/ext/transport/chttp2/client/chttp2_connector.h +2 -8
- data/src/core/ext/transport/chttp2/server/chttp2_server.cc +233 -158
- data/src/core/ext/transport/chttp2/server/chttp2_server.h +36 -3
- data/src/core/ext/transport/chttp2/transport/bin_decoder.cc +6 -6
- data/src/core/ext/transport/chttp2/transport/bin_decoder.h +1 -2
- data/src/core/ext/transport/chttp2/transport/bin_encoder.cc +8 -7
- data/src/core/ext/transport/chttp2/transport/bin_encoder.h +1 -2
- data/src/core/ext/transport/chttp2/transport/chttp2_transport.cc +190 -165
- data/src/core/ext/transport/chttp2/transport/chttp2_transport.h +10 -11
- data/src/core/ext/transport/chttp2/transport/context_list_entry.h +3 -3
- data/src/core/ext/transport/chttp2/transport/decode_huff.cc +2 -2
- data/src/core/ext/transport/chttp2/transport/decode_huff.h +2 -2
- data/src/core/ext/transport/chttp2/transport/flow_control.cc +6 -8
- data/src/core/ext/transport/chttp2/transport/flow_control.h +4 -6
- data/src/core/ext/transport/chttp2/transport/frame.cc +4 -4
- data/src/core/ext/transport/chttp2/transport/frame.h +2 -2
- data/src/core/ext/transport/chttp2/transport/frame_data.cc +3 -3
- data/src/core/ext/transport/chttp2/transport/frame_data.h +1 -2
- data/src/core/ext/transport/chttp2/transport/frame_goaway.cc +5 -5
- data/src/core/ext/transport/chttp2/transport/frame_goaway.h +1 -2
- data/src/core/ext/transport/chttp2/transport/frame_ping.cc +7 -9
- data/src/core/ext/transport/chttp2/transport/frame_ping.h +1 -2
- data/src/core/ext/transport/chttp2/transport/frame_rst_stream.cc +4 -5
- data/src/core/ext/transport/chttp2/transport/frame_rst_stream.h +1 -2
- data/src/core/ext/transport/chttp2/transport/frame_settings.cc +10 -7
- data/src/core/ext/transport/chttp2/transport/frame_settings.h +1 -2
- data/src/core/ext/transport/chttp2/transport/frame_window_update.cc +4 -4
- data/src/core/ext/transport/chttp2/transport/frame_window_update.h +1 -2
- data/src/core/ext/transport/chttp2/transport/hpack_constants.h +2 -2
- data/src/core/ext/transport/chttp2/transport/hpack_encoder.cc +9 -7
- data/src/core/ext/transport/chttp2/transport/hpack_encoder.h +10 -4
- data/src/core/ext/transport/chttp2/transport/hpack_encoder_table.cc +10 -9
- data/src/core/ext/transport/chttp2/transport/hpack_encoder_table.h +2 -2
- data/src/core/ext/transport/chttp2/transport/hpack_parse_result.cc +4 -3
- data/src/core/ext/transport/chttp2/transport/hpack_parse_result.h +3 -3
- data/src/core/ext/transport/chttp2/transport/hpack_parser.cc +29 -31
- data/src/core/ext/transport/chttp2/transport/hpack_parser.h +2 -3
- data/src/core/ext/transport/chttp2/transport/hpack_parser_table.cc +8 -13
- data/src/core/ext/transport/chttp2/transport/hpack_parser_table.h +2 -2
- data/src/core/ext/transport/chttp2/transport/http2_settings.cc +3 -3
- data/src/core/ext/transport/chttp2/transport/http2_settings.h +3 -3
- data/src/core/ext/transport/chttp2/transport/huffsyms.cc +2 -2
- data/src/core/ext/transport/chttp2/transport/internal.h +31 -23
- data/src/core/ext/transport/chttp2/transport/max_concurrent_streams_policy.cc +4 -3
- data/src/core/ext/transport/chttp2/transport/max_concurrent_streams_policy.h +2 -2
- data/src/core/ext/transport/chttp2/transport/parsing.cc +29 -39
- data/src/core/ext/transport/chttp2/transport/ping_abuse_policy.cc +1 -2
- data/src/core/ext/transport/chttp2/transport/ping_abuse_policy.h +2 -2
- data/src/core/ext/transport/chttp2/transport/ping_callbacks.cc +3 -5
- data/src/core/ext/transport/chttp2/transport/ping_callbacks.h +1 -4
- data/src/core/ext/transport/chttp2/transport/ping_rate_policy.cc +30 -15
- data/src/core/ext/transport/chttp2/transport/ping_rate_policy.h +7 -6
- data/src/core/ext/transport/chttp2/transport/stream_lists.cc +10 -11
- data/src/core/ext/transport/chttp2/transport/varint.cc +2 -2
- data/src/core/ext/transport/chttp2/transport/varint.h +4 -3
- data/src/core/ext/transport/chttp2/transport/write_size_policy.cc +4 -3
- data/src/core/ext/transport/chttp2/transport/write_size_policy.h +2 -2
- data/src/core/ext/transport/chttp2/transport/writing.cc +59 -47
- data/src/core/ext/transport/inproc/inproc_transport.cc +65 -41
- data/src/core/ext/transport/inproc/inproc_transport.h +2 -5
- data/src/core/ext/transport/inproc/legacy_inproc_transport.cc +20 -23
- data/src/core/ext/transport/inproc/legacy_inproc_transport.h +1 -4
- data/src/core/{lib/transport → handshaker/endpoint_info}/endpoint_info_handshaker.cc +6 -6
- data/src/core/{lib/transport → handshaker/endpoint_info}/endpoint_info_handshaker.h +3 -3
- data/src/core/{lib/transport → handshaker}/handshaker.cc +14 -20
- data/src/core/{lib/transport → handshaker}/handshaker.h +4 -5
- data/src/core/{lib/transport → handshaker}/handshaker_factory.h +19 -3
- data/src/core/{lib/transport → handshaker}/handshaker_registry.cc +3 -3
- data/src/core/{lib/transport → handshaker}/handshaker_registry.h +6 -6
- data/src/core/{lib/transport → handshaker/http_connect}/http_connect_handshaker.cc +16 -25
- data/src/core/{lib/transport → handshaker/http_connect}/http_connect_handshaker.h +3 -3
- data/src/core/{client_channel → handshaker/http_connect}/http_proxy_mapper.cc +16 -18
- data/src/core/{client_channel → handshaker/http_connect}/http_proxy_mapper.h +6 -6
- data/src/core/{lib/handshaker → handshaker}/proxy_mapper.h +5 -5
- data/src/core/{lib/handshaker → handshaker}/proxy_mapper_registry.cc +3 -3
- data/src/core/{lib/handshaker → handshaker}/proxy_mapper_registry.h +6 -6
- data/src/core/{lib/security/transport → handshaker/security}/secure_endpoint.cc +42 -36
- data/src/core/{lib/security/transport → handshaker/security}/secure_endpoint.h +4 -7
- data/src/core/{lib/security/transport → handshaker/security}/security_handshaker.cc +35 -47
- data/src/core/{lib/security/transport → handshaker/security}/security_handshaker.h +5 -6
- data/src/core/{lib/transport → handshaker/tcp_connect}/tcp_connect_handshaker.cc +10 -9
- data/src/core/{lib/transport → handshaker/tcp_connect}/tcp_connect_handshaker.h +3 -3
- data/src/core/lib/address_utils/parse_address.cc +30 -40
- data/src/core/lib/address_utils/parse_address.h +2 -2
- data/src/core/lib/address_utils/sockaddr_utils.cc +20 -15
- data/src/core/lib/address_utils/sockaddr_utils.h +2 -2
- data/src/core/lib/avl/avl.h +3 -3
- data/src/core/lib/backoff/backoff.cc +2 -2
- data/src/core/lib/backoff/backoff.h +2 -2
- data/src/core/lib/backoff/random_early_detection.cc +2 -2
- data/src/core/lib/backoff/random_early_detection.h +2 -2
- data/src/core/lib/channel/call_finalization.h +2 -2
- data/src/core/lib/channel/channel_args.cc +17 -21
- data/src/core/lib/channel/channel_args.h +20 -10
- data/src/core/lib/channel/channel_args_preconditioning.cc +2 -2
- data/src/core/lib/channel/channel_args_preconditioning.h +1 -2
- data/src/core/lib/channel/channel_stack.cc +13 -70
- data/src/core/lib/channel/channel_stack.h +14 -39
- data/src/core/lib/channel/channel_stack_builder.cc +2 -2
- data/src/core/lib/channel/channel_stack_builder.h +2 -7
- data/src/core/lib/channel/channel_stack_builder_impl.cc +1 -150
- data/src/core/lib/channel/channel_stack_builder_impl.h +2 -4
- data/src/core/lib/channel/connected_channel.cc +40 -694
- data/src/core/lib/channel/promise_based_filter.cc +111 -122
- data/src/core/lib/channel/promise_based_filter.h +219 -531
- data/src/core/lib/channel/status_util.cc +3 -3
- data/src/core/lib/channel/status_util.h +1 -2
- data/src/core/lib/compression/compression.cc +2 -3
- data/src/core/lib/compression/compression_internal.cc +3 -3
- data/src/core/lib/compression/compression_internal.h +1 -2
- data/src/core/lib/compression/message_compress.cc +15 -14
- data/src/core/lib/compression/message_compress.h +1 -2
- data/src/core/lib/config/config_vars.cc +5 -10
- data/src/core/lib/config/config_vars.h +3 -7
- data/src/core/lib/config/config_vars_non_generated.cc +2 -2
- data/src/core/lib/config/core_configuration.cc +9 -8
- data/src/core/lib/config/core_configuration.h +8 -8
- data/src/core/lib/config/load_config.cc +4 -4
- data/src/core/lib/config/load_config.h +2 -2
- data/src/core/lib/debug/event_log.cc +3 -3
- data/src/core/lib/debug/event_log.h +3 -3
- data/src/core/lib/debug/trace.cc +44 -61
- data/src/core/lib/debug/trace.h +2 -97
- data/src/core/lib/debug/trace_flags.cc +255 -0
- data/src/core/lib/debug/trace_flags.h +133 -0
- data/src/core/lib/debug/trace_impl.h +115 -0
- data/src/core/lib/event_engine/ares_resolver.cc +23 -26
- data/src/core/lib/event_engine/ares_resolver.h +3 -5
- data/src/core/lib/event_engine/cf_engine/cf_engine.cc +4 -2
- data/src/core/lib/event_engine/cf_engine/cfstream_endpoint.cc +3 -3
- data/src/core/lib/event_engine/cf_engine/dns_service_resolver.cc +19 -23
- data/src/core/lib/event_engine/cf_engine/dns_service_resolver.h +2 -1
- data/src/core/lib/event_engine/channel_args_endpoint_config.cc +1 -2
- data/src/core/lib/event_engine/channel_args_endpoint_config.h +1 -2
- data/src/core/lib/event_engine/common_closures.h +1 -2
- data/src/core/lib/event_engine/default_event_engine.cc +1 -2
- data/src/core/lib/event_engine/default_event_engine.h +1 -2
- data/src/core/lib/event_engine/default_event_engine_factory.cc +1 -2
- data/src/core/lib/event_engine/default_event_engine_factory.h +1 -2
- data/src/core/lib/event_engine/event_engine.cc +29 -5
- data/src/core/lib/event_engine/event_engine_context.h +1 -2
- data/src/core/lib/event_engine/extensions/can_track_errors.h +2 -2
- data/src/core/lib/event_engine/extensions/chaotic_good_extension.h +2 -2
- data/src/core/lib/event_engine/extensions/supports_fd.h +8 -2
- data/src/core/lib/event_engine/extensions/tcp_trace.h +43 -0
- data/src/core/lib/event_engine/forkable.cc +11 -11
- data/src/core/lib/event_engine/forkable.h +1 -13
- data/src/core/lib/event_engine/grpc_polled_fd.h +1 -2
- data/src/core/lib/event_engine/handle_containers.h +1 -2
- data/src/core/lib/event_engine/memory_allocator_factory.h +1 -2
- data/src/core/lib/event_engine/poller.h +1 -2
- data/src/core/lib/event_engine/posix.h +1 -2
- data/src/core/lib/event_engine/posix_engine/ev_epoll1_linux.cc +19 -19
- data/src/core/lib/event_engine/posix_engine/ev_epoll1_linux.h +1 -2
- data/src/core/lib/event_engine/posix_engine/ev_poll_posix.cc +11 -11
- data/src/core/lib/event_engine/posix_engine/ev_poll_posix.h +1 -2
- data/src/core/lib/event_engine/posix_engine/event_poller.h +1 -2
- data/src/core/lib/event_engine/posix_engine/event_poller_posix_default.cc +2 -2
- data/src/core/lib/event_engine/posix_engine/event_poller_posix_default.h +2 -2
- data/src/core/lib/event_engine/posix_engine/grpc_polled_fd_posix.h +1 -2
- data/src/core/lib/event_engine/posix_engine/internal_errqueue.cc +5 -5
- data/src/core/lib/event_engine/posix_engine/internal_errqueue.h +2 -2
- data/src/core/lib/event_engine/posix_engine/lockfree_event.cc +3 -3
- data/src/core/lib/event_engine/posix_engine/lockfree_event.h +2 -2
- data/src/core/lib/event_engine/posix_engine/native_posix_dns_resolver.cc +1 -1
- data/src/core/lib/event_engine/posix_engine/native_posix_dns_resolver.h +2 -2
- data/src/core/lib/event_engine/posix_engine/posix_endpoint.cc +43 -58
- data/src/core/lib/event_engine/posix_engine/posix_endpoint.h +14 -13
- data/src/core/lib/event_engine/posix_engine/posix_engine.cc +34 -17
- data/src/core/lib/event_engine/posix_engine/posix_engine.h +3 -2
- data/src/core/lib/event_engine/posix_engine/posix_engine_closure.h +1 -2
- data/src/core/lib/event_engine/posix_engine/posix_engine_listener.cc +17 -18
- data/src/core/lib/event_engine/posix_engine/posix_engine_listener.h +1 -2
- data/src/core/lib/event_engine/posix_engine/posix_engine_listener_utils.cc +24 -28
- data/src/core/lib/event_engine/posix_engine/posix_engine_listener_utils.h +1 -2
- data/src/core/lib/event_engine/posix_engine/tcp_socket_utils.cc +22 -20
- data/src/core/lib/event_engine/posix_engine/tcp_socket_utils.h +3 -3
- data/src/core/lib/event_engine/posix_engine/timer.cc +2 -3
- data/src/core/lib/event_engine/posix_engine/timer.h +1 -2
- data/src/core/lib/event_engine/posix_engine/timer_heap.cc +2 -2
- data/src/core/lib/event_engine/posix_engine/timer_heap.h +2 -2
- data/src/core/lib/event_engine/posix_engine/timer_manager.cc +9 -11
- data/src/core/lib/event_engine/posix_engine/timer_manager.h +1 -2
- data/src/core/lib/event_engine/posix_engine/traced_buffer_list.cc +3 -3
- data/src/core/lib/event_engine/posix_engine/traced_buffer_list.h +1 -2
- data/src/core/lib/event_engine/posix_engine/wakeup_fd_eventfd.cc +2 -2
- data/src/core/lib/event_engine/posix_engine/wakeup_fd_eventfd.h +2 -2
- data/src/core/lib/event_engine/posix_engine/wakeup_fd_pipe.cc +2 -2
- data/src/core/lib/event_engine/posix_engine/wakeup_fd_pipe.h +2 -2
- data/src/core/lib/event_engine/posix_engine/wakeup_fd_posix.h +2 -2
- data/src/core/lib/event_engine/posix_engine/wakeup_fd_posix_default.cc +2 -2
- data/src/core/lib/event_engine/posix_engine/wakeup_fd_posix_default.h +2 -2
- data/src/core/lib/event_engine/query_extensions.h +3 -2
- data/src/core/lib/event_engine/ref_counted_dns_resolver_interface.h +1 -2
- data/src/core/lib/event_engine/resolved_address.cc +5 -4
- data/src/core/lib/event_engine/resolved_address_internal.h +1 -2
- data/src/core/lib/event_engine/shim.cc +3 -3
- data/src/core/lib/event_engine/slice.cc +4 -3
- data/src/core/lib/event_engine/slice_buffer.cc +1 -2
- data/src/core/lib/event_engine/tcp_socket_utils.cc +18 -16
- data/src/core/lib/event_engine/tcp_socket_utils.h +1 -2
- data/src/core/lib/event_engine/thread_local.cc +2 -2
- data/src/core/lib/event_engine/thread_local.h +1 -1
- data/src/core/lib/event_engine/thread_pool/thread_count.cc +1 -2
- data/src/core/lib/event_engine/thread_pool/thread_count.h +2 -3
- data/src/core/lib/event_engine/thread_pool/thread_pool.h +1 -2
- data/src/core/lib/event_engine/thread_pool/thread_pool_factory.cc +2 -2
- data/src/core/lib/event_engine/thread_pool/work_stealing_thread_pool.cc +27 -28
- data/src/core/lib/event_engine/thread_pool/work_stealing_thread_pool.h +4 -8
- data/src/core/lib/event_engine/thready_event_engine/thready_event_engine.cc +16 -15
- data/src/core/lib/event_engine/thready_event_engine/thready_event_engine.h +5 -5
- data/src/core/lib/event_engine/time_util.cc +1 -2
- data/src/core/lib/event_engine/time_util.h +1 -2
- data/src/core/lib/event_engine/trace.h +7 -19
- data/src/core/lib/event_engine/utils.cc +1 -2
- data/src/core/lib/event_engine/utils.h +1 -2
- data/src/core/lib/event_engine/windows/grpc_polled_fd_windows.cc +31 -30
- data/src/core/lib/event_engine/windows/iocp.cc +10 -8
- data/src/core/lib/event_engine/windows/iocp.h +1 -1
- data/src/core/lib/event_engine/windows/win_socket.cc +32 -22
- data/src/core/lib/event_engine/windows/win_socket.h +4 -5
- data/src/core/lib/event_engine/windows/windows_endpoint.cc +24 -25
- data/src/core/lib/event_engine/windows/windows_engine.cc +205 -90
- data/src/core/lib/event_engine/windows/windows_engine.h +136 -25
- data/src/core/lib/event_engine/windows/windows_listener.cc +19 -29
- data/src/core/lib/event_engine/work_queue/basic_work_queue.cc +2 -2
- data/src/core/lib/event_engine/work_queue/basic_work_queue.h +1 -2
- data/src/core/lib/event_engine/work_queue/work_queue.h +1 -2
- data/src/core/lib/experiments/config.cc +16 -14
- data/src/core/lib/experiments/config.h +2 -2
- data/src/core/lib/experiments/experiments.cc +57 -158
- data/src/core/lib/experiments/experiments.h +35 -52
- data/src/core/lib/gprpp/atomic_utils.h +2 -2
- data/src/core/lib/gprpp/bitset.h +3 -3
- data/src/core/lib/gprpp/chunked_vector.h +6 -5
- data/src/core/lib/gprpp/construct_destruct.h +2 -2
- data/src/core/lib/gprpp/crash.cc +3 -5
- data/src/core/lib/gprpp/crash.h +2 -2
- data/src/core/lib/gprpp/debug_location.h +2 -2
- data/src/core/lib/gprpp/directory_reader.h +2 -2
- data/src/core/lib/gprpp/down_cast.h +3 -3
- data/src/core/lib/gprpp/dual_ref_counted.h +54 -41
- data/src/core/lib/gprpp/dump_args.cc +54 -0
- data/src/core/lib/gprpp/dump_args.h +69 -0
- data/src/core/lib/gprpp/env.h +2 -2
- data/src/core/lib/gprpp/examine_stack.cc +2 -2
- data/src/core/lib/gprpp/examine_stack.h +2 -2
- data/src/core/lib/gprpp/fork.cc +1 -2
- data/src/core/lib/gprpp/fork.h +2 -2
- data/src/core/lib/gprpp/glob.cc +70 -0
- data/src/core/lib/gprpp/glob.h +29 -0
- data/src/core/lib/gprpp/host_port.cc +6 -4
- data/src/core/lib/gprpp/host_port.h +2 -2
- data/src/core/lib/gprpp/linux/env.cc +2 -2
- data/src/core/lib/gprpp/load_file.cc +1 -2
- data/src/core/lib/gprpp/load_file.h +2 -2
- data/src/core/lib/gprpp/manual_constructor.h +2 -2
- data/src/core/lib/gprpp/match.h +2 -2
- data/src/core/lib/gprpp/memory.h +1 -2
- data/src/core/lib/gprpp/mpscq.cc +2 -2
- data/src/core/lib/gprpp/mpscq.h +5 -4
- data/src/core/lib/gprpp/no_destruct.h +2 -2
- data/src/core/lib/gprpp/notification.h +2 -2
- data/src/core/lib/gprpp/orphanable.h +2 -2
- data/src/core/lib/gprpp/overload.h +2 -2
- data/src/core/lib/gprpp/per_cpu.cc +2 -3
- data/src/core/lib/gprpp/per_cpu.h +1 -2
- data/src/core/lib/gprpp/posix/directory_reader.cc +2 -2
- data/src/core/lib/gprpp/posix/stat.cc +8 -7
- data/src/core/lib/gprpp/posix/thd.cc +18 -19
- data/src/core/lib/gprpp/ref_counted.h +35 -26
- data/src/core/lib/gprpp/ref_counted_ptr.h +2 -2
- data/src/core/lib/gprpp/ref_counted_string.cc +1 -2
- data/src/core/lib/gprpp/ref_counted_string.h +2 -2
- data/src/core/lib/gprpp/single_set_ptr.h +9 -6
- data/src/core/lib/gprpp/sorted_pack.h +2 -2
- data/src/core/lib/gprpp/stat.h +2 -2
- data/src/core/lib/gprpp/status_helper.cc +14 -33
- data/src/core/lib/gprpp/status_helper.h +5 -33
- data/src/core/lib/gprpp/strerror.cc +2 -2
- data/src/core/lib/gprpp/strerror.h +2 -2
- data/src/core/lib/gprpp/sync.h +5 -5
- data/src/core/lib/gprpp/table.h +2 -2
- data/src/core/lib/gprpp/tchar.cc +2 -2
- data/src/core/lib/gprpp/thd.h +7 -7
- data/src/core/lib/gprpp/time.cc +9 -10
- data/src/core/lib/gprpp/time.h +4 -4
- data/src/core/lib/gprpp/time_averaged_stats.cc +2 -2
- data/src/core/lib/gprpp/time_util.cc +5 -4
- data/src/core/lib/gprpp/time_util.h +1 -2
- data/src/core/lib/gprpp/unique_type_name.h +3 -3
- data/src/core/lib/gprpp/uuid_v4.cc +2 -2
- data/src/core/lib/gprpp/uuid_v4.h +2 -2
- data/src/core/lib/gprpp/validation_errors.cc +12 -3
- data/src/core/lib/gprpp/validation_errors.h +13 -2
- data/src/core/lib/gprpp/windows/stat.cc +6 -5
- data/src/core/lib/gprpp/windows/thd.cc +7 -4
- data/src/core/lib/gprpp/work_serializer.cc +53 -62
- data/src/core/lib/gprpp/work_serializer.h +1 -2
- data/src/core/lib/iomgr/buffer_list.cc +5 -4
- data/src/core/lib/iomgr/buffer_list.h +1 -2
- data/src/core/lib/iomgr/call_combiner.cc +23 -31
- data/src/core/lib/iomgr/call_combiner.h +2 -5
- data/src/core/lib/iomgr/cfstream_handle.cc +4 -6
- data/src/core/lib/iomgr/closure.cc +2 -2
- data/src/core/lib/iomgr/closure.h +6 -7
- data/src/core/lib/iomgr/combiner.cc +13 -14
- data/src/core/lib/iomgr/combiner.h +1 -4
- data/src/core/lib/iomgr/endpoint.cc +1 -7
- data/src/core/lib/iomgr/endpoint.h +1 -4
- data/src/core/lib/iomgr/endpoint_cfstream.cc +26 -46
- data/src/core/lib/iomgr/endpoint_pair_posix.cc +6 -5
- data/src/core/lib/iomgr/endpoint_pair_windows.cc +15 -15
- data/src/core/lib/iomgr/error.cc +16 -24
- data/src/core/lib/iomgr/error.h +4 -4
- data/src/core/lib/iomgr/ev_apple.cc +3 -5
- data/src/core/lib/iomgr/ev_epoll1_linux.cc +58 -56
- data/src/core/lib/iomgr/ev_poll_posix.cc +47 -38
- data/src/core/lib/iomgr/ev_posix.cc +9 -11
- data/src/core/lib/iomgr/ev_posix.h +11 -8
- data/src/core/lib/iomgr/event_engine_shims/closure.cc +3 -4
- data/src/core/lib/iomgr/event_engine_shims/closure.h +1 -2
- data/src/core/lib/iomgr/event_engine_shims/endpoint.cc +17 -31
- data/src/core/lib/iomgr/event_engine_shims/endpoint.h +1 -2
- data/src/core/lib/iomgr/event_engine_shims/tcp_client.cc +1 -2
- data/src/core/lib/iomgr/event_engine_shims/tcp_client.h +1 -2
- data/src/core/lib/iomgr/exec_ctx.cc +7 -7
- data/src/core/lib/iomgr/exec_ctx.h +7 -5
- data/src/core/lib/iomgr/executor.cc +13 -23
- data/src/core/lib/iomgr/executor.h +1 -1
- data/src/core/lib/iomgr/fork_posix.cc +8 -10
- data/src/core/lib/iomgr/fork_windows.cc +3 -1
- data/src/core/lib/iomgr/grpc_if_nametoindex.h +2 -2
- data/src/core/lib/iomgr/grpc_if_nametoindex_posix.cc +2 -3
- data/src/core/lib/iomgr/grpc_if_nametoindex_unsupported.cc +3 -5
- data/src/core/lib/iomgr/internal_errqueue.cc +5 -4
- data/src/core/lib/iomgr/iocp_windows.cc +13 -9
- data/src/core/lib/iomgr/iocp_windows.h +0 -1
- data/src/core/lib/iomgr/iomgr.cc +14 -19
- data/src/core/lib/iomgr/iomgr.h +2 -2
- data/src/core/lib/iomgr/iomgr_internal.cc +2 -2
- data/src/core/lib/iomgr/iomgr_internal.h +2 -2
- data/src/core/lib/iomgr/iomgr_windows.cc +4 -2
- data/src/core/lib/iomgr/lockfree_event.cc +7 -8
- data/src/core/lib/iomgr/lockfree_event.h +1 -2
- data/src/core/lib/iomgr/polling_entity.cc +5 -5
- data/src/core/lib/iomgr/pollset.cc +2 -2
- data/src/core/lib/iomgr/pollset.h +0 -3
- data/src/core/lib/iomgr/pollset_set.cc +2 -2
- data/src/core/lib/iomgr/pollset_set_windows.cc +2 -2
- data/src/core/lib/iomgr/pollset_windows.cc +0 -2
- data/src/core/lib/iomgr/pollset_windows.h +0 -1
- data/src/core/lib/iomgr/python_util.h +1 -2
- data/src/core/lib/iomgr/resolve_address.cc +1 -2
- data/src/core/lib/iomgr/resolve_address.h +1 -2
- data/src/core/lib/iomgr/resolve_address_impl.h +2 -2
- data/src/core/lib/iomgr/resolve_address_posix.cc +7 -14
- data/src/core/lib/iomgr/resolve_address_posix.h +2 -2
- data/src/core/lib/iomgr/resolve_address_windows.cc +1 -1
- data/src/core/lib/iomgr/resolve_address_windows.h +2 -2
- data/src/core/lib/iomgr/resolved_address.h +2 -2
- data/src/core/lib/iomgr/sockaddr_utils_posix.cc +3 -1
- data/src/core/lib/iomgr/socket_factory_posix.cc +1 -1
- data/src/core/lib/iomgr/socket_factory_posix.h +1 -2
- data/src/core/lib/iomgr/socket_mutator.cc +2 -3
- data/src/core/lib/iomgr/socket_mutator.h +1 -2
- data/src/core/lib/iomgr/socket_utils.h +2 -2
- data/src/core/lib/iomgr/socket_utils_common_posix.cc +28 -33
- data/src/core/lib/iomgr/socket_utils_posix.cc +2 -2
- data/src/core/lib/iomgr/socket_utils_posix.h +1 -2
- data/src/core/lib/iomgr/socket_windows.cc +8 -9
- data/src/core/lib/iomgr/tcp_client.cc +2 -2
- data/src/core/lib/iomgr/tcp_client.h +1 -2
- data/src/core/lib/iomgr/tcp_client_cfstream.cc +3 -5
- data/src/core/lib/iomgr/tcp_client_posix.cc +14 -19
- data/src/core/lib/iomgr/tcp_client_windows.cc +9 -9
- data/src/core/lib/iomgr/tcp_posix.cc +99 -125
- data/src/core/lib/iomgr/tcp_posix.h +0 -2
- data/src/core/lib/iomgr/tcp_server.cc +2 -2
- data/src/core/lib/iomgr/tcp_server.h +1 -2
- data/src/core/lib/iomgr/tcp_server_posix.cc +35 -38
- data/src/core/lib/iomgr/tcp_server_utils_posix.h +2 -2
- data/src/core/lib/iomgr/tcp_server_utils_posix_common.cc +10 -12
- data/src/core/lib/iomgr/tcp_server_utils_posix_ifaddrs.cc +9 -8
- data/src/core/lib/iomgr/tcp_server_windows.cc +25 -30
- data/src/core/lib/iomgr/tcp_windows.cc +33 -47
- data/src/core/lib/iomgr/timer.cc +2 -2
- data/src/core/lib/iomgr/timer.h +1 -2
- data/src/core/lib/iomgr/timer_generic.cc +20 -23
- data/src/core/lib/iomgr/timer_generic.h +0 -1
- data/src/core/lib/iomgr/timer_heap.cc +2 -3
- data/src/core/lib/iomgr/timer_manager.cc +21 -33
- data/src/core/lib/iomgr/timer_manager.h +2 -2
- data/src/core/lib/iomgr/unix_sockets_posix.cc +3 -2
- data/src/core/lib/iomgr/unix_sockets_posix.h +1 -2
- data/src/core/lib/iomgr/unix_sockets_posix_noop.cc +3 -1
- data/src/core/lib/iomgr/vsock.cc +3 -3
- data/src/core/lib/iomgr/vsock.h +1 -2
- data/src/core/lib/iomgr/wakeup_fd_pipe.cc +3 -3
- data/src/core/lib/matchers/matchers.cc +2 -2
- data/src/core/lib/matchers/matchers.h +2 -2
- data/src/core/lib/promise/activity.cc +4 -3
- data/src/core/lib/promise/activity.h +34 -11
- data/src/core/lib/promise/all_ok.h +2 -2
- data/src/core/lib/promise/arena_promise.h +2 -2
- data/src/core/lib/promise/cancel_callback.h +24 -0
- data/src/core/lib/promise/context.h +14 -3
- data/src/core/lib/promise/detail/basic_seq.h +1 -2
- data/src/core/lib/promise/detail/join_state.h +365 -408
- data/src/core/lib/promise/detail/promise_factory.h +2 -2
- data/src/core/lib/promise/detail/promise_like.h +15 -8
- data/src/core/lib/promise/detail/seq_state.h +1192 -1192
- data/src/core/lib/promise/detail/status.h +4 -3
- data/src/core/lib/promise/exec_ctx_wakeup_scheduler.h +2 -2
- data/src/core/lib/promise/for_each.h +91 -30
- data/src/core/lib/promise/if.h +2 -2
- data/src/core/lib/promise/interceptor_list.h +9 -10
- data/src/core/lib/promise/latch.h +17 -17
- data/src/core/lib/promise/loop.h +2 -2
- data/src/core/lib/promise/map.h +19 -2
- data/src/core/lib/promise/observable.h +182 -0
- data/src/core/lib/promise/party.cc +22 -23
- data/src/core/lib/promise/party.h +19 -17
- data/src/core/lib/promise/pipe.h +31 -50
- data/src/core/lib/promise/poll.h +6 -5
- data/src/core/lib/promise/prioritized_race.h +2 -2
- data/src/core/lib/promise/promise.h +3 -2
- data/src/core/lib/promise/race.h +2 -2
- data/src/core/lib/promise/seq.h +2 -2
- data/src/core/lib/promise/sleep.cc +1 -2
- data/src/core/lib/promise/sleep.h +1 -2
- data/src/core/lib/promise/status_flag.h +10 -8
- data/src/core/lib/promise/try_join.h +4 -3
- data/src/core/lib/promise/try_seq.h +4 -3
- data/src/core/lib/resource_quota/api.cc +1 -2
- data/src/core/lib/resource_quota/api.h +1 -2
- data/src/core/lib/resource_quota/arena.cc +57 -81
- data/src/core/lib/resource_quota/arena.h +119 -211
- data/src/core/lib/resource_quota/connection_quota.cc +8 -9
- data/src/core/lib/resource_quota/connection_quota.h +2 -2
- data/src/core/lib/resource_quota/memory_quota.cc +20 -21
- data/src/core/lib/resource_quota/memory_quota.h +6 -7
- data/src/core/lib/resource_quota/periodic_update.cc +3 -3
- data/src/core/lib/resource_quota/periodic_update.h +2 -2
- data/src/core/lib/resource_quota/resource_quota.cc +2 -2
- data/src/core/lib/resource_quota/resource_quota.h +2 -3
- data/src/core/lib/resource_quota/thread_quota.cc +4 -3
- data/src/core/lib/resource_quota/thread_quota.h +2 -2
- data/src/core/lib/security/authorization/audit_logging.cc +6 -6
- data/src/core/lib/security/authorization/audit_logging.h +1 -2
- data/src/core/lib/security/authorization/authorization_engine.h +2 -2
- data/src/core/lib/security/authorization/authorization_policy_provider.h +2 -3
- data/src/core/lib/security/authorization/authorization_policy_provider_vtable.cc +2 -3
- data/src/core/lib/security/authorization/evaluate_args.cc +8 -11
- data/src/core/lib/security/authorization/evaluate_args.h +1 -2
- data/src/core/lib/security/authorization/grpc_authorization_engine.cc +4 -3
- data/src/core/lib/security/authorization/grpc_authorization_engine.h +1 -2
- data/src/core/lib/security/authorization/grpc_server_authz_filter.cc +9 -11
- data/src/core/lib/security/authorization/grpc_server_authz_filter.h +8 -8
- data/src/core/lib/security/authorization/matchers.cc +4 -5
- data/src/core/lib/security/authorization/matchers.h +2 -2
- data/src/core/lib/security/authorization/rbac_policy.cc +2 -2
- data/src/core/lib/security/authorization/rbac_policy.h +1 -2
- data/src/core/lib/security/authorization/stdout_logger.cc +4 -3
- data/src/core/lib/security/authorization/stdout_logger.h +1 -2
- data/src/core/lib/security/certificate_provider/certificate_provider_factory.h +4 -4
- data/src/core/lib/security/certificate_provider/certificate_provider_registry.cc +6 -6
- data/src/core/lib/security/certificate_provider/certificate_provider_registry.h +2 -2
- data/src/core/lib/security/context/security_context.cc +17 -16
- data/src/core/lib/security/context/security_context.h +33 -10
- data/src/core/lib/security/credentials/alts/alts_credentials.cc +1 -2
- data/src/core/lib/security/credentials/alts/alts_credentials.h +3 -3
- data/src/core/lib/security/credentials/alts/check_gcp_environment.cc +4 -3
- data/src/core/lib/security/credentials/alts/check_gcp_environment_no_op.cc +2 -3
- data/src/core/lib/security/credentials/alts/grpc_alts_credentials_client_options.cc +5 -6
- data/src/core/lib/security/credentials/alts/grpc_alts_credentials_options.cc +4 -5
- data/src/core/lib/security/credentials/alts/grpc_alts_credentials_options.h +2 -2
- data/src/core/lib/security/credentials/alts/grpc_alts_credentials_server_options.cc +1 -2
- data/src/core/lib/security/credentials/call_creds_util.cc +3 -3
- data/src/core/lib/security/credentials/call_creds_util.h +2 -2
- data/src/core/lib/security/credentials/channel_creds_registry.h +4 -4
- data/src/core/lib/security/credentials/channel_creds_registry_init.cc +7 -5
- data/src/core/lib/security/credentials/composite/composite_credentials.cc +9 -8
- data/src/core/lib/security/credentials/composite/composite_credentials.h +3 -3
- data/src/core/lib/security/credentials/credentials.cc +10 -9
- data/src/core/lib/security/credentials/credentials.h +5 -4
- data/src/core/lib/security/credentials/external/aws_external_account_credentials.cc +9 -8
- data/src/core/lib/security/credentials/external/aws_external_account_credentials.h +4 -4
- data/src/core/lib/security/credentials/external/aws_request_signer.cc +2 -2
- data/src/core/lib/security/credentials/external/aws_request_signer.h +2 -2
- data/src/core/lib/security/credentials/external/external_account_credentials.cc +16 -17
- data/src/core/lib/security/credentials/external/external_account_credentials.h +5 -5
- data/src/core/lib/security/credentials/external/file_external_account_credentials.cc +3 -4
- data/src/core/lib/security/credentials/external/file_external_account_credentials.h +2 -2
- data/src/core/lib/security/credentials/external/url_external_account_credentials.cc +8 -7
- data/src/core/lib/security/credentials/external/url_external_account_credentials.h +3 -3
- data/src/core/lib/security/credentials/fake/fake_credentials.cc +2 -2
- data/src/core/lib/security/credentials/fake/fake_credentials.h +3 -3
- data/src/core/lib/security/credentials/google_default/credentials_generic.cc +4 -5
- data/src/core/lib/security/credentials/google_default/google_default_credentials.cc +19 -18
- data/src/core/lib/security/credentials/google_default/google_default_credentials.h +3 -3
- data/src/core/lib/security/credentials/iam/iam_credentials.cc +5 -5
- data/src/core/lib/security/credentials/iam/iam_credentials.h +3 -3
- data/src/core/lib/security/credentials/insecure/insecure_credentials.cc +2 -2
- data/src/core/lib/security/credentials/insecure/insecure_credentials.h +2 -2
- data/src/core/lib/security/credentials/jwt/json_token.cc +19 -19
- data/src/core/lib/security/credentials/jwt/json_token.h +2 -3
- data/src/core/lib/security/credentials/jwt/jwt_credentials.cc +10 -8
- data/src/core/lib/security/credentials/jwt/jwt_credentials.h +3 -3
- data/src/core/lib/security/credentials/jwt/jwt_verifier.cc +65 -69
- data/src/core/lib/security/credentials/jwt/jwt_verifier.h +2 -3
- data/src/core/lib/security/credentials/local/local_credentials.cc +1 -2
- data/src/core/lib/security/credentials/local/local_credentials.h +3 -3
- data/src/core/lib/security/credentials/oauth2/oauth2_credentials.cc +21 -19
- data/src/core/lib/security/credentials/oauth2/oauth2_credentials.h +6 -6
- data/src/core/lib/security/credentials/plugin/plugin_credentials.cc +9 -10
- data/src/core/lib/security/credentials/plugin/plugin_credentials.h +3 -5
- data/src/core/lib/security/credentials/ssl/ssl_credentials.cc +28 -34
- data/src/core/lib/security/credentials/ssl/ssl_credentials.h +6 -4
- data/src/core/lib/security/credentials/tls/grpc_tls_certificate_distributor.cc +26 -25
- data/src/core/lib/security/credentials/tls/grpc_tls_certificate_distributor.h +2 -2
- data/src/core/lib/security/credentials/tls/grpc_tls_certificate_match.cc +2 -2
- data/src/core/lib/security/credentials/tls/grpc_tls_certificate_provider.cc +28 -36
- data/src/core/lib/security/credentials/tls/grpc_tls_certificate_provider.h +4 -4
- data/src/core/lib/security/credentials/tls/grpc_tls_certificate_verifier.cc +3 -3
- data/src/core/lib/security/credentials/tls/grpc_tls_certificate_verifier.h +5 -4
- data/src/core/lib/security/credentials/tls/grpc_tls_credentials_options.cc +23 -22
- data/src/core/lib/security/credentials/tls/grpc_tls_credentials_options.h +1 -0
- data/src/core/lib/security/credentials/tls/grpc_tls_crl_provider.cc +5 -7
- data/src/core/lib/security/credentials/tls/grpc_tls_crl_provider.h +1 -2
- data/src/core/lib/security/credentials/tls/tls_credentials.cc +15 -18
- data/src/core/lib/security/credentials/tls/tls_credentials.h +2 -2
- data/src/core/lib/security/credentials/tls/tls_utils.cc +5 -6
- data/src/core/lib/security/credentials/tls/tls_utils.h +1 -2
- data/src/core/lib/security/credentials/xds/xds_credentials.cc +8 -8
- data/src/core/lib/security/credentials/xds/xds_credentials.h +3 -3
- data/src/core/lib/security/security_connector/alts/alts_security_connector.cc +27 -30
- data/src/core/lib/security/security_connector/alts/alts_security_connector.h +2 -2
- data/src/core/lib/security/security_connector/fake/fake_security_connector.cc +20 -17
- data/src/core/lib/security/security_connector/fake/fake_security_connector.h +2 -2
- data/src/core/lib/security/security_connector/insecure/insecure_security_connector.cc +6 -5
- data/src/core/lib/security/security_connector/insecure/insecure_security_connector.h +3 -3
- data/src/core/lib/security/security_connector/load_system_roots.h +1 -2
- data/src/core/lib/security/security_connector/load_system_roots_supported.cc +8 -8
- data/src/core/lib/security/security_connector/load_system_roots_supported.h +1 -2
- data/src/core/lib/security/security_connector/load_system_roots_windows.cc +1 -1
- data/src/core/lib/security/security_connector/local/local_security_connector.cc +19 -23
- data/src/core/lib/security/security_connector/local/local_security_connector.h +2 -2
- data/src/core/lib/security/security_connector/security_connector.cc +8 -10
- data/src/core/lib/security/security_connector/security_connector.h +4 -6
- data/src/core/lib/security/security_connector/ssl/ssl_security_connector.cc +23 -25
- data/src/core/lib/security/security_connector/ssl/ssl_security_connector.h +2 -2
- data/src/core/lib/security/security_connector/ssl_utils.cc +29 -30
- data/src/core/lib/security/security_connector/ssl_utils.h +1 -2
- data/src/core/lib/security/security_connector/tls/tls_security_connector.cc +42 -53
- data/src/core/lib/security/security_connector/tls/tls_security_connector.h +3 -3
- data/src/core/lib/security/transport/auth_filters.h +14 -13
- data/src/core/lib/security/transport/client_auth_filter.cc +13 -18
- data/src/core/lib/security/transport/server_auth_filter.cc +10 -13
- data/src/core/lib/security/util/json_util.cc +1 -2
- data/src/core/lib/security/util/json_util.h +1 -1
- data/src/core/lib/slice/percent_encoding.cc +4 -3
- data/src/core/lib/slice/slice.cc +11 -10
- data/src/core/lib/slice/slice.h +5 -5
- data/src/core/lib/slice/slice_buffer.cc +15 -14
- data/src/core/lib/slice/slice_buffer.h +1 -2
- data/src/core/lib/slice/slice_internal.h +3 -3
- data/src/core/lib/slice/slice_refcount.h +3 -6
- data/src/core/lib/slice/slice_string_helpers.cc +3 -3
- data/src/core/lib/slice/slice_string_helpers.h +1 -2
- data/src/core/lib/surface/api_trace.h +2 -5
- data/src/core/lib/surface/byte_buffer.cc +1 -2
- data/src/core/lib/surface/byte_buffer_reader.cc +4 -3
- data/src/core/lib/surface/call.cc +102 -3899
- data/src/core/lib/surface/call.h +158 -90
- data/src/core/lib/surface/call_details.cc +1 -2
- data/src/core/lib/surface/call_log_batch.cc +2 -3
- data/src/core/lib/surface/call_test_only.h +1 -2
- data/src/core/lib/surface/call_utils.cc +276 -0
- data/src/core/lib/surface/call_utils.h +449 -0
- data/src/core/lib/surface/channel.cc +17 -11
- data/src/core/lib/surface/channel.h +12 -10
- data/src/core/lib/surface/channel_create.cc +18 -9
- data/src/core/lib/surface/channel_create.h +5 -4
- data/src/core/lib/surface/channel_init.cc +27 -83
- data/src/core/lib/surface/channel_init.h +27 -100
- data/src/core/lib/surface/channel_stack_type.cc +2 -2
- data/src/core/lib/surface/client_call.cc +419 -0
- data/src/core/lib/surface/client_call.h +180 -0
- data/src/core/lib/surface/completion_queue.cc +45 -51
- data/src/core/lib/surface/completion_queue.h +1 -10
- data/src/core/lib/surface/completion_queue_factory.cc +9 -8
- data/src/core/lib/surface/completion_queue_factory.h +1 -2
- data/src/core/lib/surface/event_string.cc +2 -2
- data/src/core/lib/surface/event_string.h +1 -2
- data/src/core/lib/surface/filter_stack_call.cc +1157 -0
- data/src/core/lib/surface/filter_stack_call.h +369 -0
- data/src/core/lib/surface/init.cc +8 -8
- data/src/core/lib/surface/init_internally.cc +2 -2
- data/src/core/lib/surface/lame_client.cc +10 -13
- data/src/core/lib/surface/lame_client.h +6 -11
- data/src/core/lib/surface/legacy_channel.cc +52 -39
- data/src/core/lib/surface/legacy_channel.h +11 -21
- data/src/core/lib/surface/metadata_array.cc +1 -2
- data/src/core/lib/surface/server_call.cc +222 -0
- data/src/core/lib/surface/server_call.h +167 -0
- data/src/core/lib/surface/validate_metadata.cc +1 -2
- data/src/core/lib/surface/validate_metadata.h +3 -3
- data/src/core/lib/surface/version.cc +3 -4
- data/src/core/lib/transport/bdp_estimator.cc +7 -7
- data/src/core/lib/transport/bdp_estimator.h +6 -8
- data/src/core/lib/transport/{call_size_estimator.cc → call_arena_allocator.cc} +3 -3
- data/src/core/lib/transport/{call_size_estimator.h → call_arena_allocator.h} +29 -6
- data/src/core/lib/transport/call_destination.h +76 -0
- data/src/core/lib/transport/call_filters.cc +54 -21
- data/src/core/lib/transport/call_filters.h +240 -84
- data/src/core/lib/transport/call_final_info.cc +2 -2
- data/src/core/lib/transport/call_final_info.h +1 -2
- data/src/core/lib/transport/call_spine.cc +17 -19
- data/src/core/lib/transport/call_spine.h +238 -215
- data/src/core/lib/transport/connectivity_state.cc +9 -12
- data/src/core/lib/transport/connectivity_state.h +1 -4
- data/src/core/lib/transport/error_utils.cc +1 -2
- data/src/core/lib/transport/error_utils.h +1 -2
- data/src/core/lib/transport/interception_chain.cc +155 -0
- data/src/core/lib/transport/interception_chain.h +236 -0
- data/src/core/lib/transport/message.cc +1 -2
- data/src/core/lib/transport/metadata.cc +2 -2
- data/src/core/lib/transport/metadata_batch.cc +2 -2
- data/src/core/lib/transport/metadata_batch.h +43 -5
- data/src/core/lib/transport/metadata_compression_traits.h +2 -2
- data/src/core/lib/transport/metadata_info.cc +2 -2
- data/src/core/lib/transport/metadata_info.h +1 -1
- data/src/core/lib/transport/parsed_metadata.cc +2 -2
- data/src/core/lib/transport/parsed_metadata.h +1 -2
- data/src/core/lib/transport/simple_slice_based_metadata.h +2 -2
- data/src/core/lib/transport/status_conversion.cc +2 -2
- data/src/core/lib/transport/status_conversion.h +1 -2
- data/src/core/lib/transport/timeout_encoding.cc +5 -5
- data/src/core/lib/transport/timeout_encoding.h +2 -2
- data/src/core/lib/transport/transport.cc +4 -8
- data/src/core/lib/transport/transport.h +80 -74
- data/src/core/lib/transport/transport_op_string.cc +1 -2
- data/src/core/lib/uri/uri_parser.cc +3 -3
- data/src/core/lib/uri/uri_parser.h +2 -2
- data/src/core/load_balancing/address_filtering.cc +2 -2
- data/src/core/load_balancing/address_filtering.h +2 -2
- data/src/core/load_balancing/backend_metric_data.h +2 -2
- data/src/core/load_balancing/backend_metric_parser.cc +2 -2
- data/src/core/load_balancing/backend_metric_parser.h +2 -2
- data/src/core/load_balancing/child_policy_handler.cc +14 -14
- data/src/core/load_balancing/child_policy_handler.h +2 -2
- data/src/core/load_balancing/delegating_helper.h +2 -3
- data/src/core/load_balancing/endpoint_list.cc +11 -13
- data/src/core/load_balancing/endpoint_list.h +16 -10
- data/src/core/load_balancing/grpclb/client_load_reporting_filter.cc +29 -30
- data/src/core/load_balancing/grpclb/client_load_reporting_filter.h +20 -8
- data/src/core/load_balancing/grpclb/grpclb.cc +65 -70
- data/src/core/load_balancing/grpclb/grpclb_balancer_addresses.cc +3 -3
- data/src/core/load_balancing/grpclb/grpclb_balancer_addresses.h +1 -2
- data/src/core/load_balancing/grpclb/grpclb_client_stats.cc +1 -2
- data/src/core/load_balancing/grpclb/grpclb_client_stats.h +1 -2
- data/src/core/load_balancing/grpclb/load_balancer_api.cc +4 -6
- data/src/core/load_balancing/grpclb/load_balancer_api.h +2 -3
- data/src/core/load_balancing/health_check_client.cc +14 -18
- data/src/core/load_balancing/health_check_client.h +2 -2
- data/src/core/load_balancing/health_check_client_internal.h +1 -2
- data/src/core/load_balancing/lb_policy.cc +7 -10
- data/src/core/load_balancing/lb_policy.h +20 -5
- data/src/core/load_balancing/lb_policy_factory.h +3 -3
- data/src/core/load_balancing/lb_policy_registry.cc +5 -6
- data/src/core/load_balancing/lb_policy_registry.h +3 -3
- data/src/core/load_balancing/oob_backend_metric.cc +6 -9
- data/src/core/load_balancing/oob_backend_metric.h +2 -2
- data/src/core/load_balancing/oob_backend_metric_internal.h +1 -2
- data/src/core/load_balancing/outlier_detection/outlier_detection.cc +36 -38
- data/src/core/load_balancing/outlier_detection/outlier_detection.h +5 -5
- data/src/core/load_balancing/pick_first/pick_first.cc +1141 -156
- data/src/core/load_balancing/priority/priority.cc +41 -38
- data/src/core/load_balancing/ring_hash/ring_hash.cc +45 -30
- data/src/core/load_balancing/ring_hash/ring_hash.h +5 -5
- data/src/core/load_balancing/rls/rls.cc +106 -99
- data/src/core/load_balancing/round_robin/round_robin.cc +43 -35
- data/src/core/load_balancing/subchannel_interface.h +1 -2
- data/src/core/load_balancing/weighted_round_robin/static_stride_scheduler.cc +4 -4
- data/src/core/load_balancing/weighted_round_robin/static_stride_scheduler.h +2 -2
- data/src/core/load_balancing/weighted_round_robin/weighted_round_robin.cc +79 -58
- data/src/core/load_balancing/weighted_target/weighted_target.cc +29 -32
- data/src/core/load_balancing/weighted_target/weighted_target.h +1 -1
- data/src/core/load_balancing/xds/cds.cc +25 -28
- data/src/core/load_balancing/xds/xds_cluster_impl.cc +28 -28
- data/src/core/load_balancing/xds/xds_cluster_manager.cc +17 -20
- data/src/core/load_balancing/xds/xds_override_host.cc +46 -47
- data/src/core/load_balancing/xds/xds_override_host.h +5 -5
- data/src/core/load_balancing/xds/xds_wrr_locality.cc +12 -15
- data/src/core/plugin_registry/grpc_plugin_registry.cc +11 -10
- data/src/core/plugin_registry/grpc_plugin_registry_extra.cc +1 -2
- data/src/core/resolver/binder/binder_resolver.cc +7 -6
- data/src/core/resolver/dns/c_ares/dns_resolver_ares.cc +8 -8
- data/src/core/resolver/dns/c_ares/dns_resolver_ares.h +2 -2
- data/src/core/resolver/dns/c_ares/grpc_ares_ev_driver.h +3 -3
- data/src/core/resolver/dns/c_ares/grpc_ares_ev_driver_posix.cc +4 -3
- data/src/core/resolver/dns/c_ares/grpc_ares_ev_driver_windows.cc +36 -35
- data/src/core/resolver/dns/c_ares/grpc_ares_wrapper.cc +20 -27
- data/src/core/resolver/dns/c_ares/grpc_ares_wrapper.h +2 -7
- data/src/core/resolver/dns/c_ares/grpc_ares_wrapper_posix.cc +1 -1
- data/src/core/resolver/dns/c_ares/grpc_ares_wrapper_windows.cc +2 -2
- data/src/core/resolver/dns/dns_resolver_plugin.cc +10 -10
- data/src/core/resolver/dns/event_engine/event_engine_client_channel_resolver.cc +9 -14
- data/src/core/resolver/dns/event_engine/event_engine_client_channel_resolver.h +3 -3
- data/src/core/resolver/dns/event_engine/service_config_helper.cc +7 -7
- data/src/core/resolver/dns/event_engine/service_config_helper.h +2 -2
- data/src/core/resolver/dns/native/dns_resolver.cc +11 -13
- data/src/core/resolver/endpoint_addresses.cc +5 -5
- data/src/core/resolver/endpoint_addresses.h +2 -2
- data/src/core/resolver/fake/fake_resolver.cc +5 -5
- data/src/core/resolver/fake/fake_resolver.h +2 -3
- data/src/core/resolver/google_c2p/google_c2p_resolver.cc +22 -23
- data/src/core/resolver/polling_resolver.cc +35 -40
- data/src/core/resolver/polling_resolver.h +1 -2
- data/src/core/resolver/resolver.cc +3 -7
- data/src/core/resolver/resolver.h +2 -4
- data/src/core/resolver/resolver_factory.h +3 -3
- data/src/core/resolver/resolver_registry.cc +11 -13
- data/src/core/resolver/resolver_registry.h +3 -3
- data/src/core/resolver/sockaddr/sockaddr_resolver.cc +5 -6
- data/src/core/resolver/xds/xds_dependency_manager.cc +27 -27
- data/src/core/resolver/xds/xds_dependency_manager.h +7 -7
- data/src/core/resolver/xds/xds_resolver.cc +32 -39
- data/src/core/resolver/xds/xds_resolver_attributes.h +2 -2
- data/src/core/{lib/surface → server}/server.cc +306 -424
- data/src/core/{lib/surface → server}/server.h +43 -26
- data/src/core/{lib/channel → server}/server_call_tracer_filter.cc +16 -20
- data/src/core/{lib/channel → server}/server_call_tracer_filter.h +3 -3
- data/src/core/{ext/filters/server_config_selector → server}/server_config_selector.h +6 -6
- data/src/core/{ext/filters/server_config_selector → server}/server_config_selector_filter.cc +39 -40
- data/src/core/{ext/filters/server_config_selector → server}/server_config_selector_filter.h +3 -3
- data/src/core/{lib/surface → server}/server_interface.h +6 -4
- data/src/core/{ext/xds → server}/xds_channel_stack_modifier.cc +4 -4
- data/src/core/{ext/xds → server}/xds_channel_stack_modifier.h +5 -6
- data/src/core/{ext/xds → server}/xds_server_config_fetcher.cc +24 -26
- data/src/core/service_config/service_config.h +2 -3
- data/src/core/service_config/service_config_call_data.h +15 -13
- data/src/core/service_config/service_config_channel_arg_filter.cc +12 -11
- data/src/core/service_config/service_config_impl.cc +7 -7
- data/src/core/service_config/service_config_impl.h +4 -4
- data/src/core/service_config/service_config_parser.cc +4 -8
- data/src/core/service_config/service_config_parser.h +3 -3
- data/src/core/{lib/channel → telemetry}/call_tracer.cc +25 -35
- data/src/core/{lib/channel → telemetry}/call_tracer.h +33 -11
- data/src/core/{lib/debug → telemetry}/histogram_view.cc +2 -2
- data/src/core/{lib/debug → telemetry}/histogram_view.h +5 -5
- data/src/core/telemetry/metrics.cc +178 -0
- data/src/core/telemetry/metrics.h +562 -0
- data/src/core/{lib/debug → telemetry}/stats.cc +3 -3
- data/src/core/{lib/debug → telemetry}/stats.h +7 -7
- data/src/core/{lib/debug → telemetry}/stats_data.cc +3 -3
- data/src/core/{lib/debug → telemetry}/stats_data.h +6 -6
- data/src/core/{lib/channel → telemetry}/tcp_tracer.h +5 -5
- data/src/core/tsi/alts/crypt/aes_gcm.cc +1 -2
- data/src/core/tsi/alts/crypt/gsec.cc +1 -2
- data/src/core/tsi/alts/crypt/gsec.h +1 -2
- data/src/core/tsi/alts/frame_protector/alts_counter.cc +1 -2
- data/src/core/tsi/alts/frame_protector/alts_counter.h +1 -2
- data/src/core/tsi/alts/frame_protector/alts_crypter.cc +1 -2
- data/src/core/tsi/alts/frame_protector/alts_crypter.h +1 -2
- data/src/core/tsi/alts/frame_protector/alts_frame_protector.cc +13 -15
- data/src/core/tsi/alts/frame_protector/alts_frame_protector.h +2 -2
- data/src/core/tsi/alts/frame_protector/alts_record_protocol_crypter_common.cc +1 -2
- data/src/core/tsi/alts/frame_protector/alts_record_protocol_crypter_common.h +1 -2
- data/src/core/tsi/alts/frame_protector/alts_seal_privacy_integrity_crypter.cc +1 -2
- data/src/core/tsi/alts/frame_protector/alts_unseal_privacy_integrity_crypter.cc +1 -2
- data/src/core/tsi/alts/frame_protector/frame_handler.cc +1 -2
- data/src/core/tsi/alts/frame_protector/frame_handler.h +2 -2
- data/src/core/tsi/alts/handshaker/alts_handshaker_client.cc +63 -64
- data/src/core/tsi/alts/handshaker/alts_handshaker_client.h +1 -2
- data/src/core/tsi/alts/handshaker/alts_shared_resource.cc +5 -4
- data/src/core/tsi/alts/handshaker/alts_shared_resource.h +1 -2
- data/src/core/tsi/alts/handshaker/alts_tsi_handshaker.cc +54 -53
- data/src/core/tsi/alts/handshaker/alts_tsi_handshaker.h +1 -2
- data/src/core/tsi/alts/handshaker/alts_tsi_utils.cc +7 -5
- data/src/core/tsi/alts/handshaker/alts_tsi_utils.h +1 -2
- data/src/core/tsi/alts/handshaker/transport_security_common_api.cc +4 -3
- data/src/core/tsi/alts/handshaker/transport_security_common_api.h +1 -2
- data/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_integrity_only_record_protocol.cc +10 -8
- data/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_integrity_only_record_protocol.h +2 -2
- data/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_privacy_integrity_record_protocol.cc +6 -5
- data/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_privacy_integrity_record_protocol.h +2 -2
- data/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_record_protocol.h +1 -2
- data/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_record_protocol_common.cc +10 -6
- data/src/core/tsi/alts/zero_copy_frame_protector/alts_iovec_record_protocol.cc +1 -2
- data/src/core/tsi/alts/zero_copy_frame_protector/alts_iovec_record_protocol.h +2 -2
- data/src/core/tsi/alts/zero_copy_frame_protector/alts_zero_copy_grpc_protector.cc +9 -7
- data/src/core/tsi/alts/zero_copy_frame_protector/alts_zero_copy_grpc_protector.h +2 -2
- data/src/core/tsi/fake_transport_security.cc +20 -21
- data/src/core/tsi/local_transport_security.cc +7 -7
- data/src/core/tsi/local_transport_security.h +1 -2
- data/src/core/tsi/ssl/key_logging/ssl_key_logging.cc +6 -5
- data/src/core/tsi/ssl/key_logging/ssl_key_logging.h +1 -2
- data/src/core/tsi/ssl/session_cache/ssl_session.h +1 -2
- data/src/core/tsi/ssl/session_cache/ssl_session_cache.cc +15 -14
- data/src/core/tsi/ssl/session_cache/ssl_session_cache.h +1 -2
- data/src/core/tsi/ssl/session_cache/ssl_session_openssl.cc +3 -4
- data/src/core/tsi/ssl_transport_security.cc +96 -100
- data/src/core/tsi/ssl_transport_security.h +1 -2
- data/src/core/tsi/ssl_transport_security_utils.cc +85 -28
- data/src/core/tsi/ssl_transport_security_utils.h +12 -2
- data/src/core/tsi/ssl_types.h +2 -2
- data/src/core/tsi/transport_security.cc +1 -6
- data/src/core/tsi/transport_security.h +2 -4
- data/src/core/tsi/transport_security_grpc.cc +2 -2
- data/src/core/tsi/transport_security_grpc.h +1 -2
- data/src/core/tsi/transport_security_interface.h +2 -6
- data/src/core/{lib/gpr → util}/alloc.cc +3 -1
- data/src/core/{lib/gpr → util}/alloc.h +3 -3
- data/src/core/{lib/gpr → util}/android/log.cc +0 -19
- data/src/core/{lib/gpr → util}/atm.cc +1 -1
- data/src/core/{ext/gcp/metadata_query.cc → util/gcp_metadata_query.cc} +26 -26
- data/src/core/{ext/gcp/metadata_query.h → util/gcp_metadata_query.h} +9 -9
- data/src/core/{lib/http → util/http_client}/format_request.cc +2 -2
- data/src/core/{lib/http → util/http_client}/format_request.h +4 -4
- data/src/core/{lib/http → util/http_client}/httpcli.cc +12 -13
- data/src/core/{lib/http → util/http_client}/httpcli.h +5 -5
- data/src/core/{lib/http → util/http_client}/httpcli_security_connector.cc +10 -10
- data/src/core/{lib/http → util/http_client}/httpcli_ssl_credentials.h +3 -3
- data/src/core/{lib/http → util/http_client}/parser.cc +6 -7
- data/src/core/{lib/http → util/http_client}/parser.h +3 -5
- data/src/core/{lib → util}/json/json.h +3 -3
- data/src/core/{lib → util}/json/json_args.h +3 -3
- data/src/core/{lib → util}/json/json_channel_args.h +4 -4
- data/src/core/{lib → util}/json/json_object_loader.cc +1 -1
- data/src/core/{lib → util}/json/json_object_loader.h +5 -5
- data/src/core/{lib → util}/json/json_reader.cc +4 -3
- data/src/core/{lib → util}/json/json_reader.h +4 -4
- data/src/core/{lib → util}/json/json_util.cc +3 -3
- data/src/core/{lib → util}/json/json_util.h +4 -4
- data/src/core/{lib → util}/json/json_writer.cc +1 -1
- data/src/core/{lib → util}/json/json_writer.h +4 -4
- data/src/core/{lib/gpr → util}/linux/log.cc +0 -45
- data/src/core/util/log.cc +167 -0
- data/src/core/{lib/gpr → util}/msys/tmpfile.cc +2 -2
- data/src/core/{lib/gpr → util}/posix/cpu.cc +1 -1
- data/src/core/{lib/gpr → util}/posix/log.cc +0 -42
- data/src/core/{lib/gpr → util}/posix/sync.cc +25 -23
- data/src/core/{lib/gpr → util}/posix/time.cc +10 -7
- data/src/core/{lib/gpr → util}/posix/tmpfile.cc +5 -3
- data/src/core/{lib/gpr → util}/spinlock.h +3 -3
- data/src/core/{lib/gpr → util}/string.cc +2 -2
- data/src/core/{lib/gpr → util}/string.h +3 -3
- data/src/core/{lib/gpr → util}/sync.cc +5 -3
- data/src/core/{lib/gpr → util}/time.cc +10 -8
- data/src/core/{lib/gpr → util}/time_precise.cc +1 -1
- data/src/core/{lib/gpr → util}/time_precise.h +3 -3
- data/src/core/{lib/gpr → util}/tmpfile.h +3 -3
- data/src/core/{lib/gpr → util}/useful.h +3 -3
- data/src/core/{lib/gpr → util}/windows/log.cc +1 -44
- data/src/core/{lib/gpr → util}/windows/string.cc +1 -1
- data/src/core/{lib/gpr → util}/windows/string_util.cc +1 -1
- data/src/core/{lib/gpr → util}/windows/sync.cc +3 -1
- data/src/core/{lib/gpr → util}/windows/time.cc +5 -2
- data/src/core/{lib/gpr → util}/windows/tmpfile.cc +1 -1
- data/src/core/{ext/xds → xds/grpc}/certificate_provider_store.cc +5 -6
- data/src/core/{ext/xds → xds/grpc}/certificate_provider_store.h +8 -9
- data/src/core/{ext/xds → xds/grpc}/file_watcher_certificate_provider_factory.cc +5 -6
- data/src/core/{ext/xds → xds/grpc}/file_watcher_certificate_provider_factory.h +7 -8
- data/src/core/{ext/xds → xds/grpc}/upb_utils.h +5 -5
- data/src/core/{ext/xds → xds/grpc}/xds_audit_logger_registry.cc +4 -4
- data/src/core/{ext/xds → xds/grpc}/xds_audit_logger_registry.h +7 -7
- data/src/core/{ext/xds → xds/grpc}/xds_bootstrap_grpc.cc +7 -8
- data/src/core/{ext/xds → xds/grpc}/xds_bootstrap_grpc.h +14 -14
- data/src/core/{ext/xds → xds/grpc}/xds_certificate_provider.cc +5 -5
- data/src/core/{ext/xds → xds/grpc}/xds_certificate_provider.h +5 -6
- data/src/core/{ext/xds → xds/grpc}/xds_client_grpc.cc +51 -34
- data/src/core/{ext/xds → xds/grpc}/xds_client_grpc.h +10 -11
- data/src/core/{ext/xds → xds/grpc}/xds_cluster.cc +22 -14
- data/src/core/{ext/xds → xds/grpc}/xds_cluster.h +12 -13
- data/src/core/{ext/xds → xds/grpc}/xds_cluster_specifier_plugin.cc +6 -6
- data/src/core/{ext/xds → xds/grpc}/xds_cluster_specifier_plugin.h +7 -7
- data/src/core/{ext/xds → xds/grpc}/xds_common_types.cc +6 -7
- data/src/core/{ext/xds → xds/grpc}/xds_common_types.h +7 -7
- data/src/core/{ext/xds → xds/grpc}/xds_endpoint.cc +11 -12
- data/src/core/{ext/xds → xds/grpc}/xds_endpoint.h +9 -9
- data/src/core/{ext/xds → xds/grpc}/xds_health_status.cc +3 -3
- data/src/core/{ext/xds → xds/grpc}/xds_health_status.h +5 -5
- data/src/core/{ext/xds → xds/grpc}/xds_http_fault_filter.cc +6 -7
- data/src/core/{ext/xds → xds/grpc}/xds_http_fault_filter.h +8 -8
- data/src/core/{ext/xds → xds/grpc}/xds_http_filters.cc +8 -9
- data/src/core/{ext/xds → xds/grpc}/xds_http_filters.h +9 -9
- data/src/core/{ext/xds → xds/grpc}/xds_http_rbac_filter.cc +9 -10
- data/src/core/{ext/xds → xds/grpc}/xds_http_rbac_filter.h +8 -8
- data/src/core/{ext/xds → xds/grpc}/xds_http_stateful_session_filter.cc +7 -8
- data/src/core/{ext/xds → xds/grpc}/xds_http_stateful_session_filter.h +8 -8
- data/src/core/{ext/xds → xds/grpc}/xds_lb_policy_registry.cc +3 -4
- data/src/core/{ext/xds → xds/grpc}/xds_lb_policy_registry.h +7 -7
- data/src/core/{ext/xds → xds/grpc}/xds_listener.cc +12 -14
- data/src/core/{ext/xds → xds/grpc}/xds_listener.h +12 -12
- data/src/core/{ext/xds → xds/grpc}/xds_route_config.cc +23 -24
- data/src/core/{ext/xds → xds/grpc}/xds_route_config.h +11 -11
- data/src/core/{ext/xds → xds/grpc}/xds_routing.cc +6 -6
- data/src/core/{ext/xds → xds/grpc}/xds_routing.h +8 -8
- data/src/core/{ext/xds → xds/grpc}/xds_transport_grpc.cc +16 -16
- data/src/core/{ext/xds → xds/grpc}/xds_transport_grpc.h +7 -8
- data/src/core/{ext/xds → xds/xds_client}/xds_api.cc +9 -14
- data/src/core/{ext/xds → xds/xds_client}/xds_api.h +7 -7
- data/src/core/{ext/xds → xds/xds_client}/xds_bootstrap.cc +4 -4
- data/src/core/{ext/xds → xds/xds_client}/xds_bootstrap.h +6 -6
- data/src/core/{ext/xds → xds/xds_client}/xds_channel_args.h +3 -3
- data/src/core/{ext/xds → xds/xds_client}/xds_client.cc +60 -62
- data/src/core/{ext/xds → xds/xds_client}/xds_client.h +10 -14
- data/src/core/{ext/xds → xds/xds_client}/xds_client_stats.cc +23 -22
- data/src/core/{ext/xds → xds/xds_client}/xds_client_stats.h +8 -8
- data/src/core/{ext/xds → xds/xds_client}/xds_metrics.h +7 -5
- data/src/core/{ext/xds → xds/xds_client}/xds_resource_type.h +6 -6
- data/src/core/{ext/xds → xds/xds_client}/xds_resource_type_impl.h +7 -7
- data/src/core/{ext/xds → xds/xds_client}/xds_transport.h +6 -6
- data/src/ruby/bin/math_pb.rb +1 -22
- data/src/ruby/ext/grpc/rb_call.c +8 -1
- data/src/ruby/ext/grpc/rb_call_credentials.c +1 -0
- data/src/ruby/ext/grpc/rb_call_credentials.h +1 -0
- data/src/ruby/ext/grpc/rb_channel.c +1 -0
- data/src/ruby/ext/grpc/rb_channel_credentials.c +1 -0
- data/src/ruby/ext/grpc/rb_completion_queue.c +15 -32
- data/src/ruby/ext/grpc/rb_completion_queue.h +7 -1
- data/src/ruby/ext/grpc/rb_grpc_imports.generated.c +130 -130
- data/src/ruby/ext/grpc/rb_grpc_imports.generated.h +198 -197
- data/src/ruby/ext/grpc/rb_server.c +40 -22
- data/src/ruby/ext/grpc/rb_server_credentials.c +1 -0
- data/src/ruby/ext/grpc/rb_server_credentials.h +1 -0
- data/src/ruby/ext/grpc/rb_xds_channel_credentials.c +1 -0
- data/src/ruby/ext/grpc/rb_xds_server_credentials.c +1 -0
- data/src/ruby/ext/grpc/rb_xds_server_credentials.h +1 -0
- data/src/ruby/lib/grpc/version.rb +1 -1
- data/src/ruby/pb/grpc/health/v1/health_pb.rb +1 -22
- data/src/ruby/pb/grpc/testing/duplicate/echo_duplicate_services_pb.rb +5 -5
- data/src/ruby/pb/grpc/testing/metrics_pb.rb +10 -19
- data/src/ruby/pb/grpc/testing/metrics_services_pb.rb +5 -5
- data/src/ruby/pb/src/proto/grpc/testing/empty_pb.rb +1 -22
- data/src/ruby/pb/src/proto/grpc/testing/messages_pb.rb +1 -22
- data/src/ruby/pb/src/proto/grpc/testing/test_pb.rb +1 -22
- data/third_party/abseil-cpp/absl/log/check.h +209 -0
- data/third_party/abseil-cpp/absl/log/internal/check_impl.h +150 -0
- data/third_party/abseil-cpp/absl/log/internal/check_op.cc +118 -0
- data/third_party/abseil-cpp/absl/log/internal/check_op.h +420 -0
- data/third_party/boringssl-with-bazel/src/crypto/base64/base64.c +4 -0
- data/third_party/boringssl-with-bazel/src/crypto/bio/bio.c +13 -18
- data/third_party/boringssl-with-bazel/src/crypto/bio/file.c +25 -10
- data/third_party/boringssl-with-bazel/src/crypto/bytestring/cbs.c +3 -18
- data/third_party/boringssl-with-bazel/src/crypto/bytestring/unicode.c +3 -2
- data/third_party/boringssl-with-bazel/src/crypto/chacha/chacha.c +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/chacha/internal.h +19 -15
- data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_chacha20poly1305.c +7 -0
- data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_des.c +48 -66
- data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_null.c +7 -3
- data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_rc2.c +20 -28
- data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/e_rc4.c +9 -4
- data/third_party/boringssl-with-bazel/src/crypto/cipher_extra/tls_cbc.c +2 -2
- data/third_party/boringssl-with-bazel/src/crypto/conf/conf.c +66 -41
- data/third_party/boringssl-with-bazel/src/crypto/cpu_arm_linux.c +4 -1
- data/third_party/boringssl-with-bazel/src/crypto/cpu_intel.c +0 -15
- data/third_party/boringssl-with-bazel/src/crypto/crypto.c +7 -61
- data/third_party/boringssl-with-bazel/src/crypto/curve25519/curve25519.c +7 -7
- data/third_party/boringssl-with-bazel/src/crypto/digest_extra/digest_extra.c +1 -0
- data/third_party/boringssl-with-bazel/src/crypto/dilithium/dilithium.c +1539 -0
- data/third_party/boringssl-with-bazel/src/crypto/dilithium/internal.h +58 -0
- data/third_party/boringssl-with-bazel/src/crypto/dsa/dsa.c +36 -20
- data/third_party/boringssl-with-bazel/src/crypto/dsa/dsa_asn1.c +3 -4
- data/third_party/boringssl-with-bazel/src/crypto/dsa/internal.h +2 -0
- data/third_party/boringssl-with-bazel/src/crypto/err/err.c +81 -60
- data/third_party/boringssl-with-bazel/src/crypto/evp/evp.c +41 -120
- data/third_party/boringssl-with-bazel/src/crypto/evp/evp_asn1.c +13 -13
- data/third_party/boringssl-with-bazel/src/crypto/evp/internal.h +7 -0
- data/third_party/boringssl-with-bazel/src/crypto/evp/p_dh.c +137 -0
- data/third_party/boringssl-with-bazel/src/crypto/evp/p_dh_asn1.c +120 -0
- data/third_party/boringssl-with-bazel/src/crypto/evp/p_dsa_asn1.c +30 -0
- data/third_party/boringssl-with-bazel/src/crypto/evp/p_ec.c +3 -4
- data/third_party/boringssl-with-bazel/src/crypto/evp/p_ec_asn1.c +30 -0
- data/third_party/boringssl-with-bazel/src/crypto/evp/p_ed25519.c +1 -4
- data/third_party/boringssl-with-bazel/src/crypto/evp/p_rsa_asn1.c +30 -0
- data/third_party/boringssl-with-bazel/src/crypto/evp/p_x25519.c +1 -4
- data/third_party/boringssl-with-bazel/src/crypto/ex_data.c +6 -7
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/aes.c +21 -0
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/aes/internal.h +31 -7
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bcm.c +5 -2
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/bytes.c +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/div.c +3 -3
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/div_extra.c +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/exponentiation.c +46 -2
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/gcd_extra.c +8 -5
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/internal.h +33 -23
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/montgomery_inv.c +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/mul.c +2 -2
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/prime.c +14 -7
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/random.c +2 -1
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/cipher/internal.h +0 -3
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/ec_key.c +11 -7
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/p256-nistz.c +5 -0
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/scalar.c +5 -1
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/fips_shared_support.c +3 -6
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/fork_detect.h +2 -1
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/rsa.c +11 -11
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/rsa_impl.c +22 -8
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/self_check/fips.c +6 -4
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/service_indicator/service_indicator.c +3 -6
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/internal.h +78 -29
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/sha1.c +4 -4
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/sha256.c +3 -3
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/sha512.c +10 -4
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/tls/kdf.c +7 -0
- data/third_party/boringssl-with-bazel/src/crypto/hpke/hpke.c +2 -0
- data/third_party/boringssl-with-bazel/src/crypto/internal.h +62 -27
- data/third_party/boringssl-with-bazel/src/crypto/kyber/internal.h +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/kyber/kyber.c +2 -1
- data/third_party/boringssl-with-bazel/src/crypto/mem.c +18 -9
- data/third_party/boringssl-with-bazel/src/crypto/pem/pem_lib.c +18 -17
- data/third_party/boringssl-with-bazel/src/crypto/pem/pem_pk8.c +44 -41
- data/third_party/boringssl-with-bazel/src/crypto/pem/pem_pkey.c +13 -12
- data/third_party/boringssl-with-bazel/src/crypto/spx/spx.c +7 -6
- data/third_party/boringssl-with-bazel/src/crypto/x509/by_dir.c +26 -33
- data/third_party/boringssl-with-bazel/src/crypto/x509/by_file.c +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/x509/internal.h +4 -5
- data/third_party/boringssl-with-bazel/src/crypto/x509/rsa_pss.c +5 -1
- data/third_party/boringssl-with-bazel/src/crypto/x509/v3_cpols.c +9 -4
- data/third_party/boringssl-with-bazel/src/crypto/x509/v3_crld.c +2 -2
- data/third_party/boringssl-with-bazel/src/crypto/x509/v3_info.c +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/x509/v3_lib.c +2 -0
- data/third_party/boringssl-with-bazel/src/crypto/x509/v3_utl.c +49 -16
- data/third_party/boringssl-with-bazel/src/crypto/x509/x509_lu.c +0 -10
- data/third_party/boringssl-with-bazel/src/crypto/x509/x509_trs.c +21 -25
- data/third_party/boringssl-with-bazel/src/crypto/x509/x509_vfy.c +8 -25
- data/third_party/boringssl-with-bazel/src/crypto/x509/x_algor.c +2 -2
- data/third_party/boringssl-with-bazel/src/crypto/x509/x_x509.c +1 -6
- data/third_party/boringssl-with-bazel/{err_data.c → src/gen/crypto/err_data.c} +487 -485
- data/third_party/boringssl-with-bazel/src/include/openssl/base.h +9 -1
- data/third_party/boringssl-with-bazel/src/include/openssl/bio.h +85 -42
- data/third_party/boringssl-with-bazel/src/include/openssl/bytestring.h +12 -4
- data/third_party/boringssl-with-bazel/src/include/openssl/crypto.h +10 -11
- data/third_party/boringssl-with-bazel/src/include/openssl/dh.h +17 -1
- data/third_party/boringssl-with-bazel/src/include/openssl/dsa.h +10 -3
- data/third_party/boringssl-with-bazel/src/include/openssl/err.h +13 -0
- data/third_party/boringssl-with-bazel/src/include/openssl/evp.h +25 -14
- data/third_party/boringssl-with-bazel/src/include/openssl/evp_errors.h +1 -0
- data/third_party/boringssl-with-bazel/src/include/openssl/ex_data.h +15 -3
- data/third_party/boringssl-with-bazel/src/include/openssl/experimental/dilithium.h +131 -0
- data/third_party/boringssl-with-bazel/src/include/openssl/{kyber.h → experimental/kyber.h} +10 -0
- data/third_party/boringssl-with-bazel/src/{crypto/spx/internal.h → include/openssl/experimental/spx.h} +24 -13
- data/third_party/boringssl-with-bazel/src/include/openssl/obj.h +2 -2
- data/third_party/boringssl-with-bazel/src/include/openssl/pem.h +63 -53
- data/third_party/boringssl-with-bazel/src/include/openssl/rand.h +19 -10
- data/third_party/boringssl-with-bazel/src/include/openssl/span.h +26 -12
- data/third_party/boringssl-with-bazel/src/include/openssl/ssl.h +358 -102
- data/third_party/boringssl-with-bazel/src/include/openssl/stack.h +10 -3
- data/third_party/boringssl-with-bazel/src/include/openssl/target.h +13 -10
- data/third_party/boringssl-with-bazel/src/include/openssl/tls1.h +2 -2
- data/third_party/boringssl-with-bazel/src/include/openssl/x509.h +2931 -2453
- data/third_party/boringssl-with-bazel/src/ssl/d1_both.cc +6 -8
- data/third_party/boringssl-with-bazel/src/ssl/d1_pkt.cc +4 -4
- data/third_party/boringssl-with-bazel/src/ssl/dtls_method.cc +1 -1
- data/third_party/boringssl-with-bazel/src/ssl/dtls_record.cc +19 -18
- data/third_party/boringssl-with-bazel/src/ssl/encrypted_client_hello.cc +3 -9
- data/third_party/boringssl-with-bazel/src/ssl/extensions.cc +64 -58
- data/third_party/boringssl-with-bazel/src/ssl/handoff.cc +1 -1
- data/third_party/boringssl-with-bazel/src/ssl/handshake.cc +17 -7
- data/third_party/boringssl-with-bazel/src/ssl/handshake_client.cc +69 -16
- data/third_party/boringssl-with-bazel/src/ssl/handshake_server.cc +145 -114
- data/third_party/boringssl-with-bazel/src/ssl/internal.h +243 -189
- data/third_party/boringssl-with-bazel/src/ssl/s3_both.cc +1 -1
- data/third_party/boringssl-with-bazel/src/ssl/s3_lib.cc +0 -1
- data/third_party/boringssl-with-bazel/src/ssl/ssl_cert.cc +59 -385
- data/third_party/boringssl-with-bazel/src/ssl/ssl_cipher.cc +21 -19
- data/third_party/boringssl-with-bazel/src/ssl/ssl_credential.cc +423 -0
- data/third_party/boringssl-with-bazel/src/ssl/ssl_file.cc +2 -2
- data/third_party/boringssl-with-bazel/src/ssl/ssl_key_share.cc +2 -1
- data/third_party/boringssl-with-bazel/src/ssl/ssl_lib.cc +108 -81
- data/third_party/boringssl-with-bazel/src/ssl/ssl_privkey.cc +116 -93
- data/third_party/boringssl-with-bazel/src/ssl/ssl_session.cc +6 -14
- data/third_party/boringssl-with-bazel/src/ssl/ssl_versions.cc +1 -1
- data/third_party/boringssl-with-bazel/src/ssl/ssl_x509.cc +48 -116
- data/third_party/boringssl-with-bazel/src/ssl/tls13_both.cc +21 -27
- data/third_party/boringssl-with-bazel/src/ssl/tls13_client.cc +36 -3
- data/third_party/boringssl-with-bazel/src/ssl/tls13_server.cc +53 -18
- data/third_party/boringssl-with-bazel/src/ssl/tls_record.cc +1 -1
- metadata +207 -196
- data/src/core/client_channel/client_channel_channelz.cc +0 -93
- data/src/core/client_channel/client_channel_channelz.h +0 -85
- data/src/core/ext/filters/deadline/deadline_filter.cc +0 -407
- data/src/core/ext/filters/deadline/deadline_filter.h +0 -85
- data/src/core/ext/transport/chttp2/transport/http_trace.cc +0 -19
- data/src/core/ext/transport/chttp2/transport/http_trace.h +0 -24
- data/src/core/ext/transport/inproc/inproc_plugin.cc +0 -23
- data/src/core/lib/channel/channel_stack_trace.cc +0 -19
- data/src/core/lib/channel/channel_stack_trace.h +0 -24
- data/src/core/lib/channel/context.h +0 -77
- data/src/core/lib/channel/metrics.cc +0 -396
- data/src/core/lib/channel/metrics.h +0 -406
- data/src/core/lib/event_engine/trace.cc +0 -25
- data/src/core/lib/gpr/log.cc +0 -166
- data/src/core/lib/gpr/log_internal.h +0 -55
- data/src/core/lib/iomgr/ev_windows.cc +0 -30
- data/src/core/lib/promise/trace.cc +0 -20
- data/src/core/lib/promise/trace.h +0 -24
- data/src/core/lib/resource_quota/trace.cc +0 -19
- data/src/core/lib/resource_quota/trace.h +0 -24
- data/src/core/lib/security/transport/tsi_error.cc +0 -31
- data/src/core/lib/security/transport/tsi_error.h +0 -30
- data/src/core/lib/slice/slice_refcount.cc +0 -20
- data/src/core/lib/surface/api_trace.cc +0 -25
- data/src/core/lib/surface/call_trace.h +0 -24
- data/src/core/lib/surface/wait_for_cq_end_op.cc +0 -75
- data/src/core/lib/surface/wait_for_cq_end_op.h +0 -72
- data/src/core/lib/transport/batch_builder.cc +0 -170
- data/src/core/lib/transport/batch_builder.h +0 -476
- data/src/core/resolver/xds/xds_resolver_trace.cc +0 -25
- data/src/core/resolver/xds/xds_resolver_trace.h +0 -30
- data/third_party/boringssl-with-bazel/src/crypto/conf/conf_def.h +0 -122
- data/third_party/boringssl-with-bazel/src/include/openssl/pki/certificate.h +0 -83
- data/third_party/boringssl-with-bazel/src/include/openssl/pki/signature_verify_cache.h +0 -41
- /data/src/core/{lib/gpr → util}/iphone/cpu.cc +0 -0
- /data/src/core/{lib/gpr → util}/linux/cpu.cc +0 -0
- /data/src/core/{lib/gpr → util}/posix/string.cc +0 -0
- /data/src/core/{lib/gpr → util}/sync_abseil.cc +0 -0
- /data/src/core/{lib/gpr → util}/windows/cpu.cc +0 -0
|
@@ -14,11 +14,9 @@
|
|
|
14
14
|
|
|
15
15
|
// Auto generated by tools/codegen/core/gen_experiments.py
|
|
16
16
|
|
|
17
|
-
#include <grpc/support/port_platform.h>
|
|
18
|
-
|
|
19
17
|
#include "src/core/lib/experiments/experiments.h"
|
|
20
18
|
|
|
21
|
-
#include <
|
|
19
|
+
#include <grpc/support/port_platform.h>
|
|
22
20
|
|
|
23
21
|
#ifndef GRPC_EXPERIMENTS_ARE_FINAL
|
|
24
22
|
|
|
@@ -29,8 +27,6 @@ const char* const description_call_status_override_on_cancellation =
|
|
|
29
27
|
"with cancellation.";
|
|
30
28
|
const char* const additional_constraints_call_status_override_on_cancellation =
|
|
31
29
|
"{}";
|
|
32
|
-
const char* const description_call_v3 = "Promise-based call version 3.";
|
|
33
|
-
const char* const additional_constraints_call_v3 = "{}";
|
|
34
30
|
const char* const description_canary_client_privacy =
|
|
35
31
|
"If set, canary client privacy";
|
|
36
32
|
const char* const additional_constraints_canary_client_privacy = "{}";
|
|
@@ -59,6 +55,11 @@ const char* const description_keepalive_server_fix =
|
|
|
59
55
|
"Allows overriding keepalive_permit_without_calls for servers. Refer "
|
|
60
56
|
"https://github.com/grpc/grpc/pull/33917 for more information.";
|
|
61
57
|
const char* const additional_constraints_keepalive_server_fix = "{}";
|
|
58
|
+
const char* const description_max_pings_wo_data_throttle =
|
|
59
|
+
"Experiment to throttle pings to a period of 1 min when "
|
|
60
|
+
"GRPC_ARG_HTTP2_MAX_PINGS_WITHOUT_DATA limit has reached (instead of "
|
|
61
|
+
"completely blocking).";
|
|
62
|
+
const char* const additional_constraints_max_pings_wo_data_throttle = "{}";
|
|
62
63
|
const char* const description_monitoring_experiment =
|
|
63
64
|
"Placeholder experiment to prove/disprove our monitoring is working";
|
|
64
65
|
const char* const additional_constraints_monitoring_experiment = "{}";
|
|
@@ -70,38 +71,12 @@ const char* const description_peer_state_based_framing =
|
|
|
70
71
|
"on the peer's memory pressure which is reflected in its max http2 frame "
|
|
71
72
|
"size.";
|
|
72
73
|
const char* const additional_constraints_peer_state_based_framing = "{}";
|
|
73
|
-
const char* const
|
|
74
|
-
"
|
|
75
|
-
|
|
76
|
-
"received message is one that was read from the wire on the server. A "
|
|
77
|
-
"requested message is one explicitly requested by the application using "
|
|
78
|
-
"grpc_server_request_call or grpc_server_request_registered_call (or their "
|
|
79
|
-
"wrappers in the C++ API).";
|
|
80
|
-
const char* const additional_constraints_pending_queue_cap = "{}";
|
|
81
|
-
const char* const description_promise_based_client_call =
|
|
82
|
-
"If set, use the new gRPC promise based call code when it's appropriate "
|
|
83
|
-
"(ie when all filters in a stack are promise based)";
|
|
84
|
-
const char* const additional_constraints_promise_based_client_call = "{}";
|
|
85
|
-
const uint8_t required_experiments_promise_based_client_call[] = {
|
|
86
|
-
static_cast<uint8_t>(grpc_core::kExperimentIdEventEngineClient),
|
|
87
|
-
static_cast<uint8_t>(grpc_core::kExperimentIdEventEngineListener)};
|
|
88
|
-
const char* const description_promise_based_server_call =
|
|
89
|
-
"If set, use the new gRPC promise based call code when it's appropriate "
|
|
90
|
-
"(ie when all filters in a stack are promise based)";
|
|
91
|
-
const char* const additional_constraints_promise_based_server_call = "{}";
|
|
92
|
-
const char* const description_chaotic_good =
|
|
93
|
-
"If set, enable the chaotic good load transport (this is mostly here for "
|
|
94
|
-
"testing)";
|
|
95
|
-
const char* const additional_constraints_chaotic_good = "{}";
|
|
96
|
-
const uint8_t required_experiments_chaotic_good[] = {
|
|
97
|
-
static_cast<uint8_t>(grpc_core::kExperimentIdPromiseBasedClientCall),
|
|
98
|
-
static_cast<uint8_t>(grpc_core::kExperimentIdPromiseBasedServerCall)};
|
|
74
|
+
const char* const description_pick_first_new =
|
|
75
|
+
"New pick_first impl with memory reduction.";
|
|
76
|
+
const char* const additional_constraints_pick_first_new = "{}";
|
|
99
77
|
const char* const description_promise_based_inproc_transport =
|
|
100
78
|
"Use promises for the in-process transport.";
|
|
101
79
|
const char* const additional_constraints_promise_based_inproc_transport = "{}";
|
|
102
|
-
const uint8_t required_experiments_promise_based_inproc_transport[] = {
|
|
103
|
-
static_cast<uint8_t>(grpc_core::kExperimentIdPromiseBasedClientCall),
|
|
104
|
-
static_cast<uint8_t>(grpc_core::kExperimentIdPromiseBasedServerCall)};
|
|
105
80
|
const char* const description_rstpit =
|
|
106
81
|
"On RST_STREAM on a server, reduce MAX_CONCURRENT_STREAMS for a short "
|
|
107
82
|
"duration";
|
|
@@ -137,8 +112,6 @@ const char* const description_work_serializer_dispatch =
|
|
|
137
112
|
"callback, instead of running things inline in the first thread that "
|
|
138
113
|
"successfully enqueues work.";
|
|
139
114
|
const char* const additional_constraints_work_serializer_dispatch = "{}";
|
|
140
|
-
const uint8_t required_experiments_work_serializer_dispatch[] = {
|
|
141
|
-
static_cast<uint8_t>(grpc_core::kExperimentIdEventEngineClient)};
|
|
142
115
|
} // namespace
|
|
143
116
|
|
|
144
117
|
namespace grpc_core {
|
|
@@ -147,9 +120,7 @@ const ExperimentMetadata g_experiment_metadata[] = {
|
|
|
147
120
|
{"call_status_override_on_cancellation",
|
|
148
121
|
description_call_status_override_on_cancellation,
|
|
149
122
|
additional_constraints_call_status_override_on_cancellation, nullptr, 0,
|
|
150
|
-
|
|
151
|
-
{"call_v3", description_call_v3, additional_constraints_call_v3, nullptr, 0,
|
|
152
|
-
false, true},
|
|
123
|
+
true, true},
|
|
153
124
|
{"canary_client_privacy", description_canary_client_privacy,
|
|
154
125
|
additional_constraints_canary_client_privacy, nullptr, 0, false, false},
|
|
155
126
|
{"client_privacy", description_client_privacy,
|
|
@@ -168,26 +139,21 @@ const ExperimentMetadata g_experiment_metadata[] = {
|
|
|
168
139
|
additional_constraints_keepalive_fix, nullptr, 0, false, false},
|
|
169
140
|
{"keepalive_server_fix", description_keepalive_server_fix,
|
|
170
141
|
additional_constraints_keepalive_server_fix, nullptr, 0, false, false},
|
|
142
|
+
{"max_pings_wo_data_throttle", description_max_pings_wo_data_throttle,
|
|
143
|
+
additional_constraints_max_pings_wo_data_throttle, nullptr, 0, false,
|
|
144
|
+
true},
|
|
171
145
|
{"monitoring_experiment", description_monitoring_experiment,
|
|
172
146
|
additional_constraints_monitoring_experiment, nullptr, 0, true, true},
|
|
173
147
|
{"multiping", description_multiping, additional_constraints_multiping,
|
|
174
148
|
nullptr, 0, false, true},
|
|
175
149
|
{"peer_state_based_framing", description_peer_state_based_framing,
|
|
176
150
|
additional_constraints_peer_state_based_framing, nullptr, 0, false, true},
|
|
177
|
-
{"
|
|
178
|
-
|
|
179
|
-
{"promise_based_client_call", description_promise_based_client_call,
|
|
180
|
-
additional_constraints_promise_based_client_call,
|
|
181
|
-
required_experiments_promise_based_client_call, 2, false, true},
|
|
182
|
-
{"promise_based_server_call", description_promise_based_server_call,
|
|
183
|
-
additional_constraints_promise_based_server_call, nullptr, 0, false, true},
|
|
184
|
-
{"chaotic_good", description_chaotic_good,
|
|
185
|
-
additional_constraints_chaotic_good, required_experiments_chaotic_good, 2,
|
|
186
|
-
false, true},
|
|
151
|
+
{"pick_first_new", description_pick_first_new,
|
|
152
|
+
additional_constraints_pick_first_new, nullptr, 0, true, true},
|
|
187
153
|
{"promise_based_inproc_transport",
|
|
188
154
|
description_promise_based_inproc_transport,
|
|
189
|
-
additional_constraints_promise_based_inproc_transport,
|
|
190
|
-
|
|
155
|
+
additional_constraints_promise_based_inproc_transport, nullptr, 0, false,
|
|
156
|
+
false},
|
|
191
157
|
{"rstpit", description_rstpit, additional_constraints_rstpit, nullptr, 0,
|
|
192
158
|
false, true},
|
|
193
159
|
{"schedule_cancellation_over_write",
|
|
@@ -201,7 +167,7 @@ const ExperimentMetadata g_experiment_metadata[] = {
|
|
|
201
167
|
{"tcp_rcv_lowat", description_tcp_rcv_lowat,
|
|
202
168
|
additional_constraints_tcp_rcv_lowat, nullptr, 0, false, true},
|
|
203
169
|
{"trace_record_callops", description_trace_record_callops,
|
|
204
|
-
additional_constraints_trace_record_callops, nullptr, 0,
|
|
170
|
+
additional_constraints_trace_record_callops, nullptr, 0, true, true},
|
|
205
171
|
{"unconstrained_max_quota_buffer_size",
|
|
206
172
|
description_unconstrained_max_quota_buffer_size,
|
|
207
173
|
additional_constraints_unconstrained_max_quota_buffer_size, nullptr, 0,
|
|
@@ -211,8 +177,7 @@ const ExperimentMetadata g_experiment_metadata[] = {
|
|
|
211
177
|
additional_constraints_work_serializer_clears_time_cache, nullptr, 0, true,
|
|
212
178
|
true},
|
|
213
179
|
{"work_serializer_dispatch", description_work_serializer_dispatch,
|
|
214
|
-
additional_constraints_work_serializer_dispatch,
|
|
215
|
-
required_experiments_work_serializer_dispatch, 1, false, true},
|
|
180
|
+
additional_constraints_work_serializer_dispatch, nullptr, 0, false, true},
|
|
216
181
|
};
|
|
217
182
|
|
|
218
183
|
} // namespace grpc_core
|
|
@@ -224,8 +189,6 @@ const char* const description_call_status_override_on_cancellation =
|
|
|
224
189
|
"with cancellation.";
|
|
225
190
|
const char* const additional_constraints_call_status_override_on_cancellation =
|
|
226
191
|
"{}";
|
|
227
|
-
const char* const description_call_v3 = "Promise-based call version 3.";
|
|
228
|
-
const char* const additional_constraints_call_v3 = "{}";
|
|
229
192
|
const char* const description_canary_client_privacy =
|
|
230
193
|
"If set, canary client privacy";
|
|
231
194
|
const char* const additional_constraints_canary_client_privacy = "{}";
|
|
@@ -254,6 +217,11 @@ const char* const description_keepalive_server_fix =
|
|
|
254
217
|
"Allows overriding keepalive_permit_without_calls for servers. Refer "
|
|
255
218
|
"https://github.com/grpc/grpc/pull/33917 for more information.";
|
|
256
219
|
const char* const additional_constraints_keepalive_server_fix = "{}";
|
|
220
|
+
const char* const description_max_pings_wo_data_throttle =
|
|
221
|
+
"Experiment to throttle pings to a period of 1 min when "
|
|
222
|
+
"GRPC_ARG_HTTP2_MAX_PINGS_WITHOUT_DATA limit has reached (instead of "
|
|
223
|
+
"completely blocking).";
|
|
224
|
+
const char* const additional_constraints_max_pings_wo_data_throttle = "{}";
|
|
257
225
|
const char* const description_monitoring_experiment =
|
|
258
226
|
"Placeholder experiment to prove/disprove our monitoring is working";
|
|
259
227
|
const char* const additional_constraints_monitoring_experiment = "{}";
|
|
@@ -265,38 +233,12 @@ const char* const description_peer_state_based_framing =
|
|
|
265
233
|
"on the peer's memory pressure which is reflected in its max http2 frame "
|
|
266
234
|
"size.";
|
|
267
235
|
const char* const additional_constraints_peer_state_based_framing = "{}";
|
|
268
|
-
const char* const
|
|
269
|
-
"
|
|
270
|
-
|
|
271
|
-
"received message is one that was read from the wire on the server. A "
|
|
272
|
-
"requested message is one explicitly requested by the application using "
|
|
273
|
-
"grpc_server_request_call or grpc_server_request_registered_call (or their "
|
|
274
|
-
"wrappers in the C++ API).";
|
|
275
|
-
const char* const additional_constraints_pending_queue_cap = "{}";
|
|
276
|
-
const char* const description_promise_based_client_call =
|
|
277
|
-
"If set, use the new gRPC promise based call code when it's appropriate "
|
|
278
|
-
"(ie when all filters in a stack are promise based)";
|
|
279
|
-
const char* const additional_constraints_promise_based_client_call = "{}";
|
|
280
|
-
const uint8_t required_experiments_promise_based_client_call[] = {
|
|
281
|
-
static_cast<uint8_t>(grpc_core::kExperimentIdEventEngineClient),
|
|
282
|
-
static_cast<uint8_t>(grpc_core::kExperimentIdEventEngineListener)};
|
|
283
|
-
const char* const description_promise_based_server_call =
|
|
284
|
-
"If set, use the new gRPC promise based call code when it's appropriate "
|
|
285
|
-
"(ie when all filters in a stack are promise based)";
|
|
286
|
-
const char* const additional_constraints_promise_based_server_call = "{}";
|
|
287
|
-
const char* const description_chaotic_good =
|
|
288
|
-
"If set, enable the chaotic good load transport (this is mostly here for "
|
|
289
|
-
"testing)";
|
|
290
|
-
const char* const additional_constraints_chaotic_good = "{}";
|
|
291
|
-
const uint8_t required_experiments_chaotic_good[] = {
|
|
292
|
-
static_cast<uint8_t>(grpc_core::kExperimentIdPromiseBasedClientCall),
|
|
293
|
-
static_cast<uint8_t>(grpc_core::kExperimentIdPromiseBasedServerCall)};
|
|
236
|
+
const char* const description_pick_first_new =
|
|
237
|
+
"New pick_first impl with memory reduction.";
|
|
238
|
+
const char* const additional_constraints_pick_first_new = "{}";
|
|
294
239
|
const char* const description_promise_based_inproc_transport =
|
|
295
240
|
"Use promises for the in-process transport.";
|
|
296
241
|
const char* const additional_constraints_promise_based_inproc_transport = "{}";
|
|
297
|
-
const uint8_t required_experiments_promise_based_inproc_transport[] = {
|
|
298
|
-
static_cast<uint8_t>(grpc_core::kExperimentIdPromiseBasedClientCall),
|
|
299
|
-
static_cast<uint8_t>(grpc_core::kExperimentIdPromiseBasedServerCall)};
|
|
300
242
|
const char* const description_rstpit =
|
|
301
243
|
"On RST_STREAM on a server, reduce MAX_CONCURRENT_STREAMS for a short "
|
|
302
244
|
"duration";
|
|
@@ -332,8 +274,6 @@ const char* const description_work_serializer_dispatch =
|
|
|
332
274
|
"callback, instead of running things inline in the first thread that "
|
|
333
275
|
"successfully enqueues work.";
|
|
334
276
|
const char* const additional_constraints_work_serializer_dispatch = "{}";
|
|
335
|
-
const uint8_t required_experiments_work_serializer_dispatch[] = {
|
|
336
|
-
static_cast<uint8_t>(grpc_core::kExperimentIdEventEngineClient)};
|
|
337
277
|
} // namespace
|
|
338
278
|
|
|
339
279
|
namespace grpc_core {
|
|
@@ -342,17 +282,15 @@ const ExperimentMetadata g_experiment_metadata[] = {
|
|
|
342
282
|
{"call_status_override_on_cancellation",
|
|
343
283
|
description_call_status_override_on_cancellation,
|
|
344
284
|
additional_constraints_call_status_override_on_cancellation, nullptr, 0,
|
|
345
|
-
|
|
346
|
-
{"call_v3", description_call_v3, additional_constraints_call_v3, nullptr, 0,
|
|
347
|
-
false, true},
|
|
285
|
+
true, true},
|
|
348
286
|
{"canary_client_privacy", description_canary_client_privacy,
|
|
349
287
|
additional_constraints_canary_client_privacy, nullptr, 0, false, false},
|
|
350
288
|
{"client_privacy", description_client_privacy,
|
|
351
289
|
additional_constraints_client_privacy, nullptr, 0, false, false},
|
|
352
290
|
{"event_engine_client", description_event_engine_client,
|
|
353
|
-
additional_constraints_event_engine_client, nullptr, 0,
|
|
291
|
+
additional_constraints_event_engine_client, nullptr, 0, true, true},
|
|
354
292
|
{"event_engine_dns", description_event_engine_dns,
|
|
355
|
-
additional_constraints_event_engine_dns, nullptr, 0,
|
|
293
|
+
additional_constraints_event_engine_dns, nullptr, 0, true, false},
|
|
356
294
|
{"event_engine_listener", description_event_engine_listener,
|
|
357
295
|
additional_constraints_event_engine_listener, nullptr, 0, true, true},
|
|
358
296
|
{"free_large_allocator", description_free_large_allocator,
|
|
@@ -363,26 +301,21 @@ const ExperimentMetadata g_experiment_metadata[] = {
|
|
|
363
301
|
additional_constraints_keepalive_fix, nullptr, 0, false, false},
|
|
364
302
|
{"keepalive_server_fix", description_keepalive_server_fix,
|
|
365
303
|
additional_constraints_keepalive_server_fix, nullptr, 0, false, false},
|
|
304
|
+
{"max_pings_wo_data_throttle", description_max_pings_wo_data_throttle,
|
|
305
|
+
additional_constraints_max_pings_wo_data_throttle, nullptr, 0, false,
|
|
306
|
+
true},
|
|
366
307
|
{"monitoring_experiment", description_monitoring_experiment,
|
|
367
308
|
additional_constraints_monitoring_experiment, nullptr, 0, true, true},
|
|
368
309
|
{"multiping", description_multiping, additional_constraints_multiping,
|
|
369
310
|
nullptr, 0, false, true},
|
|
370
311
|
{"peer_state_based_framing", description_peer_state_based_framing,
|
|
371
312
|
additional_constraints_peer_state_based_framing, nullptr, 0, false, true},
|
|
372
|
-
{"
|
|
373
|
-
|
|
374
|
-
{"promise_based_client_call", description_promise_based_client_call,
|
|
375
|
-
additional_constraints_promise_based_client_call,
|
|
376
|
-
required_experiments_promise_based_client_call, 2, false, true},
|
|
377
|
-
{"promise_based_server_call", description_promise_based_server_call,
|
|
378
|
-
additional_constraints_promise_based_server_call, nullptr, 0, false, true},
|
|
379
|
-
{"chaotic_good", description_chaotic_good,
|
|
380
|
-
additional_constraints_chaotic_good, required_experiments_chaotic_good, 2,
|
|
381
|
-
false, true},
|
|
313
|
+
{"pick_first_new", description_pick_first_new,
|
|
314
|
+
additional_constraints_pick_first_new, nullptr, 0, true, true},
|
|
382
315
|
{"promise_based_inproc_transport",
|
|
383
316
|
description_promise_based_inproc_transport,
|
|
384
|
-
additional_constraints_promise_based_inproc_transport,
|
|
385
|
-
|
|
317
|
+
additional_constraints_promise_based_inproc_transport, nullptr, 0, false,
|
|
318
|
+
false},
|
|
386
319
|
{"rstpit", description_rstpit, additional_constraints_rstpit, nullptr, 0,
|
|
387
320
|
false, true},
|
|
388
321
|
{"schedule_cancellation_over_write",
|
|
@@ -396,7 +329,7 @@ const ExperimentMetadata g_experiment_metadata[] = {
|
|
|
396
329
|
{"tcp_rcv_lowat", description_tcp_rcv_lowat,
|
|
397
330
|
additional_constraints_tcp_rcv_lowat, nullptr, 0, false, true},
|
|
398
331
|
{"trace_record_callops", description_trace_record_callops,
|
|
399
|
-
additional_constraints_trace_record_callops, nullptr, 0,
|
|
332
|
+
additional_constraints_trace_record_callops, nullptr, 0, true, true},
|
|
400
333
|
{"unconstrained_max_quota_buffer_size",
|
|
401
334
|
description_unconstrained_max_quota_buffer_size,
|
|
402
335
|
additional_constraints_unconstrained_max_quota_buffer_size, nullptr, 0,
|
|
@@ -406,8 +339,7 @@ const ExperimentMetadata g_experiment_metadata[] = {
|
|
|
406
339
|
additional_constraints_work_serializer_clears_time_cache, nullptr, 0, true,
|
|
407
340
|
true},
|
|
408
341
|
{"work_serializer_dispatch", description_work_serializer_dispatch,
|
|
409
|
-
additional_constraints_work_serializer_dispatch,
|
|
410
|
-
required_experiments_work_serializer_dispatch, 1, false, true},
|
|
342
|
+
additional_constraints_work_serializer_dispatch, nullptr, 0, false, true},
|
|
411
343
|
};
|
|
412
344
|
|
|
413
345
|
} // namespace grpc_core
|
|
@@ -419,8 +351,6 @@ const char* const description_call_status_override_on_cancellation =
|
|
|
419
351
|
"with cancellation.";
|
|
420
352
|
const char* const additional_constraints_call_status_override_on_cancellation =
|
|
421
353
|
"{}";
|
|
422
|
-
const char* const description_call_v3 = "Promise-based call version 3.";
|
|
423
|
-
const char* const additional_constraints_call_v3 = "{}";
|
|
424
354
|
const char* const description_canary_client_privacy =
|
|
425
355
|
"If set, canary client privacy";
|
|
426
356
|
const char* const additional_constraints_canary_client_privacy = "{}";
|
|
@@ -449,6 +379,11 @@ const char* const description_keepalive_server_fix =
|
|
|
449
379
|
"Allows overriding keepalive_permit_without_calls for servers. Refer "
|
|
450
380
|
"https://github.com/grpc/grpc/pull/33917 for more information.";
|
|
451
381
|
const char* const additional_constraints_keepalive_server_fix = "{}";
|
|
382
|
+
const char* const description_max_pings_wo_data_throttle =
|
|
383
|
+
"Experiment to throttle pings to a period of 1 min when "
|
|
384
|
+
"GRPC_ARG_HTTP2_MAX_PINGS_WITHOUT_DATA limit has reached (instead of "
|
|
385
|
+
"completely blocking).";
|
|
386
|
+
const char* const additional_constraints_max_pings_wo_data_throttle = "{}";
|
|
452
387
|
const char* const description_monitoring_experiment =
|
|
453
388
|
"Placeholder experiment to prove/disprove our monitoring is working";
|
|
454
389
|
const char* const additional_constraints_monitoring_experiment = "{}";
|
|
@@ -460,38 +395,12 @@ const char* const description_peer_state_based_framing =
|
|
|
460
395
|
"on the peer's memory pressure which is reflected in its max http2 frame "
|
|
461
396
|
"size.";
|
|
462
397
|
const char* const additional_constraints_peer_state_based_framing = "{}";
|
|
463
|
-
const char* const
|
|
464
|
-
"
|
|
465
|
-
|
|
466
|
-
"received message is one that was read from the wire on the server. A "
|
|
467
|
-
"requested message is one explicitly requested by the application using "
|
|
468
|
-
"grpc_server_request_call or grpc_server_request_registered_call (or their "
|
|
469
|
-
"wrappers in the C++ API).";
|
|
470
|
-
const char* const additional_constraints_pending_queue_cap = "{}";
|
|
471
|
-
const char* const description_promise_based_client_call =
|
|
472
|
-
"If set, use the new gRPC promise based call code when it's appropriate "
|
|
473
|
-
"(ie when all filters in a stack are promise based)";
|
|
474
|
-
const char* const additional_constraints_promise_based_client_call = "{}";
|
|
475
|
-
const uint8_t required_experiments_promise_based_client_call[] = {
|
|
476
|
-
static_cast<uint8_t>(grpc_core::kExperimentIdEventEngineClient),
|
|
477
|
-
static_cast<uint8_t>(grpc_core::kExperimentIdEventEngineListener)};
|
|
478
|
-
const char* const description_promise_based_server_call =
|
|
479
|
-
"If set, use the new gRPC promise based call code when it's appropriate "
|
|
480
|
-
"(ie when all filters in a stack are promise based)";
|
|
481
|
-
const char* const additional_constraints_promise_based_server_call = "{}";
|
|
482
|
-
const char* const description_chaotic_good =
|
|
483
|
-
"If set, enable the chaotic good load transport (this is mostly here for "
|
|
484
|
-
"testing)";
|
|
485
|
-
const char* const additional_constraints_chaotic_good = "{}";
|
|
486
|
-
const uint8_t required_experiments_chaotic_good[] = {
|
|
487
|
-
static_cast<uint8_t>(grpc_core::kExperimentIdPromiseBasedClientCall),
|
|
488
|
-
static_cast<uint8_t>(grpc_core::kExperimentIdPromiseBasedServerCall)};
|
|
398
|
+
const char* const description_pick_first_new =
|
|
399
|
+
"New pick_first impl with memory reduction.";
|
|
400
|
+
const char* const additional_constraints_pick_first_new = "{}";
|
|
489
401
|
const char* const description_promise_based_inproc_transport =
|
|
490
402
|
"Use promises for the in-process transport.";
|
|
491
403
|
const char* const additional_constraints_promise_based_inproc_transport = "{}";
|
|
492
|
-
const uint8_t required_experiments_promise_based_inproc_transport[] = {
|
|
493
|
-
static_cast<uint8_t>(grpc_core::kExperimentIdPromiseBasedClientCall),
|
|
494
|
-
static_cast<uint8_t>(grpc_core::kExperimentIdPromiseBasedServerCall)};
|
|
495
404
|
const char* const description_rstpit =
|
|
496
405
|
"On RST_STREAM on a server, reduce MAX_CONCURRENT_STREAMS for a short "
|
|
497
406
|
"duration";
|
|
@@ -527,8 +436,6 @@ const char* const description_work_serializer_dispatch =
|
|
|
527
436
|
"callback, instead of running things inline in the first thread that "
|
|
528
437
|
"successfully enqueues work.";
|
|
529
438
|
const char* const additional_constraints_work_serializer_dispatch = "{}";
|
|
530
|
-
const uint8_t required_experiments_work_serializer_dispatch[] = {
|
|
531
|
-
static_cast<uint8_t>(grpc_core::kExperimentIdEventEngineClient)};
|
|
532
439
|
} // namespace
|
|
533
440
|
|
|
534
441
|
namespace grpc_core {
|
|
@@ -537,9 +444,7 @@ const ExperimentMetadata g_experiment_metadata[] = {
|
|
|
537
444
|
{"call_status_override_on_cancellation",
|
|
538
445
|
description_call_status_override_on_cancellation,
|
|
539
446
|
additional_constraints_call_status_override_on_cancellation, nullptr, 0,
|
|
540
|
-
|
|
541
|
-
{"call_v3", description_call_v3, additional_constraints_call_v3, nullptr, 0,
|
|
542
|
-
false, true},
|
|
447
|
+
true, true},
|
|
543
448
|
{"canary_client_privacy", description_canary_client_privacy,
|
|
544
449
|
additional_constraints_canary_client_privacy, nullptr, 0, false, false},
|
|
545
450
|
{"client_privacy", description_client_privacy,
|
|
@@ -558,26 +463,21 @@ const ExperimentMetadata g_experiment_metadata[] = {
|
|
|
558
463
|
additional_constraints_keepalive_fix, nullptr, 0, false, false},
|
|
559
464
|
{"keepalive_server_fix", description_keepalive_server_fix,
|
|
560
465
|
additional_constraints_keepalive_server_fix, nullptr, 0, false, false},
|
|
466
|
+
{"max_pings_wo_data_throttle", description_max_pings_wo_data_throttle,
|
|
467
|
+
additional_constraints_max_pings_wo_data_throttle, nullptr, 0, false,
|
|
468
|
+
true},
|
|
561
469
|
{"monitoring_experiment", description_monitoring_experiment,
|
|
562
470
|
additional_constraints_monitoring_experiment, nullptr, 0, true, true},
|
|
563
471
|
{"multiping", description_multiping, additional_constraints_multiping,
|
|
564
472
|
nullptr, 0, false, true},
|
|
565
473
|
{"peer_state_based_framing", description_peer_state_based_framing,
|
|
566
474
|
additional_constraints_peer_state_based_framing, nullptr, 0, false, true},
|
|
567
|
-
{"
|
|
568
|
-
|
|
569
|
-
{"promise_based_client_call", description_promise_based_client_call,
|
|
570
|
-
additional_constraints_promise_based_client_call,
|
|
571
|
-
required_experiments_promise_based_client_call, 2, false, true},
|
|
572
|
-
{"promise_based_server_call", description_promise_based_server_call,
|
|
573
|
-
additional_constraints_promise_based_server_call, nullptr, 0, false, true},
|
|
574
|
-
{"chaotic_good", description_chaotic_good,
|
|
575
|
-
additional_constraints_chaotic_good, required_experiments_chaotic_good, 2,
|
|
576
|
-
false, true},
|
|
475
|
+
{"pick_first_new", description_pick_first_new,
|
|
476
|
+
additional_constraints_pick_first_new, nullptr, 0, true, true},
|
|
577
477
|
{"promise_based_inproc_transport",
|
|
578
478
|
description_promise_based_inproc_transport,
|
|
579
|
-
additional_constraints_promise_based_inproc_transport,
|
|
580
|
-
|
|
479
|
+
additional_constraints_promise_based_inproc_transport, nullptr, 0, false,
|
|
480
|
+
false},
|
|
581
481
|
{"rstpit", description_rstpit, additional_constraints_rstpit, nullptr, 0,
|
|
582
482
|
false, true},
|
|
583
483
|
{"schedule_cancellation_over_write",
|
|
@@ -591,7 +491,7 @@ const ExperimentMetadata g_experiment_metadata[] = {
|
|
|
591
491
|
{"tcp_rcv_lowat", description_tcp_rcv_lowat,
|
|
592
492
|
additional_constraints_tcp_rcv_lowat, nullptr, 0, false, true},
|
|
593
493
|
{"trace_record_callops", description_trace_record_callops,
|
|
594
|
-
additional_constraints_trace_record_callops, nullptr, 0,
|
|
494
|
+
additional_constraints_trace_record_callops, nullptr, 0, true, true},
|
|
595
495
|
{"unconstrained_max_quota_buffer_size",
|
|
596
496
|
description_unconstrained_max_quota_buffer_size,
|
|
597
497
|
additional_constraints_unconstrained_max_quota_buffer_size, nullptr, 0,
|
|
@@ -601,8 +501,7 @@ const ExperimentMetadata g_experiment_metadata[] = {
|
|
|
601
501
|
additional_constraints_work_serializer_clears_time_cache, nullptr, 0, true,
|
|
602
502
|
true},
|
|
603
503
|
{"work_serializer_dispatch", description_work_serializer_dispatch,
|
|
604
|
-
additional_constraints_work_serializer_dispatch,
|
|
605
|
-
required_experiments_work_serializer_dispatch, 1, true, true},
|
|
504
|
+
additional_constraints_work_serializer_dispatch, nullptr, 0, false, true},
|
|
606
505
|
};
|
|
607
506
|
|
|
608
507
|
} // namespace grpc_core
|
|
@@ -57,8 +57,8 @@ namespace grpc_core {
|
|
|
57
57
|
#ifdef GRPC_EXPERIMENTS_ARE_FINAL
|
|
58
58
|
|
|
59
59
|
#if defined(GRPC_CFSTREAM)
|
|
60
|
-
|
|
61
|
-
inline bool
|
|
60
|
+
#define GRPC_EXPERIMENT_IS_INCLUDED_CALL_STATUS_OVERRIDE_ON_CANCELLATION
|
|
61
|
+
inline bool IsCallStatusOverrideOnCancellationEnabled() { return true; }
|
|
62
62
|
inline bool IsCanaryClientPrivacyEnabled() { return false; }
|
|
63
63
|
inline bool IsClientPrivacyEnabled() { return false; }
|
|
64
64
|
inline bool IsEventEngineClientEnabled() { return false; }
|
|
@@ -69,34 +69,35 @@ inline bool IsFreeLargeAllocatorEnabled() { return false; }
|
|
|
69
69
|
inline bool IsHttp2StatsFixEnabled() { return true; }
|
|
70
70
|
inline bool IsKeepaliveFixEnabled() { return false; }
|
|
71
71
|
inline bool IsKeepaliveServerFixEnabled() { return false; }
|
|
72
|
+
inline bool IsMaxPingsWoDataThrottleEnabled() { return false; }
|
|
72
73
|
#define GRPC_EXPERIMENT_IS_INCLUDED_MONITORING_EXPERIMENT
|
|
73
74
|
inline bool IsMonitoringExperimentEnabled() { return true; }
|
|
74
75
|
inline bool IsMultipingEnabled() { return false; }
|
|
75
76
|
inline bool IsPeerStateBasedFramingEnabled() { return false; }
|
|
76
|
-
#define
|
|
77
|
-
inline bool
|
|
78
|
-
inline bool IsPromiseBasedClientCallEnabled() { return false; }
|
|
79
|
-
inline bool IsPromiseBasedServerCallEnabled() { return false; }
|
|
80
|
-
inline bool IsChaoticGoodEnabled() { return false; }
|
|
77
|
+
#define GRPC_EXPERIMENT_IS_INCLUDED_PICK_FIRST_NEW
|
|
78
|
+
inline bool IsPickFirstNewEnabled() { return true; }
|
|
81
79
|
inline bool IsPromiseBasedInprocTransportEnabled() { return false; }
|
|
82
80
|
inline bool IsRstpitEnabled() { return false; }
|
|
83
81
|
inline bool IsScheduleCancellationOverWriteEnabled() { return false; }
|
|
84
82
|
inline bool IsServerPrivacyEnabled() { return false; }
|
|
85
83
|
inline bool IsTcpFrameSizeTuningEnabled() { return false; }
|
|
86
84
|
inline bool IsTcpRcvLowatEnabled() { return false; }
|
|
87
|
-
|
|
85
|
+
#define GRPC_EXPERIMENT_IS_INCLUDED_TRACE_RECORD_CALLOPS
|
|
86
|
+
inline bool IsTraceRecordCallopsEnabled() { return true; }
|
|
88
87
|
inline bool IsUnconstrainedMaxQuotaBufferSizeEnabled() { return false; }
|
|
89
88
|
#define GRPC_EXPERIMENT_IS_INCLUDED_WORK_SERIALIZER_CLEARS_TIME_CACHE
|
|
90
89
|
inline bool IsWorkSerializerClearsTimeCacheEnabled() { return true; }
|
|
91
90
|
inline bool IsWorkSerializerDispatchEnabled() { return false; }
|
|
92
91
|
|
|
93
92
|
#elif defined(GPR_WINDOWS)
|
|
94
|
-
|
|
95
|
-
inline bool
|
|
93
|
+
#define GRPC_EXPERIMENT_IS_INCLUDED_CALL_STATUS_OVERRIDE_ON_CANCELLATION
|
|
94
|
+
inline bool IsCallStatusOverrideOnCancellationEnabled() { return true; }
|
|
96
95
|
inline bool IsCanaryClientPrivacyEnabled() { return false; }
|
|
97
96
|
inline bool IsClientPrivacyEnabled() { return false; }
|
|
98
|
-
|
|
99
|
-
inline bool
|
|
97
|
+
#define GRPC_EXPERIMENT_IS_INCLUDED_EVENT_ENGINE_CLIENT
|
|
98
|
+
inline bool IsEventEngineClientEnabled() { return true; }
|
|
99
|
+
#define GRPC_EXPERIMENT_IS_INCLUDED_EVENT_ENGINE_DNS
|
|
100
|
+
inline bool IsEventEngineDnsEnabled() { return true; }
|
|
100
101
|
#define GRPC_EXPERIMENT_IS_INCLUDED_EVENT_ENGINE_LISTENER
|
|
101
102
|
inline bool IsEventEngineListenerEnabled() { return true; }
|
|
102
103
|
inline bool IsFreeLargeAllocatorEnabled() { return false; }
|
|
@@ -104,30 +105,29 @@ inline bool IsFreeLargeAllocatorEnabled() { return false; }
|
|
|
104
105
|
inline bool IsHttp2StatsFixEnabled() { return true; }
|
|
105
106
|
inline bool IsKeepaliveFixEnabled() { return false; }
|
|
106
107
|
inline bool IsKeepaliveServerFixEnabled() { return false; }
|
|
108
|
+
inline bool IsMaxPingsWoDataThrottleEnabled() { return false; }
|
|
107
109
|
#define GRPC_EXPERIMENT_IS_INCLUDED_MONITORING_EXPERIMENT
|
|
108
110
|
inline bool IsMonitoringExperimentEnabled() { return true; }
|
|
109
111
|
inline bool IsMultipingEnabled() { return false; }
|
|
110
112
|
inline bool IsPeerStateBasedFramingEnabled() { return false; }
|
|
111
|
-
#define
|
|
112
|
-
inline bool
|
|
113
|
-
inline bool IsPromiseBasedClientCallEnabled() { return false; }
|
|
114
|
-
inline bool IsPromiseBasedServerCallEnabled() { return false; }
|
|
115
|
-
inline bool IsChaoticGoodEnabled() { return false; }
|
|
113
|
+
#define GRPC_EXPERIMENT_IS_INCLUDED_PICK_FIRST_NEW
|
|
114
|
+
inline bool IsPickFirstNewEnabled() { return true; }
|
|
116
115
|
inline bool IsPromiseBasedInprocTransportEnabled() { return false; }
|
|
117
116
|
inline bool IsRstpitEnabled() { return false; }
|
|
118
117
|
inline bool IsScheduleCancellationOverWriteEnabled() { return false; }
|
|
119
118
|
inline bool IsServerPrivacyEnabled() { return false; }
|
|
120
119
|
inline bool IsTcpFrameSizeTuningEnabled() { return false; }
|
|
121
120
|
inline bool IsTcpRcvLowatEnabled() { return false; }
|
|
122
|
-
|
|
121
|
+
#define GRPC_EXPERIMENT_IS_INCLUDED_TRACE_RECORD_CALLOPS
|
|
122
|
+
inline bool IsTraceRecordCallopsEnabled() { return true; }
|
|
123
123
|
inline bool IsUnconstrainedMaxQuotaBufferSizeEnabled() { return false; }
|
|
124
124
|
#define GRPC_EXPERIMENT_IS_INCLUDED_WORK_SERIALIZER_CLEARS_TIME_CACHE
|
|
125
125
|
inline bool IsWorkSerializerClearsTimeCacheEnabled() { return true; }
|
|
126
126
|
inline bool IsWorkSerializerDispatchEnabled() { return false; }
|
|
127
127
|
|
|
128
128
|
#else
|
|
129
|
-
|
|
130
|
-
inline bool
|
|
129
|
+
#define GRPC_EXPERIMENT_IS_INCLUDED_CALL_STATUS_OVERRIDE_ON_CANCELLATION
|
|
130
|
+
inline bool IsCallStatusOverrideOnCancellationEnabled() { return true; }
|
|
131
131
|
inline bool IsCanaryClientPrivacyEnabled() { return false; }
|
|
132
132
|
inline bool IsClientPrivacyEnabled() { return false; }
|
|
133
133
|
inline bool IsEventEngineClientEnabled() { return false; }
|
|
@@ -140,33 +140,30 @@ inline bool IsFreeLargeAllocatorEnabled() { return false; }
|
|
|
140
140
|
inline bool IsHttp2StatsFixEnabled() { return true; }
|
|
141
141
|
inline bool IsKeepaliveFixEnabled() { return false; }
|
|
142
142
|
inline bool IsKeepaliveServerFixEnabled() { return false; }
|
|
143
|
+
inline bool IsMaxPingsWoDataThrottleEnabled() { return false; }
|
|
143
144
|
#define GRPC_EXPERIMENT_IS_INCLUDED_MONITORING_EXPERIMENT
|
|
144
145
|
inline bool IsMonitoringExperimentEnabled() { return true; }
|
|
145
146
|
inline bool IsMultipingEnabled() { return false; }
|
|
146
147
|
inline bool IsPeerStateBasedFramingEnabled() { return false; }
|
|
147
|
-
#define
|
|
148
|
-
inline bool
|
|
149
|
-
inline bool IsPromiseBasedClientCallEnabled() { return false; }
|
|
150
|
-
inline bool IsPromiseBasedServerCallEnabled() { return false; }
|
|
151
|
-
inline bool IsChaoticGoodEnabled() { return false; }
|
|
148
|
+
#define GRPC_EXPERIMENT_IS_INCLUDED_PICK_FIRST_NEW
|
|
149
|
+
inline bool IsPickFirstNewEnabled() { return true; }
|
|
152
150
|
inline bool IsPromiseBasedInprocTransportEnabled() { return false; }
|
|
153
151
|
inline bool IsRstpitEnabled() { return false; }
|
|
154
152
|
inline bool IsScheduleCancellationOverWriteEnabled() { return false; }
|
|
155
153
|
inline bool IsServerPrivacyEnabled() { return false; }
|
|
156
154
|
inline bool IsTcpFrameSizeTuningEnabled() { return false; }
|
|
157
155
|
inline bool IsTcpRcvLowatEnabled() { return false; }
|
|
158
|
-
|
|
156
|
+
#define GRPC_EXPERIMENT_IS_INCLUDED_TRACE_RECORD_CALLOPS
|
|
157
|
+
inline bool IsTraceRecordCallopsEnabled() { return true; }
|
|
159
158
|
inline bool IsUnconstrainedMaxQuotaBufferSizeEnabled() { return false; }
|
|
160
159
|
#define GRPC_EXPERIMENT_IS_INCLUDED_WORK_SERIALIZER_CLEARS_TIME_CACHE
|
|
161
160
|
inline bool IsWorkSerializerClearsTimeCacheEnabled() { return true; }
|
|
162
|
-
|
|
163
|
-
inline bool IsWorkSerializerDispatchEnabled() { return true; }
|
|
161
|
+
inline bool IsWorkSerializerDispatchEnabled() { return false; }
|
|
164
162
|
#endif
|
|
165
163
|
|
|
166
164
|
#else
|
|
167
165
|
enum ExperimentIds {
|
|
168
166
|
kExperimentIdCallStatusOverrideOnCancellation,
|
|
169
|
-
kExperimentIdCallV3,
|
|
170
167
|
kExperimentIdCanaryClientPrivacy,
|
|
171
168
|
kExperimentIdClientPrivacy,
|
|
172
169
|
kExperimentIdEventEngineClient,
|
|
@@ -176,13 +173,11 @@ enum ExperimentIds {
|
|
|
176
173
|
kExperimentIdHttp2StatsFix,
|
|
177
174
|
kExperimentIdKeepaliveFix,
|
|
178
175
|
kExperimentIdKeepaliveServerFix,
|
|
176
|
+
kExperimentIdMaxPingsWoDataThrottle,
|
|
179
177
|
kExperimentIdMonitoringExperiment,
|
|
180
178
|
kExperimentIdMultiping,
|
|
181
179
|
kExperimentIdPeerStateBasedFraming,
|
|
182
|
-
|
|
183
|
-
kExperimentIdPromiseBasedClientCall,
|
|
184
|
-
kExperimentIdPromiseBasedServerCall,
|
|
185
|
-
kExperimentIdChaoticGood,
|
|
180
|
+
kExperimentIdPickFirstNew,
|
|
186
181
|
kExperimentIdPromiseBasedInprocTransport,
|
|
187
182
|
kExperimentIdRstpit,
|
|
188
183
|
kExperimentIdScheduleCancellationOverWrite,
|
|
@@ -199,10 +194,6 @@ enum ExperimentIds {
|
|
|
199
194
|
inline bool IsCallStatusOverrideOnCancellationEnabled() {
|
|
200
195
|
return IsExperimentEnabled(kExperimentIdCallStatusOverrideOnCancellation);
|
|
201
196
|
}
|
|
202
|
-
#define GRPC_EXPERIMENT_IS_INCLUDED_CALL_V3
|
|
203
|
-
inline bool IsCallV3Enabled() {
|
|
204
|
-
return IsExperimentEnabled(kExperimentIdCallV3);
|
|
205
|
-
}
|
|
206
197
|
#define GRPC_EXPERIMENT_IS_INCLUDED_CANARY_CLIENT_PRIVACY
|
|
207
198
|
inline bool IsCanaryClientPrivacyEnabled() {
|
|
208
199
|
return IsExperimentEnabled(kExperimentIdCanaryClientPrivacy);
|
|
@@ -239,6 +230,10 @@ inline bool IsKeepaliveFixEnabled() {
|
|
|
239
230
|
inline bool IsKeepaliveServerFixEnabled() {
|
|
240
231
|
return IsExperimentEnabled(kExperimentIdKeepaliveServerFix);
|
|
241
232
|
}
|
|
233
|
+
#define GRPC_EXPERIMENT_IS_INCLUDED_MAX_PINGS_WO_DATA_THROTTLE
|
|
234
|
+
inline bool IsMaxPingsWoDataThrottleEnabled() {
|
|
235
|
+
return IsExperimentEnabled(kExperimentIdMaxPingsWoDataThrottle);
|
|
236
|
+
}
|
|
242
237
|
#define GRPC_EXPERIMENT_IS_INCLUDED_MONITORING_EXPERIMENT
|
|
243
238
|
inline bool IsMonitoringExperimentEnabled() {
|
|
244
239
|
return IsExperimentEnabled(kExperimentIdMonitoringExperiment);
|
|
@@ -251,21 +246,9 @@ inline bool IsMultipingEnabled() {
|
|
|
251
246
|
inline bool IsPeerStateBasedFramingEnabled() {
|
|
252
247
|
return IsExperimentEnabled(kExperimentIdPeerStateBasedFraming);
|
|
253
248
|
}
|
|
254
|
-
#define
|
|
255
|
-
inline bool
|
|
256
|
-
return IsExperimentEnabled(
|
|
257
|
-
}
|
|
258
|
-
#define GRPC_EXPERIMENT_IS_INCLUDED_PROMISE_BASED_CLIENT_CALL
|
|
259
|
-
inline bool IsPromiseBasedClientCallEnabled() {
|
|
260
|
-
return IsExperimentEnabled(kExperimentIdPromiseBasedClientCall);
|
|
261
|
-
}
|
|
262
|
-
#define GRPC_EXPERIMENT_IS_INCLUDED_PROMISE_BASED_SERVER_CALL
|
|
263
|
-
inline bool IsPromiseBasedServerCallEnabled() {
|
|
264
|
-
return IsExperimentEnabled(kExperimentIdPromiseBasedServerCall);
|
|
265
|
-
}
|
|
266
|
-
#define GRPC_EXPERIMENT_IS_INCLUDED_CHAOTIC_GOOD
|
|
267
|
-
inline bool IsChaoticGoodEnabled() {
|
|
268
|
-
return IsExperimentEnabled(kExperimentIdChaoticGood);
|
|
249
|
+
#define GRPC_EXPERIMENT_IS_INCLUDED_PICK_FIRST_NEW
|
|
250
|
+
inline bool IsPickFirstNewEnabled() {
|
|
251
|
+
return IsExperimentEnabled(kExperimentIdPickFirstNew);
|
|
269
252
|
}
|
|
270
253
|
#define GRPC_EXPERIMENT_IS_INCLUDED_PROMISE_BASED_INPROC_TRANSPORT
|
|
271
254
|
inline bool IsPromiseBasedInprocTransportEnabled() {
|
|
@@ -19,10 +19,10 @@
|
|
|
19
19
|
#ifndef GRPC_SRC_CORE_LIB_GPRPP_ATOMIC_UTILS_H
|
|
20
20
|
#define GRPC_SRC_CORE_LIB_GPRPP_ATOMIC_UTILS_H
|
|
21
21
|
|
|
22
|
-
#include <grpc/support/port_platform.h>
|
|
23
|
-
|
|
24
22
|
#include <atomic>
|
|
25
23
|
|
|
24
|
+
#include <grpc/support/port_platform.h>
|
|
25
|
+
|
|
26
26
|
namespace grpc_core {
|
|
27
27
|
|
|
28
28
|
// Atomically increment a counter only if the counter value is not zero.
|
data/src/core/lib/gprpp/bitset.h
CHANGED
|
@@ -15,14 +15,14 @@
|
|
|
15
15
|
#ifndef GRPC_SRC_CORE_LIB_GPRPP_BITSET_H
|
|
16
16
|
#define GRPC_SRC_CORE_LIB_GPRPP_BITSET_H
|
|
17
17
|
|
|
18
|
-
#include <grpc/support/port_platform.h>
|
|
19
|
-
|
|
20
18
|
#include <stddef.h>
|
|
21
19
|
#include <stdint.h>
|
|
22
20
|
|
|
23
21
|
#include <type_traits>
|
|
24
22
|
|
|
25
|
-
#include
|
|
23
|
+
#include <grpc/support/port_platform.h>
|
|
24
|
+
|
|
25
|
+
#include "src/core/util/useful.h"
|
|
26
26
|
|
|
27
27
|
namespace grpc_core {
|
|
28
28
|
|