grpc 1.45.0 → 1.46.3
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of grpc might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/Makefile +36 -29
- data/include/grpc/impl/codegen/grpc_types.h +7 -13
- data/src/core/ext/filters/channel_idle/channel_idle_filter.cc +309 -0
- data/src/core/ext/filters/channel_idle/channel_idle_filter.h +122 -0
- data/src/core/ext/filters/{client_idle → channel_idle}/idle_filter_state.cc +1 -1
- data/src/core/ext/filters/{client_idle → channel_idle}/idle_filter_state.h +3 -3
- data/src/core/ext/filters/client_channel/client_channel.cc +163 -96
- data/src/core/ext/filters/client_channel/client_channel.h +2 -0
- data/src/core/ext/filters/client_channel/health/health_check_client.cc +124 -581
- data/src/core/ext/filters/client_channel/health/health_check_client.h +24 -160
- data/src/core/ext/filters/client_channel/http_proxy.cc +88 -110
- data/src/core/ext/filters/client_channel/http_proxy.h +17 -0
- data/src/core/ext/filters/client_channel/lb_policy/priority/priority.cc +182 -142
- data/src/core/ext/filters/client_channel/lb_policy/ring_hash/ring_hash.cc +2 -6
- data/src/core/ext/filters/client_channel/lb_policy/rls/rls.cc +1 -10
- data/src/core/ext/filters/client_channel/lb_policy/weighted_target/weighted_target.cc +87 -58
- data/src/core/ext/filters/client_channel/lb_policy/xds/cds.cc +51 -48
- data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_manager.cc +14 -7
- data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_resolver.cc +229 -284
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.cc +92 -257
- data/src/core/ext/filters/client_channel/resolver/dns/native/dns_resolver.cc +51 -221
- data/src/core/ext/filters/client_channel/resolver/polling_resolver.cc +201 -0
- data/src/core/ext/filters/client_channel/resolver/polling_resolver.h +106 -0
- data/src/core/ext/filters/client_channel/resolver/xds/xds_resolver.cc +102 -55
- data/src/core/ext/filters/client_channel/retry_filter.cc +18 -3
- data/src/core/ext/filters/client_channel/subchannel.cc +5 -5
- data/src/core/ext/filters/client_channel/subchannel_stream_client.cc +544 -0
- data/src/core/ext/filters/client_channel/subchannel_stream_client.h +214 -0
- data/src/core/ext/filters/fault_injection/fault_injection_filter.cc +127 -367
- data/src/core/ext/filters/fault_injection/fault_injection_filter.h +24 -1
- data/src/core/ext/filters/http/client/http_client_filter.cc +78 -458
- data/src/core/ext/filters/http/client/http_client_filter.h +21 -4
- data/src/core/ext/filters/http/client_authority_filter.cc +17 -22
- data/src/core/ext/filters/http/client_authority_filter.h +6 -5
- data/src/core/ext/filters/http/http_filters_plugin.cc +9 -6
- data/src/core/ext/filters/http/server/http_server_filter.cc +2 -116
- data/src/core/ext/filters/server_config_selector/server_config_selector.cc +2 -8
- data/src/core/ext/filters/server_config_selector/server_config_selector.h +2 -2
- data/src/core/ext/filters/server_config_selector/server_config_selector_filter.cc +73 -201
- data/src/core/ext/transport/chttp2/client/chttp2_connector.cc +2 -1
- data/src/core/ext/transport/chttp2/server/chttp2_server.cc +5 -4
- data/src/core/ext/transport/chttp2/transport/chttp2_transport.cc +139 -28
- data/src/core/ext/transport/chttp2/transport/frame_settings.cc +2 -0
- data/src/core/ext/transport/chttp2/transport/hpack_encoder.cc +2 -6
- data/src/core/ext/transport/chttp2/transport/internal.h +4 -2
- data/src/core/ext/transport/chttp2/transport/parsing.cc +8 -0
- data/src/core/ext/transport/chttp2/transport/writing.cc +24 -13
- data/src/core/ext/upb-generated/envoy/admin/v3/certs.upb.c +27 -24
- data/src/core/ext/upb-generated/envoy/admin/v3/certs.upb.h +143 -63
- data/src/core/ext/upb-generated/envoy/admin/v3/clusters.upb.c +37 -35
- data/src/core/ext/upb-generated/envoy/admin/v3/clusters.upb.h +177 -77
- data/src/core/ext/upb-generated/envoy/admin/v3/config_dump.upb.c +115 -111
- data/src/core/ext/upb-generated/envoy/admin/v3/config_dump.upb.h +547 -207
- data/src/core/ext/upb-generated/envoy/admin/v3/init_dump.upb.c +5 -5
- data/src/core/ext/upb-generated/envoy/admin/v3/init_dump.upb.h +26 -13
- data/src/core/ext/upb-generated/envoy/admin/v3/listeners.upb.c +5 -5
- data/src/core/ext/upb-generated/envoy/admin/v3/listeners.upb.h +23 -9
- data/src/core/ext/upb-generated/envoy/admin/v3/memory.upb.c +7 -7
- data/src/core/ext/upb-generated/envoy/admin/v3/memory.upb.h +18 -0
- data/src/core/ext/upb-generated/envoy/admin/v3/metrics.upb.c +4 -4
- data/src/core/ext/upb-generated/envoy/admin/v3/metrics.upb.h +13 -4
- data/src/core/ext/upb-generated/envoy/admin/v3/mutex_stats.upb.c +4 -4
- data/src/core/ext/upb-generated/envoy/admin/v3/mutex_stats.upb.h +9 -0
- data/src/core/ext/upb-generated/envoy/admin/v3/server_info.upb.c +49 -46
- data/src/core/ext/upb-generated/envoy/admin/v3/server_info.upb.h +217 -78
- data/src/core/ext/upb-generated/envoy/admin/v3/tap.upb.c +3 -3
- data/src/core/ext/upb-generated/envoy/admin/v3/tap.upb.h +10 -2
- data/src/core/ext/upb-generated/envoy/annotations/deprecation.upb.c +12 -12
- data/src/core/ext/upb-generated/envoy/annotations/deprecation.upb.h +40 -8
- data/src/core/ext/upb-generated/envoy/annotations/resource.upb.c +5 -5
- data/src/core/ext/upb-generated/envoy/annotations/resource.upb.h +20 -2
- data/src/core/ext/upb-generated/envoy/config/accesslog/v3/accesslog.upb.c +55 -55
- data/src/core/ext/upb-generated/envoy/config/accesslog/v3/accesslog.upb.h +289 -110
- data/src/core/ext/upb-generated/envoy/config/bootstrap/v3/bootstrap.upb.c +133 -125
- data/src/core/ext/upb-generated/envoy/config/bootstrap/v3/bootstrap.upb.h +656 -267
- data/src/core/ext/upb-generated/envoy/config/cluster/v3/circuit_breaker.upb.c +24 -18
- data/src/core/ext/upb-generated/envoy/config/cluster/v3/circuit_breaker.upb.h +96 -23
- data/src/core/ext/upb-generated/envoy/config/cluster/v3/cluster.upb.c +185 -173
- data/src/core/ext/upb-generated/envoy/config/cluster/v3/cluster.upb.h +860 -309
- data/src/core/ext/upb-generated/envoy/config/cluster/v3/filter.upb.c +3 -3
- data/src/core/ext/upb-generated/envoy/config/cluster/v3/filter.upb.h +10 -2
- data/src/core/ext/upb-generated/envoy/config/cluster/v3/outlier_detection.upb.c +44 -24
- data/src/core/ext/upb-generated/envoy/config/cluster/v3/outlier_detection.upb.h +165 -40
- data/src/core/ext/upb-generated/envoy/config/common/matcher/v3/matcher.upb.c +72 -63
- data/src/core/ext/upb-generated/envoy/config/common/matcher/v3/matcher.upb.h +433 -174
- data/src/core/ext/upb-generated/envoy/config/core/v3/address.upb.c +33 -31
- data/src/core/ext/upb-generated/envoy/config/core/v3/address.upb.h +154 -52
- data/src/core/ext/upb-generated/envoy/config/core/v3/backoff.upb.c +5 -4
- data/src/core/ext/upb-generated/envoy/config/core/v3/backoff.upb.h +14 -4
- data/src/core/ext/upb-generated/envoy/config/core/v3/base.upb.c +89 -89
- data/src/core/ext/upb-generated/envoy/config/core/v3/base.upb.h +460 -166
- data/src/core/ext/upb-generated/envoy/config/core/v3/config_source.upb.c +76 -33
- data/src/core/ext/upb-generated/envoy/config/core/v3/config_source.upb.h +379 -69
- data/src/core/ext/upb-generated/envoy/config/core/v3/event_service_config.upb.c +2 -2
- data/src/core/ext/upb-generated/envoy/config/core/v3/event_service_config.upb.h +14 -6
- data/src/core/ext/upb-generated/envoy/config/core/v3/extension.upb.c +5 -25
- data/src/core/ext/upb-generated/envoy/config/core/v3/extension.upb.h +10 -91
- data/src/core/ext/upb-generated/envoy/config/core/v3/grpc_method_list.upb.c +5 -5
- data/src/core/ext/upb-generated/envoy/config/core/v3/grpc_method_list.upb.h +26 -13
- data/src/core/ext/upb-generated/envoy/config/core/v3/grpc_service.upb.c +70 -68
- data/src/core/ext/upb-generated/envoy/config/core/v3/grpc_service.upb.h +369 -131
- data/src/core/ext/upb-generated/envoy/config/core/v3/health_check.upb.c +94 -65
- data/src/core/ext/upb-generated/envoy/config/core/v3/health_check.upb.h +447 -161
- data/src/core/ext/upb-generated/envoy/config/core/v3/http_uri.upb.c +4 -4
- data/src/core/ext/upb-generated/envoy/config/core/v3/http_uri.upb.h +27 -11
- data/src/core/ext/upb-generated/envoy/config/core/v3/protocol.upb.c +104 -85
- data/src/core/ext/upb-generated/envoy/config/core/v3/protocol.upb.h +378 -113
- data/src/core/ext/upb-generated/envoy/config/core/v3/proxy_protocol.upb.c +2 -2
- data/src/core/ext/upb-generated/envoy/config/core/v3/proxy_protocol.upb.h +3 -0
- data/src/core/ext/upb-generated/envoy/config/core/v3/resolver.upb.c +6 -6
- data/src/core/ext/upb-generated/envoy/config/core/v3/resolver.upb.h +30 -13
- data/src/core/ext/upb-generated/envoy/config/core/v3/socket_option.upb.c +7 -7
- data/src/core/ext/upb-generated/envoy/config/core/v3/socket_option.upb.h +43 -16
- data/src/core/ext/upb-generated/envoy/config/core/v3/substitution_format_string.upb.c +8 -8
- data/src/core/ext/upb-generated/envoy/config/core/v3/substitution_format_string.upb.h +58 -24
- data/src/core/ext/upb-generated/envoy/config/core/v3/udp_socket_config.upb.c +4 -4
- data/src/core/ext/upb-generated/envoy/config/core/v3/udp_socket_config.upb.h +14 -4
- data/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint.upb.c +18 -18
- data/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint.upb.h +100 -43
- data/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint_components.upb.c +31 -30
- data/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint_components.upb.h +171 -71
- data/src/core/ext/upb-generated/envoy/config/endpoint/v3/load_report.upb.c +32 -32
- data/src/core/ext/upb-generated/envoy/config/endpoint/v3/load_report.upb.h +196 -95
- data/src/core/ext/upb-generated/envoy/config/listener/v3/api_listener.upb.c +2 -2
- data/src/core/ext/upb-generated/envoy/config/listener/v3/api_listener.upb.h +7 -2
- data/src/core/ext/upb-generated/envoy/config/listener/v3/listener.upb.c +53 -46
- data/src/core/ext/upb-generated/envoy/config/listener/v3/listener.upb.h +284 -129
- data/src/core/ext/upb-generated/envoy/config/listener/v3/listener_components.upb.c +56 -50
- data/src/core/ext/upb-generated/envoy/config/listener/v3/listener_components.upb.h +337 -146
- data/src/core/ext/upb-generated/envoy/config/listener/v3/quic_config.upb.c +13 -11
- data/src/core/ext/upb-generated/envoy/config/listener/v3/quic_config.upb.h +49 -14
- data/src/core/ext/upb-generated/envoy/config/listener/v3/udp_listener_config.upb.c +4 -4
- data/src/core/ext/upb-generated/envoy/config/listener/v3/udp_listener_config.upb.h +14 -4
- data/src/core/ext/upb-generated/envoy/config/metrics/v3/metrics_service.upb.c +5 -5
- data/src/core/ext/upb-generated/envoy/config/metrics/v3/metrics_service.upb.h +20 -4
- data/src/core/ext/upb-generated/envoy/config/metrics/v3/stats.upb.c +33 -32
- data/src/core/ext/upb-generated/envoy/config/metrics/v3/stats.upb.h +205 -86
- data/src/core/ext/upb-generated/envoy/config/overload/v3/overload.upb.c +34 -34
- data/src/core/ext/upb-generated/envoy/config/overload/v3/overload.upb.h +175 -74
- data/src/core/ext/upb-generated/envoy/config/rbac/v3/rbac.upb.c +56 -52
- data/src/core/ext/upb-generated/envoy/config/rbac/v3/rbac.upb.h +370 -146
- data/src/core/ext/upb-generated/envoy/config/route/v3/route.upb.c +27 -23
- data/src/core/ext/upb-generated/envoy/config/route/v3/route.upb.h +173 -74
- data/src/core/ext/upb-generated/envoy/config/route/v3/route_components.upb.c +362 -341
- data/src/core/ext/upb-generated/envoy/config/route/v3/route_components.upb.h +2056 -845
- data/src/core/ext/upb-generated/envoy/config/route/v3/scoped_route.upb.c +11 -11
- data/src/core/ext/upb-generated/envoy/config/route/v3/scoped_route.upb.h +49 -16
- data/src/core/ext/upb-generated/envoy/config/tap/v3/common.upb.c +56 -50
- data/src/core/ext/upb-generated/envoy/config/tap/v3/common.upb.h +293 -111
- data/src/core/ext/upb-generated/envoy/config/trace/v3/datadog.upb.c +3 -3
- data/src/core/ext/upb-generated/envoy/config/trace/v3/datadog.upb.h +6 -0
- data/src/core/ext/upb-generated/envoy/config/trace/v3/dynamic_ot.upb.c +3 -3
- data/src/core/ext/upb-generated/envoy/config/trace/v3/dynamic_ot.upb.h +10 -2
- data/src/core/ext/upb-generated/envoy/config/trace/v3/http_tracer.upb.c +5 -5
- data/src/core/ext/upb-generated/envoy/config/trace/v3/http_tracer.upb.h +26 -10
- data/src/core/ext/upb-generated/envoy/config/trace/v3/lightstep.upb.c +5 -5
- data/src/core/ext/upb-generated/envoy/config/trace/v3/lightstep.upb.h +27 -12
- data/src/core/ext/upb-generated/envoy/config/trace/v3/opencensus.upb.c +17 -16
- data/src/core/ext/upb-generated/envoy/config/trace/v3/opencensus.upb.h +83 -36
- data/src/core/ext/upb-generated/envoy/config/trace/v3/service.upb.c +2 -2
- data/src/core/ext/upb-generated/envoy/config/trace/v3/service.upb.h +7 -2
- data/src/core/ext/upb-generated/envoy/config/trace/v3/skywalking.upb.c +8 -8
- data/src/core/ext/upb-generated/envoy/config/trace/v3/skywalking.upb.h +46 -17
- data/src/core/ext/upb-generated/envoy/config/trace/v3/xray.upb.c +9 -9
- data/src/core/ext/upb-generated/envoy/config/trace/v3/xray.upb.h +38 -12
- data/src/core/ext/upb-generated/envoy/config/trace/v3/zipkin.upb.c +7 -7
- data/src/core/ext/upb-generated/envoy/config/trace/v3/zipkin.upb.h +30 -10
- data/src/core/ext/upb-generated/envoy/extensions/clusters/aggregate/v3/cluster.upb.c +2 -2
- data/src/core/ext/upb-generated/envoy/extensions/clusters/aggregate/v3/cluster.upb.h +10 -6
- data/src/core/ext/upb-generated/envoy/extensions/filters/common/fault/v3/fault.upb.c +15 -15
- data/src/core/ext/upb-generated/envoy/extensions/filters/common/fault/v3/fault.upb.h +71 -28
- data/src/core/ext/upb-generated/envoy/extensions/filters/http/fault/v3/fault.upb.c +25 -25
- data/src/core/ext/upb-generated/envoy/extensions/filters/http/fault/v3/fault.upb.h +149 -65
- data/src/core/ext/upb-generated/envoy/extensions/filters/http/rbac/v3/rbac.upb.c +8 -7
- data/src/core/ext/upb-generated/envoy/extensions/filters/http/rbac/v3/rbac.upb.h +30 -12
- data/src/core/ext/upb-generated/envoy/extensions/filters/http/router/v3/router.upb.c +9 -9
- data/src/core/ext/upb-generated/envoy/extensions/filters/http/router/v3/router.upb.h +42 -15
- data/src/core/ext/upb-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.c +173 -144
- data/src/core/ext/upb-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.h +898 -323
- data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/common.upb.c +51 -45
- data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/common.upb.h +261 -116
- data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/secret.upb.c +13 -13
- data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/secret.upb.h +70 -25
- data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/tls.upb.c +80 -55
- data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/tls.upb.h +410 -124
- data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.upb.c +5 -5
- data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.upb.h +23 -9
- data/src/core/ext/upb-generated/envoy/service/discovery/v3/ads.upb.c +1 -1
- data/src/core/ext/upb-generated/envoy/service/discovery/v3/discovery.upb.c +44 -44
- data/src/core/ext/upb-generated/envoy/service/discovery/v3/discovery.upb.h +261 -122
- data/src/core/ext/upb-generated/envoy/service/load_stats/v3/lrs.upb.c +8 -8
- data/src/core/ext/upb-generated/envoy/service/load_stats/v3/lrs.upb.h +47 -21
- data/src/core/ext/upb-generated/envoy/service/status/v3/csds.upb.c +32 -32
- data/src/core/ext/upb-generated/envoy/service/status/v3/csds.upb.h +175 -66
- data/src/core/ext/upb-generated/envoy/type/http/v3/cookie.upb.c +4 -4
- data/src/core/ext/upb-generated/envoy/type/http/v3/cookie.upb.h +17 -6
- data/src/core/ext/upb-generated/envoy/type/http/v3/path_transformation.upb.c +8 -8
- data/src/core/ext/upb-generated/envoy/type/http/v3/path_transformation.upb.h +38 -17
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/http_inputs.upb.c +8 -8
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/http_inputs.upb.h +12 -0
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/metadata.upb.c +7 -7
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/metadata.upb.h +43 -18
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/node.upb.c +3 -3
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/node.upb.h +20 -9
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/number.upb.c +3 -3
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/number.upb.h +24 -9
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/path.upb.c +2 -2
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/path.upb.h +14 -6
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/regex.upb.c +8 -8
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/regex.upb.h +40 -16
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/string.upb.c +9 -9
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/string.upb.h +70 -25
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/struct.upb.c +5 -5
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/struct.upb.h +37 -18
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/value.upb.c +12 -12
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/value.upb.h +81 -30
- data/src/core/ext/upb-generated/envoy/type/metadata/v3/metadata.upb.c +16 -16
- data/src/core/ext/upb-generated/envoy/type/metadata/v3/metadata.upb.h +76 -30
- data/src/core/ext/upb-generated/envoy/type/tracing/v3/custom_tag.upb.c +20 -20
- data/src/core/ext/upb-generated/envoy/type/tracing/v3/custom_tag.upb.h +90 -30
- data/src/core/ext/upb-generated/envoy/type/v3/hash_policy.upb.c +7 -7
- data/src/core/ext/upb-generated/envoy/type/v3/hash_policy.upb.h +28 -10
- data/src/core/ext/upb-generated/envoy/type/v3/http_status.upb.c +2 -2
- data/src/core/ext/upb-generated/envoy/type/v3/http_status.upb.h +3 -0
- data/src/core/ext/upb-generated/envoy/type/v3/percent.upb.c +5 -5
- data/src/core/ext/upb-generated/envoy/type/v3/percent.upb.h +13 -4
- data/src/core/ext/upb-generated/envoy/type/v3/range.upb.c +9 -9
- data/src/core/ext/upb-generated/envoy/type/v3/range.upb.h +18 -0
- data/src/core/ext/upb-generated/envoy/type/v3/semantic_version.upb.c +4 -4
- data/src/core/ext/upb-generated/envoy/type/v3/semantic_version.upb.h +9 -0
- data/src/core/ext/upb-generated/envoy/type/v3/token_bucket.upb.c +5 -5
- data/src/core/ext/upb-generated/envoy/type/v3/token_bucket.upb.h +17 -4
- data/src/core/ext/upb-generated/google/api/annotations.upb.c +3 -3
- data/src/core/ext/upb-generated/google/api/annotations.upb.h +17 -2
- data/src/core/ext/upb-generated/google/api/expr/v1alpha1/checked.upb.c +70 -66
- data/src/core/ext/upb-generated/google/api/expr/v1alpha1/checked.upb.h +410 -162
- data/src/core/ext/upb-generated/google/api/expr/v1alpha1/syntax.upb.c +80 -74
- data/src/core/ext/upb-generated/google/api/expr/v1alpha1/syntax.upb.h +440 -158
- data/src/core/ext/upb-generated/google/api/http.upb.c +17 -17
- data/src/core/ext/upb-generated/google/api/http.upb.h +116 -43
- data/src/core/ext/upb-generated/google/api/httpbody.upb.c +4 -4
- data/src/core/ext/upb-generated/google/api/httpbody.upb.h +19 -7
- data/src/core/ext/upb-generated/google/protobuf/any.upb.c +3 -3
- data/src/core/ext/upb-generated/google/protobuf/any.upb.h +6 -0
- data/src/core/ext/upb-generated/google/protobuf/descriptor.upb.c +163 -162
- data/src/core/ext/upb-generated/google/protobuf/descriptor.upb.h +1157 -435
- data/src/core/ext/upb-generated/google/protobuf/duration.upb.c +3 -3
- data/src/core/ext/upb-generated/google/protobuf/duration.upb.h +10 -4
- data/src/core/ext/upb-generated/google/protobuf/empty.upb.c +1 -1
- data/src/core/ext/upb-generated/google/protobuf/struct.upb.c +15 -15
- data/src/core/ext/upb-generated/google/protobuf/struct.upb.h +108 -40
- data/src/core/ext/upb-generated/google/protobuf/timestamp.upb.c +3 -3
- data/src/core/ext/upb-generated/google/protobuf/timestamp.upb.h +10 -4
- data/src/core/ext/upb-generated/google/protobuf/wrappers.upb.c +18 -18
- data/src/core/ext/upb-generated/google/protobuf/wrappers.upb.h +27 -0
- data/src/core/ext/upb-generated/google/rpc/status.upb.c +4 -4
- data/src/core/ext/upb-generated/google/rpc/status.upb.h +19 -7
- data/src/core/ext/upb-generated/opencensus/proto/trace/v1/trace_config.upb.c +15 -15
- data/src/core/ext/upb-generated/opencensus/proto/trace/v1/trace_config.upb.h +65 -22
- data/src/core/ext/upb-generated/src/proto/grpc/gcp/altscontext.upb.c +12 -12
- data/src/core/ext/upb-generated/src/proto/grpc/gcp/altscontext.upb.h +49 -12
- data/src/core/ext/upb-generated/src/proto/grpc/gcp/handshaker.upb.c +69 -65
- data/src/core/ext/upb-generated/src/proto/grpc/gcp/handshaker.upb.h +364 -149
- data/src/core/ext/upb-generated/src/proto/grpc/gcp/transport_security_common.upb.c +8 -7
- data/src/core/ext/upb-generated/src/proto/grpc/gcp/transport_security_common.upb.h +20 -4
- data/src/core/ext/upb-generated/src/proto/grpc/health/v1/health.upb.c +4 -4
- data/src/core/ext/upb-generated/src/proto/grpc/health/v1/health.upb.h +6 -0
- data/src/core/ext/upb-generated/src/proto/grpc/lb/v1/load_balancer.upb.c +31 -31
- data/src/core/ext/upb-generated/src/proto/grpc/lb/v1/load_balancer.upb.h +150 -58
- data/src/core/ext/upb-generated/src/proto/grpc/lookup/v1/rls.upb.c +11 -11
- data/src/core/ext/upb-generated/src/proto/grpc/lookup/v1/rls.upb.h +51 -18
- data/src/core/ext/upb-generated/src/proto/grpc/lookup/v1/rls_config.upb.c +175 -0
- data/src/core/ext/upb-generated/src/proto/grpc/lookup/v1/rls_config.upb.h +764 -0
- data/src/core/ext/upb-generated/udpa/annotations/migrate.upb.c +22 -22
- data/src/core/ext/upb-generated/udpa/annotations/migrate.upb.h +97 -10
- data/src/core/ext/upb-generated/udpa/annotations/security.upb.c +6 -6
- data/src/core/ext/upb-generated/udpa/annotations/security.upb.h +23 -2
- data/src/core/ext/upb-generated/udpa/annotations/sensitive.upb.c +3 -3
- data/src/core/ext/upb-generated/udpa/annotations/sensitive.upb.h +10 -2
- data/src/core/ext/upb-generated/udpa/annotations/status.upb.c +6 -6
- data/src/core/ext/upb-generated/udpa/annotations/status.upb.h +27 -6
- data/src/core/ext/upb-generated/udpa/annotations/versioning.upb.c +5 -5
- data/src/core/ext/upb-generated/udpa/annotations/versioning.upb.h +20 -2
- data/src/core/ext/upb-generated/validate/validate.upb.c +261 -250
- data/src/core/ext/upb-generated/validate/validate.upb.h +1836 -663
- data/src/core/ext/upb-generated/xds/annotations/v3/migrate.upb.c +22 -22
- data/src/core/ext/upb-generated/xds/annotations/v3/migrate.upb.h +97 -10
- data/src/core/ext/upb-generated/xds/annotations/v3/security.upb.c +6 -6
- data/src/core/ext/upb-generated/xds/annotations/v3/security.upb.h +23 -2
- data/src/core/ext/upb-generated/xds/annotations/v3/sensitive.upb.c +3 -3
- data/src/core/ext/upb-generated/xds/annotations/v3/sensitive.upb.h +10 -2
- data/src/core/ext/upb-generated/xds/annotations/v3/status.upb.c +18 -18
- data/src/core/ext/upb-generated/xds/annotations/v3/status.upb.h +70 -10
- data/src/core/ext/upb-generated/xds/annotations/v3/versioning.upb.c +5 -5
- data/src/core/ext/upb-generated/xds/annotations/v3/versioning.upb.h +20 -2
- data/src/core/ext/upb-generated/xds/core/v3/authority.upb.c +2 -2
- data/src/core/ext/upb-generated/xds/core/v3/authority.upb.h +3 -0
- data/src/core/ext/upb-generated/xds/core/v3/collection_entry.upb.c +8 -8
- data/src/core/ext/upb-generated/xds/core/v3/collection_entry.upb.h +38 -12
- data/src/core/ext/upb-generated/xds/core/v3/context_params.upb.c +5 -5
- data/src/core/ext/upb-generated/xds/core/v3/context_params.upb.h +27 -10
- data/src/core/ext/upb-generated/xds/core/v3/extension.upb.c +3 -3
- data/src/core/ext/upb-generated/xds/core/v3/extension.upb.h +10 -2
- data/src/core/ext/upb-generated/xds/core/v3/resource.upb.c +5 -5
- data/src/core/ext/upb-generated/xds/core/v3/resource.upb.h +21 -8
- data/src/core/ext/upb-generated/xds/core/v3/resource_locator.upb.c +10 -10
- data/src/core/ext/upb-generated/xds/core/v3/resource_locator.upb.h +71 -30
- data/src/core/ext/upb-generated/xds/core/v3/resource_name.upb.c +5 -5
- data/src/core/ext/upb-generated/xds/core/v3/resource_name.upb.h +16 -2
- data/src/core/ext/upb-generated/xds/data/orca/v3/orca_load_report.upb.c +12 -12
- data/src/core/ext/upb-generated/xds/data/orca/v3/orca_load_report.upb.h +69 -26
- data/src/core/ext/upb-generated/xds/type/matcher/v3/matcher.upb.c +43 -39
- data/src/core/ext/upb-generated/xds/type/matcher/v3/matcher.upb.h +255 -103
- data/src/core/ext/upb-generated/xds/type/matcher/v3/regex.upb.c +4 -4
- data/src/core/ext/upb-generated/xds/type/matcher/v3/regex.upb.h +19 -8
- data/src/core/ext/upb-generated/xds/type/matcher/v3/string.upb.c +9 -9
- data/src/core/ext/upb-generated/xds/type/matcher/v3/string.upb.h +70 -25
- data/src/core/ext/upb-generated/xds/type/v3/typed_struct.upb.c +3 -3
- data/src/core/ext/upb-generated/xds/type/v3/typed_struct.upb.h +10 -2
- data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/circuit_breaker.upbdefs.c +50 -46
- data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/cluster.upbdefs.c +195 -185
- data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/outlier_detection.upbdefs.c +16 -12
- data/src/core/ext/upbdefs-generated/envoy/config/core/v3/config_source.upbdefs.c +129 -94
- data/src/core/ext/upbdefs-generated/envoy/config/core/v3/config_source.upbdefs.h +10 -0
- data/src/core/ext/upbdefs-generated/envoy/config/core/v3/extension.upbdefs.c +18 -33
- data/src/core/ext/upbdefs-generated/envoy/config/core/v3/extension.upbdefs.h +0 -5
- data/src/core/ext/upbdefs-generated/envoy/config/core/v3/health_check.upbdefs.c +163 -155
- data/src/core/ext/upbdefs-generated/envoy/config/core/v3/health_check.upbdefs.h +5 -0
- data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/listener_components.upbdefs.c +141 -138
- data/src/core/ext/upbdefs-generated/envoy/config/route/v3/route.upbdefs.c +26 -20
- data/src/core/ext/upbdefs-generated/envoy/config/route/v3/route_components.upbdefs.c +738 -730
- data/src/core/ext/upbdefs-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upbdefs.c +271 -251
- data/src/core/ext/upbdefs-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upbdefs.h +5 -0
- data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/tls.upbdefs.c +207 -193
- data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/tls.upbdefs.h +5 -0
- data/src/core/ext/upbdefs-generated/src/proto/grpc/lookup/v1/rls_config.upbdefs.c +99 -0
- data/src/core/ext/upbdefs-generated/src/proto/grpc/lookup/v1/rls_config.upbdefs.h +75 -0
- data/src/core/ext/xds/certificate_provider_store.cc +8 -0
- data/src/core/ext/xds/certificate_provider_store.h +9 -0
- data/src/core/ext/xds/xds_api.cc +20 -0
- data/src/core/ext/xds/xds_bootstrap.cc +2 -2
- data/src/core/ext/xds/xds_bootstrap.h +2 -0
- data/src/core/ext/xds/xds_certificate_provider.cc +2 -0
- data/src/core/ext/xds/xds_certificate_provider.h +8 -0
- data/src/core/ext/xds/xds_client.cc +87 -95
- data/src/core/ext/xds/xds_client.h +13 -5
- data/src/core/ext/xds/xds_cluster_specifier_plugin.cc +142 -0
- data/src/core/ext/xds/xds_cluster_specifier_plugin.h +79 -0
- data/src/core/ext/xds/xds_common_types.cc +9 -9
- data/src/core/ext/xds/xds_common_types.h +3 -3
- data/src/core/ext/xds/xds_endpoint.cc +12 -5
- data/src/core/ext/xds/xds_http_fault_filter.cc +1 -1
- data/src/core/ext/xds/xds_listener.cc +1 -1
- data/src/core/ext/xds/xds_route_config.cc +162 -25
- data/src/core/ext/xds/xds_route_config.h +13 -10
- data/src/core/ext/xds/xds_server_config_fetcher.cc +17 -22
- data/src/core/lib/avl/avl.h +68 -5
- data/src/core/lib/channel/call_tracer.h +4 -1
- data/src/core/lib/channel/channel_args.cc +138 -59
- data/src/core/lib/channel/channel_args.h +210 -9
- data/src/core/lib/channel/channel_args_preconditioning.cc +3 -9
- data/src/core/lib/channel/channel_args_preconditioning.h +1 -2
- data/src/core/lib/channel/channel_stack.h +2 -5
- data/src/core/lib/channel/channel_stack_builder.cc +0 -65
- data/src/core/lib/channel/channel_stack_builder.h +27 -6
- data/src/core/lib/channel/channel_stack_builder_impl.cc +102 -0
- data/src/core/lib/channel/channel_stack_builder_impl.h +48 -0
- data/src/core/lib/channel/connected_channel.h +1 -0
- data/src/core/lib/channel/promise_based_filter.cc +495 -162
- data/src/core/lib/channel/promise_based_filter.h +55 -41
- data/src/core/lib/compression/compression_internal.cc +1 -7
- data/src/core/lib/debug/stats_data.cc +2 -6
- data/src/core/lib/debug/stats_data.h +18 -21
- data/src/core/lib/gpr/tls.h +1 -0
- data/src/core/lib/gprpp/bitset.h +12 -0
- data/src/core/lib/gprpp/cpp_impl_of.h +4 -0
- data/src/core/lib/gprpp/match.h +73 -0
- data/src/core/lib/gprpp/overload.h +59 -0
- data/src/core/lib/gprpp/ref_counted.h +2 -0
- data/src/core/lib/gprpp/single_set_ptr.h +87 -0
- data/src/core/lib/gprpp/status_helper.cc +18 -2
- data/src/core/lib/gprpp/time.cc +12 -0
- data/src/core/lib/gprpp/time.h +1 -1
- data/src/core/lib/http/format_request.cc +1 -2
- data/src/core/lib/http/httpcli_security_connector.cc +5 -5
- data/src/core/lib/http/parser.cc +80 -9
- data/src/core/lib/http/parser.h +14 -1
- data/src/core/lib/iomgr/ev_posix.cc +6 -7
- data/src/core/lib/iomgr/fork_posix.cc +1 -1
- data/src/core/lib/iomgr/port.h +0 -2
- data/src/core/lib/iomgr/tcp_client_posix.cc +2 -2
- data/src/core/lib/iomgr/tcp_posix.cc +93 -35
- data/src/core/lib/iomgr/tcp_server_posix.cc +26 -17
- data/src/core/lib/json/json_util.h +3 -3
- data/src/core/lib/promise/call_push_pull.h +144 -0
- data/src/core/lib/promise/detail/status.h +2 -1
- data/src/core/lib/promise/intra_activity_waiter.h +49 -0
- data/src/core/lib/promise/latch.h +104 -0
- data/src/core/lib/resource_quota/api.cc +5 -30
- data/src/core/lib/resource_quota/api.h +1 -1
- data/src/core/lib/resource_quota/resource_quota.h +8 -0
- data/src/core/lib/security/authorization/authorization_policy_provider.h +7 -0
- data/src/core/lib/security/authorization/grpc_server_authz_filter.cc +9 -12
- data/src/core/lib/security/authorization/grpc_server_authz_filter.h +5 -6
- data/src/core/lib/security/context/security_context.h +8 -1
- data/src/core/lib/security/credentials/alts/alts_credentials.cc +6 -5
- data/src/core/lib/security/credentials/alts/alts_credentials.h +4 -0
- data/src/core/lib/security/credentials/call_creds_util.cc +3 -3
- data/src/core/lib/security/credentials/call_creds_util.h +2 -2
- data/src/core/lib/security/credentials/composite/composite_credentials.cc +15 -10
- data/src/core/lib/security/credentials/composite/composite_credentials.h +9 -8
- data/src/core/lib/security/credentials/credentials.h +16 -33
- data/src/core/lib/security/credentials/fake/fake_credentials.cc +8 -12
- data/src/core/lib/security/credentials/fake/fake_credentials.h +8 -5
- data/src/core/lib/security/credentials/google_default/google_default_credentials.cc +4 -0
- data/src/core/lib/security/credentials/google_default/google_default_credentials.h +3 -3
- data/src/core/lib/security/credentials/iam/iam_credentials.cc +5 -4
- data/src/core/lib/security/credentials/iam/iam_credentials.h +6 -2
- data/src/core/lib/security/credentials/insecure/insecure_credentials.cc +22 -29
- data/src/core/lib/security/credentials/insecure/insecure_credentials.h +57 -0
- data/src/core/lib/security/credentials/jwt/jwt_credentials.cc +7 -3
- data/src/core/lib/security/credentials/jwt/jwt_credentials.h +6 -2
- data/src/core/lib/security/credentials/local/local_credentials.cc +6 -6
- data/src/core/lib/security/credentials/local/local_credentials.h +4 -0
- data/src/core/lib/security/credentials/oauth2/oauth2_credentials.cc +17 -9
- data/src/core/lib/security/credentials/oauth2/oauth2_credentials.h +14 -6
- data/src/core/lib/security/credentials/plugin/plugin_credentials.cc +8 -6
- data/src/core/lib/security/credentials/plugin/plugin_credentials.h +8 -6
- data/src/core/lib/security/credentials/ssl/ssl_credentials.cc +6 -4
- data/src/core/lib/security/credentials/ssl/ssl_credentials.h +8 -0
- data/src/core/lib/security/credentials/tls/grpc_tls_certificate_provider.h +49 -0
- data/src/core/lib/security/credentials/tls/grpc_tls_certificate_verifier.cc +8 -0
- data/src/core/lib/security/credentials/tls/grpc_tls_certificate_verifier.h +42 -3
- data/src/core/lib/security/credentials/tls/grpc_tls_credentials_options.h +66 -95
- data/src/core/lib/security/credentials/tls/tls_credentials.cc +9 -6
- data/src/core/lib/security/credentials/tls/tls_credentials.h +5 -5
- data/src/core/lib/security/credentials/xds/xds_credentials.cc +48 -50
- data/src/core/lib/security/credentials/xds/xds_credentials.h +31 -5
- data/src/core/lib/security/security_connector/local/local_security_connector.cc +2 -2
- data/src/core/lib/security/security_connector/security_connector.h +9 -0
- data/src/core/lib/security/security_connector/ssl/ssl_security_connector.cc +4 -2
- data/src/core/lib/security/security_connector/tls/tls_security_connector.cc +4 -2
- data/src/core/lib/security/transport/auth_filters.h +7 -7
- data/src/core/lib/security/transport/client_auth_filter.cc +28 -20
- data/src/core/lib/security/transport/secure_endpoint.cc +198 -129
- data/src/core/lib/security/transport/secure_endpoint.h +1 -1
- data/src/core/lib/security/transport/security_handshaker.cc +6 -4
- data/src/core/lib/surface/call.cc +1023 -903
- data/src/core/lib/surface/call.h +0 -14
- data/src/core/lib/surface/channel.cc +4 -3
- data/src/core/lib/surface/channel_init.cc +2 -3
- data/src/core/lib/surface/channel_init.h +2 -6
- data/src/core/lib/surface/init.cc +1 -1
- data/src/core/lib/surface/server.cc +3 -14
- data/src/core/lib/surface/server.h +1 -2
- data/src/core/lib/surface/version.cc +2 -2
- data/src/core/lib/transport/byte_stream.cc +2 -0
- data/src/core/lib/transport/metadata_batch.h +12 -8
- data/src/core/lib/transport/transport.h +20 -5
- data/src/core/lib/transport/transport_impl.h +4 -3
- data/src/core/plugin_registry/grpc_plugin_registry.cc +2 -4
- data/src/core/tsi/alts/handshaker/alts_tsi_handshaker.cc +2 -2
- data/src/core/tsi/ssl_transport_security.cc +75 -38
- data/src/core/tsi/ssl_transport_security.h +8 -2
- data/src/core/tsi/transport_security_interface.h +2 -0
- data/src/ruby/ext/grpc/extconf.rb +1 -1
- data/src/ruby/lib/grpc/generic/active_call.rb +7 -1
- data/src/ruby/lib/grpc/grpc.rb +1 -1
- data/src/ruby/lib/grpc/version.rb +1 -1
- data/src/ruby/pb/generate_proto_ruby.sh +1 -0
- data/src/ruby/pb/test/client.rb +769 -0
- data/src/ruby/pb/test/server.rb +252 -0
- data/src/ruby/pb/test/xds_client.rb +415 -0
- data/third_party/upb/third_party/utf8_range/utf8_range.h +1 -1
- data/third_party/upb/upb/decode.c +32 -16
- data/third_party/upb/upb/def.c +118 -55
- data/third_party/upb/upb/def.h +12 -3
- data/third_party/upb/upb/encode.c +14 -8
- data/third_party/upb/upb/json_encode.c +776 -0
- data/third_party/upb/upb/json_encode.h +62 -0
- data/third_party/upb/upb/msg.c +5 -7
- data/third_party/upb/upb/msg.h +1 -2
- data/third_party/upb/upb/msg_internal.h +49 -36
- data/third_party/upb/upb/port_def.inc +8 -0
- data/third_party/upb/upb/port_undef.inc +1 -0
- data/third_party/upb/upb/table.c +10 -6
- data/third_party/upb/upb/table_internal.h +2 -0
- data/third_party/upb/upb/upb.h +41 -11
- data/third_party/zlib/crc32.c +966 -292
- data/third_party/zlib/crc32.h +9441 -436
- data/third_party/zlib/deflate.c +78 -30
- data/third_party/zlib/deflate.h +12 -15
- data/third_party/zlib/gzguts.h +3 -2
- data/third_party/zlib/gzlib.c +5 -3
- data/third_party/zlib/gzread.c +5 -7
- data/third_party/zlib/gzwrite.c +25 -13
- data/third_party/zlib/infback.c +2 -1
- data/third_party/zlib/inffast.c +14 -14
- data/third_party/zlib/inflate.c +39 -8
- data/third_party/zlib/inflate.h +3 -2
- data/third_party/zlib/inftrees.c +3 -3
- data/third_party/zlib/trees.c +27 -48
- data/third_party/zlib/zlib.h +123 -100
- data/third_party/zlib/zutil.c +2 -2
- data/third_party/zlib/zutil.h +12 -9
- metadata +66 -45
- data/src/core/ext/filters/client_idle/client_idle_filter.cc +0 -201
- data/src/core/ext/filters/max_age/max_age_filter.cc +0 -566
- data/src/core/ext/filters/max_age/max_age_filter.h +0 -26
- data/src/core/lib/iomgr/ev_epollex_linux.cc +0 -1657
- data/src/core/lib/iomgr/ev_epollex_linux.h +0 -30
- data/src/core/lib/iomgr/is_epollexclusive_available.cc +0 -119
- data/src/core/lib/iomgr/is_epollexclusive_available.h +0 -36
- data/src/core/lib/iomgr/sys_epoll_wrapper.h +0 -30
@@ -852,6 +852,9 @@ static void inc_initiate_write_reason(
|
|
852
852
|
case GRPC_CHTTP2_INITIATE_WRITE_SEND_SETTINGS:
|
853
853
|
GRPC_STATS_INC_HTTP2_INITIATE_WRITE_DUE_TO_SEND_SETTINGS();
|
854
854
|
break;
|
855
|
+
case GRPC_CHTTP2_INITIATE_WRITE_SETTINGS_ACK:
|
856
|
+
GRPC_STATS_INC_HTTP2_INITIATE_WRITE_DUE_TO_SETTINGS_ACK();
|
857
|
+
break;
|
855
858
|
case GRPC_CHTTP2_INITIATE_WRITE_FLOW_CONTROL_UNSTALLED_BY_SETTING:
|
856
859
|
GRPC_STATS_INC_HTTP2_INITIATE_WRITE_DUE_TO_FLOW_CONTROL_UNSTALLED_BY_SETTING();
|
857
860
|
break;
|
@@ -1006,8 +1009,8 @@ static void write_action_end_locked(void* tp, grpc_error_handle error) {
|
|
1006
1009
|
closed = true;
|
1007
1010
|
}
|
1008
1011
|
|
1009
|
-
if (t->sent_goaway_state ==
|
1010
|
-
t->sent_goaway_state =
|
1012
|
+
if (t->sent_goaway_state == GRPC_CHTTP2_FINAL_GOAWAY_SEND_SCHEDULED) {
|
1013
|
+
t->sent_goaway_state = GRPC_CHTTP2_FINAL_GOAWAY_SENT;
|
1011
1014
|
closed = true;
|
1012
1015
|
if (grpc_chttp2_stream_map_size(&t->stream_map) == 0) {
|
1013
1016
|
close_transport_locked(
|
@@ -1100,22 +1103,24 @@ void grpc_chttp2_add_incoming_goaway(grpc_chttp2_transport* t,
|
|
1100
1103
|
gpr_log(GPR_INFO, "%s: Got goaway [%d] err=%s", t->peer_string.c_str(),
|
1101
1104
|
goaway_error, grpc_error_std_string(t->goaway_error).c_str());
|
1102
1105
|
}
|
1103
|
-
|
1104
|
-
|
1105
|
-
|
1106
|
-
|
1107
|
-
|
1108
|
-
uint32_t
|
1109
|
-
|
1110
|
-
|
1111
|
-
s->
|
1112
|
-
|
1113
|
-
|
1114
|
-
|
1115
|
-
|
1116
|
-
|
1117
|
-
|
1118
|
-
|
1106
|
+
if (t->is_client) {
|
1107
|
+
cancel_unstarted_streams(t, GRPC_ERROR_REF(t->goaway_error));
|
1108
|
+
// Cancel all unseen streams
|
1109
|
+
grpc_chttp2_stream_map_for_each(
|
1110
|
+
&t->stream_map,
|
1111
|
+
[](void* user_data, uint32_t /* key */, void* stream) {
|
1112
|
+
uint32_t last_stream_id = *(static_cast<uint32_t*>(user_data));
|
1113
|
+
grpc_chttp2_stream* s = static_cast<grpc_chttp2_stream*>(stream);
|
1114
|
+
if (s->id > last_stream_id) {
|
1115
|
+
s->trailing_metadata_buffer.Set(
|
1116
|
+
grpc_core::GrpcStreamNetworkState(),
|
1117
|
+
grpc_core::GrpcStreamNetworkState::kNotSeenByServer);
|
1118
|
+
grpc_chttp2_cancel_stream(s->t, s,
|
1119
|
+
GRPC_ERROR_REF(s->t->goaway_error));
|
1120
|
+
}
|
1121
|
+
},
|
1122
|
+
&last_stream_id);
|
1123
|
+
}
|
1119
1124
|
absl::Status status = grpc_error_to_absl_status(t->goaway_error);
|
1120
1125
|
// When a client receives a GOAWAY with error code ENHANCE_YOUR_CALM and debug
|
1121
1126
|
// data equal to "too_many_pings", it should log the occurrence at a log level
|
@@ -1757,18 +1762,120 @@ void grpc_chttp2_ack_ping(grpc_chttp2_transport* t, uint64_t id) {
|
|
1757
1762
|
}
|
1758
1763
|
}
|
1759
1764
|
|
1765
|
+
namespace {
|
1766
|
+
|
1767
|
+
// Fire and forget (deletes itself on completion). Does a graceful shutdown by
|
1768
|
+
// sending a GOAWAY frame with the last stream id set to 2^31-1, sending a ping
|
1769
|
+
// and waiting for an ack (effective waiting for an RTT) and then sending a
|
1770
|
+
// final GOAWAY freame with an updated last stream identifier. This helps ensure
|
1771
|
+
// that a connection can be cleanly shut down without losing requests.
|
1772
|
+
// In the event, that the client does not respond to the ping for some reason,
|
1773
|
+
// we add a 20 second deadline, after which we send the second goaway.
|
1774
|
+
class GracefulGoaway : public grpc_core::RefCounted<GracefulGoaway> {
|
1775
|
+
public:
|
1776
|
+
static void Start(grpc_chttp2_transport* t) { new GracefulGoaway(t); }
|
1777
|
+
|
1778
|
+
~GracefulGoaway() override {
|
1779
|
+
GRPC_CHTTP2_UNREF_TRANSPORT(t_, "graceful goaway");
|
1780
|
+
}
|
1781
|
+
|
1782
|
+
private:
|
1783
|
+
explicit GracefulGoaway(grpc_chttp2_transport* t) : t_(t) {
|
1784
|
+
t->sent_goaway_state = GRPC_CHTTP2_GRACEFUL_GOAWAY;
|
1785
|
+
GRPC_CHTTP2_REF_TRANSPORT(t_, "graceful goaway");
|
1786
|
+
grpc_chttp2_goaway_append((1u << 31) - 1, 0, grpc_empty_slice(), &t->qbuf);
|
1787
|
+
send_ping_locked(
|
1788
|
+
t, nullptr, GRPC_CLOSURE_INIT(&on_ping_ack_, OnPingAck, this, nullptr));
|
1789
|
+
grpc_chttp2_initiate_write(t, GRPC_CHTTP2_INITIATE_WRITE_GOAWAY_SENT);
|
1790
|
+
Ref().release(); // Ref for the timer
|
1791
|
+
grpc_timer_init(
|
1792
|
+
&timer_,
|
1793
|
+
grpc_core::ExecCtx::Get()->Now() + grpc_core::Duration::Seconds(20),
|
1794
|
+
GRPC_CLOSURE_INIT(&on_timer_, OnTimer, this, nullptr));
|
1795
|
+
}
|
1796
|
+
|
1797
|
+
void MaybeSendFinalGoawayLocked() {
|
1798
|
+
if (t_->sent_goaway_state != GRPC_CHTTP2_GRACEFUL_GOAWAY) {
|
1799
|
+
// We already sent the final GOAWAY.
|
1800
|
+
return;
|
1801
|
+
}
|
1802
|
+
if (t_->destroying || t_->closed_with_error != GRPC_ERROR_NONE) {
|
1803
|
+
GRPC_CHTTP2_IF_TRACING(gpr_log(
|
1804
|
+
GPR_INFO,
|
1805
|
+
"transport:%p %s peer:%s Transport already shutting down. "
|
1806
|
+
"Graceful GOAWAY abandoned.",
|
1807
|
+
t_, t_->is_client ? "CLIENT" : "SERVER", t_->peer_string.c_str()));
|
1808
|
+
return;
|
1809
|
+
}
|
1810
|
+
// Ping completed. Send final goaway.
|
1811
|
+
GRPC_CHTTP2_IF_TRACING(
|
1812
|
+
gpr_log(GPR_INFO,
|
1813
|
+
"transport:%p %s peer:%s Graceful shutdown: Ping received. "
|
1814
|
+
"Sending final GOAWAY with stream_id:%d",
|
1815
|
+
t_, t_->is_client ? "CLIENT" : "SERVER",
|
1816
|
+
t_->peer_string.c_str(), t_->last_new_stream_id));
|
1817
|
+
t_->sent_goaway_state = GRPC_CHTTP2_FINAL_GOAWAY_SEND_SCHEDULED;
|
1818
|
+
grpc_chttp2_goaway_append(t_->last_new_stream_id, 0, grpc_empty_slice(),
|
1819
|
+
&t_->qbuf);
|
1820
|
+
grpc_chttp2_initiate_write(t_, GRPC_CHTTP2_INITIATE_WRITE_GOAWAY_SENT);
|
1821
|
+
}
|
1822
|
+
|
1823
|
+
static void OnPingAck(void* arg, grpc_error_handle /* error */) {
|
1824
|
+
auto* self = static_cast<GracefulGoaway*>(arg);
|
1825
|
+
self->t_->combiner->Run(
|
1826
|
+
GRPC_CLOSURE_INIT(&self->on_ping_ack_, OnPingAckLocked, self, nullptr),
|
1827
|
+
GRPC_ERROR_NONE);
|
1828
|
+
}
|
1829
|
+
|
1830
|
+
static void OnPingAckLocked(void* arg, grpc_error_handle /* error */) {
|
1831
|
+
auto* self = static_cast<GracefulGoaway*>(arg);
|
1832
|
+
grpc_timer_cancel(&self->timer_);
|
1833
|
+
self->MaybeSendFinalGoawayLocked();
|
1834
|
+
self->Unref();
|
1835
|
+
}
|
1836
|
+
|
1837
|
+
static void OnTimer(void* arg, grpc_error_handle error) {
|
1838
|
+
auto* self = static_cast<GracefulGoaway*>(arg);
|
1839
|
+
if (error != GRPC_ERROR_NONE) {
|
1840
|
+
self->Unref();
|
1841
|
+
return;
|
1842
|
+
}
|
1843
|
+
self->t_->combiner->Run(
|
1844
|
+
GRPC_CLOSURE_INIT(&self->on_timer_, OnTimerLocked, self, nullptr),
|
1845
|
+
GRPC_ERROR_NONE);
|
1846
|
+
}
|
1847
|
+
|
1848
|
+
static void OnTimerLocked(void* arg, grpc_error_handle /* error */) {
|
1849
|
+
auto* self = static_cast<GracefulGoaway*>(arg);
|
1850
|
+
self->MaybeSendFinalGoawayLocked();
|
1851
|
+
self->Unref();
|
1852
|
+
}
|
1853
|
+
|
1854
|
+
grpc_chttp2_transport* t_;
|
1855
|
+
grpc_closure on_ping_ack_;
|
1856
|
+
grpc_timer timer_;
|
1857
|
+
grpc_closure on_timer_;
|
1858
|
+
};
|
1859
|
+
|
1860
|
+
} // namespace
|
1861
|
+
|
1760
1862
|
static void send_goaway(grpc_chttp2_transport* t, grpc_error_handle error) {
|
1761
|
-
// We want to log this irrespective of whether http tracing is enabled
|
1762
|
-
gpr_log(GPR_DEBUG, "%s: Sending goaway err=%s", t->peer_string.c_str(),
|
1763
|
-
grpc_error_std_string(error).c_str());
|
1764
|
-
t->sent_goaway_state = GRPC_CHTTP2_GOAWAY_SEND_SCHEDULED;
|
1765
1863
|
grpc_http2_error_code http_error;
|
1766
1864
|
std::string message;
|
1767
1865
|
grpc_error_get_status(error, grpc_core::Timestamp::InfFuture(), nullptr,
|
1768
1866
|
&message, &http_error, nullptr);
|
1769
|
-
|
1770
|
-
|
1771
|
-
|
1867
|
+
if (!t->is_client && http_error == GRPC_HTTP2_NO_ERROR) {
|
1868
|
+
// Do a graceful shutdown.
|
1869
|
+
GracefulGoaway::Start(t);
|
1870
|
+
} else {
|
1871
|
+
// We want to log this irrespective of whether http tracing is enabled
|
1872
|
+
gpr_log(GPR_DEBUG, "%s: Sending goaway err=%s", t->peer_string.c_str(),
|
1873
|
+
grpc_error_std_string(error).c_str());
|
1874
|
+
t->sent_goaway_state = GRPC_CHTTP2_FINAL_GOAWAY_SEND_SCHEDULED;
|
1875
|
+
grpc_chttp2_goaway_append(
|
1876
|
+
t->last_new_stream_id, static_cast<uint32_t>(http_error),
|
1877
|
+
grpc_slice_from_cpp_string(std::move(message)), &t->qbuf);
|
1878
|
+
}
|
1772
1879
|
grpc_chttp2_initiate_write(t, GRPC_CHTTP2_INITIATE_WRITE_GOAWAY_SENT);
|
1773
1880
|
GRPC_ERROR_UNREF(error);
|
1774
1881
|
}
|
@@ -1859,8 +1966,8 @@ static void perform_transport_op(grpc_transport* gt, grpc_transport_op* op) {
|
|
1859
1966
|
// INPUT PROCESSING - GENERAL
|
1860
1967
|
//
|
1861
1968
|
|
1862
|
-
void grpc_chttp2_maybe_complete_recv_initial_metadata(
|
1863
|
-
|
1969
|
+
void grpc_chttp2_maybe_complete_recv_initial_metadata(grpc_chttp2_transport* t,
|
1970
|
+
grpc_chttp2_stream* s) {
|
1864
1971
|
if (s->recv_initial_metadata_ready != nullptr &&
|
1865
1972
|
s->published_metadata[0] != GRPC_METADATA_NOT_PUBLISHED) {
|
1866
1973
|
if (s->seen_error) {
|
@@ -1871,6 +1978,7 @@ void grpc_chttp2_maybe_complete_recv_initial_metadata(
|
|
1871
1978
|
}
|
1872
1979
|
}
|
1873
1980
|
*s->recv_initial_metadata = std::move(s->initial_metadata_buffer);
|
1981
|
+
s->recv_initial_metadata->Set(grpc_core::PeerString(), t->peer_string);
|
1874
1982
|
// If we didn't receive initial metadata from the wire and instead faked a
|
1875
1983
|
// status (due to stream cancellations for example), let upper layers know
|
1876
1984
|
// that trailing metadata is immediately available.
|
@@ -1966,6 +2074,7 @@ void grpc_chttp2_maybe_complete_recv_trailing_metadata(grpc_chttp2_transport* t,
|
|
1966
2074
|
grpc_transport_move_stats(&s->stats, s->collecting_stats);
|
1967
2075
|
s->collecting_stats = nullptr;
|
1968
2076
|
*s->recv_trailing_metadata = std::move(s->trailing_metadata_buffer);
|
2077
|
+
s->recv_trailing_metadata->Set(grpc_core::PeerString(), t->peer_string);
|
1969
2078
|
null_then_sched_closure(&s->recv_trailing_metadata_finished);
|
1970
2079
|
}
|
1971
2080
|
}
|
@@ -1997,7 +2106,7 @@ static void remove_stream(grpc_chttp2_transport* t, uint32_t id,
|
|
1997
2106
|
|
1998
2107
|
if (grpc_chttp2_stream_map_size(&t->stream_map) == 0) {
|
1999
2108
|
post_benign_reclaimer(t);
|
2000
|
-
if (t->sent_goaway_state ==
|
2109
|
+
if (t->sent_goaway_state == GRPC_CHTTP2_FINAL_GOAWAY_SENT) {
|
2001
2110
|
close_transport_locked(
|
2002
2111
|
t, GRPC_ERROR_CREATE_REFERENCING_FROM_STATIC_STRING(
|
2003
2112
|
"Last stream closed after sending GOAWAY", &error, 1));
|
@@ -3194,6 +3303,8 @@ const char* grpc_chttp2_initiate_write_reason_string(
|
|
3194
3303
|
return "TRANSPORT_FLOW_CONTROL";
|
3195
3304
|
case GRPC_CHTTP2_INITIATE_WRITE_SEND_SETTINGS:
|
3196
3305
|
return "SEND_SETTINGS";
|
3306
|
+
case GRPC_CHTTP2_INITIATE_WRITE_SETTINGS_ACK:
|
3307
|
+
return "SETTINGS_ACK";
|
3197
3308
|
case GRPC_CHTTP2_INITIATE_WRITE_FLOW_CONTROL_UNSTALLED_BY_SETTING:
|
3198
3309
|
return "FLOW_CONTROL_UNSTALLED_BY_SETTING";
|
3199
3310
|
case GRPC_CHTTP2_INITIATE_WRITE_FLOW_CONTROL_UNSTALLED_BY_UPDATE:
|
@@ -151,6 +151,8 @@ grpc_error_handle grpc_chttp2_settings_parser_parse(void* p,
|
|
151
151
|
GRPC_CHTTP2_NUM_SETTINGS * sizeof(uint32_t));
|
152
152
|
t->num_pending_induced_frames++;
|
153
153
|
grpc_slice_buffer_add(&t->qbuf, grpc_chttp2_settings_ack_create());
|
154
|
+
grpc_chttp2_initiate_write(t,
|
155
|
+
GRPC_CHTTP2_INITIATE_WRITE_SETTINGS_ACK);
|
154
156
|
if (t->notify_on_receive_settings != nullptr) {
|
155
157
|
grpc_core::ExecCtx::Run(DEBUG_LOCATION,
|
156
158
|
t->notify_on_receive_settings,
|
@@ -481,15 +481,11 @@ void HPackCompressor::Framer::Encode(HttpStatusMetadata, uint32_t status) {
|
|
481
481
|
void HPackCompressor::Framer::Encode(HttpMethodMetadata,
|
482
482
|
HttpMethodMetadata::ValueType method) {
|
483
483
|
switch (method) {
|
484
|
-
case HttpMethodMetadata::ValueType::kGet:
|
485
|
-
EmitIndexed(2); // :method: GET
|
486
|
-
break;
|
487
484
|
case HttpMethodMetadata::ValueType::kPost:
|
488
485
|
EmitIndexed(3); // :method: POST
|
489
486
|
break;
|
490
|
-
case HttpMethodMetadata::ValueType::
|
491
|
-
|
492
|
-
Slice::FromStaticString("PUT"));
|
487
|
+
case HttpMethodMetadata::ValueType::kGet:
|
488
|
+
EmitIndexed(2); // :method: GET
|
493
489
|
break;
|
494
490
|
case HttpMethodMetadata::ValueType::kInvalid:
|
495
491
|
GPR_ASSERT(false);
|
@@ -98,6 +98,7 @@ typedef enum {
|
|
98
98
|
GRPC_CHTTP2_INITIATE_WRITE_STREAM_FLOW_CONTROL,
|
99
99
|
GRPC_CHTTP2_INITIATE_WRITE_TRANSPORT_FLOW_CONTROL,
|
100
100
|
GRPC_CHTTP2_INITIATE_WRITE_SEND_SETTINGS,
|
101
|
+
GRPC_CHTTP2_INITIATE_WRITE_SETTINGS_ACK,
|
101
102
|
GRPC_CHTTP2_INITIATE_WRITE_FLOW_CONTROL_UNSTALLED_BY_SETTING,
|
102
103
|
GRPC_CHTTP2_INITIATE_WRITE_FLOW_CONTROL_UNSTALLED_BY_UPDATE,
|
103
104
|
GRPC_CHTTP2_INITIATE_WRITE_APPLICATION_PING,
|
@@ -196,8 +197,9 @@ typedef enum {
|
|
196
197
|
|
197
198
|
typedef enum {
|
198
199
|
GRPC_CHTTP2_NO_GOAWAY_SEND,
|
199
|
-
|
200
|
-
|
200
|
+
GRPC_CHTTP2_GRACEFUL_GOAWAY,
|
201
|
+
GRPC_CHTTP2_FINAL_GOAWAY_SEND_SCHEDULED,
|
202
|
+
GRPC_CHTTP2_FINAL_GOAWAY_SENT,
|
201
203
|
} grpc_chttp2_sent_goaway_state;
|
202
204
|
|
203
205
|
typedef struct grpc_chttp2_write_cb {
|
@@ -479,6 +479,14 @@ static grpc_error_handle init_header_frame_parser(grpc_chttp2_transport* t,
|
|
479
479
|
t->settings[GRPC_ACKED_SETTINGS]
|
480
480
|
[GRPC_CHTTP2_SETTINGS_MAX_CONCURRENT_STREAMS])) {
|
481
481
|
return GRPC_ERROR_CREATE_FROM_STATIC_STRING("Max stream count exceeded");
|
482
|
+
} else if (t->sent_goaway_state == GRPC_CHTTP2_FINAL_GOAWAY_SENT) {
|
483
|
+
GRPC_CHTTP2_IF_TRACING(gpr_log(
|
484
|
+
GPR_INFO,
|
485
|
+
"transport:%p SERVER peer:%s Final GOAWAY sent. Ignoring new "
|
486
|
+
"grpc_chttp2_stream request id=%d, last grpc_chttp2_stream id=%d",
|
487
|
+
t, t->peer_string.c_str(), t->incoming_stream_id,
|
488
|
+
t->last_new_stream_id));
|
489
|
+
return init_header_skip_frame_parser(t, priority_type);
|
482
490
|
}
|
483
491
|
t->last_new_stream_id = t->incoming_stream_id;
|
484
492
|
s = t->incoming_stream =
|
@@ -60,15 +60,15 @@ static void maybe_initiate_ping(grpc_chttp2_transport* t) {
|
|
60
60
|
}
|
61
61
|
return;
|
62
62
|
}
|
63
|
-
if (t->ping_state.pings_before_data_required == 0 &&
|
63
|
+
if (t->is_client && t->ping_state.pings_before_data_required == 0 &&
|
64
64
|
t->ping_policy.max_pings_without_data != 0) {
|
65
65
|
/* need to receive something of substance before sending a ping again */
|
66
66
|
if (GRPC_TRACE_FLAG_ENABLED(grpc_http_trace) ||
|
67
67
|
GRPC_TRACE_FLAG_ENABLED(grpc_bdp_estimator_trace) ||
|
68
68
|
GRPC_TRACE_FLAG_ENABLED(grpc_keepalive_trace)) {
|
69
|
-
gpr_log(GPR_INFO,
|
70
|
-
|
71
|
-
t->ping_state.pings_before_data_required,
|
69
|
+
gpr_log(GPR_INFO,
|
70
|
+
"CLIENT: Ping delayed [%s]: too many recent pings: %d/%d",
|
71
|
+
t->peer_string.c_str(), t->ping_state.pings_before_data_required,
|
72
72
|
t->ping_policy.max_pings_without_data);
|
73
73
|
}
|
74
74
|
return;
|
@@ -79,13 +79,23 @@ static void maybe_initiate_ping(grpc_chttp2_transport* t) {
|
|
79
79
|
grpc_core::ExecCtx::Get()->InvalidateNow();
|
80
80
|
grpc_core::Timestamp now = grpc_core::ExecCtx::Get()->Now();
|
81
81
|
|
82
|
-
grpc_core::Duration next_allowed_ping_interval =
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
82
|
+
grpc_core::Duration next_allowed_ping_interval = grpc_core::Duration::Zero();
|
83
|
+
if (t->is_client) {
|
84
|
+
next_allowed_ping_interval =
|
85
|
+
(t->keepalive_permit_without_calls == 0 &&
|
86
|
+
grpc_chttp2_stream_map_size(&t->stream_map) == 0)
|
87
|
+
? grpc_core::Duration::Hours(2)
|
88
|
+
: grpc_core::Duration::Seconds(1); /* A second is added to deal with
|
89
|
+
network delays and timing imprecision */
|
90
|
+
} else if (t->sent_goaway_state != GRPC_CHTTP2_GRACEFUL_GOAWAY) {
|
91
|
+
// The gRPC keepalive spec doesn't call for any throttling on the server
|
92
|
+
// side, but we are adding some throttling for protection anyway, unless
|
93
|
+
// we are doing a graceful GOAWAY in which case we don't want to wait.
|
94
|
+
next_allowed_ping_interval =
|
95
|
+
t->keepalive_time == grpc_core::Duration::Infinity()
|
96
|
+
? grpc_core::Duration::Seconds(20)
|
97
|
+
: t->keepalive_time / 2;
|
98
|
+
}
|
89
99
|
grpc_core::Timestamp next_allowed_ping =
|
90
100
|
t->ping_state.last_ping_sent_time + next_allowed_ping_interval;
|
91
101
|
|
@@ -96,7 +106,8 @@ static void maybe_initiate_ping(grpc_chttp2_transport* t) {
|
|
96
106
|
GRPC_TRACE_FLAG_ENABLED(grpc_keepalive_trace)) {
|
97
107
|
gpr_log(
|
98
108
|
GPR_INFO,
|
99
|
-
"%s: Ping delayed [%s]: not enough time elapsed since last
|
109
|
+
"%s: Ping delayed [%s]: not enough time elapsed since last "
|
110
|
+
"ping. "
|
100
111
|
" Last ping %" PRId64 ": Next ping %" PRId64 ": Now %" PRId64,
|
101
112
|
t->is_client ? "CLIENT" : "SERVER", t->peer_string.c_str(),
|
102
113
|
t->ping_state.last_ping_sent_time.milliseconds_after_process_epoch(),
|
@@ -114,6 +125,7 @@ static void maybe_initiate_ping(grpc_chttp2_transport* t) {
|
|
114
125
|
}
|
115
126
|
return;
|
116
127
|
}
|
128
|
+
t->ping_state.last_ping_sent_time = now;
|
117
129
|
|
118
130
|
pq->inflight_id = t->ping_ctr;
|
119
131
|
t->ping_ctr++;
|
@@ -124,7 +136,6 @@ static void maybe_initiate_ping(grpc_chttp2_transport* t) {
|
|
124
136
|
grpc_slice_buffer_add(&t->outbuf,
|
125
137
|
grpc_chttp2_ping_create(false, pq->inflight_id));
|
126
138
|
GRPC_STATS_INC_HTTP2_PINGS_SENT();
|
127
|
-
t->ping_state.last_ping_sent_time = now;
|
128
139
|
if (GRPC_TRACE_FLAG_ENABLED(grpc_http_trace) ||
|
129
140
|
GRPC_TRACE_FLAG_ENABLED(grpc_bdp_estimator_trace) ||
|
130
141
|
GRPC_TRACE_FLAG_ENABLED(grpc_keepalive_trace)) {
|
@@ -20,77 +20,80 @@ static const upb_MiniTable_Sub envoy_admin_v3_Certificates_submsgs[1] = {
|
|
20
20
|
};
|
21
21
|
|
22
22
|
static const upb_MiniTable_Field envoy_admin_v3_Certificates__fields[1] = {
|
23
|
-
{1, UPB_SIZE(0, 0), 0, 0, 11, kUpb_FieldMode_Array | (
|
23
|
+
{1, UPB_SIZE(0, 0), UPB_SIZE(0, 0), 0, 11, kUpb_FieldMode_Array | (kUpb_FieldRep_Pointer << kUpb_FieldRep_Shift)},
|
24
24
|
};
|
25
25
|
|
26
26
|
const upb_MiniTable envoy_admin_v3_Certificates_msginit = {
|
27
27
|
&envoy_admin_v3_Certificates_submsgs[0],
|
28
28
|
&envoy_admin_v3_Certificates__fields[0],
|
29
|
-
UPB_SIZE(
|
29
|
+
UPB_SIZE(4, 8), 1, kUpb_ExtMode_NonExtendable, 1, 255, 0,
|
30
30
|
};
|
31
31
|
|
32
|
-
static const upb_MiniTable_Sub envoy_admin_v3_Certificate_submsgs[
|
32
|
+
static const upb_MiniTable_Sub envoy_admin_v3_Certificate_submsgs[2] = {
|
33
|
+
{.submsg = &envoy_admin_v3_CertificateDetails_msginit},
|
33
34
|
{.submsg = &envoy_admin_v3_CertificateDetails_msginit},
|
34
35
|
};
|
35
36
|
|
36
37
|
static const upb_MiniTable_Field envoy_admin_v3_Certificate__fields[2] = {
|
37
|
-
{1, UPB_SIZE(0, 0), 0, 0, 11, kUpb_FieldMode_Array | (
|
38
|
-
{2, UPB_SIZE(4, 8), 0, 0, 11, kUpb_FieldMode_Array | (
|
38
|
+
{1, UPB_SIZE(0, 0), UPB_SIZE(0, 0), 0, 11, kUpb_FieldMode_Array | (kUpb_FieldRep_Pointer << kUpb_FieldRep_Shift)},
|
39
|
+
{2, UPB_SIZE(4, 8), UPB_SIZE(0, 0), 1, 11, kUpb_FieldMode_Array | (kUpb_FieldRep_Pointer << kUpb_FieldRep_Shift)},
|
39
40
|
};
|
40
41
|
|
41
42
|
const upb_MiniTable envoy_admin_v3_Certificate_msginit = {
|
42
43
|
&envoy_admin_v3_Certificate_submsgs[0],
|
43
44
|
&envoy_admin_v3_Certificate__fields[0],
|
44
|
-
UPB_SIZE(8,
|
45
|
+
UPB_SIZE(8, 24), 2, kUpb_ExtMode_NonExtendable, 2, 255, 0,
|
45
46
|
};
|
46
47
|
|
47
|
-
static const upb_MiniTable_Sub envoy_admin_v3_CertificateDetails_submsgs[
|
48
|
-
{.submsg = &envoy_admin_v3_CertificateDetails_OcspDetails_msginit},
|
48
|
+
static const upb_MiniTable_Sub envoy_admin_v3_CertificateDetails_submsgs[4] = {
|
49
49
|
{.submsg = &envoy_admin_v3_SubjectAlternateName_msginit},
|
50
50
|
{.submsg = &google_protobuf_Timestamp_msginit},
|
51
|
+
{.submsg = &google_protobuf_Timestamp_msginit},
|
52
|
+
{.submsg = &envoy_admin_v3_CertificateDetails_OcspDetails_msginit},
|
51
53
|
};
|
52
54
|
|
53
55
|
static const upb_MiniTable_Field envoy_admin_v3_CertificateDetails__fields[7] = {
|
54
|
-
{1, UPB_SIZE(
|
55
|
-
{2, UPB_SIZE(
|
56
|
-
{3, UPB_SIZE(
|
57
|
-
{4, UPB_SIZE(
|
58
|
-
{5, UPB_SIZE(
|
59
|
-
{6, UPB_SIZE(
|
60
|
-
{7, UPB_SIZE(
|
56
|
+
{1, UPB_SIZE(4, 8), UPB_SIZE(0, 0), kUpb_NoSub, 9, kUpb_FieldMode_Scalar | (kUpb_FieldRep_StringView << kUpb_FieldRep_Shift)},
|
57
|
+
{2, UPB_SIZE(12, 24), UPB_SIZE(0, 0), kUpb_NoSub, 9, kUpb_FieldMode_Scalar | (kUpb_FieldRep_StringView << kUpb_FieldRep_Shift)},
|
58
|
+
{3, UPB_SIZE(20, 40), UPB_SIZE(0, 0), 0, 11, kUpb_FieldMode_Array | (kUpb_FieldRep_Pointer << kUpb_FieldRep_Shift)},
|
59
|
+
{4, UPB_SIZE(40, 72), UPB_SIZE(0, 0), kUpb_NoSub, 4, kUpb_FieldMode_Scalar | (kUpb_FieldRep_8Byte << kUpb_FieldRep_Shift)},
|
60
|
+
{5, UPB_SIZE(24, 48), UPB_SIZE(1, 1), 1, 11, kUpb_FieldMode_Scalar | (kUpb_FieldRep_Pointer << kUpb_FieldRep_Shift)},
|
61
|
+
{6, UPB_SIZE(28, 56), UPB_SIZE(2, 2), 2, 11, kUpb_FieldMode_Scalar | (kUpb_FieldRep_Pointer << kUpb_FieldRep_Shift)},
|
62
|
+
{7, UPB_SIZE(32, 64), UPB_SIZE(3, 3), 3, 11, kUpb_FieldMode_Scalar | (kUpb_FieldRep_Pointer << kUpb_FieldRep_Shift)},
|
61
63
|
};
|
62
64
|
|
63
65
|
const upb_MiniTable envoy_admin_v3_CertificateDetails_msginit = {
|
64
66
|
&envoy_admin_v3_CertificateDetails_submsgs[0],
|
65
67
|
&envoy_admin_v3_CertificateDetails__fields[0],
|
66
|
-
UPB_SIZE(48,
|
68
|
+
UPB_SIZE(48, 88), 7, kUpb_ExtMode_NonExtendable, 7, 255, 0,
|
67
69
|
};
|
68
70
|
|
69
|
-
static const upb_MiniTable_Sub envoy_admin_v3_CertificateDetails_OcspDetails_submsgs[
|
71
|
+
static const upb_MiniTable_Sub envoy_admin_v3_CertificateDetails_OcspDetails_submsgs[2] = {
|
72
|
+
{.submsg = &google_protobuf_Timestamp_msginit},
|
70
73
|
{.submsg = &google_protobuf_Timestamp_msginit},
|
71
74
|
};
|
72
75
|
|
73
76
|
static const upb_MiniTable_Field envoy_admin_v3_CertificateDetails_OcspDetails__fields[2] = {
|
74
|
-
{1, UPB_SIZE(4, 8), 1, 0, 11, kUpb_FieldMode_Scalar | (
|
75
|
-
{2, UPB_SIZE(8, 16), 2,
|
77
|
+
{1, UPB_SIZE(4, 8), UPB_SIZE(1, 1), 0, 11, kUpb_FieldMode_Scalar | (kUpb_FieldRep_Pointer << kUpb_FieldRep_Shift)},
|
78
|
+
{2, UPB_SIZE(8, 16), UPB_SIZE(2, 2), 1, 11, kUpb_FieldMode_Scalar | (kUpb_FieldRep_Pointer << kUpb_FieldRep_Shift)},
|
76
79
|
};
|
77
80
|
|
78
81
|
const upb_MiniTable envoy_admin_v3_CertificateDetails_OcspDetails_msginit = {
|
79
82
|
&envoy_admin_v3_CertificateDetails_OcspDetails_submsgs[0],
|
80
83
|
&envoy_admin_v3_CertificateDetails_OcspDetails__fields[0],
|
81
|
-
UPB_SIZE(
|
84
|
+
UPB_SIZE(12, 24), 2, kUpb_ExtMode_NonExtendable, 2, 255, 0,
|
82
85
|
};
|
83
86
|
|
84
87
|
static const upb_MiniTable_Field envoy_admin_v3_SubjectAlternateName__fields[3] = {
|
85
|
-
{1, UPB_SIZE(
|
86
|
-
{2, UPB_SIZE(
|
87
|
-
{3, UPB_SIZE(
|
88
|
+
{1, UPB_SIZE(4, 8), UPB_SIZE(-1, -1), kUpb_NoSub, 9, kUpb_FieldMode_Scalar | (kUpb_FieldRep_StringView << kUpb_FieldRep_Shift)},
|
89
|
+
{2, UPB_SIZE(4, 8), UPB_SIZE(-1, -1), kUpb_NoSub, 9, kUpb_FieldMode_Scalar | (kUpb_FieldRep_StringView << kUpb_FieldRep_Shift)},
|
90
|
+
{3, UPB_SIZE(4, 8), UPB_SIZE(-1, -1), kUpb_NoSub, 9, kUpb_FieldMode_Scalar | (kUpb_FieldRep_StringView << kUpb_FieldRep_Shift)},
|
88
91
|
};
|
89
92
|
|
90
93
|
const upb_MiniTable envoy_admin_v3_SubjectAlternateName_msginit = {
|
91
94
|
NULL,
|
92
95
|
&envoy_admin_v3_SubjectAlternateName__fields[0],
|
93
|
-
UPB_SIZE(
|
96
|
+
UPB_SIZE(12, 24), 3, kUpb_ExtMode_NonExtendable, 3, 255, 0,
|
94
97
|
};
|
95
98
|
|
96
99
|
static const upb_MiniTable *messages_layout[5] = {
|