grpc 1.54.2 → 1.55.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Makefile +68 -37
- data/include/grpc/impl/grpc_types.h +2 -0
- data/src/core/ext/filters/backend_metrics/backend_metric_filter.cc +1 -1
- data/src/core/ext/filters/client_channel/backend_metric.cc +2 -1
- data/src/core/ext/filters/client_channel/client_channel.cc +17 -23
- data/src/core/ext/filters/client_channel/client_channel.h +22 -16
- data/src/core/ext/filters/client_channel/client_channel_channelz.cc +1 -1
- data/src/core/ext/filters/client_channel/client_channel_internal.h +8 -40
- data/src/core/ext/filters/client_channel/client_channel_service_config.cc +2 -2
- data/src/core/ext/filters/client_channel/config_selector.h +5 -17
- data/src/core/ext/filters/client_channel/health/health_check_client.cc +1 -1
- data/src/core/ext/filters/client_channel/http_proxy.cc +34 -1
- data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.cc +2 -2
- data/src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.cc +1 -1
- data/src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.h +1 -1
- data/src/core/ext/filters/client_channel/lb_policy/outlier_detection/outlier_detection.cc +5 -5
- data/src/core/ext/filters/client_channel/lb_policy/priority/priority.cc +3 -3
- data/src/core/ext/filters/client_channel/lb_policy/rls/rls.cc +44 -45
- data/src/core/ext/filters/client_channel/lb_policy/weighted_round_robin/weighted_round_robin.cc +2 -3
- data/src/core/ext/filters/client_channel/lb_policy/weighted_target/weighted_target.cc +3 -3
- data/src/core/ext/filters/client_channel/lb_policy/xds/cds.cc +3 -3
- data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_impl.cc +4 -4
- data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_manager.cc +3 -3
- data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_resolver.cc +9 -9
- data/src/core/ext/filters/client_channel/lb_policy/xds/xds_override_host.cc +4 -4
- data/src/core/ext/filters/client_channel/lb_policy/xds/xds_wrr_locality.cc +5 -4
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.cc +19 -118
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.h +30 -0
- data/src/core/ext/filters/client_channel/resolver/dns/dns_resolver_plugin.cc +60 -0
- data/src/core/ext/filters/client_channel/resolver/dns/dns_resolver_plugin.h +27 -0
- data/src/core/ext/filters/client_channel/resolver/dns/event_engine/event_engine_client_channel_resolver.cc +524 -0
- data/src/core/ext/filters/client_channel/resolver/dns/event_engine/event_engine_client_channel_resolver.h +35 -0
- data/src/core/ext/filters/client_channel/resolver/dns/event_engine/service_config_helper.cc +97 -0
- data/src/core/ext/filters/client_channel/resolver/dns/event_engine/service_config_helper.h +32 -0
- data/src/core/ext/filters/client_channel/resolver/dns/native/dns_resolver.cc +2 -13
- data/src/core/ext/filters/client_channel/resolver/dns/native/dns_resolver.h +24 -0
- data/src/core/ext/filters/client_channel/resolver/google_c2p/google_c2p_resolver.cc +3 -2
- data/src/core/ext/filters/client_channel/resolver/xds/xds_resolver.cc +7 -34
- data/src/core/ext/filters/client_channel/retry_filter.cc +23 -55
- data/src/core/ext/filters/client_channel/retry_service_config.cc +8 -8
- data/src/core/ext/filters/fault_injection/fault_injection_service_config_parser.cc +1 -1
- data/src/core/ext/filters/http/message_compress/compression_filter.cc +2 -2
- data/src/core/ext/filters/rbac/rbac_service_config_parser.cc +68 -69
- data/src/core/ext/transport/chttp2/transport/chttp2_transport.cc +78 -23
- data/src/core/ext/transport/chttp2/transport/chttp2_transport.h +21 -0
- data/src/core/ext/transport/chttp2/transport/context_list_entry.h +70 -0
- data/src/core/ext/transport/chttp2/transport/frame_ping.cc +1 -7
- data/src/core/ext/transport/chttp2/transport/frame_ping.h +0 -3
- data/src/core/ext/transport/chttp2/transport/hpack_encoder.h +1 -0
- data/src/core/ext/transport/chttp2/transport/hpack_parse_result.cc +176 -0
- data/src/core/ext/transport/chttp2/transport/hpack_parse_result.h +325 -0
- data/src/core/ext/transport/chttp2/transport/hpack_parser.cc +567 -543
- data/src/core/ext/transport/chttp2/transport/hpack_parser.h +150 -9
- data/src/core/ext/transport/chttp2/transport/hpack_parser_table.cc +47 -32
- data/src/core/ext/transport/chttp2/transport/hpack_parser_table.h +18 -5
- data/src/core/ext/transport/chttp2/transport/internal.h +3 -4
- data/src/core/ext/transport/chttp2/transport/parsing.cc +12 -12
- data/src/core/ext/transport/chttp2/transport/writing.cc +14 -3
- data/src/core/ext/upb-generated/envoy/admin/v3/certs.upb.c +87 -52
- data/src/core/ext/upb-generated/envoy/admin/v3/certs.upb.h +414 -181
- data/src/core/ext/upb-generated/envoy/admin/v3/clusters.upb.c +121 -60
- data/src/core/ext/upb-generated/envoy/admin/v3/clusters.upb.h +481 -224
- data/src/core/ext/upb-generated/envoy/admin/v3/config_dump.upb.c +90 -55
- data/src/core/ext/upb-generated/envoy/admin/v3/config_dump.upb.h +415 -188
- data/src/core/ext/upb-generated/envoy/admin/v3/config_dump_shared.upb.c +357 -210
- data/src/core/ext/upb-generated/envoy/admin/v3/config_dump_shared.upb.h +1572 -729
- data/src/core/ext/upb-generated/envoy/admin/v3/init_dump.upb.c +30 -17
- data/src/core/ext/upb-generated/envoy/admin/v3/init_dump.upb.h +144 -47
- data/src/core/ext/upb-generated/envoy/admin/v3/listeners.upb.c +34 -21
- data/src/core/ext/upb-generated/envoy/admin/v3/listeners.upb.h +160 -62
- data/src/core/ext/upb-generated/envoy/admin/v3/memory.upb.c +27 -14
- data/src/core/ext/upb-generated/envoy/admin/v3/memory.upb.h +78 -38
- data/src/core/ext/upb-generated/envoy/admin/v3/metrics.upb.c +20 -11
- data/src/core/ext/upb-generated/envoy/admin/v3/metrics.upb.h +48 -26
- data/src/core/ext/upb-generated/envoy/admin/v3/mutex_stats.upb.c +20 -11
- data/src/core/ext/upb-generated/envoy/admin/v3/mutex_stats.upb.h +48 -26
- data/src/core/ext/upb-generated/envoy/admin/v3/server_info.upb.c +109 -62
- data/src/core/ext/upb-generated/envoy/admin/v3/server_info.upb.h +566 -244
- data/src/core/ext/upb-generated/envoy/admin/v3/tap.upb.c +21 -12
- data/src/core/ext/upb-generated/envoy/admin/v3/tap.upb.h +45 -30
- data/src/core/ext/upb-generated/envoy/annotations/deprecation.upb.c +22 -19
- data/src/core/ext/upb-generated/envoy/annotations/deprecation.upb.h +82 -29
- data/src/core/ext/upb-generated/envoy/annotations/resource.upb.c +23 -16
- data/src/core/ext/upb-generated/envoy/annotations/resource.upb.h +45 -30
- data/src/core/ext/upb-generated/envoy/config/accesslog/v3/accesslog.upb.c +230 -143
- data/src/core/ext/upb-generated/envoy/config/accesslog/v3/accesslog.upb.h +733 -404
- data/src/core/ext/upb-generated/envoy/config/bootstrap/v3/bootstrap.upb.c +417 -264
- data/src/core/ext/upb-generated/envoy/config/bootstrap/v3/bootstrap.upb.h +1839 -899
- data/src/core/ext/upb-generated/envoy/config/cluster/v3/circuit_breaker.upb.c +74 -41
- data/src/core/ext/upb-generated/envoy/config/cluster/v3/circuit_breaker.upb.h +286 -148
- data/src/core/ext/upb-generated/envoy/config/cluster/v3/cluster.upb.c +531 -334
- data/src/core/ext/upb-generated/envoy/config/cluster/v3/cluster.upb.h +2017 -1131
- data/src/core/ext/upb-generated/envoy/config/cluster/v3/filter.upb.c +21 -12
- data/src/core/ext/upb-generated/envoy/config/cluster/v3/filter.upb.h +45 -30
- data/src/core/ext/upb-generated/envoy/config/cluster/v3/outlier_detection.upb.c +89 -52
- data/src/core/ext/upb-generated/envoy/config/cluster/v3/outlier_detection.upb.h +347 -232
- data/src/core/ext/upb-generated/envoy/config/common/matcher/v3/matcher.upb.c +264 -165
- data/src/core/ext/upb-generated/envoy/config/common/matcher/v3/matcher.upb.h +888 -476
- data/src/core/ext/upb-generated/envoy/config/core/v3/address.upb.c +139 -80
- data/src/core/ext/upb-generated/envoy/config/core/v3/address.upb.h +527 -274
- data/src/core/ext/upb-generated/envoy/config/core/v3/backoff.upb.c +22 -13
- data/src/core/ext/upb-generated/envoy/config/core/v3/backoff.upb.h +50 -36
- data/src/core/ext/upb-generated/envoy/config/core/v3/base.upb.c +380 -221
- data/src/core/ext/upb-generated/envoy/config/core/v3/base.upb.h +1168 -611
- data/src/core/ext/upb-generated/envoy/config/core/v3/config_source.upb.c +166 -94
- data/src/core/ext/upb-generated/envoy/config/core/v3/config_source.upb.h +666 -292
- data/src/core/ext/upb-generated/envoy/config/core/v3/event_service_config.upb.c +18 -11
- data/src/core/ext/upb-generated/envoy/config/core/v3/event_service_config.upb.h +37 -26
- data/src/core/ext/upb-generated/envoy/config/core/v3/extension.upb.c +21 -12
- data/src/core/ext/upb-generated/envoy/config/core/v3/extension.upb.h +45 -30
- data/src/core/ext/upb-generated/envoy/config/core/v3/grpc_method_list.upb.c +30 -17
- data/src/core/ext/upb-generated/envoy/config/core/v3/grpc_method_list.upb.h +144 -47
- data/src/core/ext/upb-generated/envoy/config/core/v3/grpc_service.upb.c +274 -167
- data/src/core/ext/upb-generated/envoy/config/core/v3/grpc_service.upb.h +789 -440
- data/src/core/ext/upb-generated/envoy/config/core/v3/health_check.upb.c +228 -137
- data/src/core/ext/upb-generated/envoy/config/core/v3/health_check.upb.h +1100 -501
- data/src/core/ext/upb-generated/envoy/config/core/v3/http_uri.upb.c +22 -13
- data/src/core/ext/upb-generated/envoy/config/core/v3/http_uri.upb.h +60 -37
- data/src/core/ext/upb-generated/envoy/config/core/v3/protocol.upb.c +350 -211
- data/src/core/ext/upb-generated/envoy/config/core/v3/protocol.upb.h +1072 -646
- data/src/core/ext/upb-generated/envoy/config/core/v3/proxy_protocol.upb.c +33 -18
- data/src/core/ext/upb-generated/envoy/config/core/v3/proxy_protocol.upb.h +117 -51
- data/src/core/ext/upb-generated/envoy/config/core/v3/resolver.upb.c +34 -19
- data/src/core/ext/upb-generated/envoy/config/core/v3/resolver.upb.h +118 -56
- data/src/core/ext/upb-generated/envoy/config/core/v3/socket_option.upb.c +38 -21
- data/src/core/ext/upb-generated/envoy/config/core/v3/socket_option.upb.h +148 -64
- data/src/core/ext/upb-generated/envoy/config/core/v3/substitution_format_string.upb.c +31 -18
- data/src/core/ext/upb-generated/envoy/config/core/v3/substitution_format_string.upb.h +143 -65
- data/src/core/ext/upb-generated/envoy/config/core/v3/udp_socket_config.upb.c +22 -13
- data/src/core/ext/upb-generated/envoy/config/core/v3/udp_socket_config.upb.h +51 -37
- data/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint.upb.c +78 -43
- data/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint.upb.h +265 -127
- data/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint_components.upb.c +145 -88
- data/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint_components.upb.h +438 -241
- data/src/core/ext/upb-generated/envoy/config/endpoint/v3/load_report.upb.c +115 -62
- data/src/core/ext/upb-generated/envoy/config/endpoint/v3/load_report.upb.h +559 -227
- data/src/core/ext/upb-generated/envoy/config/listener/v3/api_listener.upb.c +18 -11
- data/src/core/ext/upb-generated/envoy/config/listener/v3/api_listener.upb.h +35 -26
- data/src/core/ext/upb-generated/envoy/config/listener/v3/listener.upb.c +175 -118
- data/src/core/ext/upb-generated/envoy/config/listener/v3/listener.upb.h +857 -442
- data/src/core/ext/upb-generated/envoy/config/listener/v3/listener_components.upb.c +172 -95
- data/src/core/ext/upb-generated/envoy/config/listener/v3/listener_components.upb.h +864 -374
- data/src/core/ext/upb-generated/envoy/config/listener/v3/quic_config.upb.c +48 -27
- data/src/core/ext/upb-generated/envoy/config/listener/v3/quic_config.upb.h +159 -110
- data/src/core/ext/upb-generated/envoy/config/listener/v3/udp_listener_config.upb.c +39 -18
- data/src/core/ext/upb-generated/envoy/config/listener/v3/udp_listener_config.upb.h +74 -56
- data/src/core/ext/upb-generated/envoy/config/metrics/v3/metrics_service.upb.c +28 -15
- data/src/core/ext/upb-generated/envoy/config/metrics/v3/metrics_service.upb.h +71 -45
- data/src/core/ext/upb-generated/envoy/config/metrics/v3/stats.upb.c +131 -74
- data/src/core/ext/upb-generated/envoy/config/metrics/v3/stats.upb.h +489 -249
- data/src/core/ext/upb-generated/envoy/config/overload/v3/overload.upb.c +135 -80
- data/src/core/ext/upb-generated/envoy/config/overload/v3/overload.upb.h +505 -245
- data/src/core/ext/upb-generated/envoy/config/rbac/v3/rbac.upb.c +248 -139
- data/src/core/ext/upb-generated/envoy/config/rbac/v3/rbac.upb.h +933 -433
- data/src/core/ext/upb-generated/envoy/config/route/v3/route.upb.c +80 -49
- data/src/core/ext/upb-generated/envoy/config/route/v3/route.upb.h +616 -201
- data/src/core/ext/upb-generated/envoy/config/route/v3/route_components.upb.c +1283 -776
- data/src/core/ext/upb-generated/envoy/config/route/v3/route_components.upb.h +5422 -2519
- data/src/core/ext/upb-generated/envoy/config/route/v3/scoped_route.upb.c +49 -28
- data/src/core/ext/upb-generated/envoy/config/route/v3/scoped_route.upb.h +164 -84
- data/src/core/ext/upb-generated/envoy/config/tap/v3/common.upb.c +228 -141
- data/src/core/ext/upb-generated/envoy/config/tap/v3/common.upb.h +738 -399
- data/src/core/ext/upb-generated/envoy/config/trace/v3/datadog.upb.c +20 -11
- data/src/core/ext/upb-generated/envoy/config/trace/v3/datadog.upb.h +48 -26
- data/src/core/ext/upb-generated/envoy/config/trace/v3/dynamic_ot.upb.c +21 -12
- data/src/core/ext/upb-generated/envoy/config/trace/v3/dynamic_ot.upb.h +45 -30
- data/src/core/ext/upb-generated/envoy/config/trace/v3/http_tracer.upb.c +32 -19
- data/src/core/ext/upb-generated/envoy/config/trace/v3/http_tracer.upb.h +70 -49
- data/src/core/ext/upb-generated/envoy/config/trace/v3/lightstep.upb.c +27 -14
- data/src/core/ext/upb-generated/envoy/config/trace/v3/lightstep.upb.h +110 -43
- data/src/core/ext/upb-generated/envoy/config/trace/v3/opencensus.upb.c +46 -25
- data/src/core/ext/upb-generated/envoy/config/trace/v3/opencensus.upb.h +259 -100
- data/src/core/ext/upb-generated/envoy/config/trace/v3/opentelemetry.upb.c +21 -12
- data/src/core/ext/upb-generated/envoy/config/trace/v3/opentelemetry.upb.h +45 -30
- data/src/core/ext/upb-generated/envoy/config/trace/v3/service.upb.c +18 -11
- data/src/core/ext/upb-generated/envoy/config/trace/v3/service.upb.h +35 -26
- data/src/core/ext/upb-generated/envoy/config/trace/v3/skywalking.upb.c +42 -23
- data/src/core/ext/upb-generated/envoy/config/trace/v3/skywalking.upb.h +108 -70
- data/src/core/ext/upb-generated/envoy/config/trace/v3/trace.upb.c +7 -4
- data/src/core/ext/upb-generated/envoy/config/trace/v3/trace.upb.h +21 -16
- data/src/core/ext/upb-generated/envoy/config/trace/v3/xray.upb.c +43 -24
- data/src/core/ext/upb-generated/envoy/config/trace/v3/xray.upb.h +110 -75
- data/src/core/ext/upb-generated/envoy/config/trace/v3/zipkin.upb.c +30 -17
- data/src/core/ext/upb-generated/envoy/config/trace/v3/zipkin.upb.h +95 -50
- data/src/core/ext/upb-generated/envoy/extensions/clusters/aggregate/v3/cluster.upb.c +16 -9
- data/src/core/ext/upb-generated/envoy/extensions/clusters/aggregate/v3/cluster.upb.h +73 -23
- data/src/core/ext/upb-generated/envoy/extensions/filters/common/fault/v3/fault.upb.c +60 -37
- data/src/core/ext/upb-generated/envoy/extensions/filters/common/fault/v3/fault.upb.h +150 -108
- data/src/core/ext/upb-generated/envoy/extensions/filters/http/fault/v3/fault.upb.c +74 -43
- data/src/core/ext/upb-generated/envoy/extensions/filters/http/fault/v3/fault.upb.h +357 -167
- data/src/core/ext/upb-generated/envoy/extensions/filters/http/rbac/v3/rbac.upb.c +44 -25
- data/src/core/ext/upb-generated/envoy/extensions/filters/http/rbac/v3/rbac.upb.h +114 -80
- data/src/core/ext/upb-generated/envoy/extensions/filters/http/router/v3/router.upb.c +41 -20
- data/src/core/ext/upb-generated/envoy/extensions/filters/http/router/v3/router.upb.h +245 -82
- data/src/core/ext/upb-generated/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upb.c +32 -19
- data/src/core/ext/upb-generated/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upb.h +73 -51
- data/src/core/ext/upb-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.c +474 -296
- data/src/core/ext/upb-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.h +2121 -1076
- data/src/core/ext/upb-generated/envoy/extensions/http/stateful_session/cookie/v3/cookie.upb.c +18 -11
- data/src/core/ext/upb-generated/envoy/extensions/http/stateful_session/cookie/v3/cookie.upb.h +35 -26
- data/src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/client_side_weighted_round_robin/v3/client_side_weighted_round_robin.upb.c +34 -21
- data/src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/client_side_weighted_round_robin/v3/client_side_weighted_round_robin.upb.h +112 -78
- data/src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/common/v3/common.upb.c +72 -45
- data/src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/common/v3/common.upb.h +193 -138
- data/src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/ring_hash/v3/ring_hash.upb.c +34 -21
- data/src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/ring_hash/v3/ring_hash.upb.h +119 -78
- data/src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/wrr_locality/v3/wrr_locality.upb.c +18 -11
- data/src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/wrr_locality/v3/wrr_locality.upb.h +35 -26
- data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/cert.upb.c +7 -4
- data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/cert.upb.h +15 -10
- data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/common.upb.c +184 -96
- data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/common.upb.h +907 -360
- data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/secret.upb.c +56 -33
- data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/secret.upb.h +150 -101
- data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/tls.upb.c +188 -111
- data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/tls.upb.h +816 -419
- data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.upb.c +32 -19
- data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.upb.h +109 -53
- data/src/core/ext/upb-generated/envoy/service/discovery/v3/ads.upb.c +10 -7
- data/src/core/ext/upb-generated/envoy/service/discovery/v3/ads.upb.h +18 -14
- data/src/core/ext/upb-generated/envoy/service/discovery/v3/discovery.upb.c +300 -177
- data/src/core/ext/upb-generated/envoy/service/discovery/v3/discovery.upb.h +1284 -522
- data/src/core/ext/upb-generated/envoy/service/load_stats/v3/lrs.upb.c +42 -23
- data/src/core/ext/upb-generated/envoy/service/load_stats/v3/lrs.upb.h +188 -75
- data/src/core/ext/upb-generated/envoy/service/status/v3/csds.upb.c +130 -83
- data/src/core/ext/upb-generated/envoy/service/status/v3/csds.upb.h +510 -238
- data/src/core/ext/upb-generated/envoy/type/http/v3/cookie.upb.c +22 -13
- data/src/core/ext/upb-generated/envoy/type/http/v3/cookie.upb.h +55 -34
- data/src/core/ext/upb-generated/envoy/type/http/v3/path_transformation.upb.c +39 -26
- data/src/core/ext/upb-generated/envoy/type/http/v3/path_transformation.upb.h +124 -68
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/filter_state.upb.c +21 -12
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/filter_state.upb.h +47 -30
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/http_inputs.upb.c +52 -29
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/http_inputs.upb.h +92 -62
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/metadata.upb.c +37 -20
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/metadata.upb.h +133 -63
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/node.upb.c +22 -13
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/node.upb.h +91 -40
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/number.upb.c +21 -12
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/number.upb.h +50 -32
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/path.upb.c +18 -11
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/path.upb.h +37 -26
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/regex.upb.c +46 -27
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/regex.upb.h +101 -70
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/status_code_input.upb.c +13 -10
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/status_code_input.upb.h +25 -22
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/string.upb.c +40 -23
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/string.upb.h +161 -75
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/struct.upb.c +31 -18
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/struct.upb.h +114 -56
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/value.upb.c +46 -29
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/value.upb.h +139 -91
- data/src/core/ext/upb-generated/envoy/type/metadata/v3/metadata.upb.c +65 -42
- data/src/core/ext/upb-generated/envoy/type/metadata/v3/metadata.upb.h +200 -121
- data/src/core/ext/upb-generated/envoy/type/tracing/v3/custom_tag.upb.c +80 -45
- data/src/core/ext/upb-generated/envoy/type/tracing/v3/custom_tag.upb.h +208 -131
- data/src/core/ext/upb-generated/envoy/type/v3/hash_policy.upb.c +34 -21
- data/src/core/ext/upb-generated/envoy/type/v3/hash_policy.upb.h +74 -53
- data/src/core/ext/upb-generated/envoy/type/v3/http.upb.c +7 -4
- data/src/core/ext/upb-generated/envoy/type/v3/http.upb.h +13 -8
- data/src/core/ext/upb-generated/envoy/type/v3/http_status.upb.c +16 -9
- data/src/core/ext/upb-generated/envoy/type/v3/http_status.upb.h +28 -18
- data/src/core/ext/upb-generated/envoy/type/v3/percent.upb.c +28 -15
- data/src/core/ext/upb-generated/envoy/type/v3/percent.upb.h +55 -34
- data/src/core/ext/upb-generated/envoy/type/v3/range.upb.c +43 -22
- data/src/core/ext/upb-generated/envoy/type/v3/range.upb.h +91 -53
- data/src/core/ext/upb-generated/envoy/type/v3/ratelimit_strategy.upb.c +35 -20
- data/src/core/ext/upb-generated/envoy/type/v3/ratelimit_strategy.upb.h +92 -57
- data/src/core/ext/upb-generated/envoy/type/v3/ratelimit_unit.upb.c +7 -4
- data/src/core/ext/upb-generated/envoy/type/v3/ratelimit_unit.upb.h +13 -8
- data/src/core/ext/upb-generated/envoy/type/v3/semantic_version.upb.c +20 -11
- data/src/core/ext/upb-generated/envoy/type/v3/semantic_version.upb.h +48 -26
- data/src/core/ext/upb-generated/envoy/type/v3/token_bucket.upb.c +23 -14
- data/src/core/ext/upb-generated/envoy/type/v3/token_bucket.upb.h +61 -41
- data/src/core/ext/upb-generated/google/api/annotations.upb.c +14 -11
- data/src/core/ext/upb-generated/google/api/annotations.upb.h +30 -20
- data/src/core/ext/upb-generated/google/api/expr/v1alpha1/checked.upb.c +255 -154
- data/src/core/ext/upb-generated/google/api/expr/v1alpha1/checked.upb.h +934 -450
- data/src/core/ext/upb-generated/google/api/expr/v1alpha1/syntax.upb.c +299 -180
- data/src/core/ext/upb-generated/google/api/expr/v1alpha1/syntax.upb.h +946 -483
- data/src/core/ext/upb-generated/google/api/http.upb.c +68 -35
- data/src/core/ext/upb-generated/google/api/http.upb.h +284 -120
- data/src/core/ext/upb-generated/google/api/httpbody.upb.c +22 -13
- data/src/core/ext/upb-generated/google/api/httpbody.upb.h +95 -37
- data/src/core/ext/upb-generated/google/protobuf/any.upb.c +19 -10
- data/src/core/ext/upb-generated/google/protobuf/any.upb.h +38 -22
- data/src/core/ext/upb-generated/google/protobuf/descriptor.upb.c +1018 -424
- data/src/core/ext/upb-generated/google/protobuf/descriptor.upb.h +3851 -1412
- data/src/core/ext/upb-generated/google/protobuf/duration.upb.c +19 -10
- data/src/core/ext/upb-generated/google/protobuf/duration.upb.h +38 -22
- data/src/core/ext/upb-generated/google/protobuf/empty.upb.c +10 -7
- data/src/core/ext/upb-generated/google/protobuf/empty.upb.h +18 -14
- data/src/core/ext/upb-generated/google/protobuf/struct.upb.c +62 -39
- data/src/core/ext/upb-generated/google/protobuf/struct.upb.h +207 -102
- data/src/core/ext/upb-generated/google/protobuf/timestamp.upb.c +19 -10
- data/src/core/ext/upb-generated/google/protobuf/timestamp.upb.h +38 -22
- data/src/core/ext/upb-generated/google/protobuf/wrappers.upb.c +90 -51
- data/src/core/ext/upb-generated/google/protobuf/wrappers.upb.h +157 -107
- data/src/core/ext/upb-generated/google/rpc/status.upb.c +22 -13
- data/src/core/ext/upb-generated/google/rpc/status.upb.h +95 -37
- data/src/core/ext/upb-generated/opencensus/proto/trace/v1/trace_config.upb.c +59 -34
- data/src/core/ext/upb-generated/opencensus/proto/trace/v1/trace_config.upb.h +154 -92
- data/src/core/ext/upb-generated/src/proto/grpc/gcp/altscontext.upb.c +43 -24
- data/src/core/ext/upb-generated/src/proto/grpc/gcp/altscontext.upb.h +118 -60
- data/src/core/ext/upb-generated/src/proto/grpc/gcp/handshaker.upb.c +250 -145
- data/src/core/ext/upb-generated/src/proto/grpc/gcp/handshaker.upb.h +919 -415
- data/src/core/ext/upb-generated/src/proto/grpc/gcp/transport_security_common.upb.c +34 -19
- data/src/core/ext/upb-generated/src/proto/grpc/gcp/transport_security_common.upb.h +76 -51
- data/src/core/ext/upb-generated/src/proto/grpc/health/v1/health.upb.c +25 -14
- data/src/core/ext/upb-generated/src/proto/grpc/health/v1/health.upb.h +45 -30
- data/src/core/ext/upb-generated/src/proto/grpc/lb/v1/load_balancer.upb.c +144 -81
- data/src/core/ext/upb-generated/src/proto/grpc/lb/v1/load_balancer.upb.h +405 -217
- data/src/core/ext/upb-generated/src/proto/grpc/lookup/v1/rls.upb.c +51 -26
- data/src/core/ext/upb-generated/src/proto/grpc/lookup/v1/rls.upb.h +153 -61
- data/src/core/ext/upb-generated/src/proto/grpc/lookup/v1/rls_config.upb.c +173 -102
- data/src/core/ext/upb-generated/src/proto/grpc/lookup/v1/rls_config.upb.h +855 -298
- data/src/core/ext/upb-generated/udpa/annotations/migrate.upb.c +68 -49
- data/src/core/ext/upb-generated/udpa/annotations/migrate.upb.h +155 -104
- data/src/core/ext/upb-generated/udpa/annotations/security.upb.c +26 -17
- data/src/core/ext/upb-generated/udpa/annotations/security.upb.h +55 -34
- data/src/core/ext/upb-generated/udpa/annotations/sensitive.upb.c +12 -9
- data/src/core/ext/upb-generated/udpa/annotations/sensitive.upb.h +31 -14
- data/src/core/ext/upb-generated/udpa/annotations/status.upb.c +26 -17
- data/src/core/ext/upb-generated/udpa/annotations/status.upb.h +55 -34
- data/src/core/ext/upb-generated/udpa/annotations/versioning.upb.c +23 -16
- data/src/core/ext/upb-generated/udpa/annotations/versioning.upb.h +45 -30
- data/src/core/ext/upb-generated/validate/validate.upb.c +845 -455
- data/src/core/ext/upb-generated/validate/validate.upb.h +4347 -1908
- data/src/core/ext/upb-generated/xds/annotations/v3/migrate.upb.c +68 -49
- data/src/core/ext/upb-generated/xds/annotations/v3/migrate.upb.h +155 -104
- data/src/core/ext/upb-generated/xds/annotations/v3/security.upb.c +26 -17
- data/src/core/ext/upb-generated/xds/annotations/v3/security.upb.h +55 -34
- data/src/core/ext/upb-generated/xds/annotations/v3/sensitive.upb.c +12 -9
- data/src/core/ext/upb-generated/xds/annotations/v3/sensitive.upb.h +31 -14
- data/src/core/ext/upb-generated/xds/annotations/v3/status.upb.c +65 -44
- data/src/core/ext/upb-generated/xds/annotations/v3/status.upb.h +137 -91
- data/src/core/ext/upb-generated/xds/annotations/v3/versioning.upb.c +23 -16
- data/src/core/ext/upb-generated/xds/annotations/v3/versioning.upb.h +45 -30
- data/src/core/ext/upb-generated/xds/core/v3/authority.upb.c +16 -9
- data/src/core/ext/upb-generated/xds/core/v3/authority.upb.h +28 -18
- data/src/core/ext/upb-generated/xds/core/v3/cidr.upb.c +21 -12
- data/src/core/ext/upb-generated/xds/core/v3/cidr.upb.h +45 -30
- data/src/core/ext/upb-generated/xds/core/v3/collection_entry.upb.c +37 -22
- data/src/core/ext/upb-generated/xds/core/v3/collection_entry.upb.h +96 -63
- data/src/core/ext/upb-generated/xds/core/v3/context_params.upb.c +26 -17
- data/src/core/ext/upb-generated/xds/core/v3/context_params.upb.h +52 -29
- data/src/core/ext/upb-generated/xds/core/v3/extension.upb.c +21 -12
- data/src/core/ext/upb-generated/xds/core/v3/extension.upb.h +45 -30
- data/src/core/ext/upb-generated/xds/core/v3/resource.upb.c +23 -14
- data/src/core/ext/upb-generated/xds/core/v3/resource.upb.h +62 -42
- data/src/core/ext/upb-generated/xds/core/v3/resource_locator.upb.c +44 -25
- data/src/core/ext/upb-generated/xds/core/v3/resource_locator.upb.h +169 -79
- data/src/core/ext/upb-generated/xds/core/v3/resource_name.upb.c +27 -14
- data/src/core/ext/upb-generated/xds/core/v3/resource_name.upb.h +65 -38
- data/src/core/ext/upb-generated/xds/data/orca/v3/orca_load_report.upb.c +69 -38
- data/src/core/ext/upb-generated/xds/data/orca/v3/orca_load_report.upb.h +167 -76
- data/src/core/ext/upb-generated/xds/service/orca/v3/orca.upb.c +21 -12
- data/src/core/ext/upb-generated/xds/service/orca/v3/orca.upb.h +89 -34
- data/src/core/ext/upb-generated/xds/type/matcher/v3/cel.upb.c +18 -11
- data/src/core/ext/upb-generated/xds/type/matcher/v3/cel.upb.h +35 -26
- data/src/core/ext/upb-generated/xds/type/matcher/v3/domain.upb.c +32 -19
- data/src/core/ext/upb-generated/xds/type/matcher/v3/domain.upb.h +150 -54
- data/src/core/ext/upb-generated/xds/type/matcher/v3/http_inputs.upb.c +10 -7
- data/src/core/ext/upb-generated/xds/type/matcher/v3/http_inputs.upb.h +18 -14
- data/src/core/ext/upb-generated/xds/type/matcher/v3/ip.upb.c +34 -21
- data/src/core/ext/upb-generated/xds/type/matcher/v3/ip.upb.h +161 -63
- data/src/core/ext/upb-generated/xds/type/matcher/v3/matcher.upb.c +162 -101
- data/src/core/ext/upb-generated/xds/type/matcher/v3/matcher.upb.h +501 -293
- data/src/core/ext/upb-generated/xds/type/matcher/v3/range.upb.c +85 -52
- data/src/core/ext/upb-generated/xds/type/matcher/v3/range.upb.h +430 -164
- data/src/core/ext/upb-generated/xds/type/matcher/v3/regex.upb.c +24 -15
- data/src/core/ext/upb-generated/xds/type/matcher/v3/regex.upb.h +53 -37
- data/src/core/ext/upb-generated/xds/type/matcher/v3/string.upb.c +40 -23
- data/src/core/ext/upb-generated/xds/type/matcher/v3/string.upb.h +161 -75
- data/src/core/ext/upb-generated/xds/type/v3/cel.upb.c +37 -22
- data/src/core/ext/upb-generated/xds/type/v3/cel.upb.h +92 -66
- data/src/core/ext/upb-generated/xds/type/v3/range.upb.c +43 -22
- data/src/core/ext/upb-generated/xds/type/v3/range.upb.h +91 -53
- data/src/core/ext/upb-generated/xds/type/v3/typed_struct.upb.c +21 -12
- data/src/core/ext/upb-generated/xds/type/v3/typed_struct.upb.h +45 -30
- data/src/core/ext/upbdefs-generated/envoy/admin/v3/certs.upbdefs.c +1 -1
- data/src/core/ext/upbdefs-generated/envoy/admin/v3/certs.upbdefs.h +6 -5
- data/src/core/ext/upbdefs-generated/envoy/admin/v3/clusters.upbdefs.c +1 -1
- data/src/core/ext/upbdefs-generated/envoy/admin/v3/clusters.upbdefs.h +6 -5
- data/src/core/ext/upbdefs-generated/envoy/admin/v3/config_dump.upbdefs.c +1 -1
- data/src/core/ext/upbdefs-generated/envoy/admin/v3/config_dump.upbdefs.h +6 -5
- data/src/core/ext/upbdefs-generated/envoy/admin/v3/config_dump_shared.upbdefs.c +1 -1
- data/src/core/ext/upbdefs-generated/envoy/admin/v3/config_dump_shared.upbdefs.h +6 -5
- data/src/core/ext/upbdefs-generated/envoy/admin/v3/init_dump.upbdefs.c +1 -1
- data/src/core/ext/upbdefs-generated/envoy/admin/v3/init_dump.upbdefs.h +6 -5
- data/src/core/ext/upbdefs-generated/envoy/admin/v3/listeners.upbdefs.c +1 -1
- data/src/core/ext/upbdefs-generated/envoy/admin/v3/listeners.upbdefs.h +6 -5
- data/src/core/ext/upbdefs-generated/envoy/admin/v3/memory.upbdefs.c +1 -1
- data/src/core/ext/upbdefs-generated/envoy/admin/v3/memory.upbdefs.h +6 -5
- data/src/core/ext/upbdefs-generated/envoy/admin/v3/metrics.upbdefs.c +1 -1
- data/src/core/ext/upbdefs-generated/envoy/admin/v3/metrics.upbdefs.h +6 -5
- data/src/core/ext/upbdefs-generated/envoy/admin/v3/mutex_stats.upbdefs.c +1 -1
- data/src/core/ext/upbdefs-generated/envoy/admin/v3/mutex_stats.upbdefs.h +6 -5
- data/src/core/ext/upbdefs-generated/envoy/admin/v3/server_info.upbdefs.c +1 -1
- data/src/core/ext/upbdefs-generated/envoy/admin/v3/server_info.upbdefs.h +6 -5
- data/src/core/ext/upbdefs-generated/envoy/admin/v3/tap.upbdefs.c +1 -1
- data/src/core/ext/upbdefs-generated/envoy/admin/v3/tap.upbdefs.h +6 -5
- data/src/core/ext/upbdefs-generated/envoy/annotations/deprecation.upbdefs.c +1 -1
- data/src/core/ext/upbdefs-generated/envoy/annotations/deprecation.upbdefs.h +6 -5
- data/src/core/ext/upbdefs-generated/envoy/annotations/resource.upbdefs.c +1 -1
- data/src/core/ext/upbdefs-generated/envoy/annotations/resource.upbdefs.h +6 -5
- data/src/core/ext/upbdefs-generated/envoy/config/accesslog/v3/accesslog.upbdefs.c +1 -1
- data/src/core/ext/upbdefs-generated/envoy/config/accesslog/v3/accesslog.upbdefs.h +6 -5
- data/src/core/ext/upbdefs-generated/envoy/config/bootstrap/v3/bootstrap.upbdefs.c +252 -253
- data/src/core/ext/upbdefs-generated/envoy/config/bootstrap/v3/bootstrap.upbdefs.h +6 -5
- data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/circuit_breaker.upbdefs.c +1 -1
- data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/circuit_breaker.upbdefs.h +6 -5
- data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/cluster.upbdefs.c +1 -1
- data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/cluster.upbdefs.h +6 -5
- data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/filter.upbdefs.c +1 -1
- data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/filter.upbdefs.h +6 -5
- data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/outlier_detection.upbdefs.c +1 -1
- data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/outlier_detection.upbdefs.h +6 -5
- data/src/core/ext/upbdefs-generated/envoy/config/common/matcher/v3/matcher.upbdefs.c +1 -1
- data/src/core/ext/upbdefs-generated/envoy/config/common/matcher/v3/matcher.upbdefs.h +6 -5
- data/src/core/ext/upbdefs-generated/envoy/config/core/v3/address.upbdefs.c +1 -1
- data/src/core/ext/upbdefs-generated/envoy/config/core/v3/address.upbdefs.h +6 -5
- data/src/core/ext/upbdefs-generated/envoy/config/core/v3/backoff.upbdefs.c +1 -1
- data/src/core/ext/upbdefs-generated/envoy/config/core/v3/backoff.upbdefs.h +6 -5
- data/src/core/ext/upbdefs-generated/envoy/config/core/v3/base.upbdefs.c +1 -1
- data/src/core/ext/upbdefs-generated/envoy/config/core/v3/base.upbdefs.h +6 -5
- data/src/core/ext/upbdefs-generated/envoy/config/core/v3/config_source.upbdefs.c +13 -12
- data/src/core/ext/upbdefs-generated/envoy/config/core/v3/config_source.upbdefs.h +11 -5
- data/src/core/ext/upbdefs-generated/envoy/config/core/v3/event_service_config.upbdefs.c +1 -1
- data/src/core/ext/upbdefs-generated/envoy/config/core/v3/event_service_config.upbdefs.h +6 -5
- data/src/core/ext/upbdefs-generated/envoy/config/core/v3/extension.upbdefs.c +1 -1
- data/src/core/ext/upbdefs-generated/envoy/config/core/v3/extension.upbdefs.h +6 -5
- data/src/core/ext/upbdefs-generated/envoy/config/core/v3/grpc_method_list.upbdefs.c +1 -1
- data/src/core/ext/upbdefs-generated/envoy/config/core/v3/grpc_method_list.upbdefs.h +6 -5
- data/src/core/ext/upbdefs-generated/envoy/config/core/v3/grpc_service.upbdefs.c +1 -1
- data/src/core/ext/upbdefs-generated/envoy/config/core/v3/grpc_service.upbdefs.h +6 -5
- data/src/core/ext/upbdefs-generated/envoy/config/core/v3/health_check.upbdefs.c +1 -1
- data/src/core/ext/upbdefs-generated/envoy/config/core/v3/health_check.upbdefs.h +6 -5
- data/src/core/ext/upbdefs-generated/envoy/config/core/v3/http_uri.upbdefs.c +1 -1
- data/src/core/ext/upbdefs-generated/envoy/config/core/v3/http_uri.upbdefs.h +6 -5
- data/src/core/ext/upbdefs-generated/envoy/config/core/v3/protocol.upbdefs.c +44 -44
- data/src/core/ext/upbdefs-generated/envoy/config/core/v3/protocol.upbdefs.h +6 -5
- data/src/core/ext/upbdefs-generated/envoy/config/core/v3/proxy_protocol.upbdefs.c +1 -1
- data/src/core/ext/upbdefs-generated/envoy/config/core/v3/proxy_protocol.upbdefs.h +6 -5
- data/src/core/ext/upbdefs-generated/envoy/config/core/v3/resolver.upbdefs.c +1 -1
- data/src/core/ext/upbdefs-generated/envoy/config/core/v3/resolver.upbdefs.h +6 -5
- data/src/core/ext/upbdefs-generated/envoy/config/core/v3/socket_option.upbdefs.c +1 -1
- data/src/core/ext/upbdefs-generated/envoy/config/core/v3/socket_option.upbdefs.h +6 -5
- data/src/core/ext/upbdefs-generated/envoy/config/core/v3/substitution_format_string.upbdefs.c +1 -1
- data/src/core/ext/upbdefs-generated/envoy/config/core/v3/substitution_format_string.upbdefs.h +6 -5
- data/src/core/ext/upbdefs-generated/envoy/config/core/v3/udp_socket_config.upbdefs.c +1 -1
- data/src/core/ext/upbdefs-generated/envoy/config/core/v3/udp_socket_config.upbdefs.h +6 -5
- data/src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/endpoint.upbdefs.c +1 -1
- data/src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/endpoint.upbdefs.h +6 -5
- data/src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/endpoint_components.upbdefs.c +1 -1
- data/src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/endpoint_components.upbdefs.h +6 -5
- data/src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/load_report.upbdefs.c +1 -1
- data/src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/load_report.upbdefs.h +6 -5
- data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/api_listener.upbdefs.c +1 -1
- data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/api_listener.upbdefs.h +6 -5
- data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/listener.upbdefs.c +1 -1
- data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/listener.upbdefs.h +6 -5
- data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/listener_components.upbdefs.c +1 -1
- data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/listener_components.upbdefs.h +6 -5
- data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/quic_config.upbdefs.c +1 -1
- data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/quic_config.upbdefs.h +6 -5
- data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/udp_listener_config.upbdefs.c +1 -1
- data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/udp_listener_config.upbdefs.h +6 -5
- data/src/core/ext/upbdefs-generated/envoy/config/metrics/v3/metrics_service.upbdefs.c +1 -1
- data/src/core/ext/upbdefs-generated/envoy/config/metrics/v3/metrics_service.upbdefs.h +6 -5
- data/src/core/ext/upbdefs-generated/envoy/config/metrics/v3/stats.upbdefs.c +1 -1
- data/src/core/ext/upbdefs-generated/envoy/config/metrics/v3/stats.upbdefs.h +6 -5
- data/src/core/ext/upbdefs-generated/envoy/config/overload/v3/overload.upbdefs.c +1 -1
- data/src/core/ext/upbdefs-generated/envoy/config/overload/v3/overload.upbdefs.h +6 -5
- data/src/core/ext/upbdefs-generated/envoy/config/rbac/v3/rbac.upbdefs.c +134 -128
- data/src/core/ext/upbdefs-generated/envoy/config/rbac/v3/rbac.upbdefs.h +11 -5
- data/src/core/ext/upbdefs-generated/envoy/config/route/v3/route.upbdefs.c +1 -1
- data/src/core/ext/upbdefs-generated/envoy/config/route/v3/route.upbdefs.h +6 -5
- data/src/core/ext/upbdefs-generated/envoy/config/route/v3/route_components.upbdefs.c +1 -1
- data/src/core/ext/upbdefs-generated/envoy/config/route/v3/route_components.upbdefs.h +6 -5
- data/src/core/ext/upbdefs-generated/envoy/config/route/v3/scoped_route.upbdefs.c +1 -1
- data/src/core/ext/upbdefs-generated/envoy/config/route/v3/scoped_route.upbdefs.h +6 -5
- data/src/core/ext/upbdefs-generated/envoy/config/tap/v3/common.upbdefs.c +1 -1
- data/src/core/ext/upbdefs-generated/envoy/config/tap/v3/common.upbdefs.h +6 -5
- data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/datadog.upbdefs.c +1 -1
- data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/datadog.upbdefs.h +6 -5
- data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/dynamic_ot.upbdefs.c +1 -1
- data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/dynamic_ot.upbdefs.h +6 -5
- data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/http_tracer.upbdefs.c +1 -1
- data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/http_tracer.upbdefs.h +6 -5
- data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/lightstep.upbdefs.c +1 -1
- data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/lightstep.upbdefs.h +6 -5
- data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/opencensus.upbdefs.c +1 -1
- data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/opencensus.upbdefs.h +6 -5
- data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/opentelemetry.upbdefs.c +1 -1
- data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/opentelemetry.upbdefs.h +6 -5
- data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/service.upbdefs.c +1 -1
- data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/service.upbdefs.h +6 -5
- data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/skywalking.upbdefs.c +1 -1
- data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/skywalking.upbdefs.h +6 -5
- data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/trace.upbdefs.c +1 -1
- data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/trace.upbdefs.h +6 -5
- data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/xray.upbdefs.c +1 -1
- data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/xray.upbdefs.h +6 -5
- data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/zipkin.upbdefs.c +1 -1
- data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/zipkin.upbdefs.h +6 -5
- data/src/core/ext/upbdefs-generated/envoy/extensions/clusters/aggregate/v3/cluster.upbdefs.c +1 -1
- data/src/core/ext/upbdefs-generated/envoy/extensions/clusters/aggregate/v3/cluster.upbdefs.h +6 -5
- data/src/core/ext/upbdefs-generated/envoy/extensions/filters/common/fault/v3/fault.upbdefs.c +1 -1
- data/src/core/ext/upbdefs-generated/envoy/extensions/filters/common/fault/v3/fault.upbdefs.h +6 -5
- data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/fault/v3/fault.upbdefs.c +1 -1
- data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/fault/v3/fault.upbdefs.h +6 -5
- data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/rbac/v3/rbac.upbdefs.c +1 -1
- data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/rbac/v3/rbac.upbdefs.h +6 -5
- data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/router/v3/router.upbdefs.c +1 -1
- data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/router/v3/router.upbdefs.h +6 -5
- data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upbdefs.c +1 -1
- data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/stateful_session/v3/stateful_session.upbdefs.h +6 -5
- data/src/core/ext/upbdefs-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upbdefs.c +379 -376
- data/src/core/ext/upbdefs-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upbdefs.h +6 -5
- data/src/core/ext/upbdefs-generated/envoy/extensions/http/stateful_session/cookie/v3/cookie.upbdefs.c +1 -1
- data/src/core/ext/upbdefs-generated/envoy/extensions/http/stateful_session/cookie/v3/cookie.upbdefs.h +6 -5
- data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/cert.upbdefs.c +1 -1
- data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/cert.upbdefs.h +6 -5
- data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/common.upbdefs.c +138 -136
- data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/common.upbdefs.h +6 -5
- data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/secret.upbdefs.c +1 -1
- data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/secret.upbdefs.h +6 -5
- data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/tls.upbdefs.c +1 -1
- data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/tls.upbdefs.h +6 -5
- data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.upbdefs.c +1 -1
- data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.upbdefs.h +6 -5
- data/src/core/ext/upbdefs-generated/envoy/service/discovery/v3/ads.upbdefs.c +1 -1
- data/src/core/ext/upbdefs-generated/envoy/service/discovery/v3/ads.upbdefs.h +6 -5
- data/src/core/ext/upbdefs-generated/envoy/service/discovery/v3/discovery.upbdefs.c +1 -1
- data/src/core/ext/upbdefs-generated/envoy/service/discovery/v3/discovery.upbdefs.h +6 -5
- data/src/core/ext/upbdefs-generated/envoy/service/load_stats/v3/lrs.upbdefs.c +1 -1
- data/src/core/ext/upbdefs-generated/envoy/service/load_stats/v3/lrs.upbdefs.h +6 -5
- data/src/core/ext/upbdefs-generated/envoy/service/status/v3/csds.upbdefs.c +12 -13
- data/src/core/ext/upbdefs-generated/envoy/service/status/v3/csds.upbdefs.h +6 -5
- data/src/core/ext/upbdefs-generated/envoy/type/http/v3/cookie.upbdefs.c +1 -1
- data/src/core/ext/upbdefs-generated/envoy/type/http/v3/cookie.upbdefs.h +6 -5
- data/src/core/ext/upbdefs-generated/envoy/type/http/v3/path_transformation.upbdefs.c +1 -1
- data/src/core/ext/upbdefs-generated/envoy/type/http/v3/path_transformation.upbdefs.h +6 -5
- data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/filter_state.upbdefs.c +1 -1
- data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/filter_state.upbdefs.h +6 -5
- data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/http_inputs.upbdefs.c +1 -1
- data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/http_inputs.upbdefs.h +6 -5
- data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/metadata.upbdefs.c +1 -1
- data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/metadata.upbdefs.h +6 -5
- data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/node.upbdefs.c +1 -1
- data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/node.upbdefs.h +6 -5
- data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/number.upbdefs.c +1 -1
- data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/number.upbdefs.h +6 -5
- data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/path.upbdefs.c +1 -1
- data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/path.upbdefs.h +6 -5
- data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/regex.upbdefs.c +1 -1
- data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/regex.upbdefs.h +6 -5
- data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/status_code_input.upbdefs.c +1 -1
- data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/status_code_input.upbdefs.h +6 -5
- data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/string.upbdefs.c +1 -1
- data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/string.upbdefs.h +6 -5
- data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/struct.upbdefs.c +1 -1
- data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/struct.upbdefs.h +6 -5
- data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/value.upbdefs.c +1 -1
- data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/value.upbdefs.h +6 -5
- data/src/core/ext/upbdefs-generated/envoy/type/metadata/v3/metadata.upbdefs.c +1 -1
- data/src/core/ext/upbdefs-generated/envoy/type/metadata/v3/metadata.upbdefs.h +6 -5
- data/src/core/ext/upbdefs-generated/envoy/type/tracing/v3/custom_tag.upbdefs.c +1 -1
- data/src/core/ext/upbdefs-generated/envoy/type/tracing/v3/custom_tag.upbdefs.h +6 -5
- data/src/core/ext/upbdefs-generated/envoy/type/v3/hash_policy.upbdefs.c +1 -1
- data/src/core/ext/upbdefs-generated/envoy/type/v3/hash_policy.upbdefs.h +6 -5
- data/src/core/ext/upbdefs-generated/envoy/type/v3/http.upbdefs.c +1 -1
- data/src/core/ext/upbdefs-generated/envoy/type/v3/http.upbdefs.h +6 -5
- data/src/core/ext/upbdefs-generated/envoy/type/v3/http_status.upbdefs.c +1 -1
- data/src/core/ext/upbdefs-generated/envoy/type/v3/http_status.upbdefs.h +6 -5
- data/src/core/ext/upbdefs-generated/envoy/type/v3/percent.upbdefs.c +1 -1
- data/src/core/ext/upbdefs-generated/envoy/type/v3/percent.upbdefs.h +6 -5
- data/src/core/ext/upbdefs-generated/envoy/type/v3/range.upbdefs.c +1 -1
- data/src/core/ext/upbdefs-generated/envoy/type/v3/range.upbdefs.h +6 -5
- data/src/core/ext/upbdefs-generated/envoy/type/v3/ratelimit_strategy.upbdefs.c +1 -1
- data/src/core/ext/upbdefs-generated/envoy/type/v3/ratelimit_strategy.upbdefs.h +6 -5
- data/src/core/ext/upbdefs-generated/envoy/type/v3/ratelimit_unit.upbdefs.c +1 -1
- data/src/core/ext/upbdefs-generated/envoy/type/v3/ratelimit_unit.upbdefs.h +6 -5
- data/src/core/ext/upbdefs-generated/envoy/type/v3/semantic_version.upbdefs.c +1 -1
- data/src/core/ext/upbdefs-generated/envoy/type/v3/semantic_version.upbdefs.h +6 -5
- data/src/core/ext/upbdefs-generated/envoy/type/v3/token_bucket.upbdefs.c +1 -1
- data/src/core/ext/upbdefs-generated/envoy/type/v3/token_bucket.upbdefs.h +6 -5
- data/src/core/ext/upbdefs-generated/google/api/annotations.upbdefs.c +1 -1
- data/src/core/ext/upbdefs-generated/google/api/annotations.upbdefs.h +6 -5
- data/src/core/ext/upbdefs-generated/google/api/expr/v1alpha1/checked.upbdefs.c +1 -1
- data/src/core/ext/upbdefs-generated/google/api/expr/v1alpha1/checked.upbdefs.h +6 -5
- data/src/core/ext/upbdefs-generated/google/api/expr/v1alpha1/syntax.upbdefs.c +1 -1
- data/src/core/ext/upbdefs-generated/google/api/expr/v1alpha1/syntax.upbdefs.h +6 -5
- data/src/core/ext/upbdefs-generated/google/api/http.upbdefs.c +1 -1
- data/src/core/ext/upbdefs-generated/google/api/http.upbdefs.h +6 -5
- data/src/core/ext/upbdefs-generated/google/api/httpbody.upbdefs.c +1 -1
- data/src/core/ext/upbdefs-generated/google/api/httpbody.upbdefs.h +6 -5
- data/src/core/ext/upbdefs-generated/google/protobuf/any.upbdefs.c +1 -1
- data/src/core/ext/upbdefs-generated/google/protobuf/any.upbdefs.h +6 -5
- data/src/core/ext/upbdefs-generated/google/protobuf/descriptor.upbdefs.c +329 -273
- data/src/core/ext/upbdefs-generated/google/protobuf/descriptor.upbdefs.h +11 -5
- data/src/core/ext/upbdefs-generated/google/protobuf/duration.upbdefs.c +1 -1
- data/src/core/ext/upbdefs-generated/google/protobuf/duration.upbdefs.h +6 -5
- data/src/core/ext/upbdefs-generated/google/protobuf/empty.upbdefs.c +1 -1
- data/src/core/ext/upbdefs-generated/google/protobuf/empty.upbdefs.h +6 -5
- data/src/core/ext/upbdefs-generated/google/protobuf/struct.upbdefs.c +1 -1
- data/src/core/ext/upbdefs-generated/google/protobuf/struct.upbdefs.h +6 -5
- data/src/core/ext/upbdefs-generated/google/protobuf/timestamp.upbdefs.c +1 -1
- data/src/core/ext/upbdefs-generated/google/protobuf/timestamp.upbdefs.h +6 -5
- data/src/core/ext/upbdefs-generated/google/protobuf/wrappers.upbdefs.c +1 -1
- data/src/core/ext/upbdefs-generated/google/protobuf/wrappers.upbdefs.h +6 -5
- data/src/core/ext/upbdefs-generated/google/rpc/status.upbdefs.c +1 -1
- data/src/core/ext/upbdefs-generated/google/rpc/status.upbdefs.h +6 -5
- data/src/core/ext/upbdefs-generated/opencensus/proto/trace/v1/trace_config.upbdefs.c +1 -1
- data/src/core/ext/upbdefs-generated/opencensus/proto/trace/v1/trace_config.upbdefs.h +6 -5
- data/src/core/ext/upbdefs-generated/src/proto/grpc/lookup/v1/rls_config.upbdefs.c +1 -1
- data/src/core/ext/upbdefs-generated/src/proto/grpc/lookup/v1/rls_config.upbdefs.h +6 -5
- data/src/core/ext/upbdefs-generated/udpa/annotations/migrate.upbdefs.c +1 -1
- data/src/core/ext/upbdefs-generated/udpa/annotations/migrate.upbdefs.h +6 -5
- data/src/core/ext/upbdefs-generated/udpa/annotations/security.upbdefs.c +1 -1
- data/src/core/ext/upbdefs-generated/udpa/annotations/security.upbdefs.h +6 -5
- data/src/core/ext/upbdefs-generated/udpa/annotations/sensitive.upbdefs.c +1 -1
- data/src/core/ext/upbdefs-generated/udpa/annotations/sensitive.upbdefs.h +6 -5
- data/src/core/ext/upbdefs-generated/udpa/annotations/status.upbdefs.c +1 -1
- data/src/core/ext/upbdefs-generated/udpa/annotations/status.upbdefs.h +6 -5
- data/src/core/ext/upbdefs-generated/udpa/annotations/versioning.upbdefs.c +1 -1
- data/src/core/ext/upbdefs-generated/udpa/annotations/versioning.upbdefs.h +6 -5
- data/src/core/ext/upbdefs-generated/validate/validate.upbdefs.c +1 -1
- data/src/core/ext/upbdefs-generated/validate/validate.upbdefs.h +6 -5
- data/src/core/ext/upbdefs-generated/xds/annotations/v3/migrate.upbdefs.c +1 -1
- data/src/core/ext/upbdefs-generated/xds/annotations/v3/migrate.upbdefs.h +6 -5
- data/src/core/ext/upbdefs-generated/xds/annotations/v3/security.upbdefs.c +1 -1
- data/src/core/ext/upbdefs-generated/xds/annotations/v3/security.upbdefs.h +6 -5
- data/src/core/ext/upbdefs-generated/xds/annotations/v3/sensitive.upbdefs.c +1 -1
- data/src/core/ext/upbdefs-generated/xds/annotations/v3/sensitive.upbdefs.h +6 -5
- data/src/core/ext/upbdefs-generated/xds/annotations/v3/status.upbdefs.c +1 -1
- data/src/core/ext/upbdefs-generated/xds/annotations/v3/status.upbdefs.h +6 -5
- data/src/core/ext/upbdefs-generated/xds/annotations/v3/versioning.upbdefs.c +1 -1
- data/src/core/ext/upbdefs-generated/xds/annotations/v3/versioning.upbdefs.h +6 -5
- data/src/core/ext/upbdefs-generated/xds/core/v3/authority.upbdefs.c +1 -1
- data/src/core/ext/upbdefs-generated/xds/core/v3/authority.upbdefs.h +6 -5
- data/src/core/ext/upbdefs-generated/xds/core/v3/cidr.upbdefs.c +1 -1
- data/src/core/ext/upbdefs-generated/xds/core/v3/cidr.upbdefs.h +6 -5
- data/src/core/ext/upbdefs-generated/xds/core/v3/collection_entry.upbdefs.c +1 -1
- data/src/core/ext/upbdefs-generated/xds/core/v3/collection_entry.upbdefs.h +6 -5
- data/src/core/ext/upbdefs-generated/xds/core/v3/context_params.upbdefs.c +1 -1
- data/src/core/ext/upbdefs-generated/xds/core/v3/context_params.upbdefs.h +6 -5
- data/src/core/ext/upbdefs-generated/xds/core/v3/extension.upbdefs.c +1 -1
- data/src/core/ext/upbdefs-generated/xds/core/v3/extension.upbdefs.h +6 -5
- data/src/core/ext/upbdefs-generated/xds/core/v3/resource.upbdefs.c +1 -1
- data/src/core/ext/upbdefs-generated/xds/core/v3/resource.upbdefs.h +6 -5
- data/src/core/ext/upbdefs-generated/xds/core/v3/resource_locator.upbdefs.c +1 -1
- data/src/core/ext/upbdefs-generated/xds/core/v3/resource_locator.upbdefs.h +6 -5
- data/src/core/ext/upbdefs-generated/xds/core/v3/resource_name.upbdefs.c +1 -1
- data/src/core/ext/upbdefs-generated/xds/core/v3/resource_name.upbdefs.h +6 -5
- data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/cel.upbdefs.c +1 -1
- data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/cel.upbdefs.h +6 -5
- data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/domain.upbdefs.c +1 -1
- data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/domain.upbdefs.h +6 -5
- data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/http_inputs.upbdefs.c +1 -1
- data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/http_inputs.upbdefs.h +6 -5
- data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/ip.upbdefs.c +1 -1
- data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/ip.upbdefs.h +6 -5
- data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/matcher.upbdefs.c +1 -1
- data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/matcher.upbdefs.h +6 -5
- data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/range.upbdefs.c +1 -1
- data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/range.upbdefs.h +6 -5
- data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/regex.upbdefs.c +1 -1
- data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/regex.upbdefs.h +6 -5
- data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/string.upbdefs.c +1 -1
- data/src/core/ext/upbdefs-generated/xds/type/matcher/v3/string.upbdefs.h +6 -5
- data/src/core/ext/upbdefs-generated/xds/type/v3/cel.upbdefs.c +1 -1
- data/src/core/ext/upbdefs-generated/xds/type/v3/cel.upbdefs.h +6 -5
- data/src/core/ext/upbdefs-generated/xds/type/v3/range.upbdefs.c +1 -1
- data/src/core/ext/upbdefs-generated/xds/type/v3/range.upbdefs.h +6 -5
- data/src/core/ext/upbdefs-generated/xds/type/v3/typed_struct.upbdefs.c +1 -1
- data/src/core/ext/upbdefs-generated/xds/type/v3/typed_struct.upbdefs.h +6 -5
- data/src/core/ext/xds/certificate_provider_store.cc +4 -4
- data/src/core/ext/xds/file_watcher_certificate_provider_factory.cc +7 -7
- data/src/core/ext/xds/upb_utils.h +1 -1
- data/src/core/ext/xds/xds_api.cc +34 -14
- data/src/core/ext/xds/xds_api.h +2 -2
- data/src/core/ext/xds/xds_bootstrap.cc +3 -3
- data/src/core/ext/xds/xds_bootstrap_grpc.cc +15 -15
- data/src/core/ext/xds/xds_client.cc +24 -3
- data/src/core/ext/xds/xds_client.h +1 -1
- data/src/core/ext/xds/xds_cluster.cc +26 -34
- data/src/core/ext/xds/xds_cluster.h +1 -2
- data/src/core/ext/xds/xds_cluster_specifier_plugin.cc +4 -3
- data/src/core/ext/xds/xds_cluster_specifier_plugin.h +2 -2
- data/src/core/ext/xds/xds_common_types.cc +5 -4
- data/src/core/ext/xds/xds_endpoint.cc +5 -2
- data/src/core/ext/xds/xds_endpoint.h +1 -1
- data/src/core/ext/xds/xds_http_fault_filter.cc +2 -2
- data/src/core/ext/xds/xds_http_fault_filter.h +1 -1
- data/src/core/ext/xds/xds_http_filters.h +3 -2
- data/src/core/ext/xds/xds_http_rbac_filter.cc +6 -8
- data/src/core/ext/xds/xds_http_rbac_filter.h +1 -1
- data/src/core/ext/xds/xds_http_stateful_session_filter.cc +2 -2
- data/src/core/ext/xds/xds_http_stateful_session_filter.h +1 -1
- data/src/core/ext/xds/xds_lb_policy_registry.cc +4 -22
- data/src/core/ext/xds/xds_listener.cc +10 -4
- data/src/core/ext/xds/xds_listener.h +1 -1
- data/src/core/ext/xds/xds_resource_type.h +2 -2
- data/src/core/ext/xds/xds_route_config.cc +8 -5
- data/src/core/ext/xds/xds_route_config.h +1 -1
- data/src/core/lib/backoff/random_early_detection.h +5 -0
- data/src/core/lib/channel/channelz.cc +5 -4
- data/src/core/lib/channel/channelz_registry.cc +7 -6
- data/src/core/lib/channel/connected_channel.cc +82 -27
- data/src/core/lib/channel/promise_based_filter.cc +2 -8
- data/src/core/lib/debug/trace.cc +16 -7
- data/src/core/lib/debug/trace.h +12 -4
- data/src/core/lib/event_engine/posix_engine/posix_engine.cc +38 -43
- data/src/core/lib/event_engine/posix_engine/posix_engine.h +1 -0
- data/src/core/lib/event_engine/posix_engine/posix_engine_listener.cc +29 -0
- data/src/core/lib/event_engine/posix_engine/posix_engine_listener.h +3 -0
- data/src/core/lib/event_engine/posix_engine/tcp_socket_utils.cc +6 -1
- data/src/core/lib/event_engine/posix_engine/tcp_socket_utils.h +3 -0
- data/src/core/lib/event_engine/shim.cc +2 -0
- data/src/core/lib/event_engine/trace.cc +1 -0
- data/src/core/lib/event_engine/trace.h +6 -0
- data/src/core/lib/experiments/experiments.cc +3 -0
- data/src/core/lib/experiments/experiments.h +4 -1
- data/src/core/lib/gpr/posix/time.cc +5 -0
- data/src/core/lib/gprpp/status_helper.cc +2 -2
- data/src/core/lib/gprpp/validation_errors.cc +8 -3
- data/src/core/lib/gprpp/validation_errors.h +16 -9
- data/src/core/lib/iomgr/buffer_list.h +0 -1
- data/src/core/lib/iomgr/socket_utils_posix.cc +3 -0
- data/src/core/lib/iomgr/socket_utils_posix.h +3 -0
- data/src/core/lib/iomgr/tcp_client_posix.cc +4 -0
- data/src/core/lib/iomgr/tcp_server_posix.cc +39 -14
- data/src/core/lib/iomgr/tcp_server_utils_posix.h +12 -0
- data/src/core/lib/iomgr/tcp_server_utils_posix_common.cc +21 -0
- data/src/core/lib/iomgr/timer_generic.cc +17 -16
- data/src/core/lib/json/json.h +61 -113
- data/src/core/lib/json/json_object_loader.cc +20 -20
- data/src/core/lib/json/json_object_loader.h +8 -3
- data/src/core/lib/json/json_reader.cc +58 -38
- data/src/core/lib/json/json_reader.h +34 -0
- data/src/core/lib/json/json_util.cc +6 -6
- data/src/core/lib/json/json_util.h +5 -4
- data/src/core/lib/json/json_writer.cc +19 -19
- data/src/core/lib/json/json_writer.h +33 -0
- data/src/core/lib/load_balancing/lb_policy_registry.cc +7 -7
- data/src/core/lib/promise/pipe.h +7 -0
- data/src/core/lib/security/credentials/external/aws_external_account_credentials.cc +35 -37
- data/src/core/lib/security/credentials/external/external_account_credentials.cc +60 -62
- data/src/core/lib/security/credentials/external/file_external_account_credentials.cc +22 -21
- data/src/core/lib/security/credentials/external/url_external_account_credentials.cc +28 -27
- data/src/core/lib/security/credentials/google_default/google_default_credentials.cc +4 -2
- data/src/core/lib/security/credentials/jwt/json_token.cc +6 -4
- data/src/core/lib/security/credentials/jwt/jwt_credentials.cc +8 -5
- data/src/core/lib/security/credentials/jwt/jwt_verifier.cc +39 -38
- data/src/core/lib/security/credentials/oauth2/oauth2_credentials.cc +17 -16
- data/src/core/lib/security/util/json_util.cc +5 -5
- data/src/core/lib/service_config/service_config_impl.cc +11 -5
- data/src/core/lib/slice/slice.h +2 -0
- data/src/core/lib/surface/call.cc +71 -26
- data/src/core/lib/surface/call.h +1 -5
- data/src/core/lib/surface/completion_queue.cc +2 -1
- data/src/core/lib/surface/server.cc +47 -19
- data/src/core/lib/surface/validate_metadata.cc +37 -22
- data/src/core/lib/surface/validate_metadata.h +13 -3
- data/src/core/lib/surface/version.cc +2 -2
- data/src/core/lib/transport/batch_builder.h +9 -1
- data/src/core/lib/transport/metadata_batch.h +2 -59
- data/src/core/lib/transport/metadata_compression_traits.h +67 -0
- data/src/core/lib/transport/simple_slice_based_metadata.h +48 -0
- data/src/core/lib/transport/transport.h +3 -0
- data/src/core/plugin_registry/grpc_plugin_registry.cc +2 -4
- data/src/ruby/lib/grpc/version.rb +1 -1
- data/third_party/abseil-cpp/absl/base/config.h +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/bio/bio_mem.c +33 -47
- data/third_party/boringssl-with-bazel/src/crypto/bio/fd.c +7 -4
- data/third_party/boringssl-with-bazel/src/crypto/kyber/internal.h +32 -2
- data/third_party/boringssl-with-bazel/src/crypto/kyber/keccak.c +11 -12
- data/third_party/boringssl-with-bazel/src/crypto/kyber/kyber.c +826 -0
- data/third_party/boringssl-with-bazel/src/crypto/trust_token/pmbtoken.c +10 -12
- data/third_party/boringssl-with-bazel/src/crypto/trust_token/voprf.c +8 -10
- data/third_party/boringssl-with-bazel/src/crypto/x509/by_dir.c +2 -1
- data/third_party/boringssl-with-bazel/src/crypto/x509/internal.h +2 -1
- data/third_party/boringssl-with-bazel/src/crypto/x509/policy.c +18 -14
- data/third_party/boringssl-with-bazel/src/crypto/x509/x509_lu.c +17 -21
- data/third_party/boringssl-with-bazel/src/crypto/x509/x509_trs.c +7 -3
- data/third_party/boringssl-with-bazel/src/crypto/x509/x509_vfy.c +3 -4
- data/third_party/boringssl-with-bazel/src/crypto/x509/x509_vpm.c +1 -72
- data/third_party/boringssl-with-bazel/src/crypto/x509/x_crl.c +4 -2
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_lib.c +4 -3
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_purp.c +7 -3
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_utl.c +4 -2
- data/third_party/boringssl-with-bazel/src/include/openssl/base.h +1 -1
- data/third_party/boringssl-with-bazel/src/include/openssl/bio.h +8 -8
- data/third_party/boringssl-with-bazel/src/include/openssl/kyber.h +128 -0
- data/third_party/boringssl-with-bazel/src/include/openssl/obj.h +8 -1
- data/third_party/boringssl-with-bazel/src/include/openssl/ssl.h +1 -1
- data/third_party/boringssl-with-bazel/src/include/openssl/stack.h +8 -12
- data/third_party/boringssl-with-bazel/src/include/openssl/x509.h +1 -10
- data/third_party/boringssl-with-bazel/src/ssl/handshake_client.cc +9 -2
- data/third_party/boringssl-with-bazel/src/ssl/internal.h +17 -17
- data/third_party/boringssl-with-bazel/src/ssl/ssl_asn1.cc +8 -4
- data/third_party/boringssl-with-bazel/src/ssl/ssl_file.cc +2 -2
- data/third_party/boringssl-with-bazel/src/ssl/ssl_key_share.cc +72 -5
- data/third_party/boringssl-with-bazel/src/ssl/ssl_session.cc +19 -21
- data/third_party/boringssl-with-bazel/src/ssl/tls13_both.cc +2 -1
- data/third_party/upb/upb/{table_internal.h → alloc.h} +6 -6
- data/third_party/upb/upb/arena.h +4 -193
- data/third_party/upb/upb/array.h +4 -51
- data/third_party/upb/upb/base/descriptor_constants.h +104 -0
- data/third_party/upb/upb/base/log2.h +57 -0
- data/third_party/upb/upb/{status.c → base/status.c} +2 -7
- data/third_party/upb/upb/base/status.h +66 -0
- data/third_party/upb/upb/base/string_view.h +75 -0
- data/third_party/upb/upb/{array.c → collections/array.c} +67 -36
- data/third_party/upb/upb/collections/array.h +85 -0
- data/third_party/upb/upb/collections/array_internal.h +135 -0
- data/third_party/upb/upb/{map.c → collections/map.c} +53 -26
- data/third_party/upb/upb/collections/map.h +135 -0
- data/third_party/upb/upb/collections/map_gencode_util.h +78 -0
- data/third_party/upb/upb/collections/map_internal.h +170 -0
- data/third_party/upb/upb/collections/map_sorter.c +166 -0
- data/third_party/upb/upb/collections/map_sorter_internal.h +109 -0
- data/third_party/upb/upb/{message_value.h → collections/message_value.h} +12 -13
- data/third_party/upb/upb/decode.h +3 -62
- data/third_party/upb/upb/def.h +4 -384
- data/third_party/upb/upb/def.hpp +3 -411
- data/third_party/upb/upb/encode.h +3 -48
- data/third_party/upb/upb/extension_registry.h +3 -52
- data/third_party/upb/upb/{table.c → hash/common.c} +52 -110
- data/third_party/upb/upb/hash/common.h +199 -0
- data/third_party/upb/upb/hash/int_table.h +102 -0
- data/third_party/upb/upb/hash/str_table.h +161 -0
- data/third_party/upb/upb/{json_decode.c → json/decode.c} +63 -98
- data/third_party/upb/upb/json/decode.h +52 -0
- data/third_party/upb/upb/{json_encode.c → json/encode.c} +69 -45
- data/third_party/upb/upb/json/encode.h +70 -0
- data/third_party/upb/upb/json_decode.h +4 -15
- data/third_party/upb/upb/json_encode.h +4 -33
- data/third_party/upb/upb/lex/atoi.c +68 -0
- data/third_party/upb/upb/lex/atoi.h +53 -0
- data/third_party/upb/upb/{upb.c → lex/round_trip.c} +2 -11
- data/third_party/upb/upb/{internal/upb.h → lex/round_trip.h} +17 -30
- data/third_party/upb/upb/lex/strtod.c +97 -0
- data/third_party/upb/upb/lex/strtod.h +46 -0
- data/third_party/upb/upb/lex/unicode.c +57 -0
- data/third_party/upb/upb/lex/unicode.h +77 -0
- data/third_party/upb/upb/map.h +4 -85
- data/third_party/upb/upb/mem/alloc.c +47 -0
- data/third_party/upb/upb/mem/alloc.h +98 -0
- data/third_party/upb/upb/mem/arena.c +367 -0
- data/third_party/upb/upb/mem/arena.h +160 -0
- data/third_party/upb/upb/mem/arena_internal.h +114 -0
- data/third_party/upb/upb/message/accessors.c +68 -0
- data/third_party/upb/upb/message/accessors.h +379 -0
- data/third_party/upb/upb/message/accessors_internal.h +325 -0
- data/third_party/upb/upb/message/extension_internal.h +83 -0
- data/third_party/upb/upb/message/internal.h +135 -0
- data/third_party/upb/upb/message/message.c +180 -0
- data/third_party/upb/upb/message/message.h +69 -0
- data/third_party/upb/upb/mini_table/common.c +128 -0
- data/third_party/upb/upb/mini_table/common.h +170 -0
- data/third_party/upb/upb/mini_table/common_internal.h +111 -0
- data/third_party/upb/upb/{mini_table.c → mini_table/decode.c} +513 -533
- data/third_party/upb/upb/mini_table/decode.h +179 -0
- data/third_party/upb/upb/mini_table/encode.c +300 -0
- data/third_party/upb/upb/mini_table/encode_internal.h +111 -0
- data/third_party/upb/upb/{mini_table.hpp → mini_table/encode_internal.hpp} +32 -8
- data/third_party/upb/upb/mini_table/enum_internal.h +88 -0
- data/third_party/upb/upb/mini_table/extension_internal.h +47 -0
- data/third_party/upb/upb/{extension_registry.c → mini_table/extension_registry.c} +27 -24
- data/third_party/upb/upb/mini_table/extension_registry.h +104 -0
- data/third_party/upb/upb/mini_table/field_internal.h +192 -0
- data/third_party/upb/upb/mini_table/file_internal.h +47 -0
- data/third_party/upb/upb/mini_table/message_internal.h +136 -0
- data/third_party/upb/upb/mini_table/sub_internal.h +38 -0
- data/third_party/upb/upb/mini_table/types.h +40 -0
- data/third_party/upb/upb/mini_table.h +4 -157
- data/third_party/upb/upb/msg.h +3 -38
- data/third_party/upb/upb/port/atomic.h +101 -0
- data/third_party/upb/upb/{port_def.inc → port/def.inc} +94 -27
- data/third_party/upb/upb/{port_undef.inc → port/undef.inc} +13 -3
- data/third_party/upb/upb/{internal → port}/vsnprintf_compat.h +5 -7
- data/third_party/upb/upb/reflection/common.h +67 -0
- data/third_party/upb/upb/reflection/def.h +42 -0
- data/third_party/upb/upb/reflection/def.hpp +610 -0
- data/third_party/upb/upb/reflection/def_builder.c +357 -0
- data/third_party/upb/upb/reflection/def_builder_internal.h +157 -0
- data/third_party/upb/upb/reflection/def_pool.c +462 -0
- data/third_party/upb/upb/reflection/def_pool.h +108 -0
- data/third_party/upb/upb/reflection/def_pool_internal.h +77 -0
- data/third_party/upb/upb/reflection/def_type.c +50 -0
- data/third_party/upb/upb/reflection/def_type.h +81 -0
- data/third_party/upb/upb/reflection/desc_state.c +53 -0
- data/third_party/upb/upb/reflection/desc_state_internal.h +64 -0
- data/third_party/upb/upb/reflection/enum_def.c +310 -0
- data/third_party/upb/upb/reflection/enum_def.h +80 -0
- data/third_party/upb/upb/reflection/enum_def_internal.h +56 -0
- data/third_party/upb/upb/reflection/enum_reserved_range.c +84 -0
- data/third_party/upb/upb/reflection/enum_reserved_range.h +51 -0
- data/third_party/upb/upb/reflection/enum_reserved_range_internal.h +55 -0
- data/third_party/upb/upb/reflection/enum_value_def.c +144 -0
- data/third_party/upb/upb/reflection/enum_value_def.h +57 -0
- data/third_party/upb/upb/reflection/enum_value_def_internal.h +57 -0
- data/third_party/upb/upb/reflection/extension_range.c +93 -0
- data/third_party/upb/upb/reflection/extension_range.h +55 -0
- data/third_party/upb/upb/reflection/extension_range_internal.h +54 -0
- data/third_party/upb/upb/reflection/field_def.c +930 -0
- data/third_party/upb/upb/reflection/field_def.h +91 -0
- data/third_party/upb/upb/reflection/field_def_internal.h +76 -0
- data/third_party/upb/upb/reflection/file_def.c +370 -0
- data/third_party/upb/upb/reflection/file_def.h +77 -0
- data/third_party/upb/upb/reflection/file_def_internal.h +57 -0
- data/third_party/upb/upb/reflection/message.c +233 -0
- data/third_party/upb/upb/reflection/message.h +102 -0
- data/third_party/upb/upb/reflection/message.hpp +37 -0
- data/third_party/upb/upb/reflection/message_def.c +718 -0
- data/third_party/upb/upb/reflection/message_def.h +174 -0
- data/third_party/upb/upb/reflection/message_def_internal.h +63 -0
- data/third_party/upb/upb/reflection/message_reserved_range.c +81 -0
- data/third_party/upb/upb/reflection/message_reserved_range.h +51 -0
- data/third_party/upb/upb/reflection/message_reserved_range_internal.h +55 -0
- data/third_party/upb/upb/reflection/method_def.c +124 -0
- data/third_party/upb/upb/reflection/method_def.h +59 -0
- data/third_party/upb/upb/reflection/method_def_internal.h +53 -0
- data/third_party/upb/upb/reflection/oneof_def.c +226 -0
- data/third_party/upb/upb/reflection/oneof_def.h +66 -0
- data/third_party/upb/upb/reflection/oneof_def_internal.h +57 -0
- data/third_party/upb/upb/reflection/service_def.c +128 -0
- data/third_party/upb/upb/reflection/service_def.h +60 -0
- data/third_party/upb/upb/reflection/service_def_internal.h +53 -0
- data/third_party/upb/upb/reflection.h +4 -78
- data/third_party/upb/upb/reflection.hpp +3 -7
- data/third_party/upb/upb/status.h +4 -34
- data/third_party/upb/upb/{collections.h → string_view.h} +7 -7
- data/third_party/upb/upb/{text_encode.c → text/encode.c} +74 -70
- data/third_party/upb/upb/text/encode.h +69 -0
- data/third_party/upb/upb/text_encode.h +4 -32
- data/third_party/upb/upb/upb.h +6 -151
- data/third_party/upb/upb/upb.hpp +10 -18
- data/third_party/upb/upb/wire/common.h +44 -0
- data/third_party/upb/upb/wire/common_internal.h +50 -0
- data/third_party/upb/upb/wire/decode.c +1343 -0
- data/third_party/upb/upb/wire/decode.h +108 -0
- data/third_party/upb/upb/{decode_fast.c → wire/decode_fast.c} +184 -225
- data/third_party/upb/upb/{decode_fast.h → wire/decode_fast.h} +21 -7
- data/third_party/upb/upb/{internal/decode.h → wire/decode_internal.h} +44 -92
- data/third_party/upb/upb/{encode.c → wire/encode.c} +114 -95
- data/third_party/upb/upb/wire/encode.h +92 -0
- data/third_party/upb/upb/wire/eps_copy_input_stream.c +39 -0
- data/third_party/upb/upb/wire/eps_copy_input_stream.h +425 -0
- data/third_party/upb/upb/wire/reader.c +67 -0
- data/third_party/upb/upb/wire/reader.h +227 -0
- data/third_party/upb/upb/wire/swap_internal.h +63 -0
- data/third_party/upb/upb/wire/types.h +41 -0
- data/third_party/{upb/third_party/utf8_range → utf8_range}/range2-neon.c +1 -1
- data/third_party/{upb/third_party/utf8_range → utf8_range}/utf8_range.h +12 -0
- metadata +157 -40
- data/src/core/ext/transport/chttp2/transport/context_list.cc +0 -71
- data/src/core/ext/transport/chttp2/transport/context_list.h +0 -54
- data/third_party/upb/upb/arena.c +0 -277
- data/third_party/upb/upb/decode.c +0 -1221
- data/third_party/upb/upb/def.c +0 -3269
- data/third_party/upb/upb/internal/table.h +0 -385
- data/third_party/upb/upb/msg.c +0 -368
- data/third_party/upb/upb/msg_internal.h +0 -837
- data/third_party/upb/upb/reflection.c +0 -323
- /data/third_party/{upb/third_party/utf8_range → utf8_range}/naive.c +0 -0
- /data/third_party/{upb/third_party/utf8_range → utf8_range}/range2-sse.c +0 -0
@@ -33,28 +33,28 @@
|
|
33
33
|
const char* grpc_json_get_string_property(const grpc_core::Json& json,
|
34
34
|
const char* prop_name,
|
35
35
|
grpc_error_handle* error) {
|
36
|
-
if (json.type() != grpc_core::Json::Type::
|
36
|
+
if (json.type() != grpc_core::Json::Type::kObject) {
|
37
37
|
if (error != nullptr) {
|
38
38
|
*error = GRPC_ERROR_CREATE("JSON value is not an object");
|
39
39
|
}
|
40
40
|
return nullptr;
|
41
41
|
}
|
42
|
-
auto it = json.
|
43
|
-
if (it == json.
|
42
|
+
auto it = json.object().find(prop_name);
|
43
|
+
if (it == json.object().end()) {
|
44
44
|
if (error != nullptr) {
|
45
45
|
*error = GRPC_ERROR_CREATE(
|
46
46
|
absl::StrCat("Property ", prop_name, " not found in JSON object."));
|
47
47
|
}
|
48
48
|
return nullptr;
|
49
49
|
}
|
50
|
-
if (it->second.type() != grpc_core::Json::Type::
|
50
|
+
if (it->second.type() != grpc_core::Json::Type::kString) {
|
51
51
|
if (error != nullptr) {
|
52
52
|
*error = GRPC_ERROR_CREATE(absl::StrCat(
|
53
53
|
"Property ", prop_name, " n JSON object is not a string."));
|
54
54
|
}
|
55
55
|
return nullptr;
|
56
56
|
}
|
57
|
-
return it->second.
|
57
|
+
return it->second.string().c_str();
|
58
58
|
}
|
59
59
|
|
60
60
|
bool grpc_copy_json_string_property(const grpc_core::Json& json,
|
@@ -23,6 +23,7 @@
|
|
23
23
|
#include <string>
|
24
24
|
#include <utility>
|
25
25
|
|
26
|
+
#include "absl/status/status.h"
|
26
27
|
#include "absl/status/statusor.h"
|
27
28
|
#include "absl/strings/str_cat.h"
|
28
29
|
#include "absl/types/optional.h"
|
@@ -33,6 +34,8 @@
|
|
33
34
|
#include "src/core/lib/json/json.h"
|
34
35
|
#include "src/core/lib/json/json_args.h"
|
35
36
|
#include "src/core/lib/json/json_object_loader.h"
|
37
|
+
#include "src/core/lib/json/json_reader.h"
|
38
|
+
#include "src/core/lib/json/json_writer.h"
|
36
39
|
#include "src/core/lib/service_config/service_config_parser.h"
|
37
40
|
#include "src/core/lib/slice/slice.h"
|
38
41
|
#include "src/core/lib/slice/slice_internal.h"
|
@@ -81,23 +84,26 @@ struct MethodConfig {
|
|
81
84
|
|
82
85
|
absl::StatusOr<RefCountedPtr<ServiceConfig>> ServiceConfigImpl::Create(
|
83
86
|
const ChannelArgs& args, absl::string_view json_string) {
|
84
|
-
auto json =
|
87
|
+
auto json = JsonParse(json_string);
|
85
88
|
if (!json.ok()) return json.status();
|
86
89
|
ValidationErrors errors;
|
87
90
|
auto service_config = Create(args, *json, json_string, &errors);
|
88
|
-
if (!errors.ok())
|
91
|
+
if (!errors.ok()) {
|
92
|
+
return errors.status(absl::StatusCode::kInvalidArgument,
|
93
|
+
"errors validating service config");
|
94
|
+
}
|
89
95
|
return service_config;
|
90
96
|
}
|
91
97
|
|
92
98
|
RefCountedPtr<ServiceConfig> ServiceConfigImpl::Create(
|
93
99
|
const ChannelArgs& args, const Json& json, ValidationErrors* errors) {
|
94
|
-
return Create(args, json, json
|
100
|
+
return Create(args, json, JsonDump(json), errors);
|
95
101
|
}
|
96
102
|
|
97
103
|
RefCountedPtr<ServiceConfig> ServiceConfigImpl::Create(
|
98
104
|
const ChannelArgs& args, const Json& json, absl::string_view json_string,
|
99
105
|
ValidationErrors* errors) {
|
100
|
-
if (json.type() != Json::Type::
|
106
|
+
if (json.type() != Json::Type::kObject) {
|
101
107
|
errors->AddError("is not an object");
|
102
108
|
return nullptr;
|
103
109
|
}
|
@@ -109,7 +115,7 @@ RefCountedPtr<ServiceConfig> ServiceConfigImpl::Create(
|
|
109
115
|
args, json, errors);
|
110
116
|
// Parse per-method parameters.
|
111
117
|
auto method_configs = LoadJsonObjectField<std::vector<Json::Object>>(
|
112
|
-
json.
|
118
|
+
json.object(), JsonArgs(), "methodConfig", errors,
|
113
119
|
/*required=*/false);
|
114
120
|
if (method_configs.has_value()) {
|
115
121
|
service_config->parsed_method_config_vectors_storage_.reserve(
|
data/src/core/lib/slice/slice.h
CHANGED
@@ -298,6 +298,8 @@ class GPR_MSVC_EMPTY_BASE_CLASS_WORKAROUND MutableSlice
|
|
298
298
|
|
299
299
|
// Array access
|
300
300
|
uint8_t& operator[](size_t i) { return mutable_data()[i]; }
|
301
|
+
|
302
|
+
using slice_detail::BaseSlice::c_slice_ptr;
|
301
303
|
};
|
302
304
|
|
303
305
|
class GPR_MSVC_EMPTY_BASE_CLASS_WORKAROUND Slice
|
@@ -242,6 +242,8 @@ class Call : public CppImplOf<Call, grpc_call> {
|
|
242
242
|
void HandleCompressionAlgorithmNotAccepted(
|
243
243
|
grpc_compression_algorithm compression_algorithm) GPR_ATTRIBUTE_NOINLINE;
|
244
244
|
|
245
|
+
gpr_cycle_counter start_time() const { return start_time_; }
|
246
|
+
|
245
247
|
private:
|
246
248
|
RefCountedPtr<Channel> channel_;
|
247
249
|
Arena* const arena_;
|
@@ -263,6 +265,7 @@ class Call : public CppImplOf<Call, grpc_call> {
|
|
263
265
|
// of the recv_initial_metadata op. The mutex should be mostly uncontended.
|
264
266
|
mutable Mutex peer_mu_;
|
265
267
|
Slice peer_string_;
|
268
|
+
gpr_cycle_counter start_time_ = gpr_get_cycle_counter();
|
266
269
|
};
|
267
270
|
|
268
271
|
Call::ParentCall* Call::GetOrCreateParentCall() {
|
@@ -706,7 +709,6 @@ class FilterStackCall final : public Call {
|
|
706
709
|
CallCombiner call_combiner_;
|
707
710
|
grpc_completion_queue* cq_;
|
708
711
|
grpc_polling_entity pollent_;
|
709
|
-
gpr_cycle_counter start_time_ = gpr_get_cycle_counter();
|
710
712
|
|
711
713
|
/// has grpc_call_unref been called
|
712
714
|
bool destroy_called_ = false;
|
@@ -868,7 +870,7 @@ grpc_error_handle FilterStackCall::Create(grpc_call_create_args* args,
|
|
868
870
|
grpc_call_element_args call_args = {
|
869
871
|
call->call_stack(), args->server_transport_data,
|
870
872
|
call->context_, path,
|
871
|
-
call->
|
873
|
+
call->start_time(), call->send_deadline(),
|
872
874
|
call->arena(), &call->call_combiner_};
|
873
875
|
add_init_error(&error, grpc_call_stack_init(channel_stack, 1, DestroyCall,
|
874
876
|
call, &call_args));
|
@@ -950,7 +952,7 @@ void FilterStackCall::DestroyCall(void* call, grpc_error_handle /*error*/) {
|
|
950
952
|
&(c->final_info_.error_string));
|
951
953
|
c->status_error_.set(absl::OkStatus());
|
952
954
|
c->final_info_.stats.latency =
|
953
|
-
gpr_cycle_counter_sub(gpr_get_cycle_counter(), c->
|
955
|
+
gpr_cycle_counter_sub(gpr_get_cycle_counter(), c->start_time());
|
954
956
|
grpc_call_stack_destroy(c->call_stack(), &c->final_info_,
|
955
957
|
GRPC_CLOSURE_INIT(&c->release_call_, ReleaseCall, c,
|
956
958
|
grpc_schedule_on_exec_ctx));
|
@@ -1995,11 +1997,18 @@ class PromiseBasedCall : public Call,
|
|
1995
1997
|
|
1996
1998
|
void UpdateDeadline(Timestamp deadline) ABSL_LOCKS_EXCLUDED(deadline_mu_);
|
1997
1999
|
void ResetDeadline() ABSL_LOCKS_EXCLUDED(deadline_mu_);
|
2000
|
+
Timestamp deadline() {
|
2001
|
+
MutexLock lock(&deadline_mu_);
|
2002
|
+
return deadline_;
|
2003
|
+
}
|
1998
2004
|
|
1999
2005
|
// Implementation of EventEngine::Closure, called when deadline expires
|
2000
2006
|
void Run() override;
|
2001
2007
|
|
2002
2008
|
virtual ServerCallContext* server_call_context() { return nullptr; }
|
2009
|
+
bool failed_before_recv_message() const final {
|
2010
|
+
return failed_before_recv_message_.load(std::memory_order_relaxed);
|
2011
|
+
}
|
2003
2012
|
|
2004
2013
|
using Call::arena;
|
2005
2014
|
|
@@ -2145,6 +2154,8 @@ class PromiseBasedCall : public Call,
|
|
2145
2154
|
final_info.stats = final_stats_;
|
2146
2155
|
final_info.final_status = status;
|
2147
2156
|
final_info.error_string = status_details;
|
2157
|
+
final_info.stats.latency =
|
2158
|
+
gpr_cycle_counter_sub(gpr_get_cycle_counter(), start_time());
|
2148
2159
|
finalization_.Run(&final_info);
|
2149
2160
|
}
|
2150
2161
|
|
@@ -2320,6 +2331,7 @@ class PromiseBasedCall : public Call,
|
|
2320
2331
|
// GRPC_OP_SEND_MESSAGE (one count each), and 0 once those payloads have been
|
2321
2332
|
// pushed onto the outgoing pipe.
|
2322
2333
|
std::atomic<uint8_t> sends_queued_{0};
|
2334
|
+
std::atomic<bool> failed_before_recv_message_{false};
|
2323
2335
|
// Waiter for when sends_queued_ becomes 0.
|
2324
2336
|
IntraActivityWaiter waiting_for_queued_sends_;
|
2325
2337
|
grpc_byte_buffer** recv_message_ = nullptr;
|
@@ -2346,16 +2358,7 @@ PromiseBasedCall::PromiseBasedCall(Arena* arena, uint32_t initial_external_refs,
|
|
2346
2358
|
Party(arena, initial_external_refs),
|
2347
2359
|
cq_(args.cq) {
|
2348
2360
|
if (args.cq != nullptr) {
|
2349
|
-
GPR_ASSERT(args.pollset_set_alternative == nullptr &&
|
2350
|
-
"Only one of 'cq' and 'pollset_set_alternative' should be "
|
2351
|
-
"non-nullptr.");
|
2352
2361
|
GRPC_CQ_INTERNAL_REF(args.cq, "bind");
|
2353
|
-
call_context_.pollent_ =
|
2354
|
-
grpc_polling_entity_create_from_pollset(grpc_cq_pollset(args.cq));
|
2355
|
-
}
|
2356
|
-
if (args.pollset_set_alternative != nullptr) {
|
2357
|
-
call_context_.pollent_ = grpc_polling_entity_create_from_pollset_set(
|
2358
|
-
args.pollset_set_alternative);
|
2359
2362
|
}
|
2360
2363
|
}
|
2361
2364
|
|
@@ -2468,8 +2471,6 @@ void PromiseBasedCall::FinishOpOnCompletion(Completion* completion,
|
|
2468
2471
|
void PromiseBasedCall::SetCompletionQueue(grpc_completion_queue* cq) {
|
2469
2472
|
cq_ = cq;
|
2470
2473
|
GRPC_CQ_INTERNAL_REF(cq, "bind");
|
2471
|
-
call_context_.pollent_ =
|
2472
|
-
grpc_polling_entity_create_from_pollset(grpc_cq_pollset(cq));
|
2473
2474
|
}
|
2474
2475
|
|
2475
2476
|
void PromiseBasedCall::UpdateDeadline(Timestamp deadline) {
|
@@ -2577,6 +2578,7 @@ void PromiseBasedCall::StartRecvMessage(
|
|
2577
2578
|
"finishes: received end-of-stream with error",
|
2578
2579
|
DebugTag().c_str());
|
2579
2580
|
}
|
2581
|
+
failed_before_recv_message_.store(true);
|
2580
2582
|
FailCompletion(completion);
|
2581
2583
|
*recv_message_ = nullptr;
|
2582
2584
|
} else {
|
@@ -2609,6 +2611,8 @@ void CallContext::UpdateDeadline(Timestamp deadline) {
|
|
2609
2611
|
call_->UpdateDeadline(deadline);
|
2610
2612
|
}
|
2611
2613
|
|
2614
|
+
Timestamp CallContext::deadline() const { return call_->deadline(); }
|
2615
|
+
|
2612
2616
|
ServerCallContext* CallContext::server_call_context() {
|
2613
2617
|
return call_->server_call_context();
|
2614
2618
|
}
|
@@ -2639,6 +2643,17 @@ class ClientPromiseBasedCall final : public PromiseBasedCall {
|
|
2639
2643
|
ClientPromiseBasedCall(Arena* arena, grpc_call_create_args* args)
|
2640
2644
|
: PromiseBasedCall(arena, 1, *args) {
|
2641
2645
|
global_stats().IncrementClientCallsCreated();
|
2646
|
+
if (args->cq != nullptr) {
|
2647
|
+
GPR_ASSERT(args->pollset_set_alternative == nullptr &&
|
2648
|
+
"Only one of 'cq' and 'pollset_set_alternative' should be "
|
2649
|
+
"non-nullptr.");
|
2650
|
+
polling_entity_.Set(
|
2651
|
+
grpc_polling_entity_create_from_pollset(grpc_cq_pollset(args->cq)));
|
2652
|
+
}
|
2653
|
+
if (args->pollset_set_alternative != nullptr) {
|
2654
|
+
polling_entity_.Set(grpc_polling_entity_create_from_pollset_set(
|
2655
|
+
args->pollset_set_alternative));
|
2656
|
+
}
|
2642
2657
|
ScopedContext context(this);
|
2643
2658
|
send_initial_metadata_ =
|
2644
2659
|
GetContext<Arena>()->MakePooled<ClientMetadata>(GetContext<Arena>());
|
@@ -2691,7 +2706,6 @@ class ClientPromiseBasedCall final : public PromiseBasedCall {
|
|
2691
2706
|
}
|
2692
2707
|
absl::string_view GetServerAuthority() const override { abort(); }
|
2693
2708
|
bool is_trailers_only() const override { return is_trailers_only_; }
|
2694
|
-
bool failed_before_recv_message() const override { return false; }
|
2695
2709
|
|
2696
2710
|
grpc_call_error StartBatch(const grpc_op* ops, size_t nops, void* notify_tag,
|
2697
2711
|
bool is_notify_tag_closure) override;
|
@@ -2730,6 +2744,7 @@ class ClientPromiseBasedCall final : public PromiseBasedCall {
|
|
2730
2744
|
Pipe<ServerMetadataHandle> server_initial_metadata_{arena()};
|
2731
2745
|
Latch<ServerMetadataHandle> server_trailing_metadata_;
|
2732
2746
|
Latch<ServerMetadataHandle> cancel_error_;
|
2747
|
+
Latch<grpc_polling_entity> polling_entity_;
|
2733
2748
|
Pipe<MessageHandle> client_to_server_messages_{arena()};
|
2734
2749
|
Pipe<MessageHandle> server_to_client_messages_{arena()};
|
2735
2750
|
bool is_trailers_only_;
|
@@ -2739,6 +2754,10 @@ class ClientPromiseBasedCall final : public PromiseBasedCall {
|
|
2739
2754
|
// In the latter case real world code sometimes does not sent the initial
|
2740
2755
|
// metadata, and so gating based upon that does not work out.
|
2741
2756
|
std::atomic<bool> started_{false};
|
2757
|
+
// TODO(ctiller): delete when we remove the filter based API (may require some
|
2758
|
+
// cleanup in wrapped languages: they depend on this to hold slice refs)
|
2759
|
+
ServerMetadataHandle recv_initial_metadata_;
|
2760
|
+
ServerMetadataHandle recv_trailing_metadata_;
|
2742
2761
|
};
|
2743
2762
|
|
2744
2763
|
void ClientPromiseBasedCall::StartPromise(
|
@@ -2759,11 +2778,11 @@ void ClientPromiseBasedCall::StartPromise(
|
|
2759
2778
|
token = std::move(token)]() mutable {
|
2760
2779
|
return Race(
|
2761
2780
|
cancel_error_.Wait(),
|
2762
|
-
Map(channel()->channel_stack()->MakeClientCallPromise(
|
2763
|
-
|
2764
|
-
|
2765
|
-
|
2766
|
-
|
2781
|
+
Map(channel()->channel_stack()->MakeClientCallPromise(CallArgs{
|
2782
|
+
std::move(client_initial_metadata), std::move(token),
|
2783
|
+
&polling_entity_, &server_initial_metadata_.sender,
|
2784
|
+
&client_to_server_messages_.receiver,
|
2785
|
+
&server_to_client_messages_.sender}),
|
2767
2786
|
[this](ServerMetadataHandle trailing_metadata) {
|
2768
2787
|
// If we're cancelled the transport doesn't get to return
|
2769
2788
|
// stats.
|
@@ -2919,6 +2938,7 @@ void ClientPromiseBasedCall::StartRecvInitialMetadata(
|
|
2919
2938
|
}
|
2920
2939
|
ProcessIncomingInitialMetadata(*metadata);
|
2921
2940
|
PublishMetadataArray(metadata.get(), array);
|
2941
|
+
recv_initial_metadata_ = std::move(metadata);
|
2922
2942
|
FinishOpOnCompletion(&completion, PendingOp::kReceiveInitialMetadata);
|
2923
2943
|
});
|
2924
2944
|
}
|
@@ -3000,6 +3020,7 @@ void ClientPromiseBasedCall::StartRecvStatusOnClient(
|
|
3000
3020
|
}
|
3001
3021
|
PublishMetadataArray(trailing_metadata.get(),
|
3002
3022
|
op_args.trailing_metadata);
|
3023
|
+
recv_trailing_metadata_ = std::move(trailing_metadata);
|
3003
3024
|
FinishOpOnCompletion(&completion, PendingOp::kReceiveStatusOnClient);
|
3004
3025
|
});
|
3005
3026
|
}
|
@@ -3017,9 +3038,13 @@ class ServerPromiseBasedCall final : public PromiseBasedCall {
|
|
3017
3038
|
void CancelWithError(grpc_error_handle) override;
|
3018
3039
|
grpc_call_error StartBatch(const grpc_op* ops, size_t nops, void* notify_tag,
|
3019
3040
|
bool is_notify_tag_closure) override;
|
3020
|
-
bool failed_before_recv_message() const override { return false; }
|
3021
3041
|
bool is_trailers_only() const override { abort(); }
|
3022
|
-
absl::string_view GetServerAuthority() const override {
|
3042
|
+
absl::string_view GetServerAuthority() const override {
|
3043
|
+
const Slice* authority_metadata =
|
3044
|
+
client_initial_metadata_->get_pointer(HttpAuthorityMetadata());
|
3045
|
+
if (authority_metadata == nullptr) return "";
|
3046
|
+
return authority_metadata->as_string_view();
|
3047
|
+
}
|
3023
3048
|
|
3024
3049
|
// Polling order for the server promise stack:
|
3025
3050
|
//
|
@@ -3183,7 +3208,7 @@ ServerPromiseBasedCall::ServerPromiseBasedCall(Arena* arena,
|
|
3183
3208
|
Spawn("server_promise",
|
3184
3209
|
channel()->channel_stack()->MakeServerCallPromise(
|
3185
3210
|
CallArgs{nullptr, ClientInitialMetadataOutstandingToken::Empty(),
|
3186
|
-
nullptr, nullptr, nullptr}),
|
3211
|
+
nullptr, nullptr, nullptr, nullptr}),
|
3187
3212
|
[this](ServerMetadataHandle result) { Finish(std::move(result)); });
|
3188
3213
|
}
|
3189
3214
|
|
@@ -3201,15 +3226,27 @@ void ServerPromiseBasedCall::Finish(ServerMetadataHandle result) {
|
|
3201
3226
|
if (server_initial_metadata_ != nullptr) {
|
3202
3227
|
server_initial_metadata_->Close();
|
3203
3228
|
}
|
3229
|
+
const auto status =
|
3230
|
+
result->get(GrpcStatusMetadata()).value_or(GRPC_STATUS_UNKNOWN);
|
3204
3231
|
channelz::ServerNode* channelz_node = server_->channelz_node();
|
3205
3232
|
if (channelz_node != nullptr) {
|
3206
|
-
if (
|
3207
|
-
GRPC_STATUS_OK) {
|
3233
|
+
if (status == GRPC_STATUS_OK) {
|
3208
3234
|
channelz_node->RecordCallSucceeded();
|
3209
3235
|
} else {
|
3210
3236
|
channelz_node->RecordCallFailed();
|
3211
3237
|
}
|
3212
3238
|
}
|
3239
|
+
absl::string_view message_string;
|
3240
|
+
if (Slice* message = result->get_pointer(GrpcMessageMetadata())) {
|
3241
|
+
message_string = message->as_string_view();
|
3242
|
+
}
|
3243
|
+
AcceptTransportStatsFromContext();
|
3244
|
+
if (message_string.empty()) {
|
3245
|
+
RunFinalization(status, nullptr);
|
3246
|
+
} else {
|
3247
|
+
std::string error_string(message_string);
|
3248
|
+
RunFinalization(status, error_string.c_str());
|
3249
|
+
}
|
3213
3250
|
set_completed();
|
3214
3251
|
ResetDeadline();
|
3215
3252
|
PropagateCancellationToChildren();
|
@@ -3301,7 +3338,12 @@ void ServerPromiseBasedCall::CommitBatch(const grpc_op* ops, size_t nops,
|
|
3301
3338
|
metadata->Set(GrpcStatusMetadata(),
|
3302
3339
|
op.data.send_status_from_server.status);
|
3303
3340
|
if (auto* details = op.data.send_status_from_server.status_details) {
|
3304
|
-
|
3341
|
+
// TODO(ctiller): this should not be a copy, but we have callers that
|
3342
|
+
// allocate and pass in a slice created with
|
3343
|
+
// grpc_slice_from_static_string and then delete the string after
|
3344
|
+
// passing it in, which shouldn't be a supported API.
|
3345
|
+
metadata->Set(GrpcMessageMetadata(),
|
3346
|
+
Slice(grpc_slice_copy(*details)));
|
3305
3347
|
}
|
3306
3348
|
spawner.Spawn(
|
3307
3349
|
"call_send_status_from_server",
|
@@ -3397,11 +3439,14 @@ ServerCallContext::MakeTopOfServerCallPromise(
|
|
3397
3439
|
grpc_metadata_array* publish_initial_metadata,
|
3398
3440
|
absl::FunctionRef<void(grpc_call* call)> publish) {
|
3399
3441
|
call_->SetCompletionQueue(cq);
|
3442
|
+
call_args.polling_entity->Set(
|
3443
|
+
grpc_polling_entity_create_from_pollset(grpc_cq_pollset(cq)));
|
3400
3444
|
call_->server_to_client_messages_ = call_args.server_to_client_messages;
|
3401
3445
|
call_->client_to_server_messages_ = call_args.client_to_server_messages;
|
3402
3446
|
call_->server_initial_metadata_ = call_args.server_initial_metadata;
|
3403
3447
|
call_->client_initial_metadata_ =
|
3404
3448
|
std::move(call_args.client_initial_metadata);
|
3449
|
+
call_->set_send_deadline(call_->deadline());
|
3405
3450
|
call_->ProcessIncomingInitialMetadata(*call_->client_initial_metadata_);
|
3406
3451
|
PublishMetadataArray(call_->client_initial_metadata_.get(),
|
3407
3452
|
publish_initial_metadata);
|
data/src/core/lib/surface/call.h
CHANGED
@@ -43,7 +43,6 @@
|
|
43
43
|
#include "src/core/lib/iomgr/closure.h"
|
44
44
|
#include "src/core/lib/iomgr/error.h"
|
45
45
|
#include "src/core/lib/iomgr/iomgr_fwd.h"
|
46
|
-
#include "src/core/lib/iomgr/polling_entity.h"
|
47
46
|
#include "src/core/lib/promise/arena_promise.h"
|
48
47
|
#include "src/core/lib/promise/context.h"
|
49
48
|
#include "src/core/lib/resource_quota/arena.h"
|
@@ -107,6 +106,7 @@ class CallContext {
|
|
107
106
|
|
108
107
|
// Update the deadline (if deadline < the current deadline).
|
109
108
|
void UpdateDeadline(Timestamp deadline);
|
109
|
+
Timestamp deadline() const;
|
110
110
|
|
111
111
|
// Run some action in the call activity context. This is needed to adapt some
|
112
112
|
// legacy systems to promises, and will likely disappear once that conversion
|
@@ -126,7 +126,6 @@ class CallContext {
|
|
126
126
|
|
127
127
|
grpc_call_stats* call_stats() { return &call_stats_; }
|
128
128
|
gpr_atm* peer_string_atm_ptr();
|
129
|
-
grpc_polling_entity* polling_entity() { return &pollent_; }
|
130
129
|
|
131
130
|
ServerCallContext* server_call_context();
|
132
131
|
|
@@ -137,9 +136,6 @@ class CallContext {
|
|
137
136
|
friend class PromiseBasedCall;
|
138
137
|
// Call final info.
|
139
138
|
grpc_call_stats call_stats_;
|
140
|
-
// Pollset stuff, can't wait to remove.
|
141
|
-
// TODO(ctiller): bring forth EventEngine.
|
142
|
-
grpc_polling_entity pollent_;
|
143
139
|
// TODO(ctiller): remove this once transport APIs are promise based and we
|
144
140
|
// don't need refcounting here.
|
145
141
|
PromiseBasedCall* const call_;
|
@@ -539,7 +539,8 @@ grpc_completion_queue* grpc_completion_queue_create_internal(
|
|
539
539
|
cq->poller_vtable = poller_vtable;
|
540
540
|
|
541
541
|
// One for destroy(), one for pollset_shutdown
|
542
|
-
new (&cq->owning_refs) grpc_core::RefCount(
|
542
|
+
new (&cq->owning_refs) grpc_core::RefCount(
|
543
|
+
2, grpc_trace_cq_refcount.enabled() ? "completion_queue" : nullptr);
|
543
544
|
|
544
545
|
poller_vtable->init(POLLSET_FROM_CQ(cq), &cq->mu);
|
545
546
|
vtable->init(DATA_FROM_CQ(cq), shutdown_callback);
|
@@ -39,6 +39,7 @@
|
|
39
39
|
#include "absl/types/variant.h"
|
40
40
|
|
41
41
|
#include <grpc/byte_buffer.h>
|
42
|
+
#include <grpc/grpc.h>
|
42
43
|
#include <grpc/impl/connectivity_state.h>
|
43
44
|
#include <grpc/status.h>
|
44
45
|
#include <grpc/support/log.h>
|
@@ -195,9 +196,35 @@ class Server::RequestMatcherInterface {
|
|
195
196
|
virtual void RequestCallWithPossiblePublish(size_t request_queue_index,
|
196
197
|
RequestedCall* call) = 0;
|
197
198
|
|
198
|
-
|
199
|
-
|
200
|
-
RequestedCall* requested_call
|
199
|
+
class MatchResult {
|
200
|
+
public:
|
201
|
+
MatchResult(Server* server, size_t cq_idx, RequestedCall* requested_call)
|
202
|
+
: server_(server), cq_idx_(cq_idx), requested_call_(requested_call) {}
|
203
|
+
~MatchResult() {
|
204
|
+
if (requested_call_ != nullptr) {
|
205
|
+
server_->FailCall(cq_idx_, requested_call_, absl::CancelledError());
|
206
|
+
}
|
207
|
+
}
|
208
|
+
|
209
|
+
MatchResult(const MatchResult&) = delete;
|
210
|
+
MatchResult& operator=(const MatchResult&) = delete;
|
211
|
+
|
212
|
+
MatchResult(MatchResult&& other) noexcept
|
213
|
+
: server_(other.server_),
|
214
|
+
cq_idx_(other.cq_idx_),
|
215
|
+
requested_call_(std::exchange(other.requested_call_, nullptr)) {}
|
216
|
+
|
217
|
+
RequestedCall* TakeCall() {
|
218
|
+
return std::exchange(requested_call_, nullptr);
|
219
|
+
}
|
220
|
+
|
221
|
+
grpc_completion_queue* cq() const { return server_->cqs_[cq_idx_]; }
|
222
|
+
size_t cq_idx() const { return cq_idx_; }
|
223
|
+
|
224
|
+
private:
|
225
|
+
Server* server_;
|
226
|
+
size_t cq_idx_;
|
227
|
+
RequestedCall* requested_call_;
|
201
228
|
};
|
202
229
|
|
203
230
|
// This function is invoked on an incoming promise based RPC.
|
@@ -294,18 +321,20 @@ class Server::RealRequestMatcher : public RequestMatcherInterface {
|
|
294
321
|
while (true) {
|
295
322
|
NextPendingCall next_pending = pop_next_pending();
|
296
323
|
if (next_pending.rc == nullptr) break;
|
297
|
-
auto mr = MatchResult
|
324
|
+
auto mr = MatchResult(server(), request_queue_index, next_pending.rc);
|
298
325
|
Match(
|
299
326
|
next_pending.pending,
|
300
|
-
[mr](CallData* calld) {
|
327
|
+
[&mr](CallData* calld) {
|
301
328
|
if (!calld->MaybeActivate()) {
|
302
329
|
// Zombied Call
|
303
330
|
calld->KillZombie();
|
304
331
|
} else {
|
305
|
-
calld->Publish(mr.cq_idx, mr.
|
332
|
+
calld->Publish(mr.cq_idx(), mr.TakeCall());
|
306
333
|
}
|
307
334
|
},
|
308
|
-
[mr](const std::shared_ptr<ActivityWaiter>& w) {
|
335
|
+
[&mr](const std::shared_ptr<ActivityWaiter>& w) {
|
336
|
+
w->Finish(std::move(mr));
|
337
|
+
});
|
309
338
|
}
|
310
339
|
}
|
311
340
|
}
|
@@ -357,7 +386,7 @@ class Server::RealRequestMatcher : public RequestMatcherInterface {
|
|
357
386
|
RequestedCall* rc =
|
358
387
|
reinterpret_cast<RequestedCall*>(requests_per_cq_[cq_idx].TryPop());
|
359
388
|
if (rc != nullptr) {
|
360
|
-
return Immediate(MatchResult
|
389
|
+
return Immediate(MatchResult(server(), cq_idx, rc));
|
361
390
|
}
|
362
391
|
}
|
363
392
|
// No cq to take the request found; queue it on the slow list.
|
@@ -390,10 +419,10 @@ class Server::RealRequestMatcher : public RequestMatcherInterface {
|
|
390
419
|
};
|
391
420
|
}
|
392
421
|
}
|
393
|
-
return Immediate(MatchResult
|
422
|
+
return Immediate(MatchResult(server(), cq_idx, rc));
|
394
423
|
}
|
395
424
|
|
396
|
-
Server* server() const
|
425
|
+
Server* server() const final { return server_; }
|
397
426
|
|
398
427
|
private:
|
399
428
|
Server* const server_;
|
@@ -444,7 +473,7 @@ class Server::AllocatingRequestMatcherBase : public RequestMatcherInterface {
|
|
444
473
|
Crash("unreachable");
|
445
474
|
}
|
446
475
|
|
447
|
-
Server* server() const
|
476
|
+
Server* server() const final { return server_; }
|
448
477
|
|
449
478
|
// Supply the completion queue related to this request matcher
|
450
479
|
grpc_completion_queue* cq() const { return cq_; }
|
@@ -501,7 +530,7 @@ class Server::AllocatingRequestMatcherBatch
|
|
501
530
|
RequestedCall* rc = new RequestedCall(
|
502
531
|
static_cast<void*>(call_info.tag), call_info.cq, call_info.call,
|
503
532
|
call_info.initial_metadata, call_info.details);
|
504
|
-
return Immediate(MatchResult
|
533
|
+
return Immediate(MatchResult(server(), cq_idx(), rc));
|
505
534
|
} else {
|
506
535
|
return Immediate(absl::InternalError("Server shutdown"));
|
507
536
|
}
|
@@ -556,7 +585,7 @@ class Server::AllocatingRequestMatcherRegistered
|
|
556
585
|
new RequestedCall(call_info.tag, call_info.cq, call_info.call,
|
557
586
|
call_info.initial_metadata, registered_method_,
|
558
587
|
call_info.deadline, call_info.optional_payload);
|
559
|
-
return Immediate(MatchResult
|
588
|
+
return Immediate(MatchResult(server(), cq_idx(), rc));
|
560
589
|
} else {
|
561
590
|
return Immediate(absl::InternalError("Server shutdown"));
|
562
591
|
}
|
@@ -1282,8 +1311,7 @@ ArenaPromise<ServerMetadataHandle> Server::ChannelData::MakeCallPromise(
|
|
1282
1311
|
absl::InternalError("Missing :authority header"));
|
1283
1312
|
};
|
1284
1313
|
}
|
1285
|
-
|
1286
|
-
Timestamp deadline = Timestamp::InfFuture();
|
1314
|
+
Timestamp deadline = GetContext<CallContext>()->deadline();
|
1287
1315
|
// Find request matcher.
|
1288
1316
|
RequestMatcherInterface* matcher;
|
1289
1317
|
ChannelRegisteredMethod* rm =
|
@@ -1309,19 +1337,19 @@ ArenaPromise<ServerMetadataHandle> Server::ChannelData::MakeCallPromise(
|
|
1309
1337
|
return TrySeq(
|
1310
1338
|
TryJoin(matcher->MatchRequest(chand->cq_idx()),
|
1311
1339
|
std::move(maybe_read_first_message)),
|
1312
|
-
[path = std::move(*path),
|
1340
|
+
[path = std::move(*path), host_ptr, deadline,
|
1313
1341
|
call_args = std::move(call_args)](
|
1314
1342
|
std::tuple<RequestMatcherInterface::MatchResult,
|
1315
1343
|
NextResult<MessageHandle>>
|
1316
1344
|
match_result_and_payload) mutable {
|
1317
1345
|
auto& mr = std::get<0>(match_result_and_payload);
|
1318
1346
|
auto& payload = std::get<1>(match_result_and_payload);
|
1319
|
-
auto* rc = mr.
|
1320
|
-
auto* cq_for_new_request =
|
1347
|
+
auto* rc = mr.TakeCall();
|
1348
|
+
auto* cq_for_new_request = mr.cq();
|
1321
1349
|
switch (rc->type) {
|
1322
1350
|
case RequestedCall::Type::BATCH_CALL:
|
1323
1351
|
GPR_ASSERT(!payload.has_value());
|
1324
|
-
rc->data.batch.details->host = CSliceRef(
|
1352
|
+
rc->data.batch.details->host = CSliceRef(host_ptr->c_slice());
|
1325
1353
|
rc->data.batch.details->method = CSliceRef(path.c_slice());
|
1326
1354
|
rc->data.batch.details->deadline =
|
1327
1355
|
deadline.as_timespec(GPR_CLOCK_MONOTONIC);
|
@@ -21,8 +21,6 @@
|
|
21
21
|
#include "src/core/lib/surface/validate_metadata.h"
|
22
22
|
|
23
23
|
#include "absl/status/status.h"
|
24
|
-
#include "absl/strings/escaping.h"
|
25
|
-
#include "absl/strings/str_cat.h"
|
26
24
|
#include "absl/strings/string_view.h"
|
27
25
|
|
28
26
|
#include <grpc/grpc.h>
|
@@ -46,32 +44,49 @@ class LegalHeaderKeyBits : public BitSet<256> {
|
|
46
44
|
};
|
47
45
|
constexpr LegalHeaderKeyBits g_legal_header_key_bits;
|
48
46
|
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
absl::BytesToHexString(x), ")"));
|
53
|
-
}
|
54
|
-
|
55
|
-
absl::Status ConformsTo(absl::string_view x, const BitSet<256>& legal_bits,
|
56
|
-
const char* err_desc) {
|
47
|
+
ValidateMetadataResult ConformsTo(absl::string_view x,
|
48
|
+
const BitSet<256>& legal_bits,
|
49
|
+
ValidateMetadataResult error) {
|
57
50
|
for (uint8_t c : x) {
|
58
51
|
if (!legal_bits.is_set(c)) {
|
59
|
-
return
|
52
|
+
return error;
|
60
53
|
}
|
61
54
|
}
|
62
|
-
return
|
55
|
+
return ValidateMetadataResult::kOk;
|
56
|
+
}
|
57
|
+
|
58
|
+
absl::Status UpgradeToStatus(ValidateMetadataResult result) {
|
59
|
+
if (result == ValidateMetadataResult::kOk) return absl::OkStatus();
|
60
|
+
return absl::InternalError(ValidateMetadataResultToString(result));
|
63
61
|
}
|
62
|
+
|
64
63
|
} // namespace
|
65
64
|
|
66
|
-
|
65
|
+
ValidateMetadataResult ValidateHeaderKeyIsLegal(absl::string_view key) {
|
67
66
|
if (key.empty()) {
|
68
|
-
return
|
67
|
+
return ValidateMetadataResult::kCannotBeZeroLength;
|
69
68
|
}
|
70
69
|
if (key.size() > UINT32_MAX) {
|
71
|
-
return
|
72
|
-
|
70
|
+
return ValidateMetadataResult::kTooLong;
|
71
|
+
}
|
72
|
+
return ConformsTo(key, g_legal_header_key_bits,
|
73
|
+
ValidateMetadataResult::kIllegalHeaderKey);
|
74
|
+
}
|
75
|
+
|
76
|
+
const char* ValidateMetadataResultToString(ValidateMetadataResult result) {
|
77
|
+
switch (result) {
|
78
|
+
case ValidateMetadataResult::kOk:
|
79
|
+
return "Ok";
|
80
|
+
case ValidateMetadataResult::kCannotBeZeroLength:
|
81
|
+
return "Metadata keys cannot be zero length";
|
82
|
+
case ValidateMetadataResult::kTooLong:
|
83
|
+
return "Metadata keys cannot be larger than UINT32_MAX";
|
84
|
+
case ValidateMetadataResult::kIllegalHeaderKey:
|
85
|
+
return "Illegal header key";
|
86
|
+
case ValidateMetadataResult::kIllegalHeaderValue:
|
87
|
+
return "Illegal header value";
|
73
88
|
}
|
74
|
-
return
|
89
|
+
GPR_UNREACHABLE_CODE(return "Unknown");
|
75
90
|
}
|
76
91
|
|
77
92
|
} // namespace grpc_core
|
@@ -82,8 +97,8 @@ static int error2int(grpc_error_handle error) {
|
|
82
97
|
}
|
83
98
|
|
84
99
|
grpc_error_handle grpc_validate_header_key_is_legal(const grpc_slice& slice) {
|
85
|
-
return grpc_core::ValidateHeaderKeyIsLegal(
|
86
|
-
grpc_core::StringViewFromSlice(slice));
|
100
|
+
return grpc_core::UpgradeToStatus(grpc_core::ValidateHeaderKeyIsLegal(
|
101
|
+
grpc_core::StringViewFromSlice(slice)));
|
87
102
|
}
|
88
103
|
|
89
104
|
int grpc_header_key_is_legal(grpc_slice slice) {
|
@@ -104,9 +119,9 @@ constexpr LegalHeaderNonBinValueBits g_legal_header_non_bin_value_bits;
|
|
104
119
|
|
105
120
|
grpc_error_handle grpc_validate_header_nonbin_value_is_legal(
|
106
121
|
const grpc_slice& slice) {
|
107
|
-
return grpc_core::
|
108
|
-
|
109
|
-
|
122
|
+
return grpc_core::UpgradeToStatus(grpc_core::ConformsTo(
|
123
|
+
grpc_core::StringViewFromSlice(slice), g_legal_header_non_bin_value_bits,
|
124
|
+
grpc_core::ValidateMetadataResult::kIllegalHeaderValue));
|
110
125
|
}
|
111
126
|
|
112
127
|
int grpc_header_nonbin_value_is_legal(grpc_slice slice) {
|