grpc 1.62.0 → 1.64.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/Makefile +463 -2007
- data/include/grpc/byte_buffer.h +1 -2
- data/include/grpc/census.h +1 -2
- data/include/grpc/compression.h +1 -2
- data/include/grpc/credentials.h +1222 -0
- data/include/grpc/event_engine/endpoint_config.h +2 -2
- data/include/grpc/event_engine/event_engine.h +4 -2
- data/include/grpc/event_engine/extensible.h +2 -2
- data/include/grpc/event_engine/internal/memory_allocator_impl.h +1 -2
- data/include/grpc/event_engine/memory_allocator.h +1 -2
- data/include/grpc/event_engine/memory_request.h +2 -2
- data/include/grpc/event_engine/slice.h +1 -2
- data/include/grpc/event_engine/slice_buffer.h +1 -2
- data/include/grpc/grpc.h +8 -8
- data/include/grpc/grpc_audit_logging.h +1 -2
- data/include/grpc/grpc_crl_provider.h +3 -2
- data/include/grpc/grpc_cronet.h +1 -2
- data/include/grpc/grpc_posix.h +1 -2
- data/include/grpc/grpc_security.h +1 -1173
- data/include/grpc/impl/call.h +1 -2
- data/include/grpc/impl/channel_arg_names.h +4 -3
- data/include/grpc/impl/grpc_types.h +1 -2
- data/include/grpc/impl/slice_type.h +2 -2
- data/include/grpc/module.modulemap +2 -0
- data/include/grpc/slice.h +1 -2
- data/include/grpc/slice_buffer.h +1 -2
- data/include/grpc/support/alloc.h +2 -2
- data/include/grpc/support/json.h +2 -2
- data/include/grpc/support/log.h +3 -3
- data/include/grpc/support/metrics.h +51 -0
- data/include/grpc/support/string_util.h +0 -1
- data/include/grpc/support/sync.h +0 -1
- data/include/grpc/support/sync_abseil.h +0 -1
- data/include/grpc/support/sync_custom.h +0 -1
- data/include/grpc/support/sync_generic.h +1 -2
- data/include/grpc/support/sync_posix.h +1 -2
- data/include/grpc/support/time.h +2 -2
- data/src/core/{lib/channel → channelz}/channel_trace.cc +56 -62
- data/src/core/{lib/channel → channelz}/channel_trace.h +21 -19
- data/src/core/{lib/channel → channelz}/channelz.cc +68 -6
- data/src/core/{lib/channel → channelz}/channelz.h +54 -12
- data/src/core/{lib/channel → channelz}/channelz_registry.cc +7 -6
- data/src/core/{lib/channel → channelz}/channelz_registry.h +7 -7
- data/src/core/client_channel/client_channel_filter.cc +106 -100
- data/src/core/client_channel/client_channel_filter.h +8 -18
- data/src/core/client_channel/client_channel_internal.h +4 -3
- data/src/core/client_channel/client_channel_service_config.h +5 -4
- 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 +3 -2
- data/src/core/client_channel/dynamic_filters.h +1 -1
- data/src/core/client_channel/local_subchannel_pool.cc +5 -3
- data/src/core/client_channel/retry_filter.cc +1 -1
- data/src/core/client_channel/retry_filter.h +4 -3
- data/src/core/client_channel/retry_filter_legacy_call_data.cc +6 -5
- data/src/core/client_channel/retry_filter_legacy_call_data.h +9 -9
- data/src/core/client_channel/retry_service_config.h +3 -3
- data/src/core/client_channel/retry_throttle.h +3 -2
- data/src/core/client_channel/subchannel.cc +15 -14
- data/src/core/client_channel/subchannel.h +7 -8
- data/src/core/client_channel/subchannel_pool_interface.h +1 -1
- data/src/core/client_channel/subchannel_stream_client.cc +6 -8
- data/src/core/client_channel/subchannel_stream_client.h +2 -2
- data/src/core/ext/filters/backend_metrics/backend_metric_filter.cc +7 -52
- data/src/core/ext/filters/backend_metrics/backend_metric_filter.h +2 -14
- data/src/core/ext/filters/channel_idle/legacy_channel_idle_filter.cc +27 -25
- data/src/core/ext/filters/channel_idle/legacy_channel_idle_filter.h +10 -11
- data/src/core/ext/filters/fault_injection/fault_injection_filter.cc +8 -9
- data/src/core/ext/filters/fault_injection/fault_injection_filter.h +4 -4
- data/src/core/ext/filters/http/client/http_client_filter.cc +5 -4
- data/src/core/ext/filters/http/client/http_client_filter.h +5 -5
- data/src/core/ext/filters/http/client_authority_filter.cc +4 -3
- data/src/core/ext/filters/http/client_authority_filter.h +5 -4
- data/src/core/ext/filters/http/http_filters_plugin.cc +15 -35
- data/src/core/ext/filters/http/message_compress/compression_filter.cc +17 -15
- data/src/core/ext/filters/http/message_compress/compression_filter.h +10 -9
- data/src/core/ext/filters/http/server/http_server_filter.cc +3 -3
- data/src/core/ext/filters/http/server/http_server_filter.h +5 -5
- data/src/core/ext/filters/message_size/message_size_filter.cc +24 -28
- data/src/core/ext/filters/message_size/message_size_filter.h +8 -6
- data/src/core/ext/filters/rbac/rbac_filter.cc +5 -7
- data/src/core/ext/filters/rbac/rbac_filter.h +5 -5
- data/src/core/ext/filters/rbac/rbac_service_config_parser.cc +2 -2
- data/src/core/ext/filters/stateful_session/stateful_session_filter.cc +12 -12
- data/src/core/ext/filters/stateful_session/stateful_session_filter.h +3 -2
- data/src/core/ext/gcp/metadata_query.cc +4 -3
- data/src/core/ext/gcp/metadata_query.h +2 -2
- data/src/core/ext/transport/chttp2/alpn/alpn.cc +4 -3
- data/src/core/ext/transport/chttp2/alpn/alpn.h +2 -2
- data/src/core/ext/transport/chttp2/client/chttp2_connector.cc +17 -22
- data/src/core/ext/transport/chttp2/client/chttp2_connector.h +2 -3
- data/src/core/ext/transport/chttp2/server/chttp2_server.cc +48 -11
- data/src/core/ext/transport/chttp2/server/chttp2_server.h +3 -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 +80 -128
- data/src/core/ext/transport/chttp2/transport/chttp2_transport.h +25 -7
- data/src/core/ext/transport/chttp2/transport/context_list_entry.h +15 -12
- 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 +4 -4
- data/src/core/ext/transport/chttp2/transport/flow_control.h +4 -4
- 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 +3 -3
- data/src/core/ext/transport/chttp2/transport/frame_ping.h +1 -2
- data/src/core/ext/transport/chttp2/transport/frame_rst_stream.cc +3 -3
- data/src/core/ext/transport/chttp2/transport/frame_rst_stream.h +1 -2
- data/src/core/ext/transport/chttp2/transport/frame_settings.cc +1 -2
- 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 +4 -3
- data/src/core/ext/transport/chttp2/transport/hpack_encoder.h +1 -2
- 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 +25 -73
- data/src/core/ext/transport/chttp2/transport/hpack_parser.h +1 -4
- data/src/core/ext/transport/chttp2/transport/hpack_parser_table.cc +5 -5
- data/src/core/ext/transport/chttp2/transport/hpack_parser_table.h +2 -2
- data/src/core/ext/transport/chttp2/transport/http2_settings.cc +2 -2
- data/src/core/ext/transport/chttp2/transport/http2_settings.h +2 -2
- data/src/core/ext/transport/chttp2/transport/http_trace.cc +2 -2
- data/src/core/ext/transport/chttp2/transport/huffsyms.cc +2 -2
- data/src/core/ext/transport/chttp2/transport/internal.h +7 -7
- 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 +19 -24
- 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 -3
- data/src/core/ext/transport/chttp2/transport/ping_callbacks.h +1 -2
- data/src/core/ext/transport/chttp2/transport/ping_rate_policy.cc +1 -2
- data/src/core/ext/transport/chttp2/transport/ping_rate_policy.h +2 -2
- data/src/core/ext/transport/chttp2/transport/stream_lists.cc +7 -6
- 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 +69 -53
- data/src/core/ext/transport/inproc/inproc_transport.cc +18 -16
- data/src/core/ext/transport/inproc/inproc_transport.h +1 -2
- data/src/core/ext/transport/inproc/legacy_inproc_transport.cc +16 -16
- data/src/core/ext/transport/inproc/legacy_inproc_transport.h +1 -2
- data/src/core/ext/upb-gen/envoy/admin/v3/certs.upb.h +243 -230
- data/src/core/ext/upb-gen/envoy/admin/v3/certs.upb_minitable.c +42 -48
- data/src/core/ext/upb-gen/envoy/admin/v3/clusters.upb.h +289 -265
- data/src/core/ext/upb-gen/envoy/admin/v3/clusters.upb_minitable.c +62 -70
- data/src/core/ext/upb-gen/envoy/admin/v3/config_dump.upb.h +238 -226
- data/src/core/ext/upb-gen/envoy/admin/v3/config_dump.upb_minitable.c +42 -50
- data/src/core/ext/upb-gen/envoy/admin/v3/config_dump_shared.upb.h +937 -882
- data/src/core/ext/upb-gen/envoy/admin/v3/config_dump_shared.upb_minitable.c +182 -208
- data/src/core/ext/upb-gen/envoy/admin/v3/init_dump.upb.h +77 -76
- data/src/core/ext/upb-gen/envoy/admin/v3/init_dump.upb_minitable.c +9 -9
- data/src/core/ext/upb-gen/envoy/admin/v3/listeners.upb.h +86 -84
- data/src/core/ext/upb-gen/envoy/admin/v3/listeners.upb_minitable.c +13 -13
- data/src/core/ext/upb-gen/envoy/admin/v3/memory.upb.h +49 -42
- data/src/core/ext/upb-gen/envoy/admin/v3/memory.upb_minitable.c +13 -13
- data/src/core/ext/upb-gen/envoy/admin/v3/metrics.upb.h +28 -24
- data/src/core/ext/upb-gen/envoy/admin/v3/metrics.upb_minitable.c +7 -7
- data/src/core/ext/upb-gen/envoy/admin/v3/mutex_stats.upb.h +28 -24
- data/src/core/ext/upb-gen/envoy/admin/v3/mutex_stats.upb_minitable.c +7 -7
- data/src/core/ext/upb-gen/envoy/admin/v3/server_info.upb.h +357 -318
- data/src/core/ext/upb-gen/envoy/admin/v3/server_info.upb_minitable.c +86 -86
- data/src/core/ext/upb-gen/envoy/admin/v3/tap.upb.h +23 -20
- data/src/core/ext/upb-gen/envoy/admin/v3/tap.upb_minitable.c +5 -7
- data/src/core/ext/upb-gen/envoy/annotations/deprecation.upb.h +40 -32
- data/src/core/ext/upb-gen/envoy/annotations/deprecation.upb_minitable.c +4 -4
- data/src/core/ext/upb-gen/envoy/annotations/resource.upb.h +24 -20
- data/src/core/ext/upb-gen/envoy/annotations/resource.upb_minitable.c +4 -4
- data/src/core/ext/upb-gen/envoy/config/accesslog/v3/accesslog.upb.h +517 -473
- data/src/core/ext/upb-gen/envoy/config/accesslog/v3/accesslog.upb_minitable.c +105 -125
- data/src/core/ext/upb-gen/envoy/config/bootstrap/v3/bootstrap.upb.h +1207 -1108
- data/src/core/ext/upb-gen/envoy/config/bootstrap/v3/bootstrap.upb_minitable.c +261 -289
- data/src/core/ext/upb-gen/envoy/config/cluster/v3/circuit_breaker.upb.h +163 -152
- data/src/core/ext/upb-gen/envoy/config/cluster/v3/circuit_breaker.upb_minitable.c +29 -43
- data/src/core/ext/upb-gen/envoy/config/cluster/v3/cluster.upb.h +1265 -1137
- data/src/core/ext/upb-gen/envoy/config/cluster/v3/cluster.upb_minitable.c +276 -346
- data/src/core/ext/upb-gen/envoy/config/cluster/v3/filter.upb.h +32 -28
- data/src/core/ext/upb-gen/envoy/config/cluster/v3/filter.upb_minitable.c +7 -9
- data/src/core/ext/upb-gen/envoy/config/cluster/v3/outlier_detection.upb.h +212 -188
- data/src/core/ext/upb-gen/envoy/config/cluster/v3/outlier_detection.upb_minitable.c +53 -69
- data/src/core/ext/upb-gen/envoy/config/common/matcher/v3/matcher.upb.h +564 -508
- data/src/core/ext/upb-gen/envoy/config/common/matcher/v3/matcher.upb_minitable.c +123 -131
- data/src/core/ext/upb-gen/envoy/config/core/v3/address.upb.h +340 -309
- data/src/core/ext/upb-gen/envoy/config/core/v3/address.upb_minitable.c +69 -83
- data/src/core/ext/upb-gen/envoy/config/core/v3/backoff.upb.h +25 -22
- data/src/core/ext/upb-gen/envoy/config/core/v3/backoff.upb_minitable.c +5 -11
- data/src/core/ext/upb-gen/envoy/config/core/v3/base.upb.h +786 -688
- data/src/core/ext/upb-gen/envoy/config/core/v3/base.upb_minitable.c +171 -189
- data/src/core/ext/upb-gen/envoy/config/core/v3/config_source.upb.h +367 -343
- data/src/core/ext/upb-gen/envoy/config/core/v3/config_source.upb_minitable.c +72 -80
- data/src/core/ext/upb-gen/envoy/config/core/v3/event_service_config.upb.h +19 -16
- data/src/core/ext/upb-gen/envoy/config/core/v3/event_service_config.upb_minitable.c +4 -4
- data/src/core/ext/upb-gen/envoy/config/core/v3/extension.upb.h +23 -20
- data/src/core/ext/upb-gen/envoy/config/core/v3/extension.upb_minitable.c +5 -7
- data/src/core/ext/upb-gen/envoy/config/core/v3/grpc_method_list.upb.h +77 -76
- data/src/core/ext/upb-gen/envoy/config/core/v3/grpc_method_list.upb_minitable.c +9 -9
- data/src/core/ext/upb-gen/envoy/config/core/v3/grpc_service.upb.h +539 -471
- data/src/core/ext/upb-gen/envoy/config/core/v3/grpc_service.upb_minitable.c +125 -141
- data/src/core/ext/upb-gen/envoy/config/core/v3/health_check.upb.h +672 -632
- data/src/core/ext/upb-gen/envoy/config/core/v3/health_check.upb_minitable.c +137 -137
- data/src/core/ext/upb-gen/envoy/config/core/v3/http_service.upb.h +44 -43
- data/src/core/ext/upb-gen/envoy/config/core/v3/http_service.upb_minitable.c +7 -7
- data/src/core/ext/upb-gen/envoy/config/core/v3/http_uri.upb.h +35 -30
- data/src/core/ext/upb-gen/envoy/config/core/v3/http_uri.upb_minitable.c +8 -8
- data/src/core/ext/upb-gen/envoy/config/core/v3/protocol.upb.h +713 -637
- data/src/core/ext/upb-gen/envoy/config/core/v3/protocol.upb_minitable.c +166 -208
- data/src/core/ext/upb-gen/envoy/config/core/v3/proxy_protocol.upb.h +65 -61
- data/src/core/ext/upb-gen/envoy/config/core/v3/proxy_protocol.upb_minitable.c +10 -12
- data/src/core/ext/upb-gen/envoy/config/core/v3/resolver.upb.h +65 -61
- data/src/core/ext/upb-gen/envoy/config/core/v3/resolver.upb_minitable.c +11 -13
- data/src/core/ext/upb-gen/envoy/config/core/v3/socket_option.upb.h +91 -83
- data/src/core/ext/upb-gen/envoy/config/core/v3/socket_option.upb_minitable.c +17 -17
- data/src/core/ext/upb-gen/envoy/config/core/v3/substitution_format_string.upb.h +102 -93
- data/src/core/ext/upb-gen/envoy/config/core/v3/substitution_format_string.upb_minitable.c +22 -22
- data/src/core/ext/upb-gen/envoy/config/core/v3/udp_socket_config.upb.h +25 -22
- data/src/core/ext/upb-gen/envoy/config/core/v3/udp_socket_config.upb_minitable.c +5 -11
- data/src/core/ext/upb-gen/envoy/config/endpoint/v3/endpoint.upb.h +162 -145
- data/src/core/ext/upb-gen/envoy/config/endpoint/v3/endpoint.upb_minitable.c +32 -40
- data/src/core/ext/upb-gen/envoy/config/endpoint/v3/endpoint_components.upb.h +314 -287
- data/src/core/ext/upb-gen/envoy/config/endpoint/v3/endpoint_components.upb_minitable.c +70 -74
- data/src/core/ext/upb-gen/envoy/config/endpoint/v3/load_report.upb.h +330 -309
- data/src/core/ext/upb-gen/envoy/config/endpoint/v3/load_report.upb_minitable.c +66 -66
- data/src/core/ext/upb-gen/envoy/config/listener/v3/api_listener.upb.h +16 -14
- data/src/core/ext/upb-gen/envoy/config/listener/v3/api_listener.upb_minitable.c +3 -7
- data/src/core/ext/upb-gen/envoy/config/listener/v3/listener.upb.h +516 -478
- data/src/core/ext/upb-gen/envoy/config/listener/v3/listener.upb_minitable.c +110 -120
- data/src/core/ext/upb-gen/envoy/config/listener/v3/listener_components.upb.h +495 -468
- data/src/core/ext/upb-gen/envoy/config/listener/v3/listener_components.upb_minitable.c +89 -101
- data/src/core/ext/upb-gen/envoy/config/listener/v3/quic_config.upb.h +88 -78
- data/src/core/ext/upb-gen/envoy/config/listener/v3/quic_config.upb_minitable.c +19 -37
- data/src/core/ext/upb-gen/envoy/config/listener/v3/udp_listener_config.upb.h +41 -36
- data/src/core/ext/upb-gen/envoy/config/listener/v3/udp_listener_config.upb_minitable.c +8 -26
- data/src/core/ext/upb-gen/envoy/config/metrics/v3/metrics_service.upb.h +46 -40
- data/src/core/ext/upb-gen/envoy/config/metrics/v3/metrics_service.upb_minitable.c +13 -13
- data/src/core/ext/upb-gen/envoy/config/metrics/v3/stats.upb.h +307 -279
- data/src/core/ext/upb-gen/envoy/config/metrics/v3/stats.upb_minitable.c +60 -64
- data/src/core/ext/upb-gen/envoy/config/overload/v3/overload.upb.h +382 -358
- data/src/core/ext/upb-gen/envoy/config/overload/v3/overload.upb_minitable.c +70 -70
- data/src/core/ext/upb-gen/envoy/config/rbac/v3/rbac.upb.h +540 -490
- data/src/core/ext/upb-gen/envoy/config/rbac/v3/rbac.upb_minitable.c +122 -136
- data/src/core/ext/upb-gen/envoy/config/route/v3/route.upb.h +339 -327
- data/src/core/ext/upb-gen/envoy/config/route/v3/route.upb_minitable.c +48 -70
- data/src/core/ext/upb-gen/envoy/config/route/v3/route_components.upb.h +3407 -3145
- data/src/core/ext/upb-gen/envoy/config/route/v3/route_components.upb_minitable.c +700 -752
- data/src/core/ext/upb-gen/envoy/config/route/v3/scoped_route.upb.h +100 -91
- data/src/core/ext/upb-gen/envoy/config/route/v3/scoped_route.upb_minitable.c +20 -20
- data/src/core/ext/upb-gen/envoy/config/tap/v3/common.upb.h +472 -430
- data/src/core/ext/upb-gen/envoy/config/tap/v3/common.upb_minitable.c +102 -116
- data/src/core/ext/upb-gen/envoy/config/trace/v3/datadog.upb.h +28 -24
- data/src/core/ext/upb-gen/envoy/config/trace/v3/datadog.upb_minitable.c +7 -7
- data/src/core/ext/upb-gen/envoy/config/trace/v3/dynamic_ot.upb.h +23 -20
- data/src/core/ext/upb-gen/envoy/config/trace/v3/dynamic_ot.upb_minitable.c +5 -7
- data/src/core/ext/upb-gen/envoy/config/trace/v3/http_tracer.upb.h +42 -36
- data/src/core/ext/upb-gen/envoy/config/trace/v3/http_tracer.upb_minitable.c +9 -13
- data/src/core/ext/upb-gen/envoy/config/trace/v3/lightstep.upb.h +58 -55
- data/src/core/ext/upb-gen/envoy/config/trace/v3/lightstep.upb_minitable.c +9 -13
- data/src/core/ext/upb-gen/envoy/config/trace/v3/opencensus.upb.h +146 -136
- data/src/core/ext/upb-gen/envoy/config/trace/v3/opencensus.upb_minitable.c +30 -30
- data/src/core/ext/upb-gen/envoy/config/trace/v3/opentelemetry.upb.h +69 -65
- data/src/core/ext/upb-gen/envoy/config/trace/v3/opentelemetry.upb_minitable.c +15 -15
- data/src/core/ext/upb-gen/envoy/config/trace/v3/service.upb.h +16 -14
- data/src/core/ext/upb-gen/envoy/config/trace/v3/service.upb_minitable.c +3 -7
- data/src/core/ext/upb-gen/envoy/config/trace/v3/skywalking.upb.h +67 -58
- data/src/core/ext/upb-gen/envoy/config/trace/v3/skywalking.upb_minitable.c +14 -24
- data/src/core/ext/upb-gen/envoy/config/trace/v3/xray.upb.h +64 -56
- data/src/core/ext/upb-gen/envoy/config/trace/v3/xray.upb_minitable.c +14 -20
- data/src/core/ext/upb-gen/envoy/config/trace/v3/zipkin.upb.h +58 -50
- data/src/core/ext/upb-gen/envoy/config/trace/v3/zipkin.upb_minitable.c +16 -16
- data/src/core/ext/upb-gen/envoy/data/accesslog/v3/accesslog.upb.h +986 -832
- data/src/core/ext/upb-gen/envoy/data/accesslog/v3/accesslog.upb_minitable.c +269 -281
- data/src/core/ext/upb-gen/envoy/extensions/clusters/aggregate/v3/cluster.upb.h +35 -35
- data/src/core/ext/upb-gen/envoy/extensions/clusters/aggregate/v3/cluster.upb_minitable.c +3 -3
- data/src/core/ext/upb-gen/envoy/extensions/filters/common/fault/v3/fault.upb.h +102 -88
- data/src/core/ext/upb-gen/envoy/extensions/filters/common/fault/v3/fault.upb_minitable.c +25 -25
- data/src/core/ext/upb-gen/envoy/extensions/filters/http/fault/v3/fault.upb.h +224 -204
- data/src/core/ext/upb-gen/envoy/extensions/filters/http/fault/v3/fault.upb_minitable.c +46 -62
- data/src/core/ext/upb-gen/envoy/extensions/filters/http/rbac/v3/rbac.upb.h +66 -58
- data/src/core/ext/upb-gen/envoy/extensions/filters/http/rbac/v3/rbac.upb_minitable.c +14 -24
- data/src/core/ext/upb-gen/envoy/extensions/filters/http/router/v3/router.upb.h +160 -153
- data/src/core/ext/upb-gen/envoy/extensions/filters/http/router/v3/router.upb_minitable.c +28 -30
- data/src/core/ext/upb-gen/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upb.h +51 -44
- data/src/core/ext/upb-gen/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upb_minitable.c +12 -12
- data/src/core/ext/upb-gen/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.h +1349 -1230
- data/src/core/ext/upb-gen/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb_minitable.c +293 -309
- data/src/core/ext/upb-gen/envoy/extensions/http/stateful_session/cookie/v3/cookie.upb.h +16 -14
- data/src/core/ext/upb-gen/envoy/extensions/http/stateful_session/cookie/v3/cookie.upb_minitable.c +3 -7
- data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/client_side_weighted_round_robin/v3/client_side_weighted_round_robin.upb.h +61 -54
- data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/client_side_weighted_round_robin/v3/client_side_weighted_round_robin.upb_minitable.c +13 -23
- data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/common/v3/common.upb.h +124 -108
- data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/common/v3/common.upb_minitable.c +29 -37
- data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/pick_first/v3/pick_first.upb.h +14 -12
- data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/pick_first/v3/pick_first.upb_minitable.c +3 -3
- data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/ring_hash/v3/ring_hash.upb.h +66 -58
- data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/ring_hash/v3/ring_hash.upb_minitable.c +20 -20
- data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/wrr_locality/v3/wrr_locality.upb.h +16 -14
- data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/wrr_locality/v3/wrr_locality.upb_minitable.c +3 -7
- data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/common.upb.h +518 -493
- data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/common.upb_minitable.c +82 -108
- data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/secret.upb.h +92 -80
- data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/secret.upb_minitable.c +23 -29
- data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/tls.upb.h +497 -457
- data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/tls.upb_minitable.c +110 -124
- data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.upb.h +58 -55
- data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.upb_minitable.c +9 -11
- data/src/core/ext/upb-gen/envoy/extensions/upstreams/http/v3/http_protocol_options.upb.h +206 -185
- data/src/core/ext/upb-gen/envoy/extensions/upstreams/http/v3/http_protocol_options.upb_minitable.c +48 -64
- data/src/core/ext/upb-gen/envoy/service/discovery/v3/ads.upb.h +7 -6
- data/src/core/ext/upb-gen/envoy/service/discovery/v3/ads.upb_minitable.c +1 -1
- data/src/core/ext/upb-gen/envoy/service/discovery/v3/discovery.upb.h +766 -710
- data/src/core/ext/upb-gen/envoy/service/discovery/v3/discovery.upb_minitable.c +140 -150
- data/src/core/ext/upb-gen/envoy/service/load_stats/v3/lrs.upb.h +102 -98
- data/src/core/ext/upb-gen/envoy/service/load_stats/v3/lrs.upb_minitable.c +17 -17
- data/src/core/ext/upb-gen/envoy/service/status/v3/csds.upb.h +310 -288
- data/src/core/ext/upb-gen/envoy/service/status/v3/csds.upb_minitable.c +67 -67
- data/src/core/ext/upb-gen/envoy/type/http/v3/cookie.upb.h +30 -26
- data/src/core/ext/upb-gen/envoy/type/http/v3/cookie.upb_minitable.c +8 -8
- data/src/core/ext/upb-gen/envoy/type/http/v3/path_transformation.upb.h +77 -71
- data/src/core/ext/upb-gen/envoy/type/http/v3/path_transformation.upb_minitable.c +13 -13
- data/src/core/ext/upb-gen/envoy/type/matcher/v3/filter_state.upb.h +26 -22
- data/src/core/ext/upb-gen/envoy/type/matcher/v3/filter_state.upb_minitable.c +6 -6
- data/src/core/ext/upb-gen/envoy/type/matcher/v3/http_inputs.upb.h +70 -60
- data/src/core/ext/upb-gen/envoy/type/matcher/v3/http_inputs.upb_minitable.c +15 -15
- data/src/core/ext/upb-gen/envoy/type/matcher/v3/metadata.upb.h +77 -71
- data/src/core/ext/upb-gen/envoy/type/matcher/v3/metadata.upb_minitable.c +14 -14
- data/src/core/ext/upb-gen/envoy/type/matcher/v3/node.upb.h +44 -43
- data/src/core/ext/upb-gen/envoy/type/matcher/v3/node.upb_minitable.c +7 -7
- data/src/core/ext/upb-gen/envoy/type/matcher/v3/number.upb.h +28 -24
- data/src/core/ext/upb-gen/envoy/type/matcher/v3/number.upb_minitable.c +6 -6
- data/src/core/ext/upb-gen/envoy/type/matcher/v3/path.upb.h +19 -16
- data/src/core/ext/upb-gen/envoy/type/matcher/v3/path.upb_minitable.c +4 -4
- data/src/core/ext/upb-gen/envoy/type/matcher/v3/regex.upb.h +65 -56
- data/src/core/ext/upb-gen/envoy/type/matcher/v3/regex.upb_minitable.c +15 -19
- data/src/core/ext/upb-gen/envoy/type/matcher/v3/status_code_input.upb.h +14 -12
- data/src/core/ext/upb-gen/envoy/type/matcher/v3/status_code_input.upb_minitable.c +2 -2
- data/src/core/ext/upb-gen/envoy/type/matcher/v3/string.upb.h +97 -89
- data/src/core/ext/upb-gen/envoy/type/matcher/v3/string.upb_minitable.c +18 -18
- data/src/core/ext/upb-gen/envoy/type/matcher/v3/struct.upb.h +63 -59
- data/src/core/ext/upb-gen/envoy/type/matcher/v3/struct.upb_minitable.c +10 -10
- data/src/core/ext/upb-gen/envoy/type/matcher/v3/value.upb.h +134 -121
- data/src/core/ext/upb-gen/envoy/type/matcher/v3/value.upb_minitable.c +29 -29
- data/src/core/ext/upb-gen/envoy/type/metadata/v3/metadata.upb.h +135 -121
- data/src/core/ext/upb-gen/envoy/type/metadata/v3/metadata.upb_minitable.c +26 -26
- data/src/core/ext/upb-gen/envoy/type/tracing/v3/custom_tag.upb.h +141 -122
- data/src/core/ext/upb-gen/envoy/type/tracing/v3/custom_tag.upb_minitable.c +37 -37
- data/src/core/ext/upb-gen/envoy/type/v3/hash_policy.upb.h +49 -42
- data/src/core/ext/upb-gen/envoy/type/v3/hash_policy.upb_minitable.c +11 -11
- data/src/core/ext/upb-gen/envoy/type/v3/http_status.upb.h +14 -12
- data/src/core/ext/upb-gen/envoy/type/v3/http_status.upb_minitable.c +3 -3
- data/src/core/ext/upb-gen/envoy/type/v3/percent.upb.h +35 -30
- data/src/core/ext/upb-gen/envoy/type/v3/percent.upb_minitable.c +8 -8
- data/src/core/ext/upb-gen/envoy/type/v3/range.upb.h +63 -54
- data/src/core/ext/upb-gen/envoy/type/v3/range.upb_minitable.c +15 -15
- data/src/core/ext/upb-gen/envoy/type/v3/ratelimit_strategy.upb.h +58 -50
- data/src/core/ext/upb-gen/envoy/type/v3/ratelimit_strategy.upb_minitable.c +14 -14
- data/src/core/ext/upb-gen/envoy/type/v3/semantic_version.upb.h +28 -24
- data/src/core/ext/upb-gen/envoy/type/v3/semantic_version.upb_minitable.c +7 -7
- data/src/core/ext/upb-gen/envoy/type/v3/token_bucket.upb.h +32 -28
- data/src/core/ext/upb-gen/envoy/type/v3/token_bucket.upb_minitable.c +7 -9
- data/src/core/ext/upb-gen/google/api/annotations.upb.h +10 -8
- data/src/core/ext/upb-gen/google/api/annotations.upb_minitable.c +1 -1
- data/src/core/ext/upb-gen/google/api/expr/v1alpha1/checked.upb.h +581 -524
- data/src/core/ext/upb-gen/google/api/expr/v1alpha1/checked.upb_minitable.c +118 -146
- data/src/core/ext/upb-gen/google/api/expr/v1alpha1/syntax.upb.h +616 -544
- data/src/core/ext/upb-gen/google/api/expr/v1alpha1/syntax.upb_minitable.c +136 -152
- data/src/core/ext/upb-gen/google/api/http.upb.h +176 -162
- data/src/core/ext/upb-gen/google/api/http.upb_minitable.c +34 -34
- data/src/core/ext/upb-gen/google/api/httpbody.upb.h +49 -47
- data/src/core/ext/upb-gen/google/api/httpbody.upb_minitable.c +8 -8
- data/src/core/ext/upb-gen/google/protobuf/any.upb.h +21 -18
- data/src/core/ext/upb-gen/google/protobuf/any.upb_minitable.c +5 -5
- data/src/core/ext/upb-gen/google/protobuf/descriptor.upb.h +2456 -2358
- data/src/core/ext/upb-gen/google/protobuf/descriptor.upb_minitable.c +367 -486
- data/src/core/ext/upb-gen/google/protobuf/duration.upb.h +21 -18
- data/src/core/ext/upb-gen/google/protobuf/duration.upb_minitable.c +5 -5
- data/src/core/ext/upb-gen/google/protobuf/empty.upb.h +7 -6
- data/src/core/ext/upb-gen/google/protobuf/empty.upb_minitable.c +1 -1
- data/src/core/ext/upb-gen/google/protobuf/struct.upb.h +134 -116
- data/src/core/ext/upb-gen/google/protobuf/struct.upb_minitable.c +27 -29
- data/src/core/ext/upb-gen/google/protobuf/timestamp.upb.h +21 -18
- data/src/core/ext/upb-gen/google/protobuf/timestamp.upb_minitable.c +5 -5
- data/src/core/ext/upb-gen/google/protobuf/wrappers.upb.h +126 -108
- data/src/core/ext/upb-gen/google/protobuf/wrappers.upb_minitable.c +27 -27
- data/src/core/ext/upb-gen/google/rpc/status.upb.h +49 -47
- data/src/core/ext/upb-gen/google/rpc/status.upb_minitable.c +8 -8
- data/src/core/ext/upb-gen/opencensus/proto/trace/v1/trace_config.upb.h +107 -92
- data/src/core/ext/upb-gen/opencensus/proto/trace/v1/trace_config.upb_minitable.c +27 -27
- data/src/core/ext/upb-gen/src/proto/grpc/gcp/altscontext.upb.h +77 -61
- data/src/core/ext/upb-gen/src/proto/grpc/gcp/altscontext.upb_minitable.c +21 -21
- data/src/core/ext/upb-gen/src/proto/grpc/gcp/handshaker.upb.h +577 -518
- data/src/core/ext/upb-gen/src/proto/grpc/gcp/handshaker.upb_minitable.c +121 -127
- data/src/core/ext/upb-gen/src/proto/grpc/gcp/transport_security_common.upb.h +46 -40
- data/src/core/ext/upb-gen/src/proto/grpc/gcp/transport_security_common.upb_minitable.c +10 -16
- data/src/core/ext/upb-gen/src/proto/grpc/health/v1/health.upb.h +28 -24
- data/src/core/ext/upb-gen/src/proto/grpc/health/v1/health.upb_minitable.c +6 -6
- data/src/core/ext/upb-gen/src/proto/grpc/lb/v1/load_balancer.upb.h +265 -238
- data/src/core/ext/upb-gen/src/proto/grpc/lb/v1/load_balancer.upb_minitable.c +57 -63
- data/src/core/ext/upb-gen/src/proto/grpc/lookup/v1/rls.upb.h +96 -82
- data/src/core/ext/upb-gen/src/proto/grpc/lookup/v1/rls.upb_minitable.c +19 -19
- data/src/core/ext/upb-gen/src/proto/grpc/lookup/v1/rls_config.upb.h +496 -466
- data/src/core/ext/upb-gen/src/proto/grpc/lookup/v1/rls_config.upb_minitable.c +81 -85
- data/src/core/ext/upb-gen/udpa/annotations/migrate.upb.h +99 -82
- data/src/core/ext/upb-gen/udpa/annotations/migrate.upb_minitable.c +16 -16
- data/src/core/ext/upb-gen/udpa/annotations/security.upb.h +31 -26
- data/src/core/ext/upb-gen/udpa/annotations/security.upb_minitable.c +6 -6
- data/src/core/ext/upb-gen/udpa/annotations/sensitive.upb.h +10 -8
- data/src/core/ext/upb-gen/udpa/annotations/sensitive.upb_minitable.c +1 -1
- data/src/core/ext/upb-gen/udpa/annotations/status.upb.h +31 -26
- data/src/core/ext/upb-gen/udpa/annotations/status.upb_minitable.c +6 -6
- data/src/core/ext/upb-gen/udpa/annotations/versioning.upb.h +24 -20
- data/src/core/ext/upb-gen/udpa/annotations/versioning.upb_minitable.c +4 -4
- data/src/core/ext/upb-gen/validate/validate.upb.h +2620 -2458
- data/src/core/ext/upb-gen/validate/validate.upb_minitable.c +363 -507
- data/src/core/ext/upb-gen/xds/annotations/v3/migrate.upb.h +99 -82
- data/src/core/ext/upb-gen/xds/annotations/v3/migrate.upb_minitable.c +16 -16
- data/src/core/ext/upb-gen/xds/annotations/v3/security.upb.h +31 -26
- data/src/core/ext/upb-gen/xds/annotations/v3/security.upb_minitable.c +6 -6
- data/src/core/ext/upb-gen/xds/annotations/v3/sensitive.upb.h +10 -8
- data/src/core/ext/upb-gen/xds/annotations/v3/sensitive.upb_minitable.c +1 -1
- data/src/core/ext/upb-gen/xds/annotations/v3/status.upb.h +93 -78
- data/src/core/ext/upb-gen/xds/annotations/v3/status.upb_minitable.c +17 -17
- data/src/core/ext/upb-gen/xds/annotations/v3/versioning.upb.h +24 -20
- data/src/core/ext/upb-gen/xds/annotations/v3/versioning.upb_minitable.c +4 -4
- data/src/core/ext/upb-gen/xds/core/v3/authority.upb.h +14 -12
- data/src/core/ext/upb-gen/xds/core/v3/authority.upb_minitable.c +3 -3
- data/src/core/ext/upb-gen/xds/core/v3/cidr.upb.h +23 -20
- data/src/core/ext/upb-gen/xds/core/v3/cidr.upb_minitable.c +5 -7
- data/src/core/ext/upb-gen/xds/core/v3/collection_entry.upb.h +58 -50
- data/src/core/ext/upb-gen/xds/core/v3/collection_entry.upb_minitable.c +15 -15
- data/src/core/ext/upb-gen/xds/core/v3/context_params.upb.h +33 -23
- data/src/core/ext/upb-gen/xds/core/v3/context_params.upb_minitable.c +8 -8
- data/src/core/ext/upb-gen/xds/core/v3/extension.upb.h +23 -20
- data/src/core/ext/upb-gen/xds/core/v3/extension.upb_minitable.c +5 -7
- data/src/core/ext/upb-gen/xds/core/v3/resource.upb.h +32 -28
- data/src/core/ext/upb-gen/xds/core/v3/resource.upb_minitable.c +9 -9
- data/src/core/ext/upb-gen/xds/core/v3/resource_locator.upb.h +103 -93
- data/src/core/ext/upb-gen/xds/core/v3/resource_locator.upb_minitable.c +21 -21
- data/src/core/ext/upb-gen/xds/core/v3/resource_name.upb.h +37 -32
- data/src/core/ext/upb-gen/xds/core/v3/resource_name.upb_minitable.c +9 -13
- data/src/core/ext/upb-gen/xds/data/orca/v3/orca_load_report.upb.h +127 -93
- data/src/core/ext/upb-gen/xds/data/orca/v3/orca_load_report.upb_minitable.c +34 -34
- data/src/core/ext/upb-gen/xds/service/orca/v3/orca.upb.h +44 -43
- data/src/core/ext/upb-gen/xds/service/orca/v3/orca.upb_minitable.c +6 -6
- data/src/core/ext/upb-gen/xds/type/matcher/v3/cel.upb.h +23 -20
- data/src/core/ext/upb-gen/xds/type/matcher/v3/cel.upb_minitable.c +6 -6
- data/src/core/ext/upb-gen/xds/type/matcher/v3/domain.upb.h +79 -78
- data/src/core/ext/upb-gen/xds/type/matcher/v3/domain.upb_minitable.c +9 -11
- data/src/core/ext/upb-gen/xds/type/matcher/v3/http_inputs.upb.h +7 -6
- data/src/core/ext/upb-gen/xds/type/matcher/v3/http_inputs.upb_minitable.c +1 -1
- data/src/core/ext/upb-gen/xds/type/matcher/v3/ip.upb.h +86 -84
- data/src/core/ext/upb-gen/xds/type/matcher/v3/ip.upb_minitable.c +13 -13
- data/src/core/ext/upb-gen/xds/type/matcher/v3/matcher.upb.h +324 -285
- data/src/core/ext/upb-gen/xds/type/matcher/v3/matcher.upb_minitable.c +74 -82
- data/src/core/ext/upb-gen/xds/type/matcher/v3/range.upb.h +237 -234
- data/src/core/ext/upb-gen/xds/type/matcher/v3/range.upb_minitable.c +30 -36
- data/src/core/ext/upb-gen/xds/type/matcher/v3/regex.upb.h +33 -28
- data/src/core/ext/upb-gen/xds/type/matcher/v3/regex.upb_minitable.c +7 -7
- data/src/core/ext/upb-gen/xds/type/matcher/v3/string.upb.h +97 -89
- data/src/core/ext/upb-gen/xds/type/matcher/v3/string.upb_minitable.c +18 -18
- data/src/core/ext/upb-gen/xds/type/v3/cel.upb.h +53 -46
- data/src/core/ext/upb-gen/xds/type/v3/cel.upb_minitable.c +12 -18
- data/src/core/ext/upb-gen/xds/type/v3/range.upb.h +63 -54
- data/src/core/ext/upb-gen/xds/type/v3/range.upb_minitable.c +15 -15
- data/src/core/ext/upb-gen/xds/type/v3/typed_struct.upb.h +23 -20
- data/src/core/ext/upb-gen/xds/type/v3/typed_struct.upb_minitable.c +5 -7
- data/src/core/ext/upbdefs-gen/envoy/admin/v3/certs.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/envoy/admin/v3/clusters.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/envoy/admin/v3/config_dump.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/envoy/admin/v3/config_dump_shared.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/envoy/admin/v3/init_dump.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/envoy/admin/v3/listeners.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/envoy/admin/v3/memory.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/envoy/admin/v3/metrics.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/envoy/admin/v3/mutex_stats.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/envoy/admin/v3/server_info.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/envoy/admin/v3/tap.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/envoy/annotations/deprecation.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/envoy/annotations/resource.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/envoy/config/accesslog/v3/accesslog.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/envoy/config/bootstrap/v3/bootstrap.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/envoy/config/cluster/v3/circuit_breaker.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/envoy/config/cluster/v3/cluster.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/envoy/config/cluster/v3/filter.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/envoy/config/cluster/v3/outlier_detection.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/envoy/config/common/matcher/v3/matcher.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/envoy/config/core/v3/address.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/envoy/config/core/v3/backoff.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/envoy/config/core/v3/base.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/envoy/config/core/v3/config_source.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/envoy/config/core/v3/event_service_config.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/envoy/config/core/v3/extension.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/envoy/config/core/v3/grpc_method_list.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/envoy/config/core/v3/grpc_service.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/envoy/config/core/v3/health_check.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/envoy/config/core/v3/http_service.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/envoy/config/core/v3/http_uri.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/envoy/config/core/v3/protocol.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/envoy/config/core/v3/proxy_protocol.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/envoy/config/core/v3/resolver.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/envoy/config/core/v3/socket_option.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/envoy/config/core/v3/substitution_format_string.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/envoy/config/core/v3/udp_socket_config.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/envoy/config/endpoint/v3/endpoint.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/envoy/config/endpoint/v3/endpoint_components.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/envoy/config/endpoint/v3/load_report.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/envoy/config/listener/v3/api_listener.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/envoy/config/listener/v3/listener.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/envoy/config/listener/v3/listener_components.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/envoy/config/listener/v3/quic_config.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/envoy/config/listener/v3/udp_listener_config.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/envoy/config/metrics/v3/metrics_service.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/envoy/config/metrics/v3/stats.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/envoy/config/overload/v3/overload.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/envoy/config/rbac/v3/rbac.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/envoy/config/route/v3/route.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/envoy/config/route/v3/route_components.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/envoy/config/route/v3/scoped_route.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/envoy/config/tap/v3/common.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/datadog.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/dynamic_ot.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/http_tracer.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/lightstep.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/opencensus.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/opentelemetry.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/service.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/skywalking.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/trace.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/xray.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/envoy/config/trace/v3/zipkin.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/envoy/data/accesslog/v3/accesslog.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/envoy/extensions/clusters/aggregate/v3/cluster.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/envoy/extensions/filters/common/fault/v3/fault.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/envoy/extensions/filters/http/fault/v3/fault.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/envoy/extensions/filters/http/rbac/v3/rbac.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/envoy/extensions/filters/http/router/v3/router.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/envoy/extensions/http/stateful_session/cookie/v3/cookie.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/envoy/extensions/transport_sockets/tls/v3/cert.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/envoy/extensions/transport_sockets/tls/v3/common.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/envoy/extensions/transport_sockets/tls/v3/secret.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/envoy/extensions/transport_sockets/tls/v3/tls.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/envoy/extensions/upstreams/http/v3/http_protocol_options.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/envoy/service/discovery/v3/ads.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/envoy/service/discovery/v3/discovery.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/envoy/service/load_stats/v3/lrs.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/envoy/service/status/v3/csds.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/envoy/type/http/v3/cookie.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/envoy/type/http/v3/path_transformation.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/filter_state.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/http_inputs.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/metadata.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/node.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/number.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/path.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/regex.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/status_code_input.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/string.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/struct.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/envoy/type/matcher/v3/value.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/envoy/type/metadata/v3/metadata.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/envoy/type/tracing/v3/custom_tag.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/envoy/type/v3/hash_policy.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/envoy/type/v3/http.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/envoy/type/v3/http_status.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/envoy/type/v3/percent.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/envoy/type/v3/range.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/envoy/type/v3/ratelimit_strategy.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/envoy/type/v3/ratelimit_unit.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/envoy/type/v3/semantic_version.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/envoy/type/v3/token_bucket.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/google/api/annotations.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/google/api/expr/v1alpha1/checked.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/google/api/expr/v1alpha1/syntax.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/google/api/http.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/google/api/httpbody.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/google/protobuf/any.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/google/protobuf/descriptor.upbdefs.c +385 -384
- data/src/core/ext/upbdefs-gen/google/protobuf/descriptor.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/google/protobuf/duration.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/google/protobuf/empty.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/google/protobuf/struct.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/google/protobuf/timestamp.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/google/protobuf/wrappers.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/google/rpc/status.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/opencensus/proto/trace/v1/trace_config.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/src/proto/grpc/lookup/v1/rls_config.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/udpa/annotations/migrate.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/udpa/annotations/security.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/udpa/annotations/sensitive.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/udpa/annotations/status.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/udpa/annotations/versioning.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/validate/validate.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/xds/annotations/v3/migrate.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/xds/annotations/v3/security.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/xds/annotations/v3/sensitive.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/xds/annotations/v3/status.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/xds/annotations/v3/versioning.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/xds/core/v3/authority.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/xds/core/v3/cidr.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/xds/core/v3/collection_entry.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/xds/core/v3/context_params.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/xds/core/v3/extension.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/xds/core/v3/resource.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/xds/core/v3/resource_locator.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/xds/core/v3/resource_name.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/cel.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/domain.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/http_inputs.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/ip.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/matcher.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/range.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/regex.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/xds/type/matcher/v3/string.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/xds/type/v3/cel.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/xds/type/v3/range.upbdefs.h +2 -5
- data/src/core/ext/upbdefs-gen/xds/type/v3/typed_struct.upbdefs.h +2 -5
- data/src/core/handshaker/endpoint_info/endpoint_info_handshaker.cc +80 -0
- data/src/core/handshaker/endpoint_info/endpoint_info_handshaker.h +37 -0
- data/src/core/{lib/transport → handshaker}/handshaker.cc +8 -6
- data/src/core/{lib/transport → handshaker}/handshaker.h +4 -5
- data/src/core/{lib/transport → handshaker}/handshaker_factory.h +20 -5
- 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 +5 -6
- 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 +9 -10
- data/src/core/{client_channel → handshaker/http_connect}/http_proxy_mapper.h +7 -7
- 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 +5 -5
- data/src/core/{lib/security/transport → handshaker/security}/secure_endpoint.h +4 -5
- data/src/core/{lib/security/transport → handshaker/security}/security_handshaker.cc +29 -20
- data/src/core/{lib/security/transport → handshaker/security}/security_handshaker.h +8 -7
- data/src/core/{lib/security/transport → handshaker/security}/tsi_error.cc +2 -2
- data/src/core/{lib/security/transport → handshaker/security}/tsi_error.h +3 -3
- data/src/core/{lib/transport → handshaker/tcp_connect}/tcp_connect_handshaker.cc +8 -8
- data/src/core/{lib/transport → handshaker/tcp_connect}/tcp_connect_handshaker.h +3 -3
- data/src/core/lib/address_utils/parse_address.cc +13 -4
- data/src/core/lib/address_utils/parse_address.h +2 -2
- data/src/core/lib/address_utils/sockaddr_utils.cc +23 -10
- data/src/core/lib/address_utils/sockaddr_utils.h +2 -2
- data/src/core/lib/avl/avl.h +2 -2
- 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 +3 -3
- data/src/core/lib/channel/call_tracer.cc +10 -11
- data/src/core/lib/channel/call_tracer.h +15 -14
- data/src/core/lib/channel/channel_args.cc +4 -4
- data/src/core/lib/channel/channel_args.h +1 -2
- 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 +17 -7
- data/src/core/lib/channel/channel_stack.h +6 -2
- data/src/core/lib/channel/channel_stack_builder.cc +2 -2
- data/src/core/lib/channel/channel_stack_builder.h +2 -2
- data/src/core/lib/channel/channel_stack_builder_impl.cc +135 -2
- data/src/core/lib/channel/channel_stack_builder_impl.h +2 -2
- data/src/core/lib/channel/channel_stack_trace.cc +2 -2
- data/src/core/lib/channel/connected_channel.cc +25 -43
- data/src/core/lib/channel/context.h +29 -1
- data/src/core/lib/channel/metrics.cc +334 -0
- data/src/core/lib/channel/metrics.h +365 -0
- data/src/core/lib/channel/promise_based_filter.cc +70 -75
- data/src/core/lib/channel/promise_based_filter.h +251 -154
- data/src/core/lib/channel/status_util.cc +2 -2
- data/src/core/lib/channel/status_util.h +1 -2
- data/src/core/lib/channel/tcp_tracer.h +6 -2
- data/src/core/lib/compression/compression.cc +1 -2
- data/src/core/lib/compression/compression_internal.cc +36 -3
- data/src/core/lib/compression/compression_internal.h +4 -2
- data/src/core/lib/compression/message_compress.cc +9 -8
- data/src/core/lib/compression/message_compress.h +1 -2
- data/src/core/lib/config/config_vars.cc +8 -6
- data/src/core/lib/config/config_vars.h +6 -2
- 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 +2 -2
- data/src/core/lib/debug/histogram_view.cc +2 -2
- data/src/core/lib/debug/histogram_view.h +2 -2
- data/src/core/lib/debug/stats.cc +2 -2
- data/src/core/lib/debug/stats.h +2 -2
- data/src/core/lib/debug/stats_data.cc +271 -28
- data/src/core/lib/debug/stats_data.h +178 -2
- data/src/core/lib/debug/trace.cc +1 -2
- data/src/core/lib/debug/trace.h +2 -2
- data/src/core/lib/event_engine/ares_resolver.cc +18 -19
- data/src/core/lib/event_engine/ares_resolver.h +2 -2
- data/src/core/lib/event_engine/cf_engine/cf_engine.cc +3 -1
- 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 +2 -1
- 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 -8
- 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 +1 -2
- data/src/core/lib/event_engine/event_engine_context.h +30 -0
- data/src/core/lib/event_engine/extensions/can_track_errors.h +2 -2
- data/src/core/lib/event_engine/extensions/chaotic_good_extension.h +65 -0
- data/src/core/lib/event_engine/extensions/supports_fd.h +1 -2
- data/src/core/lib/event_engine/forkable.cc +7 -6
- data/src/core/lib/event_engine/forkable.h +1 -2
- 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 +9 -2
- data/src/core/lib/event_engine/posix_engine/ev_epoll1_linux.cc +8 -8
- 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 +1 -2
- 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.h +2 -2
- data/src/core/lib/event_engine/posix_engine/posix_endpoint.cc +24 -25
- data/src/core/lib/event_engine/posix_engine/posix_endpoint.h +11 -11
- data/src/core/lib/event_engine/posix_engine/posix_engine.cc +10 -10
- data/src/core/lib/event_engine/posix_engine/posix_engine.h +1 -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 +4 -3
- 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 +7 -6
- 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 +10 -3
- data/src/core/lib/event_engine/posix_engine/tcp_socket_utils.h +3 -3
- data/src/core/lib/event_engine/posix_engine/timer.cc +1 -2
- 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 +5 -5
- 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 +1 -2
- 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 +2 -2
- 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 +20 -9
- data/src/core/lib/event_engine/tcp_socket_utils.h +3 -4
- data/src/core/lib/event_engine/thread_local.cc +2 -2
- data/src/core/lib/event_engine/thread_pool/thread_count.cc +1 -2
- data/src/core/lib/event_engine/thread_pool/thread_count.h +1 -2
- 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 +8 -8
- data/src/core/lib/event_engine/thread_pool/work_stealing_thread_pool.h +1 -2
- data/src/core/lib/event_engine/thready_event_engine/thready_event_engine.cc +2 -2
- data/src/core/lib/event_engine/thready_event_engine/thready_event_engine.h +1 -2
- 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.cc +2 -2
- data/src/core/lib/event_engine/trace.h +1 -2
- 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/win_socket.cc +11 -5
- data/src/core/lib/event_engine/windows/win_socket.h +3 -0
- data/src/core/lib/event_engine/windows/windows_endpoint.cc +13 -12
- data/src/core/lib/event_engine/windows/windows_engine.cc +48 -14
- data/src/core/lib/event_engine/windows/windows_listener.cc +61 -12
- data/src/core/lib/event_engine/windows/windows_listener.h +14 -0
- 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 +66 -48
- data/src/core/lib/experiments/config.h +2 -2
- data/src/core/lib/experiments/experiments.cc +42 -246
- data/src/core/lib/experiments/experiments.h +26 -124
- data/src/core/lib/gpr/alloc.cc +3 -1
- data/src/core/lib/gpr/android/log.cc +1 -1
- data/src/core/lib/gpr/linux/log.cc +1 -1
- data/src/core/lib/gpr/log.cc +26 -0
- data/src/core/lib/gpr/posix/log.cc +1 -1
- data/src/core/lib/gpr/posix/sync.cc +25 -23
- data/src/core/lib/gpr/posix/time.cc +9 -66
- data/src/core/lib/gpr/posix/tmpfile.cc +3 -1
- data/src/core/lib/gpr/sync.cc +5 -3
- data/src/core/lib/gpr/time.cc +10 -8
- data/src/core/lib/gpr/windows/log.cc +1 -1
- data/src/core/lib/gpr/windows/sync.cc +3 -1
- data/src/core/lib/gpr/windows/time.cc +4 -1
- data/src/core/lib/gprpp/atomic_utils.h +2 -2
- data/src/core/lib/gprpp/bitset.h +2 -2
- 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 +1 -2
- 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 +7 -7
- data/src/core/lib/gprpp/dual_ref_counted.h +26 -17
- 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/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 +4 -3
- 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 +7 -4
- data/src/core/lib/gprpp/overload.h +2 -2
- data/src/core/lib/gprpp/per_cpu.cc +1 -2
- 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 +6 -4
- data/src/core/lib/gprpp/posix/thd.cc +10 -10
- data/src/core/lib/gprpp/ref_counted.h +10 -6
- data/src/core/lib/gprpp/ref_counted_ptr.h +4 -3
- 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 +4 -3
- 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 +3 -3
- data/src/core/lib/gprpp/status_helper.h +2 -2
- 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 +6 -6
- data/src/core/lib/gprpp/time.h +7 -2
- 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 +2 -2
- data/src/core/lib/gprpp/uuid_v4.cc +37 -0
- data/src/core/lib/gprpp/uuid_v4.h +36 -0
- data/src/core/lib/gprpp/validation_errors.cc +2 -2
- data/src/core/lib/gprpp/validation_errors.h +2 -2
- data/src/core/lib/gprpp/windows/stat.cc +4 -2
- data/src/core/lib/gprpp/windows/thd.cc +4 -2
- data/src/core/lib/gprpp/work_serializer.cc +5 -5
- data/src/core/lib/gprpp/work_serializer.h +1 -2
- data/src/core/lib/http/format_request.cc +1 -2
- data/src/core/lib/http/format_request.h +1 -2
- data/src/core/lib/http/httpcli.cc +6 -6
- data/src/core/lib/http/httpcli.h +2 -3
- data/src/core/lib/http/httpcli_security_connector.cc +4 -4
- data/src/core/lib/http/httpcli_ssl_credentials.h +1 -2
- data/src/core/lib/http/parser.cc +5 -5
- data/src/core/lib/http/parser.h +1 -2
- data/src/core/lib/iomgr/buffer_list.cc +1 -2
- data/src/core/lib/iomgr/buffer_list.h +1 -2
- data/src/core/lib/iomgr/call_combiner.cc +5 -4
- data/src/core/lib/iomgr/call_combiner.h +1 -2
- data/src/core/lib/iomgr/closure.cc +2 -2
- data/src/core/lib/iomgr/closure.h +4 -3
- data/src/core/lib/iomgr/combiner.cc +7 -6
- data/src/core/lib/iomgr/combiner.h +1 -2
- data/src/core/lib/iomgr/endpoint.cc +2 -2
- data/src/core/lib/iomgr/endpoint.h +1 -2
- data/src/core/lib/iomgr/endpoint_cfstream.cc +7 -5
- data/src/core/lib/iomgr/endpoint_pair_posix.cc +5 -4
- data/src/core/lib/iomgr/endpoint_pair_windows.cc +11 -10
- data/src/core/lib/iomgr/error.cc +3 -3
- data/src/core/lib/iomgr/error.h +3 -3
- data/src/core/lib/iomgr/ev_epoll1_linux.cc +14 -13
- data/src/core/lib/iomgr/ev_poll_posix.cc +9 -9
- data/src/core/lib/iomgr/ev_posix.cc +1 -2
- data/src/core/lib/iomgr/ev_posix.h +2 -2
- data/src/core/lib/iomgr/event_engine_shims/closure.cc +1 -2
- data/src/core/lib/iomgr/event_engine_shims/closure.h +1 -2
- data/src/core/lib/iomgr/event_engine_shims/endpoint.cc +3 -3
- 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 +5 -5
- data/src/core/lib/iomgr/exec_ctx.h +6 -4
- data/src/core/lib/iomgr/executor.cc +7 -8
- data/src/core/lib/iomgr/grpc_if_nametoindex.h +2 -2
- data/src/core/lib/iomgr/internal_errqueue.cc +1 -2
- data/src/core/lib/iomgr/iocp_windows.cc +9 -6
- data/src/core/lib/iomgr/iocp_windows.h +0 -1
- data/src/core/lib/iomgr/iomgr.cc +1 -2
- 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 +4 -3
- 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 -1
- 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.h +0 -1
- data/src/core/lib/iomgr/port.h +3 -0
- 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.h +2 -2
- 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.h +1 -2
- data/src/core/lib/iomgr/socket_mutator.cc +1 -2
- 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 +3 -1
- 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 +4 -3
- 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_posix.cc +5 -4
- data/src/core/lib/iomgr/tcp_client_windows.cc +31 -10
- data/src/core/lib/iomgr/tcp_posix.cc +89 -41
- 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 +123 -109
- data/src/core/lib/iomgr/tcp_server_utils_posix.h +2 -2
- data/src/core/lib/iomgr/tcp_server_utils_posix_common.cc +6 -6
- data/src/core/lib/iomgr/tcp_server_utils_posix_ifaddrs.cc +2 -1
- data/src/core/lib/iomgr/tcp_server_windows.cc +75 -23
- data/src/core/lib/iomgr/tcp_windows.cc +8 -6
- 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 +3 -3
- data/src/core/lib/iomgr/timer_generic.h +0 -1
- data/src/core/lib/iomgr/timer_heap.cc +1 -2
- data/src/core/lib/iomgr/timer_manager.cc +4 -3
- data/src/core/lib/iomgr/timer_manager.h +2 -2
- data/src/core/lib/iomgr/unix_sockets_posix.cc +15 -1
- 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 +2 -2
- data/src/core/lib/iomgr/vsock.h +1 -2
- data/src/core/lib/json/json.h +1 -2
- data/src/core/lib/json/json_args.h +2 -2
- data/src/core/lib/json/json_channel_args.h +2 -2
- data/src/core/lib/json/json_object_loader.cc +1 -2
- data/src/core/lib/json/json_object_loader.h +2 -2
- data/src/core/lib/json/json_reader.cc +4 -4
- data/src/core/lib/json/json_reader.h +2 -2
- data/src/core/lib/json/json_util.cc +2 -2
- data/src/core/lib/json/json_util.h +2 -2
- data/src/core/lib/json/json_writer.cc +2 -2
- data/src/core/lib/json/json_writer.h +2 -2
- 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 +8 -7
- 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/context.h +5 -5
- data/src/core/lib/promise/detail/join_state.h +11 -10
- data/src/core/lib/promise/detail/promise_factory.h +2 -2
- data/src/core/lib/promise/detail/promise_like.h +2 -2
- data/src/core/lib/promise/detail/seq_state.h +194 -194
- 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 +88 -27
- data/src/core/lib/promise/if.h +2 -2
- data/src/core/lib/promise/interceptor_list.h +3 -3
- data/src/core/lib/promise/latch.h +8 -8
- data/src/core/lib/promise/loop.h +2 -2
- data/src/core/lib/promise/map.h +2 -2
- data/src/core/lib/promise/party.cc +45 -15
- data/src/core/lib/promise/party.h +21 -23
- data/src/core/lib/promise/pipe.h +15 -15
- 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 +2 -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 +2 -3
- data/src/core/lib/promise/sleep.h +1 -2
- data/src/core/lib/promise/status_flag.h +16 -8
- data/src/core/lib/promise/trace.cc +2 -2
- 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 +1 -2
- data/src/core/lib/resource_quota/arena.h +4 -2
- data/src/core/lib/resource_quota/connection_quota.cc +70 -0
- data/src/core/lib/resource_quota/connection_quota.h +61 -0
- data/src/core/lib/resource_quota/memory_quota.cc +11 -11
- data/src/core/lib/resource_quota/memory_quota.h +4 -4
- data/src/core/lib/resource_quota/periodic_update.cc +2 -2
- 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 +1 -2
- 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/resource_quota/trace.cc +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 +1 -2
- data/src/core/lib/security/authorization/authorization_policy_provider_vtable.cc +1 -2
- data/src/core/lib/security/authorization/evaluate_args.cc +7 -7
- data/src/core/lib/security/authorization/evaluate_args.h +4 -5
- 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 +8 -12
- data/src/core/lib/security/authorization/grpc_server_authz_filter.h +7 -9
- data/src/core/lib/security/authorization/matchers.cc +1 -2
- 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 +2 -2
- data/src/core/lib/security/certificate_provider/certificate_provider_registry.cc +4 -3
- data/src/core/lib/security/certificate_provider/certificate_provider_registry.h +2 -2
- data/src/core/lib/security/context/security_context.cc +5 -3
- data/src/core/lib/security/context/security_context.h +2 -2
- data/src/core/lib/security/credentials/alts/alts_credentials.cc +1 -2
- data/src/core/lib/security/credentials/alts/alts_credentials.h +2 -2
- data/src/core/lib/security/credentials/alts/check_gcp_environment.cc +1 -2
- data/src/core/lib/security/credentials/alts/grpc_alts_credentials_client_options.cc +1 -2
- data/src/core/lib/security/credentials/alts/grpc_alts_credentials_options.cc +1 -2
- 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 +1 -2
- data/src/core/lib/security/credentials/call_creds_util.h +2 -2
- data/src/core/lib/security/credentials/channel_creds_registry.h +2 -2
- data/src/core/lib/security/credentials/channel_creds_registry_init.cc +2 -2
- data/src/core/lib/security/credentials/composite/composite_credentials.cc +9 -8
- data/src/core/lib/security/credentials/composite/composite_credentials.h +2 -2
- data/src/core/lib/security/credentials/credentials.cc +4 -3
- data/src/core/lib/security/credentials/credentials.h +5 -4
- data/src/core/lib/security/credentials/external/aws_external_account_credentials.cc +5 -4
- data/src/core/lib/security/credentials/external/aws_external_account_credentials.h +2 -2
- 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 +7 -6
- data/src/core/lib/security/credentials/external/external_account_credentials.h +2 -2
- data/src/core/lib/security/credentials/external/file_external_account_credentials.cc +1 -2
- 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 +4 -3
- data/src/core/lib/security/credentials/external/url_external_account_credentials.h +2 -2
- data/src/core/lib/security/credentials/fake/fake_credentials.cc +2 -2
- data/src/core/lib/security/credentials/fake/fake_credentials.h +2 -2
- data/src/core/lib/security/credentials/google_default/credentials_generic.cc +1 -2
- data/src/core/lib/security/credentials/google_default/google_default_credentials.cc +8 -7
- data/src/core/lib/security/credentials/google_default/google_default_credentials.h +2 -2
- data/src/core/lib/security/credentials/iam/iam_credentials.cc +5 -5
- data/src/core/lib/security/credentials/iam/iam_credentials.h +2 -2
- 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 +13 -8
- data/src/core/lib/security/credentials/jwt/json_token.h +1 -2
- data/src/core/lib/security/credentials/jwt/jwt_credentials.cc +4 -3
- data/src/core/lib/security/credentials/jwt/jwt_credentials.h +2 -2
- data/src/core/lib/security/credentials/jwt/jwt_verifier.cc +26 -31
- data/src/core/lib/security/credentials/jwt/jwt_verifier.h +1 -2
- data/src/core/lib/security/credentials/local/local_credentials.cc +1 -2
- data/src/core/lib/security/credentials/local/local_credentials.h +2 -2
- data/src/core/lib/security/credentials/oauth2/oauth2_credentials.cc +9 -8
- data/src/core/lib/security/credentials/oauth2/oauth2_credentials.h +2 -2
- data/src/core/lib/security/credentials/plugin/plugin_credentials.cc +3 -3
- data/src/core/lib/security/credentials/plugin/plugin_credentials.h +2 -2
- data/src/core/lib/security/credentials/ssl/ssl_credentials.cc +13 -13
- data/src/core/lib/security/credentials/ssl/ssl_credentials.h +5 -3
- 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 +7 -6
- data/src/core/lib/security/credentials/tls/grpc_tls_certificate_provider.h +3 -3
- 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 +4 -3
- data/src/core/lib/security/credentials/tls/grpc_tls_credentials_options.cc +19 -18
- 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 +19 -12
- data/src/core/lib/security/credentials/tls/grpc_tls_crl_provider.h +8 -5
- data/src/core/lib/security/credentials/tls/tls_credentials.cc +1 -2
- data/src/core/lib/security/credentials/tls/tls_credentials.h +2 -2
- data/src/core/lib/security/credentials/tls/tls_utils.cc +1 -2
- data/src/core/lib/security/credentials/tls/tls_utils.h +1 -2
- data/src/core/lib/security/credentials/xds/xds_credentials.cc +7 -7
- data/src/core/lib/security/credentials/xds/xds_credentials.h +3 -3
- data/src/core/lib/security/security_connector/alts/alts_security_connector.cc +14 -14
- 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 +5 -5
- 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 +4 -2
- data/src/core/lib/security/security_connector/load_system_roots_fallback.cc +3 -2
- data/src/core/lib/security/security_connector/load_system_roots_supported.cc +2 -2
- 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 +87 -0
- data/src/core/lib/security/security_connector/local/local_security_connector.cc +11 -11
- data/src/core/lib/security/security_connector/local/local_security_connector.h +2 -2
- data/src/core/lib/security/security_connector/security_connector.cc +7 -6
- data/src/core/lib/security/security_connector/security_connector.h +3 -3
- data/src/core/lib/security/security_connector/ssl/ssl_security_connector.cc +6 -6
- data/src/core/lib/security/security_connector/ssl/ssl_security_connector.h +2 -2
- data/src/core/lib/security/security_connector/ssl_utils.cc +10 -9
- data/src/core/lib/security/security_connector/ssl_utils.h +1 -2
- data/src/core/lib/security/security_connector/tls/tls_security_connector.cc +13 -13
- data/src/core/lib/security/security_connector/tls/tls_security_connector.h +3 -3
- data/src/core/lib/security/transport/auth_filters.h +11 -36
- data/src/core/lib/security/transport/client_auth_filter.cc +6 -5
- data/src/core/lib/security/transport/server_auth_filter.cc +7 -5
- data/src/core/lib/security/util/json_util.cc +1 -2
- data/src/core/lib/slice/percent_encoding.cc +4 -3
- data/src/core/lib/slice/slice.cc +42 -15
- data/src/core/lib/slice/slice.h +4 -4
- data/src/core/lib/slice/slice_buffer.cc +64 -25
- data/src/core/lib/slice/slice_buffer.h +15 -3
- data/src/core/lib/slice/slice_internal.h +10 -3
- data/src/core/lib/slice/slice_refcount.cc +2 -2
- data/src/core/lib/slice/slice_refcount.h +1 -2
- data/src/core/lib/slice/slice_string_helpers.cc +2 -2
- data/src/core/lib/slice/slice_string_helpers.h +1 -2
- data/src/core/lib/surface/api_trace.cc +2 -2
- data/src/core/lib/surface/api_trace.h +1 -2
- 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 +212 -339
- data/src/core/lib/surface/call.h +181 -11
- data/src/core/lib/surface/call_details.cc +1 -2
- data/src/core/lib/surface/call_log_batch.cc +1 -2
- data/src/core/lib/surface/call_test_only.h +1 -2
- data/src/core/lib/surface/call_trace.h +0 -6
- data/src/core/lib/surface/channel.cc +111 -321
- data/src/core/lib/surface/channel.h +90 -110
- data/src/core/lib/surface/channel_create.cc +110 -0
- data/src/core/lib/surface/{builtins.cc → channel_create.h} +21 -16
- data/src/core/lib/surface/channel_init.cc +13 -12
- data/src/core/lib/surface/channel_init.h +31 -10
- data/src/core/lib/surface/channel_stack_type.cc +2 -2
- data/src/core/lib/surface/completion_queue.cc +17 -18
- data/src/core/lib/surface/completion_queue.h +1 -2
- 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/init.cc +10 -16
- data/src/core/lib/surface/init_internally.cc +2 -2
- data/src/core/lib/surface/lame_client.cc +12 -40
- data/src/core/lib/surface/lame_client.h +13 -13
- data/src/core/lib/surface/legacy_channel.cc +414 -0
- data/src/core/lib/surface/legacy_channel.h +123 -0
- data/src/core/lib/surface/metadata_array.cc +1 -2
- 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/surface/wait_for_cq_end_op.cc +2 -2
- data/src/core/lib/transport/batch_builder.cc +14 -21
- data/src/core/lib/transport/batch_builder.h +6 -10
- data/src/core/lib/transport/bdp_estimator.cc +5 -3
- data/src/core/lib/transport/bdp_estimator.h +4 -4
- 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} +26 -5
- data/src/core/lib/transport/call_filters.cc +143 -28
- data/src/core/lib/transport/call_filters.h +412 -63
- 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 +18 -19
- data/src/core/lib/transport/call_spine.h +393 -190
- data/src/core/lib/transport/connectivity_state.cc +1 -2
- data/src/core/lib/transport/connectivity_state.h +1 -2
- 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/message.cc +1 -2
- data/src/core/lib/transport/metadata.cc +3 -3
- data/src/core/lib/transport/metadata_batch.cc +68 -7
- data/src/core/lib/transport/metadata_batch.h +45 -20
- data/src/core/lib/transport/metadata_compression_traits.h +2 -2
- data/src/core/lib/transport/metadata_info.cc +55 -0
- data/src/core/lib/transport/metadata_info.h +85 -0
- 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 +1 -2
- data/src/core/lib/transport/transport.h +41 -38
- data/src/core/lib/transport/transport_op_string.cc +1 -10
- 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 +3 -3
- data/src/core/load_balancing/address_filtering.h +3 -3
- data/src/core/load_balancing/backend_metric_data.h +2 -2
- data/src/core/{client_channel/backend_metric.cc → load_balancing/backend_metric_parser.cc} +3 -3
- data/src/core/{client_channel/backend_metric.h → load_balancing/backend_metric_parser.h} +5 -5
- data/src/core/load_balancing/child_policy_handler.cc +7 -7
- data/src/core/load_balancing/child_policy_handler.h +2 -2
- data/src/core/load_balancing/delegating_helper.h +10 -3
- data/src/core/load_balancing/endpoint_list.cc +7 -9
- data/src/core/load_balancing/endpoint_list.h +15 -9
- data/src/core/load_balancing/grpclb/client_load_reporting_filter.cc +28 -30
- data/src/core/load_balancing/grpclb/client_load_reporting_filter.h +21 -8
- data/src/core/load_balancing/grpclb/grpclb.cc +65 -70
- data/src/core/load_balancing/grpclb/grpclb_balancer_addresses.cc +2 -2
- 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 +2 -3
- data/src/core/load_balancing/grpclb/load_balancer_api.cc +1 -2
- data/src/core/load_balancing/grpclb/load_balancer_api.h +2 -3
- data/src/core/load_balancing/health_check_client.cc +10 -11
- data/src/core/load_balancing/health_check_client.h +2 -2
- data/src/core/load_balancing/health_check_client_internal.h +5 -7
- data/src/core/load_balancing/lb_policy.cc +2 -2
- data/src/core/load_balancing/lb_policy.h +14 -6
- data/src/core/load_balancing/lb_policy_factory.h +2 -2
- data/src/core/load_balancing/lb_policy_registry.cc +3 -3
- data/src/core/load_balancing/lb_policy_registry.h +4 -4
- data/src/core/load_balancing/oob_backend_metric.cc +10 -11
- data/src/core/load_balancing/oob_backend_metric.h +3 -3
- data/src/core/load_balancing/oob_backend_metric_internal.h +7 -8
- data/src/core/load_balancing/outlier_detection/outlier_detection.cc +32 -32
- data/src/core/load_balancing/outlier_detection/outlier_detection.h +2 -2
- data/src/core/load_balancing/pick_first/pick_first.cc +1152 -245
- data/src/core/load_balancing/priority/priority.cc +23 -17
- data/src/core/load_balancing/ring_hash/ring_hash.cc +42 -25
- data/src/core/load_balancing/ring_hash/ring_hash.h +3 -3
- data/src/core/load_balancing/rls/rls.cc +225 -95
- data/src/core/load_balancing/rls/rls.h +26 -0
- data/src/core/load_balancing/round_robin/round_robin.cc +33 -477
- data/src/core/load_balancing/subchannel_interface.h +4 -4
- 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 +3 -3
- data/src/core/load_balancing/weighted_round_robin/weighted_round_robin.cc +203 -988
- data/src/core/load_balancing/weighted_target/weighted_target.cc +20 -17
- data/src/core/load_balancing/weighted_target/weighted_target.h +28 -0
- data/src/core/load_balancing/xds/cds.cc +19 -20
- data/src/core/load_balancing/xds/xds_cluster_impl.cc +113 -67
- data/src/core/load_balancing/xds/xds_cluster_manager.cc +8 -9
- data/src/core/load_balancing/xds/xds_override_host.cc +21 -21
- data/src/core/load_balancing/xds/xds_override_host.h +3 -3
- data/src/core/load_balancing/xds/xds_wrr_locality.cc +11 -11
- data/src/core/plugin_registry/grpc_plugin_registry.cc +23 -9
- data/src/core/plugin_registry/grpc_plugin_registry_extra.cc +1 -3
- data/src/core/resolver/binder/binder_resolver.cc +12 -5
- data/src/core/resolver/dns/c_ares/dns_resolver_ares.cc +13 -13
- 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 +6 -5
- data/src/core/resolver/dns/c_ares/grpc_ares_ev_driver_windows.cc +38 -37
- data/src/core/resolver/dns/c_ares/grpc_ares_wrapper.cc +14 -14
- data/src/core/resolver/dns/c_ares/grpc_ares_wrapper.h +1 -2
- 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 +1 -1
- data/src/core/resolver/dns/dns_resolver_plugin.cc +4 -5
- data/src/core/resolver/dns/event_engine/event_engine_client_channel_resolver.cc +7 -7
- data/src/core/resolver/dns/event_engine/event_engine_client_channel_resolver.h +6 -4
- data/src/core/resolver/dns/event_engine/service_config_helper.cc +2 -2
- data/src/core/resolver/dns/event_engine/service_config_helper.h +2 -2
- data/src/core/resolver/dns/native/dns_resolver.cc +6 -7
- data/src/core/resolver/endpoint_addresses.cc +4 -4
- data/src/core/resolver/endpoint_addresses.h +6 -6
- data/src/core/resolver/fake/fake_resolver.cc +6 -6
- data/src/core/resolver/fake/fake_resolver.h +2 -3
- data/src/core/resolver/google_c2p/google_c2p_resolver.cc +18 -13
- data/src/core/resolver/polling_resolver.cc +5 -5
- data/src/core/resolver/polling_resolver.h +1 -2
- data/src/core/resolver/resolver.cc +2 -2
- data/src/core/resolver/resolver.h +2 -2
- data/src/core/resolver/resolver_factory.h +3 -3
- data/src/core/resolver/resolver_registry.cc +5 -5
- data/src/core/resolver/resolver_registry.h +5 -5
- data/src/core/resolver/sockaddr/sockaddr_resolver.cc +8 -9
- data/src/core/resolver/xds/xds_dependency_manager.cc +19 -13
- data/src/core/resolver/xds/xds_dependency_manager.h +12 -12
- data/src/core/resolver/xds/xds_resolver.cc +36 -40
- data/src/core/resolver/xds/xds_resolver_attributes.h +3 -3
- data/src/core/resolver/xds/xds_resolver_trace.cc +2 -2
- data/src/core/{lib/surface → server}/server.cc +81 -94
- data/src/core/{lib/surface → server}/server.h +16 -13
- data/src/core/{lib/channel → server}/server_call_tracer_filter.cc +10 -5
- data/src/core/{lib/surface/builtins.h → server/server_call_tracer_filter.h} +7 -5
- data/src/core/{ext/filters/server_config_selector → server}/server_config_selector.h +5 -5
- data/src/core/{ext/filters/server_config_selector → server}/server_config_selector_filter.cc +37 -37
- data/src/core/{ext/filters/server_config_selector → server}/server_config_selector_filter.h +3 -3
- data/src/core/server/server_interface.h +43 -0
- data/src/core/{ext/xds → server}/xds_channel_stack_modifier.cc +3 -3
- data/src/core/{ext/xds → server}/xds_channel_stack_modifier.h +6 -6
- data/src/core/{ext/xds → server}/xds_server_config_fetcher.cc +43 -41
- data/src/core/service_config/service_config.h +1 -2
- data/src/core/service_config/service_config_call_data.h +2 -2
- data/src/core/{client_channel → service_config}/service_config_channel_arg_filter.cc +7 -8
- data/src/core/service_config/service_config_impl.cc +2 -2
- data/src/core/service_config/service_config_impl.h +3 -3
- data/src/core/service_config/service_config_parser.cc +1 -2
- data/src/core/service_config/service_config_parser.h +3 -3
- 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 +1 -2
- 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 +44 -41
- 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 +23 -20
- data/src/core/tsi/alts/handshaker/alts_tsi_handshaker.h +1 -2
- data/src/core/tsi/alts/handshaker/alts_tsi_utils.cc +5 -4
- data/src/core/tsi/alts/handshaker/alts_tsi_utils.h +1 -2
- data/src/core/tsi/alts/handshaker/transport_security_common_api.cc +2 -2
- 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 +5 -4
- 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 +1 -2
- 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 +9 -5
- 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 +5 -4
- 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 +6 -4
- data/src/core/tsi/local_transport_security.cc +1 -2
- data/src/core/tsi/local_transport_security.h +1 -2
- data/src/core/tsi/ssl/key_logging/ssl_key_logging.cc +7 -6
- 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 +11 -10
- 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 +218 -89
- data/src/core/tsi/ssl_transport_security.h +1 -2
- data/src/core/tsi/ssl_transport_security_utils.cc +138 -10
- data/src/core/tsi/ssl_transport_security_utils.h +28 -2
- data/src/core/tsi/ssl_types.h +2 -2
- data/src/core/tsi/transport_security.cc +1 -2
- data/src/core/tsi/transport_security.h +2 -2
- 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 -2
- data/src/core/{ext/xds → xds/grpc}/certificate_provider_store.cc +2 -3
- data/src/core/{ext/xds → xds/grpc}/certificate_provider_store.h +7 -7
- data/src/core/{ext/xds → xds/grpc}/file_watcher_certificate_provider_factory.cc +2 -3
- data/src/core/{ext/xds → xds/grpc}/file_watcher_certificate_provider_factory.h +6 -7
- data/src/core/{ext/xds → xds/grpc}/upb_utils.h +5 -5
- data/src/core/{ext/xds → xds/grpc}/xds_audit_logger_registry.cc +6 -5
- 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 +40 -9
- data/src/core/{ext/xds → xds/grpc}/xds_bootstrap_grpc.h +33 -18
- data/src/core/{ext/xds → xds/grpc}/xds_certificate_provider.cc +7 -7
- data/src/core/{ext/xds → xds/grpc}/xds_certificate_provider.h +5 -6
- data/src/core/{ext/xds → xds/grpc}/xds_client_grpc.cc +208 -66
- data/src/core/{ext/xds → xds/grpc}/xds_client_grpc.h +30 -17
- data/src/core/{ext/xds → xds/grpc}/xds_cluster.cc +27 -18
- data/src/core/{ext/xds → xds/grpc}/xds_cluster.h +16 -14
- data/src/core/{ext/xds → xds/grpc}/xds_cluster_specifier_plugin.cc +4 -4
- data/src/core/{ext/xds → xds/grpc}/xds_cluster_specifier_plugin.h +8 -8
- data/src/core/{ext/xds → xds/grpc}/xds_common_types.cc +5 -6
- data/src/core/{ext/xds → xds/grpc}/xds_common_types.h +6 -6
- data/src/core/{ext/xds → xds/grpc}/xds_endpoint.cc +10 -9
- data/src/core/{ext/xds → xds/grpc}/xds_endpoint.h +11 -11
- data/src/core/{ext/xds → xds/grpc}/xds_health_status.cc +3 -3
- data/src/core/{ext/xds → xds/grpc}/xds_health_status.h +7 -7
- data/src/core/{ext/xds → xds/grpc}/xds_http_fault_filter.cc +4 -5
- data/src/core/{ext/xds → xds/grpc}/xds_http_fault_filter.h +9 -9
- 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 +6 -7
- data/src/core/{ext/xds → xds/grpc}/xds_http_rbac_filter.h +9 -9
- data/src/core/{ext/xds → xds/grpc}/xds_http_stateful_session_filter.cc +5 -6
- data/src/core/{ext/xds → xds/grpc}/xds_http_stateful_session_filter.h +9 -9
- data/src/core/{ext/xds → xds/grpc}/xds_lb_policy_registry.cc +8 -9
- data/src/core/{ext/xds → xds/grpc}/xds_lb_policy_registry.h +7 -7
- data/src/core/{ext/xds → xds/grpc}/xds_listener.cc +8 -8
- data/src/core/{ext/xds → xds/grpc}/xds_listener.h +13 -13
- data/src/core/{ext/xds → xds/grpc}/xds_route_config.cc +16 -16
- data/src/core/{ext/xds → xds/grpc}/xds_route_config.h +12 -12
- data/src/core/{ext/xds → xds/grpc}/xds_routing.cc +6 -6
- data/src/core/{ext/xds → xds/grpc}/xds_routing.h +9 -9
- data/src/core/{ext/xds → xds/grpc}/xds_transport_grpc.cc +31 -46
- data/src/core/{ext/xds → xds/grpc}/xds_transport_grpc.h +12 -13
- data/src/core/{ext/xds → xds/xds_client}/xds_api.cc +4 -5
- data/src/core/{ext/xds → xds/xds_client}/xds_api.h +8 -8
- data/src/core/{ext/xds → xds/xds_client}/xds_bootstrap.cc +3 -3
- data/src/core/{ext/xds → xds/xds_client}/xds_bootstrap.h +7 -9
- 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 +304 -120
- data/src/core/{ext/xds → xds/xds_client}/xds_client.h +50 -18
- data/src/core/{ext/xds → xds/xds_client}/xds_client_stats.cc +5 -6
- data/src/core/{ext/xds → xds/xds_client}/xds_client_stats.h +20 -13
- data/src/core/xds/xds_client/xds_metrics.h +41 -0
- 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/ext/grpc/extconf.rb +0 -3
- 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_grpc.c +1 -0
- data/src/ruby/ext/grpc/rb_grpc_imports.generated.c +130 -132
- data/src/ruby/ext/grpc/rb_grpc_imports.generated.h +196 -198
- data/src/ruby/ext/grpc/rb_server.c +1 -0
- 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/generic/active_call.rb +8 -2
- data/src/ruby/lib/grpc/version.rb +1 -1
- data/src/ruby/spec/generic/rpc_server_spec.rb +25 -0
- data/third_party/abseil-cpp/absl/debugging/internal/examine_stack.cc +320 -0
- data/third_party/abseil-cpp/absl/debugging/internal/examine_stack.h +64 -0
- data/third_party/abseil-cpp/absl/log/absl_vlog_is_on.h +93 -0
- data/third_party/abseil-cpp/absl/log/check.h +209 -0
- data/third_party/abseil-cpp/absl/log/globals.cc +178 -0
- data/third_party/abseil-cpp/absl/log/globals.h +218 -0
- data/third_party/abseil-cpp/absl/log/internal/append_truncated.h +47 -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/abseil-cpp/absl/log/internal/conditions.cc +83 -0
- data/third_party/abseil-cpp/absl/log/internal/conditions.h +239 -0
- data/third_party/abseil-cpp/absl/log/internal/config.h +45 -0
- data/third_party/abseil-cpp/absl/log/internal/fnmatch.cc +73 -0
- data/third_party/abseil-cpp/absl/log/internal/fnmatch.h +35 -0
- data/third_party/abseil-cpp/absl/log/internal/globals.cc +145 -0
- data/third_party/abseil-cpp/absl/log/internal/globals.h +101 -0
- data/third_party/abseil-cpp/absl/log/internal/log_format.cc +205 -0
- data/third_party/abseil-cpp/absl/log/internal/log_format.h +78 -0
- data/third_party/abseil-cpp/absl/log/internal/log_impl.h +282 -0
- data/third_party/abseil-cpp/absl/log/internal/log_message.cc +633 -0
- data/third_party/abseil-cpp/absl/log/internal/log_message.h +375 -0
- data/third_party/abseil-cpp/absl/log/internal/log_sink_set.cc +296 -0
- data/third_party/abseil-cpp/absl/log/internal/log_sink_set.h +54 -0
- data/third_party/abseil-cpp/absl/log/internal/nullguard.cc +35 -0
- data/third_party/abseil-cpp/absl/log/internal/nullguard.h +88 -0
- data/third_party/abseil-cpp/absl/log/internal/nullstream.h +136 -0
- data/third_party/abseil-cpp/absl/log/internal/proto.cc +220 -0
- data/third_party/abseil-cpp/absl/log/internal/proto.h +288 -0
- data/third_party/abseil-cpp/absl/log/internal/strip.h +72 -0
- data/third_party/abseil-cpp/absl/log/internal/vlog_config.cc +340 -0
- data/third_party/abseil-cpp/absl/log/internal/vlog_config.h +163 -0
- data/third_party/abseil-cpp/absl/log/internal/voidify.h +44 -0
- data/third_party/abseil-cpp/absl/log/log.h +361 -0
- data/third_party/abseil-cpp/absl/log/log_entry.cc +41 -0
- data/third_party/abseil-cpp/absl/log/log_entry.h +221 -0
- data/third_party/abseil-cpp/absl/log/log_sink.cc +23 -0
- data/third_party/abseil-cpp/absl/log/log_sink.h +64 -0
- data/third_party/abseil-cpp/absl/log/log_sink_registry.h +61 -0
- data/third_party/abseil-cpp/absl/log/vlog_is_on.h +72 -0
- data/third_party/boringssl-with-bazel/src/crypto/asn1/internal.h +1 -7
- data/third_party/boringssl-with-bazel/src/crypto/asn1/posix_time.c +50 -39
- data/third_party/boringssl-with-bazel/src/crypto/bio/bio.c +3 -8
- data/third_party/boringssl-with-bazel/src/crypto/bio/file.c +25 -10
- data/third_party/boringssl-with-bazel/src/crypto/bytestring/cbs.c +0 -13
- 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_des.c +63 -94
- 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/curve25519/curve25519.c +7 -7
- data/third_party/boringssl-with-bazel/src/crypto/curve25519/internal.h +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/des/des.c +45 -32
- data/third_party/boringssl-with-bazel/src/crypto/des/internal.h +24 -0
- data/third_party/boringssl-with-bazel/src/crypto/digest_extra/digest_extra.c +1 -0
- data/third_party/boringssl-with-bazel/src/crypto/dsa/dsa.c +26 -17
- data/third_party/boringssl-with-bazel/src/crypto/dsa/dsa_asn1.c +3 -2
- 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/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 +1 -1
- 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/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/scalar.c +5 -1
- 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/service_indicator/service_indicator.c +3 -6
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/internal.h +73 -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 +4 -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 +45 -21
- data/third_party/boringssl-with-bazel/src/crypto/kyber/internal.h +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/kyber/kyber.c +1 -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 +8 -1
- 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_purp.c +40 -61
- data/third_party/boringssl-with-bazel/src/crypto/x509/x509_lu.c +24 -7
- data/third_party/boringssl-with-bazel/src/crypto/x509/x509_trs.c +51 -78
- data/third_party/boringssl-with-bazel/src/crypto/x509/x509_vfy.c +5 -12
- data/third_party/boringssl-with-bazel/src/crypto/x509/x509_vpm.c +13 -2
- 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/asn1.h +10 -10
- data/third_party/boringssl-with-bazel/src/include/openssl/base.h +10 -2
- data/third_party/boringssl-with-bazel/src/include/openssl/bio.h +80 -39
- data/third_party/boringssl-with-bazel/src/include/openssl/bytestring.h +12 -4
- data/third_party/boringssl-with-bazel/src/include/openssl/crypto.h +1 -0
- 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/{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/posix_time.h +6 -0
- data/third_party/boringssl-with-bazel/src/include/openssl/rand.h +19 -10
- data/third_party/boringssl-with-bazel/src/include/openssl/rsa.h +19 -10
- data/third_party/boringssl-with-bazel/src/include/openssl/span.h +14 -0
- data/third_party/boringssl-with-bazel/src/include/openssl/ssl.h +291 -73
- 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 +2959 -2403
- data/third_party/boringssl-with-bazel/src/ssl/dtls_record.cc +5 -5
- data/third_party/boringssl-with-bazel/src/ssl/encrypted_client_hello.cc +3 -9
- data/third_party/boringssl-with-bazel/src/ssl/extensions.cc +43 -43
- 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 +67 -15
- data/third_party/boringssl-with-bazel/src/ssl/handshake_server.cc +143 -113
- data/third_party/boringssl-with-bazel/src/ssl/internal.h +227 -167
- 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 +66 -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 +1 -1
- data/third_party/boringssl-with-bazel/src/ssl/ssl_lib.cc +70 -54
- data/third_party/boringssl-with-bazel/src/ssl/ssl_privkey.cc +59 -75
- data/third_party/boringssl-with-bazel/src/ssl/ssl_session.cc +6 -14
- data/third_party/boringssl-with-bazel/src/ssl/ssl_x509.cc +48 -116
- data/third_party/boringssl-with-bazel/src/ssl/tls13_both.cc +19 -26
- 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/upb/upb/base/descriptor_constants.h +29 -2
- data/third_party/upb/upb/{wire/internal/swap.h → base/internal/endian.h} +12 -11
- data/third_party/upb/upb/base/status.h +1 -1
- data/third_party/upb/upb/base/status.hpp +5 -1
- data/third_party/upb/upb/base/string_view.h +7 -5
- data/third_party/upb/upb/base/upcast.h +29 -0
- data/third_party/upb/upb/generated_code_support.h +2 -1
- data/third_party/upb/upb/json/decode.c +103 -53
- data/third_party/upb/upb/json/decode.h +3 -26
- data/third_party/upb/upb/json/encode.c +3 -26
- data/third_party/upb/upb/json/encode.h +3 -26
- data/third_party/upb/upb/mem/arena.c +233 -106
- data/third_party/upb/upb/mem/arena.h +14 -66
- data/third_party/upb/upb/mem/arena.hpp +8 -4
- data/third_party/upb/upb/mem/internal/arena.h +76 -58
- data/third_party/upb/upb/message/accessors.c +19 -46
- data/third_party/upb/upb/message/accessors.h +208 -123
- data/third_party/upb/upb/message/array.c +55 -83
- data/third_party/upb/upb/message/array.h +18 -30
- data/third_party/upb/upb/message/compat.c +39 -0
- data/third_party/upb/upb/message/compat.h +41 -0
- data/third_party/upb/upb/message/copy.c +322 -0
- data/third_party/upb/upb/message/copy.h +56 -0
- data/third_party/upb/upb/message/internal/accessors.h +178 -178
- data/third_party/upb/upb/message/internal/array.h +80 -81
- data/third_party/upb/upb/message/internal/extension.c +63 -0
- data/third_party/upb/upb/message/internal/extension.h +12 -12
- data/third_party/upb/upb/message/internal/map.h +28 -41
- data/third_party/upb/upb/message/internal/map_entry.h +14 -39
- data/third_party/upb/upb/message/internal/map_sorter.h +18 -37
- data/third_party/upb/upb/message/internal/message.c +59 -0
- data/third_party/upb/upb/message/internal/message.h +26 -42
- data/third_party/upb/upb/message/internal/tagged_ptr.h +56 -0
- data/third_party/upb/upb/message/internal/types.h +7 -12
- data/third_party/upb/upb/message/map.c +3 -26
- data/third_party/upb/upb/message/map.h +5 -33
- data/third_party/upb/upb/message/map_gencode_util.h +3 -26
- data/third_party/upb/upb/message/map_sorter.c +22 -34
- data/third_party/upb/upb/message/message.c +28 -104
- data/third_party/upb/upb/message/message.h +4 -8
- data/third_party/upb/upb/message/tagged_ptr.h +14 -31
- data/third_party/upb/upb/message/value.h +3 -5
- data/third_party/upb/upb/mini_descriptor/build_enum.c +20 -11
- data/third_party/upb/upb/mini_descriptor/decode.c +127 -107
- data/third_party/upb/upb/mini_descriptor/decode.h +3 -8
- data/third_party/upb/upb/mini_descriptor/link.c +34 -22
- data/third_party/upb/upb/mini_descriptor/link.h +1 -1
- data/third_party/upb/upb/mini_table/enum.h +4 -6
- data/third_party/upb/upb/mini_table/extension.h +37 -0
- data/third_party/upb/upb/mini_table/extension_registry.c +9 -2
- data/third_party/upb/upb/mini_table/field.h +46 -60
- data/third_party/upb/upb/mini_table/file.h +44 -0
- data/third_party/upb/upb/mini_table/internal/enum.h +19 -20
- data/third_party/upb/upb/mini_table/internal/extension.h +34 -3
- data/third_party/upb/upb/mini_table/internal/field.h +136 -27
- data/third_party/upb/upb/mini_table/internal/file.h +47 -10
- data/third_party/upb/upb/mini_table/internal/message.c +17 -9
- data/third_party/upb/upb/mini_table/internal/message.h +94 -23
- data/third_party/upb/upb/mini_table/internal/size_log2.h +77 -0
- data/third_party/upb/upb/mini_table/internal/sub.h +39 -4
- data/third_party/upb/upb/mini_table/message.c +18 -19
- data/third_party/upb/upb/mini_table/message.h +29 -20
- data/third_party/upb/upb/mini_table/sub.h +40 -1
- data/third_party/upb/upb/port/def.inc +18 -0
- data/third_party/upb/upb/port/undef.inc +3 -0
- data/third_party/upb/upb/reflection/def.hpp +8 -4
- data/third_party/upb/upb/reflection/def_pool.c +81 -2
- data/third_party/upb/upb/reflection/def_pool.h +8 -0
- data/third_party/upb/upb/reflection/enum_def.c +42 -19
- data/third_party/upb/upb/reflection/enum_def.h +1 -0
- data/third_party/upb/upb/reflection/enum_value_def.c +43 -14
- data/third_party/upb/upb/reflection/enum_value_def.h +2 -0
- data/third_party/upb/upb/reflection/extension_range.c +13 -5
- data/third_party/upb/upb/reflection/extension_range.h +2 -0
- data/third_party/upb/upb/reflection/field_def.c +177 -130
- data/third_party/upb/upb/reflection/field_def.h +10 -1
- data/third_party/upb/upb/reflection/file_def.c +98 -9
- data/third_party/upb/upb/reflection/file_def.h +3 -0
- data/third_party/upb/upb/reflection/internal/def_builder.c +85 -7
- data/third_party/upb/upb/reflection/internal/def_builder.h +23 -0
- data/third_party/upb/upb/reflection/internal/enum_def.h +5 -4
- data/third_party/upb/upb/reflection/internal/enum_reserved_range.h +1 -1
- data/third_party/upb/upb/reflection/internal/enum_value_def.h +2 -1
- data/third_party/upb/upb/reflection/internal/extension_range.h +2 -2
- data/third_party/upb/upb/reflection/internal/field_def.h +11 -10
- data/third_party/upb/upb/reflection/internal/message_def.h +6 -3
- data/third_party/upb/upb/reflection/internal/method_def.h +5 -3
- data/third_party/upb/upb/reflection/internal/oneof_def.h +5 -3
- data/third_party/upb/upb/reflection/internal/service_def.h +5 -3
- data/third_party/upb/upb/reflection/internal/upb_edition_defaults.h +20 -0
- data/third_party/upb/upb/reflection/message.c +27 -12
- data/third_party/upb/upb/reflection/message.h +5 -5
- data/third_party/upb/upb/reflection/message_def.c +56 -27
- data/third_party/upb/upb/reflection/message_def.h +2 -0
- data/third_party/upb/upb/reflection/method_def.c +20 -9
- data/third_party/upb/upb/reflection/method_def.h +2 -0
- data/third_party/upb/upb/reflection/oneof_def.c +20 -11
- data/third_party/upb/upb/reflection/oneof_def.h +3 -1
- data/third_party/upb/upb/reflection/service_def.c +25 -13
- data/third_party/upb/upb/reflection/service_def.h +2 -0
- data/third_party/upb/upb/text/encode.c +126 -36
- data/third_party/upb/upb/wire/decode.c +214 -196
- data/third_party/upb/upb/wire/decode.h +10 -0
- data/third_party/upb/upb/wire/encode.c +105 -91
- data/third_party/upb/upb/wire/encode.h +4 -3
- data/third_party/upb/upb/wire/{decode_fast.c → internal/decode_fast.c} +53 -48
- data/third_party/upb/upb/wire/{decode_fast.h → internal/decode_fast.h} +6 -5
- data/third_party/upb/upb/wire/internal/{decode.h → decoder.h} +15 -31
- data/third_party/upb/upb/wire/internal/reader.h +61 -0
- data/third_party/upb/upb/wire/reader.c +9 -6
- data/third_party/upb/upb/wire/reader.h +18 -47
- data/third_party/utf8_range/utf8_range.c +467 -0
- data/third_party/utf8_range/utf8_range.h +9 -8
- metadata +182 -128
- data/src/core/client_channel/channel_connectivity.cc +0 -265
- 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/channel_idle/channel_idle_filter.cc +0 -318
- data/src/core/ext/filters/channel_idle/channel_idle_filter.h +0 -150
- 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/filters/http/message_compress/legacy_compression_filter.cc +0 -325
- data/src/core/ext/filters/http/message_compress/legacy_compression_filter.h +0 -139
- data/src/core/lib/gpr/log_internal.h +0 -55
- data/src/core/lib/gpr/wrap_memcpy.cc +0 -43
- data/src/core/lib/security/transport/legacy_server_auth_filter.cc +0 -244
- data/src/core/lib/slice/b64.cc +0 -239
- data/src/core/lib/slice/b64.h +0 -52
- data/src/core/lib/surface/call_trace.cc +0 -163
- data/src/core/lib/surface/channel_ping.cc +0 -69
- data/src/core/lib/transport/call_factory.cc +0 -41
- data/src/core/lib/transport/call_factory.h +0 -56
- data/src/core/load_balancing/subchannel_list.h +0 -455
- data/third_party/upb/upb/message/types.h +0 -15
- data/third_party/utf8_range/naive.c +0 -92
- data/third_party/utf8_range/range2-neon.c +0 -157
- data/third_party/utf8_range/range2-sse.c +0 -170
- /data/third_party/boringssl-with-bazel/src/include/openssl/{kyber.h → experimental/kyber.h} +0 -0
@@ -16,8 +16,6 @@
|
|
16
16
|
//
|
17
17
|
//
|
18
18
|
|
19
|
-
#include <grpc/support/port_platform.h>
|
20
|
-
|
21
19
|
#include "src/core/lib/surface/call.h"
|
22
20
|
|
23
21
|
#include <inttypes.h>
|
@@ -35,6 +33,7 @@
|
|
35
33
|
#include <vector>
|
36
34
|
|
37
35
|
#include "absl/base/thread_annotations.h"
|
36
|
+
#include "absl/log/check.h"
|
38
37
|
#include "absl/status/status.h"
|
39
38
|
#include "absl/strings/str_cat.h"
|
40
39
|
#include "absl/strings/str_format.h"
|
@@ -53,12 +52,13 @@
|
|
53
52
|
#include <grpc/support/alloc.h>
|
54
53
|
#include <grpc/support/atm.h>
|
55
54
|
#include <grpc/support/log.h>
|
55
|
+
#include <grpc/support/port_platform.h>
|
56
56
|
#include <grpc/support/string_util.h>
|
57
57
|
|
58
|
+
#include "src/core/channelz/channelz.h"
|
58
59
|
#include "src/core/lib/channel/call_finalization.h"
|
59
60
|
#include "src/core/lib/channel/call_tracer.h"
|
60
61
|
#include "src/core/lib/channel/channel_stack.h"
|
61
|
-
#include "src/core/lib/channel/channelz.h"
|
62
62
|
#include "src/core/lib/channel/context.h"
|
63
63
|
#include "src/core/lib/channel/status_util.h"
|
64
64
|
#include "src/core/lib/compression/compression_internal.h"
|
@@ -91,6 +91,7 @@
|
|
91
91
|
#include "src/core/lib/promise/race.h"
|
92
92
|
#include "src/core/lib/promise/seq.h"
|
93
93
|
#include "src/core/lib/promise/status_flag.h"
|
94
|
+
#include "src/core/lib/promise/try_seq.h"
|
94
95
|
#include "src/core/lib/resource_quota/arena.h"
|
95
96
|
#include "src/core/lib/slice/slice_buffer.h"
|
96
97
|
#include "src/core/lib/slice/slice_internal.h"
|
@@ -98,13 +99,13 @@
|
|
98
99
|
#include "src/core/lib/surface/call_test_only.h"
|
99
100
|
#include "src/core/lib/surface/channel.h"
|
100
101
|
#include "src/core/lib/surface/completion_queue.h"
|
101
|
-
#include "src/core/lib/surface/server.h"
|
102
102
|
#include "src/core/lib/surface/validate_metadata.h"
|
103
103
|
#include "src/core/lib/surface/wait_for_cq_end_op.h"
|
104
104
|
#include "src/core/lib/transport/batch_builder.h"
|
105
105
|
#include "src/core/lib/transport/error_utils.h"
|
106
106
|
#include "src/core/lib/transport/metadata_batch.h"
|
107
107
|
#include "src/core/lib/transport/transport.h"
|
108
|
+
#include "src/core/server/server_interface.h"
|
108
109
|
|
109
110
|
grpc_core::TraceFlag grpc_call_error_trace(false, "call_error");
|
110
111
|
grpc_core::TraceFlag grpc_compression_trace(false, "compression");
|
@@ -113,164 +114,13 @@ grpc_core::DebugOnlyTraceFlag grpc_call_refcount_trace(false, "call_refcount");
|
|
113
114
|
|
114
115
|
namespace grpc_core {
|
115
116
|
|
117
|
+
// Alias to make this type available in Call implementation without a grpc_core
|
118
|
+
// prefix.
|
119
|
+
using GrpcClosure = Closure;
|
120
|
+
|
116
121
|
///////////////////////////////////////////////////////////////////////////////
|
117
122
|
// Call
|
118
123
|
|
119
|
-
class Call : public CppImplOf<Call, grpc_call> {
|
120
|
-
public:
|
121
|
-
Arena* arena() { return arena_; }
|
122
|
-
bool is_client() const { return is_client_; }
|
123
|
-
|
124
|
-
virtual void ContextSet(grpc_context_index elem, void* value,
|
125
|
-
void (*destroy)(void* value)) = 0;
|
126
|
-
virtual void* ContextGet(grpc_context_index elem) const = 0;
|
127
|
-
virtual bool Completed() = 0;
|
128
|
-
void CancelWithStatus(grpc_status_code status, const char* description);
|
129
|
-
virtual void CancelWithError(grpc_error_handle error) = 0;
|
130
|
-
virtual void SetCompletionQueue(grpc_completion_queue* cq) = 0;
|
131
|
-
char* GetPeer();
|
132
|
-
virtual grpc_call_error StartBatch(const grpc_op* ops, size_t nops,
|
133
|
-
void* notify_tag,
|
134
|
-
bool is_notify_tag_closure) = 0;
|
135
|
-
virtual bool failed_before_recv_message() const = 0;
|
136
|
-
virtual bool is_trailers_only() const = 0;
|
137
|
-
virtual absl::string_view GetServerAuthority() const = 0;
|
138
|
-
virtual void ExternalRef() = 0;
|
139
|
-
virtual void ExternalUnref() = 0;
|
140
|
-
virtual void InternalRef(const char* reason) = 0;
|
141
|
-
virtual void InternalUnref(const char* reason) = 0;
|
142
|
-
|
143
|
-
grpc_compression_algorithm test_only_compression_algorithm() {
|
144
|
-
return incoming_compression_algorithm_;
|
145
|
-
}
|
146
|
-
uint32_t test_only_message_flags() { return test_only_last_message_flags_; }
|
147
|
-
CompressionAlgorithmSet encodings_accepted_by_peer() {
|
148
|
-
return encodings_accepted_by_peer_;
|
149
|
-
}
|
150
|
-
|
151
|
-
// This should return nullptr for the promise stack (and alternative means
|
152
|
-
// for that functionality be invented)
|
153
|
-
virtual grpc_call_stack* call_stack() = 0;
|
154
|
-
|
155
|
-
// Return the EventEngine used for this call's async execution.
|
156
|
-
virtual grpc_event_engine::experimental::EventEngine* event_engine()
|
157
|
-
const = 0;
|
158
|
-
|
159
|
-
protected:
|
160
|
-
// The maximum number of concurrent batches possible.
|
161
|
-
// Based upon the maximum number of individually queueable ops in the batch
|
162
|
-
// api:
|
163
|
-
// - initial metadata send
|
164
|
-
// - message send
|
165
|
-
// - status/close send (depending on client/server)
|
166
|
-
// - initial metadata recv
|
167
|
-
// - message recv
|
168
|
-
// - status/close recv (depending on client/server)
|
169
|
-
static constexpr size_t kMaxConcurrentBatches = 6;
|
170
|
-
|
171
|
-
struct ParentCall {
|
172
|
-
Mutex child_list_mu;
|
173
|
-
Call* first_child ABSL_GUARDED_BY(child_list_mu) = nullptr;
|
174
|
-
};
|
175
|
-
|
176
|
-
struct ChildCall {
|
177
|
-
explicit ChildCall(Call* parent) : parent(parent) {}
|
178
|
-
Call* parent;
|
179
|
-
/// siblings: children of the same parent form a list, and this list is
|
180
|
-
/// protected under
|
181
|
-
/// parent->mu
|
182
|
-
Call* sibling_next = nullptr;
|
183
|
-
Call* sibling_prev = nullptr;
|
184
|
-
};
|
185
|
-
|
186
|
-
Call(Arena* arena, bool is_client, Timestamp send_deadline,
|
187
|
-
RefCountedPtr<Channel> channel)
|
188
|
-
: channel_(std::move(channel)),
|
189
|
-
arena_(arena),
|
190
|
-
send_deadline_(send_deadline),
|
191
|
-
is_client_(is_client) {
|
192
|
-
GPR_DEBUG_ASSERT(arena_ != nullptr);
|
193
|
-
GPR_DEBUG_ASSERT(channel_ != nullptr);
|
194
|
-
}
|
195
|
-
virtual ~Call() = default;
|
196
|
-
|
197
|
-
void DeleteThis();
|
198
|
-
|
199
|
-
ParentCall* GetOrCreateParentCall();
|
200
|
-
ParentCall* parent_call();
|
201
|
-
Channel* channel() const {
|
202
|
-
GPR_DEBUG_ASSERT(channel_ != nullptr);
|
203
|
-
return channel_.get();
|
204
|
-
}
|
205
|
-
|
206
|
-
absl::Status InitParent(Call* parent, uint32_t propagation_mask);
|
207
|
-
void PublishToParent(Call* parent);
|
208
|
-
void MaybeUnpublishFromParent();
|
209
|
-
void PropagateCancellationToChildren();
|
210
|
-
|
211
|
-
Timestamp send_deadline() const { return send_deadline_; }
|
212
|
-
void set_send_deadline(Timestamp send_deadline) {
|
213
|
-
send_deadline_ = send_deadline;
|
214
|
-
}
|
215
|
-
|
216
|
-
Slice GetPeerString() const {
|
217
|
-
MutexLock lock(&peer_mu_);
|
218
|
-
return peer_string_.Ref();
|
219
|
-
}
|
220
|
-
|
221
|
-
void SetPeerString(Slice peer_string) {
|
222
|
-
MutexLock lock(&peer_mu_);
|
223
|
-
peer_string_ = std::move(peer_string);
|
224
|
-
}
|
225
|
-
|
226
|
-
void ClearPeerString() { SetPeerString(Slice(grpc_empty_slice())); }
|
227
|
-
|
228
|
-
// TODO(ctiller): cancel_func is for cancellation of the call - filter stack
|
229
|
-
// holds no mutexes here, promise stack does, and so locking is different.
|
230
|
-
// Remove this and cancel directly once promise conversion is done.
|
231
|
-
void ProcessIncomingInitialMetadata(grpc_metadata_batch& md);
|
232
|
-
// Fixup outgoing metadata before sending - adds compression, protects
|
233
|
-
// internal headers against external modification.
|
234
|
-
void PrepareOutgoingInitialMetadata(const grpc_op& op,
|
235
|
-
grpc_metadata_batch& md);
|
236
|
-
void NoteLastMessageFlags(uint32_t flags) {
|
237
|
-
test_only_last_message_flags_ = flags;
|
238
|
-
}
|
239
|
-
grpc_compression_algorithm incoming_compression_algorithm() const {
|
240
|
-
return incoming_compression_algorithm_;
|
241
|
-
}
|
242
|
-
|
243
|
-
void HandleCompressionAlgorithmDisabled(
|
244
|
-
grpc_compression_algorithm compression_algorithm) GPR_ATTRIBUTE_NOINLINE;
|
245
|
-
void HandleCompressionAlgorithmNotAccepted(
|
246
|
-
grpc_compression_algorithm compression_algorithm) GPR_ATTRIBUTE_NOINLINE;
|
247
|
-
|
248
|
-
gpr_cycle_counter start_time() const { return start_time_; }
|
249
|
-
|
250
|
-
private:
|
251
|
-
RefCountedPtr<Channel> channel_;
|
252
|
-
Arena* const arena_;
|
253
|
-
std::atomic<ParentCall*> parent_call_{nullptr};
|
254
|
-
ChildCall* child_ = nullptr;
|
255
|
-
Timestamp send_deadline_;
|
256
|
-
const bool is_client_;
|
257
|
-
// flag indicating that cancellation is inherited
|
258
|
-
bool cancellation_is_inherited_ = false;
|
259
|
-
// Compression algorithm for *incoming* data
|
260
|
-
grpc_compression_algorithm incoming_compression_algorithm_ =
|
261
|
-
GRPC_COMPRESS_NONE;
|
262
|
-
// Supported encodings (compression algorithms), a bitset.
|
263
|
-
// Always support no compression.
|
264
|
-
CompressionAlgorithmSet encodings_accepted_by_peer_{GRPC_COMPRESS_NONE};
|
265
|
-
uint32_t test_only_last_message_flags_ = 0;
|
266
|
-
// Peer name is protected by a mutex because it can be accessed by the
|
267
|
-
// application at the same moment as it is being set by the completion
|
268
|
-
// of the recv_initial_metadata op. The mutex should be mostly uncontended.
|
269
|
-
mutable Mutex peer_mu_;
|
270
|
-
Slice peer_string_;
|
271
|
-
gpr_cycle_counter start_time_ = gpr_get_cycle_counter();
|
272
|
-
};
|
273
|
-
|
274
124
|
Call::ParentCall* Call::GetOrCreateParentCall() {
|
275
125
|
ParentCall* p = parent_call_.load(std::memory_order_acquire);
|
276
126
|
if (p == nullptr) {
|
@@ -294,8 +144,8 @@ absl::Status Call::InitParent(Call* parent, uint32_t propagation_mask) {
|
|
294
144
|
child_ = arena()->New<ChildCall>(parent);
|
295
145
|
|
296
146
|
parent->InternalRef("child");
|
297
|
-
|
298
|
-
|
147
|
+
CHECK(is_client_);
|
148
|
+
CHECK(!parent->is_client_);
|
299
149
|
|
300
150
|
if (propagation_mask & GRPC_PROPAGATE_DEADLINE) {
|
301
151
|
send_deadline_ = std::min(send_deadline_, parent->send_deadline_);
|
@@ -472,7 +322,7 @@ void Call::ProcessIncomingInitialMetadata(grpc_metadata_batch& md) {
|
|
472
322
|
HandleCompressionAlgorithmDisabled(compression_algorithm);
|
473
323
|
}
|
474
324
|
// GRPC_COMPRESS_NONE is always set.
|
475
|
-
|
325
|
+
DCHECK(encodings_accepted_by_peer_.IsSet(GRPC_COMPRESS_NONE));
|
476
326
|
if (GPR_UNLIKELY(!encodings_accepted_by_peer_.IsSet(compression_algorithm))) {
|
477
327
|
if (GRPC_TRACE_FLAG_ENABLED(grpc_compression_trace)) {
|
478
328
|
HandleCompressionAlgorithmNotAccepted(compression_algorithm);
|
@@ -503,6 +353,50 @@ void Call::HandleCompressionAlgorithmDisabled(
|
|
503
353
|
GRPC_STATUS_UNIMPLEMENTED));
|
504
354
|
}
|
505
355
|
|
356
|
+
void Call::UpdateDeadline(Timestamp deadline) {
|
357
|
+
ReleasableMutexLock lock(&deadline_mu_);
|
358
|
+
if (grpc_call_trace.enabled()) {
|
359
|
+
gpr_log(GPR_DEBUG, "[call %p] UpdateDeadline from=%s to=%s", this,
|
360
|
+
deadline_.ToString().c_str(), deadline.ToString().c_str());
|
361
|
+
}
|
362
|
+
if (deadline >= deadline_) return;
|
363
|
+
if (deadline < Timestamp::Now()) {
|
364
|
+
lock.Release();
|
365
|
+
CancelWithError(grpc_error_set_int(
|
366
|
+
absl::DeadlineExceededError("Deadline Exceeded"),
|
367
|
+
StatusIntProperty::kRpcStatus, GRPC_STATUS_DEADLINE_EXCEEDED));
|
368
|
+
return;
|
369
|
+
}
|
370
|
+
auto* const event_engine = channel()->event_engine();
|
371
|
+
if (deadline_ != Timestamp::InfFuture()) {
|
372
|
+
if (!event_engine->Cancel(deadline_task_)) return;
|
373
|
+
} else {
|
374
|
+
InternalRef("deadline");
|
375
|
+
}
|
376
|
+
deadline_ = deadline;
|
377
|
+
deadline_task_ = event_engine->RunAfter(deadline - Timestamp::Now(), this);
|
378
|
+
}
|
379
|
+
|
380
|
+
void Call::ResetDeadline() {
|
381
|
+
{
|
382
|
+
MutexLock lock(&deadline_mu_);
|
383
|
+
if (deadline_ == Timestamp::InfFuture()) return;
|
384
|
+
auto* const event_engine = channel()->event_engine();
|
385
|
+
if (!event_engine->Cancel(deadline_task_)) return;
|
386
|
+
deadline_ = Timestamp::InfFuture();
|
387
|
+
}
|
388
|
+
InternalUnref("deadline[reset]");
|
389
|
+
}
|
390
|
+
|
391
|
+
void Call::Run() {
|
392
|
+
ApplicationCallbackExecCtx callback_exec_ctx;
|
393
|
+
ExecCtx exec_ctx;
|
394
|
+
CancelWithError(grpc_error_set_int(
|
395
|
+
absl::DeadlineExceededError("Deadline Exceeded"),
|
396
|
+
StatusIntProperty::kRpcStatus, GRPC_STATUS_DEADLINE_EXCEEDED));
|
397
|
+
InternalUnref("deadline[run]");
|
398
|
+
}
|
399
|
+
|
506
400
|
///////////////////////////////////////////////////////////////////////////////
|
507
401
|
// FilterStackCall
|
508
402
|
// To be removed once promise conversion is complete
|
@@ -567,7 +461,7 @@ class FilterStackCall final : public Call {
|
|
567
461
|
|
568
462
|
bool is_trailers_only() const override {
|
569
463
|
bool result = is_trailers_only_;
|
570
|
-
|
464
|
+
DCHECK(!result || recv_initial_metadata_.TransportSize() == 0);
|
571
465
|
return result;
|
572
466
|
}
|
573
467
|
|
@@ -588,6 +482,12 @@ class FilterStackCall final : public Call {
|
|
588
482
|
}
|
589
483
|
|
590
484
|
private:
|
485
|
+
class ScopedContext : public promise_detail::Context<Arena> {
|
486
|
+
public:
|
487
|
+
explicit ScopedContext(FilterStackCall* call)
|
488
|
+
: promise_detail::Context<Arena>(call->arena()) {}
|
489
|
+
};
|
490
|
+
|
591
491
|
static constexpr gpr_atm kRecvNone = 0;
|
592
492
|
static constexpr gpr_atm kRecvInitialMetadataFirst = 1;
|
593
493
|
|
@@ -648,33 +548,14 @@ class FilterStackCall final : public Call {
|
|
648
548
|
}
|
649
549
|
bool completed_batch_step(PendingOp op) {
|
650
550
|
auto mask = PendingOpMask(op);
|
651
|
-
// Acquire call tracer before ops_pending_.fetch_sub to avoid races with
|
652
|
-
// call_ being set to nullptr in PostCompletion method. Store the
|
653
|
-
// call_tracer_ and call_ variables locally as well because they could be
|
654
|
-
// modified by another thread after the fetch_sub operation.
|
655
|
-
CallTracerAnnotationInterface* call_tracer = call_tracer_;
|
656
|
-
FilterStackCall* call = call_;
|
657
|
-
bool is_call_trace_enabled = grpc_call_trace.enabled();
|
658
|
-
bool is_call_ops_annotate_enabled =
|
659
|
-
(IsTraceRecordCallopsEnabled() && call_tracer != nullptr);
|
660
|
-
if (is_call_ops_annotate_enabled) {
|
661
|
-
call->InternalRef("Call ops annotate");
|
662
|
-
}
|
663
551
|
auto r = ops_pending_.fetch_sub(mask, std::memory_order_acq_rel);
|
664
|
-
if (
|
665
|
-
|
666
|
-
|
667
|
-
|
668
|
-
|
669
|
-
if (is_call_trace_enabled) {
|
670
|
-
gpr_log(GPR_DEBUG, "%s", trace_string.c_str());
|
671
|
-
}
|
672
|
-
if (is_call_ops_annotate_enabled) {
|
673
|
-
call_tracer->RecordAnnotation(trace_string);
|
674
|
-
call->InternalUnref("Call ops annotate");
|
675
|
-
}
|
552
|
+
if (grpc_call_trace.enabled()) {
|
553
|
+
gpr_log(GPR_DEBUG, "BATCH:%p COMPLETE:%s REMAINING:%s (tag:%p)", this,
|
554
|
+
PendingOpString(mask).c_str(),
|
555
|
+
PendingOpString(r & ~mask).c_str(),
|
556
|
+
completion_data_.notify_tag.tag);
|
676
557
|
}
|
677
|
-
|
558
|
+
CHECK_NE((r & mask), 0);
|
678
559
|
return r == mask;
|
679
560
|
}
|
680
561
|
|
@@ -691,7 +572,9 @@ class FilterStackCall final : public Call {
|
|
691
572
|
: Call(arena, args.server_transport_data == nullptr, args.send_deadline,
|
692
573
|
args.channel->Ref()),
|
693
574
|
cq_(args.cq),
|
694
|
-
stream_op_payload_(context_) {
|
575
|
+
stream_op_payload_(context_) {
|
576
|
+
context_[GRPC_CONTEXT_CALL].value = this;
|
577
|
+
}
|
695
578
|
|
696
579
|
static void ReleaseCall(void* call, grpc_error_handle);
|
697
580
|
static void DestroyCall(void* call, grpc_error_handle);
|
@@ -735,10 +618,10 @@ class FilterStackCall final : public Call {
|
|
735
618
|
grpc_transport_stream_op_batch_payload stream_op_payload_;
|
736
619
|
|
737
620
|
// first idx: is_receiving, second idx: is_trailing
|
738
|
-
grpc_metadata_batch send_initial_metadata_
|
739
|
-
grpc_metadata_batch send_trailing_metadata_
|
740
|
-
grpc_metadata_batch recv_initial_metadata_
|
741
|
-
grpc_metadata_batch recv_trailing_metadata_
|
621
|
+
grpc_metadata_batch send_initial_metadata_;
|
622
|
+
grpc_metadata_batch send_trailing_metadata_;
|
623
|
+
grpc_metadata_batch recv_initial_metadata_;
|
624
|
+
grpc_metadata_batch recv_trailing_metadata_;
|
742
625
|
|
743
626
|
// Buffered read metadata waiting to be returned to the application.
|
744
627
|
// Element 0 is initial metadata, element 1 is trailing metadata.
|
@@ -776,7 +659,7 @@ class FilterStackCall final : public Call {
|
|
776
659
|
struct {
|
777
660
|
int* cancelled;
|
778
661
|
// backpointer to owning server if this is a server side call.
|
779
|
-
|
662
|
+
ServerInterface* core_server;
|
780
663
|
} server;
|
781
664
|
} final_op_;
|
782
665
|
AtomicError status_error_;
|
@@ -822,10 +705,11 @@ grpc_error_handle FilterStackCall::Create(grpc_call_create_args* args,
|
|
822
705
|
|
823
706
|
Arena* arena = channel->CreateArena();
|
824
707
|
call = new (arena->Alloc(call_alloc_size)) FilterStackCall(arena, *args);
|
825
|
-
|
826
|
-
|
708
|
+
DCHECK(FromC(call->c_ptr()) == call);
|
709
|
+
DCHECK(FromCallStack(call->call_stack()) == call);
|
827
710
|
*out_call = call->c_ptr();
|
828
711
|
grpc_slice path = grpc_empty_slice();
|
712
|
+
ScopedContext ctx(call);
|
829
713
|
if (call->is_client()) {
|
830
714
|
call->final_op_.client.status_details = nullptr;
|
831
715
|
call->final_op_.client.status = nullptr;
|
@@ -841,6 +725,8 @@ grpc_error_handle FilterStackCall::Create(grpc_call_create_args* args,
|
|
841
725
|
call->send_initial_metadata_.Set(
|
842
726
|
GrpcRegisteredMethod(), reinterpret_cast<void*>(static_cast<uintptr_t>(
|
843
727
|
args->registered_method)));
|
728
|
+
channel_stack->stats_plugin_group->AddClientCallTracers(
|
729
|
+
Slice(CSliceRef(path)), args->registered_method, call->context_);
|
844
730
|
} else {
|
845
731
|
global_stats().IncrementServerCallsCreated();
|
846
732
|
call->final_op_.server.cancelled = nullptr;
|
@@ -849,6 +735,9 @@ grpc_error_handle FilterStackCall::Create(grpc_call_create_args* args,
|
|
849
735
|
// collecting from when the call is created at the transport. The idea is
|
850
736
|
// that the transport would create the call tracer and pass it in as part of
|
851
737
|
// the metadata.
|
738
|
+
// TODO(yijiem): OpenCensus and internal Census is still using this way to
|
739
|
+
// set server call tracer. We need to refactor them to stats plugins
|
740
|
+
// (including removing the client channel filters).
|
852
741
|
if (args->server != nullptr &&
|
853
742
|
args->server->server_call_tracer_factory() != nullptr) {
|
854
743
|
auto* server_call_tracer =
|
@@ -865,6 +754,7 @@ grpc_error_handle FilterStackCall::Create(grpc_call_create_args* args,
|
|
865
754
|
call->ContextSet(GRPC_CONTEXT_CALL_TRACER, server_call_tracer, nullptr);
|
866
755
|
}
|
867
756
|
}
|
757
|
+
channel_stack->stats_plugin_group->AddServerCallTracers(call->context_);
|
868
758
|
}
|
869
759
|
|
870
760
|
Call* parent = Call::FromC(args->parent);
|
@@ -889,9 +779,9 @@ grpc_error_handle FilterStackCall::Create(grpc_call_create_args* args,
|
|
889
779
|
call->CancelWithError(error);
|
890
780
|
}
|
891
781
|
if (args->cq != nullptr) {
|
892
|
-
|
893
|
-
|
894
|
-
|
782
|
+
CHECK(args->pollset_set_alternative == nullptr)
|
783
|
+
<< "Only one of 'cq' and 'pollset_set_alternative' should be "
|
784
|
+
"non-nullptr.";
|
895
785
|
GRPC_CQ_INTERNAL_REF(args->cq, "bind");
|
896
786
|
call->pollent_ =
|
897
787
|
grpc_polling_entity_create_from_pollset(grpc_cq_pollset(args->cq));
|
@@ -918,13 +808,17 @@ grpc_error_handle FilterStackCall::Create(grpc_call_create_args* args,
|
|
918
808
|
}
|
919
809
|
}
|
920
810
|
|
811
|
+
if (args->send_deadline != Timestamp::InfFuture()) {
|
812
|
+
call->UpdateDeadline(args->send_deadline);
|
813
|
+
}
|
814
|
+
|
921
815
|
CSliceUnref(path);
|
922
816
|
|
923
817
|
return error;
|
924
818
|
}
|
925
819
|
|
926
820
|
void FilterStackCall::SetCompletionQueue(grpc_completion_queue* cq) {
|
927
|
-
|
821
|
+
CHECK(cq);
|
928
822
|
|
929
823
|
if (grpc_polling_entity_pollset_set(&pollent_) != nullptr) {
|
930
824
|
Crash("A pollset_set is already registered for this call.");
|
@@ -974,7 +868,7 @@ void FilterStackCall::ExternalUnref() {
|
|
974
868
|
|
975
869
|
MaybeUnpublishFromParent();
|
976
870
|
|
977
|
-
|
871
|
+
CHECK(!destroy_called_);
|
978
872
|
destroy_called_ = true;
|
979
873
|
bool cancel = gpr_atm_acq_load(&received_final_op_atm_) == 0;
|
980
874
|
if (cancel) {
|
@@ -1033,8 +927,13 @@ void FilterStackCall::CancelWithError(grpc_error_handle error) {
|
|
1033
927
|
if (!gpr_atm_rel_cas(&cancelled_with_error_, 0, 1)) {
|
1034
928
|
return;
|
1035
929
|
}
|
930
|
+
if (GRPC_TRACE_FLAG_ENABLED(grpc_call_error_trace)) {
|
931
|
+
gpr_log(GPR_INFO, "CancelWithError %s %s", is_client() ? "CLI" : "SVR",
|
932
|
+
StatusToString(error).c_str());
|
933
|
+
}
|
1036
934
|
ClearPeerString();
|
1037
935
|
InternalRef("termination");
|
936
|
+
ResetDeadline();
|
1038
937
|
// Inform the call combiner of the cancellation, so that it can cancel
|
1039
938
|
// any in-flight asynchronous actions that may be holding the call
|
1040
939
|
// combiner. This ensures that the cancel_stream batch can be sent
|
@@ -1053,9 +952,10 @@ void FilterStackCall::CancelWithError(grpc_error_handle error) {
|
|
1053
952
|
|
1054
953
|
void FilterStackCall::SetFinalStatus(grpc_error_handle error) {
|
1055
954
|
if (GRPC_TRACE_FLAG_ENABLED(grpc_call_error_trace)) {
|
1056
|
-
gpr_log(
|
955
|
+
gpr_log(GPR_INFO, "set_final_status %s %s", is_client() ? "CLI" : "SVR",
|
1057
956
|
StatusToString(error).c_str());
|
1058
957
|
}
|
958
|
+
ResetDeadline();
|
1059
959
|
if (is_client()) {
|
1060
960
|
std::string status_details;
|
1061
961
|
grpc_error_get_status(error, send_deadline(), final_op_.client.status,
|
@@ -1359,9 +1259,9 @@ void FilterStackCall::BatchControl::PostCompletion() {
|
|
1359
1259
|
|
1360
1260
|
if (completion_data_.notify_tag.is_closure) {
|
1361
1261
|
call_ = nullptr;
|
1362
|
-
|
1363
|
-
|
1364
|
-
|
1262
|
+
GrpcClosure::Run(
|
1263
|
+
DEBUG_LOCATION,
|
1264
|
+
static_cast<grpc_closure*>(completion_data_.notify_tag.tag), error);
|
1365
1265
|
call->InternalUnref("completion");
|
1366
1266
|
} else {
|
1367
1267
|
grpc_cq_end_op(
|
@@ -1459,7 +1359,7 @@ void FilterStackCall::BatchControl::ReceivingInitialMetadataReady(
|
|
1459
1359
|
while (true) {
|
1460
1360
|
gpr_atm rsr_bctlp = gpr_atm_acq_load(&call->recv_state_);
|
1461
1361
|
// Should only receive initial metadata once
|
1462
|
-
|
1362
|
+
CHECK_NE(rsr_bctlp, 1);
|
1463
1363
|
if (rsr_bctlp == 0) {
|
1464
1364
|
// We haven't seen initial metadata and messages before, thus initial
|
1465
1365
|
// metadata is received first.
|
@@ -1483,7 +1383,7 @@ void FilterStackCall::BatchControl::ReceivingInitialMetadataReady(
|
|
1483
1383
|
}
|
1484
1384
|
}
|
1485
1385
|
if (saved_rsr_closure != nullptr) {
|
1486
|
-
|
1386
|
+
GrpcClosure::Run(DEBUG_LOCATION, saved_rsr_closure, error);
|
1487
1387
|
}
|
1488
1388
|
|
1489
1389
|
FinishStep(PendingOp::kRecvInitialMetadata);
|
@@ -1513,7 +1413,7 @@ namespace {
|
|
1513
1413
|
void EndOpImmediately(grpc_completion_queue* cq, void* notify_tag,
|
1514
1414
|
bool is_notify_tag_closure) {
|
1515
1415
|
if (!is_notify_tag_closure) {
|
1516
|
-
|
1416
|
+
CHECK(grpc_cq_begin_op(cq, notify_tag));
|
1517
1417
|
grpc_cq_end_op(
|
1518
1418
|
cq, notify_tag, absl::OkStatus(),
|
1519
1419
|
[](void*, grpc_cq_completion* completion) { gpr_free(completion); },
|
@@ -1538,7 +1438,6 @@ grpc_call_error FilterStackCall::StartBatch(const grpc_op* ops, size_t nops,
|
|
1538
1438
|
grpc_transport_stream_op_batch_payload* stream_op_payload;
|
1539
1439
|
uint32_t seen_ops = 0;
|
1540
1440
|
intptr_t pending_ops = 0;
|
1541
|
-
CallTracerAnnotationInterface* call_tracer = nullptr;
|
1542
1441
|
|
1543
1442
|
for (i = 0; i < nops; i++) {
|
1544
1443
|
if (seen_ops & (1u << ops[i].op)) {
|
@@ -1885,7 +1784,7 @@ grpc_call_error FilterStackCall::StartBatch(const grpc_op* ops, size_t nops,
|
|
1885
1784
|
|
1886
1785
|
InternalRef("completion");
|
1887
1786
|
if (!is_notify_tag_closure) {
|
1888
|
-
|
1787
|
+
CHECK(grpc_cq_begin_op(cq_, notify_tag));
|
1889
1788
|
}
|
1890
1789
|
bctl->set_pending_ops(pending_ops);
|
1891
1790
|
|
@@ -1899,15 +1798,6 @@ grpc_call_error FilterStackCall::StartBatch(const grpc_op* ops, size_t nops,
|
|
1899
1798
|
stream_op->on_complete = &bctl->finish_batch_;
|
1900
1799
|
}
|
1901
1800
|
|
1902
|
-
call_tracer = static_cast<CallTracerAnnotationInterface*>(
|
1903
|
-
ContextGet(GRPC_CONTEXT_CALL_TRACER_ANNOTATION_INTERFACE));
|
1904
|
-
if ((IsTraceRecordCallopsEnabled() && call_tracer != nullptr)) {
|
1905
|
-
call_tracer->RecordAnnotation(absl::StrFormat(
|
1906
|
-
"BATCH:%p START:%s BATCH:%s (tag:%p)", bctl,
|
1907
|
-
PendingOpString(pending_ops).c_str(),
|
1908
|
-
grpc_transport_stream_op_batch_string(stream_op, true).c_str(),
|
1909
|
-
bctl->completion_data_.notify_tag.tag));
|
1910
|
-
}
|
1911
1801
|
if (grpc_call_trace.enabled()) {
|
1912
1802
|
gpr_log(GPR_DEBUG, "BATCH:%p START:%s BATCH:%s (tag:%p)", bctl,
|
1913
1803
|
PendingOpString(pending_ops).c_str(),
|
@@ -1984,10 +1874,7 @@ bool ValidateMetadata(size_t count, grpc_metadata* metadata) {
|
|
1984
1874
|
// PromiseBasedCall
|
1985
1875
|
// Will be folded into Call once the promise conversion is done
|
1986
1876
|
|
1987
|
-
class BasicPromiseBasedCall : public Call,
|
1988
|
-
public Party,
|
1989
|
-
public grpc_event_engine::experimental::
|
1990
|
-
EventEngine::Closure /* for deadlines */ {
|
1877
|
+
class BasicPromiseBasedCall : public Call, public Party {
|
1991
1878
|
public:
|
1992
1879
|
using Call::arena;
|
1993
1880
|
|
@@ -1996,12 +1883,13 @@ class BasicPromiseBasedCall : public Call,
|
|
1996
1883
|
const grpc_call_create_args& args)
|
1997
1884
|
: Call(arena, args.server_transport_data == nullptr, args.send_deadline,
|
1998
1885
|
args.channel->Ref()),
|
1999
|
-
Party(
|
1886
|
+
Party(initial_internal_refs),
|
2000
1887
|
external_refs_(initial_external_refs),
|
2001
1888
|
cq_(args.cq) {
|
2002
1889
|
if (args.cq != nullptr) {
|
2003
1890
|
GRPC_CQ_INTERNAL_REF(args.cq, "bind");
|
2004
1891
|
}
|
1892
|
+
context_[GRPC_CONTEXT_CALL].value = this;
|
2005
1893
|
}
|
2006
1894
|
|
2007
1895
|
~BasicPromiseBasedCall() override {
|
@@ -2013,9 +1901,6 @@ class BasicPromiseBasedCall : public Call,
|
|
2013
1901
|
}
|
2014
1902
|
}
|
2015
1903
|
|
2016
|
-
// Implementation of EventEngine::Closure, called when deadline expires
|
2017
|
-
void Run() final;
|
2018
|
-
|
2019
1904
|
virtual void OrphanCall() = 0;
|
2020
1905
|
|
2021
1906
|
virtual ServerCallContext* server_call_context() { return nullptr; }
|
@@ -2073,13 +1958,6 @@ class BasicPromiseBasedCall : public Call,
|
|
2073
1958
|
return context_[elem].value;
|
2074
1959
|
}
|
2075
1960
|
|
2076
|
-
void UpdateDeadline(Timestamp deadline) ABSL_LOCKS_EXCLUDED(deadline_mu_);
|
2077
|
-
void ResetDeadline() ABSL_LOCKS_EXCLUDED(deadline_mu_);
|
2078
|
-
Timestamp deadline() {
|
2079
|
-
MutexLock lock(&deadline_mu_);
|
2080
|
-
return deadline_;
|
2081
|
-
}
|
2082
|
-
|
2083
1961
|
// Accept the stats from the context (call once we have proof the transport is
|
2084
1962
|
// done with them).
|
2085
1963
|
void AcceptTransportStatsFromContext() {
|
@@ -2155,52 +2033,11 @@ class BasicPromiseBasedCall : public Call,
|
|
2155
2033
|
// Contexts for various subsystems (security, tracing, ...).
|
2156
2034
|
grpc_call_context_element context_[GRPC_CONTEXT_COUNT] = {};
|
2157
2035
|
grpc_call_stats final_stats_{};
|
2158
|
-
// Current deadline.
|
2159
|
-
Mutex deadline_mu_;
|
2160
|
-
Timestamp deadline_ ABSL_GUARDED_BY(deadline_mu_) = Timestamp::InfFuture();
|
2161
|
-
grpc_event_engine::experimental::EventEngine::TaskHandle ABSL_GUARDED_BY(
|
2162
|
-
deadline_mu_) deadline_task_;
|
2163
2036
|
Slice final_message_;
|
2164
2037
|
grpc_status_code final_status_ = GRPC_STATUS_UNKNOWN;
|
2165
2038
|
grpc_completion_queue* cq_;
|
2166
2039
|
};
|
2167
2040
|
|
2168
|
-
void BasicPromiseBasedCall::UpdateDeadline(Timestamp deadline) {
|
2169
|
-
MutexLock lock(&deadline_mu_);
|
2170
|
-
if (grpc_call_trace.enabled()) {
|
2171
|
-
gpr_log(GPR_DEBUG, "%s[call] UpdateDeadline from=%s to=%s",
|
2172
|
-
DebugTag().c_str(), deadline_.ToString().c_str(),
|
2173
|
-
deadline.ToString().c_str());
|
2174
|
-
}
|
2175
|
-
if (deadline >= deadline_) return;
|
2176
|
-
auto* const event_engine = channel()->event_engine();
|
2177
|
-
if (deadline_ != Timestamp::InfFuture()) {
|
2178
|
-
if (!event_engine->Cancel(deadline_task_)) return;
|
2179
|
-
} else {
|
2180
|
-
InternalRef("deadline");
|
2181
|
-
}
|
2182
|
-
deadline_ = deadline;
|
2183
|
-
deadline_task_ = event_engine->RunAfter(deadline - Timestamp::Now(), this);
|
2184
|
-
}
|
2185
|
-
|
2186
|
-
void BasicPromiseBasedCall::ResetDeadline() {
|
2187
|
-
{
|
2188
|
-
MutexLock lock(&deadline_mu_);
|
2189
|
-
if (deadline_ == Timestamp::InfFuture()) return;
|
2190
|
-
auto* const event_engine = channel()->event_engine();
|
2191
|
-
if (!event_engine->Cancel(deadline_task_)) return;
|
2192
|
-
deadline_ = Timestamp::InfFuture();
|
2193
|
-
}
|
2194
|
-
InternalUnref("deadline[reset]");
|
2195
|
-
}
|
2196
|
-
|
2197
|
-
void BasicPromiseBasedCall::Run() {
|
2198
|
-
ApplicationCallbackExecCtx callback_exec_ctx;
|
2199
|
-
ExecCtx exec_ctx;
|
2200
|
-
CancelWithError(absl::DeadlineExceededError("Deadline exceeded"));
|
2201
|
-
InternalUnref("deadline[run]");
|
2202
|
-
}
|
2203
|
-
|
2204
2041
|
class PromiseBasedCall : public BasicPromiseBasedCall {
|
2205
2042
|
public:
|
2206
2043
|
PromiseBasedCall(Arena* arena, uint32_t initial_external_refs,
|
@@ -2228,7 +2065,7 @@ class PromiseBasedCall : public BasicPromiseBasedCall {
|
|
2228
2065
|
class Completion {
|
2229
2066
|
public:
|
2230
2067
|
Completion() : index_(kNullIndex) {}
|
2231
|
-
~Completion() {
|
2068
|
+
~Completion() { CHECK(index_ == kNullIndex); }
|
2232
2069
|
explicit Completion(uint8_t index) : index_(index) {}
|
2233
2070
|
Completion(const Completion& other) = delete;
|
2234
2071
|
Completion& operator=(const Completion& other) = delete;
|
@@ -2236,7 +2073,7 @@ class PromiseBasedCall : public BasicPromiseBasedCall {
|
|
2236
2073
|
other.index_ = kNullIndex;
|
2237
2074
|
}
|
2238
2075
|
Completion& operator=(Completion&& other) noexcept {
|
2239
|
-
|
2076
|
+
CHECK(index_ == kNullIndex);
|
2240
2077
|
index_ = other.index_;
|
2241
2078
|
other.index_ = kNullIndex;
|
2242
2079
|
return *this;
|
@@ -2421,13 +2258,13 @@ class PromiseBasedCall : public BasicPromiseBasedCall {
|
|
2421
2258
|
if (reason == PendingOp::kReceiveMessage) is_recv_message = true;
|
2422
2259
|
auto prev =
|
2423
2260
|
state.fetch_or(PendingOpBit(reason), std::memory_order_relaxed);
|
2424
|
-
|
2261
|
+
CHECK_EQ((prev & PendingOpBit(reason)), 0u);
|
2425
2262
|
}
|
2426
2263
|
|
2427
2264
|
CompletionState RemovePendingBit(PendingOp reason) {
|
2428
2265
|
const uint32_t mask = ~PendingOpBit(reason);
|
2429
2266
|
auto prev = state.fetch_and(mask, std::memory_order_acq_rel);
|
2430
|
-
|
2267
|
+
CHECK_NE((prev & PendingOpBit(reason)), 0u);
|
2431
2268
|
switch (prev & mask) {
|
2432
2269
|
case kOpFailed:
|
2433
2270
|
return kFailure;
|
@@ -2488,7 +2325,7 @@ grpc_error_handle MakePromiseBasedCall(grpc_call_create_args* args,
|
|
2488
2325
|
auto* arena = channel->CreateArena();
|
2489
2326
|
PromiseBasedCall* call = arena->New<T>(arena, args);
|
2490
2327
|
*out_call = call->c_ptr();
|
2491
|
-
|
2328
|
+
DCHECK(Call::FromC(*out_call) == call);
|
2492
2329
|
return absl::OkStatus();
|
2493
2330
|
}
|
2494
2331
|
|
@@ -2535,7 +2372,7 @@ PromiseBasedCall::Completion PromiseBasedCall::AddOpToCompletion(
|
|
2535
2372
|
gpr_log(GPR_INFO, "%s[call] AddOpToCompletion %s %s", DebugTag().c_str(),
|
2536
2373
|
CompletionString(completion).c_str(), PendingOpString(reason));
|
2537
2374
|
}
|
2538
|
-
|
2375
|
+
CHECK(completion.has_value());
|
2539
2376
|
completion_info_[completion.index()].pending.AddPendingBit(reason);
|
2540
2377
|
return Completion(completion.index());
|
2541
2378
|
}
|
@@ -2562,7 +2399,7 @@ void PromiseBasedCall::FinishOpOnCompletion(Completion* completion,
|
|
2562
2399
|
PendingOpString(reason));
|
2563
2400
|
}
|
2564
2401
|
const uint8_t i = completion->TakeIndex();
|
2565
|
-
|
2402
|
+
CHECK(i < GPR_ARRAY_SIZE(completion_info_));
|
2566
2403
|
CompletionInfo::Pending& pending = completion_info_[i].pending;
|
2567
2404
|
bool success;
|
2568
2405
|
switch (pending.RemovePendingBit(reason)) {
|
@@ -2696,12 +2533,6 @@ void CallContext::IncrementRefCount(const char* reason) {
|
|
2696
2533
|
|
2697
2534
|
void CallContext::Unref(const char* reason) { call_->InternalUnref(reason); }
|
2698
2535
|
|
2699
|
-
void CallContext::UpdateDeadline(Timestamp deadline) {
|
2700
|
-
call_->UpdateDeadline(deadline);
|
2701
|
-
}
|
2702
|
-
|
2703
|
-
Timestamp CallContext::deadline() const { return call_->deadline(); }
|
2704
|
-
|
2705
2536
|
ServerCallContext* CallContext::server_call_context() {
|
2706
2537
|
return call_->server_call_context();
|
2707
2538
|
}
|
@@ -2749,13 +2580,14 @@ class ClientPromiseBasedCall final : public PromiseBasedCall {
|
|
2749
2580
|
: grpc_polling_entity{})) {
|
2750
2581
|
global_stats().IncrementClientCallsCreated();
|
2751
2582
|
if (args->cq != nullptr) {
|
2752
|
-
|
2753
|
-
|
2754
|
-
|
2583
|
+
CHECK(args->pollset_set_alternative == nullptr)
|
2584
|
+
<< "Only one of 'cq' and 'pollset_set_alternative' should be "
|
2585
|
+
"non-nullptr.";
|
2755
2586
|
}
|
2756
2587
|
ScopedContext context(this);
|
2757
|
-
|
2758
|
-
|
2588
|
+
args->channel->channel_stack()->stats_plugin_group->AddClientCallTracers(
|
2589
|
+
*args->path, args->registered_method, this->context());
|
2590
|
+
send_initial_metadata_ = Arena::MakePooled<ClientMetadata>();
|
2759
2591
|
send_initial_metadata_->Set(HttpPathMetadata(), std::move(*args->path));
|
2760
2592
|
if (args->authority.has_value()) {
|
2761
2593
|
send_initial_metadata_->Set(HttpAuthorityMetadata(),
|
@@ -2834,7 +2666,7 @@ class ClientPromiseBasedCall final : public PromiseBasedCall {
|
|
2834
2666
|
}
|
2835
2667
|
|
2836
2668
|
RefCountedPtr<CallSpineInterface> MakeCallSpine(CallArgs call_args) final {
|
2837
|
-
class WrappingCallSpine final : public
|
2669
|
+
class WrappingCallSpine final : public PipeBasedCallSpine {
|
2838
2670
|
public:
|
2839
2671
|
WrappingCallSpine(ClientPromiseBasedCall* call,
|
2840
2672
|
ClientMetadataHandle metadata)
|
@@ -2875,15 +2707,16 @@ class ClientPromiseBasedCall final : public PromiseBasedCall {
|
|
2875
2707
|
return call_->server_to_client_messages_;
|
2876
2708
|
}
|
2877
2709
|
|
2878
|
-
Pipe<ServerMetadataHandle>& server_trailing_metadata() override {
|
2879
|
-
return server_trailing_metadata_;
|
2880
|
-
}
|
2881
|
-
|
2882
2710
|
Latch<ServerMetadataHandle>& cancel_latch() override {
|
2883
2711
|
return cancel_error_;
|
2884
2712
|
}
|
2885
2713
|
|
2714
|
+
Latch<bool>& was_cancelled_latch() override {
|
2715
|
+
return was_cancelled_latch_;
|
2716
|
+
}
|
2717
|
+
|
2886
2718
|
Party& party() override { return *call_; }
|
2719
|
+
Arena* arena() override { return call_->arena(); }
|
2887
2720
|
|
2888
2721
|
void IncrementRefCount() override { refs_.Ref(); }
|
2889
2722
|
void Unref() override {
|
@@ -2894,6 +2727,12 @@ class ClientPromiseBasedCall final : public PromiseBasedCall {
|
|
2894
2727
|
return RefCountedPtr<WrappingCallSpine>(this);
|
2895
2728
|
}
|
2896
2729
|
|
2730
|
+
ClientMetadata& UnprocessedClientInitialMetadata() override {
|
2731
|
+
Crash("not for v2");
|
2732
|
+
}
|
2733
|
+
|
2734
|
+
void V2HackToStartCallWithoutACallFilterStack() override {}
|
2735
|
+
|
2897
2736
|
private:
|
2898
2737
|
RefCount refs_;
|
2899
2738
|
ClientPromiseBasedCall* const call_;
|
@@ -2901,13 +2740,14 @@ class ClientPromiseBasedCall final : public PromiseBasedCall {
|
|
2901
2740
|
Pipe<ClientMetadataHandle> client_initial_metadata_{call_->arena()};
|
2902
2741
|
Pipe<ServerMetadataHandle> server_trailing_metadata_{call_->arena()};
|
2903
2742
|
Latch<ServerMetadataHandle> cancel_error_;
|
2743
|
+
Latch<bool> was_cancelled_latch_;
|
2904
2744
|
};
|
2905
|
-
|
2906
|
-
|
2907
|
-
|
2908
|
-
|
2909
|
-
|
2910
|
-
|
2745
|
+
CHECK(call_args.server_initial_metadata ==
|
2746
|
+
&server_initial_metadata_.sender);
|
2747
|
+
CHECK(call_args.client_to_server_messages ==
|
2748
|
+
&client_to_server_messages_.receiver);
|
2749
|
+
CHECK(call_args.server_to_client_messages ==
|
2750
|
+
&server_to_client_messages_.sender);
|
2911
2751
|
call_args.client_initial_metadata_outstanding.Complete(true);
|
2912
2752
|
return MakeRefCounted<WrappingCallSpine>(
|
2913
2753
|
this, std::move(call_args.client_initial_metadata));
|
@@ -3161,7 +3001,7 @@ void ClientPromiseBasedCall::StartRecvInitialMetadata(
|
|
3161
3001
|
is_trailers_only_ = metadata->get(GrpcTrailersOnly()).value_or(false);
|
3162
3002
|
} else {
|
3163
3003
|
is_trailers_only_ = true;
|
3164
|
-
metadata = arena()->MakePooled<ServerMetadata>(
|
3004
|
+
metadata = arena()->MakePooled<ServerMetadata>();
|
3165
3005
|
}
|
3166
3006
|
ProcessIncomingInitialMetadata(*metadata);
|
3167
3007
|
PublishMetadataArray(metadata.get(), array, true);
|
@@ -3397,7 +3237,7 @@ class ServerPromiseBasedCall final : public PromiseBasedCall,
|
|
3397
3237
|
const Completion& completion);
|
3398
3238
|
void Finish(ServerMetadataHandle result);
|
3399
3239
|
|
3400
|
-
|
3240
|
+
ServerInterface* const server_;
|
3401
3241
|
const void* const server_transport_data_;
|
3402
3242
|
PipeSender<ServerMetadataHandle>* server_initial_metadata_ = nullptr;
|
3403
3243
|
PipeSender<MessageHandle>* server_to_client_messages_ = nullptr;
|
@@ -3419,11 +3259,16 @@ ServerPromiseBasedCall::ServerPromiseBasedCall(Arena* arena,
|
|
3419
3259
|
if (channelz_node != nullptr) {
|
3420
3260
|
channelz_node->RecordCallStarted();
|
3421
3261
|
}
|
3262
|
+
ScopedContext activity_context(this);
|
3422
3263
|
// TODO(yashykt): In the future, we want to also enable stats and trace
|
3423
3264
|
// collecting from when the call is created at the transport. The idea is that
|
3424
3265
|
// the transport would create the call tracer and pass it in as part of the
|
3425
3266
|
// metadata.
|
3426
|
-
|
3267
|
+
// TODO(yijiem): OpenCensus and internal Census is still using this way to
|
3268
|
+
// set server call tracer. We need to refactor them to stats plugins
|
3269
|
+
// (including removing the client channel filters).
|
3270
|
+
if (args->server != nullptr &&
|
3271
|
+
args->server->server_call_tracer_factory() != nullptr) {
|
3427
3272
|
auto* server_call_tracer =
|
3428
3273
|
args->server->server_call_tracer_factory()->CreateNewServerCallTracer(
|
3429
3274
|
arena, args->server->channel_args());
|
@@ -3438,7 +3283,8 @@ ServerPromiseBasedCall::ServerPromiseBasedCall(Arena* arena,
|
|
3438
3283
|
ContextSet(GRPC_CONTEXT_CALL_TRACER, server_call_tracer, nullptr);
|
3439
3284
|
}
|
3440
3285
|
}
|
3441
|
-
|
3286
|
+
args->channel->channel_stack()->stats_plugin_group->AddServerCallTracers(
|
3287
|
+
context());
|
3442
3288
|
Spawn("server_promise",
|
3443
3289
|
channel()->channel_stack()->MakeServerCallPromise(
|
3444
3290
|
CallArgs{nullptr, ClientInitialMetadataOutstandingToken::Empty(),
|
@@ -3532,7 +3378,7 @@ void ServerPromiseBasedCall::CommitBatch(const grpc_op* ops, size_t nops,
|
|
3532
3378
|
const grpc_op& op = ops[op_idx];
|
3533
3379
|
switch (op.op) {
|
3534
3380
|
case GRPC_OP_SEND_INITIAL_METADATA: {
|
3535
|
-
auto metadata = arena()->MakePooled<ServerMetadata>(
|
3381
|
+
auto metadata = arena()->MakePooled<ServerMetadata>();
|
3536
3382
|
PrepareOutgoingInitialMetadata(op, *metadata);
|
3537
3383
|
CToMetadata(op.data.send_initial_metadata.metadata,
|
3538
3384
|
op.data.send_initial_metadata.count, metadata.get());
|
@@ -3572,7 +3418,7 @@ void ServerPromiseBasedCall::CommitBatch(const grpc_op* ops, size_t nops,
|
|
3572
3418
|
client_to_server_messages_, true, spawner);
|
3573
3419
|
break;
|
3574
3420
|
case GRPC_OP_SEND_STATUS_FROM_SERVER: {
|
3575
|
-
auto metadata = arena()->MakePooled<ServerMetadata>(
|
3421
|
+
auto metadata = arena()->MakePooled<ServerMetadata>();
|
3576
3422
|
CToMetadata(op.data.send_status_from_server.trailing_metadata,
|
3577
3423
|
op.data.send_status_from_server.trailing_metadata_count,
|
3578
3424
|
metadata.get());
|
@@ -3698,7 +3544,12 @@ ServerPromiseBasedCall::MakeTopOfServerCallPromise(
|
|
3698
3544
|
server_to_client_messages_ = call_args.server_to_client_messages;
|
3699
3545
|
client_to_server_messages_ = call_args.client_to_server_messages;
|
3700
3546
|
server_initial_metadata_ = call_args.server_initial_metadata;
|
3701
|
-
|
3547
|
+
absl::optional<Timestamp> deadline =
|
3548
|
+
client_initial_metadata_->get(GrpcTimeoutMetadata());
|
3549
|
+
if (deadline.has_value()) {
|
3550
|
+
set_send_deadline(*deadline);
|
3551
|
+
UpdateDeadline(*deadline);
|
3552
|
+
}
|
3702
3553
|
ProcessIncomingInitialMetadata(*client_initial_metadata_);
|
3703
3554
|
ExternalRef();
|
3704
3555
|
publish(c_ptr());
|
@@ -3709,11 +3560,12 @@ ServerPromiseBasedCall::MakeTopOfServerCallPromise(
|
|
3709
3560
|
///////////////////////////////////////////////////////////////////////////////
|
3710
3561
|
// CallSpine based Server Call
|
3711
3562
|
|
3712
|
-
class ServerCallSpine final : public
|
3563
|
+
class ServerCallSpine final : public PipeBasedCallSpine,
|
3713
3564
|
public ServerCallContext,
|
3714
3565
|
public BasicPromiseBasedCall {
|
3715
3566
|
public:
|
3716
|
-
ServerCallSpine(
|
3567
|
+
ServerCallSpine(ClientMetadataHandle client_initial_metadata,
|
3568
|
+
ServerInterface* server, Channel* channel, Arena* arena);
|
3717
3569
|
|
3718
3570
|
// CallSpineInterface
|
3719
3571
|
Pipe<ClientMetadataHandle>& client_initial_metadata() override {
|
@@ -3728,11 +3580,10 @@ class ServerCallSpine final : public CallSpineInterface,
|
|
3728
3580
|
Pipe<MessageHandle>& server_to_client_messages() override {
|
3729
3581
|
return server_to_client_messages_;
|
3730
3582
|
}
|
3731
|
-
Pipe<ServerMetadataHandle>& server_trailing_metadata() override {
|
3732
|
-
return server_trailing_metadata_;
|
3733
|
-
}
|
3734
3583
|
Latch<ServerMetadataHandle>& cancel_latch() override { return cancel_latch_; }
|
3584
|
+
Latch<bool>& was_cancelled_latch() override { return was_cancelled_latch_; }
|
3735
3585
|
Party& party() override { return *this; }
|
3586
|
+
Arena* arena() override { return BasicPromiseBasedCall::arena(); }
|
3736
3587
|
void IncrementRefCount() override { InternalRef("CallSpine"); }
|
3737
3588
|
void Unref() override { InternalUnref("CallSpine"); }
|
3738
3589
|
|
@@ -3743,7 +3594,9 @@ class ServerCallSpine final : public CallSpineInterface,
|
|
3743
3594
|
}
|
3744
3595
|
void CancelWithError(grpc_error_handle error) override {
|
3745
3596
|
SpawnInfallible("CancelWithError", [this, error = std::move(error)] {
|
3746
|
-
|
3597
|
+
auto status = ServerMetadataFromStatus(error);
|
3598
|
+
status->Set(GrpcCallWasCancelled(), true);
|
3599
|
+
PushServerTrailingMetadata(std::move(status));
|
3747
3600
|
return Empty{};
|
3748
3601
|
});
|
3749
3602
|
}
|
@@ -3770,6 +3623,12 @@ class ServerCallSpine final : public CallSpineInterface,
|
|
3770
3623
|
Crash("unimplemented");
|
3771
3624
|
}
|
3772
3625
|
|
3626
|
+
void V2HackToStartCallWithoutACallFilterStack() override {}
|
3627
|
+
|
3628
|
+
ClientMetadata& UnprocessedClientInitialMetadata() override {
|
3629
|
+
Crash("not for v2");
|
3630
|
+
}
|
3631
|
+
|
3773
3632
|
bool RunParty() override {
|
3774
3633
|
ScopedContext ctx(this);
|
3775
3634
|
return Party::RunParty();
|
@@ -3792,15 +3651,16 @@ class ServerCallSpine final : public CallSpineInterface,
|
|
3792
3651
|
Pipe<MessageHandle> client_to_server_messages_;
|
3793
3652
|
// Messages travelling from the transport to the application.
|
3794
3653
|
Pipe<MessageHandle> server_to_client_messages_;
|
3795
|
-
// Trailing metadata from server to client
|
3796
|
-
Pipe<ServerMetadataHandle> server_trailing_metadata_;
|
3797
3654
|
// Latch that can be set to terminate the call
|
3798
3655
|
Latch<ServerMetadataHandle> cancel_latch_;
|
3656
|
+
Latch<bool> was_cancelled_latch_;
|
3799
3657
|
grpc_byte_buffer** recv_message_ = nullptr;
|
3800
3658
|
ClientMetadataHandle client_initial_metadata_stored_;
|
3801
3659
|
};
|
3802
3660
|
|
3803
|
-
ServerCallSpine::ServerCallSpine(
|
3661
|
+
ServerCallSpine::ServerCallSpine(ClientMetadataHandle client_initial_metadata,
|
3662
|
+
ServerInterface* server, Channel* channel,
|
3663
|
+
Arena* arena)
|
3804
3664
|
: BasicPromiseBasedCall(arena, 0, 1,
|
3805
3665
|
[channel, server]() -> grpc_call_create_args {
|
3806
3666
|
grpc_call_create_args args;
|
@@ -3818,11 +3678,15 @@ ServerCallSpine::ServerCallSpine(Server* server, Channel* channel, Arena* arena)
|
|
3818
3678
|
client_initial_metadata_(arena),
|
3819
3679
|
server_initial_metadata_(arena),
|
3820
3680
|
client_to_server_messages_(arena),
|
3821
|
-
server_to_client_messages_(arena)
|
3822
|
-
server_trailing_metadata_(arena) {
|
3681
|
+
server_to_client_messages_(arena) {
|
3823
3682
|
global_stats().IncrementServerCallsCreated();
|
3824
3683
|
ScopedContext ctx(this);
|
3825
3684
|
channel->channel_stack()->InitServerCallSpine(this);
|
3685
|
+
SpawnGuarded("push_client_initial_metadata",
|
3686
|
+
[this, md = std::move(client_initial_metadata)]() mutable {
|
3687
|
+
return Map(client_initial_metadata_.sender.Push(std::move(md)),
|
3688
|
+
[](bool r) { return StatusFlag(r); });
|
3689
|
+
});
|
3826
3690
|
}
|
3827
3691
|
|
3828
3692
|
void ServerCallSpine::PublishInitialMetadata(
|
@@ -4044,7 +3908,7 @@ void ServerCallSpine::CommitBatch(const grpc_op* ops, size_t nops,
|
|
4044
3908
|
if (!is_notify_tag_closure) grpc_cq_begin_op(cq(), notify_tag);
|
4045
3909
|
auto send_initial_metadata = MaybeOp(
|
4046
3910
|
ops, got_ops[GRPC_OP_SEND_INITIAL_METADATA], [this](const grpc_op& op) {
|
4047
|
-
auto metadata = arena()->MakePooled<ServerMetadata>(
|
3911
|
+
auto metadata = arena()->MakePooled<ServerMetadata>();
|
4048
3912
|
PrepareOutgoingInitialMetadata(op, *metadata);
|
4049
3913
|
CToMetadata(op.data.send_initial_metadata.metadata,
|
4050
3914
|
op.data.send_initial_metadata.count, metadata.get());
|
@@ -4074,7 +3938,7 @@ void ServerCallSpine::CommitBatch(const grpc_op* ops, size_t nops,
|
|
4074
3938
|
});
|
4075
3939
|
auto send_trailing_metadata = MaybeOp(
|
4076
3940
|
ops, got_ops[GRPC_OP_SEND_STATUS_FROM_SERVER], [this](const grpc_op& op) {
|
4077
|
-
auto metadata = arena()->MakePooled<ServerMetadata>(
|
3941
|
+
auto metadata = arena()->MakePooled<ServerMetadata>();
|
4078
3942
|
CToMetadata(op.data.send_status_from_server.trailing_metadata,
|
4079
3943
|
op.data.send_status_from_server.trailing_metadata_count,
|
4080
3944
|
metadata.get());
|
@@ -4088,15 +3952,20 @@ void ServerCallSpine::CommitBatch(const grpc_op* ops, size_t nops,
|
|
4088
3952
|
metadata->Set(GrpcMessageMetadata(),
|
4089
3953
|
Slice(grpc_slice_copy(*details)));
|
4090
3954
|
}
|
3955
|
+
CHECK(metadata != nullptr);
|
4091
3956
|
return [this, metadata = std::move(metadata)]() mutable {
|
4092
|
-
|
4093
|
-
return
|
4094
|
-
|
3957
|
+
CHECK(metadata != nullptr);
|
3958
|
+
return [this,
|
3959
|
+
metadata = std::move(metadata)]() mutable -> Poll<Success> {
|
3960
|
+
CHECK(metadata != nullptr);
|
3961
|
+
PushServerTrailingMetadata(std::move(metadata));
|
3962
|
+
return Success{};
|
3963
|
+
};
|
4095
3964
|
};
|
4096
3965
|
});
|
4097
3966
|
auto recv_message =
|
4098
3967
|
MaybeOp(ops, got_ops[GRPC_OP_RECV_MESSAGE], [this](const grpc_op& op) {
|
4099
|
-
|
3968
|
+
CHECK_EQ(recv_message_, nullptr);
|
4100
3969
|
recv_message_ = op.data.recv_message.recv_message;
|
4101
3970
|
return [this]() mutable {
|
4102
3971
|
return Map(client_to_server_messages_.receiver.Next(),
|
@@ -4106,13 +3975,15 @@ void ServerCallSpine::CommitBatch(const grpc_op* ops, size_t nops,
|
|
4106
3975
|
};
|
4107
3976
|
});
|
4108
3977
|
auto primary_ops = AllOk<StatusFlag>(
|
4109
|
-
std::move(send_initial_metadata),
|
4110
|
-
|
3978
|
+
TrySeq(AllOk<StatusFlag>(std::move(send_initial_metadata),
|
3979
|
+
std::move(send_message)),
|
3980
|
+
std::move(send_trailing_metadata)),
|
3981
|
+
std::move(recv_message));
|
4111
3982
|
if (got_ops[GRPC_OP_RECV_CLOSE_ON_SERVER] != 255) {
|
4112
3983
|
auto recv_trailing_metadata = MaybeOp(
|
4113
3984
|
ops, got_ops[GRPC_OP_RECV_CLOSE_ON_SERVER], [this](const grpc_op& op) {
|
4114
3985
|
return [this, cancelled = op.data.recv_close_on_server.cancelled]() {
|
4115
|
-
return Map(
|
3986
|
+
return Map(WasCancelled(),
|
4116
3987
|
[cancelled, this](bool result) -> Success {
|
4117
3988
|
ResetDeadline();
|
4118
3989
|
*cancelled = result ? 1 : 0;
|
@@ -4148,14 +4019,16 @@ void ServerCallSpine::CommitBatch(const grpc_op* ops, size_t nops,
|
|
4148
4019
|
}
|
4149
4020
|
}
|
4150
4021
|
|
4151
|
-
RefCountedPtr<CallSpineInterface> MakeServerCall(
|
4152
|
-
|
4153
|
-
|
4154
|
-
return RefCountedPtr<ServerCallSpine>(
|
4155
|
-
|
4022
|
+
RefCountedPtr<CallSpineInterface> MakeServerCall(
|
4023
|
+
ClientMetadataHandle client_initial_metadata, ServerInterface* server,
|
4024
|
+
Channel* channel, Arena* arena) {
|
4025
|
+
return RefCountedPtr<ServerCallSpine>(arena->New<ServerCallSpine>(
|
4026
|
+
std::move(client_initial_metadata), server, channel, arena));
|
4156
4027
|
}
|
4157
4028
|
#else
|
4158
|
-
RefCountedPtr<CallSpineInterface> MakeServerCall(
|
4029
|
+
RefCountedPtr<CallSpineInterface> MakeServerCall(ClientMetadataHandle,
|
4030
|
+
ServerInterface*, Channel*,
|
4031
|
+
Arena*) {
|
4159
4032
|
Crash("not implemented");
|
4160
4033
|
}
|
4161
4034
|
#endif
|
@@ -4215,7 +4088,7 @@ grpc_call* grpc_call_from_top_element(grpc_call_element* surface_element) {
|
|
4215
4088
|
|
4216
4089
|
grpc_call_error grpc_call_cancel(grpc_call* call, void* reserved) {
|
4217
4090
|
GRPC_API_TRACE("grpc_call_cancel(call=%p, reserved=%p)", 2, (call, reserved));
|
4218
|
-
|
4091
|
+
CHECK_EQ(reserved, nullptr);
|
4219
4092
|
if (call == nullptr) {
|
4220
4093
|
return GRPC_CALL_ERROR;
|
4221
4094
|
}
|
@@ -4233,7 +4106,7 @@ grpc_call_error grpc_call_cancel_with_status(grpc_call* c,
|
|
4233
4106
|
"grpc_call_cancel_with_status("
|
4234
4107
|
"c=%p, status=%d, description=%s, reserved=%p)",
|
4235
4108
|
4, (c, (int)status, description, reserved));
|
4236
|
-
|
4109
|
+
CHECK_EQ(reserved, nullptr);
|
4237
4110
|
if (c == nullptr) {
|
4238
4111
|
return GRPC_CALL_ERROR;
|
4239
4112
|
}
|