grpc 1.81.1 → 1.83.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 +15 -9
- data/etc/roots.pem +10400 -3855
- data/include/grpc/grpc.h +6 -7
- data/include/grpc/grpc_audit_logging.h +2 -2
- data/include/grpc/grpc_security_constants.h +2 -0
- data/include/grpc/impl/channel_arg_names.h +26 -1
- data/src/core/call/call_filters.h +21 -5
- data/src/core/call/call_spine.h +4 -4
- data/src/core/call/client_call.cc +2 -2
- data/src/core/call/interception_chain.h +6 -9
- data/src/core/call/metadata.cc +7 -2
- data/src/core/call/metadata.h +1 -1
- data/src/core/call/metadata_batch.cc +1 -1
- data/src/core/call/metadata_batch.h +17 -1
- data/src/core/call/parsed_metadata.h +7 -2
- data/src/core/call/server_call.cc +16 -4
- data/src/core/call/server_call.h +14 -5
- data/src/core/call/status_util.cc +0 -4
- data/src/core/call/status_util.h +0 -3
- data/src/core/channelz/channel_trace.cc +3 -1
- data/src/core/client_channel/backup_poller.cc +2 -17
- data/src/core/client_channel/client_channel.cc +23 -28
- data/src/core/client_channel/client_channel.h +5 -3
- data/src/core/client_channel/client_channel_filter.cc +19 -30
- data/src/core/client_channel/client_channel_filter.h +2 -2
- data/src/core/client_channel/client_channel_plugin.cc +1 -1
- data/src/core/client_channel/client_channel_service_config.cc +5 -13
- data/src/core/client_channel/config_selector.h +2 -7
- data/src/core/client_channel/direct_channel.cc +5 -1
- data/src/core/client_channel/direct_channel.h +3 -1
- data/src/core/client_channel/dynamic_filters.cc +4 -7
- data/src/core/client_channel/dynamic_filters.h +1 -3
- data/src/core/client_channel/retry_filter.cc +2 -25
- data/src/core/client_channel/retry_filter.h +3 -7
- data/src/core/client_channel/retry_filter_legacy_call_data.cc +1 -1
- data/src/core/client_channel/retry_filter_legacy_call_data.h +2 -2
- data/src/core/client_channel/retry_interceptor.cc +7 -35
- data/src/core/client_channel/retry_interceptor.h +11 -14
- data/src/core/client_channel/retry_service_config.cc +0 -2
- data/src/core/client_channel/retry_service_config.h +0 -2
- data/src/core/client_channel/retry_throttle.cc +19 -7
- data/src/core/client_channel/retry_throttle.h +24 -7
- data/src/core/client_channel/subchannel.cc +1 -1
- data/src/core/{filter/blackboard.cc → config/experiment_env_var.cc} +11 -14
- data/src/core/config/experiment_env_var.h +26 -0
- data/src/core/credentials/call/external/external_account_credentials.cc +125 -12
- data/src/core/credentials/call/external/external_account_credentials.h +6 -1
- data/src/core/credentials/call/jwt/jwt_credentials.cc +11 -1
- data/src/core/credentials/call/jwt/jwt_credentials.h +3 -0
- data/src/core/credentials/call/oauth2/oauth2_credentials.cc +64 -11
- data/src/core/credentials/call/oauth2/oauth2_credentials.h +0 -1
- data/src/core/credentials/call/regional_access_boundary_fetcher.cc +411 -0
- data/src/core/credentials/call/regional_access_boundary_fetcher.h +158 -0
- data/src/core/credentials/call/token_fetcher/token_fetcher_credentials.cc +1 -1
- data/src/core/credentials/call/token_fetcher/token_fetcher_credentials.h +7 -1
- data/src/core/credentials/transport/insecure/insecure_security_connector.h +1 -1
- data/src/core/credentials/transport/local/local_security_connector.cc +1 -1
- data/src/core/credentials/transport/ssl/ssl_security_connector.cc +14 -2
- data/src/core/credentials/transport/tls/grpc_tls_certificate_selector.cc +172 -0
- data/src/core/credentials/transport/tls/grpc_tls_certificate_selector.h +103 -0
- data/src/core/credentials/transport/tls/load_system_roots_fallback.cc +3 -2
- data/src/core/credentials/transport/tls/load_system_roots_supported.cc +10 -3
- data/src/core/credentials/transport/tls/tls_security_connector.cc +14 -2
- data/src/core/credentials/transport/xds/xds_credentials.cc +4 -12
- data/src/core/ext/filters/backend_metrics/backend_metric_filter.cc +6 -0
- data/src/core/ext/filters/fault_injection/fault_injection_filter.cc +28 -66
- data/src/core/ext/filters/fault_injection/fault_injection_filter.h +0 -8
- data/src/core/ext/filters/gcp_authentication/gcp_authentication_filter.cc +24 -58
- data/src/core/ext/filters/gcp_authentication/gcp_authentication_filter.h +24 -19
- data/src/core/ext/filters/message_size/message_size_filter.cc +1 -81
- data/src/core/ext/filters/message_size/message_size_filter.h +1 -50
- data/src/core/ext/filters/rbac/rbac_service_config_parser.cc +2 -1
- data/src/core/ext/filters/stateful_session/stateful_session_filter.cc +13 -56
- data/src/core/ext/filters/stateful_session/stateful_session_filter.h +0 -14
- data/src/core/ext/transport/chttp2/client/chttp2_connector.cc +1 -1
- data/src/core/ext/transport/chttp2/server/chttp2_server.cc +184 -54
- data/src/core/ext/transport/chttp2/server/chttp2_server.h +10 -1
- data/src/core/ext/transport/chttp2/transport/chttp2_transport.cc +84 -15
- data/src/core/ext/transport/chttp2/transport/chttp2_transport.h +1 -0
- data/src/core/ext/transport/chttp2/transport/flow_control.cc +3 -3
- data/src/core/ext/transport/chttp2/transport/flow_control.h +14 -2
- data/src/core/ext/transport/chttp2/transport/flow_control_manager.h +2 -4
- data/src/core/ext/transport/chttp2/transport/frame.cc +120 -13
- data/src/core/ext/transport/chttp2/transport/frame.h +57 -10
- data/src/core/ext/transport/chttp2/transport/frame_ping.cc +4 -1
- data/src/core/ext/transport/chttp2/transport/frame_rst_stream.cc +13 -7
- data/src/core/ext/transport/chttp2/transport/frame_rst_stream.h +1 -1
- data/src/core/ext/transport/chttp2/transport/frame_security.cc +10 -1
- data/src/core/ext/transport/chttp2/transport/frame_security.h +2 -1
- data/src/core/ext/transport/chttp2/transport/frame_settings.cc +4 -1
- data/src/core/ext/transport/chttp2/transport/goaway.cc +11 -1
- data/src/core/ext/transport/chttp2/transport/goaway.h +17 -1
- data/src/core/ext/transport/chttp2/transport/header_assembler.h +54 -22
- data/src/core/ext/transport/chttp2/transport/hpack_encoder.cc +53 -5
- data/src/core/ext/transport/chttp2/transport/hpack_parse_result.cc +22 -0
- data/src/core/ext/transport/chttp2/transport/hpack_parse_result.h +20 -0
- data/src/core/ext/transport/chttp2/transport/hpack_parser.cc +42 -1
- data/src/core/ext/transport/chttp2/transport/hpack_parser.h +4 -1
- data/src/core/ext/transport/chttp2/transport/http2_client_transport.cc +219 -417
- data/src/core/ext/transport/chttp2/transport/http2_client_transport.h +49 -29
- data/src/core/ext/transport/chttp2/transport/http2_server_transport.cc +2073 -0
- data/src/core/ext/transport/chttp2/transport/http2_server_transport.h +746 -0
- data/src/core/ext/transport/chttp2/transport/http2_settings.cc +1 -1
- data/src/core/ext/transport/chttp2/transport/http2_settings.h +49 -15
- data/src/core/ext/transport/chttp2/transport/http2_settings_manager.h +0 -2
- data/src/core/ext/transport/chttp2/transport/http2_settings_promises.h +74 -26
- data/src/core/ext/transport/chttp2/transport/http2_transport.cc +39 -15
- data/src/core/ext/transport/chttp2/transport/http2_transport.h +18 -48
- data/src/core/ext/transport/chttp2/transport/internal.h +18 -0
- data/src/core/ext/transport/chttp2/transport/message_assembler.h +1 -2
- data/src/core/ext/transport/chttp2/transport/parsing.cc +85 -26
- data/src/core/ext/transport/chttp2/transport/ping_promise.cc +1 -1
- data/src/core/ext/transport/chttp2/transport/ping_rate_policy.cc +4 -10
- data/src/core/ext/transport/chttp2/transport/read_context.h +494 -0
- data/src/core/ext/transport/chttp2/transport/security_frame.h +13 -3
- data/src/core/ext/transport/chttp2/transport/stream.h +287 -137
- data/src/core/ext/transport/chttp2/transport/stream_data_queue.h +83 -65
- data/src/core/ext/transport/chttp2/transport/write_cycle.h +9 -1
- data/src/core/ext/transport/inproc/legacy_inproc_transport.cc +16 -2
- data/src/core/ext/upb-gen/cel/expr/checked.upb.h +621 -432
- data/src/core/ext/upb-gen/cel/expr/checked.upb_minitable.c +264 -166
- data/src/core/ext/upb-gen/cel/expr/checked.upb_minitable.h +0 -13
- data/src/core/ext/upb-gen/cel/expr/syntax.upb.h +708 -497
- data/src/core/ext/upb-gen/cel/expr/syntax.upb_minitable.c +294 -176
- data/src/core/ext/upb-gen/cel/expr/syntax.upb_minitable.h +0 -15
- data/src/core/ext/upb-gen/envoy/admin/v3/certs.upb.h +262 -181
- data/src/core/ext/upb-gen/envoy/admin/v3/certs.upb_minitable.c +84 -58
- data/src/core/ext/upb-gen/envoy/admin/v3/certs.upb_minitable.h +0 -5
- data/src/core/ext/upb-gen/envoy/admin/v3/clusters.upb.h +254 -190
- data/src/core/ext/upb-gen/envoy/admin/v3/clusters.upb_minitable.c +107 -53
- data/src/core/ext/upb-gen/envoy/admin/v3/clusters.upb_minitable.h +0 -4
- data/src/core/ext/upb-gen/envoy/admin/v3/config_dump.upb.h +271 -190
- data/src/core/ext/upb-gen/envoy/admin/v3/config_dump.upb_minitable.c +88 -64
- data/src/core/ext/upb-gen/envoy/admin/v3/config_dump.upb_minitable.h +0 -5
- data/src/core/ext/upb-gen/envoy/admin/v3/config_dump_shared.upb.h +1035 -730
- data/src/core/ext/upb-gen/envoy/admin/v3/config_dump_shared.upb_minitable.c +384 -260
- data/src/core/ext/upb-gen/envoy/admin/v3/config_dump_shared.upb_minitable.h +0 -19
- data/src/core/ext/upb-gen/envoy/admin/v3/init_dump.upb.h +87 -56
- data/src/core/ext/upb-gen/envoy/admin/v3/init_dump.upb_minitable.c +26 -16
- data/src/core/ext/upb-gen/envoy/admin/v3/init_dump.upb_minitable.h +0 -2
- data/src/core/ext/upb-gen/envoy/admin/v3/listeners.upb.h +105 -71
- data/src/core/ext/upb-gen/envoy/admin/v3/listeners.upb_minitable.c +30 -22
- data/src/core/ext/upb-gen/envoy/admin/v3/listeners.upb_minitable.h +0 -2
- data/src/core/ext/upb-gen/envoy/admin/v3/memory.upb.h +31 -29
- data/src/core/ext/upb-gen/envoy/admin/v3/memory.upb_minitable.c +19 -7
- data/src/core/ext/upb-gen/envoy/admin/v3/memory.upb_minitable.h +0 -1
- data/src/core/ext/upb-gen/envoy/admin/v3/metrics.upb.h +25 -23
- data/src/core/ext/upb-gen/envoy/admin/v3/metrics.upb_minitable.c +15 -7
- data/src/core/ext/upb-gen/envoy/admin/v3/metrics.upb_minitable.h +0 -1
- data/src/core/ext/upb-gen/envoy/admin/v3/mutex_stats.upb.h +25 -23
- data/src/core/ext/upb-gen/envoy/admin/v3/mutex_stats.upb_minitable.c +15 -7
- data/src/core/ext/upb-gen/envoy/admin/v3/mutex_stats.upb_minitable.h +0 -1
- data/src/core/ext/upb-gen/envoy/admin/v3/server_info.upb.h +201 -165
- data/src/core/ext/upb-gen/envoy/admin/v3/server_info.upb_minitable.c +79 -31
- data/src/core/ext/upb-gen/envoy/admin/v3/server_info.upb_minitable.h +0 -2
- data/src/core/ext/upb-gen/envoy/admin/v3/tap.upb.h +29 -26
- data/src/core/ext/upb-gen/envoy/admin/v3/tap.upb_minitable.c +17 -11
- data/src/core/ext/upb-gen/envoy/admin/v3/tap.upb_minitable.h +0 -1
- data/src/core/ext/upb-gen/envoy/annotations/deprecation.upb.h +46 -29
- data/src/core/ext/upb-gen/envoy/annotations/deprecation.upb_minitable.c +37 -19
- data/src/core/ext/upb-gen/envoy/annotations/deprecation.upb_minitable.h +4 -4
- data/src/core/ext/upb-gen/envoy/annotations/resource.upb.h +34 -27
- data/src/core/ext/upb-gen/envoy/annotations/resource.upb_minitable.c +34 -13
- data/src/core/ext/upb-gen/envoy/annotations/resource.upb_minitable.h +1 -2
- data/src/core/ext/upb-gen/envoy/config/accesslog/v3/accesslog.upb.h +617 -452
- data/src/core/ext/upb-gen/envoy/config/accesslog/v3/accesslog.upb_minitable.c +221 -163
- data/src/core/ext/upb-gen/envoy/config/accesslog/v3/accesslog.upb_minitable.h +0 -16
- data/src/core/ext/upb-gen/envoy/config/bootstrap/v3/bootstrap.upb.h +1339 -970
- data/src/core/ext/upb-gen/envoy/config/bootstrap/v3/bootstrap.upb_minitable.c +484 -324
- data/src/core/ext/upb-gen/envoy/config/bootstrap/v3/bootstrap.upb_minitable.h +0 -23
- data/src/core/ext/upb-gen/envoy/config/cluster/v3/circuit_breaker.upb.h +181 -135
- data/src/core/ext/upb-gen/envoy/config/cluster/v3/circuit_breaker.upb_minitable.c +59 -43
- data/src/core/ext/upb-gen/envoy/config/cluster/v3/circuit_breaker.upb_minitable.h +0 -3
- data/src/core/ext/upb-gen/envoy/config/cluster/v3/cluster.upb.h +1353 -1028
- data/src/core/ext/upb-gen/envoy/config/cluster/v3/cluster.upb_minitable.c +535 -361
- data/src/core/ext/upb-gen/envoy/config/cluster/v3/cluster.upb_minitable.h +0 -25
- data/src/core/ext/upb-gen/envoy/config/cluster/v3/filter.upb.h +37 -33
- data/src/core/ext/upb-gen/envoy/config/cluster/v3/filter.upb_minitable.c +19 -13
- data/src/core/ext/upb-gen/envoy/config/cluster/v3/filter.upb_minitable.h +0 -1
- data/src/core/ext/upb-gen/envoy/config/cluster/v3/outlier_detection.upb.h +234 -196
- data/src/core/ext/upb-gen/envoy/config/cluster/v3/outlier_detection.upb_minitable.c +77 -57
- data/src/core/ext/upb-gen/envoy/config/cluster/v3/outlier_detection.upb_minitable.h +0 -1
- data/src/core/ext/upb-gen/envoy/config/common/matcher/v3/matcher.upb.h +695 -502
- data/src/core/ext/upb-gen/envoy/config/common/matcher/v3/matcher.upb_minitable.c +246 -186
- data/src/core/ext/upb-gen/envoy/config/common/matcher/v3/matcher.upb_minitable.h +0 -15
- data/src/core/ext/upb-gen/envoy/config/common/mutation_rules/v3/mutation_rules.upb.h +140 -116
- data/src/core/ext/upb-gen/envoy/config/common/mutation_rules/v3/mutation_rules.upb_minitable.c +53 -43
- data/src/core/ext/upb-gen/envoy/config/common/mutation_rules/v3/mutation_rules.upb_minitable.h +0 -3
- data/src/core/ext/upb-gen/envoy/config/core/v3/address.upb.h +363 -269
- data/src/core/ext/upb-gen/envoy/config/core/v3/address.upb_minitable.c +131 -89
- data/src/core/ext/upb-gen/envoy/config/core/v3/address.upb_minitable.h +0 -8
- data/src/core/ext/upb-gen/envoy/config/core/v3/backoff.upb.h +35 -31
- data/src/core/ext/upb-gen/envoy/config/core/v3/backoff.upb_minitable.c +15 -13
- data/src/core/ext/upb-gen/envoy/config/core/v3/backoff.upb_minitable.h +0 -1
- data/src/core/ext/upb-gen/envoy/config/core/v3/base.upb.h +1073 -769
- data/src/core/ext/upb-gen/envoy/config/core/v3/base.upb_minitable.c +515 -293
- data/src/core/ext/upb-gen/envoy/config/core/v3/base.upb_minitable.h +0 -30
- data/src/core/ext/upb-gen/envoy/config/core/v3/cel.upb.h +25 -23
- data/src/core/ext/upb-gen/envoy/config/core/v3/cel.upb_minitable.c +15 -7
- data/src/core/ext/upb-gen/envoy/config/core/v3/cel.upb_minitable.h +0 -1
- data/src/core/ext/upb-gen/envoy/config/core/v3/config_source.upb.h +375 -267
- data/src/core/ext/upb-gen/envoy/config/core/v3/config_source.upb_minitable.c +142 -86
- data/src/core/ext/upb-gen/envoy/config/core/v3/config_source.upb_minitable.h +0 -7
- data/src/core/ext/upb-gen/envoy/config/core/v3/event_service_config.upb.h +32 -27
- data/src/core/ext/upb-gen/envoy/config/core/v3/event_service_config.upb_minitable.c +13 -11
- data/src/core/ext/upb-gen/envoy/config/core/v3/event_service_config.upb_minitable.h +0 -1
- data/src/core/ext/upb-gen/envoy/config/core/v3/extension.upb.h +29 -26
- data/src/core/ext/upb-gen/envoy/config/core/v3/extension.upb_minitable.c +17 -11
- data/src/core/ext/upb-gen/envoy/config/core/v3/extension.upb_minitable.h +0 -1
- data/src/core/ext/upb-gen/envoy/config/core/v3/grpc_method_list.upb.h +87 -56
- data/src/core/ext/upb-gen/envoy/config/core/v3/grpc_method_list.upb_minitable.c +26 -16
- data/src/core/ext/upb-gen/envoy/config/core/v3/grpc_method_list.upb_minitable.h +0 -2
- data/src/core/ext/upb-gen/envoy/config/core/v3/grpc_service.upb.h +634 -468
- data/src/core/ext/upb-gen/envoy/config/core/v3/grpc_service.upb_minitable.c +255 -161
- data/src/core/ext/upb-gen/envoy/config/core/v3/grpc_service.upb_minitable.h +0 -14
- data/src/core/ext/upb-gen/envoy/config/core/v3/health_check.upb.h +672 -474
- data/src/core/ext/upb-gen/envoy/config/core/v3/health_check.upb_minitable.c +228 -130
- data/src/core/ext/upb-gen/envoy/config/core/v3/health_check.upb_minitable.h +0 -9
- data/src/core/ext/upb-gen/envoy/config/core/v3/http_service.upb.h +56 -40
- data/src/core/ext/upb-gen/envoy/config/core/v3/http_service.upb_minitable.c +15 -13
- data/src/core/ext/upb-gen/envoy/config/core/v3/http_service.upb_minitable.h +0 -1
- data/src/core/ext/upb-gen/envoy/config/core/v3/http_uri.upb.h +34 -29
- data/src/core/ext/upb-gen/envoy/config/core/v3/http_uri.upb_minitable.c +19 -11
- data/src/core/ext/upb-gen/envoy/config/core/v3/http_uri.upb_minitable.h +0 -1
- data/src/core/ext/upb-gen/envoy/config/core/v3/protocol.upb.h +811 -635
- data/src/core/ext/upb-gen/envoy/config/core/v3/protocol.upb_minitable.c +347 -221
- data/src/core/ext/upb-gen/envoy/config/core/v3/protocol.upb_minitable.h +0 -16
- data/src/core/ext/upb-gen/envoy/config/core/v3/proxy_protocol.upb.h +174 -118
- data/src/core/ext/upb-gen/envoy/config/core/v3/proxy_protocol.upb_minitable.c +62 -38
- data/src/core/ext/upb-gen/envoy/config/core/v3/proxy_protocol.upb_minitable.h +0 -4
- data/src/core/ext/upb-gen/envoy/config/core/v3/resolver.upb.h +78 -57
- data/src/core/ext/upb-gen/envoy/config/core/v3/resolver.upb_minitable.c +28 -18
- data/src/core/ext/upb-gen/envoy/config/core/v3/resolver.upb_minitable.h +0 -2
- data/src/core/ext/upb-gen/envoy/config/core/v3/socket_cmsg_headers.upb.h +37 -33
- data/src/core/ext/upb-gen/envoy/config/core/v3/socket_cmsg_headers.upb_minitable.c +22 -14
- data/src/core/ext/upb-gen/envoy/config/core/v3/socket_cmsg_headers.upb_minitable.h +0 -1
- data/src/core/ext/upb-gen/envoy/config/core/v3/socket_option.upb.h +159 -119
- data/src/core/ext/upb-gen/envoy/config/core/v3/socket_option.upb_minitable.c +47 -35
- data/src/core/ext/upb-gen/envoy/config/core/v3/socket_option.upb_minitable.h +0 -5
- data/src/core/ext/upb-gen/envoy/config/core/v3/substitution_format_string.upb.h +101 -76
- data/src/core/ext/upb-gen/envoy/config/core/v3/substitution_format_string.upb_minitable.c +41 -23
- data/src/core/ext/upb-gen/envoy/config/core/v3/substitution_format_string.upb_minitable.h +0 -2
- data/src/core/ext/upb-gen/envoy/config/core/v3/udp_socket_config.upb.h +35 -31
- data/src/core/ext/upb-gen/envoy/config/core/v3/udp_socket_config.upb_minitable.c +15 -13
- data/src/core/ext/upb-gen/envoy/config/core/v3/udp_socket_config.upb_minitable.h +0 -1
- data/src/core/ext/upb-gen/envoy/config/endpoint/v3/endpoint.upb.h +189 -127
- data/src/core/ext/upb-gen/envoy/config/endpoint/v3/endpoint.upb_minitable.c +79 -49
- data/src/core/ext/upb-gen/envoy/config/endpoint/v3/endpoint.upb_minitable.h +0 -4
- data/src/core/ext/upb-gen/envoy/config/endpoint/v3/endpoint_components.upb.h +378 -283
- data/src/core/ext/upb-gen/envoy/config/endpoint/v3/endpoint_components.upb_minitable.c +156 -98
- data/src/core/ext/upb-gen/envoy/config/endpoint/v3/endpoint_components.upb_minitable.h +0 -8
- data/src/core/ext/upb-gen/envoy/config/endpoint/v3/load_report.upb.h +354 -255
- data/src/core/ext/upb-gen/envoy/config/endpoint/v3/load_report.upb_minitable.c +125 -69
- data/src/core/ext/upb-gen/envoy/config/endpoint/v3/load_report.upb_minitable.h +0 -6
- data/src/core/ext/upb-gen/envoy/config/listener/v3/api_listener.upb.h +27 -24
- data/src/core/ext/upb-gen/envoy/config/listener/v3/api_listener.upb_minitable.c +13 -11
- data/src/core/ext/upb-gen/envoy/config/listener/v3/api_listener.upb_minitable.h +0 -1
- data/src/core/ext/upb-gen/envoy/config/listener/v3/listener.upb.h +611 -451
- data/src/core/ext/upb-gen/envoy/config/listener/v3/listener.upb_minitable.c +159 -119
- data/src/core/ext/upb-gen/envoy/config/listener/v3/listener.upb_minitable.h +0 -11
- data/src/core/ext/upb-gen/envoy/config/listener/v3/listener_components.upb.h +468 -321
- data/src/core/ext/upb-gen/envoy/config/listener/v3/listener_components.upb_minitable.c +157 -99
- data/src/core/ext/upb-gen/envoy/config/listener/v3/listener_components.upb_minitable.h +0 -6
- data/src/core/ext/upb-gen/envoy/config/listener/v3/quic_config.upb.h +146 -119
- data/src/core/ext/upb-gen/envoy/config/listener/v3/quic_config.upb_minitable.c +55 -35
- data/src/core/ext/upb-gen/envoy/config/listener/v3/quic_config.upb_minitable.h +0 -1
- data/src/core/ext/upb-gen/envoy/config/listener/v3/udp_listener_config.upb.h +61 -51
- data/src/core/ext/upb-gen/envoy/config/listener/v3/udp_listener_config.upb_minitable.c +16 -16
- data/src/core/ext/upb-gen/envoy/config/listener/v3/udp_listener_config.upb_minitable.h +0 -2
- data/src/core/ext/upb-gen/envoy/config/metrics/v3/metrics_service.upb.h +43 -39
- data/src/core/ext/upb-gen/envoy/config/metrics/v3/metrics_service.upb_minitable.c +25 -13
- data/src/core/ext/upb-gen/envoy/config/metrics/v3/metrics_service.upb_minitable.h +0 -1
- data/src/core/ext/upb-gen/envoy/config/metrics/v3/stats.upb.h +341 -247
- data/src/core/ext/upb-gen/envoy/config/metrics/v3/stats.upb_minitable.c +130 -84
- data/src/core/ext/upb-gen/envoy/config/metrics/v3/stats.upb_minitable.h +0 -8
- data/src/core/ext/upb-gen/envoy/config/overload/v3/overload.upb.h +452 -313
- data/src/core/ext/upb-gen/envoy/config/overload/v3/overload.upb_minitable.c +144 -100
- data/src/core/ext/upb-gen/envoy/config/overload/v3/overload.upb_minitable.h +0 -10
- data/src/core/ext/upb-gen/envoy/config/rbac/v3/rbac.upb.h +666 -493
- data/src/core/ext/upb-gen/envoy/config/rbac/v3/rbac.upb_minitable.c +251 -181
- data/src/core/ext/upb-gen/envoy/config/rbac/v3/rbac.upb_minitable.h +0 -12
- data/src/core/ext/upb-gen/envoy/config/route/v3/route.upb.h +327 -197
- data/src/core/ext/upb-gen/envoy/config/route/v3/route.upb_minitable.c +92 -48
- data/src/core/ext/upb-gen/envoy/config/route/v3/route.upb_minitable.h +0 -3
- data/src/core/ext/upb-gen/envoy/config/route/v3/route_components.upb.h +3583 -2532
- data/src/core/ext/upb-gen/envoy/config/route/v3/route_components.upb_minitable.c +1340 -816
- data/src/core/ext/upb-gen/envoy/config/route/v3/route_components.upb_minitable.h +0 -60
- data/src/core/ext/upb-gen/envoy/config/route/v3/scoped_route.upb.h +111 -82
- data/src/core/ext/upb-gen/envoy/config/route/v3/scoped_route.upb_minitable.c +48 -28
- data/src/core/ext/upb-gen/envoy/config/route/v3/scoped_route.upb_minitable.h +0 -3
- data/src/core/ext/upb-gen/envoy/config/tap/v3/common.upb.h +548 -410
- data/src/core/ext/upb-gen/envoy/config/tap/v3/common.upb_minitable.c +214 -148
- data/src/core/ext/upb-gen/envoy/config/tap/v3/common.upb_minitable.h +0 -12
- data/src/core/ext/upb-gen/envoy/config/trace/v3/datadog.upb.h +59 -50
- data/src/core/ext/upb-gen/envoy/config/trace/v3/datadog.upb_minitable.c +30 -20
- data/src/core/ext/upb-gen/envoy/config/trace/v3/datadog.upb_minitable.h +0 -2
- data/src/core/ext/upb-gen/envoy/config/trace/v3/dynamic_ot.upb.h +29 -26
- data/src/core/ext/upb-gen/envoy/config/trace/v3/dynamic_ot.upb_minitable.c +17 -11
- data/src/core/ext/upb-gen/envoy/config/trace/v3/dynamic_ot.upb_minitable.h +0 -1
- data/src/core/ext/upb-gen/envoy/config/trace/v3/http_tracer.upb.h +60 -49
- data/src/core/ext/upb-gen/envoy/config/trace/v3/http_tracer.upb_minitable.c +28 -20
- data/src/core/ext/upb-gen/envoy/config/trace/v3/http_tracer.upb_minitable.h +0 -2
- data/src/core/ext/upb-gen/envoy/config/trace/v3/lightstep.upb.h +50 -36
- data/src/core/ext/upb-gen/envoy/config/trace/v3/lightstep.upb_minitable.c +19 -11
- data/src/core/ext/upb-gen/envoy/config/trace/v3/lightstep.upb_minitable.h +0 -1
- data/src/core/ext/upb-gen/envoy/config/trace/v3/opentelemetry.upb.h +82 -63
- data/src/core/ext/upb-gen/envoy/config/trace/v3/opentelemetry.upb_minitable.c +27 -19
- data/src/core/ext/upb-gen/envoy/config/trace/v3/opentelemetry.upb_minitable.h +0 -1
- data/src/core/ext/upb-gen/envoy/config/trace/v3/service.upb.h +27 -24
- data/src/core/ext/upb-gen/envoy/config/trace/v3/service.upb_minitable.c +13 -11
- data/src/core/ext/upb-gen/envoy/config/trace/v3/service.upb_minitable.h +0 -1
- data/src/core/ext/upb-gen/envoy/config/trace/v3/skywalking.upb.h +70 -58
- data/src/core/ext/upb-gen/envoy/config/trace/v3/skywalking.upb_minitable.c +32 -22
- data/src/core/ext/upb-gen/envoy/config/trace/v3/skywalking.upb_minitable.h +0 -2
- data/src/core/ext/upb-gen/envoy/config/trace/v3/trace.upb.h +2 -5
- data/src/core/ext/upb-gen/envoy/config/trace/v3/trace.upb_minitable.c +1 -1
- data/src/core/ext/upb-gen/envoy/config/trace/v3/xray.upb.h +73 -62
- data/src/core/ext/upb-gen/envoy/config/trace/v3/xray.upb_minitable.c +39 -25
- data/src/core/ext/upb-gen/envoy/config/trace/v3/xray.upb_minitable.h +0 -2
- data/src/core/ext/upb-gen/envoy/config/trace/v3/zipkin.upb.h +49 -45
- data/src/core/ext/upb-gen/envoy/config/trace/v3/zipkin.upb_minitable.c +33 -13
- data/src/core/ext/upb-gen/envoy/config/trace/v3/zipkin.upb_minitable.h +0 -1
- data/src/core/ext/upb-gen/envoy/data/accesslog/v3/accesslog.upb.h +771 -588
- data/src/core/ext/upb-gen/envoy/data/accesslog/v3/accesslog.upb_minitable.c +383 -185
- data/src/core/ext/upb-gen/envoy/data/accesslog/v3/accesslog.upb_minitable.h +0 -16
- data/src/core/ext/upb-gen/envoy/extensions/clusters/aggregate/v3/cluster.upb.h +66 -47
- data/src/core/ext/upb-gen/envoy/extensions/clusters/aggregate/v3/cluster.upb_minitable.c +31 -17
- data/src/core/ext/upb-gen/envoy/extensions/clusters/aggregate/v3/cluster.upb_minitable.h +0 -2
- data/src/core/ext/upb-gen/envoy/extensions/common/matching/v3/extension_matcher.upb.h +69 -58
- data/src/core/ext/upb-gen/envoy/extensions/common/matching/v3/extension_matcher.upb_minitable.c +27 -23
- data/src/core/ext/upb-gen/envoy/extensions/common/matching/v3/extension_matcher.upb_minitable.h +0 -2
- data/src/core/ext/upb-gen/envoy/extensions/filters/common/fault/v3/fault.upb.h +151 -119
- data/src/core/ext/upb-gen/envoy/extensions/filters/common/fault/v3/fault.upb_minitable.c +45 -39
- data/src/core/ext/upb-gen/envoy/extensions/filters/common/fault/v3/fault.upb_minitable.h +0 -5
- data/src/core/ext/upb-gen/envoy/extensions/filters/common/matcher/action/v3/skip_action.upb.h +19 -17
- data/src/core/ext/upb-gen/envoy/extensions/filters/common/matcher/action/v3/skip_action.upb_minitable.c +1 -3
- data/src/core/ext/upb-gen/envoy/extensions/filters/common/matcher/action/v3/skip_action.upb_minitable.h +0 -1
- data/src/core/ext/upb-gen/envoy/extensions/filters/http/composite/v3/composite.upb.h +144 -109
- data/src/core/ext/upb-gen/envoy/extensions/filters/http/composite/v3/composite.upb_minitable.c +46 -38
- data/src/core/ext/upb-gen/envoy/extensions/filters/http/composite/v3/composite.upb_minitable.h +0 -4
- data/src/core/ext/upb-gen/envoy/extensions/filters/http/fault/v3/fault.upb.h +184 -139
- data/src/core/ext/upb-gen/envoy/extensions/filters/http/fault/v3/fault.upb_minitable.c +65 -35
- data/src/core/ext/upb-gen/envoy/extensions/filters/http/fault/v3/fault.upb_minitable.h +0 -3
- data/src/core/ext/upb-gen/envoy/extensions/filters/http/gcp_authn/v3/gcp_authn.upb.h +129 -106
- data/src/core/ext/upb-gen/envoy/extensions/filters/http/gcp_authn/v3/gcp_authn.upb_minitable.c +69 -41
- data/src/core/ext/upb-gen/envoy/extensions/filters/http/gcp_authn/v3/gcp_authn.upb_minitable.h +0 -4
- data/src/core/ext/upb-gen/envoy/extensions/filters/http/rbac/v3/rbac.upb.h +83 -71
- data/src/core/ext/upb-gen/envoy/extensions/filters/http/rbac/v3/rbac.upb_minitable.c +40 -26
- data/src/core/ext/upb-gen/envoy/extensions/filters/http/rbac/v3/rbac.upb_minitable.h +0 -2
- data/src/core/ext/upb-gen/envoy/extensions/filters/http/router/v3/router.upb.h +148 -101
- data/src/core/ext/upb-gen/envoy/extensions/filters/http/router/v3/router.upb_minitable.c +45 -27
- data/src/core/ext/upb-gen/envoy/extensions/filters/http/router/v3/router.upb_minitable.h +0 -2
- data/src/core/ext/upb-gen/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upb.h +62 -51
- data/src/core/ext/upb-gen/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upb_minitable.c +35 -21
- data/src/core/ext/upb-gen/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upb_minitable.h +0 -2
- data/src/core/ext/upb-gen/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.h +1362 -1024
- data/src/core/ext/upb-gen/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb_minitable.c +508 -336
- data/src/core/ext/upb-gen/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb_minitable.h +0 -22
- data/src/core/ext/upb-gen/envoy/extensions/grpc_service/call_credentials/access_token/v3/access_token_credentials.upb.h +21 -19
- data/src/core/ext/upb-gen/envoy/extensions/grpc_service/call_credentials/access_token/v3/access_token_credentials.upb_minitable.c +13 -7
- data/src/core/ext/upb-gen/envoy/extensions/grpc_service/call_credentials/access_token/v3/access_token_credentials.upb_minitable.h +0 -1
- data/src/core/ext/upb-gen/envoy/extensions/grpc_service/channel_credentials/tls/v3/tls_credentials.upb.h +35 -31
- data/src/core/ext/upb-gen/envoy/extensions/grpc_service/channel_credentials/tls/v3/tls_credentials.upb_minitable.c +15 -13
- data/src/core/ext/upb-gen/envoy/extensions/grpc_service/channel_credentials/tls/v3/tls_credentials.upb_minitable.h +0 -1
- data/src/core/ext/upb-gen/envoy/extensions/grpc_service/channel_credentials/xds/v3/xds_credentials.upb.h +27 -24
- data/src/core/ext/upb-gen/envoy/extensions/grpc_service/channel_credentials/xds/v3/xds_credentials.upb_minitable.c +13 -11
- data/src/core/ext/upb-gen/envoy/extensions/grpc_service/channel_credentials/xds/v3/xds_credentials.upb_minitable.h +0 -1
- data/src/core/ext/upb-gen/envoy/extensions/http/stateful_session/cookie/v3/cookie.upb.h +27 -24
- data/src/core/ext/upb-gen/envoy/extensions/http/stateful_session/cookie/v3/cookie.upb_minitable.c +13 -11
- data/src/core/ext/upb-gen/envoy/extensions/http/stateful_session/cookie/v3/cookie.upb_minitable.h +0 -1
- data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/client_side_weighted_round_robin/v3/client_side_weighted_round_robin.upb.h +94 -74
- 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 +35 -23
- data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/client_side_weighted_round_robin/v3/client_side_weighted_round_robin.upb_minitable.h +0 -1
- data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/common/v3/common.upb.h +231 -179
- data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/common/v3/common.upb_minitable.c +88 -66
- data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/common/v3/common.upb_minitable.h +0 -6
- data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/pick_first/v3/pick_first.upb.h +21 -19
- data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/pick_first/v3/pick_first.upb_minitable.c +13 -7
- data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/pick_first/v3/pick_first.upb_minitable.h +0 -1
- data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/ring_hash/v3/ring_hash.upb.h +63 -56
- data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/ring_hash/v3/ring_hash.upb_minitable.c +31 -19
- data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/ring_hash/v3/ring_hash.upb_minitable.h +0 -1
- data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/wrr_locality/v3/wrr_locality.upb.h +27 -24
- data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/wrr_locality/v3/wrr_locality.upb_minitable.c +13 -11
- data/src/core/ext/upb-gen/envoy/extensions/load_balancing_policies/wrr_locality/v3/wrr_locality.upb_minitable.h +0 -1
- data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/http_11_proxy/v3/upstream_http_11_connect.upb.h +27 -24
- data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/http_11_proxy/v3/upstream_http_11_connect.upb_minitable.c +13 -11
- data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/http_11_proxy/v3/upstream_http_11_connect.upb_minitable.h +0 -1
- data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/cert.upb.h +2 -5
- data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/cert.upb_minitable.c +1 -1
- data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/common.upb.h +538 -364
- data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/common.upb_minitable.c +157 -95
- data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/common.upb_minitable.h +0 -8
- data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/secret.upb.h +150 -110
- data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/secret.upb_minitable.c +69 -49
- data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/secret.upb_minitable.h +0 -4
- data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/tls.upb.h +517 -389
- data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/tls.upb_minitable.c +182 -116
- data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/tls.upb_minitable.h +0 -7
- data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.upb.h +84 -62
- data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.upb_minitable.c +30 -22
- data/src/core/ext/upb-gen/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.upb_minitable.h +0 -2
- data/src/core/ext/upb-gen/envoy/extensions/upstreams/http/v3/http_protocol_options.upb.h +340 -256
- data/src/core/ext/upb-gen/envoy/extensions/upstreams/http/v3/http_protocol_options.upb_minitable.c +92 -82
- data/src/core/ext/upb-gen/envoy/extensions/upstreams/http/v3/http_protocol_options.upb_minitable.h +0 -5
- data/src/core/ext/upb-gen/envoy/service/discovery/v3/ads.upb.h +19 -17
- data/src/core/ext/upb-gen/envoy/service/discovery/v3/ads.upb_minitable.c +1 -3
- data/src/core/ext/upb-gen/envoy/service/discovery/v3/ads.upb_minitable.h +0 -1
- data/src/core/ext/upb-gen/envoy/service/discovery/v3/discovery.upb.h +857 -566
- data/src/core/ext/upb-gen/envoy/service/discovery/v3/discovery.upb_minitable.c +288 -182
- data/src/core/ext/upb-gen/envoy/service/discovery/v3/discovery.upb_minitable.h +0 -15
- data/src/core/ext/upb-gen/envoy/service/load_stats/v3/lrs.upb.h +105 -72
- data/src/core/ext/upb-gen/envoy/service/load_stats/v3/lrs.upb_minitable.c +36 -22
- data/src/core/ext/upb-gen/envoy/service/load_stats/v3/lrs.upb_minitable.h +0 -2
- data/src/core/ext/upb-gen/envoy/service/status/v3/csds.upb.h +312 -226
- data/src/core/ext/upb-gen/envoy/service/status/v3/csds.upb_minitable.c +132 -78
- data/src/core/ext/upb-gen/envoy/service/status/v3/csds.upb_minitable.h +0 -5
- data/src/core/ext/upb-gen/envoy/type/http/v3/cookie.upb.h +82 -61
- data/src/core/ext/upb-gen/envoy/type/http/v3/cookie.upb_minitable.c +35 -19
- data/src/core/ext/upb-gen/envoy/type/http/v3/cookie.upb_minitable.h +0 -2
- data/src/core/ext/upb-gen/envoy/type/http/v3/path_transformation.upb.h +123 -89
- data/src/core/ext/upb-gen/envoy/type/http/v3/path_transformation.upb_minitable.c +25 -25
- data/src/core/ext/upb-gen/envoy/type/http/v3/path_transformation.upb_minitable.h +0 -4
- data/src/core/ext/upb-gen/envoy/type/matcher/v3/address.upb.h +48 -33
- data/src/core/ext/upb-gen/envoy/type/matcher/v3/address.upb_minitable.c +13 -11
- data/src/core/ext/upb-gen/envoy/type/matcher/v3/address.upb_minitable.h +0 -1
- data/src/core/ext/upb-gen/envoy/type/matcher/v3/filter_state.upb.h +42 -36
- data/src/core/ext/upb-gen/envoy/type/matcher/v3/filter_state.upb_minitable.c +19 -13
- data/src/core/ext/upb-gen/envoy/type/matcher/v3/filter_state.upb_minitable.h +0 -1
- data/src/core/ext/upb-gen/envoy/type/matcher/v3/http_inputs.upb.h +101 -79
- data/src/core/ext/upb-gen/envoy/type/matcher/v3/http_inputs.upb_minitable.c +61 -31
- data/src/core/ext/upb-gen/envoy/type/matcher/v3/http_inputs.upb_minitable.h +0 -5
- data/src/core/ext/upb-gen/envoy/type/matcher/v3/metadata.upb.h +83 -60
- data/src/core/ext/upb-gen/envoy/type/matcher/v3/metadata.upb_minitable.c +37 -19
- data/src/core/ext/upb-gen/envoy/type/matcher/v3/metadata.upb_minitable.h +0 -2
- data/src/core/ext/upb-gen/envoy/type/matcher/v3/node.upb.h +56 -40
- data/src/core/ext/upb-gen/envoy/type/matcher/v3/node.upb_minitable.c +15 -13
- data/src/core/ext/upb-gen/envoy/type/matcher/v3/node.upb_minitable.h +0 -1
- data/src/core/ext/upb-gen/envoy/type/matcher/v3/number.upb.h +34 -29
- data/src/core/ext/upb-gen/envoy/type/matcher/v3/number.upb_minitable.c +13 -11
- data/src/core/ext/upb-gen/envoy/type/matcher/v3/number.upb_minitable.h +0 -1
- data/src/core/ext/upb-gen/envoy/type/matcher/v3/path.upb.h +32 -27
- data/src/core/ext/upb-gen/envoy/type/matcher/v3/path.upb_minitable.c +13 -11
- data/src/core/ext/upb-gen/envoy/type/matcher/v3/path.upb_minitable.h +0 -1
- data/src/core/ext/upb-gen/envoy/type/matcher/v3/regex.upb.h +88 -71
- data/src/core/ext/upb-gen/envoy/type/matcher/v3/regex.upb_minitable.c +48 -30
- data/src/core/ext/upb-gen/envoy/type/matcher/v3/regex.upb_minitable.h +0 -3
- data/src/core/ext/upb-gen/envoy/type/matcher/v3/status_code_input.upb.h +37 -30
- data/src/core/ext/upb-gen/envoy/type/matcher/v3/status_code_input.upb_minitable.c +1 -5
- data/src/core/ext/upb-gen/envoy/type/matcher/v3/status_code_input.upb_minitable.h +0 -2
- data/src/core/ext/upb-gen/envoy/type/matcher/v3/string.upb.h +95 -71
- data/src/core/ext/upb-gen/envoy/type/matcher/v3/string.upb_minitable.c +36 -22
- data/src/core/ext/upb-gen/envoy/type/matcher/v3/string.upb_minitable.h +0 -2
- data/src/core/ext/upb-gen/envoy/type/matcher/v3/struct.upb.h +79 -56
- data/src/core/ext/upb-gen/envoy/type/matcher/v3/struct.upb_minitable.c +26 -18
- data/src/core/ext/upb-gen/envoy/type/matcher/v3/struct.upb_minitable.h +0 -2
- data/src/core/ext/upb-gen/envoy/type/matcher/v3/value.upb.h +164 -124
- data/src/core/ext/upb-gen/envoy/type/matcher/v3/value.upb_minitable.c +54 -40
- data/src/core/ext/upb-gen/envoy/type/matcher/v3/value.upb_minitable.h +0 -4
- data/src/core/ext/upb-gen/envoy/type/metadata/v3/metadata.upb.h +200 -147
- data/src/core/ext/upb-gen/envoy/type/metadata/v3/metadata.upb_minitable.c +47 -41
- data/src/core/ext/upb-gen/envoy/type/metadata/v3/metadata.upb_minitable.h +0 -7
- data/src/core/ext/upb-gen/envoy/type/tracing/v3/custom_tag.upb.h +160 -130
- data/src/core/ext/upb-gen/envoy/type/tracing/v3/custom_tag.upb_minitable.c +89 -47
- data/src/core/ext/upb-gen/envoy/type/tracing/v3/custom_tag.upb_minitable.h +0 -5
- data/src/core/ext/upb-gen/envoy/type/v3/hash_policy.upb.h +78 -62
- data/src/core/ext/upb-gen/envoy/type/v3/hash_policy.upb_minitable.c +26 -20
- data/src/core/ext/upb-gen/envoy/type/v3/hash_policy.upb_minitable.h +0 -3
- data/src/core/ext/upb-gen/envoy/type/v3/http.upb.h +2 -5
- data/src/core/ext/upb-gen/envoy/type/v3/http.upb_minitable.c +1 -1
- data/src/core/ext/upb-gen/envoy/type/v3/http_status.upb.h +21 -19
- data/src/core/ext/upb-gen/envoy/type/v3/http_status.upb_minitable.c +13 -7
- data/src/core/ext/upb-gen/envoy/type/v3/http_status.upb_minitable.h +0 -1
- data/src/core/ext/upb-gen/envoy/type/v3/percent.upb.h +43 -36
- data/src/core/ext/upb-gen/envoy/type/v3/percent.upb_minitable.c +22 -12
- data/src/core/ext/upb-gen/envoy/type/v3/percent.upb_minitable.h +0 -2
- data/src/core/ext/upb-gen/envoy/type/v3/range.upb.h +67 -55
- data/src/core/ext/upb-gen/envoy/type/v3/range.upb_minitable.c +36 -18
- data/src/core/ext/upb-gen/envoy/type/v3/range.upb_minitable.h +0 -3
- data/src/core/ext/upb-gen/envoy/type/v3/ratelimit_strategy.upb.h +62 -51
- data/src/core/ext/upb-gen/envoy/type/v3/ratelimit_strategy.upb_minitable.c +33 -19
- data/src/core/ext/upb-gen/envoy/type/v3/ratelimit_strategy.upb_minitable.h +0 -2
- data/src/core/ext/upb-gen/envoy/type/v3/ratelimit_unit.upb.h +2 -5
- data/src/core/ext/upb-gen/envoy/type/v3/ratelimit_unit.upb_minitable.c +1 -1
- data/src/core/ext/upb-gen/envoy/type/v3/semantic_version.upb.h +25 -23
- data/src/core/ext/upb-gen/envoy/type/v3/semantic_version.upb_minitable.c +15 -7
- data/src/core/ext/upb-gen/envoy/type/v3/semantic_version.upb_minitable.h +0 -1
- data/src/core/ext/upb-gen/envoy/type/v3/token_bucket.upb.h +37 -33
- data/src/core/ext/upb-gen/envoy/type/v3/token_bucket.upb_minitable.c +19 -13
- data/src/core/ext/upb-gen/envoy/type/v3/token_bucket.upb_minitable.h +0 -1
- data/src/core/ext/upb-gen/google/api/annotations.upb.h +15 -13
- data/src/core/ext/upb-gen/google/api/annotations.upb_minitable.c +22 -7
- data/src/core/ext/upb-gen/google/api/annotations.upb_minitable.h +1 -1
- data/src/core/ext/upb-gen/google/api/expr/v1alpha1/checked.upb.h +619 -430
- data/src/core/ext/upb-gen/google/api/expr/v1alpha1/checked.upb_minitable.c +260 -168
- data/src/core/ext/upb-gen/google/api/expr/v1alpha1/checked.upb_minitable.h +0 -13
- data/src/core/ext/upb-gen/google/api/expr/v1alpha1/syntax.upb.h +734 -518
- data/src/core/ext/upb-gen/google/api/expr/v1alpha1/syntax.upb_minitable.c +312 -182
- data/src/core/ext/upb-gen/google/api/expr/v1alpha1/syntax.upb_minitable.h +0 -16
- data/src/core/ext/upb-gen/google/api/http.upb.h +146 -105
- data/src/core/ext/upb-gen/google/api/http.upb_minitable.c +65 -29
- data/src/core/ext/upb-gen/google/api/http.upb_minitable.h +0 -3
- data/src/core/ext/upb-gen/google/api/httpbody.upb.h +52 -37
- data/src/core/ext/upb-gen/google/api/httpbody.upb_minitable.c +19 -11
- data/src/core/ext/upb-gen/google/api/httpbody.upb_minitable.h +0 -1
- data/src/core/ext/upb-gen/google/protobuf/any.upb.h +23 -21
- data/src/core/ext/upb-gen/google/protobuf/any.upb_minitable.c +15 -7
- data/src/core/ext/upb-gen/google/protobuf/any.upb_minitable.h +0 -1
- data/src/core/ext/upb-gen/google/protobuf/descriptor.upb.h +2236 -1514
- data/src/core/ext/upb-gen/google/protobuf/descriptor.upb_minitable.c +824 -406
- data/src/core/ext/upb-gen/google/protobuf/descriptor.upb_minitable.h +0 -34
- data/src/core/ext/upb-gen/google/protobuf/duration.upb.h +23 -21
- data/src/core/ext/upb-gen/google/protobuf/duration.upb_minitable.c +15 -7
- data/src/core/ext/upb-gen/google/protobuf/duration.upb_minitable.h +0 -1
- data/src/core/ext/upb-gen/google/protobuf/empty.upb.h +19 -17
- data/src/core/ext/upb-gen/google/protobuf/empty.upb_minitable.c +1 -3
- data/src/core/ext/upb-gen/google/protobuf/empty.upb_minitable.h +0 -1
- data/src/core/ext/upb-gen/google/protobuf/struct.upb.h +149 -100
- data/src/core/ext/upb-gen/google/protobuf/struct.upb_minitable.c +59 -43
- data/src/core/ext/upb-gen/google/protobuf/struct.upb_minitable.h +0 -4
- data/src/core/ext/upb-gen/google/protobuf/timestamp.upb.h +23 -21
- data/src/core/ext/upb-gen/google/protobuf/timestamp.upb_minitable.c +15 -7
- data/src/core/ext/upb-gen/google/protobuf/timestamp.upb_minitable.h +0 -1
- data/src/core/ext/upb-gen/google/protobuf/wrappers.upb.h +181 -139
- data/src/core/ext/upb-gen/google/protobuf/wrappers.upb_minitable.c +99 -53
- data/src/core/ext/upb-gen/google/protobuf/wrappers.upb_minitable.h +0 -9
- data/src/core/ext/upb-gen/google/rpc/status.upb.h +52 -37
- data/src/core/ext/upb-gen/google/rpc/status.upb_minitable.c +19 -11
- data/src/core/ext/upb-gen/google/rpc/status.upb_minitable.h +0 -1
- data/src/core/ext/upb-gen/src/proto/grpc/channelz/channelz.upb.h +1553 -1157
- data/src/core/ext/upb-gen/src/proto/grpc/channelz/channelz.upb_minitable.c +712 -410
- data/src/core/ext/upb-gen/src/proto/grpc/channelz/channelz.upb_minitable.h +0 -39
- data/src/core/ext/upb-gen/src/proto/grpc/channelz/v2/channelz.upb.h +189 -125
- data/src/core/ext/upb-gen/src/proto/grpc/channelz/v2/channelz.upb_minitable.c +59 -35
- data/src/core/ext/upb-gen/src/proto/grpc/channelz/v2/channelz.upb_minitable.h +0 -3
- data/src/core/ext/upb-gen/src/proto/grpc/channelz/v2/promise.upb.h +454 -343
- data/src/core/ext/upb-gen/src/proto/grpc/channelz/v2/promise.upb_minitable.c +204 -130
- data/src/core/ext/upb-gen/src/proto/grpc/channelz/v2/promise.upb_minitable.h +0 -11
- data/src/core/ext/upb-gen/src/proto/grpc/channelz/v2/property_list.upb.h +369 -243
- data/src/core/ext/upb-gen/src/proto/grpc/channelz/v2/property_list.upb_minitable.c +109 -79
- data/src/core/ext/upb-gen/src/proto/grpc/channelz/v2/property_list.upb_minitable.h +0 -7
- data/src/core/ext/upb-gen/src/proto/grpc/channelz/v2/service.upb.h +256 -175
- data/src/core/ext/upb-gen/src/proto/grpc/channelz/v2/service.upb_minitable.c +122 -68
- data/src/core/ext/upb-gen/src/proto/grpc/channelz/v2/service.upb_minitable.h +0 -8
- data/src/core/ext/upb-gen/src/proto/grpc/gcp/altscontext.upb.h +71 -51
- data/src/core/ext/upb-gen/src/proto/grpc/gcp/altscontext.upb_minitable.c +39 -19
- data/src/core/ext/upb-gen/src/proto/grpc/gcp/altscontext.upb_minitable.h +0 -2
- data/src/core/ext/upb-gen/src/proto/grpc/gcp/handshaker.upb.h +583 -407
- data/src/core/ext/upb-gen/src/proto/grpc/gcp/handshaker.upb_minitable.c +259 -145
- data/src/core/ext/upb-gen/src/proto/grpc/gcp/handshaker.upb_minitable.h +0 -12
- data/src/core/ext/upb-gen/src/proto/grpc/gcp/transport_security_common.upb.h +114 -84
- data/src/core/ext/upb-gen/src/proto/grpc/gcp/transport_security_common.upb_minitable.c +52 -30
- data/src/core/ext/upb-gen/src/proto/grpc/gcp/transport_security_common.upb_minitable.h +0 -4
- data/src/core/ext/upb-gen/src/proto/grpc/health/v1/health.upb.h +41 -34
- data/src/core/ext/upb-gen/src/proto/grpc/health/v1/health.upb_minitable.c +25 -13
- data/src/core/ext/upb-gen/src/proto/grpc/health/v1/health.upb_minitable.h +0 -2
- data/src/core/ext/upb-gen/src/proto/grpc/lb/v1/load_balancer.upb.h +309 -230
- data/src/core/ext/upb-gen/src/proto/grpc/lb/v1/load_balancer.upb_minitable.c +123 -79
- data/src/core/ext/upb-gen/src/proto/grpc/lb/v1/load_balancer.upb_minitable.h +0 -9
- data/src/core/ext/upb-gen/src/proto/grpc/lookup/v1/rls.upb.h +98 -63
- data/src/core/ext/upb-gen/src/proto/grpc/lookup/v1/rls.upb_minitable.c +51 -23
- data/src/core/ext/upb-gen/src/proto/grpc/lookup/v1/rls.upb_minitable.h +0 -3
- data/src/core/ext/upb-gen/src/proto/grpc/lookup/v1/rls_config.upb.h +505 -312
- data/src/core/ext/upb-gen/src/proto/grpc/lookup/v1/rls_config.upb_minitable.c +159 -87
- data/src/core/ext/upb-gen/src/proto/grpc/lookup/v1/rls_config.upb_minitable.h +0 -9
- data/src/core/ext/upb-gen/udpa/annotations/migrate.upb.h +128 -91
- data/src/core/ext/upb-gen/udpa/annotations/migrate.upb_minitable.c +82 -41
- data/src/core/ext/upb-gen/udpa/annotations/migrate.upb_minitable.h +5 -8
- data/src/core/ext/upb-gen/udpa/annotations/security.upb.h +36 -29
- data/src/core/ext/upb-gen/udpa/annotations/security.upb_minitable.c +36 -13
- data/src/core/ext/upb-gen/udpa/annotations/security.upb_minitable.h +1 -2
- data/src/core/ext/upb-gen/udpa/annotations/sensitive.upb.h +13 -11
- data/src/core/ext/upb-gen/udpa/annotations/sensitive.upb_minitable.c +22 -7
- data/src/core/ext/upb-gen/udpa/annotations/sensitive.upb_minitable.h +1 -1
- data/src/core/ext/upb-gen/udpa/annotations/status.upb.h +36 -29
- data/src/core/ext/upb-gen/udpa/annotations/status.upb_minitable.c +36 -13
- data/src/core/ext/upb-gen/udpa/annotations/status.upb_minitable.h +1 -2
- data/src/core/ext/upb-gen/udpa/annotations/versioning.upb.h +34 -27
- data/src/core/ext/upb-gen/udpa/annotations/versioning.upb_minitable.c +34 -13
- data/src/core/ext/upb-gen/udpa/annotations/versioning.upb_minitable.h +1 -2
- data/src/core/ext/upb-gen/validate/validate.upb.h +1682 -1130
- data/src/core/ext/upb-gen/validate/validate.upb_minitable.c +587 -247
- data/src/core/ext/upb-gen/validate/validate.upb_minitable.h +4 -27
- data/src/core/ext/upb-gen/xds/annotations/v3/migrate.upb.h +128 -91
- data/src/core/ext/upb-gen/xds/annotations/v3/migrate.upb_minitable.c +82 -41
- data/src/core/ext/upb-gen/xds/annotations/v3/migrate.upb_minitable.h +5 -8
- data/src/core/ext/upb-gen/xds/annotations/v3/security.upb.h +36 -29
- data/src/core/ext/upb-gen/xds/annotations/v3/security.upb_minitable.c +36 -13
- data/src/core/ext/upb-gen/xds/annotations/v3/security.upb_minitable.h +1 -2
- data/src/core/ext/upb-gen/xds/annotations/v3/sensitive.upb.h +13 -11
- data/src/core/ext/upb-gen/xds/annotations/v3/sensitive.upb_minitable.c +22 -7
- data/src/core/ext/upb-gen/xds/annotations/v3/sensitive.upb_minitable.h +1 -1
- data/src/core/ext/upb-gen/xds/annotations/v3/status.upb.h +122 -90
- data/src/core/ext/upb-gen/xds/annotations/v3/status.upb_minitable.c +82 -39
- data/src/core/ext/upb-gen/xds/annotations/v3/status.upb_minitable.h +3 -7
- data/src/core/ext/upb-gen/xds/annotations/v3/versioning.upb.h +34 -27
- data/src/core/ext/upb-gen/xds/annotations/v3/versioning.upb_minitable.c +34 -13
- data/src/core/ext/upb-gen/xds/annotations/v3/versioning.upb_minitable.h +1 -2
- data/src/core/ext/upb-gen/xds/core/v3/authority.upb.h +21 -19
- data/src/core/ext/upb-gen/xds/core/v3/authority.upb_minitable.c +13 -7
- data/src/core/ext/upb-gen/xds/core/v3/authority.upb_minitable.h +0 -1
- data/src/core/ext/upb-gen/xds/core/v3/cidr.upb.h +29 -26
- data/src/core/ext/upb-gen/xds/core/v3/cidr.upb_minitable.c +17 -11
- data/src/core/ext/upb-gen/xds/core/v3/cidr.upb_minitable.h +0 -1
- data/src/core/ext/upb-gen/xds/core/v3/collection_entry.upb.h +70 -58
- data/src/core/ext/upb-gen/xds/core/v3/collection_entry.upb_minitable.c +32 -22
- data/src/core/ext/upb-gen/xds/core/v3/collection_entry.upb_minitable.h +0 -2
- data/src/core/ext/upb-gen/xds/core/v3/context_params.upb.h +53 -34
- data/src/core/ext/upb-gen/xds/core/v3/context_params.upb_minitable.c +26 -16
- data/src/core/ext/upb-gen/xds/core/v3/context_params.upb_minitable.h +0 -2
- data/src/core/ext/upb-gen/xds/core/v3/extension.upb.h +29 -26
- data/src/core/ext/upb-gen/xds/core/v3/extension.upb_minitable.c +17 -11
- data/src/core/ext/upb-gen/xds/core/v3/extension.upb_minitable.h +0 -1
- data/src/core/ext/upb-gen/xds/core/v3/resource.upb.h +37 -33
- data/src/core/ext/upb-gen/xds/core/v3/resource.upb_minitable.c +22 -14
- data/src/core/ext/upb-gen/xds/core/v3/resource.upb_minitable.h +0 -1
- data/src/core/ext/upb-gen/xds/core/v3/resource_locator.upb.h +102 -76
- data/src/core/ext/upb-gen/xds/core/v3/resource_locator.upb_minitable.c +43 -23
- data/src/core/ext/upb-gen/xds/core/v3/resource_locator.upb_minitable.h +0 -2
- data/src/core/ext/upb-gen/xds/core/v3/resource_name.upb.h +33 -30
- data/src/core/ext/upb-gen/xds/core/v3/resource_name.upb_minitable.c +19 -11
- data/src/core/ext/upb-gen/xds/core/v3/resource_name.upb_minitable.h +0 -1
- data/src/core/ext/upb-gen/xds/data/orca/v3/orca_load_report.upb.h +136 -83
- data/src/core/ext/upb-gen/xds/data/orca/v3/orca_load_report.upb_minitable.c +41 -33
- data/src/core/ext/upb-gen/xds/data/orca/v3/orca_load_report.upb_minitable.h +0 -4
- data/src/core/ext/upb-gen/xds/service/orca/v3/orca.upb.h +46 -32
- data/src/core/ext/upb-gen/xds/service/orca/v3/orca.upb_minitable.c +20 -12
- data/src/core/ext/upb-gen/xds/service/orca/v3/orca.upb_minitable.h +0 -1
- data/src/core/ext/upb-gen/xds/type/matcher/v3/cel.upb.h +29 -26
- data/src/core/ext/upb-gen/xds/type/matcher/v3/cel.upb_minitable.c +20 -12
- data/src/core/ext/upb-gen/xds/type/matcher/v3/cel.upb_minitable.h +0 -1
- data/src/core/ext/upb-gen/xds/type/matcher/v3/domain.upb.h +93 -61
- data/src/core/ext/upb-gen/xds/type/matcher/v3/domain.upb_minitable.c +28 -20
- data/src/core/ext/upb-gen/xds/type/matcher/v3/domain.upb_minitable.h +0 -2
- data/src/core/ext/upb-gen/xds/type/matcher/v3/http_inputs.upb.h +19 -17
- data/src/core/ext/upb-gen/xds/type/matcher/v3/http_inputs.upb_minitable.c +1 -3
- data/src/core/ext/upb-gen/xds/type/matcher/v3/http_inputs.upb_minitable.h +0 -1
- data/src/core/ext/upb-gen/xds/type/matcher/v3/ip.upb.h +105 -71
- data/src/core/ext/upb-gen/xds/type/matcher/v3/ip.upb_minitable.c +32 -22
- data/src/core/ext/upb-gen/xds/type/matcher/v3/ip.upb_minitable.h +0 -2
- data/src/core/ext/upb-gen/xds/type/matcher/v3/matcher.upb.h +430 -314
- data/src/core/ext/upb-gen/xds/type/matcher/v3/matcher.upb_minitable.c +153 -123
- data/src/core/ext/upb-gen/xds/type/matcher/v3/matcher.upb_minitable.h +0 -10
- data/src/core/ext/upb-gen/xds/type/matcher/v3/range.upb.h +307 -199
- data/src/core/ext/upb-gen/xds/type/matcher/v3/range.upb_minitable.c +74 -62
- data/src/core/ext/upb-gen/xds/type/matcher/v3/range.upb_minitable.h +0 -6
- data/src/core/ext/upb-gen/xds/type/matcher/v3/regex.upb.h +52 -42
- data/src/core/ext/upb-gen/xds/type/matcher/v3/regex.upb_minitable.c +19 -13
- data/src/core/ext/upb-gen/xds/type/matcher/v3/regex.upb_minitable.h +0 -2
- data/src/core/ext/upb-gen/xds/type/matcher/v3/string.upb.h +95 -71
- data/src/core/ext/upb-gen/xds/type/matcher/v3/string.upb_minitable.c +36 -22
- data/src/core/ext/upb-gen/xds/type/matcher/v3/string.upb_minitable.h +0 -2
- data/src/core/ext/upb-gen/xds/type/v3/cel.upb.h +92 -77
- data/src/core/ext/upb-gen/xds/type/v3/cel.upb_minitable.c +42 -28
- data/src/core/ext/upb-gen/xds/type/v3/cel.upb_minitable.h +0 -2
- data/src/core/ext/upb-gen/xds/type/v3/range.upb.h +67 -55
- data/src/core/ext/upb-gen/xds/type/v3/range.upb_minitable.c +36 -18
- data/src/core/ext/upb-gen/xds/type/v3/range.upb_minitable.h +0 -3
- data/src/core/ext/upb-gen/xds/type/v3/typed_struct.upb.h +29 -26
- data/src/core/ext/upb-gen/xds/type/v3/typed_struct.upb_minitable.c +17 -11
- data/src/core/ext/upb-gen/xds/type/v3/typed_struct.upb_minitable.h +0 -1
- data/src/core/ext/upbdefs-gen/google/protobuf/descriptor.upbdefs.c +885 -855
- data/src/core/filter/composite/composite_filter.cc +10 -3
- data/src/core/filter/composite/composite_filter.h +11 -1
- data/src/core/filter/filter_args.h +4 -22
- data/src/core/handshaker/handshaker.cc +10 -2
- data/src/core/handshaker/security/secure_endpoint.cc +60 -5
- data/src/core/lib/channel/channel_args.h +12 -6
- data/src/core/lib/channel/channel_stack.cc +1 -2
- data/src/core/lib/channel/channel_stack.h +1 -7
- data/src/core/lib/channel/channel_stack_builder_impl.cc +1 -1
- data/src/core/lib/channel/channel_stack_builder_impl.h +0 -7
- data/src/core/lib/channel/promise_based_filter.cc +90 -4
- data/src/core/lib/channel/promise_based_filter.h +241 -188
- data/src/core/lib/event_engine/extensions/chaotic_good_extension.h +0 -13
- data/src/core/lib/event_engine/extensions/receive_coalescing_extension.h +44 -0
- data/src/core/lib/event_engine/extensions/tcp_trace.h +1 -1
- data/src/core/lib/event_engine/posix.h +2 -0
- data/src/core/lib/event_engine/posix_engine/native_posix_dns_resolver.cc +2 -1
- data/src/core/lib/event_engine/posix_engine/posix_endpoint.cc +11 -8
- data/src/core/lib/event_engine/posix_engine/posix_engine.cc +9 -18
- data/src/core/lib/event_engine/posix_engine/posix_engine_listener.cc +1 -1
- data/src/core/lib/event_engine/posix_engine/posix_engine_listener_utils.cc +2 -1
- data/src/core/lib/event_engine/posix_engine/posix_interface_posix.cc +10 -10
- data/src/core/lib/event_engine/posix_engine/posix_write_event_sink.h +1 -1
- data/src/core/lib/event_engine/shim.cc +2 -16
- data/src/core/lib/event_engine/shim.h +0 -4
- data/src/core/lib/event_engine/windows/grpc_polled_fd_windows.cc +1 -1
- data/src/core/lib/event_engine/windows/native_windows_dns_resolver.cc +5 -4
- data/src/core/lib/experiments/experiments.cc +303 -183
- data/src/core/lib/experiments/experiments.h +166 -90
- data/src/core/lib/iomgr/buffer_list.h +1 -1
- data/src/core/lib/iomgr/error.cc +3 -73
- data/src/core/lib/iomgr/error.h +8 -6
- data/src/core/lib/iomgr/error_cfstream.cc +1 -2
- data/src/core/lib/iomgr/ev_epoll1_linux.cc +3 -7
- data/src/core/lib/iomgr/ev_poll_posix.cc +2 -6
- data/src/core/lib/iomgr/event_engine_shims/endpoint.cc +2 -2
- data/src/core/lib/iomgr/tcp_posix.cc +4 -7
- data/src/core/lib/iomgr/tcp_server_posix.cc +3 -3
- data/src/core/lib/iomgr/tcp_server_utils_posix_common.cc +1 -1
- data/src/core/lib/promise/detail/promise_factory.h +8 -8
- data/src/core/lib/promise/interceptor_list.h +1 -1
- data/src/core/lib/promise/try_seq.h +2 -2
- data/src/core/lib/resource_quota/telemetry.cc +54 -0
- data/src/core/lib/resource_quota/telemetry.h +5 -23
- data/src/core/lib/security/authorization/audit_logging.cc +2 -2
- data/src/core/lib/security/authorization/audit_logging.h +3 -3
- data/src/core/lib/security/authorization/grpc_authorization_engine.cc +11 -13
- data/src/core/lib/security/authorization/grpc_authorization_engine.h +1 -1
- data/src/core/lib/security/authorization/matchers.cc +20 -20
- data/src/core/lib/security/authorization/matchers.h +15 -16
- data/src/core/lib/security/authorization/rbac_policy.h +1 -1
- data/src/core/lib/security/authorization/stdout_logger.cc +3 -3
- data/src/core/lib/security/authorization/stdout_logger.h +6 -5
- data/src/core/lib/surface/call.cc +6 -9
- data/src/core/lib/surface/call.h +11 -0
- data/src/core/lib/surface/channel.cc +21 -2
- data/src/core/lib/surface/channel.h +14 -6
- data/src/core/lib/surface/filter_stack_call.cc +10 -29
- data/src/core/lib/surface/legacy_channel.cc +7 -7
- data/src/core/lib/surface/legacy_channel.h +3 -1
- data/src/core/lib/surface/version.cc +2 -2
- data/src/core/lib/transport/bdp_estimator.cc +13 -13
- data/src/core/lib/transport/bdp_estimator.h +9 -5
- data/src/core/lib/transport/error_utils.cc +26 -138
- data/src/core/lib/transport/promise_endpoint.h +8 -8
- data/src/core/lib/transport/transport.h +31 -4
- data/src/core/load_balancing/grpclb/grpclb.cc +2 -1
- data/src/core/load_balancing/pick_first/pick_first.cc +33 -2
- data/src/core/load_balancing/pick_first/pick_first.h +6 -0
- data/src/core/load_balancing/ring_hash/ring_hash.cc +3 -10
- data/src/core/load_balancing/rls/rls.cc +2 -1
- data/src/core/load_balancing/weighted_round_robin/weighted_round_robin.cc +141 -74
- data/src/core/load_balancing/weighted_round_robin/weighted_round_robin.h +88 -0
- data/src/core/load_balancing/xds/cds.cc +80 -56
- data/src/core/load_balancing/xds/cds.h +21 -0
- data/src/core/mitigation_engine/mitigation.h +53 -0
- data/src/core/mitigation_engine/mitigation_engine.h +81 -0
- data/src/core/mitigation_engine/mitigation_provider.h +62 -0
- data/src/core/plugin_registry/grpc_plugin_registry.cc +0 -2
- data/src/core/plugin_registry/grpc_plugin_registry_extra.cc +0 -5
- data/src/core/resolver/dns/dns_resolver_plugin.cc +1 -6
- data/src/core/resolver/xds/xds_resolver.cc +37 -144
- data/src/core/server/server.cc +40 -18
- data/src/core/server/server.h +26 -18
- data/src/core/server/server_config_selector.h +5 -4
- data/src/core/server/server_config_selector_filter.cc +135 -26
- data/src/core/server/server_config_selector_filter.h +1 -0
- data/src/core/server/xds_server_config_fetcher.cc +687 -692
- data/src/core/server/xds_server_config_fetcher_legacy.cc +1336 -0
- data/src/core/telemetry/call_tracer.cc +49 -2
- data/src/core/telemetry/call_tracer.h +1 -0
- data/src/core/telemetry/histogram.h +10 -89
- data/src/core/telemetry/instrument.h +42 -28
- data/src/core/telemetry/tcp_tracer.h +38 -0
- data/src/core/transport/message_size_service_config.cc +123 -0
- data/src/core/transport/message_size_service_config.h +85 -0
- data/src/core/transport/session_endpoint.cc +29 -4
- data/src/core/transport/session_endpoint.h +4 -0
- data/src/core/tsi/alts/crypt/gsec.h +4 -2
- data/src/core/tsi/alts/handshaker/alts_handshaker_client.cc +1 -1
- data/src/core/tsi/ssl_telemetry_utils.cc +343 -0
- data/src/core/tsi/ssl_telemetry_utils.h +74 -0
- data/src/core/tsi/ssl_transport_security.cc +583 -305
- data/src/core/tsi/ssl_transport_security.h +22 -6
- data/src/core/tsi/ssl_transport_security_utils.cc +2 -0
- data/src/core/tsi/transport_security.h +7 -0
- data/src/core/util/http_client/httpcli.cc +1 -4
- data/src/core/util/http_client/httpcli_security_connector.cc +2 -1
- data/src/core/util/http_client/parser.cc +1 -1
- data/src/core/util/lru_cache.h +2 -0
- data/src/core/util/ref_counted_string.h +1 -1
- data/src/core/util/status_helper.cc +71 -192
- data/src/core/util/status_helper.h +16 -21
- data/src/core/util/tchar.cc +13 -7
- data/src/core/util/trie_lookup.h +1 -1
- data/src/core/xds/grpc/blackboard.cc +58 -0
- data/src/core/{filter → xds/grpc}/blackboard.h +30 -11
- data/src/core/xds/grpc/file_watcher_certificate_provider_factory.cc +2 -11
- data/src/core/xds/grpc/xds_bootstrap_grpc.cc +2 -7
- data/src/core/xds/grpc/xds_cluster_parser.cc +5 -16
- data/src/core/xds/grpc/xds_common_types.cc +96 -0
- data/src/core/xds/grpc/xds_common_types.h +35 -7
- data/src/core/xds/grpc/xds_common_types_parser.cc +205 -134
- data/src/core/xds/grpc/xds_common_types_parser.h +18 -1
- data/src/core/xds/grpc/xds_endpoint_parser.cc +7 -18
- data/src/core/xds/grpc/xds_http_composite_filter.cc +34 -18
- data/src/core/xds/grpc/xds_http_composite_filter.h +6 -3
- data/src/core/xds/grpc/xds_http_fault_filter.cc +0 -149
- data/src/core/xds/grpc/xds_http_fault_filter.h +19 -8
- data/src/core/xds/grpc/xds_http_filter.cc +2 -1
- data/src/core/xds/grpc/xds_http_filter.h +6 -16
- data/src/core/xds/grpc/xds_http_filter_registry.cc +2 -12
- data/src/core/xds/grpc/xds_http_gcp_authn_filter.cc +25 -119
- data/src/core/xds/grpc/xds_http_gcp_authn_filter.h +27 -15
- data/src/core/xds/grpc/xds_http_rbac_filter.cc +3 -12
- data/src/core/xds/grpc/xds_http_stateful_session_filter.cc +0 -149
- data/src/core/xds/grpc/xds_http_stateful_session_filter.h +19 -8
- data/src/core/xds/grpc/xds_lb_policy_registry.cc +18 -0
- data/src/core/xds/grpc/xds_listener_parser.cc +13 -9
- data/src/core/xds/grpc/xds_metadata_parser.cc +0 -2
- data/src/core/xds/grpc/xds_route_config.h +1 -1
- data/src/core/xds/grpc/xds_route_config_parser.cc +10 -16
- data/src/core/xds/grpc/xds_routing.cc +115 -90
- data/src/core/xds/grpc/xds_routing.h +73 -24
- data/src/core/xds/grpc/xds_server_grpc.cc +22 -13
- data/src/core/xds/grpc/xds_server_grpc.h +16 -2
- data/src/core/xds/grpc/xds_server_grpc_interface.h +10 -0
- data/src/core/xds/grpc/xds_transport_grpc.cc +123 -18
- data/src/core/xds/grpc/xds_transport_grpc.h +28 -4
- data/src/core/xds/xds_client/lrs_client.cc +4 -8
- data/src/core/xds/xds_client/xds_bootstrap.cc +4 -16
- data/src/core/xds/xds_client/xds_client.cc +2 -15
- data/src/core/xds/xds_client/xds_transport.h +3 -0
- data/src/ruby/ext/grpc/rb_byte_buffer.c +1 -0
- data/src/ruby/ext/grpc/rb_call.c +3 -0
- data/src/ruby/ext/grpc/rb_call_credentials.c +1 -0
- data/src/ruby/ext/grpc/rb_channel.c +1 -0
- data/src/ruby/ext/grpc/rb_channel_args.c +1 -0
- data/src/ruby/ext/grpc/rb_channel_credentials.c +1 -0
- data/src/ruby/ext/grpc/rb_completion_queue.c +1 -0
- data/src/ruby/ext/grpc/rb_compression_options.c +1 -0
- data/src/ruby/ext/grpc/rb_grpc_imports.generated.c +4 -4
- data/src/ruby/ext/grpc/rb_grpc_imports.generated.h +6 -6
- 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_xds_channel_credentials.c +1 -0
- data/src/ruby/ext/grpc/rb_xds_server_credentials.c +1 -0
- data/src/ruby/lib/grpc/core/call_credentials.rb +86 -0
- data/src/ruby/lib/grpc/core/channel_credentials.rb +69 -0
- data/src/ruby/lib/grpc/core/credentials_helper.rb +126 -0
- data/src/ruby/lib/grpc/generic/client_stub.rb +86 -73
- data/src/ruby/lib/grpc/generic/interceptors.rb +1 -1
- data/src/ruby/lib/grpc/version.rb +1 -1
- data/src/ruby/lib/grpc.rb +25 -0
- data/src/ruby/pb/src/proto/grpc/testing/messages_pb.rb +1 -1
- data/src/ruby/spec/call_credentials_spec.rb +52 -2
- data/src/ruby/spec/credentials_helper_spec.rb +80 -0
- data/src/ruby/spec/generic/client_stub_spec.rb +27 -4
- data/src/ruby/spec/generic/server_interceptors_spec.rb +17 -3
- data/third_party/upb/upb/base/error_handler.h +79 -0
- data/third_party/upb/upb/base/internal/log2.h +29 -5
- data/third_party/upb/upb/generated_code_support.h +1 -0
- data/third_party/upb/upb/hash/common.c +129 -14
- data/third_party/upb/upb/hash/common.h +1 -1
- data/third_party/upb/upb/hash/ext_table.h +65 -0
- data/third_party/upb/upb/lex/strtod.c +14 -5
- data/third_party/upb/upb/mem/arena.c +113 -95
- data/third_party/upb/upb/mem/internal/arena.h +13 -8
- data/third_party/upb/upb/message/accessors.c +2 -3
- data/third_party/upb/upb/message/accessors.h +32 -12
- data/third_party/upb/upb/message/array.c +51 -2
- data/third_party/upb/upb/message/array.h +10 -0
- data/third_party/upb/upb/message/copy.c +18 -34
- data/third_party/upb/upb/message/internal/accessors.h +15 -49
- data/third_party/upb/upb/message/internal/array.h +1 -1
- data/third_party/upb/upb/message/internal/map.h +1 -1
- data/third_party/upb/upb/message/internal/message.c +8 -1
- data/third_party/upb/upb/message/internal/message.h +40 -10
- data/third_party/upb/upb/message/message.c +3 -2
- data/third_party/upb/upb/message/value.h +0 -6
- data/third_party/upb/upb/mini_descriptor/decode.c +78 -59
- data/third_party/upb/upb/mini_descriptor/link.c +8 -6
- data/third_party/upb/upb/mini_table/extension_registry.c +17 -49
- data/third_party/upb/upb/mini_table/extension_registry.h +5 -17
- data/third_party/upb/upb/mini_table/generated_registry.c +180 -0
- data/third_party/upb/upb/mini_table/generated_registry.h +66 -0
- data/third_party/upb/upb/mini_table/internal/extension.h +5 -3
- data/third_party/upb/upb/mini_table/internal/field.h +7 -5
- data/third_party/upb/upb/mini_table/internal/generated_registry.h +37 -0
- data/third_party/upb/upb/mini_table/internal/message.c +0 -18
- data/third_party/upb/upb/mini_table/internal/message.h +24 -41
- data/third_party/upb/upb/mini_table/internal/size_log2.h +2 -1
- data/third_party/upb/upb/mini_table/internal/sub.h +2 -5
- data/third_party/upb/upb/mini_table/message.h +34 -13
- data/third_party/upb/upb/port/atomic.h +180 -74
- data/third_party/upb/upb/port/def.inc +194 -29
- data/third_party/upb/upb/port/sanitizers.h +15 -0
- data/third_party/upb/upb/port/undef.inc +6 -2
- data/third_party/upb/upb/reflection/common.h +0 -6
- data/third_party/upb/upb/reflection/def.hpp +8 -12
- data/third_party/upb/upb/reflection/def_pool.c +85 -33
- data/third_party/upb/upb/reflection/def_pool.h +38 -8
- data/third_party/upb/upb/reflection/def_type.h +3 -0
- data/third_party/upb/upb/reflection/enum_def.c +45 -33
- data/third_party/upb/upb/reflection/enum_def.h +8 -4
- data/third_party/upb/upb/reflection/enum_reserved_range.c +7 -3
- data/third_party/upb/upb/reflection/enum_value_def.c +14 -29
- data/third_party/upb/upb/reflection/enum_value_def.h +5 -4
- data/third_party/upb/upb/reflection/extension_range.c +15 -14
- data/third_party/upb/upb/reflection/extension_range.h +7 -4
- data/third_party/upb/upb/reflection/field_def.c +114 -96
- data/third_party/upb/upb/reflection/field_def.h +3 -3
- data/third_party/upb/upb/reflection/file_def.c +71 -65
- data/third_party/upb/upb/reflection/file_def.h +4 -5
- data/third_party/upb/upb/reflection/internal/def_builder.c +22 -14
- data/third_party/upb/upb/reflection/internal/def_builder.h +44 -38
- data/third_party/upb/upb/reflection/internal/def_pool.h +5 -1
- data/third_party/upb/upb/reflection/internal/enum_def.h +6 -4
- data/third_party/upb/upb/reflection/internal/enum_reserved_range.h +3 -2
- data/third_party/upb/upb/reflection/internal/enum_value_def.h +7 -4
- data/third_party/upb/upb/reflection/internal/extension_range.h +4 -3
- data/third_party/upb/upb/reflection/internal/field_def.h +15 -12
- data/third_party/upb/upb/reflection/internal/file_def.h +8 -1
- data/third_party/upb/upb/reflection/internal/message_def.h +10 -7
- data/third_party/upb/upb/reflection/internal/message_reserved_range.h +3 -1
- data/third_party/upb/upb/reflection/internal/method_def.h +6 -6
- data/third_party/upb/upb/reflection/internal/oneof_def.h +6 -6
- data/third_party/upb/upb/reflection/internal/service_def.h +9 -6
- data/third_party/upb/upb/reflection/internal/upb_edition_defaults.h +1 -1
- data/third_party/upb/upb/reflection/message_def.c +46 -53
- data/third_party/upb/upb/reflection/message_def.h +6 -7
- data/third_party/upb/upb/reflection/message_reserved_range.c +7 -6
- data/third_party/upb/upb/reflection/method_def.c +22 -20
- data/third_party/upb/upb/reflection/method_def.h +4 -4
- data/third_party/upb/upb/reflection/oneof_def.c +17 -15
- data/third_party/upb/upb/reflection/oneof_def.h +6 -3
- data/third_party/upb/upb/reflection/service_def.c +50 -23
- data/third_party/upb/upb/reflection/service_def.h +7 -4
- data/third_party/upb/upb/text/internal/encode.c +7 -10
- data/third_party/upb/upb/wire/decode.c +269 -430
- data/third_party/upb/upb/wire/decode.h +6 -45
- data/third_party/upb/upb/wire/decode_fast/combinations.h +7 -3
- data/third_party/upb/upb/wire/decode_fast/select.c +7 -2
- data/third_party/upb/upb/wire/encode.c +144 -106
- data/third_party/upb/upb/wire/encode.h +6 -2
- data/third_party/upb/upb/wire/eps_copy_input_stream.c +36 -7
- data/third_party/upb/upb/wire/eps_copy_input_stream.h +94 -380
- data/third_party/upb/upb/wire/internal/decoder.c +1 -14
- data/third_party/upb/upb/wire/internal/decoder.h +84 -24
- data/third_party/upb/upb/wire/internal/eps_copy_input_stream.h +339 -0
- data/third_party/upb/upb/wire/internal/reader.h +29 -12
- data/third_party/upb/upb/wire/reader.c +35 -22
- data/third_party/upb/upb/wire/reader.h +11 -18
- data/third_party/utf8_range/utf8_range.c +1 -1
- data/third_party/utf8_range/utf8_range.h +2 -1
- metadata +35 -13
- data/src/core/ext/filters/fault_injection/fault_injection_service_config_parser.cc +0 -117
- data/src/core/ext/filters/fault_injection/fault_injection_service_config_parser.h +0 -109
- data/src/core/ext/filters/gcp_authentication/gcp_authentication_service_config_parser.cc +0 -80
- data/src/core/ext/filters/gcp_authentication/gcp_authentication_service_config_parser.h +0 -86
- data/src/core/ext/filters/stateful_session/stateful_session_service_config_parser.cc +0 -83
- data/src/core/ext/filters/stateful_session/stateful_session_service_config_parser.h +0 -91
- data/src/core/ext/transport/chttp2/transport/incoming_metadata_tracker.h +0 -217
- data/third_party/upb/upb/message/internal/tagged_ptr.h +0 -56
- data/third_party/upb/upb/message/tagged_ptr.h +0 -48
data/include/grpc/grpc.h
CHANGED
|
@@ -446,19 +446,18 @@ typedef struct {
|
|
|
446
446
|
|
|
447
447
|
typedef struct grpc_server_config_fetcher grpc_server_config_fetcher;
|
|
448
448
|
|
|
449
|
+
/** EXPERIMENTAL. Channel arg vtable for server config fetcher. */
|
|
450
|
+
GRPCAPI const grpc_arg_pointer_vtable* grpc_server_config_fetcher_arg_vtable(
|
|
451
|
+
void);
|
|
452
|
+
|
|
449
453
|
/** EXPERIMENTAL. Creates an xDS config fetcher. */
|
|
450
454
|
GRPCAPI grpc_server_config_fetcher* grpc_server_config_fetcher_xds_create(
|
|
451
455
|
grpc_server_xds_status_notifier notifier, const grpc_channel_args* args);
|
|
452
456
|
|
|
453
|
-
/** EXPERIMENTAL.
|
|
454
|
-
GRPCAPI void
|
|
457
|
+
/** EXPERIMENTAL. Unrefs a config fetcher. */
|
|
458
|
+
GRPCAPI void grpc_server_config_fetcher_unref(
|
|
455
459
|
grpc_server_config_fetcher* config_fetcher);
|
|
456
460
|
|
|
457
|
-
/** EXPERIMENTAL. Sets the server's config fetcher. Takes ownership.
|
|
458
|
-
Must be called before adding ports */
|
|
459
|
-
GRPCAPI void grpc_server_set_config_fetcher(
|
|
460
|
-
grpc_server* server, grpc_server_config_fetcher* config_fetcher);
|
|
461
|
-
|
|
462
461
|
/** Add a HTTP2 over an encrypted link over tcp listener.
|
|
463
462
|
Returns bound port number on success, 0 on failure.
|
|
464
463
|
REQUIRES: server not started */
|
|
@@ -78,11 +78,11 @@ class AuditLoggerFactory {
|
|
|
78
78
|
virtual ~AuditLoggerFactory() = default;
|
|
79
79
|
virtual absl::string_view name() const = 0;
|
|
80
80
|
|
|
81
|
-
virtual absl::StatusOr<std::
|
|
81
|
+
virtual absl::StatusOr<std::shared_ptr<const Config>> ParseAuditLoggerConfig(
|
|
82
82
|
const Json& json) = 0;
|
|
83
83
|
|
|
84
84
|
virtual std::unique_ptr<AuditLogger> CreateAuditLogger(
|
|
85
|
-
std::
|
|
85
|
+
std::shared_ptr<const Config> config) = 0;
|
|
86
86
|
};
|
|
87
87
|
|
|
88
88
|
// Registers an audit logger factory. This should only be called during
|
|
@@ -155,6 +155,8 @@ typedef enum {
|
|
|
155
155
|
GRPC_TLS_GROUP_X25519,
|
|
156
156
|
/** X25519_MLKEM768 hybrid key exchange. Post-quantum cryptography. */
|
|
157
157
|
GRPC_TLS_GROUP_X25519_MLKEM768,
|
|
158
|
+
/** secp384r1 ECDH key exchange. */
|
|
159
|
+
GRPC_TLS_GROUP_SECP384R1,
|
|
158
160
|
} grpc_tls_key_exchange_group;
|
|
159
161
|
|
|
160
162
|
#ifdef __cplusplus
|
|
@@ -35,7 +35,7 @@
|
|
|
35
35
|
Boolean valued. Defaults to false. */
|
|
36
36
|
#define GRPC_ARG_MINIMAL_STACK "grpc.minimal_stack"
|
|
37
37
|
/** Maximum number of concurrent incoming streams to allow on a http2
|
|
38
|
-
connection. Int valued.
|
|
38
|
+
connection. Int valued. Default to -1(indicating no explicit limit).*/
|
|
39
39
|
#define GRPC_ARG_MAX_CONCURRENT_STREAMS "grpc.max_concurrent_streams"
|
|
40
40
|
/** Maximum message length that the channel can receive. Int valued, bytes.
|
|
41
41
|
-1 means unlimited. Defaults to 4MB(4*1024*1024 bytes). -1 means unlimited.
|
|
@@ -120,6 +120,22 @@
|
|
|
120
120
|
before the request is cancelled */
|
|
121
121
|
#define GRPC_ARG_SERVER_MAX_UNREQUESTED_TIME_IN_SERVER_SECONDS \
|
|
122
122
|
"grpc.server_max_unrequested_time_in_server"
|
|
123
|
+
/** The soft limit on the number of pending requests in the server. Int valued.
|
|
124
|
+
* If the number of pending queued requests exceeds this soft limit, then the
|
|
125
|
+
* server will start to probabilistically reject new incoming requests up until
|
|
126
|
+
* the hard limit. Defaults to 1000.
|
|
127
|
+
* Note: It is not recommended to change this value unless the operational
|
|
128
|
+
* implications are fully understood.
|
|
129
|
+
*/
|
|
130
|
+
#define GRPC_ARG_SERVER_MAX_PENDING_REQUESTS "grpc.server.max_pending_requests"
|
|
131
|
+
/** The hard limit on the number of pending requests in the server. Int valued.
|
|
132
|
+
* If the number of pending queued requests reaches this hard limit, all new
|
|
133
|
+
* incoming requests will be rejected. Defaults to 3000.
|
|
134
|
+
* Note: It is not recommended to change this value unless the operational
|
|
135
|
+
* implications are fully understood.
|
|
136
|
+
*/
|
|
137
|
+
#define GRPC_ARG_SERVER_MAX_PENDING_REQUESTS_HARD_LIMIT \
|
|
138
|
+
"grpc.server.max_pending_requests_hard_limit"
|
|
123
139
|
/** Channel arg to override the http2 :scheme header. String valued. */
|
|
124
140
|
#define GRPC_ARG_HTTP2_SCHEME "grpc.http2_scheme"
|
|
125
141
|
/** How many pings can the client send before needing to send a data/header
|
|
@@ -441,5 +457,14 @@
|
|
|
441
457
|
/** \} */
|
|
442
458
|
/** If non-zero, enable TCP tracing and stats collection. */
|
|
443
459
|
#define GRPC_ARG_TCP_TRACING_ENABLED "grpc.tcp_tracing_enabled"
|
|
460
|
+
/* Enable tracing full buffer payloads for TCP telemetry. */
|
|
461
|
+
#define GRPC_ARG_TCP_TRACE_FULL_BUFFER "grpc.experimental.tcp_trace_full_buffer"
|
|
462
|
+
/** Server config fetcher. */
|
|
463
|
+
#define GRPC_ARG_SERVER_CONFIG_FETCHER "grpc.server_config_fetcher"
|
|
464
|
+
/** Set the maximum size of a security frame that can be received on a HTTP2
|
|
465
|
+
* Connection. Check file core/ext/transport/chttp2/transport/frame.cc for
|
|
466
|
+
* details on the Security Frame.
|
|
467
|
+
*/
|
|
468
|
+
#define GRPC_ARG_MAX_SECURITY_FRAME_SIZE "grpc.http2.max_security_frame_size"
|
|
444
469
|
|
|
445
470
|
#endif /* GRPC_IMPL_CHANNEL_ARG_NAMES_H */
|
|
@@ -91,7 +91,7 @@
|
|
|
91
91
|
// It's also acceptable to return a promise that resolves to the
|
|
92
92
|
// relevant return type listed above.
|
|
93
93
|
//
|
|
94
|
-
// OnFinalize is added to
|
|
94
|
+
// OnFinalize is added to intercept call finalization.
|
|
95
95
|
// It must have one of the signatures:
|
|
96
96
|
// - static inline const NoInterceptor OnFinalize:
|
|
97
97
|
// the filter does not intercept call finalization.
|
|
@@ -276,7 +276,7 @@ struct CallConstructor {
|
|
|
276
276
|
|
|
277
277
|
template <typename FilterType>
|
|
278
278
|
struct CallConstructor<FilterType,
|
|
279
|
-
|
|
279
|
+
std::void_t<decltype(typename FilterType::Call(
|
|
280
280
|
static_cast<FilterType*>(nullptr)))>> {
|
|
281
281
|
static void Construct(void* call_data, FilterType* channel) {
|
|
282
282
|
new (call_data) typename FilterType::Call(channel);
|
|
@@ -1976,7 +1976,11 @@ class CallFilters {
|
|
|
1976
1976
|
// Returns a promise that resolves to a StatusFlag indicating success
|
|
1977
1977
|
StatusFlag PushServerInitialMetadata(ServerMetadataHandle md) {
|
|
1978
1978
|
push_server_initial_metadata_ = std::move(md);
|
|
1979
|
-
|
|
1979
|
+
auto flag = call_state_.PushServerInitialMetadata();
|
|
1980
|
+
if (!IsStatusOk(flag)) {
|
|
1981
|
+
push_server_initial_metadata_ = nullptr;
|
|
1982
|
+
}
|
|
1983
|
+
return flag;
|
|
1980
1984
|
}
|
|
1981
1985
|
// Client: Fetch server initial metadata
|
|
1982
1986
|
// Returns a promise that resolves to ValueOrFailure<ServerMetadataHandle>
|
|
@@ -2015,7 +2019,13 @@ class CallFilters {
|
|
|
2015
2019
|
GRPC_DCHECK_NE(message.get(), nullptr);
|
|
2016
2020
|
GRPC_DCHECK_EQ(push_client_to_server_message_.get(), nullptr);
|
|
2017
2021
|
push_client_to_server_message_ = std::move(message);
|
|
2018
|
-
return [this]() { return call_state_.PollPushClientToServerMessage(); }
|
|
2022
|
+
return Map([this]() { return call_state_.PollPushClientToServerMessage(); },
|
|
2023
|
+
[this](StatusFlag r) {
|
|
2024
|
+
if (!IsStatusOk(r)) {
|
|
2025
|
+
push_client_to_server_message_ = nullptr;
|
|
2026
|
+
}
|
|
2027
|
+
return r;
|
|
2028
|
+
});
|
|
2019
2029
|
}
|
|
2020
2030
|
// Client: Indicate that no more messages will be sent
|
|
2021
2031
|
void FinishClientToServerSends() { call_state_.ClientToServerHalfClose(); }
|
|
@@ -2047,7 +2057,13 @@ class CallFilters {
|
|
|
2047
2057
|
GRPC_MUST_USE_RESULT auto PushServerToClientMessage(MessageHandle message) {
|
|
2048
2058
|
call_state_.BeginPushServerToClientMessage();
|
|
2049
2059
|
push_server_to_client_message_ = std::move(message);
|
|
2050
|
-
return [this]() { return call_state_.PollPushServerToClientMessage(); }
|
|
2060
|
+
return Map([this]() { return call_state_.PollPushServerToClientMessage(); },
|
|
2061
|
+
[this](StatusFlag r) {
|
|
2062
|
+
if (!IsStatusOk(r)) {
|
|
2063
|
+
push_server_to_client_message_ = nullptr;
|
|
2064
|
+
}
|
|
2065
|
+
return r;
|
|
2066
|
+
});
|
|
2051
2067
|
}
|
|
2052
2068
|
// Server: Fetch server to client message
|
|
2053
2069
|
// Returns a promise that resolves to ServerToClientNextMessage
|
data/src/core/call/call_spine.h
CHANGED
|
@@ -33,6 +33,7 @@
|
|
|
33
33
|
#include "src/core/lib/promise/pipe.h"
|
|
34
34
|
#include "src/core/lib/promise/prioritized_race.h"
|
|
35
35
|
#include "src/core/lib/promise/promise.h"
|
|
36
|
+
#include "src/core/lib/promise/race.h"
|
|
36
37
|
#include "src/core/lib/promise/status_flag.h"
|
|
37
38
|
#include "src/core/lib/promise/try_seq.h"
|
|
38
39
|
#include "src/core/util/dual_ref_counted.h"
|
|
@@ -223,10 +224,9 @@ class CallSpine final : public Party, public channelz::DataSource {
|
|
|
223
224
|
template <typename Promise>
|
|
224
225
|
auto UntilCallCompletes(Promise&& promise) {
|
|
225
226
|
using Result = PromiseResult<std::decay_t<Promise>>;
|
|
226
|
-
return
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
}));
|
|
227
|
+
return Race(Map(WasCancelled(),
|
|
228
|
+
[](bool) { return FailureStatusCast<Result>(Failure{}); }),
|
|
229
|
+
std::forward<Promise>(promise));
|
|
230
230
|
}
|
|
231
231
|
|
|
232
232
|
template <typename PromiseFactory>
|
|
@@ -257,7 +257,7 @@ Party::WakeupHold ClientCall::StartCall(
|
|
|
257
257
|
const grpc_op& send_initial_metadata_op) {
|
|
258
258
|
GRPC_LATENT_SEE_SCOPE("ClientCall::StartCall");
|
|
259
259
|
auto cur_state = call_state_.load(std::memory_order_acquire);
|
|
260
|
-
// TODO(akshitpatel): [PH2][
|
|
260
|
+
// TODO(akshitpatel): [PH2][P1]: Might need to invoke
|
|
261
261
|
// PrepareApplicationMetadata here.
|
|
262
262
|
CToMetadata(send_initial_metadata_op.data.send_initial_metadata.metadata,
|
|
263
263
|
send_initial_metadata_op.data.send_initial_metadata.count,
|
|
@@ -443,7 +443,7 @@ void ClientCall::OnReceivedStatus(ServerMetadataHandle server_trailing_metadata,
|
|
|
443
443
|
.value_or(GRPC_STATUS_UNKNOWN);
|
|
444
444
|
*out_status = status;
|
|
445
445
|
Slice message_slice;
|
|
446
|
-
if (
|
|
446
|
+
if (status != GRPC_STATUS_OK) {
|
|
447
447
|
if (Slice* message =
|
|
448
448
|
server_trailing_metadata->get_pointer(GrpcMessageMetadata())) {
|
|
449
449
|
message_slice = message->Ref();
|
|
@@ -29,7 +29,6 @@
|
|
|
29
29
|
|
|
30
30
|
namespace grpc_core {
|
|
31
31
|
|
|
32
|
-
class Blackboard;
|
|
33
32
|
class InterceptionChainBuilder;
|
|
34
33
|
|
|
35
34
|
// One hijacked call. Using this we can get access to the CallHandler for the
|
|
@@ -174,9 +173,8 @@ class InterceptionChainBuilder final {
|
|
|
174
173
|
using FinalDestination = std::variant<RefCountedPtr<UnstartedCallDestination>,
|
|
175
174
|
RefCountedPtr<CallDestination>>;
|
|
176
175
|
|
|
177
|
-
explicit InterceptionChainBuilder(ChannelArgs args
|
|
178
|
-
|
|
179
|
-
: args_(std::move(args)), blackboard_(blackboard) {}
|
|
176
|
+
explicit InterceptionChainBuilder(ChannelArgs args)
|
|
177
|
+
: args_(std::move(args)) {}
|
|
180
178
|
|
|
181
179
|
// Add a filter with a `Call` class as an inner member.
|
|
182
180
|
// Call class must be one compatible with the filters described in
|
|
@@ -185,8 +183,8 @@ class InterceptionChainBuilder final {
|
|
|
185
183
|
absl::enable_if_t<sizeof(typename T::Call) != 0, InterceptionChainBuilder&>
|
|
186
184
|
Add(RefCountedPtr<const FilterConfig> config) {
|
|
187
185
|
if (!status_.ok()) return *this;
|
|
188
|
-
auto filter = T::Create(
|
|
189
|
-
|
|
186
|
+
auto filter = T::Create(
|
|
187
|
+
args_, {FilterInstanceId(FilterTypeId<T>()), std::move(config)});
|
|
190
188
|
if (!filter.ok()) {
|
|
191
189
|
status_ = filter.status();
|
|
192
190
|
return *this;
|
|
@@ -202,8 +200,8 @@ class InterceptionChainBuilder final {
|
|
|
202
200
|
absl::enable_if_t<std::is_base_of<Interceptor, T>::value,
|
|
203
201
|
InterceptionChainBuilder&>
|
|
204
202
|
Add(RefCountedPtr<const FilterConfig> config) {
|
|
205
|
-
AddInterceptor(T::Create(
|
|
206
|
-
|
|
203
|
+
AddInterceptor(T::Create(
|
|
204
|
+
args_, {FilterInstanceId(FilterTypeId<T>()), std::move(config)}));
|
|
207
205
|
return *this;
|
|
208
206
|
};
|
|
209
207
|
|
|
@@ -282,7 +280,6 @@ class InterceptionChainBuilder final {
|
|
|
282
280
|
absl::Status status_;
|
|
283
281
|
std::map<size_t, size_t> filter_type_counts_;
|
|
284
282
|
static std::atomic<size_t> next_filter_id_;
|
|
285
|
-
const Blackboard* blackboard_ = nullptr;
|
|
286
283
|
};
|
|
287
284
|
|
|
288
285
|
} // namespace grpc_core
|
data/src/core/call/metadata.cc
CHANGED
|
@@ -37,10 +37,15 @@ ServerMetadataHandle ServerMetadataFromStatus(const absl::Status& status) {
|
|
|
37
37
|
absl::Status ServerMetadataToStatus(ServerMetadata& md) {
|
|
38
38
|
const auto grpc_status =
|
|
39
39
|
md.get(GrpcStatusMetadata()).value_or(GRPC_STATUS_UNKNOWN);
|
|
40
|
+
if (grpc_status == GRPC_STATUS_OK) {
|
|
41
|
+
return absl::OkStatus();
|
|
42
|
+
}
|
|
40
43
|
const auto* error_slice = md.get_pointer(GrpcMessageMetadata());
|
|
44
|
+
absl::string_view message = error_slice != nullptr
|
|
45
|
+
? error_slice->as_string_view()
|
|
46
|
+
: absl::string_view();
|
|
41
47
|
return grpc_error_set_int(
|
|
42
|
-
absl::Status(static_cast<absl::StatusCode>(grpc_status),
|
|
43
|
-
error_slice->as_string_view()),
|
|
48
|
+
absl::Status(static_cast<absl::StatusCode>(grpc_status), message),
|
|
44
49
|
StatusIntProperty::kRpcStatus, grpc_status);
|
|
45
50
|
}
|
|
46
51
|
|
data/src/core/call/metadata.h
CHANGED
|
@@ -229,7 +229,7 @@ struct StatusCastImpl<ServerMetadataHandle, absl::Status&> {
|
|
|
229
229
|
template <typename T>
|
|
230
230
|
struct StatusCastImpl<
|
|
231
231
|
ServerMetadataHandle, T,
|
|
232
|
-
|
|
232
|
+
std::void_t<decltype(&StatusCastImpl<absl::Status, T>::Cast)>> {
|
|
233
233
|
static ServerMetadataHandle Cast(const T& m) {
|
|
234
234
|
return ServerMetadataFromStatus(StatusCast<absl::Status>(m));
|
|
235
235
|
}
|
|
@@ -90,7 +90,7 @@ void DebugStringBuilder::AddAfterRedaction(absl::string_view key,
|
|
|
90
90
|
} else {
|
|
91
91
|
// If the type of metadata is not in the allow list, we want to prevent it
|
|
92
92
|
// from getting logged. Custom metadata types may have sensitive information
|
|
93
|
-
// that should never be logged.
|
|
93
|
+
// that should never be logged. Programmatically, we have no way to know
|
|
94
94
|
// which data is sensitive and which is not. So we redact all values which
|
|
95
95
|
// are not in the allow list.
|
|
96
96
|
Add(key,
|
|
@@ -706,7 +706,7 @@ struct IsEncodableTrait {
|
|
|
706
706
|
};
|
|
707
707
|
|
|
708
708
|
template <typename Trait>
|
|
709
|
-
struct IsEncodableTrait<Trait,
|
|
709
|
+
struct IsEncodableTrait<Trait, std::void_t<decltype(Trait::key())>> {
|
|
710
710
|
static const bool value = true;
|
|
711
711
|
};
|
|
712
712
|
|
|
@@ -885,6 +885,22 @@ class GetStringValueHelper {
|
|
|
885
885
|
return value->as_string_view();
|
|
886
886
|
}
|
|
887
887
|
|
|
888
|
+
template <typename Trait>
|
|
889
|
+
GPR_ATTRIBUTE_NOINLINE absl::enable_if_t<
|
|
890
|
+
Trait::kRepeatable == true &&
|
|
891
|
+
std::is_same<Slice, typename Trait::ValueType>::value,
|
|
892
|
+
std::optional<absl::string_view>>
|
|
893
|
+
Found(Trait) {
|
|
894
|
+
const auto* value = container_->get_pointer(Trait());
|
|
895
|
+
if (value == nullptr) return std::nullopt;
|
|
896
|
+
backing_->clear();
|
|
897
|
+
for (const auto& v : *value) {
|
|
898
|
+
if (!backing_->empty()) backing_->push_back(',');
|
|
899
|
+
backing_->append(v.as_string_view());
|
|
900
|
+
}
|
|
901
|
+
return *backing_;
|
|
902
|
+
}
|
|
903
|
+
|
|
888
904
|
template <typename Trait>
|
|
889
905
|
GPR_ATTRIBUTE_NOINLINE absl::enable_if_t<
|
|
890
906
|
Trait::kRepeatable == true &&
|
|
@@ -365,8 +365,13 @@ ParsedMetadata<MetadataContainer>::SliceTraitVTable() {
|
|
|
365
365
|
metadata_detail::DestroySliceValue,
|
|
366
366
|
// set
|
|
367
367
|
[](const Buffer& value, MetadataContainer* map) {
|
|
368
|
-
|
|
369
|
-
|
|
368
|
+
if constexpr (Which::kRepeatable) {
|
|
369
|
+
map->GetOrCreatePointer(Which())->emplace_back(
|
|
370
|
+
Which::MementoToValue(metadata_detail::SliceFromBuffer(value)));
|
|
371
|
+
} else {
|
|
372
|
+
metadata_detail::SetSliceValue<Which::MementoToValue>(
|
|
373
|
+
map->GetOrCreatePointer(Which()), value);
|
|
374
|
+
}
|
|
370
375
|
},
|
|
371
376
|
// with_new_value
|
|
372
377
|
WithNewValueSetSlice<Which::ParseMemento>,
|
|
@@ -101,6 +101,18 @@ grpc_call_error ValidateServerBatch(const grpc_op* ops, size_t nops) {
|
|
|
101
101
|
|
|
102
102
|
} // namespace
|
|
103
103
|
|
|
104
|
+
absl::string_view ServerCall::GetServerAuthority() const {
|
|
105
|
+
GRPC_DCHECK(client_initial_metadata_stored_ != nullptr);
|
|
106
|
+
if (client_initial_metadata_stored_ != nullptr) {
|
|
107
|
+
const Slice* authority_metadata =
|
|
108
|
+
client_initial_metadata_stored_->get_pointer(HttpAuthorityMetadata());
|
|
109
|
+
if (authority_metadata != nullptr) {
|
|
110
|
+
return authority_metadata->as_string_view();
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
return "";
|
|
114
|
+
}
|
|
115
|
+
|
|
104
116
|
grpc_call_error ServerCall::StartBatch(const grpc_op* ops, size_t nops,
|
|
105
117
|
void* notify_tag,
|
|
106
118
|
bool is_notify_tag_closure) {
|
|
@@ -244,15 +256,15 @@ void ServerCall::CommitBatch(const grpc_op* ops, size_t nops, void* notify_tag,
|
|
|
244
256
|
grpc_call* MakeServerCall(CallHandler call_handler,
|
|
245
257
|
ClientMetadataHandle client_initial_metadata,
|
|
246
258
|
ServerInterface* server, grpc_completion_queue* cq,
|
|
247
|
-
grpc_metadata_array* publish_initial_metadata
|
|
248
|
-
|
|
249
|
-
false);
|
|
259
|
+
grpc_metadata_array* publish_initial_metadata,
|
|
260
|
+
RefCountedPtr<Arena> parent_arena) {
|
|
250
261
|
// TODO(ctiller): ideally we'd put this in the arena with the CallHandler,
|
|
251
262
|
// but there's an ownership problem: CallHandler owns the arena, and so would
|
|
252
263
|
// get destroyed before the base class Call destructor runs, leading to
|
|
253
264
|
// UB/crash. Investigate another path.
|
|
254
265
|
return (new ServerCall(std::move(client_initial_metadata),
|
|
255
|
-
std::move(call_handler), server, cq
|
|
266
|
+
std::move(call_handler), server, cq,
|
|
267
|
+
publish_initial_metadata, std::move(parent_arena)))
|
|
256
268
|
->c_ptr();
|
|
257
269
|
}
|
|
258
270
|
|
data/src/core/call/server_call.h
CHANGED
|
@@ -62,7 +62,9 @@ class ServerCall final : public Call, public DualRefCounted<ServerCall> {
|
|
|
62
62
|
public:
|
|
63
63
|
ServerCall(ClientMetadataHandle client_initial_metadata,
|
|
64
64
|
CallHandler call_handler, ServerInterface* server,
|
|
65
|
-
grpc_completion_queue* cq
|
|
65
|
+
grpc_completion_queue* cq,
|
|
66
|
+
grpc_metadata_array* publish_initial_metadata,
|
|
67
|
+
RefCountedPtr<Arena> parent_arena = nullptr)
|
|
66
68
|
: Call(false,
|
|
67
69
|
client_initial_metadata->get(GrpcTimeoutMetadata())
|
|
68
70
|
.value_or(Timestamp::InfFuture()),
|
|
@@ -72,6 +74,14 @@ class ServerCall final : public Call, public DualRefCounted<ServerCall> {
|
|
|
72
74
|
cq_(cq),
|
|
73
75
|
server_(server) {
|
|
74
76
|
global_stats().IncrementServerCallsCreated();
|
|
77
|
+
if (parent_arena != nullptr) {
|
|
78
|
+
auto* parent_ctx = arena()->New<ParentCallContext>();
|
|
79
|
+
parent_ctx->arena = std::move(parent_arena);
|
|
80
|
+
arena()->SetContext<ParentCallContext>(parent_ctx);
|
|
81
|
+
}
|
|
82
|
+
ProcessIncomingInitialMetadata(*client_initial_metadata_stored_);
|
|
83
|
+
PublishMetadataArray(client_initial_metadata_stored_.get(),
|
|
84
|
+
publish_initial_metadata, false);
|
|
75
85
|
SourceConstructed();
|
|
76
86
|
}
|
|
77
87
|
|
|
@@ -86,9 +96,7 @@ class ServerCall final : public Call, public DualRefCounted<ServerCall> {
|
|
|
86
96
|
bool is_trailers_only() const override {
|
|
87
97
|
Crash("is_trailers_only not implemented for server calls");
|
|
88
98
|
}
|
|
89
|
-
absl::string_view GetServerAuthority() const override
|
|
90
|
-
Crash("unimplemented");
|
|
91
|
-
}
|
|
99
|
+
absl::string_view GetServerAuthority() const override;
|
|
92
100
|
grpc_call_error StartBatch(const grpc_op* ops, size_t nops, void* notify_tag,
|
|
93
101
|
bool is_notify_tag_closure) override;
|
|
94
102
|
void FailBatchImmediately(void* notify_tag, bool is_notify_tag_closure,
|
|
@@ -168,7 +176,8 @@ class ServerCall final : public Call, public DualRefCounted<ServerCall> {
|
|
|
168
176
|
grpc_call* MakeServerCall(CallHandler call_handler,
|
|
169
177
|
ClientMetadataHandle client_initial_metadata,
|
|
170
178
|
ServerInterface* server, grpc_completion_queue* cq,
|
|
171
|
-
grpc_metadata_array* publish_initial_metadata
|
|
179
|
+
grpc_metadata_array* publish_initial_metadata,
|
|
180
|
+
RefCountedPtr<Arena> parent_arena);
|
|
172
181
|
|
|
173
182
|
} // namespace grpc_core
|
|
174
183
|
|
|
@@ -115,8 +115,6 @@ bool grpc_status_code_from_int(int status_int, grpc_status_code* status) {
|
|
|
115
115
|
|
|
116
116
|
namespace grpc_core {
|
|
117
117
|
|
|
118
|
-
namespace internal {
|
|
119
|
-
|
|
120
118
|
std::string StatusCodeSet::ToString() const {
|
|
121
119
|
std::vector<absl::string_view> codes;
|
|
122
120
|
for (size_t i = 0; i < GPR_ARRAY_SIZE(g_status_string_entries); ++i) {
|
|
@@ -127,8 +125,6 @@ std::string StatusCodeSet::ToString() const {
|
|
|
127
125
|
return absl::StrCat("{", absl::StrJoin(codes, ","), "}");
|
|
128
126
|
}
|
|
129
127
|
|
|
130
|
-
} // namespace internal
|
|
131
|
-
|
|
132
128
|
absl::Status MaybeRewriteIllegalStatusCode(absl::Status status,
|
|
133
129
|
absl::string_view source) {
|
|
134
130
|
switch (status.code()) {
|
data/src/core/call/status_util.h
CHANGED
|
@@ -41,7 +41,6 @@ const char* grpc_status_code_to_string(grpc_status_code status);
|
|
|
41
41
|
bool grpc_status_code_from_int(int status_int, grpc_status_code* status);
|
|
42
42
|
|
|
43
43
|
namespace grpc_core {
|
|
44
|
-
namespace internal {
|
|
45
44
|
|
|
46
45
|
/// A set of grpc_status_code values.
|
|
47
46
|
class StatusCodeSet {
|
|
@@ -67,8 +66,6 @@ class StatusCodeSet {
|
|
|
67
66
|
int status_code_mask_ = 0; // A bitfield of status codes in the set.
|
|
68
67
|
};
|
|
69
68
|
|
|
70
|
-
} // namespace internal
|
|
71
|
-
|
|
72
69
|
// Optionally rewrites a status as per
|
|
73
70
|
// https://github.com/grpc/proposal/blob/master/A54-restrict-control-plane-status-codes.md.
|
|
74
71
|
// The source parameter indicates where the status came from.
|
|
@@ -269,7 +269,9 @@ void ChannelTrace::RenderEntry(const Entry& entry,
|
|
|
269
269
|
RenderEntry(entries_[id], child, arena);
|
|
270
270
|
size_t length;
|
|
271
271
|
auto* bytes = grpc_channelz_v2_TraceEvent_serialize(child, arena, &length);
|
|
272
|
-
|
|
272
|
+
// Allocate and attach the Data object directly to the trace_event
|
|
273
|
+
auto* data = grpc_channelz_v2_TraceEvent_add_data(trace_event, arena);
|
|
274
|
+
// Set the name and value of the fields in the Data object
|
|
273
275
|
grpc_channelz_v2_Data_set_name(data, StdStringToUpbString("child_trace"));
|
|
274
276
|
auto* any = grpc_channelz_v2_Data_mutable_value(data, arena);
|
|
275
277
|
google_protobuf_Any_set_value(
|
|
@@ -65,11 +65,6 @@ void grpc_client_channel_global_init_backup_polling() {
|
|
|
65
65
|
g_backup_polling_disabled = grpc_core::IsEventEngineClientEnabled() &&
|
|
66
66
|
grpc_core::IsEventEngineListenerEnabled() &&
|
|
67
67
|
grpc_core::IsEventEngineDnsEnabled();
|
|
68
|
-
#ifdef GRPC_PYTHON_BUILD
|
|
69
|
-
if (!grpc_core::IsEventEnginePollerForPythonEnabled()) {
|
|
70
|
-
g_backup_polling_disabled = false;
|
|
71
|
-
}
|
|
72
|
-
#endif
|
|
73
68
|
if (g_backup_polling_disabled) {
|
|
74
69
|
return;
|
|
75
70
|
}
|
|
@@ -159,21 +154,11 @@ static void g_poller_init_locked() {
|
|
|
159
154
|
}
|
|
160
155
|
}
|
|
161
156
|
|
|
162
|
-
static bool g_can_poll_in_background() {
|
|
163
|
-
#ifndef GRPC_PYTHON_BUILD
|
|
164
|
-
return grpc_iomgr_run_in_background();
|
|
165
|
-
#else
|
|
166
|
-
// No iomgr "event_engines" (not to be confused with the new EventEngine)
|
|
167
|
-
// are able to run in backgroung.
|
|
168
|
-
return false;
|
|
169
|
-
#endif
|
|
170
|
-
}
|
|
171
|
-
|
|
172
157
|
void grpc_client_channel_start_backup_polling(
|
|
173
158
|
grpc_pollset_set* interested_parties) {
|
|
174
159
|
if (g_backup_polling_disabled ||
|
|
175
160
|
g_poll_interval == grpc_core::Duration::Zero() ||
|
|
176
|
-
|
|
161
|
+
grpc_iomgr_run_in_background()) {
|
|
177
162
|
return;
|
|
178
163
|
}
|
|
179
164
|
gpr_mu_lock(&g_poller_mu);
|
|
@@ -193,7 +178,7 @@ void grpc_client_channel_stop_backup_polling(
|
|
|
193
178
|
grpc_pollset_set* interested_parties) {
|
|
194
179
|
if (g_backup_polling_disabled ||
|
|
195
180
|
g_poll_interval == grpc_core::Duration::Zero() ||
|
|
196
|
-
|
|
181
|
+
grpc_iomgr_run_in_background()) {
|
|
197
182
|
return;
|
|
198
183
|
}
|
|
199
184
|
grpc_pollset_set_del_pollset(interested_parties, g_poller->pollset);
|
|
@@ -404,20 +404,18 @@ void ClientChannel::SubchannelWrapper::Orphaned() {
|
|
|
404
404
|
}
|
|
405
405
|
self->client_channel_->subchannel_map_.erase(it);
|
|
406
406
|
}
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
self->subchannel_->CancelConnectivityStateWatch(watcher);
|
|
416
|
-
}
|
|
417
|
-
self->watcher_map_.clear();
|
|
418
|
-
self->data_watchers_.clear();
|
|
419
|
-
self->subchannel_.reset();
|
|
407
|
+
// We need to make sure that the internal subchannel gets unreffed
|
|
408
|
+
// inside of the WorkSerializer, so that updates to the local
|
|
409
|
+
// subchannel pool are properly synchronized. To that end, we
|
|
410
|
+
// drop our ref to the internal subchannel here. We also cancel
|
|
411
|
+
// any watchers that were not properly cancelled, in case any of
|
|
412
|
+
// them are holding a ref to the internal subchannel.
|
|
413
|
+
for (const auto& [_, watcher] : self->watcher_map_) {
|
|
414
|
+
self->subchannel_->CancelConnectivityStateWatch(watcher);
|
|
420
415
|
}
|
|
416
|
+
self->watcher_map_.clear();
|
|
417
|
+
self->data_watchers_.clear();
|
|
418
|
+
self->subchannel_.reset();
|
|
421
419
|
});
|
|
422
420
|
}
|
|
423
421
|
|
|
@@ -898,10 +896,15 @@ void ClientChannel::Ping(grpc_completion_queue*, void*) {
|
|
|
898
896
|
grpc_call* ClientChannel::CreateCall(
|
|
899
897
|
grpc_call* parent_call, uint32_t propagation_mask,
|
|
900
898
|
grpc_completion_queue* cq, grpc_pollset_set* /*pollset_set_alternative*/,
|
|
901
|
-
Slice path, std::optional<Slice> authority, Timestamp deadline,
|
|
899
|
+
Slice path, std::optional<Slice> authority, Timestamp deadline,
|
|
900
|
+
bool /*registered_method*/,
|
|
901
|
+
std::optional<absl::FunctionRef<void(Arena*)>> arena_init_function) {
|
|
902
902
|
auto arena = call_arena_allocator()->MakeArena();
|
|
903
903
|
arena->SetContext<grpc_event_engine::experimental::EventEngine>(
|
|
904
904
|
event_engine());
|
|
905
|
+
if (arena_init_function.has_value()) {
|
|
906
|
+
(*arena_init_function)(arena.get());
|
|
907
|
+
}
|
|
905
908
|
return MakeClientCall(parent_call, propagation_mask, cq, std::move(path),
|
|
906
909
|
std::move(authority), false, deadline,
|
|
907
910
|
compression_options(), std::move(arena), Ref());
|
|
@@ -924,12 +927,10 @@ class FilterChainBuilderImpl final : public FilterChainBuilder {
|
|
|
924
927
|
public:
|
|
925
928
|
FilterChainBuilderImpl(
|
|
926
929
|
bool enable_retries, const ChannelArgs& channel_args,
|
|
927
|
-
Blackboard* blackboard,
|
|
928
930
|
std::function<void(ServerMetadata&)> on_server_trailing_metadata,
|
|
929
931
|
RefCountedPtr<UnstartedCallDestination> destination)
|
|
930
932
|
: enable_retries_(enable_retries),
|
|
931
933
|
channel_args_(channel_args),
|
|
932
|
-
blackboard_(blackboard),
|
|
933
934
|
on_server_trailing_metadata_(std::move(on_server_trailing_metadata)),
|
|
934
935
|
destination_(std::move(destination)) {}
|
|
935
936
|
|
|
@@ -954,8 +955,7 @@ class FilterChainBuilderImpl final : public FilterChainBuilder {
|
|
|
954
955
|
}
|
|
955
956
|
|
|
956
957
|
void InitBuilder() {
|
|
957
|
-
builder_ =
|
|
958
|
-
std::make_unique<InterceptionChainBuilder>(channel_args_, blackboard_);
|
|
958
|
+
builder_ = std::make_unique<InterceptionChainBuilder>(channel_args_);
|
|
959
959
|
if (on_server_trailing_metadata_ != nullptr) {
|
|
960
960
|
builder_->AddOnServerTrailingMetadata(on_server_trailing_metadata_);
|
|
961
961
|
}
|
|
@@ -965,7 +965,6 @@ class FilterChainBuilderImpl final : public FilterChainBuilder {
|
|
|
965
965
|
|
|
966
966
|
const bool enable_retries_;
|
|
967
967
|
const ChannelArgs channel_args_;
|
|
968
|
-
const Blackboard* blackboard_;
|
|
969
968
|
const std::function<void(ServerMetadata&)> on_server_trailing_metadata_;
|
|
970
969
|
const RefCountedPtr<UnstartedCallDestination> destination_;
|
|
971
970
|
std::unique_ptr<InterceptionChainBuilder> builder_;
|
|
@@ -1392,15 +1391,13 @@ void ClientChannel::UpdateServiceConfigInDataPlaneLocked(
|
|
|
1392
1391
|
}
|
|
1393
1392
|
// Modify channel args.
|
|
1394
1393
|
ChannelArgs new_args = args.SetObject(this).SetObject(saved_service_config_);
|
|
1395
|
-
// Construct filter stack.
|
|
1396
|
-
auto new_blackboard = MakeRefCounted<Blackboard>();
|
|
1397
1394
|
const bool enable_retries =
|
|
1398
1395
|
!channel_args_.WantMinimalStack() &&
|
|
1399
1396
|
channel_args_.GetBool(GRPC_ARG_ENABLE_RETRIES).value_or(true);
|
|
1400
1397
|
if (enable_retries) {
|
|
1401
|
-
|
|
1402
|
-
blackboard_.get(), new_blackboard.get());
|
|
1398
|
+
retry_throttler_updater_.Update(*saved_service_config_, new_args);
|
|
1403
1399
|
}
|
|
1400
|
+
// Construct filter stack.
|
|
1404
1401
|
std::function<void(ServerMetadata&)> on_server_trailing_metadata;
|
|
1405
1402
|
if (idle_timeout_ != Duration::Zero()) {
|
|
1406
1403
|
on_server_trailing_metadata = [this](ServerMetadata&) {
|
|
@@ -1408,11 +1405,9 @@ void ClientChannel::UpdateServiceConfigInDataPlaneLocked(
|
|
|
1408
1405
|
};
|
|
1409
1406
|
}
|
|
1410
1407
|
FilterChainBuilderImpl filter_chain_builder(
|
|
1411
|
-
enable_retries, new_args,
|
|
1412
|
-
|
|
1413
|
-
config_selector->BuildFilterChains(filter_chain_builder
|
|
1414
|
-
new_blackboard.get());
|
|
1415
|
-
blackboard_ = std::move(new_blackboard);
|
|
1408
|
+
enable_retries, new_args, std::move(on_server_trailing_metadata),
|
|
1409
|
+
call_destination_);
|
|
1410
|
+
config_selector->BuildFilterChains(filter_chain_builder);
|
|
1416
1411
|
resolver_data_for_calls_.Set(std::move(config_selector));
|
|
1417
1412
|
}
|
|
1418
1413
|
|