grpc 1.45.0 → 1.46.2
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_certificate_provider.cc +2 -0
- data/src/core/ext/xds/xds_certificate_provider.h +8 -0
- data/src/core/ext/xds/xds_client.cc +83 -93
- data/src/core/ext/xds/xds_client.h +11 -4
- 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
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: grpc
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.46.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- gRPC Authors
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: src/ruby/bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2022-
|
11
|
+
date: 2022-05-12 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: google-protobuf
|
@@ -128,14 +128,14 @@ dependencies:
|
|
128
128
|
requirements:
|
129
129
|
- - "~>"
|
130
130
|
- !ruby/object:Gem::Version
|
131
|
-
version: '1.
|
131
|
+
version: '1.2'
|
132
132
|
type: :development
|
133
133
|
prerelease: false
|
134
134
|
version_requirements: !ruby/object:Gem::Requirement
|
135
135
|
requirements:
|
136
136
|
- - "~>"
|
137
137
|
- !ruby/object:Gem::Version
|
138
|
-
version: '1.
|
138
|
+
version: '1.2'
|
139
139
|
- !ruby/object:Gem::Dependency
|
140
140
|
name: rspec
|
141
141
|
requirement: !ruby/object:Gem::Requirement
|
@@ -274,6 +274,10 @@ files:
|
|
274
274
|
- include/grpc/support/time.h
|
275
275
|
- include/grpc/support/workaround_list.h
|
276
276
|
- src/core/ext/filters/census/grpc_context.cc
|
277
|
+
- src/core/ext/filters/channel_idle/channel_idle_filter.cc
|
278
|
+
- src/core/ext/filters/channel_idle/channel_idle_filter.h
|
279
|
+
- src/core/ext/filters/channel_idle/idle_filter_state.cc
|
280
|
+
- src/core/ext/filters/channel_idle/idle_filter_state.h
|
277
281
|
- src/core/ext/filters/client_channel/backend_metric.cc
|
278
282
|
- src/core/ext/filters/client_channel/backend_metric.h
|
279
283
|
- src/core/ext/filters/client_channel/backup_poller.cc
|
@@ -354,6 +358,8 @@ files:
|
|
354
358
|
- src/core/ext/filters/client_channel/resolver/fake/fake_resolver.cc
|
355
359
|
- src/core/ext/filters/client_channel/resolver/fake/fake_resolver.h
|
356
360
|
- src/core/ext/filters/client_channel/resolver/google_c2p/google_c2p_resolver.cc
|
361
|
+
- src/core/ext/filters/client_channel/resolver/polling_resolver.cc
|
362
|
+
- src/core/ext/filters/client_channel/resolver/polling_resolver.h
|
357
363
|
- src/core/ext/filters/client_channel/resolver/sockaddr/sockaddr_resolver.cc
|
358
364
|
- src/core/ext/filters/client_channel/resolver/xds/xds_resolver.cc
|
359
365
|
- src/core/ext/filters/client_channel/resolver/xds/xds_resolver.h
|
@@ -371,9 +377,8 @@ files:
|
|
371
377
|
- src/core/ext/filters/client_channel/subchannel_interface.h
|
372
378
|
- src/core/ext/filters/client_channel/subchannel_pool_interface.cc
|
373
379
|
- src/core/ext/filters/client_channel/subchannel_pool_interface.h
|
374
|
-
- src/core/ext/filters/
|
375
|
-
- src/core/ext/filters/
|
376
|
-
- src/core/ext/filters/client_idle/idle_filter_state.h
|
380
|
+
- src/core/ext/filters/client_channel/subchannel_stream_client.cc
|
381
|
+
- src/core/ext/filters/client_channel/subchannel_stream_client.h
|
377
382
|
- src/core/ext/filters/deadline/deadline_filter.cc
|
378
383
|
- src/core/ext/filters/deadline/deadline_filter.h
|
379
384
|
- src/core/ext/filters/fault_injection/fault_injection_filter.cc
|
@@ -391,8 +396,6 @@ files:
|
|
391
396
|
- src/core/ext/filters/http/message_compress/message_decompress_filter.h
|
392
397
|
- src/core/ext/filters/http/server/http_server_filter.cc
|
393
398
|
- src/core/ext/filters/http/server/http_server_filter.h
|
394
|
-
- src/core/ext/filters/max_age/max_age_filter.cc
|
395
|
-
- src/core/ext/filters/max_age/max_age_filter.h
|
396
399
|
- src/core/ext/filters/message_size/message_size_filter.cc
|
397
400
|
- src/core/ext/filters/message_size/message_size_filter.h
|
398
401
|
- src/core/ext/filters/rbac/rbac_filter.cc
|
@@ -690,6 +693,8 @@ files:
|
|
690
693
|
- src/core/ext/upb-generated/src/proto/grpc/lb/v1/load_balancer.upb.h
|
691
694
|
- src/core/ext/upb-generated/src/proto/grpc/lookup/v1/rls.upb.c
|
692
695
|
- src/core/ext/upb-generated/src/proto/grpc/lookup/v1/rls.upb.h
|
696
|
+
- src/core/ext/upb-generated/src/proto/grpc/lookup/v1/rls_config.upb.c
|
697
|
+
- src/core/ext/upb-generated/src/proto/grpc/lookup/v1/rls_config.upb.h
|
693
698
|
- src/core/ext/upb-generated/udpa/annotations/migrate.upb.c
|
694
699
|
- src/core/ext/upb-generated/udpa/annotations/migrate.upb.h
|
695
700
|
- src/core/ext/upb-generated/udpa/annotations/security.upb.c
|
@@ -958,6 +963,8 @@ files:
|
|
958
963
|
- src/core/ext/upbdefs-generated/google/rpc/status.upbdefs.h
|
959
964
|
- src/core/ext/upbdefs-generated/opencensus/proto/trace/v1/trace_config.upbdefs.c
|
960
965
|
- src/core/ext/upbdefs-generated/opencensus/proto/trace/v1/trace_config.upbdefs.h
|
966
|
+
- src/core/ext/upbdefs-generated/src/proto/grpc/lookup/v1/rls_config.upbdefs.c
|
967
|
+
- src/core/ext/upbdefs-generated/src/proto/grpc/lookup/v1/rls_config.upbdefs.h
|
961
968
|
- src/core/ext/upbdefs-generated/udpa/annotations/migrate.upbdefs.c
|
962
969
|
- src/core/ext/upbdefs-generated/udpa/annotations/migrate.upbdefs.h
|
963
970
|
- src/core/ext/upbdefs-generated/udpa/annotations/security.upbdefs.c
|
@@ -1025,6 +1032,8 @@ files:
|
|
1025
1032
|
- src/core/ext/xds/xds_client_stats.h
|
1026
1033
|
- src/core/ext/xds/xds_cluster.cc
|
1027
1034
|
- src/core/ext/xds/xds_cluster.h
|
1035
|
+
- src/core/ext/xds/xds_cluster_specifier_plugin.cc
|
1036
|
+
- src/core/ext/xds/xds_cluster_specifier_plugin.h
|
1028
1037
|
- src/core/ext/xds/xds_common_types.cc
|
1029
1038
|
- src/core/ext/xds/xds_common_types.h
|
1030
1039
|
- src/core/ext/xds/xds_endpoint.cc
|
@@ -1062,6 +1071,8 @@ files:
|
|
1062
1071
|
- src/core/lib/channel/channel_stack.h
|
1063
1072
|
- src/core/lib/channel/channel_stack_builder.cc
|
1064
1073
|
- src/core/lib/channel/channel_stack_builder.h
|
1074
|
+
- src/core/lib/channel/channel_stack_builder_impl.cc
|
1075
|
+
- src/core/lib/channel/channel_stack_builder_impl.h
|
1065
1076
|
- src/core/lib/channel/channel_trace.cc
|
1066
1077
|
- src/core/lib/channel/channel_trace.h
|
1067
1078
|
- src/core/lib/channel/channelz.cc
|
@@ -1163,12 +1174,15 @@ files:
|
|
1163
1174
|
- src/core/lib/gprpp/host_port.cc
|
1164
1175
|
- src/core/lib/gprpp/host_port.h
|
1165
1176
|
- src/core/lib/gprpp/manual_constructor.h
|
1177
|
+
- src/core/lib/gprpp/match.h
|
1166
1178
|
- src/core/lib/gprpp/memory.h
|
1167
1179
|
- src/core/lib/gprpp/mpscq.cc
|
1168
1180
|
- src/core/lib/gprpp/mpscq.h
|
1169
1181
|
- src/core/lib/gprpp/orphanable.h
|
1182
|
+
- src/core/lib/gprpp/overload.h
|
1170
1183
|
- src/core/lib/gprpp/ref_counted.h
|
1171
1184
|
- src/core/lib/gprpp/ref_counted_ptr.h
|
1185
|
+
- src/core/lib/gprpp/single_set_ptr.h
|
1172
1186
|
- src/core/lib/gprpp/stat.h
|
1173
1187
|
- src/core/lib/gprpp/stat_posix.cc
|
1174
1188
|
- src/core/lib/gprpp/stat_windows.cc
|
@@ -1220,8 +1234,6 @@ files:
|
|
1220
1234
|
- src/core/lib/iomgr/ev_apple.h
|
1221
1235
|
- src/core/lib/iomgr/ev_epoll1_linux.cc
|
1222
1236
|
- src/core/lib/iomgr/ev_epoll1_linux.h
|
1223
|
-
- src/core/lib/iomgr/ev_epollex_linux.cc
|
1224
|
-
- src/core/lib/iomgr/ev_epollex_linux.h
|
1225
1237
|
- src/core/lib/iomgr/ev_poll_posix.cc
|
1226
1238
|
- src/core/lib/iomgr/ev_poll_posix.h
|
1227
1239
|
- src/core/lib/iomgr/ev_posix.cc
|
@@ -1269,8 +1281,6 @@ files:
|
|
1269
1281
|
- src/core/lib/iomgr/iomgr_posix.cc
|
1270
1282
|
- src/core/lib/iomgr/iomgr_posix_cfstream.cc
|
1271
1283
|
- src/core/lib/iomgr/iomgr_windows.cc
|
1272
|
-
- src/core/lib/iomgr/is_epollexclusive_available.cc
|
1273
|
-
- src/core/lib/iomgr/is_epollexclusive_available.h
|
1274
1284
|
- src/core/lib/iomgr/load_file.cc
|
1275
1285
|
- src/core/lib/iomgr/load_file.h
|
1276
1286
|
- src/core/lib/iomgr/lockfree_event.cc
|
@@ -1312,7 +1322,6 @@ files:
|
|
1312
1322
|
- src/core/lib/iomgr/socket_utils_windows.cc
|
1313
1323
|
- src/core/lib/iomgr/socket_windows.cc
|
1314
1324
|
- src/core/lib/iomgr/socket_windows.h
|
1315
|
-
- src/core/lib/iomgr/sys_epoll_wrapper.h
|
1316
1325
|
- src/core/lib/iomgr/tcp_client.cc
|
1317
1326
|
- src/core/lib/iomgr/tcp_client.h
|
1318
1327
|
- src/core/lib/iomgr/tcp_client_cfstream.cc
|
@@ -1365,6 +1374,7 @@ files:
|
|
1365
1374
|
- src/core/lib/promise/activity.cc
|
1366
1375
|
- src/core/lib/promise/activity.h
|
1367
1376
|
- src/core/lib/promise/arena_promise.h
|
1377
|
+
- src/core/lib/promise/call_push_pull.h
|
1368
1378
|
- src/core/lib/promise/context.h
|
1369
1379
|
- src/core/lib/promise/detail/basic_seq.h
|
1370
1380
|
- src/core/lib/promise/detail/promise_factory.h
|
@@ -1372,6 +1382,8 @@ files:
|
|
1372
1382
|
- src/core/lib/promise/detail/status.h
|
1373
1383
|
- src/core/lib/promise/detail/switch.h
|
1374
1384
|
- src/core/lib/promise/exec_ctx_wakeup_scheduler.h
|
1385
|
+
- src/core/lib/promise/intra_activity_waiter.h
|
1386
|
+
- src/core/lib/promise/latch.h
|
1375
1387
|
- src/core/lib/promise/loop.h
|
1376
1388
|
- src/core/lib/promise/map.h
|
1377
1389
|
- src/core/lib/promise/poll.h
|
@@ -1452,6 +1464,7 @@ files:
|
|
1452
1464
|
- src/core/lib/security/credentials/iam/iam_credentials.cc
|
1453
1465
|
- src/core/lib/security/credentials/iam/iam_credentials.h
|
1454
1466
|
- src/core/lib/security/credentials/insecure/insecure_credentials.cc
|
1467
|
+
- src/core/lib/security/credentials/insecure/insecure_credentials.h
|
1455
1468
|
- src/core/lib/security/credentials/jwt/json_token.cc
|
1456
1469
|
- src/core/lib/security/credentials/jwt/json_token.h
|
1457
1470
|
- src/core/lib/security/credentials/jwt/jwt_credentials.cc
|
@@ -1723,6 +1736,9 @@ files:
|
|
1723
1736
|
- src/ruby/pb/src/proto/grpc/testing/messages_pb.rb
|
1724
1737
|
- src/ruby/pb/src/proto/grpc/testing/test_pb.rb
|
1725
1738
|
- src/ruby/pb/src/proto/grpc/testing/test_services_pb.rb
|
1739
|
+
- src/ruby/pb/test/client.rb
|
1740
|
+
- src/ruby/pb/test/server.rb
|
1741
|
+
- src/ruby/pb/test/xds_client.rb
|
1726
1742
|
- src/ruby/spec/call_credentials_spec.rb
|
1727
1743
|
- src/ruby/spec/call_spec.rb
|
1728
1744
|
- src/ruby/spec/channel_connection_spec.rb
|
@@ -2708,6 +2724,8 @@ files:
|
|
2708
2724
|
- third_party/upb/upb/def.hpp
|
2709
2725
|
- third_party/upb/upb/encode.c
|
2710
2726
|
- third_party/upb/upb/encode.h
|
2727
|
+
- third_party/upb/upb/json_encode.c
|
2728
|
+
- third_party/upb/upb/json_encode.h
|
2711
2729
|
- third_party/upb/upb/msg.c
|
2712
2730
|
- third_party/upb/upb/msg.h
|
2713
2731
|
- third_party/upb/upb/msg_internal.h
|
@@ -2755,7 +2773,7 @@ homepage: https://github.com/google/grpc/tree/master/src/ruby
|
|
2755
2773
|
licenses:
|
2756
2774
|
- Apache-2.0
|
2757
2775
|
metadata: {}
|
2758
|
-
post_install_message:
|
2776
|
+
post_install_message:
|
2759
2777
|
rdoc_options: []
|
2760
2778
|
require_paths:
|
2761
2779
|
- src/ruby/lib
|
@@ -2772,51 +2790,54 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
2772
2790
|
- !ruby/object:Gem::Version
|
2773
2791
|
version: '0'
|
2774
2792
|
requirements: []
|
2775
|
-
rubygems_version: 3.3.
|
2776
|
-
signing_key:
|
2793
|
+
rubygems_version: 3.3.4
|
2794
|
+
signing_key:
|
2777
2795
|
specification_version: 4
|
2778
2796
|
summary: GRPC system in Ruby
|
2779
2797
|
test_files:
|
2798
|
+
- src/ruby/spec/call_credentials_spec.rb
|
2799
|
+
- src/ruby/spec/call_spec.rb
|
2800
|
+
- src/ruby/spec/channel_connection_spec.rb
|
2801
|
+
- src/ruby/spec/channel_credentials_spec.rb
|
2780
2802
|
- src/ruby/spec/channel_spec.rb
|
2781
|
-
- src/ruby/spec/
|
2803
|
+
- src/ruby/spec/client_auth_spec.rb
|
2804
|
+
- src/ruby/spec/client_server_spec.rb
|
2805
|
+
- src/ruby/spec/compression_options_spec.rb
|
2782
2806
|
- src/ruby/spec/debug_message_spec.rb
|
2783
|
-
- src/ruby/spec/
|
2784
|
-
- src/ruby/spec/
|
2807
|
+
- src/ruby/spec/error_sanity_spec.rb
|
2808
|
+
- src/ruby/spec/errors_spec.rb
|
2785
2809
|
- src/ruby/spec/generic/active_call_spec.rb
|
2786
2810
|
- src/ruby/spec/generic/client_interceptors_spec.rb
|
2811
|
+
- src/ruby/spec/generic/client_stub_spec.rb
|
2812
|
+
- src/ruby/spec/generic/interceptor_registry_spec.rb
|
2787
2813
|
- src/ruby/spec/generic/rpc_desc_spec.rb
|
2788
|
-
- src/ruby/spec/generic/server_interceptors_spec.rb
|
2789
2814
|
- src/ruby/spec/generic/rpc_server_pool_spec.rb
|
2790
|
-
- src/ruby/spec/generic/client_stub_spec.rb
|
2791
2815
|
- src/ruby/spec/generic/rpc_server_spec.rb
|
2792
|
-
- src/ruby/spec/
|
2793
|
-
- src/ruby/spec/
|
2794
|
-
- src/ruby/spec/client_server_spec.rb
|
2795
|
-
- src/ruby/spec/error_sanity_spec.rb
|
2796
|
-
- src/ruby/spec/testdata/ca.pem
|
2797
|
-
- src/ruby/spec/testdata/server1.key
|
2798
|
-
- src/ruby/spec/testdata/client.pem
|
2799
|
-
- src/ruby/spec/testdata/README
|
2800
|
-
- src/ruby/spec/testdata/server1.pem
|
2801
|
-
- src/ruby/spec/testdata/client.key
|
2802
|
-
- src/ruby/spec/channel_credentials_spec.rb
|
2816
|
+
- src/ruby/spec/generic/server_interceptors_spec.rb
|
2817
|
+
- src/ruby/spec/generic/service_spec.rb
|
2803
2818
|
- src/ruby/spec/google_rpc_status_utils_spec.rb
|
2804
|
-
- src/ruby/spec/compression_options_spec.rb
|
2805
|
-
- src/ruby/spec/errors_spec.rb
|
2806
|
-
- src/ruby/spec/call_credentials_spec.rb
|
2807
|
-
- src/ruby/spec/pb/duplicate/codegen_spec.rb
|
2808
|
-
- src/ruby/spec/pb/codegen/grpc/testing/package_options_import.proto
|
2809
2819
|
- src/ruby/spec/pb/codegen/grpc/testing/package_options.proto
|
2820
|
+
- src/ruby/spec/pb/codegen/grpc/testing/package_options_import.proto
|
2810
2821
|
- src/ruby/spec/pb/codegen/grpc/testing/package_options_import2.proto
|
2811
|
-
- src/ruby/spec/pb/codegen/grpc/testing/same_package_service_name.proto
|
2812
2822
|
- src/ruby/spec/pb/codegen/grpc/testing/package_options_ruby_style.proto
|
2823
|
+
- src/ruby/spec/pb/codegen/grpc/testing/same_package_service_name.proto
|
2813
2824
|
- src/ruby/spec/pb/codegen/grpc/testing/same_ruby_package_service_name.proto
|
2814
2825
|
- src/ruby/spec/pb/codegen/package_option_spec.rb
|
2826
|
+
- src/ruby/spec/pb/duplicate/codegen_spec.rb
|
2815
2827
|
- src/ruby/spec/pb/health/checker_spec.rb
|
2816
|
-
- src/ruby/spec/
|
2817
|
-
- src/ruby/spec/
|
2828
|
+
- src/ruby/spec/server_credentials_spec.rb
|
2829
|
+
- src/ruby/spec/server_spec.rb
|
2830
|
+
- src/ruby/spec/spec_helper.rb
|
2818
2831
|
- src/ruby/spec/support/helpers.rb
|
2819
2832
|
- src/ruby/spec/support/services.rb
|
2820
|
-
- src/ruby/spec/
|
2821
|
-
- src/ruby/spec/
|
2822
|
-
- src/ruby/spec/
|
2833
|
+
- src/ruby/spec/testdata/README
|
2834
|
+
- src/ruby/spec/testdata/ca.pem
|
2835
|
+
- src/ruby/spec/testdata/client.key
|
2836
|
+
- src/ruby/spec/testdata/client.pem
|
2837
|
+
- src/ruby/spec/testdata/server1.key
|
2838
|
+
- src/ruby/spec/testdata/server1.pem
|
2839
|
+
- src/ruby/spec/time_consts_spec.rb
|
2840
|
+
- src/ruby/spec/user_agent_spec.rb
|
2841
|
+
- src/ruby/pb/test/client.rb
|
2842
|
+
- src/ruby/pb/test/server.rb
|
2843
|
+
- src/ruby/pb/test/xds_client.rb
|
@@ -1,201 +0,0 @@
|
|
1
|
-
/*
|
2
|
-
*
|
3
|
-
* Copyright 2019 gRPC authors.
|
4
|
-
*
|
5
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
6
|
-
* you may not use this file except in compliance with the License.
|
7
|
-
* You may obtain a copy of the License at
|
8
|
-
*
|
9
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
10
|
-
*
|
11
|
-
* Unless required by applicable law or agreed to in writing, software
|
12
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
13
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
14
|
-
* See the License for the specific language governing permissions and
|
15
|
-
* limitations under the License.
|
16
|
-
*
|
17
|
-
*/
|
18
|
-
|
19
|
-
#include <grpc/support/port_platform.h>
|
20
|
-
|
21
|
-
#include <limits.h>
|
22
|
-
|
23
|
-
#include <atomic>
|
24
|
-
|
25
|
-
#include "src/core/ext/filters/client_idle/idle_filter_state.h"
|
26
|
-
#include "src/core/lib/channel/channel_args.h"
|
27
|
-
#include "src/core/lib/channel/channel_stack_builder.h"
|
28
|
-
#include "src/core/lib/channel/promise_based_filter.h"
|
29
|
-
#include "src/core/lib/config/core_configuration.h"
|
30
|
-
#include "src/core/lib/gprpp/capture.h"
|
31
|
-
#include "src/core/lib/iomgr/timer.h"
|
32
|
-
#include "src/core/lib/promise/exec_ctx_wakeup_scheduler.h"
|
33
|
-
#include "src/core/lib/promise/loop.h"
|
34
|
-
#include "src/core/lib/promise/sleep.h"
|
35
|
-
#include "src/core/lib/promise/try_seq.h"
|
36
|
-
#include "src/core/lib/transport/http2_errors.h"
|
37
|
-
|
38
|
-
// TODO(juanlishen): The idle filter is disabled in client channel by default
|
39
|
-
// due to b/143502997. Try to fix the bug and enable the filter by default.
|
40
|
-
#define DEFAULT_IDLE_TIMEOUT_MS INT_MAX
|
41
|
-
// The user input idle timeout smaller than this would be capped to it.
|
42
|
-
#define MIN_IDLE_TIMEOUT_MS (1 /*second*/ * 1000)
|
43
|
-
|
44
|
-
namespace grpc_core {
|
45
|
-
|
46
|
-
TraceFlag grpc_trace_client_idle_filter(false, "client_idle_filter");
|
47
|
-
|
48
|
-
#define GRPC_IDLE_FILTER_LOG(format, ...) \
|
49
|
-
do { \
|
50
|
-
if (GRPC_TRACE_FLAG_ENABLED(grpc_trace_client_idle_filter)) { \
|
51
|
-
gpr_log(GPR_INFO, "(client idle filter) " format, ##__VA_ARGS__); \
|
52
|
-
} \
|
53
|
-
} while (0)
|
54
|
-
|
55
|
-
namespace {
|
56
|
-
|
57
|
-
Duration GetClientIdleTimeout(const grpc_channel_args* args) {
|
58
|
-
auto millis = std::max(
|
59
|
-
grpc_channel_arg_get_integer(
|
60
|
-
grpc_channel_args_find(args, GRPC_ARG_CLIENT_IDLE_TIMEOUT_MS),
|
61
|
-
{DEFAULT_IDLE_TIMEOUT_MS, 0, INT_MAX}),
|
62
|
-
MIN_IDLE_TIMEOUT_MS);
|
63
|
-
if (millis == INT_MAX) return Duration::Infinity();
|
64
|
-
return Duration::Milliseconds(millis);
|
65
|
-
}
|
66
|
-
|
67
|
-
class ClientIdleFilter : public ChannelFilter {
|
68
|
-
public:
|
69
|
-
static absl::StatusOr<ClientIdleFilter> Create(
|
70
|
-
const grpc_channel_args* args, ChannelFilter::Args filter_args);
|
71
|
-
~ClientIdleFilter() override = default;
|
72
|
-
|
73
|
-
ClientIdleFilter(const ClientIdleFilter&) = delete;
|
74
|
-
ClientIdleFilter& operator=(const ClientIdleFilter&) = delete;
|
75
|
-
ClientIdleFilter(ClientIdleFilter&&) = default;
|
76
|
-
ClientIdleFilter& operator=(ClientIdleFilter&&) = default;
|
77
|
-
|
78
|
-
// Construct a promise for one call.
|
79
|
-
ArenaPromise<TrailingMetadata> MakeCallPromise(
|
80
|
-
ClientInitialMetadata initial_metadata,
|
81
|
-
NextPromiseFactory next_promise_factory) override;
|
82
|
-
|
83
|
-
bool StartTransportOp(grpc_transport_op* op) override;
|
84
|
-
|
85
|
-
private:
|
86
|
-
ClientIdleFilter(grpc_channel_stack* channel_stack,
|
87
|
-
Duration client_idle_timeout)
|
88
|
-
: channel_stack_(channel_stack),
|
89
|
-
client_idle_timeout_(client_idle_timeout) {}
|
90
|
-
|
91
|
-
void StartIdleTimer();
|
92
|
-
|
93
|
-
void IncreaseCallCount();
|
94
|
-
void DecreaseCallCount();
|
95
|
-
|
96
|
-
struct CallCountDecreaser {
|
97
|
-
void operator()(ClientIdleFilter* filter) const {
|
98
|
-
filter->DecreaseCallCount();
|
99
|
-
}
|
100
|
-
};
|
101
|
-
|
102
|
-
// The channel stack to which we take refs for pending callbacks.
|
103
|
-
grpc_channel_stack* channel_stack_;
|
104
|
-
Duration client_idle_timeout_;
|
105
|
-
std::shared_ptr<IdleFilterState> idle_filter_state_{
|
106
|
-
std::make_shared<IdleFilterState>(false)};
|
107
|
-
|
108
|
-
ActivityPtr activity_;
|
109
|
-
};
|
110
|
-
|
111
|
-
absl::StatusOr<ClientIdleFilter> ClientIdleFilter::Create(
|
112
|
-
const grpc_channel_args* args, ChannelFilter::Args filter_args) {
|
113
|
-
ClientIdleFilter filter(filter_args.channel_stack(),
|
114
|
-
GetClientIdleTimeout(args));
|
115
|
-
return absl::StatusOr<ClientIdleFilter>(std::move(filter));
|
116
|
-
}
|
117
|
-
|
118
|
-
// Construct a promise for one call.
|
119
|
-
ArenaPromise<TrailingMetadata> ClientIdleFilter::MakeCallPromise(
|
120
|
-
ClientInitialMetadata initial_metadata,
|
121
|
-
NextPromiseFactory next_promise_factory) {
|
122
|
-
using Decrementer = std::unique_ptr<ClientIdleFilter, CallCountDecreaser>;
|
123
|
-
IncreaseCallCount();
|
124
|
-
return ArenaPromise<TrailingMetadata>(Capture(
|
125
|
-
[](Decrementer*, ArenaPromise<TrailingMetadata>* next)
|
126
|
-
-> Poll<TrailingMetadata> { return (*next)(); },
|
127
|
-
Decrementer(this), next_promise_factory(std::move(initial_metadata))));
|
128
|
-
}
|
129
|
-
|
130
|
-
bool ClientIdleFilter::StartTransportOp(grpc_transport_op* op) {
|
131
|
-
// Catch the disconnect_with_error transport op.
|
132
|
-
if (op->disconnect_with_error != GRPC_ERROR_NONE) {
|
133
|
-
// IncreaseCallCount() introduces a phony call and prevent the timer from
|
134
|
-
// being reset by other threads.
|
135
|
-
IncreaseCallCount();
|
136
|
-
activity_.reset();
|
137
|
-
}
|
138
|
-
// Pass the op to the next filter.
|
139
|
-
return false;
|
140
|
-
}
|
141
|
-
|
142
|
-
void ClientIdleFilter::IncreaseCallCount() {
|
143
|
-
idle_filter_state_->IncreaseCallCount();
|
144
|
-
}
|
145
|
-
|
146
|
-
void ClientIdleFilter::DecreaseCallCount() {
|
147
|
-
if (idle_filter_state_->DecreaseCallCount()) {
|
148
|
-
// If there are no more calls in progress, start the idle timer.
|
149
|
-
StartIdleTimer();
|
150
|
-
}
|
151
|
-
}
|
152
|
-
|
153
|
-
void ClientIdleFilter::StartIdleTimer() {
|
154
|
-
GRPC_IDLE_FILTER_LOG("timer has started");
|
155
|
-
auto idle_filter_state = idle_filter_state_;
|
156
|
-
// Hold a ref to the channel stack for the timer callback.
|
157
|
-
auto channel_stack = channel_stack_->Ref();
|
158
|
-
auto timeout = client_idle_timeout_;
|
159
|
-
auto promise = Loop([timeout, idle_filter_state]() {
|
160
|
-
return TrySeq(Sleep(ExecCtx::Get()->Now() + timeout),
|
161
|
-
[idle_filter_state]() -> Poll<LoopCtl<absl::Status>> {
|
162
|
-
if (idle_filter_state->CheckTimer()) {
|
163
|
-
return Continue{};
|
164
|
-
} else {
|
165
|
-
return absl::OkStatus();
|
166
|
-
}
|
167
|
-
});
|
168
|
-
});
|
169
|
-
activity_ = MakeActivity(
|
170
|
-
std::move(promise), ExecCtxWakeupScheduler{},
|
171
|
-
[channel_stack](absl::Status status) {
|
172
|
-
if (!status.ok()) return;
|
173
|
-
auto* op = grpc_make_transport_op(nullptr);
|
174
|
-
op->disconnect_with_error = grpc_error_set_int(
|
175
|
-
GRPC_ERROR_CREATE_FROM_STATIC_STRING("enter idle"),
|
176
|
-
GRPC_ERROR_INT_CHANNEL_CONNECTIVITY_STATE, GRPC_CHANNEL_IDLE);
|
177
|
-
// Pass the transport op down to the channel stack.
|
178
|
-
auto* elem = grpc_channel_stack_element(channel_stack.get(), 0);
|
179
|
-
elem->filter->start_transport_op(elem, op);
|
180
|
-
});
|
181
|
-
}
|
182
|
-
|
183
|
-
const grpc_channel_filter grpc_client_idle_filter =
|
184
|
-
MakePromiseBasedFilter<ClientIdleFilter, FilterEndpoint::kClient>(
|
185
|
-
"client_idle");
|
186
|
-
|
187
|
-
} // namespace
|
188
|
-
|
189
|
-
void RegisterClientIdleFilter(CoreConfiguration::Builder* builder) {
|
190
|
-
builder->channel_init()->RegisterStage(
|
191
|
-
GRPC_CLIENT_CHANNEL, GRPC_CHANNEL_INIT_BUILTIN_PRIORITY,
|
192
|
-
[](ChannelStackBuilder* builder) {
|
193
|
-
const grpc_channel_args* channel_args = builder->channel_args();
|
194
|
-
if (!grpc_channel_args_want_minimal_stack(channel_args) &&
|
195
|
-
GetClientIdleTimeout(channel_args) != Duration::Infinity()) {
|
196
|
-
builder->PrependFilter(&grpc_client_idle_filter, nullptr);
|
197
|
-
}
|
198
|
-
return true;
|
199
|
-
});
|
200
|
-
}
|
201
|
-
} // namespace grpc_core
|