grpc 1.48.0-x86_64-linux → 1.49.0.pre1-x86_64-linux
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 +104 -41
- data/include/grpc/event_engine/event_engine.h +19 -16
- data/include/grpc/impl/codegen/grpc_types.h +3 -8
- data/include/grpc/impl/codegen/port_platform.h +0 -8
- data/src/core/ext/filters/channel_idle/channel_idle_filter.cc +3 -3
- data/src/core/ext/filters/channel_idle/channel_idle_filter.h +2 -2
- data/src/core/ext/filters/client_channel/client_channel.cc +117 -200
- data/src/core/ext/filters/client_channel/client_channel.h +15 -8
- data/src/core/ext/filters/client_channel/client_channel_factory.cc +0 -29
- data/src/core/ext/filters/client_channel/client_channel_factory.h +2 -10
- data/src/core/ext/filters/client_channel/client_channel_plugin.cc +1 -1
- data/src/core/ext/filters/client_channel/config_selector.h +12 -4
- data/src/core/ext/filters/client_channel/connector.h +4 -5
- data/src/core/ext/filters/client_channel/http_proxy.cc +53 -65
- data/src/core/ext/filters/client_channel/http_proxy.h +12 -9
- data/src/core/ext/filters/client_channel/lb_policy/child_policy_handler.cc +14 -12
- data/src/core/ext/filters/client_channel/lb_policy/child_policy_handler.h +6 -6
- data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.cc +100 -124
- data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_balancer_addresses.cc +12 -3
- data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_balancer_addresses.h +5 -1
- data/src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.cc +1 -0
- data/src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.h +1 -2
- data/src/core/ext/filters/client_channel/lb_policy/oob_backend_metric.h +1 -1
- data/src/core/ext/filters/client_channel/lb_policy/outlier_detection/outlier_detection.cc +169 -63
- data/src/core/ext/filters/client_channel/lb_policy/outlier_detection/outlier_detection.h +25 -1
- data/src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.cc +15 -19
- data/src/core/ext/filters/client_channel/lb_policy/priority/priority.cc +66 -78
- data/src/core/ext/filters/client_channel/lb_policy/ring_hash/ring_hash.cc +44 -44
- data/src/core/ext/filters/client_channel/lb_policy/ring_hash/ring_hash.h +6 -5
- data/src/core/ext/filters/client_channel/lb_policy/rls/rls.cc +65 -77
- data/src/core/ext/filters/client_channel/lb_policy/round_robin/round_robin.cc +15 -14
- data/src/core/ext/filters/client_channel/lb_policy/subchannel_list.h +19 -14
- data/src/core/ext/filters/client_channel/lb_policy/weighted_target/weighted_target.cc +60 -67
- data/src/core/ext/filters/client_channel/lb_policy/xds/cds.cc +40 -49
- data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_impl.cc +81 -97
- data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_manager.cc +53 -61
- data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_resolver.cc +171 -102
- data/src/core/ext/filters/client_channel/proxy_mapper.h +13 -14
- data/src/core/ext/filters/client_channel/proxy_mapper_registry.cc +19 -16
- data/src/core/ext/filters/client_channel/proxy_mapper_registry.h +8 -7
- data/src/core/ext/filters/client_channel/resolver/binder/binder_resolver.cc +4 -8
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.cc +431 -145
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.cc +170 -99
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.h +20 -7
- data/src/core/ext/filters/client_channel/resolver/dns/native/dns_resolver.cc +17 -15
- data/src/core/ext/filters/client_channel/resolver/fake/fake_resolver.cc +7 -17
- data/src/core/ext/filters/client_channel/resolver/fake/fake_resolver.h +11 -0
- data/src/core/ext/filters/client_channel/resolver/google_c2p/google_c2p_resolver.cc +13 -14
- data/src/core/ext/filters/client_channel/resolver/polling_resolver.cc +3 -4
- data/src/core/ext/filters/client_channel/resolver/polling_resolver.h +5 -6
- data/src/core/ext/filters/client_channel/resolver/sockaddr/sockaddr_resolver.cc +4 -13
- data/src/core/ext/filters/client_channel/resolver/xds/xds_resolver.cc +162 -165
- data/src/core/ext/filters/client_channel/resolver_result_parsing.cc +37 -30
- data/src/core/ext/filters/client_channel/resolver_result_parsing.h +7 -10
- data/src/core/ext/filters/client_channel/retry_filter.cc +0 -7
- data/src/core/ext/filters/client_channel/retry_service_config.cc +30 -19
- data/src/core/ext/filters/client_channel/retry_service_config.h +6 -9
- data/src/core/ext/filters/client_channel/service_config_channel_arg_filter.cc +6 -7
- data/src/core/ext/filters/client_channel/subchannel.cc +49 -89
- data/src/core/ext/filters/client_channel/subchannel.h +8 -8
- data/src/core/ext/filters/client_channel/subchannel_interface_internal.h +1 -1
- data/src/core/ext/filters/client_channel/subchannel_pool_interface.cc +6 -76
- data/src/core/ext/filters/client_channel/subchannel_pool_interface.h +16 -25
- data/src/core/ext/filters/client_channel/subchannel_stream_client.cc +3 -4
- data/src/core/ext/filters/deadline/deadline_filter.cc +6 -6
- data/src/core/ext/filters/deadline/deadline_filter.h +2 -3
- data/src/core/ext/filters/fault_injection/fault_injection_filter.cc +1 -3
- data/src/core/ext/filters/fault_injection/fault_injection_filter.h +1 -1
- data/src/core/ext/filters/fault_injection/service_config_parser.cc +17 -12
- data/src/core/ext/filters/fault_injection/service_config_parser.h +4 -5
- data/src/core/ext/filters/http/client/http_client_filter.cc +2 -3
- data/src/core/ext/filters/http/client/http_client_filter.h +1 -1
- data/src/core/ext/filters/http/client_authority_filter.cc +1 -2
- data/src/core/ext/filters/http/client_authority_filter.h +1 -1
- data/src/core/ext/filters/http/server/http_server_filter.cc +2 -3
- data/src/core/ext/filters/http/server/http_server_filter.h +1 -1
- data/src/core/ext/filters/message_size/message_size_filter.cc +13 -7
- data/src/core/ext/filters/message_size/message_size_filter.h +3 -6
- data/src/core/ext/filters/rbac/rbac_service_config_parser.cc +16 -12
- data/src/core/ext/filters/rbac/rbac_service_config_parser.h +4 -6
- data/src/core/ext/filters/server_config_selector/server_config_selector.h +5 -0
- data/src/core/ext/filters/server_config_selector/server_config_selector_filter.cc +3 -5
- data/src/core/ext/transport/chttp2/client/chttp2_connector.cc +35 -62
- data/src/core/ext/transport/chttp2/server/chttp2_server.cc +62 -89
- data/src/core/ext/transport/chttp2/server/chttp2_server.h +4 -6
- data/src/core/ext/transport/chttp2/transport/chttp2_transport.cc +130 -165
- data/src/core/ext/transport/chttp2/transport/chttp2_transport.h +3 -2
- data/src/core/ext/transport/chttp2/transport/flow_control.cc +67 -2
- data/src/core/ext/transport/chttp2/transport/flow_control.h +1 -0
- data/src/core/ext/transport/chttp2/transport/hpack_constants.h +7 -1
- data/src/core/ext/transport/chttp2/transport/hpack_encoder.cc +25 -8
- data/src/core/ext/transport/chttp2/transport/hpack_encoder.h +4 -0
- data/src/core/ext/transport/chttp2/transport/hpack_encoder_table.cc +0 -1
- data/src/core/ext/transport/chttp2/transport/hpack_encoder_table.h +8 -2
- data/src/core/ext/transport/chttp2/transport/hpack_parser.cc +2 -10
- data/src/core/ext/transport/chttp2/transport/internal.h +2 -1
- data/src/core/ext/transport/inproc/inproc_transport.cc +40 -74
- data/src/core/ext/upb-generated/envoy/admin/v3/certs.upb.c +5 -5
- data/src/core/ext/upb-generated/envoy/admin/v3/certs.upb.h +30 -10
- data/src/core/ext/upb-generated/envoy/admin/v3/clusters.upb.c +4 -4
- data/src/core/ext/upb-generated/envoy/admin/v3/clusters.upb.h +24 -8
- data/src/core/ext/upb-generated/envoy/admin/v3/config_dump.upb.c +8 -327
- data/src/core/ext/upb-generated/envoy/admin/v3/config_dump.upb.h +83 -1723
- data/src/core/ext/upb-generated/envoy/admin/v3/config_dump_shared.upb.c +352 -0
- data/src/core/ext/upb-generated/envoy/admin/v3/config_dump_shared.upb.h +1768 -0
- data/src/core/ext/upb-generated/envoy/admin/v3/init_dump.upb.c +2 -2
- data/src/core/ext/upb-generated/envoy/admin/v3/init_dump.upb.h +12 -4
- data/src/core/ext/upb-generated/envoy/admin/v3/listeners.upb.c +6 -4
- data/src/core/ext/upb-generated/envoy/admin/v3/listeners.upb.h +33 -4
- data/src/core/ext/upb-generated/envoy/admin/v3/memory.upb.c +1 -1
- data/src/core/ext/upb-generated/envoy/admin/v3/memory.upb.h +6 -2
- data/src/core/ext/upb-generated/envoy/admin/v3/metrics.upb.c +1 -1
- data/src/core/ext/upb-generated/envoy/admin/v3/metrics.upb.h +6 -2
- data/src/core/ext/upb-generated/envoy/admin/v3/mutex_stats.upb.h +6 -2
- data/src/core/ext/upb-generated/envoy/admin/v3/server_info.upb.h +12 -4
- data/src/core/ext/upb-generated/envoy/admin/v3/tap.upb.c +1 -1
- data/src/core/ext/upb-generated/envoy/admin/v3/tap.upb.h +6 -2
- data/src/core/ext/upb-generated/envoy/annotations/resource.upb.c +1 -1
- data/src/core/ext/upb-generated/envoy/annotations/resource.upb.h +7 -3
- data/src/core/ext/upb-generated/envoy/config/accesslog/v3/accesslog.upb.c +14 -14
- data/src/core/ext/upb-generated/envoy/config/accesslog/v3/accesslog.upb.h +90 -30
- data/src/core/ext/upb-generated/envoy/config/bootstrap/v3/bootstrap.upb.c +21 -19
- data/src/core/ext/upb-generated/envoy/config/bootstrap/v3/bootstrap.upb.h +124 -34
- data/src/core/ext/upb-generated/envoy/config/cluster/v3/circuit_breaker.upb.c +3 -3
- data/src/core/ext/upb-generated/envoy/config/cluster/v3/circuit_breaker.upb.h +18 -6
- data/src/core/ext/upb-generated/envoy/config/cluster/v3/cluster.upb.c +23 -22
- data/src/core/ext/upb-generated/envoy/config/cluster/v3/cluster.upb.h +153 -48
- data/src/core/ext/upb-generated/envoy/config/cluster/v3/filter.upb.c +1 -1
- data/src/core/ext/upb-generated/envoy/config/cluster/v3/filter.upb.h +6 -2
- data/src/core/ext/upb-generated/envoy/config/cluster/v3/outlier_detection.upb.c +1 -1
- data/src/core/ext/upb-generated/envoy/config/cluster/v3/outlier_detection.upb.h +6 -2
- data/src/core/ext/upb-generated/envoy/config/common/matcher/v3/matcher.upb.c +11 -11
- data/src/core/ext/upb-generated/envoy/config/common/matcher/v3/matcher.upb.h +84 -28
- data/src/core/ext/upb-generated/envoy/config/core/v3/address.upb.c +7 -7
- data/src/core/ext/upb-generated/envoy/config/core/v3/address.upb.h +42 -14
- data/src/core/ext/upb-generated/envoy/config/core/v3/backoff.upb.c +1 -1
- data/src/core/ext/upb-generated/envoy/config/core/v3/backoff.upb.h +6 -2
- data/src/core/ext/upb-generated/envoy/config/core/v3/base.upb.c +25 -23
- data/src/core/ext/upb-generated/envoy/config/core/v3/base.upb.h +156 -48
- data/src/core/ext/upb-generated/envoy/config/core/v3/config_source.upb.c +7 -7
- data/src/core/ext/upb-generated/envoy/config/core/v3/config_source.upb.h +42 -14
- data/src/core/ext/upb-generated/envoy/config/core/v3/event_service_config.upb.c +1 -1
- data/src/core/ext/upb-generated/envoy/config/core/v3/event_service_config.upb.h +6 -2
- data/src/core/ext/upb-generated/envoy/config/core/v3/extension.upb.c +1 -1
- data/src/core/ext/upb-generated/envoy/config/core/v3/extension.upb.h +6 -2
- data/src/core/ext/upb-generated/envoy/config/core/v3/grpc_method_list.upb.c +2 -2
- data/src/core/ext/upb-generated/envoy/config/core/v3/grpc_method_list.upb.h +12 -4
- data/src/core/ext/upb-generated/envoy/config/core/v3/grpc_service.upb.c +12 -12
- data/src/core/ext/upb-generated/envoy/config/core/v3/grpc_service.upb.h +78 -26
- data/src/core/ext/upb-generated/envoy/config/core/v3/health_check.upb.c +9 -9
- data/src/core/ext/upb-generated/envoy/config/core/v3/health_check.upb.h +54 -18
- data/src/core/ext/upb-generated/envoy/config/core/v3/http_uri.upb.c +1 -1
- data/src/core/ext/upb-generated/envoy/config/core/v3/http_uri.upb.h +6 -2
- data/src/core/ext/upb-generated/envoy/config/core/v3/protocol.upb.c +21 -20
- data/src/core/ext/upb-generated/envoy/config/core/v3/protocol.upb.h +117 -44
- data/src/core/ext/upb-generated/envoy/config/core/v3/proxy_protocol.upb.c +1 -1
- data/src/core/ext/upb-generated/envoy/config/core/v3/proxy_protocol.upb.h +6 -2
- data/src/core/ext/upb-generated/envoy/config/core/v3/resolver.upb.c +2 -2
- data/src/core/ext/upb-generated/envoy/config/core/v3/resolver.upb.h +12 -4
- data/src/core/ext/upb-generated/envoy/config/core/v3/socket_option.upb.h +6 -2
- data/src/core/ext/upb-generated/envoy/config/core/v3/substitution_format_string.upb.c +1 -1
- data/src/core/ext/upb-generated/envoy/config/core/v3/substitution_format_string.upb.h +6 -2
- data/src/core/ext/upb-generated/envoy/config/core/v3/udp_socket_config.upb.c +1 -1
- data/src/core/ext/upb-generated/envoy/config/core/v3/udp_socket_config.upb.h +6 -2
- data/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint.upb.c +3 -3
- data/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint.upb.h +18 -6
- data/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint_components.upb.c +5 -5
- data/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint_components.upb.h +36 -12
- data/src/core/ext/upb-generated/envoy/config/endpoint/v3/load_report.upb.c +3 -3
- data/src/core/ext/upb-generated/envoy/config/endpoint/v3/load_report.upb.h +30 -10
- data/src/core/ext/upb-generated/envoy/config/listener/v3/api_listener.upb.c +1 -1
- data/src/core/ext/upb-generated/envoy/config/listener/v3/api_listener.upb.h +6 -2
- data/src/core/ext/upb-generated/envoy/config/listener/v3/listener.upb.c +37 -13
- data/src/core/ext/upb-generated/envoy/config/listener/v3/listener.upb.h +170 -15
- data/src/core/ext/upb-generated/envoy/config/listener/v3/listener_components.upb.c +5 -5
- data/src/core/ext/upb-generated/envoy/config/listener/v3/listener_components.upb.h +42 -14
- data/src/core/ext/upb-generated/envoy/config/listener/v3/quic_config.upb.c +1 -1
- data/src/core/ext/upb-generated/envoy/config/listener/v3/quic_config.upb.h +6 -2
- data/src/core/ext/upb-generated/envoy/config/listener/v3/udp_listener_config.upb.c +7 -4
- data/src/core/ext/upb-generated/envoy/config/listener/v3/udp_listener_config.upb.h +36 -4
- data/src/core/ext/upb-generated/envoy/config/metrics/v3/metrics_service.upb.c +1 -1
- data/src/core/ext/upb-generated/envoy/config/metrics/v3/metrics_service.upb.h +6 -2
- data/src/core/ext/upb-generated/envoy/config/metrics/v3/stats.upb.c +6 -6
- data/src/core/ext/upb-generated/envoy/config/metrics/v3/stats.upb.h +48 -16
- data/src/core/ext/upb-generated/envoy/config/overload/v3/overload.upb.c +8 -8
- data/src/core/ext/upb-generated/envoy/config/overload/v3/overload.upb.h +54 -18
- data/src/core/ext/upb-generated/envoy/config/rbac/v3/rbac.upb.c +21 -9
- data/src/core/ext/upb-generated/envoy/config/rbac/v3/rbac.upb.h +100 -14
- data/src/core/ext/upb-generated/envoy/config/route/v3/route.upb.c +7 -22
- data/src/core/ext/upb-generated/envoy/config/route/v3/route.upb.h +36 -77
- data/src/core/ext/upb-generated/envoy/config/route/v3/route_components.upb.c +121 -76
- data/src/core/ext/upb-generated/envoy/config/route/v3/route_components.upb.h +647 -163
- data/src/core/ext/upb-generated/envoy/config/route/v3/scoped_route.upb.c +3 -3
- data/src/core/ext/upb-generated/envoy/config/route/v3/scoped_route.upb.h +18 -6
- data/src/core/ext/upb-generated/envoy/config/tap/v3/common.upb.c +34 -15
- data/src/core/ext/upb-generated/envoy/config/tap/v3/common.upb.h +161 -22
- data/src/core/ext/upb-generated/envoy/config/trace/v3/datadog.upb.c +1 -1
- data/src/core/ext/upb-generated/envoy/config/trace/v3/datadog.upb.h +6 -2
- data/src/core/ext/upb-generated/envoy/config/trace/v3/dynamic_ot.upb.c +1 -1
- data/src/core/ext/upb-generated/envoy/config/trace/v3/dynamic_ot.upb.h +6 -2
- data/src/core/ext/upb-generated/envoy/config/trace/v3/http_tracer.upb.c +2 -2
- data/src/core/ext/upb-generated/envoy/config/trace/v3/http_tracer.upb.h +12 -4
- data/src/core/ext/upb-generated/envoy/config/trace/v3/lightstep.upb.c +1 -1
- data/src/core/ext/upb-generated/envoy/config/trace/v3/lightstep.upb.h +6 -2
- data/src/core/ext/upb-generated/envoy/config/trace/v3/opencensus.upb.c +1 -1
- data/src/core/ext/upb-generated/envoy/config/trace/v3/opencensus.upb.h +6 -2
- data/src/core/ext/upb-generated/envoy/config/trace/v3/opentelemetry.upb.c +46 -0
- data/src/core/ext/upb-generated/envoy/config/trace/v3/opentelemetry.upb.h +98 -0
- data/src/core/ext/upb-generated/envoy/config/trace/v3/service.upb.c +1 -1
- data/src/core/ext/upb-generated/envoy/config/trace/v3/service.upb.h +6 -2
- data/src/core/ext/upb-generated/envoy/config/trace/v3/skywalking.upb.c +2 -2
- data/src/core/ext/upb-generated/envoy/config/trace/v3/skywalking.upb.h +12 -4
- data/src/core/ext/upb-generated/envoy/config/trace/v3/trace.upb.c +1 -0
- data/src/core/ext/upb-generated/envoy/config/trace/v3/trace.upb.h +1 -0
- data/src/core/ext/upb-generated/envoy/config/trace/v3/xray.upb.c +2 -2
- data/src/core/ext/upb-generated/envoy/config/trace/v3/xray.upb.h +12 -4
- data/src/core/ext/upb-generated/envoy/config/trace/v3/zipkin.upb.c +1 -1
- data/src/core/ext/upb-generated/envoy/config/trace/v3/zipkin.upb.h +6 -2
- data/src/core/ext/upb-generated/envoy/extensions/clusters/aggregate/v3/cluster.upb.c +1 -1
- data/src/core/ext/upb-generated/envoy/extensions/clusters/aggregate/v3/cluster.upb.h +6 -2
- data/src/core/ext/upb-generated/envoy/extensions/filters/common/fault/v3/fault.upb.c +2 -2
- data/src/core/ext/upb-generated/envoy/extensions/filters/common/fault/v3/fault.upb.h +30 -10
- data/src/core/ext/upb-generated/envoy/extensions/filters/http/fault/v3/fault.upb.c +2 -2
- data/src/core/ext/upb-generated/envoy/extensions/filters/http/fault/v3/fault.upb.h +18 -6
- data/src/core/ext/upb-generated/envoy/extensions/filters/http/rbac/v3/rbac.upb.c +11 -4
- data/src/core/ext/upb-generated/envoy/extensions/filters/http/rbac/v3/rbac.upb.h +58 -4
- data/src/core/ext/upb-generated/envoy/extensions/filters/http/router/v3/router.upb.c +1 -1
- data/src/core/ext/upb-generated/envoy/extensions/filters/http/router/v3/router.upb.h +6 -2
- data/src/core/ext/upb-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.c +35 -27
- data/src/core/ext/upb-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.h +177 -52
- data/src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/ring_hash/v3/ring_hash.upb.h +6 -2
- data/src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/wrr_locality/v3/wrr_locality.upb.c +1 -1
- data/src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/wrr_locality/v3/wrr_locality.upb.h +6 -2
- data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/common.upb.c +10 -8
- data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/common.upb.h +66 -14
- data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/secret.upb.c +3 -3
- data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/secret.upb.h +18 -6
- data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/tls.upb.c +5 -5
- data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/tls.upb.h +42 -14
- data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.upb.c +2 -2
- data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.upb.h +12 -4
- 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/ads.upb.h +6 -2
- data/src/core/ext/upb-generated/envoy/service/discovery/v3/discovery.upb.c +131 -16
- data/src/core/ext/upb-generated/envoy/service/discovery/v3/discovery.upb.h +632 -12
- data/src/core/ext/upb-generated/envoy/service/load_stats/v3/lrs.upb.c +2 -2
- data/src/core/ext/upb-generated/envoy/service/load_stats/v3/lrs.upb.h +12 -4
- data/src/core/ext/upb-generated/envoy/service/status/v3/csds.upb.c +5 -5
- data/src/core/ext/upb-generated/envoy/service/status/v3/csds.upb.h +30 -10
- data/src/core/ext/upb-generated/envoy/type/http/v3/cookie.upb.c +1 -1
- data/src/core/ext/upb-generated/envoy/type/http/v3/cookie.upb.h +6 -2
- data/src/core/ext/upb-generated/envoy/type/http/v3/path_transformation.upb.c +4 -4
- data/src/core/ext/upb-generated/envoy/type/http/v3/path_transformation.upb.h +24 -8
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/http_inputs.upb.c +4 -4
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/http_inputs.upb.h +24 -8
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/metadata.upb.c +2 -2
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/metadata.upb.h +12 -4
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/node.upb.c +1 -1
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/node.upb.h +6 -2
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/number.upb.c +1 -1
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/number.upb.h +6 -2
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/path.upb.c +1 -1
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/path.upb.h +6 -2
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/regex.upb.c +3 -3
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/regex.upb.h +18 -6
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/string.upb.c +1 -1
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/string.upb.h +12 -4
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/struct.upb.c +2 -2
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/struct.upb.h +12 -4
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/value.upb.c +3 -3
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/value.upb.h +18 -6
- data/src/core/ext/upb-generated/envoy/type/metadata/v3/metadata.upb.c +7 -7
- data/src/core/ext/upb-generated/envoy/type/metadata/v3/metadata.upb.h +42 -14
- data/src/core/ext/upb-generated/envoy/type/tracing/v3/custom_tag.upb.c +5 -5
- data/src/core/ext/upb-generated/envoy/type/tracing/v3/custom_tag.upb.h +30 -10
- data/src/core/ext/upb-generated/envoy/type/v3/hash_policy.upb.c +3 -3
- data/src/core/ext/upb-generated/envoy/type/v3/hash_policy.upb.h +18 -6
- data/src/core/ext/upb-generated/envoy/type/v3/http_status.upb.c +1 -1
- data/src/core/ext/upb-generated/envoy/type/v3/http_status.upb.h +6 -2
- data/src/core/ext/upb-generated/envoy/type/v3/percent.upb.h +12 -4
- data/src/core/ext/upb-generated/envoy/type/v3/range.upb.c +2 -2
- data/src/core/ext/upb-generated/envoy/type/v3/range.upb.h +18 -6
- data/src/core/ext/upb-generated/envoy/type/v3/ratelimit_strategy.upb.c +63 -0
- data/src/core/ext/upb-generated/envoy/type/v3/ratelimit_strategy.upb.h +202 -0
- data/src/core/ext/upb-generated/envoy/type/v3/semantic_version.upb.c +1 -1
- data/src/core/ext/upb-generated/envoy/type/v3/semantic_version.upb.h +6 -2
- data/src/core/ext/upb-generated/envoy/type/v3/token_bucket.upb.h +6 -2
- data/src/core/ext/upb-generated/google/api/annotations.upb.h +1 -1
- data/src/core/ext/upb-generated/google/api/expr/v1alpha1/checked.upb.c +11 -11
- data/src/core/ext/upb-generated/google/api/expr/v1alpha1/checked.upb.h +66 -22
- data/src/core/ext/upb-generated/google/api/expr/v1alpha1/syntax.upb.c +9 -9
- data/src/core/ext/upb-generated/google/api/expr/v1alpha1/syntax.upb.h +72 -24
- data/src/core/ext/upb-generated/google/api/http.upb.c +3 -3
- data/src/core/ext/upb-generated/google/api/http.upb.h +18 -6
- data/src/core/ext/upb-generated/google/api/httpbody.upb.c +1 -1
- data/src/core/ext/upb-generated/google/api/httpbody.upb.h +6 -2
- data/src/core/ext/upb-generated/google/protobuf/any.upb.c +1 -1
- data/src/core/ext/upb-generated/google/protobuf/any.upb.h +6 -2
- data/src/core/ext/upb-generated/google/protobuf/descriptor.upb.c +44 -43
- data/src/core/ext/upb-generated/google/protobuf/descriptor.upb.h +177 -55
- data/src/core/ext/upb-generated/google/protobuf/duration.upb.c +1 -1
- data/src/core/ext/upb-generated/google/protobuf/duration.upb.h +6 -2
- data/src/core/ext/upb-generated/google/protobuf/empty.upb.c +1 -1
- data/src/core/ext/upb-generated/google/protobuf/empty.upb.h +6 -2
- data/src/core/ext/upb-generated/google/protobuf/struct.upb.c +2 -2
- data/src/core/ext/upb-generated/google/protobuf/struct.upb.h +18 -6
- data/src/core/ext/upb-generated/google/protobuf/timestamp.upb.c +1 -1
- data/src/core/ext/upb-generated/google/protobuf/timestamp.upb.h +6 -2
- data/src/core/ext/upb-generated/google/protobuf/wrappers.upb.c +6 -6
- data/src/core/ext/upb-generated/google/protobuf/wrappers.upb.h +54 -18
- data/src/core/ext/upb-generated/google/rpc/status.upb.c +1 -1
- data/src/core/ext/upb-generated/google/rpc/status.upb.h +6 -2
- data/src/core/ext/upb-generated/opencensus/proto/trace/v1/trace_config.upb.c +2 -2
- data/src/core/ext/upb-generated/opencensus/proto/trace/v1/trace_config.upb.h +24 -8
- data/src/core/ext/upb-generated/src/proto/grpc/gcp/altscontext.upb.h +6 -2
- data/src/core/ext/upb-generated/src/proto/grpc/gcp/handshaker.upb.c +7 -7
- data/src/core/ext/upb-generated/src/proto/grpc/gcp/handshaker.upb.h +60 -20
- data/src/core/ext/upb-generated/src/proto/grpc/gcp/transport_security_common.upb.c +1 -1
- data/src/core/ext/upb-generated/src/proto/grpc/gcp/transport_security_common.upb.h +12 -4
- data/src/core/ext/upb-generated/src/proto/grpc/health/v1/health.upb.c +2 -2
- data/src/core/ext/upb-generated/src/proto/grpc/health/v1/health.upb.h +12 -4
- data/src/core/ext/upb-generated/src/proto/grpc/lb/v1/load_balancer.upb.c +6 -6
- data/src/core/ext/upb-generated/src/proto/grpc/lb/v1/load_balancer.upb.h +54 -18
- data/src/core/ext/upb-generated/src/proto/grpc/lookup/v1/rls.upb.c +2 -2
- data/src/core/ext/upb-generated/src/proto/grpc/lookup/v1/rls.upb.h +12 -4
- data/src/core/ext/upb-generated/src/proto/grpc/lookup/v1/rls_config.upb.c +7 -7
- data/src/core/ext/upb-generated/src/proto/grpc/lookup/v1/rls_config.upb.h +42 -14
- data/src/core/ext/upb-generated/udpa/annotations/migrate.upb.c +3 -3
- data/src/core/ext/upb-generated/udpa/annotations/migrate.upb.h +23 -11
- data/src/core/ext/upb-generated/udpa/annotations/security.upb.c +1 -1
- data/src/core/ext/upb-generated/udpa/annotations/security.upb.h +7 -3
- data/src/core/ext/upb-generated/udpa/annotations/status.upb.h +7 -3
- data/src/core/ext/upb-generated/udpa/annotations/versioning.upb.c +1 -1
- data/src/core/ext/upb-generated/udpa/annotations/versioning.upb.h +7 -3
- data/src/core/ext/upb-generated/validate/validate.upb.c +22 -22
- data/src/core/ext/upb-generated/validate/validate.upb.h +139 -47
- data/src/core/ext/upb-generated/xds/annotations/v3/migrate.upb.c +3 -3
- data/src/core/ext/upb-generated/xds/annotations/v3/migrate.upb.h +23 -11
- data/src/core/ext/upb-generated/xds/annotations/v3/security.upb.c +1 -1
- data/src/core/ext/upb-generated/xds/annotations/v3/security.upb.h +7 -3
- data/src/core/ext/upb-generated/xds/annotations/v3/status.upb.c +3 -3
- data/src/core/ext/upb-generated/xds/annotations/v3/status.upb.h +27 -11
- data/src/core/ext/upb-generated/xds/annotations/v3/versioning.upb.c +1 -1
- data/src/core/ext/upb-generated/xds/annotations/v3/versioning.upb.h +7 -3
- data/src/core/ext/upb-generated/xds/core/v3/authority.upb.c +1 -1
- data/src/core/ext/upb-generated/xds/core/v3/authority.upb.h +6 -2
- data/src/core/ext/upb-generated/xds/core/v3/collection_entry.upb.c +2 -2
- data/src/core/ext/upb-generated/xds/core/v3/collection_entry.upb.h +12 -4
- data/src/core/ext/upb-generated/xds/core/v3/context_params.upb.c +1 -1
- data/src/core/ext/upb-generated/xds/core/v3/context_params.upb.h +6 -2
- data/src/core/ext/upb-generated/xds/core/v3/extension.upb.c +1 -1
- data/src/core/ext/upb-generated/xds/core/v3/extension.upb.h +6 -2
- data/src/core/ext/upb-generated/xds/core/v3/resource.upb.c +1 -1
- data/src/core/ext/upb-generated/xds/core/v3/resource.upb.h +6 -2
- data/src/core/ext/upb-generated/xds/core/v3/resource_locator.upb.c +1 -1
- data/src/core/ext/upb-generated/xds/core/v3/resource_locator.upb.h +12 -4
- data/src/core/ext/upb-generated/xds/core/v3/resource_name.upb.c +1 -1
- data/src/core/ext/upb-generated/xds/core/v3/resource_name.upb.h +6 -2
- data/src/core/ext/upb-generated/xds/data/orca/v3/orca_load_report.upb.h +6 -2
- data/src/core/ext/upb-generated/xds/service/orca/v3/orca.upb.c +1 -1
- data/src/core/ext/upb-generated/xds/service/orca/v3/orca.upb.h +6 -2
- data/src/core/ext/upb-generated/xds/type/matcher/v3/matcher.upb.c +6 -6
- data/src/core/ext/upb-generated/xds/type/matcher/v3/matcher.upb.h +54 -18
- data/src/core/ext/upb-generated/xds/type/matcher/v3/regex.upb.c +2 -2
- data/src/core/ext/upb-generated/xds/type/matcher/v3/regex.upb.h +12 -4
- data/src/core/ext/upb-generated/xds/type/matcher/v3/string.upb.c +1 -1
- data/src/core/ext/upb-generated/xds/type/matcher/v3/string.upb.h +12 -4
- data/src/core/ext/upb-generated/xds/type/v3/typed_struct.upb.c +1 -1
- data/src/core/ext/upb-generated/xds/type/v3/typed_struct.upb.h +6 -2
- data/src/core/ext/upbdefs-generated/envoy/admin/v3/config_dump.upbdefs.c +67 -274
- data/src/core/ext/upbdefs-generated/envoy/admin/v3/config_dump.upbdefs.h +0 -85
- data/src/core/ext/upbdefs-generated/envoy/admin/v3/config_dump_shared.upbdefs.c +256 -0
- data/src/core/ext/upbdefs-generated/envoy/admin/v3/config_dump_shared.upbdefs.h +115 -0
- data/src/core/ext/upbdefs-generated/envoy/admin/v3/listeners.upbdefs.c +14 -11
- data/src/core/ext/upbdefs-generated/envoy/config/accesslog/v3/accesslog.upbdefs.c +107 -107
- data/src/core/ext/upbdefs-generated/envoy/config/bootstrap/v3/bootstrap.upbdefs.c +191 -187
- data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/cluster.upbdefs.c +156 -154
- data/src/core/ext/upbdefs-generated/envoy/config/core/v3/base.upbdefs.c +186 -183
- data/src/core/ext/upbdefs-generated/envoy/config/core/v3/protocol.upbdefs.c +136 -134
- data/src/core/ext/upbdefs-generated/envoy/config/core/v3/substitution_format_string.upbdefs.c +16 -16
- data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/listener.upbdefs.c +162 -139
- data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/listener.upbdefs.h +5 -0
- data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/udp_listener_config.upbdefs.c +39 -31
- data/src/core/ext/upbdefs-generated/envoy/config/rbac/v3/rbac.upbdefs.c +12 -8
- data/src/core/ext/upbdefs-generated/envoy/config/rbac/v3/rbac.upbdefs.h +5 -0
- data/src/core/ext/upbdefs-generated/envoy/config/route/v3/route.upbdefs.c +72 -75
- data/src/core/ext/upbdefs-generated/envoy/config/route/v3/route.upbdefs.h +0 -5
- data/src/core/ext/upbdefs-generated/envoy/config/route/v3/route_components.upbdefs.c +713 -670
- data/src/core/ext/upbdefs-generated/envoy/config/route/v3/route_components.upbdefs.h +10 -0
- data/src/core/ext/upbdefs-generated/envoy/config/tap/v3/common.upbdefs.c +150 -139
- data/src/core/ext/upbdefs-generated/envoy/config/tap/v3/common.upbdefs.h +5 -0
- data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/opentelemetry.upbdefs.c +47 -0
- data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/opentelemetry.upbdefs.h +35 -0
- data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/trace.upbdefs.c +16 -12
- data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/rbac/v3/rbac.upbdefs.c +46 -25
- data/src/core/ext/upbdefs-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upbdefs.c +477 -466
- data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/common.upbdefs.c +21 -18
- data/src/core/ext/upbdefs-generated/envoy/service/discovery/v3/discovery.upbdefs.c +153 -84
- data/src/core/ext/upbdefs-generated/envoy/service/discovery/v3/discovery.upbdefs.h +35 -0
- data/src/core/ext/upbdefs-generated/envoy/service/status/v3/csds.upbdefs.c +113 -113
- data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/regex.upbdefs.c +29 -28
- data/src/core/ext/upbdefs-generated/envoy/type/v3/ratelimit_strategy.upbdefs.c +69 -0
- data/src/core/ext/upbdefs-generated/envoy/type/v3/ratelimit_strategy.upbdefs.h +40 -0
- data/src/core/ext/upbdefs-generated/google/protobuf/descriptor.upbdefs.c +92 -90
- data/src/core/ext/xds/upb_utils.h +0 -21
- data/src/core/ext/xds/xds_api.cc +53 -86
- data/src/core/ext/xds/xds_api.h +19 -28
- data/src/core/ext/xds/xds_bootstrap.cc +39 -52
- data/src/core/ext/xds/xds_bootstrap.h +28 -8
- data/src/core/ext/xds/xds_certificate_provider.h +9 -0
- data/src/core/ext/xds/xds_channel_stack_modifier.cc +6 -4
- data/src/core/ext/xds/xds_channel_stack_modifier.h +8 -0
- data/src/core/ext/xds/xds_client.cc +555 -1214
- data/src/core/ext/xds/xds_client.h +16 -44
- data/src/core/ext/xds/xds_client_grpc.cc +291 -0
- data/src/core/ext/xds/xds_client_grpc.h +102 -0
- data/src/core/ext/xds/xds_cluster.cc +92 -103
- data/src/core/ext/xds/xds_cluster.h +6 -5
- data/src/core/ext/xds/xds_cluster_specifier_plugin.cc +10 -14
- data/src/core/ext/xds/xds_cluster_specifier_plugin.h +1 -0
- data/src/core/ext/xds/xds_common_types.cc +134 -110
- data/src/core/ext/xds/xds_common_types.h +6 -7
- data/src/core/ext/xds/xds_endpoint.cc +80 -80
- data/src/core/ext/xds/xds_endpoint.h +4 -4
- data/src/core/ext/xds/xds_http_fault_filter.cc +4 -11
- data/src/core/ext/xds/xds_http_fault_filter.h +3 -3
- data/src/core/ext/xds/xds_http_filters.h +3 -3
- data/src/core/ext/xds/xds_http_rbac_filter.cc +39 -58
- data/src/core/ext/xds/xds_http_rbac_filter.h +3 -3
- data/src/core/ext/xds/xds_lb_policy_registry.cc +17 -20
- data/src/core/ext/xds/xds_lb_policy_registry.h +4 -4
- data/src/core/ext/xds/xds_listener.cc +329 -299
- data/src/core/ext/xds/xds_listener.h +4 -4
- data/src/core/ext/xds/xds_resource_type.h +13 -2
- data/src/core/ext/xds/xds_route_config.cc +180 -177
- data/src/core/ext/xds/xds_route_config.h +31 -17
- data/src/core/ext/xds/xds_routing.cc +3 -6
- data/src/core/ext/xds/xds_routing.h +7 -9
- data/src/core/ext/xds/xds_server_config_fetcher.cc +76 -81
- data/src/core/ext/xds/xds_transport.h +86 -0
- data/src/core/ext/xds/xds_transport_grpc.cc +349 -0
- data/src/core/ext/xds/xds_transport_grpc.h +135 -0
- data/src/core/lib/address_utils/parse_address.cc +19 -17
- data/src/core/lib/address_utils/parse_address.h +8 -5
- data/src/core/lib/avl/avl.h +47 -25
- data/src/core/lib/channel/call_tracer.h +1 -1
- data/src/core/lib/channel/channel_args.cc +88 -19
- data/src/core/lib/channel/channel_args.h +113 -62
- data/src/core/lib/channel/channel_stack.cc +0 -1
- data/src/core/lib/channel/channel_stack_builder.cc +3 -3
- data/src/core/lib/channel/channel_stack_builder.h +2 -2
- data/src/core/lib/channel/channel_stack_builder_impl.cc +2 -4
- data/src/core/lib/channel/channelz.cc +27 -37
- data/src/core/lib/channel/channelz.h +9 -0
- data/src/core/lib/channel/promise_based_filter.h +0 -1
- data/src/core/lib/config/core_configuration.h +48 -35
- data/src/core/lib/debug/stats.cc +12 -15
- data/src/core/lib/debug/stats.h +11 -3
- data/src/core/lib/event_engine/{event_engine.cc → default_event_engine.cc} +9 -5
- data/src/core/lib/event_engine/{event_engine_factory.h → default_event_engine.h} +4 -8
- data/src/core/lib/event_engine/default_event_engine_factory.cc +20 -3
- data/src/core/lib/event_engine/default_event_engine_factory.h +33 -0
- data/src/core/lib/event_engine/executor/executor.h +38 -0
- data/src/core/lib/event_engine/executor/threaded_executor.cc +36 -0
- data/src/core/lib/event_engine/executor/threaded_executor.h +44 -0
- data/src/core/lib/event_engine/forkable.cc +98 -0
- data/src/core/lib/event_engine/forkable.h +61 -0
- data/src/core/lib/event_engine/poller.h +54 -0
- data/src/core/lib/event_engine/{iomgr_engine/iomgr_engine.cc → posix_engine/posix_engine.cc} +30 -47
- data/src/core/lib/event_engine/{iomgr_engine/iomgr_engine.h → posix_engine/posix_engine.h} +27 -28
- data/src/core/lib/event_engine/{iomgr_engine → posix_engine}/timer.cc +4 -5
- data/src/core/lib/event_engine/{iomgr_engine → posix_engine}/timer.h +8 -8
- data/src/core/lib/event_engine/{iomgr_engine → posix_engine}/timer_heap.cc +4 -4
- data/src/core/lib/event_engine/{iomgr_engine → posix_engine}/timer_heap.h +5 -5
- data/src/core/lib/event_engine/{iomgr_engine → posix_engine}/timer_manager.cc +46 -10
- data/src/core/lib/event_engine/{iomgr_engine → posix_engine}/timer_manager.h +17 -8
- data/src/core/lib/event_engine/promise.h +11 -2
- data/src/core/lib/event_engine/socket_notifier.h +55 -0
- data/src/core/lib/event_engine/{iomgr_engine/thread_pool.cc → thread_pool.cc} +49 -14
- data/src/core/lib/event_engine/{iomgr_engine/thread_pool.h → thread_pool.h} +21 -10
- data/src/core/lib/event_engine/utils.cc +49 -0
- data/src/core/lib/event_engine/utils.h +40 -0
- data/src/core/lib/event_engine/windows/iocp.cc +149 -0
- data/src/core/lib/event_engine/windows/iocp.h +68 -0
- data/src/core/lib/event_engine/windows/win_socket.cc +196 -0
- data/src/core/lib/event_engine/windows/win_socket.h +120 -0
- data/src/core/lib/event_engine/windows/windows_engine.cc +159 -0
- data/src/core/lib/event_engine/windows/windows_engine.h +120 -0
- data/src/core/lib/gpr/time.cc +11 -9
- data/src/core/lib/gpr/useful.h +29 -0
- data/src/core/lib/gprpp/bitset.h +3 -13
- data/src/core/lib/gprpp/debug_location.h +39 -7
- data/src/core/lib/gprpp/manual_constructor.h +0 -1
- data/src/core/lib/gprpp/no_destruct.h +94 -0
- data/src/core/lib/gprpp/ref_counted_ptr.h +0 -1
- data/src/core/lib/gprpp/status_helper.cc +1 -0
- data/src/core/lib/gprpp/table.h +0 -1
- data/src/core/lib/{event_engine/iomgr_engine → gprpp}/time_averaged_stats.cc +3 -5
- data/src/core/lib/{event_engine/iomgr_engine → gprpp}/time_averaged_stats.h +5 -7
- data/src/core/lib/{iomgr → gprpp}/work_serializer.cc +34 -18
- data/src/core/lib/{iomgr → gprpp}/work_serializer.h +21 -27
- data/src/core/lib/http/httpcli.cc +12 -24
- data/src/core/lib/http/httpcli_security_connector.cc +11 -11
- data/src/core/lib/iomgr/call_combiner.cc +0 -26
- data/src/core/lib/iomgr/closure.h +0 -9
- data/src/core/lib/iomgr/combiner.cc +0 -20
- data/src/core/lib/iomgr/endpoint_pair_posix.cc +2 -1
- data/src/core/lib/iomgr/error.cc +0 -773
- data/src/core/lib/iomgr/error.h +0 -145
- data/src/core/lib/iomgr/error_cfstream.cc +0 -5
- data/src/core/lib/iomgr/ev_poll_posix.cc +17 -9
- data/src/core/lib/iomgr/exec_ctx.cc +0 -12
- data/src/core/lib/iomgr/executor.cc +0 -10
- data/src/core/lib/iomgr/executor.h +0 -3
- data/src/core/lib/iomgr/lockfree_event.cc +0 -17
- data/src/core/lib/iomgr/port.h +3 -0
- data/src/core/lib/iomgr/resolve_address.h +29 -6
- data/src/core/lib/iomgr/resolve_address_posix.cc +38 -8
- data/src/core/lib/iomgr/resolve_address_posix.h +19 -5
- data/src/core/lib/iomgr/resolve_address_windows.cc +40 -10
- data/src/core/lib/iomgr/resolve_address_windows.h +19 -5
- data/src/core/lib/iomgr/socket_windows.h +0 -2
- data/src/core/lib/iomgr/tcp_posix.cc +118 -6
- data/src/core/lib/iomgr/timer_generic.cc +6 -8
- data/src/core/lib/json/json.h +19 -22
- data/src/core/lib/json/json_args.h +34 -0
- data/src/core/lib/json/json_object_loader.cc +233 -0
- data/src/core/lib/json/json_object_loader.h +618 -0
- data/src/core/lib/json/json_reader.cc +86 -62
- data/src/core/lib/json/json_util.cc +8 -36
- data/src/core/{ext/filters/client_channel → lib/load_balancing}/lb_policy.cc +3 -44
- data/src/core/{ext/filters/client_channel → lib/load_balancing}/lb_policy.h +15 -24
- data/src/core/lib/load_balancing/lb_policy_factory.h +49 -0
- data/src/core/{ext/filters/client_channel → lib/load_balancing}/lb_policy_registry.cc +49 -72
- data/src/core/{ext/filters/client_channel → lib/load_balancing}/lb_policy_registry.h +27 -27
- data/src/core/{ext/filters/client_channel → lib/load_balancing}/subchannel_interface.h +6 -6
- data/src/core/lib/promise/activity.h +56 -8
- data/src/core/lib/promise/arena_promise.h +84 -81
- data/src/core/lib/promise/context.h +0 -1
- data/src/core/lib/promise/detail/basic_seq.h +43 -23
- data/src/core/lib/promise/detail/promise_factory.h +0 -1
- data/src/core/lib/promise/map.h +0 -1
- data/src/core/lib/promise/seq.h +25 -4
- data/src/core/lib/promise/sleep.cc +38 -42
- data/src/core/lib/promise/sleep.h +27 -24
- data/src/core/lib/promise/try_seq.h +26 -6
- data/src/core/lib/resolver/resolver.cc +0 -47
- data/src/core/lib/resolver/resolver.h +2 -12
- data/src/core/lib/resolver/resolver_factory.h +2 -3
- data/src/core/lib/resolver/resolver_registry.cc +1 -1
- data/src/core/lib/resolver/resolver_registry.h +2 -3
- data/src/core/lib/resolver/server_address.cc +11 -15
- data/src/core/lib/resolver/server_address.h +4 -8
- data/src/core/lib/resource_quota/api.cc +1 -1
- data/src/core/lib/resource_quota/arena.cc +21 -1
- data/src/core/lib/resource_quota/arena.h +24 -2
- data/src/core/lib/resource_quota/memory_quota.cc +157 -17
- data/src/core/lib/resource_quota/memory_quota.h +98 -17
- data/src/core/lib/resource_quota/periodic_update.cc +79 -0
- data/src/core/lib/resource_quota/periodic_update.h +71 -0
- data/src/core/lib/security/authorization/evaluate_args.cc +10 -7
- data/src/core/lib/security/authorization/grpc_server_authz_filter.cc +1 -2
- data/src/core/lib/security/authorization/grpc_server_authz_filter.h +1 -1
- data/src/core/lib/security/authorization/matchers.cc +13 -10
- data/src/core/lib/security/authorization/rbac_policy.cc +0 -1
- data/src/core/lib/security/credentials/alts/alts_credentials.cc +2 -3
- data/src/core/lib/security/credentials/alts/alts_credentials.h +3 -4
- data/src/core/lib/security/credentials/composite/composite_credentials.cc +3 -7
- data/src/core/lib/security/credentials/composite/composite_credentials.h +2 -4
- data/src/core/lib/security/credentials/credentials.h +16 -12
- data/src/core/lib/security/credentials/external/aws_external_account_credentials.cc +18 -11
- data/src/core/lib/security/credentials/external/external_account_credentials.cc +32 -23
- data/src/core/lib/security/credentials/external/file_external_account_credentials.cc +5 -6
- data/src/core/lib/security/credentials/external/url_external_account_credentials.cc +4 -6
- data/src/core/lib/security/credentials/fake/fake_credentials.cc +3 -12
- data/src/core/lib/security/credentials/fake/fake_credentials.h +0 -4
- data/src/core/lib/security/credentials/google_default/google_default_credentials.cc +29 -26
- data/src/core/lib/security/credentials/google_default/google_default_credentials.h +1 -3
- data/src/core/lib/security/credentials/iam/iam_credentials.cc +0 -1
- data/src/core/lib/security/credentials/insecure/insecure_credentials.cc +3 -3
- data/src/core/lib/security/credentials/insecure/insecure_credentials.h +3 -4
- data/src/core/lib/security/credentials/jwt/json_token.cc +12 -3
- data/src/core/lib/security/credentials/jwt/jwt_credentials.cc +4 -8
- data/src/core/lib/security/credentials/jwt/jwt_verifier.cc +11 -13
- data/src/core/lib/security/credentials/local/local_credentials.cc +3 -4
- data/src/core/lib/security/credentials/local/local_credentials.h +3 -4
- data/src/core/lib/security/credentials/oauth2/oauth2_credentials.cc +17 -18
- data/src/core/lib/security/credentials/plugin/plugin_credentials.cc +0 -1
- data/src/core/lib/security/credentials/ssl/ssl_credentials.cc +13 -21
- data/src/core/lib/security/credentials/ssl/ssl_credentials.h +3 -4
- data/src/core/lib/security/credentials/tls/grpc_tls_certificate_provider.h +6 -0
- data/src/core/lib/security/credentials/tls/tls_credentials.cc +13 -25
- data/src/core/lib/security/credentials/tls/tls_credentials.h +3 -4
- data/src/core/lib/security/credentials/xds/xds_credentials.cc +13 -30
- data/src/core/lib/security/credentials/xds/xds_credentials.h +3 -3
- data/src/core/lib/security/security_connector/alts/alts_security_connector.cc +10 -18
- data/src/core/lib/security/security_connector/fake/fake_security_connector.cc +26 -38
- data/src/core/lib/security/security_connector/fake/fake_security_connector.h +2 -2
- data/src/core/lib/security/security_connector/insecure/insecure_security_connector.cc +5 -5
- data/src/core/lib/security/security_connector/insecure/insecure_security_connector.h +6 -5
- data/src/core/lib/security/security_connector/local/local_security_connector.cc +13 -11
- data/src/core/lib/security/security_connector/local/local_security_connector.h +2 -2
- data/src/core/lib/security/security_connector/security_connector.h +5 -3
- data/src/core/lib/security/security_connector/ssl/ssl_security_connector.cc +5 -4
- data/src/core/lib/security/security_connector/tls/tls_security_connector.cc +5 -5
- data/src/core/lib/security/security_connector/tls/tls_security_connector.h +5 -5
- data/src/core/lib/security/transport/auth_filters.h +1 -1
- data/src/core/lib/security/transport/client_auth_filter.cc +3 -4
- data/src/core/lib/security/transport/security_handshaker.cc +32 -44
- data/src/core/lib/security/transport/security_handshaker.h +2 -1
- data/src/core/lib/service_config/service_config.h +11 -0
- data/src/core/lib/service_config/service_config_impl.cc +98 -97
- data/src/core/lib/service_config/service_config_impl.h +11 -13
- data/src/core/lib/service_config/service_config_parser.cc +26 -27
- data/src/core/lib/service_config/service_config_parser.h +10 -22
- data/src/core/lib/slice/percent_encoding.cc +4 -13
- data/src/core/lib/slice/slice.cc +10 -4
- data/src/core/lib/surface/call.cc +8 -2
- data/src/core/lib/surface/channel.cc +6 -6
- data/src/core/lib/surface/channel.h +1 -1
- data/src/core/lib/surface/completion_queue.cc +0 -2
- data/src/core/lib/surface/completion_queue.h +0 -3
- data/src/core/lib/surface/init.cc +2 -6
- data/src/core/lib/surface/lame_client.cc +2 -3
- data/src/core/lib/surface/lame_client.h +1 -1
- data/src/core/lib/surface/server.cc +7 -12
- data/src/core/lib/surface/server.h +7 -7
- data/src/core/lib/surface/validate_metadata.cc +4 -14
- data/src/core/lib/surface/version.cc +2 -2
- data/src/core/lib/transport/connectivity_state.cc +0 -1
- data/src/core/lib/transport/connectivity_state.h +1 -1
- data/src/core/lib/transport/error_utils.cc +0 -36
- data/src/core/lib/transport/handshaker.cc +7 -9
- data/src/core/lib/transport/handshaker.h +4 -5
- data/src/core/lib/transport/handshaker_factory.h +2 -3
- data/src/core/lib/transport/handshaker_registry.cc +2 -1
- data/src/core/lib/transport/handshaker_registry.h +2 -4
- data/src/core/lib/transport/http_connect_handshaker.cc +16 -16
- data/src/core/lib/transport/metadata_batch.cc +5 -0
- data/src/core/lib/transport/metadata_batch.h +52 -7
- data/src/core/lib/transport/parsed_metadata.h +0 -1
- data/src/core/lib/transport/tcp_connect_handshaker.cc +12 -18
- data/src/core/lib/transport/transport.h +0 -7
- data/src/core/tsi/alts/handshaker/alts_handshaker_client.cc +40 -21
- data/src/core/tsi/alts/handshaker/alts_handshaker_client.h +1 -1
- data/src/core/tsi/alts/handshaker/alts_tsi_handshaker.cc +14 -7
- data/src/core/tsi/alts/handshaker/alts_tsi_handshaker_private.h +1 -1
- data/src/core/tsi/fake_transport_security.cc +53 -30
- data/src/core/tsi/local_transport_security.cc +9 -5
- data/src/core/tsi/ssl/session_cache/ssl_session_cache.h +10 -1
- data/src/core/tsi/ssl_transport_security.cc +47 -23
- data/src/core/tsi/transport_security.cc +18 -6
- data/src/core/tsi/transport_security.h +2 -1
- data/src/core/tsi/transport_security_interface.h +17 -5
- data/src/ruby/ext/grpc/extconf.rb +2 -0
- data/src/ruby/ext/grpc/rb_loader.c +6 -2
- data/src/ruby/lib/grpc/2.5/grpc_c.so +0 -0
- data/src/ruby/lib/grpc/2.6/grpc_c.so +0 -0
- data/src/ruby/lib/grpc/2.7/grpc_c.so +0 -0
- data/src/ruby/lib/grpc/3.0/grpc_c.so +0 -0
- data/src/ruby/lib/grpc/3.1/grpc_c.so +0 -0
- data/src/ruby/lib/grpc/grpc_c.so +0 -0
- data/src/ruby/lib/grpc/version.rb +1 -1
- data/src/ruby/pb/src/proto/grpc/testing/messages_pb.rb +4 -0
- data/third_party/abseil-cpp/absl/functional/any_invocable.h +313 -0
- data/third_party/abseil-cpp/absl/functional/internal/any_invocable.h +857 -0
- data/third_party/upb/third_party/utf8_range/utf8_range.h +1 -1
- data/third_party/upb/upb/arena.c +277 -0
- data/third_party/upb/upb/arena.h +225 -0
- data/third_party/upb/upb/array.c +114 -0
- data/third_party/upb/upb/array.h +83 -0
- data/third_party/upb/upb/collections.h +36 -0
- data/third_party/upb/upb/decode.c +161 -65
- data/third_party/upb/upb/decode.h +1 -0
- data/third_party/upb/upb/decode_fast.c +1 -1
- data/third_party/upb/upb/def.c +10 -2
- data/third_party/upb/upb/def.h +8 -1
- data/third_party/upb/upb/def.hpp +7 -4
- data/third_party/upb/upb/encode.c +29 -20
- data/third_party/upb/upb/encode.h +16 -6
- data/third_party/upb/upb/extension_registry.c +93 -0
- data/third_party/upb/upb/extension_registry.h +84 -0
- data/third_party/upb/upb/{decode_internal.h → internal/decode.h} +5 -5
- data/third_party/upb/upb/internal/table.h +385 -0
- data/third_party/upb/upb/{upb_internal.h → internal/upb.h} +3 -3
- data/third_party/upb/upb/internal/vsnprintf_compat.h +52 -0
- data/third_party/upb/upb/json_decode.c +1512 -0
- data/third_party/upb/upb/json_decode.h +47 -0
- data/third_party/upb/upb/json_encode.c +7 -3
- data/third_party/upb/upb/json_encode.h +6 -3
- data/third_party/upb/upb/map.c +108 -0
- data/third_party/upb/upb/map.h +117 -0
- data/third_party/upb/upb/message_value.h +66 -0
- data/third_party/upb/upb/mini_table.c +1147 -0
- data/third_party/upb/upb/mini_table.h +189 -0
- data/third_party/upb/upb/mini_table.hpp +112 -0
- data/third_party/upb/upb/msg.c +2 -62
- data/third_party/upb/upb/msg.h +2 -45
- data/third_party/upb/upb/msg_internal.h +28 -22
- data/third_party/upb/upb/port_def.inc +2 -1
- data/third_party/upb/upb/port_undef.inc +1 -0
- data/third_party/upb/upb/reflection.c +2 -159
- data/third_party/upb/upb/reflection.h +2 -112
- data/third_party/upb/upb/status.c +86 -0
- data/third_party/upb/upb/status.h +66 -0
- data/third_party/upb/upb/table.c +2 -2
- data/third_party/upb/upb/table_internal.h +3 -352
- data/third_party/upb/upb/text_encode.c +3 -2
- data/third_party/upb/upb/upb.c +4 -290
- data/third_party/upb/upb/upb.h +7 -196
- metadata +90 -38
- data/src/core/ext/filters/client_channel/lb_policy_factory.h +0 -50
- data/src/core/lib/iomgr/error_internal.h +0 -66
- data/src/core/lib/iomgr/executor/mpmcqueue.cc +0 -182
- data/src/core/lib/iomgr/executor/mpmcqueue.h +0 -171
- data/src/core/lib/iomgr/executor/threadpool.cc +0 -136
- data/src/core/lib/iomgr/executor/threadpool.h +0 -150
- data/src/core/lib/iomgr/time_averaged_stats.cc +0 -64
- data/src/core/lib/iomgr/time_averaged_stats.h +0 -72
- data/src/core/lib/promise/detail/switch.h +0 -1455
data/src/core/lib/iomgr/error.h
CHANGED
@@ -40,17 +40,8 @@
|
|
40
40
|
/// See https://github.com/grpc/grpc/blob/master/doc/core/grpc-error.md for a
|
41
41
|
/// full write up of this object.
|
42
42
|
|
43
|
-
#ifdef GRPC_ERROR_IS_ABSEIL_STATUS
|
44
|
-
|
45
43
|
typedef absl::Status grpc_error_handle;
|
46
44
|
|
47
|
-
#else // GRPC_ERROR_IS_ABSEIL_STATUS
|
48
|
-
|
49
|
-
typedef struct grpc_error grpc_error;
|
50
|
-
typedef grpc_error* grpc_error_handle;
|
51
|
-
|
52
|
-
#endif // GRPC_ERROR_IS_ABSEIL_STATUS
|
53
|
-
|
54
45
|
typedef enum {
|
55
46
|
/// 'errno' from the operating system
|
56
47
|
GRPC_ERROR_INT_ERRNO =
|
@@ -152,8 +143,6 @@ std::string grpc_error_std_string(grpc_error_handle error);
|
|
152
143
|
void grpc_disable_error_creation();
|
153
144
|
void grpc_enable_error_creation();
|
154
145
|
|
155
|
-
#ifdef GRPC_ERROR_IS_ABSEIL_STATUS
|
156
|
-
|
157
146
|
#define GRPC_ERROR_NONE absl::OkStatus()
|
158
147
|
#define GRPC_ERROR_OOM absl::Status(absl::ResourceExhaustedError(""))
|
159
148
|
#define GRPC_ERROR_CANCELLED absl::CancelledError()
|
@@ -225,140 +214,6 @@ absl::Status grpc_wsa_error(const grpc_core::DebugLocation& location, int err,
|
|
225
214
|
#define GRPC_WSA_ERROR(err, call_name) \
|
226
215
|
grpc_wsa_error(DEBUG_LOCATION, err, call_name)
|
227
216
|
|
228
|
-
#else // GRPC_ERROR_IS_ABSEIL_STATUS
|
229
|
-
|
230
|
-
/// The following "special" errors can be propagated without allocating memory.
|
231
|
-
/// They are always even so that other code (particularly combiner locks,
|
232
|
-
/// polling engines) can safely use the lower bit for themselves.
|
233
|
-
|
234
|
-
#define GRPC_ERROR_NONE ((grpc_error_handle)NULL)
|
235
|
-
#define GRPC_ERROR_RESERVED_1 ((grpc_error_handle)1)
|
236
|
-
#define GRPC_ERROR_OOM ((grpc_error_handle)2)
|
237
|
-
#define GRPC_ERROR_RESERVED_2 ((grpc_error_handle)3)
|
238
|
-
#define GRPC_ERROR_CANCELLED ((grpc_error_handle)4)
|
239
|
-
#define GRPC_ERROR_SPECIAL_MAX GRPC_ERROR_CANCELLED
|
240
|
-
|
241
|
-
#define GRPC_ERROR_IS_NONE(err) ((err) == GRPC_ERROR_NONE)
|
242
|
-
|
243
|
-
inline bool grpc_error_is_special(grpc_error_handle err) {
|
244
|
-
return err <= GRPC_ERROR_SPECIAL_MAX;
|
245
|
-
}
|
246
|
-
|
247
|
-
#ifndef NDEBUG
|
248
|
-
grpc_error_handle grpc_error_do_ref(grpc_error_handle err, const char* file,
|
249
|
-
int line);
|
250
|
-
void grpc_error_do_unref(grpc_error_handle err, const char* file, int line);
|
251
|
-
inline grpc_error_handle grpc_error_ref(grpc_error_handle err, const char* file,
|
252
|
-
int line) {
|
253
|
-
if (grpc_error_is_special(err)) return err;
|
254
|
-
return grpc_error_do_ref(err, file, line);
|
255
|
-
}
|
256
|
-
inline void grpc_error_unref(grpc_error_handle err, const char* file,
|
257
|
-
int line) {
|
258
|
-
if (grpc_error_is_special(err)) return;
|
259
|
-
grpc_error_do_unref(err, file, line);
|
260
|
-
}
|
261
|
-
#define GRPC_ERROR_REF(err) grpc_error_ref(err, __FILE__, __LINE__)
|
262
|
-
#define GRPC_ERROR_UNREF(err) grpc_error_unref(err, __FILE__, __LINE__)
|
263
|
-
#else
|
264
|
-
grpc_error_handle grpc_error_do_ref(grpc_error_handle err);
|
265
|
-
void grpc_error_do_unref(grpc_error_handle err);
|
266
|
-
inline grpc_error_handle grpc_error_ref(grpc_error_handle err) {
|
267
|
-
if (grpc_error_is_special(err)) return err;
|
268
|
-
return grpc_error_do_ref(err);
|
269
|
-
}
|
270
|
-
inline void grpc_error_unref(grpc_error_handle err) {
|
271
|
-
if (grpc_error_is_special(err)) return;
|
272
|
-
grpc_error_do_unref(err);
|
273
|
-
}
|
274
|
-
#define GRPC_ERROR_REF(err) grpc_error_ref(err)
|
275
|
-
#define GRPC_ERROR_UNREF(err) grpc_error_unref(err)
|
276
|
-
#endif
|
277
|
-
|
278
|
-
/// Create an error - but use GRPC_ERROR_CREATE instead
|
279
|
-
grpc_error_handle grpc_error_create(const char* file, int line,
|
280
|
-
const grpc_slice& desc,
|
281
|
-
grpc_error_handle* referencing,
|
282
|
-
size_t num_referencing);
|
283
|
-
/// Create an error (this is the preferred way of generating an error that is
|
284
|
-
/// not due to a system call - for system calls, use GRPC_OS_ERROR or
|
285
|
-
/// GRPC_WSA_ERROR as appropriate)
|
286
|
-
/// \a referencing is an array of num_referencing elements indicating one or
|
287
|
-
/// more errors that are believed to have contributed to this one
|
288
|
-
/// err = grpc_error_create(x, y, z, r, nr) is equivalent to:
|
289
|
-
/// err = grpc_error_create(x, y, z, NULL, 0);
|
290
|
-
/// for (i=0; i<nr; i++) err = grpc_error_add_child(err, r[i]);
|
291
|
-
#define GRPC_ERROR_CREATE_FROM_STATIC_STRING(desc) \
|
292
|
-
grpc_error_create(__FILE__, __LINE__, grpc_slice_from_static_string(desc), \
|
293
|
-
NULL, 0)
|
294
|
-
#define GRPC_ERROR_CREATE_FROM_COPIED_STRING(desc) \
|
295
|
-
grpc_error_create(__FILE__, __LINE__, grpc_slice_from_copied_string(desc), \
|
296
|
-
NULL, 0)
|
297
|
-
#define GRPC_ERROR_CREATE_FROM_CPP_STRING(desc) \
|
298
|
-
grpc_error_create(__FILE__, __LINE__, grpc_slice_from_cpp_string(desc), \
|
299
|
-
NULL, 0)
|
300
|
-
#define GRPC_ERROR_CREATE_FROM_STRING_VIEW(desc) \
|
301
|
-
grpc_error_create( \
|
302
|
-
__FILE__, __LINE__, \
|
303
|
-
grpc_slice_from_copied_buffer((desc).data(), (desc).size()), NULL, 0)
|
304
|
-
|
305
|
-
// Create an error that references some other errors. This function adds a
|
306
|
-
// reference to each error in errs - it does not consume an existing reference
|
307
|
-
#define GRPC_ERROR_CREATE_REFERENCING_FROM_STATIC_STRING(desc, errs, count) \
|
308
|
-
grpc_error_create(__FILE__, __LINE__, grpc_slice_from_static_string(desc), \
|
309
|
-
errs, count)
|
310
|
-
#define GRPC_ERROR_CREATE_REFERENCING_FROM_COPIED_STRING(desc, errs, count) \
|
311
|
-
grpc_error_create(__FILE__, __LINE__, grpc_slice_from_copied_string(desc), \
|
312
|
-
errs, count)
|
313
|
-
|
314
|
-
#define GRPC_ERROR_CREATE_FROM_VECTOR(desc, error_list) \
|
315
|
-
grpc_error_create_from_vector( \
|
316
|
-
__FILE__, __LINE__, grpc_slice_from_static_string, desc, error_list)
|
317
|
-
#define GRPC_ERROR_CREATE_FROM_VECTOR_AND_CPP_STRING(desc, error_list) \
|
318
|
-
grpc_error_create_from_vector(__FILE__, __LINE__, \
|
319
|
-
grpc_slice_from_cpp_string, desc, error_list)
|
320
|
-
|
321
|
-
// Consumes all the errors in the vector and forms a referencing error from
|
322
|
-
// them. If the vector is empty, return GRPC_ERROR_NONE.
|
323
|
-
template <typename VectorType, typename StringType,
|
324
|
-
typename SliceFromStringFunction>
|
325
|
-
static grpc_error_handle grpc_error_create_from_vector(
|
326
|
-
const char* file, int line,
|
327
|
-
SliceFromStringFunction slice_from_string_function, StringType desc,
|
328
|
-
VectorType* error_list) {
|
329
|
-
grpc_error_handle error = GRPC_ERROR_NONE;
|
330
|
-
if (error_list->size() != 0) {
|
331
|
-
error = grpc_error_create(file, line,
|
332
|
-
slice_from_string_function(std::move(desc)),
|
333
|
-
error_list->data(), error_list->size());
|
334
|
-
// Remove refs to all errors in error_list.
|
335
|
-
for (size_t i = 0; i < error_list->size(); i++) {
|
336
|
-
GRPC_ERROR_UNREF((*error_list)[i]);
|
337
|
-
}
|
338
|
-
error_list->clear();
|
339
|
-
}
|
340
|
-
return error;
|
341
|
-
}
|
342
|
-
|
343
|
-
grpc_error_handle grpc_os_error(const char* file, int line, int err,
|
344
|
-
const char* call_name) GRPC_MUST_USE_RESULT;
|
345
|
-
|
346
|
-
inline grpc_error_handle grpc_assert_never_ok(grpc_error_handle error) {
|
347
|
-
GPR_ASSERT(!GRPC_ERROR_IS_NONE(error));
|
348
|
-
return error;
|
349
|
-
}
|
350
|
-
|
351
|
-
/// create an error associated with errno!=0 (an 'operating system' error)
|
352
|
-
#define GRPC_OS_ERROR(err, call_name) \
|
353
|
-
grpc_assert_never_ok(grpc_os_error(__FILE__, __LINE__, err, call_name))
|
354
|
-
grpc_error_handle grpc_wsa_error(const char* file, int line, int err,
|
355
|
-
const char* call_name) GRPC_MUST_USE_RESULT;
|
356
|
-
/// windows only: create an error associated with WSAGetLastError()!=0
|
357
|
-
#define GRPC_WSA_ERROR(err, call_name) \
|
358
|
-
grpc_wsa_error(__FILE__, __LINE__, err, call_name)
|
359
|
-
|
360
|
-
#endif // GRPC_ERROR_IS_ABSEIL_STATUS
|
361
|
-
|
362
217
|
grpc_error_handle grpc_error_set_int(grpc_error_handle src,
|
363
218
|
grpc_error_ints which,
|
364
219
|
intptr_t value) GRPC_MUST_USE_RESULT;
|
@@ -48,12 +48,7 @@ grpc_error_handle grpc_error_create_from_cferror(const char* file, int line,
|
|
48
48
|
absl::StrFormat("%s (error domain:%s, code:%ld, description:%s)",
|
49
49
|
custom_desc, buf_domain, code, buf_desc);
|
50
50
|
CFRelease(desc);
|
51
|
-
#ifdef GRPC_ERROR_IS_ABSEIL_STATUS
|
52
51
|
return StatusCreate(absl::StatusCode::kUnknown, error_msg,
|
53
52
|
grpc_core::DebugLocation(file, line), {});
|
54
|
-
#else
|
55
|
-
return grpc_error_create(
|
56
|
-
file, line, grpc_slice_from_copied_string(error_msg.c_str()), NULL, 0);
|
57
|
-
#endif
|
58
53
|
}
|
59
54
|
#endif /* GRPC_CFSTREAM */
|
@@ -18,6 +18,8 @@
|
|
18
18
|
|
19
19
|
#include <grpc/support/port_platform.h>
|
20
20
|
|
21
|
+
#include <grpc/support/sync.h>
|
22
|
+
|
21
23
|
#include "src/core/lib/iomgr/port.h"
|
22
24
|
|
23
25
|
#ifdef GRPC_POSIX_SOCKET_EV_POLL
|
@@ -360,9 +362,7 @@ static void unref_by(grpc_fd* fd, int n) {
|
|
360
362
|
if (fd->shutdown) {
|
361
363
|
GRPC_ERROR_UNREF(fd->shutdown_error);
|
362
364
|
}
|
363
|
-
#ifdef GRPC_ERROR_IS_ABSEIL_STATUS
|
364
365
|
fd->shutdown_error.~Status();
|
365
|
-
#endif
|
366
366
|
gpr_free(fd);
|
367
367
|
} else {
|
368
368
|
GPR_ASSERT(old > n);
|
@@ -377,9 +377,7 @@ static grpc_fd* fd_create(int fd, const char* name, bool track_err) {
|
|
377
377
|
gpr_mu_init(&r->mu);
|
378
378
|
gpr_atm_rel_store(&r->refst, 1);
|
379
379
|
r->shutdown = 0;
|
380
|
-
#ifdef GRPC_ERROR_IS_ABSEIL_STATUS
|
381
380
|
new (&r->shutdown_error) absl::Status();
|
382
|
-
#endif
|
383
381
|
r->read_closure = CLOSURE_NOT_READY;
|
384
382
|
r->write_closure = CLOSURE_NOT_READY;
|
385
383
|
r->fd = fd;
|
@@ -619,7 +617,6 @@ static uint32_t fd_begin_poll(grpc_fd* fd, grpc_pollset* pollset,
|
|
619
617
|
|
620
618
|
/* if we are shutdown, then don't add to the watcher set */
|
621
619
|
if (fd->shutdown) {
|
622
|
-
watcher->fd = nullptr;
|
623
620
|
watcher->pollset = nullptr;
|
624
621
|
watcher->worker = nullptr;
|
625
622
|
gpr_mu_unlock(&fd->mu);
|
@@ -660,12 +657,17 @@ static void fd_end_poll(grpc_fd_watcher* watcher, int got_read, int got_write) {
|
|
660
657
|
int was_polling = 0;
|
661
658
|
int kick = 0;
|
662
659
|
grpc_fd* fd = watcher->fd;
|
663
|
-
|
664
660
|
if (fd == nullptr) {
|
665
661
|
return;
|
666
662
|
}
|
667
663
|
|
668
664
|
gpr_mu_lock(&fd->mu);
|
665
|
+
if (watcher->pollset == nullptr) {
|
666
|
+
watcher->fd = nullptr;
|
667
|
+
gpr_mu_unlock(&fd->mu);
|
668
|
+
GRPC_FD_UNREF(fd, "multipoller_start");
|
669
|
+
return;
|
670
|
+
}
|
669
671
|
|
670
672
|
if (watcher == fd->read_watcher) {
|
671
673
|
/* remove read watcher, kick if we still need a read */
|
@@ -1014,7 +1016,9 @@ static grpc_error_handle pollset_work(grpc_pollset* pollset,
|
|
1014
1016
|
grpc_fd* fd = watchers[i].fd;
|
1015
1017
|
pfds[i].events = static_cast<short>(
|
1016
1018
|
fd_begin_poll(fd, pollset, &worker, POLLIN, POLLOUT, &watchers[i]));
|
1017
|
-
|
1019
|
+
if (watchers[i].pollset != nullptr) {
|
1020
|
+
GRPC_FD_UNREF(fd, "multipoller_start");
|
1021
|
+
}
|
1018
1022
|
}
|
1019
1023
|
|
1020
1024
|
/* TODO(vpai): Consider first doing a 0 timeout poll here to avoid
|
@@ -1034,7 +1038,7 @@ static grpc_error_handle pollset_work(grpc_pollset* pollset,
|
|
1034
1038
|
}
|
1035
1039
|
|
1036
1040
|
for (i = 1; i < pfd_count; i++) {
|
1037
|
-
if (watchers[i].
|
1041
|
+
if (watchers[i].pollset == nullptr) {
|
1038
1042
|
fd_end_poll(&watchers[i], 0, 0);
|
1039
1043
|
} else {
|
1040
1044
|
// Wake up all the file descriptors, if we have an invalid one
|
@@ -1055,7 +1059,11 @@ static grpc_error_handle pollset_work(grpc_pollset* pollset,
|
|
1055
1059
|
&error, grpc_wakeup_fd_consume_wakeup(&worker.wakeup_fd->fd));
|
1056
1060
|
}
|
1057
1061
|
for (i = 1; i < pfd_count; i++) {
|
1058
|
-
if (watchers[i].
|
1062
|
+
if (watchers[i].pollset == nullptr) {
|
1063
|
+
grpc_fd* fd = watchers[i].fd;
|
1064
|
+
if (pfds[i].revents & POLLHUP) {
|
1065
|
+
gpr_atm_no_barrier_store(&fd->pollhup, 1);
|
1066
|
+
}
|
1059
1067
|
fd_end_poll(&watchers[i], 0, 0);
|
1060
1068
|
} else {
|
1061
1069
|
if (GRPC_TRACE_FLAG_ENABLED(grpc_polling_trace)) {
|
@@ -37,18 +37,10 @@ static void exec_ctx_run(grpc_closure* closure) {
|
|
37
37
|
closure->line_initiated);
|
38
38
|
}
|
39
39
|
#endif
|
40
|
-
#ifdef GRPC_ERROR_IS_ABSEIL_STATUS
|
41
40
|
grpc_error_handle error =
|
42
41
|
grpc_core::internal::StatusMoveFromHeapPtr(closure->error_data.error);
|
43
42
|
closure->error_data.error = 0;
|
44
43
|
closure->cb(closure->cb_arg, std::move(error));
|
45
|
-
#else
|
46
|
-
grpc_error_handle error =
|
47
|
-
reinterpret_cast<grpc_error_handle>(closure->error_data.error);
|
48
|
-
closure->error_data.error = 0;
|
49
|
-
closure->cb(closure->cb_arg, error);
|
50
|
-
GRPC_ERROR_UNREF(error);
|
51
|
-
#endif
|
52
44
|
#ifndef NDEBUG
|
53
45
|
if (grpc_trace_closure.enabled()) {
|
54
46
|
gpr_log(GPR_DEBUG, "closure %p finished", closure);
|
@@ -118,11 +110,7 @@ void ExecCtx::Run(const DebugLocation& location, grpc_closure* closure,
|
|
118
110
|
closure->run = false;
|
119
111
|
GPR_ASSERT(closure->cb != nullptr);
|
120
112
|
#endif
|
121
|
-
#ifdef GRPC_ERROR_IS_ABSEIL_STATUS
|
122
113
|
closure->error_data.error = internal::StatusAllocHeapPtr(error);
|
123
|
-
#else
|
124
|
-
closure->error_data.error = reinterpret_cast<intptr_t>(error);
|
125
|
-
#endif
|
126
114
|
exec_ctx_sched(closure);
|
127
115
|
}
|
128
116
|
|
@@ -121,18 +121,10 @@ size_t Executor::RunClosures(const char* executor_name,
|
|
121
121
|
#else
|
122
122
|
EXECUTOR_TRACE("(%s) run %p", executor_name, c);
|
123
123
|
#endif
|
124
|
-
#ifdef GRPC_ERROR_IS_ABSEIL_STATUS
|
125
124
|
grpc_error_handle error =
|
126
125
|
internal::StatusMoveFromHeapPtr(c->error_data.error);
|
127
126
|
c->error_data.error = 0;
|
128
127
|
c->cb(c->cb_arg, std::move(error));
|
129
|
-
#else
|
130
|
-
grpc_error_handle error =
|
131
|
-
reinterpret_cast<grpc_error_handle>(c->error_data.error);
|
132
|
-
c->error_data.error = 0;
|
133
|
-
c->cb(c->cb_arg, error);
|
134
|
-
GRPC_ERROR_UNREF(error);
|
135
|
-
#endif
|
136
128
|
c = next;
|
137
129
|
n++;
|
138
130
|
ExecCtx::Get()->Flush();
|
@@ -456,6 +448,4 @@ void Executor::SetThreadingDefault(bool enable) {
|
|
456
448
|
executors[static_cast<size_t>(ExecutorType::DEFAULT)]->SetThreading(enable);
|
457
449
|
}
|
458
450
|
|
459
|
-
void grpc_executor_global_init() {}
|
460
|
-
|
461
451
|
} // namespace grpc_core
|
@@ -77,11 +77,7 @@ void LockfreeEvent::DestroyEvent() {
|
|
77
77
|
do {
|
78
78
|
curr = gpr_atm_no_barrier_load(&state_);
|
79
79
|
if (curr & kShutdownBit) {
|
80
|
-
#ifdef GRPC_ERROR_IS_ABSEIL_STATUS
|
81
80
|
internal::StatusFreeHeapPtr(curr & ~kShutdownBit);
|
82
|
-
#else
|
83
|
-
GRPC_ERROR_UNREF((grpc_error_handle)(curr & ~kShutdownBit));
|
84
|
-
#endif
|
85
81
|
} else {
|
86
82
|
GPR_ASSERT(curr == kClosureNotReady || curr == kClosureReady);
|
87
83
|
}
|
@@ -143,13 +139,8 @@ void LockfreeEvent::NotifyOn(grpc_closure* closure) {
|
|
143
139
|
contains a pointer to the shutdown-error). If the fd is shutdown,
|
144
140
|
schedule the closure with the shutdown error */
|
145
141
|
if ((curr & kShutdownBit) > 0) {
|
146
|
-
#ifdef GRPC_ERROR_IS_ABSEIL_STATUS
|
147
142
|
grpc_error_handle shutdown_err =
|
148
143
|
internal::StatusGetFromHeapPtr(curr & ~kShutdownBit);
|
149
|
-
#else
|
150
|
-
grpc_error_handle shutdown_err =
|
151
|
-
reinterpret_cast<grpc_error_handle>(curr & ~kShutdownBit);
|
152
|
-
#endif
|
153
144
|
ExecCtx::Run(DEBUG_LOCATION, closure,
|
154
145
|
GRPC_ERROR_CREATE_REFERENCING_FROM_STATIC_STRING(
|
155
146
|
"FD Shutdown", &shutdown_err, 1));
|
@@ -169,12 +160,8 @@ void LockfreeEvent::NotifyOn(grpc_closure* closure) {
|
|
169
160
|
}
|
170
161
|
|
171
162
|
bool LockfreeEvent::SetShutdown(grpc_error_handle shutdown_error) {
|
172
|
-
#ifdef GRPC_ERROR_IS_ABSEIL_STATUS
|
173
163
|
intptr_t status_ptr = internal::StatusAllocHeapPtr(shutdown_error);
|
174
164
|
gpr_atm new_state = status_ptr | kShutdownBit;
|
175
|
-
#else
|
176
|
-
gpr_atm new_state = reinterpret_cast<gpr_atm>(shutdown_error) | kShutdownBit;
|
177
|
-
#endif
|
178
165
|
|
179
166
|
while (true) {
|
180
167
|
gpr_atm curr = gpr_atm_no_barrier_load(&state_);
|
@@ -198,11 +185,7 @@ bool LockfreeEvent::SetShutdown(grpc_error_handle shutdown_error) {
|
|
198
185
|
|
199
186
|
/* If fd is already shutdown, we are done */
|
200
187
|
if ((curr & kShutdownBit) > 0) {
|
201
|
-
#ifdef GRPC_ERROR_IS_ABSEIL_STATUS
|
202
188
|
internal::StatusFreeHeapPtr(status_ptr);
|
203
|
-
#else
|
204
|
-
GRPC_ERROR_UNREF(shutdown_error);
|
205
|
-
#endif
|
206
189
|
return false;
|
207
190
|
}
|
208
191
|
|
data/src/core/lib/iomgr/port.h
CHANGED
@@ -20,6 +20,9 @@
|
|
20
20
|
|
21
21
|
#include <grpc/support/port_platform.h>
|
22
22
|
|
23
|
+
// IWYU pragma: no_include <features.h>
|
24
|
+
// IWYU pragma: no_include <linux/version.h>
|
25
|
+
|
23
26
|
/* This needs to be separate from the other conditions because it needs to
|
24
27
|
* apply to custom sockets too */
|
25
28
|
#ifdef GPR_WINDOWS
|
@@ -37,6 +37,7 @@
|
|
37
37
|
namespace grpc_core {
|
38
38
|
extern const char* kDefaultSecurePort;
|
39
39
|
constexpr int kDefaultSecurePortInt = 443;
|
40
|
+
constexpr Duration kDefaultDNSRequestTimeout = Duration::Minutes(2);
|
40
41
|
|
41
42
|
// A singleton class used for async and blocking DNS resolution
|
42
43
|
class DNSResolver {
|
@@ -60,17 +61,39 @@ class DNSResolver {
|
|
60
61
|
// address this.
|
61
62
|
//
|
62
63
|
// \a interested_parties may be deleted after a request is cancelled.
|
63
|
-
virtual TaskHandle
|
64
|
-
absl::string_view name, absl::string_view default_port,
|
65
|
-
grpc_pollset_set* interested_parties,
|
64
|
+
virtual TaskHandle LookupHostname(
|
66
65
|
std::function<void(absl::StatusOr<std::vector<grpc_resolved_address>>)>
|
67
|
-
|
66
|
+
on_resolved,
|
67
|
+
absl::string_view name, absl::string_view default_port, Duration timeout,
|
68
|
+
grpc_pollset_set* interested_parties, absl::string_view name_server) = 0;
|
68
69
|
|
69
70
|
// Resolve name in a blocking fashion. Use \a default_port if a port isn't
|
70
71
|
// designated in \a name, otherwise use the port in \a name.
|
71
72
|
virtual absl::StatusOr<std::vector<grpc_resolved_address>>
|
72
|
-
|
73
|
-
|
73
|
+
LookupHostnameBlocking(absl::string_view name,
|
74
|
+
absl::string_view default_port) = 0;
|
75
|
+
|
76
|
+
// Asynchronously resolve an SRV Record to Hostnames.
|
77
|
+
// On completion, \a on_done is invoked with the result.
|
78
|
+
//
|
79
|
+
// The same caveats in \a LookupHostname apply here as well.
|
80
|
+
//
|
81
|
+
// TODO(hork): return std::vector<SRVRecord> and ask the client to do the
|
82
|
+
// subsequent hostname lookups.
|
83
|
+
virtual TaskHandle LookupSRV(
|
84
|
+
std::function<void(absl::StatusOr<std::vector<grpc_resolved_address>>)>
|
85
|
+
on_resolved,
|
86
|
+
absl::string_view name, Duration timeout,
|
87
|
+
grpc_pollset_set* interested_parties, absl::string_view name_server) = 0;
|
88
|
+
|
89
|
+
// Asynchronously resolve a TXT Record. On completion, \a on_done is invoked
|
90
|
+
// with the resulting string.
|
91
|
+
//
|
92
|
+
// The same caveats in \a LookupHostname apply here.
|
93
|
+
virtual TaskHandle LookupTXT(
|
94
|
+
std::function<void(absl::StatusOr<std::string>)> on_resolved,
|
95
|
+
absl::string_view name, Duration timeout,
|
96
|
+
grpc_pollset_set* interested_parties, absl::string_view name_server) = 0;
|
74
97
|
|
75
98
|
// This shares the same semantics with \a EventEngine::Cancel: successfully
|
76
99
|
// cancelled lookups will not have their callbacks executed, and this
|
@@ -29,6 +29,7 @@
|
|
29
29
|
#include <grpc/support/string_util.h>
|
30
30
|
#include <grpc/support/time.h>
|
31
31
|
|
32
|
+
#include "src/core/lib/event_engine/default_event_engine.h"
|
32
33
|
#include "src/core/lib/gpr/string.h"
|
33
34
|
#include "src/core/lib/gpr/useful.h"
|
34
35
|
#include "src/core/lib/gprpp/host_port.h"
|
@@ -45,6 +46,8 @@
|
|
45
46
|
namespace grpc_core {
|
46
47
|
namespace {
|
47
48
|
|
49
|
+
using ::grpc_event_engine::experimental::GetDefaultEventEngine;
|
50
|
+
|
48
51
|
class NativeDNSRequest {
|
49
52
|
public:
|
50
53
|
NativeDNSRequest(
|
@@ -58,11 +61,11 @@ class NativeDNSRequest {
|
|
58
61
|
|
59
62
|
private:
|
60
63
|
// Callback to be passed to grpc Executor to asynch-ify
|
61
|
-
//
|
64
|
+
// LookupHostnameBlocking
|
62
65
|
static void DoRequestThread(void* rp, grpc_error_handle /*error*/) {
|
63
66
|
NativeDNSRequest* r = static_cast<NativeDNSRequest*>(rp);
|
64
67
|
auto result =
|
65
|
-
GetDNSResolver()->
|
68
|
+
GetDNSResolver()->LookupHostnameBlocking(r->name_, r->default_port_);
|
66
69
|
// running inline is safe since we've already been scheduled on the executor
|
67
70
|
r->on_done_(std::move(result));
|
68
71
|
delete r;
|
@@ -82,19 +85,20 @@ NativeDNSResolver* NativeDNSResolver::GetOrCreate() {
|
|
82
85
|
return instance;
|
83
86
|
}
|
84
87
|
|
85
|
-
DNSResolver::TaskHandle NativeDNSResolver::
|
86
|
-
absl::string_view name, absl::string_view default_port,
|
87
|
-
grpc_pollset_set* /* interested_parties */,
|
88
|
+
DNSResolver::TaskHandle NativeDNSResolver::LookupHostname(
|
88
89
|
std::function<void(absl::StatusOr<std::vector<grpc_resolved_address>>)>
|
89
|
-
on_done
|
90
|
+
on_done,
|
91
|
+
absl::string_view name, absl::string_view default_port,
|
92
|
+
Duration /* timeout */, grpc_pollset_set* /* interested_parties */,
|
93
|
+
absl::string_view /* name_server */) {
|
90
94
|
// self-deleting class
|
91
95
|
new NativeDNSRequest(name, default_port, std::move(on_done));
|
92
96
|
return kNullHandle;
|
93
97
|
}
|
94
98
|
|
95
99
|
absl::StatusOr<std::vector<grpc_resolved_address>>
|
96
|
-
NativeDNSResolver::
|
97
|
-
|
100
|
+
NativeDNSResolver::LookupHostnameBlocking(absl::string_view name,
|
101
|
+
absl::string_view default_port) {
|
98
102
|
ExecCtx exec_ctx;
|
99
103
|
struct addrinfo hints;
|
100
104
|
struct addrinfo *result = nullptr, *resp;
|
@@ -173,6 +177,32 @@ done:
|
|
173
177
|
return error_result;
|
174
178
|
}
|
175
179
|
|
180
|
+
DNSResolver::TaskHandle NativeDNSResolver::LookupSRV(
|
181
|
+
std::function<void(absl::StatusOr<std::vector<grpc_resolved_address>>)>
|
182
|
+
on_resolved,
|
183
|
+
absl::string_view /* name */, Duration /* timeout */,
|
184
|
+
grpc_pollset_set* /* interested_parties */,
|
185
|
+
absl::string_view /* name_server */) {
|
186
|
+
GetDefaultEventEngine()->Run([on_resolved] {
|
187
|
+
on_resolved(absl::UnimplementedError(
|
188
|
+
"The Native resolver does not support looking up SRV records"));
|
189
|
+
});
|
190
|
+
return {-1, -1};
|
191
|
+
};
|
192
|
+
|
193
|
+
DNSResolver::TaskHandle NativeDNSResolver::LookupTXT(
|
194
|
+
std::function<void(absl::StatusOr<std::string>)> on_resolved,
|
195
|
+
absl::string_view /* name */, Duration /* timeout */,
|
196
|
+
grpc_pollset_set* /* interested_parties */,
|
197
|
+
absl::string_view /* name_server */) {
|
198
|
+
// Not supported
|
199
|
+
GetDefaultEventEngine()->Run([on_resolved] {
|
200
|
+
on_resolved(absl::UnimplementedError(
|
201
|
+
"The Native resolver does not support looking up TXT records"));
|
202
|
+
});
|
203
|
+
return {-1, -1};
|
204
|
+
};
|
205
|
+
|
176
206
|
bool NativeDNSResolver::Cancel(TaskHandle /*handle*/) { return false; }
|
177
207
|
|
178
208
|
} // namespace grpc_core
|
@@ -32,15 +32,29 @@ class NativeDNSResolver : public DNSResolver {
|
|
32
32
|
// Gets the singleton instance, creating it first if it doesn't exist
|
33
33
|
static NativeDNSResolver* GetOrCreate();
|
34
34
|
|
35
|
-
TaskHandle
|
36
|
-
absl::string_view name, absl::string_view default_port,
|
37
|
-
grpc_pollset_set* /* interested_parties */,
|
35
|
+
TaskHandle LookupHostname(
|
38
36
|
std::function<void(absl::StatusOr<std::vector<grpc_resolved_address>>)>
|
39
|
-
on_done
|
37
|
+
on_done,
|
38
|
+
absl::string_view name, absl::string_view default_port, Duration timeout,
|
39
|
+
grpc_pollset_set* interested_parties,
|
40
|
+
absl::string_view name_server) override;
|
40
41
|
|
41
|
-
absl::StatusOr<std::vector<grpc_resolved_address>>
|
42
|
+
absl::StatusOr<std::vector<grpc_resolved_address>> LookupHostnameBlocking(
|
42
43
|
absl::string_view name, absl::string_view default_port) override;
|
43
44
|
|
45
|
+
TaskHandle LookupSRV(
|
46
|
+
std::function<void(absl::StatusOr<std::vector<grpc_resolved_address>>)>
|
47
|
+
on_resolved,
|
48
|
+
absl::string_view name, Duration timeout,
|
49
|
+
grpc_pollset_set* interested_parties,
|
50
|
+
absl::string_view name_server) override;
|
51
|
+
|
52
|
+
TaskHandle LookupTXT(
|
53
|
+
std::function<void(absl::StatusOr<std::string>)> on_resolved,
|
54
|
+
absl::string_view name, Duration timeout,
|
55
|
+
grpc_pollset_set* interested_parties,
|
56
|
+
absl::string_view name_server) override;
|
57
|
+
|
44
58
|
// NativeDNSResolver does not support cancellation.
|
45
59
|
bool Cancel(TaskHandle handle) override;
|
46
60
|
};
|
@@ -34,6 +34,7 @@
|
|
34
34
|
#include <grpc/support/time.h>
|
35
35
|
|
36
36
|
#include "src/core/lib/address_utils/sockaddr_utils.h"
|
37
|
+
#include "src/core/lib/event_engine/default_event_engine.h"
|
37
38
|
#include "src/core/lib/gpr/string.h"
|
38
39
|
#include "src/core/lib/gprpp/host_port.h"
|
39
40
|
#include "src/core/lib/gprpp/thd.h"
|
@@ -48,6 +49,8 @@
|
|
48
49
|
namespace grpc_core {
|
49
50
|
namespace {
|
50
51
|
|
52
|
+
using ::grpc_event_engine::experimental::GetDefaultEventEngine;
|
53
|
+
|
51
54
|
class NativeDNSRequest {
|
52
55
|
public:
|
53
56
|
NativeDNSRequest(
|
@@ -61,11 +64,11 @@ class NativeDNSRequest {
|
|
61
64
|
|
62
65
|
private:
|
63
66
|
// Callback to be passed to grpc Executor to asynch-ify
|
64
|
-
//
|
67
|
+
// LookupHostnameBlocking
|
65
68
|
static void DoRequestThread(void* rp, grpc_error_handle /*error*/) {
|
66
69
|
NativeDNSRequest* r = static_cast<NativeDNSRequest*>(rp);
|
67
70
|
auto result =
|
68
|
-
GetDNSResolver()->
|
71
|
+
GetDNSResolver()->LookupHostnameBlocking(r->name_, r->default_port_);
|
69
72
|
// running inline is safe since we've already been scheduled on the executor
|
70
73
|
r->on_done_(std::move(result));
|
71
74
|
delete r;
|
@@ -85,18 +88,19 @@ NativeDNSResolver* NativeDNSResolver::GetOrCreate() {
|
|
85
88
|
return instance;
|
86
89
|
}
|
87
90
|
|
88
|
-
DNSResolver::TaskHandle NativeDNSResolver::
|
89
|
-
absl::string_view name, absl::string_view default_port,
|
90
|
-
grpc_pollset_set* /* interested_parties */,
|
91
|
+
DNSResolver::TaskHandle NativeDNSResolver::LookupHostname(
|
91
92
|
std::function<void(absl::StatusOr<std::vector<grpc_resolved_address>>)>
|
92
|
-
|
93
|
-
|
93
|
+
on_resolved,
|
94
|
+
absl::string_view name, absl::string_view default_port,
|
95
|
+
Duration /* timeout */, grpc_pollset_set* /* interested_parties */,
|
96
|
+
absl::string_view /* name_server */) {
|
97
|
+
new NativeDNSRequest(name, default_port, std::move(on_resolved));
|
94
98
|
return kNullHandle;
|
95
99
|
}
|
96
100
|
|
97
101
|
absl::StatusOr<std::vector<grpc_resolved_address>>
|
98
|
-
NativeDNSResolver::
|
99
|
-
|
102
|
+
NativeDNSResolver::LookupHostnameBlocking(absl::string_view name,
|
103
|
+
absl::string_view default_port) {
|
100
104
|
ExecCtx exec_ctx;
|
101
105
|
struct addrinfo hints;
|
102
106
|
struct addrinfo *result = NULL, *resp;
|
@@ -115,7 +119,7 @@ NativeDNSResolver::ResolveNameBlocking(absl::string_view name,
|
|
115
119
|
goto done;
|
116
120
|
}
|
117
121
|
if (port.empty()) {
|
118
|
-
if (default_port
|
122
|
+
if (default_port.empty()) {
|
119
123
|
error = GRPC_ERROR_CREATE_FROM_CPP_STRING(
|
120
124
|
absl::StrFormat("no port in name '%s'", name));
|
121
125
|
goto done;
|
@@ -157,6 +161,32 @@ done:
|
|
157
161
|
return error_result;
|
158
162
|
}
|
159
163
|
|
164
|
+
DNSResolver::TaskHandle NativeDNSResolver::LookupSRV(
|
165
|
+
std::function<void(absl::StatusOr<std::vector<grpc_resolved_address>>)>
|
166
|
+
on_resolved,
|
167
|
+
absl::string_view /* name */, Duration /* deadline */,
|
168
|
+
grpc_pollset_set* /* interested_parties */,
|
169
|
+
absl::string_view /* name_server */) {
|
170
|
+
GetDefaultEventEngine()->Run([on_resolved] {
|
171
|
+
on_resolved(absl::UnimplementedError(
|
172
|
+
"The Native resolver does not support looking up SRV records"));
|
173
|
+
});
|
174
|
+
return {-1, -1};
|
175
|
+
};
|
176
|
+
|
177
|
+
DNSResolver::TaskHandle NativeDNSResolver::LookupTXT(
|
178
|
+
std::function<void(absl::StatusOr<std::string>)> on_resolved,
|
179
|
+
absl::string_view /* name */, Duration /* timeout */,
|
180
|
+
grpc_pollset_set* /* interested_parties */,
|
181
|
+
absl::string_view /* name_server */) {
|
182
|
+
// Not supported
|
183
|
+
GetDefaultEventEngine()->Run([on_resolved] {
|
184
|
+
on_resolved(absl::UnimplementedError(
|
185
|
+
"The Native resolver does not support looking up TXT records"));
|
186
|
+
});
|
187
|
+
return {-1, -1};
|
188
|
+
};
|
189
|
+
|
160
190
|
bool NativeDNSResolver::Cancel(TaskHandle /*handle*/) { return false; }
|
161
191
|
|
162
192
|
} // namespace grpc_core
|