grpc 1.41.1 → 1.44.0.pre2
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 +185 -102
- data/include/grpc/event_engine/event_engine.h +118 -54
- data/include/grpc/event_engine/internal/memory_allocator_impl.h +68 -0
- data/include/grpc/event_engine/memory_allocator.h +226 -0
- data/include/grpc/event_engine/memory_request.h +57 -0
- data/include/grpc/grpc.h +4 -0
- data/include/grpc/grpc_security.h +304 -145
- data/include/grpc/grpc_security_constants.h +2 -14
- data/include/grpc/impl/codegen/compression_types.h +0 -2
- data/include/grpc/impl/codegen/grpc_types.h +6 -0
- data/include/grpc/impl/codegen/port_platform.h +14 -3
- data/src/core/ext/filters/client_channel/backend_metric.cc +21 -23
- data/src/core/ext/filters/client_channel/backend_metric.h +4 -3
- data/src/core/ext/filters/client_channel/backup_poller.cc +2 -1
- data/src/core/ext/filters/client_channel/channel_connectivity.cc +71 -89
- data/src/core/ext/filters/client_channel/client_channel.cc +305 -335
- data/src/core/ext/filters/client_channel/client_channel.h +84 -36
- data/src/core/ext/filters/client_channel/client_channel_factory.cc +1 -1
- data/src/core/ext/filters/client_channel/client_channel_factory.h +17 -19
- data/src/core/ext/filters/client_channel/client_channel_plugin.cc +8 -15
- data/src/core/ext/filters/client_channel/config_selector.cc +1 -1
- data/src/core/ext/filters/client_channel/config_selector.h +5 -6
- data/src/core/ext/filters/client_channel/connector.h +18 -18
- data/src/core/ext/filters/client_channel/dynamic_filters.cc +5 -5
- data/src/core/ext/filters/client_channel/dynamic_filters.h +1 -1
- data/src/core/ext/filters/client_channel/global_subchannel_pool.h +0 -1
- data/src/core/ext/filters/client_channel/health/health_check_client.cc +25 -22
- data/src/core/ext/filters/client_channel/health/health_check_client.h +4 -4
- data/src/core/ext/filters/client_channel/http_connect_handshaker.cc +13 -15
- data/src/core/ext/filters/client_channel/http_connect_handshaker.h +1 -1
- data/src/core/ext/filters/client_channel/lb_policy/address_filtering.cc +4 -3
- data/src/core/ext/filters/client_channel/lb_policy/address_filtering.h +6 -5
- data/src/core/ext/filters/client_channel/lb_policy/child_policy_handler.cc +4 -0
- data/src/core/ext/filters/client_channel/lb_policy/grpclb/client_load_reporting_filter.cc +5 -18
- data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.cc +198 -116
- data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.h +3 -6
- data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_balancer_addresses.cc +1 -1
- data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_balancer_addresses.h +1 -1
- data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_channel.h +1 -1
- data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_channel_secure.cc +1 -1
- data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_client_stats.cc +1 -2
- data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_client_stats.h +2 -2
- data/src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.cc +2 -4
- data/src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.cc +66 -36
- data/src/core/ext/filters/client_channel/lb_policy/priority/priority.cc +21 -12
- data/src/core/ext/filters/client_channel/lb_policy/ring_hash/ring_hash.cc +124 -74
- data/src/core/ext/filters/client_channel/lb_policy/rls/rls.cc +2514 -0
- data/src/core/ext/filters/client_channel/lb_policy/round_robin/round_robin.cc +68 -62
- data/src/core/ext/filters/client_channel/lb_policy/subchannel_list.h +16 -11
- data/src/core/ext/filters/client_channel/lb_policy/weighted_target/weighted_target.cc +18 -6
- data/src/core/ext/filters/client_channel/lb_policy/xds/cds.cc +51 -96
- data/src/core/ext/filters/client_channel/lb_policy/xds/xds.h +1 -1
- data/src/core/ext/filters/client_channel/lb_policy/xds/xds_channel_args.h +1 -1
- data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_impl.cc +101 -46
- data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_manager.cc +11 -3
- data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_resolver.cc +101 -209
- data/src/core/ext/filters/client_channel/lb_policy.cc +15 -14
- data/src/core/ext/filters/client_channel/lb_policy.h +105 -63
- data/src/core/ext/filters/client_channel/lb_policy_factory.h +1 -0
- data/src/core/ext/filters/client_channel/resolver/binder/binder_resolver.cc +139 -0
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.cc +220 -88
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver.h +22 -12
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_posix.cc +19 -15
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_windows.cc +31 -50
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.cc +124 -240
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.h +38 -25
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper_windows.cc +1 -1
- data/src/core/ext/filters/client_channel/resolver/dns/native/dns_resolver.cc +90 -77
- data/src/core/ext/filters/client_channel/resolver/fake/fake_resolver.cc +13 -11
- data/src/core/ext/filters/client_channel/resolver/fake/fake_resolver.h +2 -1
- data/src/core/ext/filters/client_channel/resolver/google_c2p/google_c2p_resolver.cc +7 -16
- data/src/core/ext/filters/client_channel/resolver/sockaddr/sockaddr_resolver.cc +5 -5
- data/src/core/ext/filters/client_channel/resolver/xds/xds_resolver.cc +423 -396
- data/src/core/ext/filters/client_channel/resolver_result_parsing.cc +2 -2
- data/src/core/ext/filters/client_channel/resolver_result_parsing.h +2 -2
- data/src/core/ext/filters/client_channel/retry_filter.cc +66 -131
- data/src/core/ext/filters/client_channel/retry_service_config.cc +1 -1
- data/src/core/ext/filters/client_channel/retry_service_config.h +1 -1
- data/src/core/ext/filters/client_channel/retry_throttle.cc +17 -48
- data/src/core/ext/filters/client_channel/service_config_channel_arg_filter.cc +49 -36
- data/src/core/ext/filters/client_channel/subchannel.cc +99 -161
- data/src/core/ext/filters/client_channel/subchannel.h +31 -52
- data/src/core/ext/filters/client_channel/subchannel_pool_interface.cc +22 -7
- data/src/core/ext/filters/client_channel/subchannel_pool_interface.h +11 -2
- data/src/core/ext/filters/client_idle/client_idle_filter.cc +27 -210
- data/src/core/ext/filters/client_idle/idle_filter_state.cc +96 -0
- data/src/core/ext/filters/client_idle/idle_filter_state.h +66 -0
- data/src/core/ext/filters/deadline/deadline_filter.cc +23 -26
- data/src/core/ext/filters/fault_injection/fault_injection_filter.cc +42 -53
- data/src/core/ext/filters/fault_injection/service_config_parser.cc +6 -9
- data/src/core/ext/filters/fault_injection/service_config_parser.h +1 -1
- data/src/core/ext/filters/http/client/http_client_filter.cc +70 -160
- data/src/core/ext/filters/http/client_authority_filter.cc +19 -36
- data/src/core/ext/filters/http/http_filters_plugin.cc +51 -71
- data/src/core/ext/filters/http/message_compress/message_compress_filter.cc +46 -139
- data/src/core/ext/filters/http/message_compress/message_decompress_filter.cc +5 -25
- data/src/core/ext/filters/http/server/http_server_filter.cc +84 -183
- data/src/core/ext/filters/max_age/max_age_filter.cc +24 -26
- data/src/core/ext/filters/message_size/message_size_filter.cc +19 -16
- data/src/core/ext/filters/message_size/message_size_filter.h +1 -1
- data/src/core/ext/filters/rbac/rbac_filter.cc +157 -0
- data/src/core/ext/filters/rbac/rbac_filter.h +74 -0
- data/src/core/ext/filters/rbac/rbac_service_config_parser.cc +605 -0
- data/src/core/ext/filters/rbac/rbac_service_config_parser.h +70 -0
- data/src/core/ext/filters/server_config_selector/server_config_selector.cc +67 -0
- data/src/core/ext/filters/server_config_selector/server_config_selector.h +71 -0
- data/src/core/ext/filters/server_config_selector/server_config_selector_filter.cc +270 -0
- data/src/core/ext/{transport/chttp2/transport/hpack_utils.h → filters/server_config_selector/server_config_selector_filter.h} +9 -7
- data/src/core/ext/transport/chttp2/client/chttp2_connector.cc +4 -23
- data/src/core/ext/transport/chttp2/client/chttp2_connector.h +0 -2
- data/src/core/ext/transport/chttp2/client/insecure/channel_create.cc +26 -28
- data/src/core/ext/transport/chttp2/client/insecure/channel_create_posix.cc +11 -14
- data/src/core/ext/transport/chttp2/client/secure/secure_channel_create.cc +33 -53
- data/src/core/ext/transport/chttp2/server/chttp2_server.cc +146 -113
- data/src/core/ext/transport/chttp2/server/insecure/server_chttp2.cc +2 -3
- data/src/core/ext/transport/chttp2/server/insecure/server_chttp2_posix.cc +9 -13
- data/src/core/ext/transport/chttp2/server/secure/server_secure_chttp2.cc +6 -6
- data/src/core/ext/transport/chttp2/transport/chttp2_plugin.cc +0 -1
- data/src/core/ext/transport/chttp2/transport/chttp2_transport.cc +129 -278
- data/src/core/ext/transport/chttp2/transport/chttp2_transport.h +1 -2
- data/src/core/ext/transport/chttp2/transport/context_list.cc +2 -3
- data/src/core/ext/transport/chttp2/transport/context_list.h +2 -3
- data/src/core/ext/transport/chttp2/transport/flow_control.cc +26 -23
- data/src/core/ext/transport/chttp2/transport/flow_control.h +6 -6
- data/src/core/ext/transport/chttp2/transport/frame_data.cc +4 -5
- data/src/core/ext/transport/chttp2/transport/frame_goaway.cc +2 -1
- data/src/core/ext/transport/chttp2/transport/frame_ping.cc +2 -1
- data/src/core/ext/transport/chttp2/transport/frame_rst_stream.cc +2 -3
- data/src/core/ext/transport/chttp2/transport/frame_settings.cc +2 -2
- data/src/core/ext/transport/chttp2/transport/hpack_constants.h +1 -1
- data/src/core/ext/transport/chttp2/transport/hpack_encoder.cc +384 -218
- data/src/core/ext/transport/chttp2/transport/hpack_encoder.h +89 -143
- data/src/core/ext/transport/chttp2/transport/hpack_encoder_table.cc +1 -1
- data/src/core/ext/transport/chttp2/transport/hpack_encoder_table.h +2 -0
- data/src/core/ext/transport/chttp2/transport/hpack_parser.cc +201 -202
- data/src/core/ext/transport/chttp2/transport/hpack_parser.h +27 -9
- data/src/core/ext/transport/chttp2/transport/hpack_parser_table.cc +106 -26
- data/src/core/ext/transport/chttp2/transport/hpack_parser_table.h +29 -44
- data/src/core/ext/transport/chttp2/transport/internal.h +10 -38
- data/src/core/ext/transport/chttp2/transport/parsing.cc +30 -179
- data/src/core/ext/transport/chttp2/transport/writing.cc +65 -127
- data/src/core/ext/transport/inproc/inproc_plugin.cc +0 -4
- data/src/core/ext/transport/inproc/inproc_transport.cc +114 -161
- data/src/core/ext/transport/inproc/inproc_transport.h +1 -4
- data/src/core/ext/upb-generated/envoy/admin/v3/config_dump.upb.c +197 -165
- data/src/core/ext/upb-generated/envoy/admin/v3/config_dump.upb.h +2 -0
- data/src/core/ext/upb-generated/envoy/annotations/deprecation.upb.c +41 -0
- data/src/core/ext/upb-generated/envoy/annotations/deprecation.upb.h +18 -0
- data/src/core/ext/upb-generated/envoy/annotations/resource.upb.c +26 -2
- data/src/core/ext/upb-generated/envoy/annotations/resource.upb.h +7 -0
- data/src/core/ext/upb-generated/envoy/config/accesslog/v3/accesslog.upb.c +107 -82
- data/src/core/ext/upb-generated/envoy/config/accesslog/v3/accesslog.upb.h +2 -0
- data/src/core/ext/upb-generated/envoy/config/bootstrap/v3/bootstrap.upb.c +188 -160
- data/src/core/ext/upb-generated/envoy/config/bootstrap/v3/bootstrap.upb.h +2 -0
- data/src/core/ext/upb-generated/envoy/config/cluster/v3/circuit_breaker.upb.c +35 -22
- data/src/core/ext/upb-generated/envoy/config/cluster/v3/circuit_breaker.upb.h +2 -0
- data/src/core/ext/upb-generated/envoy/config/cluster/v3/cluster.upb.c +277 -208
- data/src/core/ext/upb-generated/envoy/config/cluster/v3/cluster.upb.h +141 -1
- data/src/core/ext/upb-generated/envoy/config/cluster/v3/filter.upb.c +16 -5
- data/src/core/ext/upb-generated/envoy/config/cluster/v3/filter.upb.h +2 -0
- data/src/core/ext/upb-generated/envoy/config/cluster/v3/outlier_detection.upb.c +36 -25
- data/src/core/ext/upb-generated/envoy/config/cluster/v3/outlier_detection.upb.h +2 -0
- data/src/core/ext/upb-generated/envoy/config/core/v3/address.upb.c +56 -39
- data/src/core/ext/upb-generated/envoy/config/core/v3/address.upb.h +2 -0
- data/src/core/ext/upb-generated/envoy/config/core/v3/backoff.upb.c +16 -5
- data/src/core/ext/upb-generated/envoy/config/core/v3/backoff.upb.h +2 -0
- data/src/core/ext/upb-generated/envoy/config/core/v3/base.upb.c +171 -125
- data/src/core/ext/upb-generated/envoy/config/core/v3/base.upb.h +55 -4
- data/src/core/ext/upb-generated/envoy/config/core/v3/config_source.upb.c +51 -36
- data/src/core/ext/upb-generated/envoy/config/core/v3/config_source.upb.h +2 -0
- data/src/core/ext/upb-generated/envoy/config/core/v3/event_service_config.upb.c +15 -4
- data/src/core/ext/upb-generated/envoy/config/core/v3/event_service_config.upb.h +2 -0
- data/src/core/ext/upb-generated/envoy/config/core/v3/extension.upb.c +25 -13
- data/src/core/ext/upb-generated/envoy/config/core/v3/extension.upb.h +2 -0
- data/src/core/ext/upb-generated/envoy/config/core/v3/grpc_service.upb.c +114 -90
- data/src/core/ext/upb-generated/envoy/config/core/v3/grpc_service.upb.h +2 -0
- data/src/core/ext/upb-generated/envoy/config/core/v3/health_check.upb.c +90 -71
- data/src/core/ext/upb-generated/envoy/config/core/v3/health_check.upb.h +17 -0
- data/src/core/ext/upb-generated/envoy/config/core/v3/http_uri.upb.c +17 -6
- data/src/core/ext/upb-generated/envoy/config/core/v3/http_uri.upb.h +2 -0
- data/src/core/ext/upb-generated/envoy/config/core/v3/protocol.upb.c +121 -92
- data/src/core/ext/upb-generated/envoy/config/core/v3/protocol.upb.h +25 -0
- data/src/core/ext/upb-generated/envoy/config/core/v3/proxy_protocol.upb.c +13 -2
- data/src/core/ext/upb-generated/envoy/config/core/v3/proxy_protocol.upb.h +2 -0
- data/src/core/ext/upb-generated/envoy/config/core/v3/resolver.upb.c +21 -9
- data/src/core/ext/upb-generated/envoy/config/core/v3/resolver.upb.h +2 -0
- data/src/core/ext/upb-generated/envoy/config/core/v3/socket_option.upb.c +18 -7
- data/src/core/ext/upb-generated/envoy/config/core/v3/socket_option.upb.h +2 -0
- data/src/core/ext/upb-generated/envoy/config/core/v3/substitution_format_string.upb.c +22 -11
- data/src/core/ext/upb-generated/envoy/config/core/v3/substitution_format_string.upb.h +2 -0
- data/src/core/ext/upb-generated/envoy/config/core/v3/udp_socket_config.upb.c +17 -6
- data/src/core/ext/upb-generated/envoy/config/core/v3/udp_socket_config.upb.h +2 -0
- data/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint.upb.c +41 -27
- data/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint.upb.h +2 -0
- data/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint_components.upb.c +59 -44
- data/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint_components.upb.h +2 -0
- data/src/core/ext/upb-generated/envoy/config/endpoint/v3/load_report.upb.c +58 -43
- data/src/core/ext/upb-generated/envoy/config/endpoint/v3/load_report.upb.h +2 -0
- data/src/core/ext/upb-generated/envoy/config/listener/v3/api_listener.upb.c +15 -4
- data/src/core/ext/upb-generated/envoy/config/listener/v3/api_listener.upb.h +2 -0
- data/src/core/ext/upb-generated/envoy/config/listener/v3/listener.upb.c +73 -57
- data/src/core/ext/upb-generated/envoy/config/listener/v3/listener.upb.h +2 -0
- data/src/core/ext/upb-generated/envoy/config/listener/v3/listener_components.upb.c +81 -64
- data/src/core/ext/upb-generated/envoy/config/listener/v3/listener_components.upb.h +2 -0
- data/src/core/ext/upb-generated/envoy/config/listener/v3/quic_config.upb.c +25 -14
- data/src/core/ext/upb-generated/envoy/config/listener/v3/quic_config.upb.h +2 -0
- data/src/core/ext/upb-generated/envoy/config/listener/v3/udp_listener_config.upb.c +19 -7
- data/src/core/ext/upb-generated/envoy/config/listener/v3/udp_listener_config.upb.h +2 -0
- data/src/core/ext/upb-generated/envoy/config/metrics/v3/stats.upb.c +63 -45
- data/src/core/ext/upb-generated/envoy/config/metrics/v3/stats.upb.h +2 -0
- data/src/core/ext/upb-generated/envoy/config/overload/v3/overload.upb.c +66 -47
- data/src/core/ext/upb-generated/envoy/config/overload/v3/overload.upb.h +2 -0
- data/src/core/ext/upb-generated/envoy/config/rbac/v3/rbac.upb.c +99 -78
- data/src/core/ext/upb-generated/envoy/config/rbac/v3/rbac.upb.h +19 -0
- data/src/core/ext/upb-generated/envoy/config/route/v3/route.upb.c +41 -28
- data/src/core/ext/upb-generated/envoy/config/route/v3/route.upb.h +2 -0
- data/src/core/ext/upb-generated/envoy/config/route/v3/route_components.upb.c +508 -442
- data/src/core/ext/upb-generated/envoy/config/route/v3/route_components.upb.h +51 -19
- data/src/core/ext/upb-generated/envoy/config/route/v3/scoped_route.upb.c +26 -13
- data/src/core/ext/upb-generated/envoy/config/route/v3/scoped_route.upb.h +2 -0
- data/src/core/ext/upb-generated/envoy/config/trace/v3/http_tracer.upb.c +21 -9
- data/src/core/ext/upb-generated/envoy/config/trace/v3/http_tracer.upb.h +2 -0
- data/src/core/ext/upb-generated/envoy/extensions/clusters/aggregate/v3/cluster.upb.c +13 -2
- data/src/core/ext/upb-generated/envoy/extensions/clusters/aggregate/v3/cluster.upb.h +2 -0
- data/src/core/ext/upb-generated/envoy/extensions/filters/common/fault/v3/fault.upb.c +35 -20
- data/src/core/ext/upb-generated/envoy/extensions/filters/common/fault/v3/fault.upb.h +2 -0
- data/src/core/ext/upb-generated/envoy/extensions/filters/http/fault/v3/fault.upb.c +44 -31
- data/src/core/ext/upb-generated/envoy/extensions/filters/http/fault/v3/fault.upb.h +2 -0
- data/src/core/ext/upb-generated/envoy/extensions/filters/http/rbac/v3/rbac.upb.c +61 -0
- data/src/core/ext/upb-generated/envoy/extensions/filters/http/rbac/v3/rbac.upb.h +146 -0
- data/src/core/ext/upb-generated/envoy/extensions/filters/http/router/v3/router.upb.c +22 -11
- data/src/core/ext/upb-generated/envoy/extensions/filters/http/router/v3/router.upb.h +2 -0
- data/src/core/ext/upb-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.c +210 -181
- data/src/core/ext/upb-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.h +2 -0
- data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/cert.upb.c +7 -0
- data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/cert.upb.h +5 -3
- data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/common.upb.c +64 -48
- data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/common.upb.h +2 -0
- data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/secret.upb.c +33 -20
- data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/secret.upb.h +2 -0
- data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/tls.upb.c +81 -65
- data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/tls.upb.h +2 -0
- data/src/core/ext/upb-generated/envoy/service/cluster/v3/cds.upb.c +12 -1
- data/src/core/ext/upb-generated/envoy/service/cluster/v3/cds.upb.h +2 -0
- data/src/core/ext/upb-generated/envoy/service/discovery/v3/ads.upb.c +12 -1
- data/src/core/ext/upb-generated/envoy/service/discovery/v3/ads.upb.h +2 -0
- data/src/core/ext/upb-generated/envoy/service/discovery/v3/discovery.upb.c +75 -58
- data/src/core/ext/upb-generated/envoy/service/discovery/v3/discovery.upb.h +2 -0
- data/src/core/ext/upb-generated/envoy/service/endpoint/v3/eds.upb.c +12 -1
- data/src/core/ext/upb-generated/envoy/service/endpoint/v3/eds.upb.h +2 -0
- data/src/core/ext/upb-generated/envoy/service/listener/v3/lds.upb.c +12 -1
- data/src/core/ext/upb-generated/envoy/service/listener/v3/lds.upb.h +2 -0
- data/src/core/ext/upb-generated/envoy/service/load_stats/v3/lrs.upb.c +25 -13
- data/src/core/ext/upb-generated/envoy/service/load_stats/v3/lrs.upb.h +2 -0
- data/src/core/ext/upb-generated/envoy/service/route/v3/rds.upb.c +12 -1
- data/src/core/ext/upb-generated/envoy/service/route/v3/rds.upb.h +2 -0
- data/src/core/ext/upb-generated/envoy/service/route/v3/srds.upb.c +12 -1
- data/src/core/ext/upb-generated/envoy/service/route/v3/srds.upb.h +2 -0
- data/src/core/ext/upb-generated/envoy/service/status/v3/csds.upb.c +61 -46
- data/src/core/ext/upb-generated/envoy/service/status/v3/csds.upb.h +2 -0
- data/src/core/ext/upb-generated/envoy/type/http/v3/path_transformation.upb.c +26 -12
- data/src/core/ext/upb-generated/envoy/type/http/v3/path_transformation.upb.h +2 -0
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/metadata.upb.c +22 -10
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/metadata.upb.h +2 -0
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/node.upb.c +17 -6
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/node.upb.h +2 -0
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/number.upb.c +16 -5
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/number.upb.h +2 -0
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/path.upb.c +15 -4
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/path.upb.h +2 -0
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/regex.upb.c +27 -14
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/regex.upb.h +2 -0
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/string.upb.c +25 -13
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/string.upb.h +2 -0
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/struct.upb.c +20 -8
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/struct.upb.h +2 -0
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/value.upb.c +30 -17
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/value.upb.h +2 -0
- data/src/core/ext/upb-generated/envoy/type/metadata/v3/metadata.upb.c +38 -21
- data/src/core/ext/upb-generated/envoy/type/metadata/v3/metadata.upb.h +2 -0
- data/src/core/ext/upb-generated/envoy/type/tracing/v3/custom_tag.upb.c +41 -26
- data/src/core/ext/upb-generated/envoy/type/tracing/v3/custom_tag.upb.h +2 -0
- data/src/core/ext/upb-generated/envoy/type/v3/http.upb.c +7 -0
- data/src/core/ext/upb-generated/envoy/type/v3/http.upb.h +2 -0
- data/src/core/ext/upb-generated/envoy/type/v3/percent.upb.c +17 -5
- data/src/core/ext/upb-generated/envoy/type/v3/percent.upb.h +2 -0
- data/src/core/ext/upb-generated/envoy/type/v3/range.upb.c +22 -9
- data/src/core/ext/upb-generated/envoy/type/v3/range.upb.h +2 -0
- data/src/core/ext/upb-generated/envoy/type/v3/semantic_version.upb.c +15 -4
- data/src/core/ext/upb-generated/envoy/type/v3/semantic_version.upb.h +2 -0
- data/src/core/ext/upb-generated/google/api/annotations.upb.c +20 -0
- data/src/core/ext/upb-generated/google/api/annotations.upb.h +7 -0
- data/src/core/ext/upb-generated/google/api/expr/v1alpha1/checked.upb.c +116 -93
- data/src/core/ext/upb-generated/google/api/expr/v1alpha1/checked.upb.h +2 -0
- data/src/core/ext/upb-generated/google/api/expr/v1alpha1/eval.upb.c +102 -0
- data/src/core/ext/upb-generated/google/api/expr/v1alpha1/eval.upb.h +306 -0
- data/src/core/ext/upb-generated/google/api/expr/v1alpha1/explain.upb.c +56 -0
- data/src/core/ext/upb-generated/google/api/expr/v1alpha1/explain.upb.h +135 -0
- data/src/core/ext/upb-generated/google/api/expr/v1alpha1/syntax.upb.c +122 -98
- data/src/core/ext/upb-generated/google/api/expr/v1alpha1/syntax.upb.h +2 -0
- data/src/core/ext/upb-generated/google/api/expr/v1alpha1/value.upb.c +115 -0
- data/src/core/ext/upb-generated/google/api/expr/v1alpha1/value.upb.h +371 -0
- data/src/core/ext/upb-generated/google/api/http.upb.c +35 -22
- data/src/core/ext/upb-generated/google/api/http.upb.h +2 -0
- data/src/core/ext/upb-generated/google/protobuf/any.upb.c +14 -3
- data/src/core/ext/upb-generated/google/protobuf/any.upb.h +2 -0
- data/src/core/ext/upb-generated/google/protobuf/descriptor.upb.c +247 -210
- data/src/core/ext/upb-generated/google/protobuf/descriptor.upb.h +2 -0
- data/src/core/ext/upb-generated/google/protobuf/duration.upb.c +14 -3
- data/src/core/ext/upb-generated/google/protobuf/duration.upb.h +2 -0
- data/src/core/ext/upb-generated/google/protobuf/empty.upb.c +12 -1
- data/src/core/ext/upb-generated/google/protobuf/empty.upb.h +2 -0
- data/src/core/ext/upb-generated/google/protobuf/struct.upb.c +37 -23
- data/src/core/ext/upb-generated/google/protobuf/struct.upb.h +2 -0
- data/src/core/ext/upb-generated/google/protobuf/timestamp.upb.c +14 -3
- data/src/core/ext/upb-generated/google/protobuf/timestamp.upb.h +2 -0
- data/src/core/ext/upb-generated/google/protobuf/wrappers.upb.c +37 -18
- data/src/core/ext/upb-generated/google/protobuf/wrappers.upb.h +2 -0
- data/src/core/ext/upb-generated/google/rpc/status.upb.c +17 -6
- data/src/core/ext/upb-generated/google/rpc/status.upb.h +2 -0
- data/src/core/ext/upb-generated/src/proto/grpc/gcp/altscontext.upb.c +26 -14
- data/src/core/ext/upb-generated/src/proto/grpc/gcp/altscontext.upb.h +2 -0
- data/src/core/ext/upb-generated/src/proto/grpc/gcp/handshaker.upb.c +105 -83
- data/src/core/ext/upb-generated/src/proto/grpc/gcp/handshaker.upb.h +2 -0
- data/src/core/ext/upb-generated/src/proto/grpc/gcp/transport_security_common.upb.c +20 -8
- data/src/core/ext/upb-generated/src/proto/grpc/gcp/transport_security_common.upb.h +2 -0
- data/src/core/ext/upb-generated/src/proto/grpc/health/v1/health.upb.c +16 -4
- data/src/core/ext/upb-generated/src/proto/grpc/health/v1/health.upb.h +2 -0
- data/src/core/ext/upb-generated/src/proto/grpc/lb/v1/load_balancer.upb.c +65 -47
- data/src/core/ext/upb-generated/src/proto/grpc/lb/v1/load_balancer.upb.h +34 -36
- data/src/core/ext/upb-generated/src/proto/grpc/lookup/v1/rls.upb.c +68 -0
- data/src/core/ext/upb-generated/src/proto/grpc/lookup/v1/rls.upb.h +156 -0
- data/src/core/ext/upb-generated/udpa/annotations/migrate.upb.c +67 -7
- data/src/core/ext/upb-generated/udpa/annotations/migrate.upb.h +27 -0
- data/src/core/ext/upb-generated/udpa/annotations/security.upb.c +27 -5
- data/src/core/ext/upb-generated/udpa/annotations/security.upb.h +7 -0
- data/src/core/ext/upb-generated/udpa/annotations/sensitive.upb.c +19 -0
- data/src/core/ext/upb-generated/udpa/annotations/sensitive.upb.h +7 -0
- data/src/core/ext/upb-generated/udpa/annotations/status.upb.c +27 -3
- data/src/core/ext/upb-generated/udpa/annotations/status.upb.h +7 -0
- data/src/core/ext/upb-generated/udpa/annotations/versioning.upb.c +26 -2
- data/src/core/ext/upb-generated/udpa/annotations/versioning.upb.h +7 -0
- data/src/core/ext/upb-generated/validate/validate.upb.c +320 -251
- data/src/core/ext/upb-generated/validate/validate.upb.h +20 -0
- data/src/core/ext/upb-generated/xds/annotations/v3/status.upb.c +103 -0
- data/src/core/ext/upb-generated/xds/annotations/v3/status.upb.h +199 -0
- data/src/core/ext/upb-generated/xds/core/v3/authority.upb.c +14 -3
- data/src/core/ext/upb-generated/xds/core/v3/authority.upb.h +2 -0
- data/src/core/ext/upb-generated/xds/core/v3/collection_entry.upb.c +25 -13
- data/src/core/ext/upb-generated/xds/core/v3/collection_entry.upb.h +2 -0
- data/src/core/ext/upb-generated/xds/core/v3/context_params.upb.c +20 -8
- data/src/core/ext/upb-generated/xds/core/v3/context_params.upb.h +2 -0
- data/src/core/ext/upb-generated/xds/core/v3/resource.upb.c +19 -8
- data/src/core/ext/upb-generated/xds/core/v3/resource.upb.h +2 -0
- data/src/core/ext/upb-generated/xds/core/v3/resource_locator.upb.c +28 -16
- data/src/core/ext/upb-generated/xds/core/v3/resource_locator.upb.h +2 -0
- data/src/core/ext/upb-generated/xds/core/v3/resource_name.upb.c +19 -8
- data/src/core/ext/upb-generated/xds/core/v3/resource_name.upb.h +2 -0
- data/src/core/ext/upb-generated/xds/data/orca/v3/orca_load_report.upb.c +71 -0
- data/src/core/ext/upb-generated/xds/data/orca/v3/orca_load_report.upb.h +132 -0
- data/src/core/ext/upb-generated/xds/type/v3/typed_struct.upb.c +44 -0
- data/src/core/ext/upb-generated/xds/type/v3/typed_struct.upb.h +85 -0
- data/src/core/ext/upbdefs-generated/envoy/admin/v3/config_dump.upbdefs.c +2 -49
- data/src/core/ext/upbdefs-generated/envoy/annotations/deprecation.upbdefs.c +2 -2
- data/src/core/ext/upbdefs-generated/envoy/annotations/resource.upbdefs.c +2 -7
- data/src/core/ext/upbdefs-generated/envoy/config/accesslog/v3/accesslog.upbdefs.c +2 -35
- data/src/core/ext/upbdefs-generated/envoy/config/bootstrap/v3/bootstrap.upbdefs.c +2 -41
- data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/circuit_breaker.upbdefs.c +2 -11
- data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/cluster.upbdefs.c +307 -336
- data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/cluster.upbdefs.h +10 -0
- data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/filter.upbdefs.c +2 -7
- data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/outlier_detection.upbdefs.c +2 -7
- data/src/core/ext/upbdefs-generated/envoy/config/core/v3/address.upbdefs.c +2 -19
- data/src/core/ext/upbdefs-generated/envoy/config/core/v3/backoff.upbdefs.c +2 -7
- data/src/core/ext/upbdefs-generated/envoy/config/core/v3/base.upbdefs.c +100 -138
- data/src/core/ext/upbdefs-generated/envoy/config/core/v3/base.upbdefs.h +5 -0
- data/src/core/ext/upbdefs-generated/envoy/config/core/v3/config_source.upbdefs.c +2 -15
- data/src/core/ext/upbdefs-generated/envoy/config/core/v3/event_service_config.upbdefs.c +2 -7
- data/src/core/ext/upbdefs-generated/envoy/config/core/v3/extension.upbdefs.c +2 -9
- data/src/core/ext/upbdefs-generated/envoy/config/core/v3/grpc_service.upbdefs.c +2 -33
- data/src/core/ext/upbdefs-generated/envoy/config/core/v3/health_check.upbdefs.c +61 -77
- data/src/core/ext/upbdefs-generated/envoy/config/core/v3/http_uri.upbdefs.c +2 -7
- data/src/core/ext/upbdefs-generated/envoy/config/core/v3/protocol.upbdefs.c +61 -79
- data/src/core/ext/upbdefs-generated/envoy/config/core/v3/proxy_protocol.upbdefs.c +2 -7
- data/src/core/ext/upbdefs-generated/envoy/config/core/v3/resolver.upbdefs.c +2 -9
- data/src/core/ext/upbdefs-generated/envoy/config/core/v3/socket_option.upbdefs.c +2 -7
- data/src/core/ext/upbdefs-generated/envoy/config/core/v3/substitution_format_string.upbdefs.c +2 -7
- data/src/core/ext/upbdefs-generated/envoy/config/core/v3/udp_socket_config.upbdefs.c +2 -7
- data/src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/endpoint.upbdefs.c +2 -13
- data/src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/endpoint_components.upbdefs.c +80 -99
- data/src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/load_report.upbdefs.c +2 -15
- data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/api_listener.upbdefs.c +2 -7
- data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/listener.upbdefs.c +2 -17
- data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/listener_components.upbdefs.c +2 -19
- data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/quic_config.upbdefs.c +2 -7
- data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/udp_listener_config.upbdefs.c +2 -9
- data/src/core/ext/upbdefs-generated/envoy/config/metrics/v3/stats.upbdefs.c +2 -21
- data/src/core/ext/upbdefs-generated/envoy/config/overload/v3/overload.upbdefs.c +2 -23
- data/src/core/ext/upbdefs-generated/envoy/config/rbac/v3/rbac.upbdefs.c +188 -0
- data/src/core/ext/upbdefs-generated/envoy/config/rbac/v3/rbac.upbdefs.h +70 -0
- data/src/core/ext/upbdefs-generated/envoy/config/route/v3/route.upbdefs.c +2 -11
- data/src/core/ext/upbdefs-generated/envoy/config/route/v3/route_components.upbdefs.c +325 -427
- data/src/core/ext/upbdefs-generated/envoy/config/route/v3/scoped_route.upbdefs.c +2 -11
- data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/http_tracer.upbdefs.c +2 -9
- data/src/core/ext/upbdefs-generated/envoy/extensions/clusters/aggregate/v3/cluster.upbdefs.c +2 -7
- data/src/core/ext/upbdefs-generated/envoy/extensions/filters/common/fault/v3/fault.upbdefs.c +2 -15
- data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/fault/v3/fault.upbdefs.c +2 -11
- data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/rbac/v3/rbac.upbdefs.c +56 -0
- data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/rbac/v3/rbac.upbdefs.h +40 -0
- data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/router/v3/router.upbdefs.c +2 -7
- data/src/core/ext/upbdefs-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upbdefs.c +2 -43
- data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/cert.upbdefs.c +2 -2
- data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/common.upbdefs.c +2 -17
- data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/secret.upbdefs.c +2 -11
- data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/tls.upbdefs.c +2 -17
- data/src/core/ext/upbdefs-generated/envoy/service/cluster/v3/cds.upbdefs.c +2 -7
- data/src/core/ext/upbdefs-generated/envoy/service/discovery/v3/ads.upbdefs.c +2 -7
- data/src/core/ext/upbdefs-generated/envoy/service/discovery/v3/discovery.upbdefs.c +2 -19
- data/src/core/ext/upbdefs-generated/envoy/service/endpoint/v3/eds.upbdefs.c +2 -7
- data/src/core/ext/upbdefs-generated/envoy/service/listener/v3/lds.upbdefs.c +2 -7
- data/src/core/ext/upbdefs-generated/envoy/service/load_stats/v3/lrs.upbdefs.c +2 -9
- data/src/core/ext/upbdefs-generated/envoy/service/route/v3/rds.upbdefs.c +2 -7
- data/src/core/ext/upbdefs-generated/envoy/service/route/v3/srds.upbdefs.c +2 -7
- data/src/core/ext/upbdefs-generated/envoy/service/status/v3/csds.upbdefs.c +2 -15
- data/src/core/ext/upbdefs-generated/envoy/type/http/v3/path_transformation.upbdefs.c +2 -13
- data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/metadata.upbdefs.c +2 -9
- data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/node.upbdefs.c +2 -7
- data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/number.upbdefs.c +2 -7
- data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/path.upbdefs.c +2 -7
- data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/regex.upbdefs.c +2 -11
- data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/string.upbdefs.c +2 -9
- data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/struct.upbdefs.c +2 -9
- data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/value.upbdefs.c +2 -11
- data/src/core/ext/upbdefs-generated/envoy/type/metadata/v3/metadata.upbdefs.c +2 -19
- data/src/core/ext/upbdefs-generated/envoy/type/tracing/v3/custom_tag.upbdefs.c +2 -15
- data/src/core/ext/upbdefs-generated/envoy/type/v3/http.upbdefs.c +2 -2
- data/src/core/ext/upbdefs-generated/envoy/type/v3/percent.upbdefs.c +2 -9
- data/src/core/ext/upbdefs-generated/envoy/type/v3/range.upbdefs.c +2 -11
- data/src/core/ext/upbdefs-generated/envoy/type/v3/semantic_version.upbdefs.c +2 -7
- data/src/core/ext/upbdefs-generated/google/api/annotations.upbdefs.c +2 -2
- data/src/core/ext/upbdefs-generated/google/api/expr/v1alpha1/checked.upbdefs.c +154 -0
- data/src/core/ext/upbdefs-generated/google/api/expr/v1alpha1/checked.upbdefs.h +95 -0
- data/src/core/ext/upbdefs-generated/google/api/expr/v1alpha1/eval.upbdefs.c +58 -0
- data/src/core/ext/upbdefs-generated/google/api/expr/v1alpha1/eval.upbdefs.h +55 -0
- data/src/core/ext/upbdefs-generated/google/api/expr/v1alpha1/explain.upbdefs.c +44 -0
- data/src/core/ext/upbdefs-generated/google/api/expr/v1alpha1/explain.upbdefs.h +40 -0
- data/src/core/ext/upbdefs-generated/google/api/expr/v1alpha1/syntax.upbdefs.c +153 -0
- data/src/core/ext/upbdefs-generated/google/api/expr/v1alpha1/syntax.upbdefs.h +100 -0
- data/src/core/ext/upbdefs-generated/google/api/expr/v1alpha1/value.upbdefs.c +75 -0
- data/src/core/ext/upbdefs-generated/google/api/expr/v1alpha1/value.upbdefs.h +55 -0
- data/src/core/ext/upbdefs-generated/google/api/http.upbdefs.c +2 -11
- data/src/core/ext/upbdefs-generated/google/protobuf/any.upbdefs.c +2 -7
- data/src/core/ext/upbdefs-generated/google/protobuf/descriptor.upbdefs.c +2 -59
- data/src/core/ext/upbdefs-generated/google/protobuf/duration.upbdefs.c +2 -7
- data/src/core/ext/upbdefs-generated/google/protobuf/empty.upbdefs.c +2 -7
- data/src/core/ext/upbdefs-generated/google/protobuf/struct.upbdefs.c +2 -13
- data/src/core/ext/upbdefs-generated/google/protobuf/timestamp.upbdefs.c +2 -7
- data/src/core/ext/upbdefs-generated/google/protobuf/wrappers.upbdefs.c +2 -23
- data/src/core/ext/upbdefs-generated/google/rpc/status.upbdefs.c +2 -7
- data/src/core/ext/upbdefs-generated/udpa/annotations/migrate.upbdefs.c +7 -15
- data/src/core/ext/upbdefs-generated/udpa/annotations/security.upbdefs.c +21 -30
- data/src/core/ext/upbdefs-generated/udpa/annotations/sensitive.upbdefs.c +6 -5
- data/src/core/ext/upbdefs-generated/udpa/annotations/status.upbdefs.c +7 -10
- data/src/core/ext/upbdefs-generated/udpa/annotations/versioning.upbdefs.c +7 -11
- data/src/core/ext/upbdefs-generated/validate/validate.upbdefs.c +2 -51
- data/src/core/ext/upbdefs-generated/xds/annotations/v3/status.upbdefs.c +64 -0
- data/src/core/ext/upbdefs-generated/xds/annotations/v3/status.upbdefs.h +50 -0
- data/src/core/ext/upbdefs-generated/xds/core/v3/authority.upbdefs.c +15 -19
- data/src/core/ext/upbdefs-generated/xds/core/v3/collection_entry.upbdefs.c +27 -33
- data/src/core/ext/upbdefs-generated/xds/core/v3/context_params.upbdefs.c +18 -24
- data/src/core/ext/upbdefs-generated/xds/core/v3/resource.upbdefs.c +19 -23
- data/src/core/ext/upbdefs-generated/xds/core/v3/resource_locator.upbdefs.c +35 -41
- data/src/core/ext/upbdefs-generated/xds/core/v3/resource_name.upbdefs.c +21 -25
- data/src/core/ext/upbdefs-generated/xds/type/v3/typed_struct.upbdefs.c +40 -0
- data/src/core/ext/upbdefs-generated/xds/type/v3/typed_struct.upbdefs.h +35 -0
- data/src/core/ext/xds/certificate_provider_registry.cc +1 -1
- data/src/core/ext/xds/certificate_provider_store.h +1 -1
- data/src/core/ext/xds/upb_utils.h +65 -0
- data/src/core/ext/xds/xds_api.cc +159 -3468
- data/src/core/ext/xds/xds_api.h +57 -558
- data/src/core/ext/xds/xds_bootstrap.cc +189 -122
- data/src/core/ext/xds/xds_bootstrap.h +30 -15
- data/src/core/ext/xds/xds_certificate_provider.cc +3 -3
- data/src/core/ext/xds/xds_certificate_provider.h +2 -2
- data/src/core/ext/xds/xds_channel_creds.cc +108 -0
- data/src/core/ext/xds/xds_channel_creds.h +50 -0
- data/src/core/ext/xds/xds_channel_stack_modifier.cc +112 -0
- data/src/core/ext/xds/xds_channel_stack_modifier.h +52 -0
- data/src/core/ext/xds/xds_client.cc +751 -844
- data/src/core/ext/xds/xds_client.h +100 -143
- data/src/core/ext/xds/xds_client_stats.h +1 -1
- data/src/core/ext/xds/xds_cluster.cc +451 -0
- data/src/core/ext/xds/xds_cluster.h +111 -0
- data/src/core/ext/xds/xds_common_types.cc +388 -0
- data/src/core/ext/xds/xds_common_types.h +110 -0
- data/src/core/ext/xds/xds_endpoint.cc +364 -0
- data/src/core/ext/xds/xds_endpoint.h +135 -0
- data/src/core/ext/xds/xds_http_filters.cc +5 -0
- data/src/core/ext/xds/xds_http_rbac_filter.cc +563 -0
- data/src/core/ext/xds/xds_http_rbac_filter.h +54 -0
- data/src/core/ext/xds/xds_listener.cc +1036 -0
- data/src/core/ext/xds/xds_listener.h +220 -0
- data/src/core/ext/{filters/workarounds/workaround_cronet_compression_filter.h → xds/xds_resource_type.cc} +14 -8
- data/src/core/ext/xds/xds_resource_type.h +98 -0
- data/src/core/ext/xds/xds_resource_type_impl.h +87 -0
- data/src/core/ext/xds/xds_route_config.cc +993 -0
- data/src/core/ext/xds/xds_route_config.h +215 -0
- data/src/core/ext/xds/xds_routing.cc +250 -0
- data/src/core/ext/xds/xds_routing.h +101 -0
- data/src/core/ext/xds/xds_server_config_fetcher.cc +1061 -289
- data/src/core/lib/address_utils/parse_address.cc +22 -0
- data/src/core/lib/address_utils/parse_address.h +5 -0
- data/src/core/lib/address_utils/sockaddr_utils.cc +33 -36
- data/src/core/lib/address_utils/sockaddr_utils.h +1 -16
- data/src/core/lib/avl/avl.h +389 -88
- data/src/core/lib/backoff/backoff.cc +6 -32
- data/src/core/lib/backoff/backoff.h +3 -3
- data/src/core/lib/channel/channel_args.cc +25 -8
- data/src/core/lib/channel/channel_args.h +11 -1
- data/src/core/lib/channel/channel_args_preconditioning.cc +47 -0
- data/src/core/lib/channel/channel_args_preconditioning.h +62 -0
- data/src/core/lib/channel/channel_stack.cc +8 -0
- data/src/core/lib/channel/channel_stack.h +1 -1
- data/src/core/lib/channel/channel_stack_builder.cc +8 -14
- data/src/core/lib/channel/channel_stack_builder.h +4 -7
- data/src/core/lib/channel/channel_trace.cc +7 -7
- data/src/core/lib/channel/channel_trace.h +1 -1
- data/src/core/lib/channel/channelz.cc +4 -3
- data/src/core/lib/channel/channelz.h +2 -2
- data/src/core/lib/channel/channelz_registry.cc +1 -1
- data/src/core/lib/channel/channelz_registry.h +1 -1
- data/src/core/lib/channel/connected_channel.cc +1 -3
- data/src/core/lib/channel/connected_channel.h +1 -2
- data/src/core/lib/compression/compression.cc +21 -113
- data/src/core/lib/compression/compression_internal.cc +142 -202
- data/src/core/lib/compression/compression_internal.h +64 -69
- data/src/core/lib/compression/message_compress.cc +11 -11
- data/src/core/lib/compression/message_compress.h +2 -2
- data/src/core/lib/config/core_configuration.cc +46 -2
- data/src/core/lib/config/core_configuration.h +50 -1
- data/src/core/lib/debug/stats.cc +1 -1
- data/src/core/lib/debug/stats_data.cc +13 -13
- data/src/core/lib/debug/trace.h +2 -2
- data/src/core/lib/event_engine/{endpoint_config.cc → channel_args_endpoint_config.cc} +2 -1
- data/src/core/lib/event_engine/{endpoint_config_internal.h → channel_args_endpoint_config.h} +3 -3
- data/src/core/lib/event_engine/event_engine.cc +0 -13
- data/src/core/lib/event_engine/event_engine_factory.cc +49 -0
- data/src/core/lib/event_engine/event_engine_factory.h +33 -0
- data/src/core/lib/event_engine/memory_allocator.cc +70 -0
- data/src/core/lib/gpr/atm.cc +1 -1
- data/src/core/lib/gpr/cpu_posix.cc +1 -1
- data/src/core/lib/gpr/string.cc +2 -2
- data/src/core/lib/gpr/tls.h +7 -1
- data/src/core/lib/gpr/useful.h +83 -32
- data/src/core/lib/gprpp/bitset.h +45 -16
- data/src/core/lib/gprpp/chunked_vector.h +253 -0
- data/src/core/lib/gprpp/construct_destruct.h +1 -1
- data/src/core/lib/gprpp/cpp_impl_of.h +45 -0
- data/src/core/lib/gprpp/global_config_env.cc +7 -7
- data/src/core/lib/gprpp/global_config_env.h +2 -2
- data/src/core/lib/gprpp/manual_constructor.h +2 -3
- data/src/core/lib/gprpp/memory.h +6 -0
- data/src/core/lib/gprpp/orphanable.h +1 -1
- data/src/core/lib/gprpp/ref_counted.h +1 -1
- data/src/core/lib/gprpp/ref_counted_ptr.h +2 -4
- data/src/core/lib/gprpp/status_helper.cc +35 -23
- data/src/core/lib/gprpp/status_helper.h +14 -16
- data/src/core/lib/gprpp/table.h +434 -0
- data/src/core/lib/http/httpcli.cc +215 -202
- data/src/core/lib/http/httpcli.h +17 -27
- data/src/core/lib/http/parser.cc +2 -2
- data/src/core/lib/iomgr/buffer_list.cc +9 -9
- data/src/core/lib/iomgr/buffer_list.h +13 -13
- data/src/core/lib/iomgr/call_combiner.cc +44 -16
- data/src/core/lib/iomgr/closure.h +29 -9
- data/src/core/lib/iomgr/combiner.cc +31 -24
- data/src/core/lib/iomgr/endpoint.h +0 -1
- data/src/core/lib/iomgr/endpoint_cfstream.cc +14 -30
- data/src/core/lib/iomgr/endpoint_cfstream.h +4 -4
- data/src/core/lib/iomgr/endpoint_pair_posix.cc +9 -11
- data/src/core/lib/iomgr/endpoint_pair_windows.cc +5 -14
- data/src/core/lib/iomgr/error.cc +115 -52
- data/src/core/lib/iomgr/error.h +53 -9
- data/src/core/lib/iomgr/error_cfstream.cc +5 -0
- data/src/core/lib/iomgr/ev_epoll1_linux.cc +3 -2
- data/src/core/lib/iomgr/ev_epollex_linux.cc +7 -7
- data/src/core/lib/iomgr/ev_poll_posix.cc +29 -20
- data/src/core/lib/iomgr/event_engine/closure.cc +41 -18
- data/src/core/lib/iomgr/event_engine/closure.h +10 -1
- data/src/core/lib/iomgr/event_engine/endpoint.cc +5 -6
- data/src/core/lib/iomgr/event_engine/iomgr.cc +9 -28
- data/src/core/lib/iomgr/event_engine/pollset.cc +5 -4
- data/src/core/lib/iomgr/event_engine/resolved_address_internal.cc +6 -0
- data/src/core/lib/iomgr/event_engine/resolved_address_internal.h +2 -0
- data/src/core/lib/iomgr/event_engine/resolver.cc +68 -46
- data/src/core/lib/iomgr/event_engine/resolver.h +56 -0
- data/src/core/lib/iomgr/event_engine/tcp.cc +16 -13
- data/src/core/lib/iomgr/event_engine/timer.cc +10 -4
- data/src/core/lib/iomgr/exec_ctx.cc +23 -18
- data/src/core/lib/iomgr/exec_ctx.h +11 -11
- data/src/core/lib/iomgr/executor/mpmcqueue.cc +5 -7
- data/src/core/lib/iomgr/executor/mpmcqueue.h +3 -8
- data/src/core/lib/iomgr/executor.cc +26 -34
- data/src/core/lib/iomgr/executor.h +1 -1
- data/src/core/lib/iomgr/fork_posix.cc +3 -2
- data/src/core/lib/iomgr/iomgr.cc +3 -1
- data/src/core/lib/iomgr/iomgr_custom.cc +4 -1
- data/src/core/lib/iomgr/iomgr_internal.cc +4 -9
- data/src/core/lib/iomgr/iomgr_internal.h +3 -2
- data/src/core/lib/iomgr/iomgr_posix.cc +2 -2
- data/src/core/lib/iomgr/iomgr_posix_cfstream.cc +2 -2
- data/src/core/lib/iomgr/iomgr_windows.cc +2 -2
- data/src/core/lib/iomgr/load_file.cc +2 -2
- data/src/core/lib/iomgr/lockfree_event.cc +18 -0
- data/src/core/lib/iomgr/pollset_custom.cc +1 -1
- data/src/core/lib/iomgr/pollset_custom.h +1 -1
- data/src/core/lib/iomgr/port.h +2 -2
- data/src/core/lib/iomgr/resolve_address.cc +5 -24
- data/src/core/lib/iomgr/resolve_address.h +47 -44
- data/src/core/lib/iomgr/resolve_address_custom.cc +131 -109
- data/src/core/lib/iomgr/resolve_address_custom.h +101 -19
- data/src/core/lib/iomgr/resolve_address_impl.h +59 -0
- data/src/core/lib/iomgr/resolve_address_posix.cc +87 -73
- data/src/core/lib/iomgr/resolve_address_posix.h +47 -0
- data/src/core/lib/iomgr/resolve_address_windows.cc +93 -74
- data/src/core/lib/iomgr/resolve_address_windows.h +47 -0
- data/src/core/lib/iomgr/resolved_address.h +39 -0
- data/src/core/lib/iomgr/socket_factory_posix.cc +2 -2
- data/src/core/lib/iomgr/socket_mutator.cc +2 -2
- data/src/core/lib/iomgr/socket_utils_common_posix.cc +1 -2
- data/src/core/lib/iomgr/tcp_client.cc +2 -4
- data/src/core/lib/iomgr/tcp_client.h +1 -3
- data/src/core/lib/iomgr/tcp_client_cfstream.cc +6 -12
- data/src/core/lib/iomgr/tcp_client_custom.cc +5 -11
- data/src/core/lib/iomgr/tcp_client_posix.cc +16 -41
- data/src/core/lib/iomgr/tcp_client_posix.h +3 -4
- data/src/core/lib/iomgr/tcp_client_windows.cc +3 -13
- data/src/core/lib/iomgr/tcp_custom.cc +9 -36
- data/src/core/lib/iomgr/tcp_custom.h +0 -1
- data/src/core/lib/iomgr/tcp_posix.cc +32 -38
- data/src/core/lib/iomgr/tcp_posix.h +1 -3
- data/src/core/lib/iomgr/tcp_server.cc +4 -6
- data/src/core/lib/iomgr/tcp_server.h +6 -8
- data/src/core/lib/iomgr/tcp_server_custom.cc +7 -16
- data/src/core/lib/iomgr/tcp_server_posix.cc +20 -25
- data/src/core/lib/iomgr/tcp_server_utils_posix.h +19 -18
- data/src/core/lib/iomgr/tcp_server_utils_posix_common.cc +1 -0
- data/src/core/lib/iomgr/tcp_server_utils_posix_ifaddrs.cc +1 -0
- data/src/core/lib/iomgr/tcp_server_windows.cc +9 -17
- data/src/core/lib/iomgr/tcp_windows.cc +4 -9
- data/src/core/lib/iomgr/tcp_windows.h +1 -2
- data/src/core/lib/iomgr/timer_generic.cc +13 -13
- data/src/core/lib/iomgr/timer_heap.cc +1 -1
- data/src/core/lib/iomgr/unix_sockets_posix.cc +22 -34
- data/src/core/lib/iomgr/unix_sockets_posix.h +4 -7
- data/src/core/lib/iomgr/unix_sockets_posix_noop.cc +6 -15
- data/src/core/lib/iomgr/work_serializer.cc +115 -44
- data/src/core/lib/iomgr/work_serializer.h +16 -4
- data/src/core/lib/json/json_reader.cc +83 -35
- data/src/core/lib/json/json_util.cc +69 -1
- data/src/core/lib/json/json_util.h +57 -99
- data/src/core/lib/json/json_writer.cc +0 -3
- data/src/core/lib/matchers/matchers.cc +1 -1
- data/src/core/lib/promise/activity.cc +115 -0
- data/src/core/lib/promise/activity.h +528 -0
- data/src/core/lib/promise/context.h +86 -0
- data/src/core/lib/promise/detail/basic_seq.h +407 -0
- data/src/core/lib/promise/detail/promise_factory.h +189 -0
- data/src/core/lib/promise/detail/promise_like.h +85 -0
- data/src/core/lib/promise/detail/status.h +49 -0
- data/src/core/lib/promise/detail/switch.h +1455 -0
- data/src/core/lib/promise/exec_ctx_wakeup_scheduler.h +48 -0
- data/src/core/lib/promise/loop.h +108 -0
- data/src/core/lib/promise/map.h +88 -0
- data/src/core/lib/promise/poll.h +60 -0
- data/src/core/lib/promise/race.h +84 -0
- data/src/core/lib/promise/seq.h +71 -0
- data/src/core/{ext/filters/client_channel → lib/resolver}/resolver.cc +17 -25
- data/src/core/{ext/filters/client_channel → lib/resolver}/resolver.h +43 -44
- data/src/core/{ext/filters/client_channel → lib/resolver}/resolver_factory.h +12 -5
- data/src/core/{ext/filters/client_channel → lib/resolver}/resolver_registry.cc +15 -17
- data/src/core/{ext/filters/client_channel → lib/resolver}/resolver_registry.h +5 -7
- data/src/core/{ext/filters/client_channel → lib/resolver}/server_address.cc +1 -1
- data/src/core/{ext/filters/client_channel → lib/resolver}/server_address.h +5 -5
- data/src/core/lib/resource_quota/api.cc +108 -0
- data/src/core/lib/resource_quota/api.h +40 -0
- data/src/core/lib/{gprpp → resource_quota}/arena.cc +16 -13
- data/src/core/lib/{gprpp → resource_quota}/arena.h +32 -11
- data/src/core/lib/resource_quota/memory_quota.cc +454 -0
- data/src/core/lib/resource_quota/memory_quota.h +421 -0
- data/src/core/lib/resource_quota/resource_quota.cc +33 -0
- data/src/core/lib/resource_quota/resource_quota.h +58 -0
- data/src/core/lib/{transport/authority_override.h → resource_quota/thread_quota.cc} +22 -16
- data/src/core/lib/resource_quota/thread_quota.h +57 -0
- data/src/core/lib/resource_quota/trace.cc +19 -0
- data/src/core/lib/resource_quota/trace.h +24 -0
- data/src/core/lib/security/authorization/authorization_policy_provider.h +1 -1
- data/src/core/lib/security/authorization/authorization_policy_provider_vtable.cc +1 -1
- data/src/core/lib/security/authorization/evaluate_args.cc +41 -30
- data/src/core/lib/security/authorization/evaluate_args.h +3 -1
- data/src/core/lib/security/authorization/grpc_authorization_engine.cc +60 -0
- data/src/core/lib/security/authorization/grpc_authorization_engine.h +62 -0
- data/src/core/lib/security/authorization/matchers.cc +227 -0
- data/src/core/lib/security/authorization/matchers.h +211 -0
- data/src/core/lib/security/authorization/rbac_policy.cc +442 -0
- data/src/core/lib/security/authorization/rbac_policy.h +170 -0
- data/src/core/lib/security/authorization/sdk_server_authz_filter.cc +15 -1
- data/src/core/lib/security/context/security_context.cc +8 -4
- data/src/core/lib/security/context/security_context.h +1 -1
- data/src/core/lib/security/credentials/composite/composite_credentials.cc +6 -6
- data/src/core/lib/security/credentials/composite/composite_credentials.h +4 -3
- data/src/core/lib/security/credentials/credentials.cc +4 -2
- data/src/core/lib/security/credentials/credentials.h +16 -21
- data/src/core/lib/security/credentials/external/aws_external_account_credentials.cc +8 -12
- data/src/core/lib/security/credentials/external/external_account_credentials.cc +57 -24
- data/src/core/lib/security/credentials/external/external_account_credentials.h +3 -7
- data/src/core/lib/security/credentials/external/url_external_account_credentials.cc +2 -4
- data/src/core/lib/security/credentials/fake/fake_credentials.cc +5 -4
- data/src/core/lib/security/credentials/fake/fake_credentials.h +8 -7
- data/src/core/lib/security/credentials/google_default/google_default_credentials.cc +4 -9
- data/src/core/lib/security/credentials/iam/iam_credentials.cc +16 -19
- data/src/core/lib/security/credentials/iam/iam_credentials.h +6 -5
- data/src/core/lib/security/credentials/jwt/json_token.cc +4 -6
- data/src/core/lib/security/credentials/jwt/jwt_credentials.cc +17 -29
- data/src/core/lib/security/credentials/jwt/jwt_credentials.h +8 -8
- data/src/core/lib/security/credentials/jwt/jwt_verifier.cc +11 -24
- data/src/core/lib/security/credentials/oauth2/oauth2_credentials.cc +53 -70
- data/src/core/lib/security/credentials/oauth2/oauth2_credentials.h +13 -15
- data/src/core/lib/security/credentials/plugin/plugin_credentials.cc +8 -9
- data/src/core/lib/security/credentials/plugin/plugin_credentials.h +5 -4
- data/src/core/lib/security/credentials/ssl/ssl_credentials.cc +1 -10
- data/src/core/lib/security/credentials/tls/grpc_tls_certificate_provider.cc +11 -12
- data/src/core/lib/security/credentials/tls/grpc_tls_certificate_provider.h +7 -8
- data/src/core/lib/security/credentials/tls/grpc_tls_certificate_verifier.cc +201 -0
- data/src/core/lib/security/credentials/tls/grpc_tls_certificate_verifier.h +106 -0
- data/src/core/lib/security/credentials/tls/grpc_tls_credentials_options.cc +15 -88
- data/src/core/lib/security/credentials/tls/grpc_tls_credentials_options.h +26 -82
- data/src/core/lib/security/credentials/tls/tls_credentials.cc +21 -10
- data/src/core/lib/security/credentials/xds/xds_credentials.cc +28 -33
- data/src/core/lib/security/credentials/xds/xds_credentials.h +1 -1
- data/src/core/lib/security/security_connector/alts/alts_security_connector.cc +3 -3
- data/src/core/lib/security/security_connector/alts/alts_security_connector.h +2 -2
- data/src/core/lib/security/security_connector/fake/fake_security_connector.cc +5 -6
- data/src/core/lib/security/security_connector/insecure/insecure_security_connector.cc +2 -2
- data/src/core/lib/security/security_connector/insecure/insecure_security_connector.h +7 -7
- data/src/core/lib/security/security_connector/load_system_roots_linux.cc +1 -2
- data/src/core/lib/security/security_connector/local/local_security_connector.cc +4 -1
- data/src/core/lib/security/security_connector/security_connector.cc +9 -8
- data/src/core/lib/security/security_connector/security_connector.h +6 -2
- data/src/core/lib/security/security_connector/ssl_utils.cc +25 -27
- data/src/core/lib/security/security_connector/ssl_utils.h +6 -15
- data/src/core/lib/security/security_connector/tls/tls_security_connector.cc +347 -198
- data/src/core/lib/security/security_connector/tls/tls_security_connector.h +64 -43
- data/src/core/lib/security/transport/auth_filters.h +7 -0
- data/src/core/lib/security/transport/client_auth_filter.cc +53 -33
- data/src/core/lib/security/transport/security_handshaker.cc +75 -45
- data/src/core/lib/security/transport/server_auth_filter.cc +40 -37
- data/src/core/lib/security/transport/tsi_error.cc +3 -5
- data/src/core/{ext/filters/client_channel → lib/service_config}/service_config.cc +2 -2
- data/src/core/{ext/filters/client_channel → lib/service_config}/service_config.h +4 -4
- data/src/core/lib/service_config/service_config_call_data.h +72 -0
- data/src/core/{ext/filters/client_channel → lib/service_config}/service_config_parser.cc +3 -3
- data/src/core/{ext/filters/client_channel → lib/service_config}/service_config_parser.h +8 -6
- data/src/core/lib/slice/percent_encoding.cc +30 -86
- data/src/core/lib/slice/percent_encoding.h +5 -11
- data/src/core/lib/slice/slice.cc +10 -24
- data/src/core/lib/slice/slice.h +371 -0
- data/src/core/lib/{compression/stream_compression_gzip.h → slice/slice_api.cc} +18 -7
- data/src/core/lib/slice/slice_buffer.cc +9 -5
- data/src/core/lib/slice/slice_intern.cc +4 -107
- data/src/core/lib/slice/slice_internal.h +2 -246
- data/src/core/lib/slice/slice_refcount.cc +17 -0
- data/src/core/lib/slice/slice_refcount.h +116 -0
- data/src/core/lib/slice/slice_refcount_base.h +165 -0
- data/src/core/lib/slice/slice_split.cc +100 -0
- data/src/core/lib/slice/slice_split.h +40 -0
- data/src/core/lib/slice/slice_string_helpers.cc +0 -83
- data/src/core/lib/slice/slice_string_helpers.h +0 -11
- data/src/core/lib/surface/builtins.cc +49 -0
- data/src/core/lib/surface/builtins.h +26 -0
- data/src/core/lib/surface/call.cc +249 -482
- data/src/core/lib/surface/call.h +4 -10
- data/src/core/lib/surface/channel.cc +53 -93
- data/src/core/lib/surface/channel.h +6 -25
- data/src/core/lib/surface/channel_init.cc +23 -76
- data/src/core/lib/surface/channel_init.h +52 -44
- data/src/core/lib/surface/completion_queue.cc +8 -7
- data/src/core/lib/surface/init.cc +0 -42
- data/src/core/lib/surface/init_secure.cc +17 -14
- data/src/core/lib/surface/lame_client.cc +41 -28
- data/src/core/lib/surface/lame_client.h +1 -1
- data/src/core/lib/surface/server.cc +46 -55
- data/src/core/lib/surface/server.h +27 -21
- data/src/core/lib/surface/validate_metadata.cc +7 -4
- data/src/core/lib/surface/version.cc +2 -2
- data/src/core/lib/transport/bdp_estimator.cc +2 -2
- data/src/core/lib/transport/byte_stream.cc +4 -0
- data/src/core/lib/transport/error_utils.cc +42 -17
- data/src/core/lib/transport/error_utils.h +15 -1
- data/src/core/lib/transport/metadata_batch.h +1167 -176
- data/src/core/lib/transport/{authority_override.cc → parsed_metadata.cc} +14 -17
- data/src/core/lib/transport/parsed_metadata.h +385 -0
- data/src/core/lib/transport/pid_controller.cc +4 -4
- data/src/core/lib/transport/timeout_encoding.cc +200 -66
- data/src/core/lib/transport/timeout_encoding.h +40 -10
- data/src/core/lib/transport/transport.cc +8 -31
- data/src/core/lib/transport/transport.h +1 -2
- data/src/core/lib/transport/transport_op_string.cc +7 -20
- data/src/core/lib/uri/uri_parser.cc +233 -63
- data/src/core/lib/uri/uri_parser.h +38 -23
- data/src/core/plugin_registry/grpc_plugin_registry.cc +69 -45
- data/src/core/tsi/alts/crypt/aes_gcm.cc +3 -1
- data/src/core/tsi/alts/frame_protector/alts_frame_protector.cc +13 -12
- data/src/core/tsi/alts/frame_protector/frame_handler.cc +10 -11
- data/src/core/tsi/alts/handshaker/alts_handshaker_client.cc +3 -4
- data/src/core/tsi/alts/handshaker/alts_tsi_handshaker.cc +12 -2
- data/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_record_protocol_common.cc +1 -1
- data/src/core/tsi/alts/zero_copy_frame_protector/alts_zero_copy_grpc_protector.cc +2 -2
- data/src/core/tsi/fake_transport_security.cc +15 -7
- data/src/core/tsi/local_transport_security.cc +43 -80
- data/src/core/tsi/ssl/session_cache/ssl_session.h +2 -4
- data/src/core/tsi/ssl/session_cache/ssl_session_cache.cc +16 -50
- data/src/core/tsi/ssl/session_cache/ssl_session_cache.h +6 -7
- data/src/core/tsi/ssl_transport_security.cc +93 -16
- data/src/core/tsi/ssl_transport_security.h +19 -6
- data/src/core/tsi/transport_security.cc +12 -0
- data/src/core/tsi/transport_security.h +16 -1
- data/src/core/tsi/transport_security_interface.h +26 -0
- data/src/ruby/ext/grpc/extconf.rb +21 -11
- data/src/ruby/ext/grpc/rb_grpc_imports.generated.c +12 -10
- data/src/ruby/ext/grpc/rb_grpc_imports.generated.h +18 -15
- data/src/ruby/lib/grpc/version.rb +1 -1
- data/src/ruby/pb/src/proto/grpc/testing/test_pb.rb +1 -0
- data/src/ruby/spec/client_server_spec.rb +1 -1
- data/third_party/abseil-cpp/absl/algorithm/container.h +101 -91
- data/third_party/abseil-cpp/absl/base/attributes.h +64 -31
- data/third_party/abseil-cpp/absl/base/config.h +67 -37
- data/third_party/abseil-cpp/absl/base/dynamic_annotations.h +1 -26
- data/third_party/abseil-cpp/absl/base/internal/fast_type_id.h +48 -0
- data/third_party/abseil-cpp/absl/base/internal/spinlock.h +3 -1
- data/third_party/abseil-cpp/absl/base/internal/spinlock_wait.h +2 -0
- data/third_party/abseil-cpp/absl/base/internal/sysinfo.cc +69 -0
- data/third_party/abseil-cpp/absl/base/internal/thread_identity.cc +4 -4
- data/third_party/abseil-cpp/absl/base/internal/thread_identity.h +15 -10
- data/third_party/abseil-cpp/absl/base/internal/unscaledcycleclock.cc +16 -0
- data/third_party/abseil-cpp/absl/base/internal/unscaledcycleclock.h +4 -4
- data/third_party/abseil-cpp/absl/base/options.h +1 -1
- data/third_party/abseil-cpp/absl/container/fixed_array.h +0 -5
- data/third_party/abseil-cpp/absl/container/inlined_vector.h +105 -97
- data/third_party/abseil-cpp/absl/container/internal/hash_function_defaults.h +17 -15
- data/third_party/abseil-cpp/absl/container/internal/hashtablez_sampler.cc +18 -102
- data/third_party/abseil-cpp/absl/container/internal/hashtablez_sampler.h +37 -78
- data/third_party/abseil-cpp/absl/container/internal/inlined_vector.h +388 -423
- data/third_party/abseil-cpp/absl/container/internal/raw_hash_map.h +3 -2
- data/third_party/abseil-cpp/absl/container/internal/raw_hash_set.cc +14 -8
- data/third_party/abseil-cpp/absl/container/internal/raw_hash_set.h +251 -120
- data/third_party/abseil-cpp/absl/debugging/internal/demangle.cc +11 -1
- data/third_party/abseil-cpp/absl/debugging/internal/elf_mem_image.cc +12 -11
- data/third_party/abseil-cpp/absl/debugging/internal/elf_mem_image.h +6 -2
- data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_config.h +12 -5
- data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_emscripten-inl.inc +110 -0
- data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_riscv-inl.inc +234 -0
- data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_x86-inl.inc +25 -7
- data/third_party/abseil-cpp/absl/debugging/internal/symbolize.h +8 -2
- data/third_party/abseil-cpp/absl/debugging/internal/vdso_support.cc +21 -3
- data/third_party/abseil-cpp/absl/debugging/stacktrace.cc +2 -0
- data/third_party/abseil-cpp/absl/debugging/symbolize.cc +2 -0
- data/third_party/abseil-cpp/absl/debugging/symbolize_elf.inc +14 -0
- data/third_party/abseil-cpp/absl/debugging/symbolize_emscripten.inc +72 -0
- data/third_party/abseil-cpp/absl/functional/function_ref.h +4 -1
- data/third_party/abseil-cpp/absl/hash/hash.h +22 -0
- data/third_party/abseil-cpp/absl/hash/internal/hash.cc +15 -16
- data/third_party/abseil-cpp/absl/hash/internal/hash.h +88 -37
- data/third_party/abseil-cpp/absl/hash/internal/{wyhash.cc → low_level_hash.cc} +23 -11
- data/third_party/abseil-cpp/absl/hash/internal/{wyhash.h → low_level_hash.h} +14 -12
- data/third_party/abseil-cpp/absl/memory/memory.h +1 -1
- data/third_party/abseil-cpp/absl/meta/type_traits.h +32 -2
- data/third_party/abseil-cpp/absl/numeric/int128.cc +3 -10
- data/third_party/abseil-cpp/absl/numeric/int128.h +146 -73
- data/third_party/abseil-cpp/absl/numeric/int128_have_intrinsic.inc +19 -25
- data/third_party/abseil-cpp/absl/numeric/int128_no_intrinsic.inc +73 -70
- data/third_party/abseil-cpp/absl/{base → profiling}/internal/exponential_biased.cc +4 -4
- data/third_party/abseil-cpp/absl/{base → profiling}/internal/exponential_biased.h +6 -6
- data/third_party/abseil-cpp/absl/profiling/internal/sample_recorder.h +230 -0
- data/third_party/abseil-cpp/absl/random/bernoulli_distribution.h +200 -0
- data/third_party/abseil-cpp/absl/random/beta_distribution.h +427 -0
- data/third_party/abseil-cpp/absl/random/discrete_distribution.cc +98 -0
- data/third_party/abseil-cpp/absl/random/discrete_distribution.h +247 -0
- data/third_party/abseil-cpp/absl/random/distributions.h +452 -0
- data/third_party/abseil-cpp/absl/random/exponential_distribution.h +165 -0
- data/third_party/abseil-cpp/absl/random/gaussian_distribution.cc +104 -0
- data/third_party/abseil-cpp/absl/random/gaussian_distribution.h +275 -0
- data/third_party/abseil-cpp/absl/random/internal/distribution_caller.h +92 -0
- data/third_party/abseil-cpp/absl/random/internal/fast_uniform_bits.h +268 -0
- data/third_party/abseil-cpp/absl/random/internal/fastmath.h +57 -0
- data/third_party/abseil-cpp/absl/random/internal/generate_real.h +144 -0
- data/third_party/abseil-cpp/absl/random/internal/iostream_state_saver.h +245 -0
- data/third_party/abseil-cpp/absl/random/internal/nonsecure_base.h +150 -0
- data/third_party/abseil-cpp/absl/random/internal/pcg_engine.h +308 -0
- data/third_party/abseil-cpp/absl/random/internal/platform.h +171 -0
- data/third_party/abseil-cpp/absl/random/internal/pool_urbg.cc +253 -0
- data/third_party/abseil-cpp/absl/random/internal/pool_urbg.h +131 -0
- data/third_party/abseil-cpp/absl/random/internal/randen.cc +91 -0
- data/third_party/abseil-cpp/absl/random/internal/randen.h +102 -0
- data/third_party/abseil-cpp/absl/random/internal/randen_detect.cc +221 -0
- data/third_party/abseil-cpp/absl/random/internal/randen_detect.h +33 -0
- data/third_party/abseil-cpp/absl/random/internal/randen_engine.h +239 -0
- data/third_party/abseil-cpp/absl/random/internal/randen_hwaes.cc +526 -0
- data/third_party/abseil-cpp/absl/random/internal/randen_hwaes.h +50 -0
- data/third_party/abseil-cpp/absl/random/internal/randen_round_keys.cc +462 -0
- data/third_party/abseil-cpp/absl/random/internal/randen_slow.cc +471 -0
- data/third_party/abseil-cpp/absl/random/internal/randen_slow.h +40 -0
- data/third_party/abseil-cpp/absl/random/internal/randen_traits.h +88 -0
- data/third_party/abseil-cpp/absl/random/internal/salted_seed_seq.h +167 -0
- data/third_party/abseil-cpp/absl/random/internal/seed_material.cc +267 -0
- data/third_party/abseil-cpp/absl/random/internal/seed_material.h +104 -0
- data/third_party/abseil-cpp/absl/random/internal/traits.h +101 -0
- data/third_party/abseil-cpp/absl/random/internal/uniform_helper.h +244 -0
- data/third_party/abseil-cpp/absl/random/internal/wide_multiply.h +111 -0
- data/third_party/abseil-cpp/absl/random/log_uniform_int_distribution.h +257 -0
- data/third_party/abseil-cpp/absl/random/poisson_distribution.h +258 -0
- data/third_party/abseil-cpp/absl/random/random.h +189 -0
- data/third_party/abseil-cpp/absl/random/seed_gen_exception.cc +46 -0
- data/third_party/abseil-cpp/absl/random/seed_gen_exception.h +55 -0
- data/third_party/abseil-cpp/absl/random/seed_sequences.cc +29 -0
- data/third_party/abseil-cpp/absl/random/seed_sequences.h +110 -0
- data/third_party/abseil-cpp/absl/random/uniform_int_distribution.h +275 -0
- data/third_party/abseil-cpp/absl/random/uniform_real_distribution.h +202 -0
- data/third_party/abseil-cpp/absl/random/zipf_distribution.h +271 -0
- data/third_party/abseil-cpp/absl/status/internal/status_internal.h +5 -5
- data/third_party/abseil-cpp/absl/status/status.cc +9 -17
- data/third_party/abseil-cpp/absl/status/status.h +19 -15
- data/third_party/abseil-cpp/absl/status/statusor.cc +34 -2
- data/third_party/abseil-cpp/absl/status/statusor.h +31 -21
- data/third_party/abseil-cpp/absl/strings/charconv.cc +3 -3
- data/third_party/abseil-cpp/absl/strings/charconv.h +3 -2
- data/third_party/abseil-cpp/absl/strings/cord.cc +453 -359
- data/third_party/abseil-cpp/absl/strings/cord.h +197 -70
- data/third_party/abseil-cpp/absl/strings/internal/charconv_parse.cc +1 -1
- data/third_party/abseil-cpp/absl/strings/internal/cord_internal.cc +6 -0
- data/third_party/abseil-cpp/absl/strings/internal/cord_internal.h +140 -63
- data/third_party/abseil-cpp/absl/strings/internal/cord_rep_btree.cc +1128 -0
- data/third_party/abseil-cpp/absl/strings/internal/cord_rep_btree.h +939 -0
- data/third_party/abseil-cpp/absl/strings/internal/cord_rep_btree_navigator.cc +185 -0
- data/third_party/abseil-cpp/absl/strings/internal/cord_rep_btree_navigator.h +265 -0
- data/third_party/abseil-cpp/absl/strings/internal/cord_rep_btree_reader.cc +68 -0
- data/third_party/abseil-cpp/absl/strings/internal/cord_rep_btree_reader.h +211 -0
- data/third_party/abseil-cpp/absl/strings/internal/cord_rep_consume.cc +129 -0
- data/third_party/abseil-cpp/absl/strings/internal/cord_rep_consume.h +50 -0
- data/third_party/abseil-cpp/absl/strings/internal/cord_rep_flat.h +7 -7
- data/third_party/abseil-cpp/absl/strings/internal/cord_rep_ring.cc +55 -181
- data/third_party/abseil-cpp/absl/strings/internal/cord_rep_ring.h +42 -24
- data/third_party/abseil-cpp/absl/strings/internal/cord_rep_ring_reader.h +4 -0
- data/third_party/abseil-cpp/absl/strings/internal/cordz_functions.cc +96 -0
- data/third_party/abseil-cpp/absl/strings/internal/cordz_functions.h +85 -0
- data/third_party/abseil-cpp/absl/strings/internal/cordz_handle.cc +139 -0
- data/third_party/abseil-cpp/absl/strings/internal/cordz_handle.h +131 -0
- data/third_party/abseil-cpp/absl/strings/internal/cordz_info.cc +445 -0
- data/third_party/abseil-cpp/absl/strings/internal/cordz_info.h +298 -0
- data/third_party/abseil-cpp/absl/strings/internal/cordz_statistics.h +87 -0
- data/third_party/abseil-cpp/absl/strings/internal/cordz_update_scope.h +71 -0
- data/third_party/abseil-cpp/absl/strings/internal/cordz_update_tracker.h +121 -0
- data/third_party/abseil-cpp/absl/strings/internal/resize_uninitialized.h +48 -2
- data/third_party/abseil-cpp/absl/strings/internal/str_format/arg.h +8 -0
- data/third_party/abseil-cpp/absl/strings/internal/str_format/bind.cc +3 -4
- data/third_party/abseil-cpp/absl/strings/internal/str_format/bind.h +1 -1
- data/third_party/abseil-cpp/absl/strings/internal/str_format/extension.cc +6 -6
- data/third_party/abseil-cpp/absl/strings/internal/str_format/extension.h +36 -18
- data/third_party/abseil-cpp/absl/strings/internal/str_format/parser.cc +62 -73
- data/third_party/abseil-cpp/absl/strings/internal/str_format/parser.h +24 -16
- data/third_party/abseil-cpp/absl/strings/internal/str_split_internal.h +35 -35
- data/third_party/abseil-cpp/absl/strings/numbers.cc +1 -1
- data/third_party/abseil-cpp/absl/strings/numbers.h +34 -0
- data/third_party/abseil-cpp/absl/strings/str_cat.cc +4 -4
- data/third_party/abseil-cpp/absl/strings/str_format.h +1 -2
- data/third_party/abseil-cpp/absl/strings/string_view.cc +16 -21
- data/third_party/abseil-cpp/absl/strings/string_view.h +120 -39
- data/third_party/abseil-cpp/absl/strings/substitute.cc +2 -1
- data/third_party/abseil-cpp/absl/strings/substitute.h +99 -74
- data/third_party/abseil-cpp/absl/synchronization/blocking_counter.cc +25 -15
- data/third_party/abseil-cpp/absl/synchronization/blocking_counter.h +5 -3
- data/third_party/abseil-cpp/absl/synchronization/internal/waiter.cc +1 -1
- data/third_party/abseil-cpp/absl/synchronization/mutex.h +3 -3
- data/third_party/abseil-cpp/absl/time/civil_time.cc +1 -3
- data/third_party/abseil-cpp/absl/time/internal/cctz/include/cctz/time_zone.h +93 -20
- data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_fixed.cc +1 -1
- data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_if.h +2 -1
- data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_info.cc +83 -21
- data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_lookup.cc +49 -0
- data/third_party/abseil-cpp/absl/time/internal/cctz/src/tzfile.h +1 -1
- data/third_party/abseil-cpp/absl/time/internal/cctz/src/zone_info_source.cc +2 -3
- data/third_party/abseil-cpp/absl/time/time.h +67 -36
- data/third_party/abseil-cpp/absl/types/bad_optional_access.h +1 -1
- data/third_party/abseil-cpp/absl/types/bad_variant_access.h +2 -2
- data/third_party/abseil-cpp/absl/types/span.h +3 -3
- data/third_party/address_sorting/address_sorting_posix.c +1 -0
- data/third_party/boringssl-with-bazel/err_data.c +681 -677
- data/third_party/boringssl-with-bazel/src/crypto/asn1/a_bitstr.c +19 -11
- data/third_party/boringssl-with-bazel/src/crypto/asn1/a_bool.c +20 -21
- data/third_party/boringssl-with-bazel/src/crypto/asn1/a_object.c +41 -30
- data/third_party/boringssl-with-bazel/src/crypto/asn1/a_strnid.c +104 -114
- data/third_party/boringssl-with-bazel/src/crypto/asn1/a_time.c +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/asn1/asn1_lib.c +59 -47
- data/third_party/boringssl-with-bazel/src/crypto/asn1/asn_pack.c +24 -28
- data/third_party/boringssl-with-bazel/src/crypto/asn1/f_int.c +5 -0
- data/third_party/boringssl-with-bazel/src/crypto/asn1/internal.h +41 -0
- data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_dec.c +48 -272
- data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_enc.c +1 -0
- data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_typ.c +8 -6
- data/third_party/boringssl-with-bazel/src/crypto/base64/base64.c +13 -0
- data/third_party/boringssl-with-bazel/src/crypto/blake2/blake2.c +4 -6
- data/third_party/boringssl-with-bazel/src/crypto/bytestring/ber.c +3 -1
- data/third_party/boringssl-with-bazel/src/crypto/chacha/chacha.c +38 -47
- data/third_party/boringssl-with-bazel/src/crypto/dsa/dsa.c +21 -0
- data/third_party/boringssl-with-bazel/src/crypto/evp/evp_asn1.c +2 -2
- data/third_party/boringssl-with-bazel/src/crypto/evp/scrypt.c +32 -34
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/sqrt.c +5 -9
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/cipher/cipher.c +12 -0
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/des/des.c +10 -11
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/des/internal.h +1 -3
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ecdsa/ecdsa.c +1 -2
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/md4/md4.c +3 -6
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/md5/md5.c +4 -7
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/self_check/self_check.c +7 -7
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/sha1.c +35 -35
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/sha256.c +11 -10
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/sha/sha512.c +10 -37
- data/third_party/boringssl-with-bazel/src/crypto/hpke/hpke.c +2 -2
- data/third_party/boringssl-with-bazel/src/crypto/internal.h +39 -0
- data/third_party/boringssl-with-bazel/src/crypto/mem.c +18 -0
- data/third_party/boringssl-with-bazel/src/crypto/pkcs7/pkcs7.c +29 -0
- data/third_party/boringssl-with-bazel/src/crypto/pkcs8/internal.h +0 -1
- data/third_party/boringssl-with-bazel/src/crypto/pkcs8/pkcs8.c +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/pkcs8/pkcs8_x509.c +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/pool/internal.h +5 -1
- data/third_party/boringssl-with-bazel/src/crypto/pool/pool.c +59 -23
- data/third_party/boringssl-with-bazel/src/crypto/siphash/siphash.c +6 -6
- data/third_party/boringssl-with-bazel/src/crypto/x509/asn1_gen.c +2 -18
- data/third_party/boringssl-with-bazel/src/crypto/x509/internal.h +8 -2
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/internal.h +216 -11
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/pcy_cache.c +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/pcy_data.c +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/pcy_lib.c +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/pcy_map.c +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/pcy_node.c +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/pcy_tree.c +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_alt.c +1 -0
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_cpols.c +0 -1
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_lib.c +21 -4
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_purp.c +0 -1
- data/third_party/boringssl-with-bazel/src/include/openssl/asn1.h +1019 -274
- data/third_party/boringssl-with-bazel/src/include/openssl/asn1t.h +3 -3
- data/third_party/boringssl-with-bazel/src/include/openssl/base.h +5 -2
- data/third_party/boringssl-with-bazel/src/include/openssl/base64.h +8 -0
- data/third_party/boringssl-with-bazel/src/include/openssl/cipher.h +13 -1
- data/third_party/boringssl-with-bazel/src/include/openssl/dh.h +4 -12
- data/third_party/boringssl-with-bazel/src/include/openssl/dsa.h +27 -41
- data/third_party/boringssl-with-bazel/src/include/openssl/ec_key.h +12 -27
- data/third_party/boringssl-with-bazel/src/include/openssl/ecdsa.h +8 -10
- data/third_party/boringssl-with-bazel/src/include/openssl/evp.h +29 -55
- data/third_party/boringssl-with-bazel/src/include/openssl/hpke.h +1 -1
- data/third_party/boringssl-with-bazel/src/include/openssl/pkcs7.h +12 -13
- data/third_party/boringssl-with-bazel/src/include/openssl/pkcs8.h +6 -1
- data/third_party/boringssl-with-bazel/src/include/openssl/pool.h +7 -1
- data/third_party/boringssl-with-bazel/src/include/openssl/rsa.h +24 -28
- data/third_party/boringssl-with-bazel/src/include/openssl/ssl.h +31 -13
- data/third_party/boringssl-with-bazel/src/include/openssl/x509.h +491 -58
- data/third_party/boringssl-with-bazel/src/include/openssl/x509_vfy.h +16 -564
- data/third_party/boringssl-with-bazel/src/include/openssl/x509v3.h +4 -3
- data/third_party/boringssl-with-bazel/src/ssl/internal.h +3 -3
- data/third_party/boringssl-with-bazel/src/ssl/ssl_lib.cc +4 -0
- data/third_party/boringssl-with-bazel/src/ssl/ssl_versions.cc +4 -0
- data/third_party/boringssl-with-bazel/src/ssl/ssl_x509.cc +0 -1
- data/third_party/re2/re2/compile.cc +91 -109
- data/third_party/re2/re2/dfa.cc +27 -39
- data/third_party/re2/re2/filtered_re2.cc +18 -2
- data/third_party/re2/re2/filtered_re2.h +10 -5
- data/third_party/re2/re2/nfa.cc +1 -1
- data/third_party/re2/re2/parse.cc +42 -23
- data/third_party/re2/re2/perl_groups.cc +34 -34
- data/third_party/re2/re2/prefilter.cc +3 -2
- data/third_party/re2/re2/prog.cc +182 -4
- data/third_party/re2/re2/prog.h +28 -9
- data/third_party/re2/re2/re2.cc +87 -118
- data/third_party/re2/re2/re2.h +156 -141
- data/third_party/re2/re2/regexp.cc +12 -5
- data/third_party/re2/re2/regexp.h +8 -2
- data/third_party/re2/re2/set.cc +31 -9
- data/third_party/re2/re2/set.h +9 -4
- data/third_party/re2/re2/simplify.cc +11 -3
- data/third_party/re2/re2/tostring.cc +1 -1
- data/third_party/re2/re2/walker-inl.h +1 -1
- data/third_party/re2/util/mutex.h +2 -2
- data/third_party/re2/util/pcre.h +3 -3
- data/third_party/upb/upb/decode.c +309 -178
- data/third_party/upb/upb/decode_fast.c +1 -1
- data/third_party/upb/upb/decode_internal.h +1 -0
- data/third_party/upb/upb/def.c +330 -85
- data/third_party/upb/upb/def.h +45 -14
- data/third_party/upb/upb/def.hpp +17 -4
- data/third_party/upb/upb/encode.c +100 -40
- data/third_party/upb/upb/msg.c +22 -9
- data/third_party/upb/upb/msg_internal.h +90 -8
- data/third_party/upb/upb/reflection.c +98 -58
- data/third_party/upb/upb/reflection.h +6 -2
- data/third_party/upb/upb/text_encode.c +3 -3
- data/third_party/upb/upb/upb.c +8 -0
- data/third_party/xxhash/xxhash.h +607 -352
- metadata +259 -115
- data/include/grpc/event_engine/slice_allocator.h +0 -71
- data/src/core/ext/filters/client_channel/service_config_call_data.h +0 -126
- data/src/core/ext/filters/workarounds/workaround_cronet_compression_filter.cc +0 -211
- data/src/core/ext/filters/workarounds/workaround_utils.cc +0 -53
- data/src/core/ext/filters/workarounds/workaround_utils.h +0 -39
- data/src/core/ext/transport/chttp2/client/authority.cc +0 -42
- data/src/core/ext/transport/chttp2/client/authority.h +0 -36
- data/src/core/ext/transport/chttp2/transport/chttp2_slice_allocator.cc +0 -67
- data/src/core/ext/transport/chttp2/transport/chttp2_slice_allocator.h +0 -74
- data/src/core/ext/transport/chttp2/transport/hpack_encoder_index.h +0 -107
- data/src/core/ext/transport/chttp2/transport/hpack_utils.cc +0 -46
- data/src/core/ext/transport/chttp2/transport/incoming_metadata.cc +0 -66
- data/src/core/ext/transport/chttp2/transport/incoming_metadata.h +0 -58
- data/src/core/ext/transport/chttp2/transport/popularity_count.h +0 -60
- data/src/core/ext/upb-generated/udpa/data/orca/v1/orca_load_report.upb.c +0 -58
- data/src/core/ext/upb-generated/udpa/data/orca/v1/orca_load_report.upb.h +0 -130
- data/src/core/ext/upb-generated/udpa/type/v1/typed_struct.upb.c +0 -33
- data/src/core/ext/upb-generated/udpa/type/v1/typed_struct.upb.h +0 -83
- data/src/core/ext/upbdefs-generated/udpa/type/v1/typed_struct.upbdefs.c +0 -44
- data/src/core/ext/upbdefs-generated/udpa/type/v1/typed_struct.upbdefs.h +0 -35
- data/src/core/lib/avl/avl.cc +0 -306
- data/src/core/lib/compression/algorithm_metadata.h +0 -62
- data/src/core/lib/compression/compression_args.cc +0 -136
- data/src/core/lib/compression/compression_args.h +0 -56
- data/src/core/lib/compression/stream_compression.cc +0 -81
- data/src/core/lib/compression/stream_compression.h +0 -117
- data/src/core/lib/compression/stream_compression_gzip.cc +0 -231
- data/src/core/lib/compression/stream_compression_identity.cc +0 -91
- data/src/core/lib/compression/stream_compression_identity.h +0 -29
- data/src/core/lib/gprpp/match.h +0 -73
- data/src/core/lib/gprpp/overload.h +0 -59
- data/src/core/lib/iomgr/event_engine/iomgr.h +0 -42
- data/src/core/lib/iomgr/resource_quota.cc +0 -1104
- data/src/core/lib/iomgr/resource_quota.h +0 -226
- data/src/core/lib/iomgr/udp_server.cc +0 -747
- data/src/core/lib/iomgr/udp_server.h +0 -103
- data/src/core/lib/security/credentials/credentials_metadata.cc +0 -61
- data/src/core/lib/transport/metadata.cc +0 -693
- data/src/core/lib/transport/metadata.h +0 -448
- data/src/core/lib/transport/metadata_batch.cc +0 -430
- data/src/core/lib/transport/static_metadata.cc +0 -1249
- data/src/core/lib/transport/static_metadata.h +0 -604
- data/src/core/lib/transport/status_metadata.cc +0 -62
- data/src/core/lib/transport/status_metadata.h +0 -48
- data/third_party/boringssl-with-bazel/src/crypto/asn1/f_enum.c +0 -93
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/pcy_int.h +0 -217
@@ -47,7 +47,6 @@
|
|
47
47
|
#include "src/core/lib/iomgr/nameser.h"
|
48
48
|
#include "src/core/lib/iomgr/sockaddr.h"
|
49
49
|
#include "src/core/lib/iomgr/timer.h"
|
50
|
-
#include "src/core/lib/transport/authority_override.h"
|
51
50
|
|
52
51
|
using grpc_core::ServerAddress;
|
53
52
|
using grpc_core::ServerAddressList;
|
@@ -57,79 +56,64 @@ grpc_core::TraceFlag grpc_trace_cares_address_sorting(false,
|
|
57
56
|
|
58
57
|
grpc_core::TraceFlag grpc_trace_cares_resolver(false, "cares_resolver");
|
59
58
|
|
60
|
-
typedef struct grpc_ares_ev_driver grpc_ares_ev_driver;
|
61
|
-
|
62
|
-
struct grpc_ares_request {
|
63
|
-
/** indicates the DNS server to use, if specified */
|
64
|
-
struct ares_addr_port_node dns_server_addr;
|
65
|
-
/** following members are set in grpc_resolve_address_ares_impl */
|
66
|
-
/** closure to call when the request completes */
|
67
|
-
grpc_closure* on_done;
|
68
|
-
/** the pointer to receive the resolved addresses */
|
69
|
-
std::unique_ptr<grpc_core::ServerAddressList>* addresses_out;
|
70
|
-
/** the pointer to receive the resolved balancer addresses */
|
71
|
-
std::unique_ptr<grpc_core::ServerAddressList>* balancer_addresses_out;
|
72
|
-
/** the pointer to receive the service config in JSON */
|
73
|
-
char** service_config_json_out;
|
74
|
-
/** the evernt driver used by this request */
|
75
|
-
grpc_ares_ev_driver* ev_driver;
|
76
|
-
/** number of ongoing queries */
|
77
|
-
size_t pending_queries;
|
78
|
-
|
79
|
-
/** the errors explaining query failures, appended to in query callbacks */
|
80
|
-
grpc_error_handle error;
|
81
|
-
};
|
82
|
-
|
83
59
|
typedef struct fd_node {
|
60
|
+
/* default constructor exists only for linked list manipulation */
|
61
|
+
fd_node() : ev_driver(nullptr) {}
|
62
|
+
|
63
|
+
explicit fd_node(grpc_ares_ev_driver* ev_driver) : ev_driver(ev_driver) {}
|
64
|
+
|
84
65
|
/** the owner of this fd node */
|
85
|
-
grpc_ares_ev_driver* ev_driver;
|
66
|
+
grpc_ares_ev_driver* const ev_driver;
|
86
67
|
/** a closure wrapping on_readable_locked, which should be
|
87
68
|
invoked when the grpc_fd in this node becomes readable. */
|
88
|
-
grpc_closure read_closure;
|
69
|
+
grpc_closure read_closure ABSL_GUARDED_BY(&grpc_ares_request::mu);
|
89
70
|
/** a closure wrapping on_writable_locked, which should be
|
90
71
|
invoked when the grpc_fd in this node becomes writable. */
|
91
|
-
grpc_closure write_closure;
|
72
|
+
grpc_closure write_closure ABSL_GUARDED_BY(&grpc_ares_request::mu);
|
92
73
|
/** next fd node in the list */
|
93
|
-
struct fd_node* next;
|
74
|
+
struct fd_node* next ABSL_GUARDED_BY(&grpc_ares_request::mu);
|
94
75
|
|
95
76
|
/** wrapped fd that's polled by grpc's poller for the current platform */
|
96
|
-
grpc_core::GrpcPolledFd* grpc_polled_fd
|
77
|
+
grpc_core::GrpcPolledFd* grpc_polled_fd
|
78
|
+
ABSL_GUARDED_BY(&grpc_ares_request::mu);
|
97
79
|
/** if the readable closure has been registered */
|
98
|
-
bool readable_registered;
|
80
|
+
bool readable_registered ABSL_GUARDED_BY(&grpc_ares_request::mu);
|
99
81
|
/** if the writable closure has been registered */
|
100
|
-
bool writable_registered;
|
82
|
+
bool writable_registered ABSL_GUARDED_BY(&grpc_ares_request::mu);
|
101
83
|
/** if the fd has been shutdown yet from grpc iomgr perspective */
|
102
|
-
bool already_shutdown;
|
84
|
+
bool already_shutdown ABSL_GUARDED_BY(&grpc_ares_request::mu);
|
103
85
|
} fd_node;
|
104
86
|
|
105
87
|
struct grpc_ares_ev_driver {
|
88
|
+
explicit grpc_ares_ev_driver(grpc_ares_request* request) : request(request) {}
|
89
|
+
|
106
90
|
/** the ares_channel owned by this event driver */
|
107
|
-
ares_channel channel;
|
91
|
+
ares_channel channel ABSL_GUARDED_BY(&grpc_ares_request::mu);
|
108
92
|
/** pollset set for driving the IO events of the channel */
|
109
|
-
grpc_pollset_set* pollset_set;
|
93
|
+
grpc_pollset_set* pollset_set ABSL_GUARDED_BY(&grpc_ares_request::mu);
|
110
94
|
/** refcount of the event driver */
|
111
95
|
gpr_refcount refs;
|
112
96
|
|
113
|
-
/** work_serializer to synchronize c-ares and I/O callbacks on */
|
114
|
-
std::shared_ptr<grpc_core::WorkSerializer> work_serializer;
|
115
97
|
/** a list of grpc_fd that this event driver is currently using. */
|
116
|
-
fd_node* fds;
|
98
|
+
fd_node* fds ABSL_GUARDED_BY(&grpc_ares_request::mu);
|
117
99
|
/** is this event driver being shut down */
|
118
|
-
bool shutting_down;
|
100
|
+
bool shutting_down ABSL_GUARDED_BY(&grpc_ares_request::mu);
|
119
101
|
/** request object that's using this ev driver */
|
120
|
-
grpc_ares_request* request;
|
102
|
+
grpc_ares_request* const request;
|
121
103
|
/** Owned by the ev_driver. Creates new GrpcPolledFd's */
|
122
|
-
std::unique_ptr<grpc_core::GrpcPolledFdFactory> polled_fd_factory
|
104
|
+
std::unique_ptr<grpc_core::GrpcPolledFdFactory> polled_fd_factory
|
105
|
+
ABSL_GUARDED_BY(&grpc_ares_request::mu);
|
123
106
|
/** query timeout in milliseconds */
|
124
|
-
int query_timeout_ms;
|
107
|
+
int query_timeout_ms ABSL_GUARDED_BY(&grpc_ares_request::mu);
|
125
108
|
/** alarm to cancel active queries */
|
126
|
-
grpc_timer query_timeout;
|
109
|
+
grpc_timer query_timeout ABSL_GUARDED_BY(&grpc_ares_request::mu);
|
127
110
|
/** cancels queries on a timeout */
|
128
|
-
grpc_closure on_timeout_locked;
|
111
|
+
grpc_closure on_timeout_locked ABSL_GUARDED_BY(&grpc_ares_request::mu);
|
129
112
|
/** alarm to poll ares_process on in case fd events don't happen */
|
130
|
-
grpc_timer ares_backup_poll_alarm;
|
113
|
+
grpc_timer ares_backup_poll_alarm ABSL_GUARDED_BY(&grpc_ares_request::mu);
|
131
114
|
/** polls ares_process on a periodic timer */
|
132
|
-
grpc_closure on_ares_backup_poll_alarm_locked
|
115
|
+
grpc_closure on_ares_backup_poll_alarm_locked
|
116
|
+
ABSL_GUARDED_BY(&grpc_ares_request::mu);
|
133
117
|
};
|
134
118
|
|
135
119
|
// TODO(apolcyn): make grpc_ares_hostbyname_request a sub-class
|
@@ -149,8 +133,10 @@ typedef struct grpc_ares_hostbyname_request {
|
|
149
133
|
const char* qtype;
|
150
134
|
} grpc_ares_hostbyname_request;
|
151
135
|
|
152
|
-
static void grpc_ares_request_ref_locked(grpc_ares_request* r)
|
153
|
-
|
136
|
+
static void grpc_ares_request_ref_locked(grpc_ares_request* r)
|
137
|
+
ABSL_EXCLUSIVE_LOCKS_REQUIRED(r->mu);
|
138
|
+
static void grpc_ares_request_unref_locked(grpc_ares_request* r)
|
139
|
+
ABSL_EXCLUSIVE_LOCKS_REQUIRED(r->mu);
|
154
140
|
|
155
141
|
// TODO(apolcyn): as a part of C++-ification, find a way to
|
156
142
|
// organize per-query and per-resolution information in such a way
|
@@ -177,14 +163,19 @@ class GrpcAresQuery {
|
|
177
163
|
};
|
178
164
|
|
179
165
|
static grpc_ares_ev_driver* grpc_ares_ev_driver_ref(
|
180
|
-
grpc_ares_ev_driver* ev_driver)
|
166
|
+
grpc_ares_ev_driver* ev_driver)
|
167
|
+
ABSL_EXCLUSIVE_LOCKS_REQUIRED(&grpc_ares_request::mu) {
|
181
168
|
GRPC_CARES_TRACE_LOG("request:%p Ref ev_driver %p", ev_driver->request,
|
182
169
|
ev_driver);
|
183
170
|
gpr_ref(&ev_driver->refs);
|
184
171
|
return ev_driver;
|
185
172
|
}
|
186
173
|
|
187
|
-
static void
|
174
|
+
static void grpc_ares_complete_request_locked(grpc_ares_request* r)
|
175
|
+
ABSL_EXCLUSIVE_LOCKS_REQUIRED(r->mu);
|
176
|
+
|
177
|
+
static void grpc_ares_ev_driver_unref(grpc_ares_ev_driver* ev_driver)
|
178
|
+
ABSL_EXCLUSIVE_LOCKS_REQUIRED(&grpc_ares_request::mu) {
|
188
179
|
GRPC_CARES_TRACE_LOG("request:%p Unref ev_driver %p", ev_driver->request,
|
189
180
|
ev_driver);
|
190
181
|
if (gpr_unref(&ev_driver->refs)) {
|
@@ -197,17 +188,19 @@ static void grpc_ares_ev_driver_unref(grpc_ares_ev_driver* ev_driver) {
|
|
197
188
|
}
|
198
189
|
}
|
199
190
|
|
200
|
-
static void fd_node_destroy_locked(fd_node* fdn)
|
191
|
+
static void fd_node_destroy_locked(fd_node* fdn)
|
192
|
+
ABSL_EXCLUSIVE_LOCKS_REQUIRED(&grpc_ares_request::mu) {
|
201
193
|
GRPC_CARES_TRACE_LOG("request:%p delete fd: %s", fdn->ev_driver->request,
|
202
194
|
fdn->grpc_polled_fd->GetName());
|
203
195
|
GPR_ASSERT(!fdn->readable_registered);
|
204
196
|
GPR_ASSERT(!fdn->writable_registered);
|
205
197
|
GPR_ASSERT(fdn->already_shutdown);
|
206
198
|
delete fdn->grpc_polled_fd;
|
207
|
-
|
199
|
+
delete fdn;
|
208
200
|
}
|
209
201
|
|
210
|
-
static void fd_node_shutdown_locked(fd_node* fdn, const char* reason)
|
202
|
+
static void fd_node_shutdown_locked(fd_node* fdn, const char* reason)
|
203
|
+
ABSL_EXCLUSIVE_LOCKS_REQUIRED(&grpc_ares_request::mu) {
|
211
204
|
if (!fdn->already_shutdown) {
|
212
205
|
fdn->already_shutdown = true;
|
213
206
|
fdn->grpc_polled_fd->ShutdownLocked(
|
@@ -216,7 +209,8 @@ static void fd_node_shutdown_locked(fd_node* fdn, const char* reason) {
|
|
216
209
|
}
|
217
210
|
|
218
211
|
void grpc_ares_ev_driver_on_queries_complete_locked(
|
219
|
-
grpc_ares_ev_driver* ev_driver)
|
212
|
+
grpc_ares_ev_driver* ev_driver)
|
213
|
+
ABSL_EXCLUSIVE_LOCKS_REQUIRED(&grpc_ares_request::mu) {
|
220
214
|
// We mark the event driver as being shut down.
|
221
215
|
// grpc_ares_notify_on_event_locked will shut down any remaining
|
222
216
|
// fds.
|
@@ -226,7 +220,8 @@ void grpc_ares_ev_driver_on_queries_complete_locked(
|
|
226
220
|
grpc_ares_ev_driver_unref(ev_driver);
|
227
221
|
}
|
228
222
|
|
229
|
-
void grpc_ares_ev_driver_shutdown_locked(grpc_ares_ev_driver* ev_driver)
|
223
|
+
void grpc_ares_ev_driver_shutdown_locked(grpc_ares_ev_driver* ev_driver)
|
224
|
+
ABSL_EXCLUSIVE_LOCKS_REQUIRED(&grpc_ares_request::mu) {
|
230
225
|
ev_driver->shutting_down = true;
|
231
226
|
fd_node* fn = ev_driver->fds;
|
232
227
|
while (fn != nullptr) {
|
@@ -237,7 +232,8 @@ void grpc_ares_ev_driver_shutdown_locked(grpc_ares_ev_driver* ev_driver) {
|
|
237
232
|
|
238
233
|
// Search fd in the fd_node list head. This is an O(n) search, the max possible
|
239
234
|
// value of n is ARES_GETSOCK_MAXNUM (16). n is typically 1 - 2 in our tests.
|
240
|
-
static fd_node* pop_fd_node_locked(fd_node** head, ares_socket_t as)
|
235
|
+
static fd_node* pop_fd_node_locked(fd_node** head, ares_socket_t as)
|
236
|
+
ABSL_EXCLUSIVE_LOCKS_REQUIRED(&grpc_ares_request::mu) {
|
241
237
|
fd_node phony_head;
|
242
238
|
phony_head.next = *head;
|
243
239
|
fd_node* node = &phony_head;
|
@@ -254,7 +250,8 @@ static fd_node* pop_fd_node_locked(fd_node** head, ares_socket_t as) {
|
|
254
250
|
}
|
255
251
|
|
256
252
|
static grpc_millis calculate_next_ares_backup_poll_alarm_ms(
|
257
|
-
grpc_ares_ev_driver* driver)
|
253
|
+
grpc_ares_ev_driver* driver)
|
254
|
+
ABSL_EXCLUSIVE_LOCKS_REQUIRED(&grpc_ares_request::mu) {
|
258
255
|
// An alternative here could be to use ares_timeout to try to be more
|
259
256
|
// accurate, but that would require using "struct timeval"'s, which just makes
|
260
257
|
// things a bit more complicated. So just poll every second, as suggested
|
@@ -268,8 +265,9 @@ static grpc_millis calculate_next_ares_backup_poll_alarm_ms(
|
|
268
265
|
grpc_core::ExecCtx::Get()->Now();
|
269
266
|
}
|
270
267
|
|
271
|
-
static void
|
272
|
-
|
268
|
+
static void on_timeout(void* arg, grpc_error_handle error) {
|
269
|
+
grpc_ares_ev_driver* driver = static_cast<grpc_ares_ev_driver*>(arg);
|
270
|
+
grpc_core::MutexLock lock(&driver->request->mu);
|
273
271
|
GRPC_CARES_TRACE_LOG(
|
274
272
|
"request:%p ev_driver=%p on_timeout_locked. driver->shutting_down=%d. "
|
275
273
|
"err=%s",
|
@@ -279,28 +277,10 @@ static void on_timeout_locked(grpc_ares_ev_driver* driver,
|
|
279
277
|
grpc_ares_ev_driver_shutdown_locked(driver);
|
280
278
|
}
|
281
279
|
grpc_ares_ev_driver_unref(driver);
|
282
|
-
GRPC_ERROR_UNREF(error);
|
283
|
-
}
|
284
|
-
|
285
|
-
static void on_timeout(void* arg, grpc_error_handle error) {
|
286
|
-
grpc_ares_ev_driver* driver = static_cast<grpc_ares_ev_driver*>(arg);
|
287
|
-
GRPC_ERROR_REF(error); // ref owned by lambda
|
288
|
-
driver->work_serializer->Run(
|
289
|
-
[driver, error]() { on_timeout_locked(driver, error); }, DEBUG_LOCATION);
|
290
280
|
}
|
291
281
|
|
292
|
-
static void grpc_ares_notify_on_event_locked(grpc_ares_ev_driver* ev_driver)
|
293
|
-
|
294
|
-
static void on_ares_backup_poll_alarm_locked(grpc_ares_ev_driver* driver,
|
295
|
-
grpc_error_handle error);
|
296
|
-
|
297
|
-
static void on_ares_backup_poll_alarm(void* arg, grpc_error_handle error) {
|
298
|
-
grpc_ares_ev_driver* driver = static_cast<grpc_ares_ev_driver*>(arg);
|
299
|
-
GRPC_ERROR_REF(error);
|
300
|
-
driver->work_serializer->Run(
|
301
|
-
[driver, error]() { on_ares_backup_poll_alarm_locked(driver, error); },
|
302
|
-
DEBUG_LOCATION);
|
303
|
-
}
|
282
|
+
static void grpc_ares_notify_on_event_locked(grpc_ares_ev_driver* ev_driver)
|
283
|
+
ABSL_EXCLUSIVE_LOCKS_REQUIRED(&grpc_ares_request::mu);
|
304
284
|
|
305
285
|
/* In case of non-responsive DNS servers, dropped packets, etc., c-ares has
|
306
286
|
* intelligent timeout and retry logic, which we can take advantage of by
|
@@ -310,8 +290,9 @@ static void on_ares_backup_poll_alarm(void* arg, grpc_error_handle error) {
|
|
310
290
|
* b) when some time has passed without fd events having happened
|
311
291
|
* For the latter, we use this backup poller. Also see
|
312
292
|
* https://github.com/grpc/grpc/pull/17688 description for more details. */
|
313
|
-
static void
|
314
|
-
|
293
|
+
static void on_ares_backup_poll_alarm(void* arg, grpc_error_handle error) {
|
294
|
+
grpc_ares_ev_driver* driver = static_cast<grpc_ares_ev_driver*>(arg);
|
295
|
+
grpc_core::MutexLock lock(&driver->request->mu);
|
315
296
|
GRPC_CARES_TRACE_LOG(
|
316
297
|
"request:%p ev_driver=%p on_ares_backup_poll_alarm_locked. "
|
317
298
|
"driver->shutting_down=%d. "
|
@@ -349,10 +330,11 @@ static void on_ares_backup_poll_alarm_locked(grpc_ares_ev_driver* driver,
|
|
349
330
|
grpc_ares_notify_on_event_locked(driver);
|
350
331
|
}
|
351
332
|
grpc_ares_ev_driver_unref(driver);
|
352
|
-
GRPC_ERROR_UNREF(error);
|
353
333
|
}
|
354
334
|
|
355
|
-
static void
|
335
|
+
static void on_readable(void* arg, grpc_error_handle error) {
|
336
|
+
fd_node* fdn = static_cast<fd_node*>(arg);
|
337
|
+
grpc_core::MutexLock lock(&fdn->ev_driver->request->mu);
|
356
338
|
GPR_ASSERT(fdn->readable_registered);
|
357
339
|
grpc_ares_ev_driver* ev_driver = fdn->ev_driver;
|
358
340
|
const ares_socket_t as = fdn->grpc_polled_fd->GetWrappedAresSocketLocked();
|
@@ -374,17 +356,11 @@ static void on_readable_locked(fd_node* fdn, grpc_error_handle error) {
|
|
374
356
|
}
|
375
357
|
grpc_ares_notify_on_event_locked(ev_driver);
|
376
358
|
grpc_ares_ev_driver_unref(ev_driver);
|
377
|
-
GRPC_ERROR_UNREF(error);
|
378
359
|
}
|
379
360
|
|
380
|
-
static void
|
361
|
+
static void on_writable(void* arg, grpc_error_handle error) {
|
381
362
|
fd_node* fdn = static_cast<fd_node*>(arg);
|
382
|
-
|
383
|
-
fdn->ev_driver->work_serializer->Run(
|
384
|
-
[fdn, error]() { on_readable_locked(fdn, error); }, DEBUG_LOCATION);
|
385
|
-
}
|
386
|
-
|
387
|
-
static void on_writable_locked(fd_node* fdn, grpc_error_handle error) {
|
363
|
+
grpc_core::MutexLock lock(&fdn->ev_driver->request->mu);
|
388
364
|
GPR_ASSERT(fdn->writable_registered);
|
389
365
|
grpc_ares_ev_driver* ev_driver = fdn->ev_driver;
|
390
366
|
const ares_socket_t as = fdn->grpc_polled_fd->GetWrappedAresSocketLocked();
|
@@ -404,19 +380,12 @@ static void on_writable_locked(fd_node* fdn, grpc_error_handle error) {
|
|
404
380
|
}
|
405
381
|
grpc_ares_notify_on_event_locked(ev_driver);
|
406
382
|
grpc_ares_ev_driver_unref(ev_driver);
|
407
|
-
GRPC_ERROR_UNREF(error);
|
408
|
-
}
|
409
|
-
|
410
|
-
static void on_writable(void* arg, grpc_error_handle error) {
|
411
|
-
fd_node* fdn = static_cast<fd_node*>(arg);
|
412
|
-
GRPC_ERROR_REF(error); /* ref owned by lambda */
|
413
|
-
fdn->ev_driver->work_serializer->Run(
|
414
|
-
[fdn, error]() { on_writable_locked(fdn, error); }, DEBUG_LOCATION);
|
415
383
|
}
|
416
384
|
|
417
385
|
// Get the file descriptors used by the ev_driver's ares channel, register
|
418
386
|
// driver_closure with these filedescriptors.
|
419
|
-
static void grpc_ares_notify_on_event_locked(grpc_ares_ev_driver* ev_driver)
|
387
|
+
static void grpc_ares_notify_on_event_locked(grpc_ares_ev_driver* ev_driver)
|
388
|
+
ABSL_EXCLUSIVE_LOCKS_REQUIRED(&grpc_ares_request::mu) {
|
420
389
|
fd_node* new_list = nullptr;
|
421
390
|
if (!ev_driver->shutting_down) {
|
422
391
|
ares_socket_t socks[ARES_GETSOCK_MAXNUM];
|
@@ -428,13 +397,12 @@ static void grpc_ares_notify_on_event_locked(grpc_ares_ev_driver* ev_driver) {
|
|
428
397
|
fd_node* fdn = pop_fd_node_locked(&ev_driver->fds, socks[i]);
|
429
398
|
// Create a new fd_node if sock[i] is not in the fd_node list.
|
430
399
|
if (fdn == nullptr) {
|
431
|
-
fdn =
|
400
|
+
fdn = new fd_node(ev_driver);
|
432
401
|
fdn->grpc_polled_fd =
|
433
402
|
ev_driver->polled_fd_factory->NewGrpcPolledFdLocked(
|
434
|
-
socks[i], ev_driver->pollset_set
|
403
|
+
socks[i], ev_driver->pollset_set);
|
435
404
|
GRPC_CARES_TRACE_LOG("request:%p new fd: %s", ev_driver->request,
|
436
405
|
fdn->grpc_polled_fd->GetName());
|
437
|
-
fdn->ev_driver = ev_driver;
|
438
406
|
fdn->readable_registered = false;
|
439
407
|
fdn->writable_registered = false;
|
440
408
|
fdn->already_shutdown = false;
|
@@ -490,7 +458,8 @@ static void grpc_ares_notify_on_event_locked(grpc_ares_ev_driver* ev_driver) {
|
|
490
458
|
ev_driver->fds = new_list;
|
491
459
|
}
|
492
460
|
|
493
|
-
void grpc_ares_ev_driver_start_locked(grpc_ares_ev_driver* ev_driver)
|
461
|
+
void grpc_ares_ev_driver_start_locked(grpc_ares_ev_driver* ev_driver)
|
462
|
+
ABSL_EXCLUSIVE_LOCKS_REQUIRED(&grpc_ares_request::mu) {
|
494
463
|
grpc_ares_notify_on_event_locked(ev_driver);
|
495
464
|
// Initialize overall DNS resolution timeout alarm
|
496
465
|
grpc_millis timeout =
|
@@ -525,10 +494,9 @@ void (*grpc_ares_test_only_inject_config)(ares_channel channel) =
|
|
525
494
|
|
526
495
|
grpc_error_handle grpc_ares_ev_driver_create_locked(
|
527
496
|
grpc_ares_ev_driver** ev_driver, grpc_pollset_set* pollset_set,
|
528
|
-
int query_timeout_ms,
|
529
|
-
|
530
|
-
|
531
|
-
*ev_driver = new grpc_ares_ev_driver();
|
497
|
+
int query_timeout_ms, grpc_ares_request* request)
|
498
|
+
ABSL_EXCLUSIVE_LOCKS_REQUIRED(request->mu) {
|
499
|
+
*ev_driver = new grpc_ares_ev_driver(request);
|
532
500
|
ares_options opts;
|
533
501
|
memset(&opts, 0, sizeof(opts));
|
534
502
|
opts.flags |= ARES_FLAG_STAYOPEN;
|
@@ -538,17 +506,15 @@ grpc_error_handle grpc_ares_ev_driver_create_locked(
|
|
538
506
|
if (status != ARES_SUCCESS) {
|
539
507
|
grpc_error_handle err = GRPC_ERROR_CREATE_FROM_CPP_STRING(absl::StrCat(
|
540
508
|
"Failed to init ares channel. C-ares error: ", ares_strerror(status)));
|
541
|
-
|
509
|
+
delete *ev_driver;
|
542
510
|
return err;
|
543
511
|
}
|
544
|
-
(*ev_driver)->work_serializer = std::move(work_serializer);
|
545
512
|
gpr_ref_init(&(*ev_driver)->refs, 1);
|
546
513
|
(*ev_driver)->pollset_set = pollset_set;
|
547
514
|
(*ev_driver)->fds = nullptr;
|
548
515
|
(*ev_driver)->shutting_down = false;
|
549
|
-
(*ev_driver)->request = request;
|
550
516
|
(*ev_driver)->polled_fd_factory =
|
551
|
-
grpc_core::NewGrpcPolledFdFactory((*ev_driver)->
|
517
|
+
grpc_core::NewGrpcPolledFdFactory(&(*ev_driver)->request->mu);
|
552
518
|
(*ev_driver)
|
553
519
|
->polled_fd_factory->ConfigureAresChannelLocked((*ev_driver)->channel);
|
554
520
|
(*ev_driver)->query_timeout_ms = query_timeout_ms;
|
@@ -594,18 +560,21 @@ void grpc_cares_wrapper_address_sorting_sort(const grpc_ares_request* r,
|
|
594
560
|
}
|
595
561
|
}
|
596
562
|
|
597
|
-
static void grpc_ares_request_ref_locked(grpc_ares_request* r)
|
563
|
+
static void grpc_ares_request_ref_locked(grpc_ares_request* r)
|
564
|
+
ABSL_EXCLUSIVE_LOCKS_REQUIRED(r->mu) {
|
598
565
|
r->pending_queries++;
|
599
566
|
}
|
600
567
|
|
601
|
-
static void grpc_ares_request_unref_locked(grpc_ares_request* r)
|
568
|
+
static void grpc_ares_request_unref_locked(grpc_ares_request* r)
|
569
|
+
ABSL_EXCLUSIVE_LOCKS_REQUIRED(r->mu) {
|
602
570
|
r->pending_queries--;
|
603
571
|
if (r->pending_queries == 0u) {
|
604
572
|
grpc_ares_ev_driver_on_queries_complete_locked(r->ev_driver);
|
605
573
|
}
|
606
574
|
}
|
607
575
|
|
608
|
-
void grpc_ares_complete_request_locked(grpc_ares_request* r)
|
576
|
+
void grpc_ares_complete_request_locked(grpc_ares_request* r)
|
577
|
+
ABSL_EXCLUSIVE_LOCKS_REQUIRED(r->mu) {
|
609
578
|
/* Invoke on_done callback and destroy the
|
610
579
|
request */
|
611
580
|
r->ev_driver = nullptr;
|
@@ -630,7 +599,8 @@ void grpc_ares_complete_request_locked(grpc_ares_request* r) {
|
|
630
599
|
* qtype must outlive it. */
|
631
600
|
static grpc_ares_hostbyname_request* create_hostbyname_request_locked(
|
632
601
|
grpc_ares_request* parent_request, const char* host, uint16_t port,
|
633
|
-
bool is_balancer, const char* qtype)
|
602
|
+
bool is_balancer, const char* qtype)
|
603
|
+
ABSL_EXCLUSIVE_LOCKS_REQUIRED(parent_request->mu) {
|
634
604
|
GRPC_CARES_TRACE_LOG(
|
635
605
|
"request:%p create_hostbyname_request_locked host:%s port:%d "
|
636
606
|
"is_balancer:%d qtype:%s",
|
@@ -645,15 +615,18 @@ static grpc_ares_hostbyname_request* create_hostbyname_request_locked(
|
|
645
615
|
return hr;
|
646
616
|
}
|
647
617
|
|
648
|
-
static void destroy_hostbyname_request_locked(
|
649
|
-
|
618
|
+
static void destroy_hostbyname_request_locked(grpc_ares_hostbyname_request* hr)
|
619
|
+
ABSL_EXCLUSIVE_LOCKS_REQUIRED(hr->parent_request->mu) {
|
650
620
|
grpc_ares_request_unref_locked(hr->parent_request);
|
651
621
|
gpr_free(hr->host);
|
652
622
|
delete hr;
|
653
623
|
}
|
654
624
|
|
655
625
|
static void on_hostbyname_done_locked(void* arg, int status, int /*timeouts*/,
|
656
|
-
struct hostent* hostent)
|
626
|
+
struct hostent* hostent)
|
627
|
+
ABSL_NO_THREAD_SAFETY_ANALYSIS {
|
628
|
+
// This callback is invoked from the c-ares library, so disable thread safety
|
629
|
+
// analysis. Note that we are guaranteed to be holding r->mu, though.
|
657
630
|
grpc_ares_hostbyname_request* hr =
|
658
631
|
static_cast<grpc_ares_hostbyname_request*>(arg);
|
659
632
|
grpc_ares_request* r = hr->parent_request;
|
@@ -670,8 +643,8 @@ static void on_hostbyname_done_locked(void* arg, int status, int /*timeouts*/,
|
|
670
643
|
for (size_t i = 0; hostent->h_addr_list[i] != nullptr; ++i) {
|
671
644
|
absl::InlinedVector<grpc_arg, 1> args_to_add;
|
672
645
|
if (hr->is_balancer) {
|
673
|
-
args_to_add.emplace_back(
|
674
|
-
|
646
|
+
args_to_add.emplace_back(grpc_channel_arg_string_create(
|
647
|
+
const_cast<char*>(GRPC_ARG_DEFAULT_AUTHORITY), hr->host));
|
675
648
|
}
|
676
649
|
grpc_channel_args* args = grpc_channel_args_copy_and_add(
|
677
650
|
nullptr, args_to_add.data(), args_to_add.size());
|
@@ -726,7 +699,10 @@ static void on_hostbyname_done_locked(void* arg, int status, int /*timeouts*/,
|
|
726
699
|
}
|
727
700
|
|
728
701
|
static void on_srv_query_done_locked(void* arg, int status, int /*timeouts*/,
|
729
|
-
unsigned char* abuf,
|
702
|
+
unsigned char* abuf,
|
703
|
+
int alen) ABSL_NO_THREAD_SAFETY_ANALYSIS {
|
704
|
+
// This callback is invoked from the c-ares library, so disable thread safety
|
705
|
+
// analysis. Note that we are guaranteed to be holding r->mu, though.
|
730
706
|
GrpcAresQuery* q = static_cast<GrpcAresQuery*>(arg);
|
731
707
|
grpc_ares_request* r = q->parent_request();
|
732
708
|
if (status == ARES_SUCCESS) {
|
@@ -773,7 +749,10 @@ static void on_srv_query_done_locked(void* arg, int status, int /*timeouts*/,
|
|
773
749
|
static const char g_service_config_attribute_prefix[] = "grpc_config=";
|
774
750
|
|
775
751
|
static void on_txt_done_locked(void* arg, int status, int /*timeouts*/,
|
776
|
-
unsigned char* buf,
|
752
|
+
unsigned char* buf,
|
753
|
+
int len) ABSL_NO_THREAD_SAFETY_ANALYSIS {
|
754
|
+
// This callback is invoked from the c-ares library, so disable thread safety
|
755
|
+
// analysis. Note that we are guaranteed to be holding r->mu, though.
|
777
756
|
GrpcAresQuery* q = static_cast<GrpcAresQuery*>(arg);
|
778
757
|
std::unique_ptr<GrpcAresQuery> query_deleter(q);
|
779
758
|
grpc_ares_request* r = q->parent_request();
|
@@ -830,8 +809,7 @@ fail:
|
|
830
809
|
void grpc_dns_lookup_ares_continue_after_check_localhost_and_ip_literals_locked(
|
831
810
|
grpc_ares_request* r, const char* dns_server, const char* name,
|
832
811
|
const char* default_port, grpc_pollset_set* interested_parties,
|
833
|
-
int query_timeout_ms
|
834
|
-
std::shared_ptr<grpc_core::WorkSerializer> work_serializer) {
|
812
|
+
int query_timeout_ms) ABSL_EXCLUSIVE_LOCKS_REQUIRED(r->mu) {
|
835
813
|
grpc_error_handle error = GRPC_ERROR_NONE;
|
836
814
|
grpc_ares_hostbyname_request* hr = nullptr;
|
837
815
|
/* parse name, splitting it into host and port parts */
|
@@ -841,20 +819,19 @@ void grpc_dns_lookup_ares_continue_after_check_localhost_and_ip_literals_locked(
|
|
841
819
|
if (host.empty()) {
|
842
820
|
error = grpc_error_set_str(
|
843
821
|
GRPC_ERROR_CREATE_FROM_STATIC_STRING("unparseable host:port"),
|
844
|
-
GRPC_ERROR_STR_TARGET_ADDRESS,
|
822
|
+
GRPC_ERROR_STR_TARGET_ADDRESS, name);
|
845
823
|
goto error_cleanup;
|
846
824
|
} else if (port.empty()) {
|
847
|
-
if (default_port == nullptr) {
|
825
|
+
if (default_port == nullptr || strlen(default_port) == 0) {
|
848
826
|
error = grpc_error_set_str(
|
849
827
|
GRPC_ERROR_CREATE_FROM_STATIC_STRING("no port in name"),
|
850
|
-
GRPC_ERROR_STR_TARGET_ADDRESS,
|
828
|
+
GRPC_ERROR_STR_TARGET_ADDRESS, name);
|
851
829
|
goto error_cleanup;
|
852
830
|
}
|
853
831
|
port = default_port;
|
854
832
|
}
|
855
833
|
error = grpc_ares_ev_driver_create_locked(&r->ev_driver, interested_parties,
|
856
|
-
query_timeout_ms,
|
857
|
-
std::move(work_serializer), r);
|
834
|
+
query_timeout_ms, r);
|
858
835
|
if (error != GRPC_ERROR_NONE) goto error_cleanup;
|
859
836
|
// If dns_server is specified, use it.
|
860
837
|
if (dns_server != nullptr && dns_server[0] != '\0') {
|
@@ -879,7 +856,7 @@ void grpc_dns_lookup_ares_continue_after_check_localhost_and_ip_literals_locked(
|
|
879
856
|
} else {
|
880
857
|
error = grpc_error_set_str(
|
881
858
|
GRPC_ERROR_CREATE_FROM_STATIC_STRING("cannot parse authority"),
|
882
|
-
GRPC_ERROR_STR_TARGET_ADDRESS,
|
859
|
+
GRPC_ERROR_STR_TARGET_ADDRESS, name);
|
883
860
|
goto error_cleanup;
|
884
861
|
}
|
885
862
|
int status =
|
@@ -936,7 +913,7 @@ static bool inner_resolve_as_ip_literal_locked(
|
|
936
913
|
return false;
|
937
914
|
}
|
938
915
|
if (port->empty()) {
|
939
|
-
if (default_port == nullptr) {
|
916
|
+
if (default_port == nullptr || strlen(default_port) == 0) {
|
940
917
|
gpr_log(GPR_ERROR,
|
941
918
|
"No port or default port for %s while attempting to resolve as "
|
942
919
|
"ip literal.",
|
@@ -999,7 +976,7 @@ static bool inner_maybe_resolve_localhost_manually_locked(
|
|
999
976
|
return false;
|
1000
977
|
}
|
1001
978
|
if (port->empty()) {
|
1002
|
-
if (default_port == nullptr) {
|
979
|
+
if (default_port == nullptr || strlen(default_port) == 0) {
|
1003
980
|
gpr_log(GPR_ERROR,
|
1004
981
|
"No port or default port for %s during manual localhost "
|
1005
982
|
"resolution check.",
|
@@ -1053,24 +1030,21 @@ static bool grpc_ares_maybe_resolve_localhost_manually_locked(
|
|
1053
1030
|
}
|
1054
1031
|
#endif /* GRPC_ARES_RESOLVE_LOCALHOST_MANUALLY */
|
1055
1032
|
|
1056
|
-
static grpc_ares_request*
|
1033
|
+
static grpc_ares_request* grpc_dns_lookup_ares_impl(
|
1057
1034
|
const char* dns_server, const char* name, const char* default_port,
|
1058
1035
|
grpc_pollset_set* interested_parties, grpc_closure* on_done,
|
1059
1036
|
std::unique_ptr<grpc_core::ServerAddressList>* addrs,
|
1060
1037
|
std::unique_ptr<grpc_core::ServerAddressList>* balancer_addrs,
|
1061
|
-
char** service_config_json, int query_timeout_ms
|
1062
|
-
|
1063
|
-
|
1064
|
-
static_cast<grpc_ares_request*>(gpr_zalloc(sizeof(grpc_ares_request)));
|
1038
|
+
char** service_config_json, int query_timeout_ms) {
|
1039
|
+
grpc_ares_request* r = new grpc_ares_request();
|
1040
|
+
grpc_core::MutexLock lock(&r->mu);
|
1065
1041
|
r->ev_driver = nullptr;
|
1066
1042
|
r->on_done = on_done;
|
1067
1043
|
r->addresses_out = addrs;
|
1068
1044
|
r->balancer_addresses_out = balancer_addrs;
|
1069
1045
|
r->service_config_json_out = service_config_json;
|
1070
|
-
r->error = GRPC_ERROR_NONE;
|
1071
|
-
r->pending_queries = 0;
|
1072
1046
|
GRPC_CARES_TRACE_LOG(
|
1073
|
-
"request:%p c-ares
|
1047
|
+
"request:%p c-ares grpc_dns_lookup_ares_impl name=%s, "
|
1074
1048
|
"default_port=%s",
|
1075
1049
|
r, name, default_port);
|
1076
1050
|
// Early out if the target is an ipv4 or ipv6 literal.
|
@@ -1093,29 +1067,30 @@ static grpc_ares_request* grpc_dns_lookup_ares_locked_impl(
|
|
1093
1067
|
}
|
1094
1068
|
// Look up name using c-ares lib.
|
1095
1069
|
grpc_dns_lookup_ares_continue_after_check_localhost_and_ip_literals_locked(
|
1096
|
-
r, dns_server, name, default_port, interested_parties, query_timeout_ms
|
1097
|
-
std::move(work_serializer));
|
1070
|
+
r, dns_server, name, default_port, interested_parties, query_timeout_ms);
|
1098
1071
|
return r;
|
1099
1072
|
}
|
1100
1073
|
|
1101
|
-
grpc_ares_request* (*
|
1074
|
+
grpc_ares_request* (*grpc_dns_lookup_ares)(
|
1102
1075
|
const char* dns_server, const char* name, const char* default_port,
|
1103
1076
|
grpc_pollset_set* interested_parties, grpc_closure* on_done,
|
1104
1077
|
std::unique_ptr<grpc_core::ServerAddressList>* addrs,
|
1105
1078
|
std::unique_ptr<grpc_core::ServerAddressList>* balancer_addrs,
|
1106
|
-
char** service_config_json,
|
1107
|
-
|
1108
|
-
grpc_dns_lookup_ares_locked_impl;
|
1079
|
+
char** service_config_json,
|
1080
|
+
int query_timeout_ms) = grpc_dns_lookup_ares_impl;
|
1109
1081
|
|
1110
|
-
static void
|
1082
|
+
static void grpc_cancel_ares_request_impl(grpc_ares_request* r) {
|
1111
1083
|
GPR_ASSERT(r != nullptr);
|
1084
|
+
grpc_core::MutexLock lock(&r->mu);
|
1085
|
+
GRPC_CARES_TRACE_LOG("request:%p grpc_cancel_ares_request ev_driver:%p", r,
|
1086
|
+
r->ev_driver);
|
1112
1087
|
if (r->ev_driver != nullptr) {
|
1113
1088
|
grpc_ares_ev_driver_shutdown_locked(r->ev_driver);
|
1114
1089
|
}
|
1115
1090
|
}
|
1116
1091
|
|
1117
|
-
void (*
|
1118
|
-
|
1092
|
+
void (*grpc_cancel_ares_request)(grpc_ares_request* r) =
|
1093
|
+
grpc_cancel_ares_request_impl;
|
1119
1094
|
|
1120
1095
|
// ares_library_init and ares_library_cleanup are currently no-op except under
|
1121
1096
|
// Windows. Calling them may cause race conditions when other parts of the
|
@@ -1136,95 +1111,4 @@ grpc_error_handle grpc_ares_init(void) { return GRPC_ERROR_NONE; }
|
|
1136
1111
|
void grpc_ares_cleanup(void) {}
|
1137
1112
|
#endif // GPR_WINDOWS
|
1138
1113
|
|
1139
|
-
/*
|
1140
|
-
* grpc_resolve_address_ares related structs and functions
|
1141
|
-
*/
|
1142
|
-
|
1143
|
-
typedef struct grpc_resolve_address_ares_request {
|
1144
|
-
/* work_serializer that queries and related callbacks run under */
|
1145
|
-
std::shared_ptr<grpc_core::WorkSerializer> work_serializer;
|
1146
|
-
/** the pointer to receive the resolved addresses */
|
1147
|
-
grpc_resolved_addresses** addrs_out;
|
1148
|
-
/** currently resolving addresses */
|
1149
|
-
std::unique_ptr<ServerAddressList> addresses;
|
1150
|
-
/** closure to call when the resolve_address_ares request completes */
|
1151
|
-
grpc_closure* on_resolve_address_done;
|
1152
|
-
/** a closure wrapping on_resolve_address_done, which should be invoked when
|
1153
|
-
the grpc_dns_lookup_ares_locked operation is done. */
|
1154
|
-
grpc_closure on_dns_lookup_done_locked;
|
1155
|
-
/* target name */
|
1156
|
-
const char* name;
|
1157
|
-
/* default port to use if none is specified */
|
1158
|
-
const char* default_port;
|
1159
|
-
/* pollset_set to be driven by */
|
1160
|
-
grpc_pollset_set* interested_parties;
|
1161
|
-
/* underlying ares_request that the query is performed on */
|
1162
|
-
grpc_ares_request* ares_request = nullptr;
|
1163
|
-
} grpc_resolve_address_ares_request;
|
1164
|
-
|
1165
|
-
static void on_dns_lookup_done_locked(grpc_resolve_address_ares_request* r,
|
1166
|
-
grpc_error_handle error) {
|
1167
|
-
gpr_free(r->ares_request);
|
1168
|
-
grpc_resolved_addresses** resolved_addresses = r->addrs_out;
|
1169
|
-
if (r->addresses == nullptr || r->addresses->empty()) {
|
1170
|
-
*resolved_addresses = nullptr;
|
1171
|
-
} else {
|
1172
|
-
*resolved_addresses = static_cast<grpc_resolved_addresses*>(
|
1173
|
-
gpr_zalloc(sizeof(grpc_resolved_addresses)));
|
1174
|
-
(*resolved_addresses)->naddrs = r->addresses->size();
|
1175
|
-
(*resolved_addresses)->addrs =
|
1176
|
-
static_cast<grpc_resolved_address*>(gpr_zalloc(
|
1177
|
-
sizeof(grpc_resolved_address) * (*resolved_addresses)->naddrs));
|
1178
|
-
for (size_t i = 0; i < (*resolved_addresses)->naddrs; ++i) {
|
1179
|
-
memcpy(&(*resolved_addresses)->addrs[i], &(*r->addresses)[i].address(),
|
1180
|
-
sizeof(grpc_resolved_address));
|
1181
|
-
}
|
1182
|
-
}
|
1183
|
-
grpc_core::ExecCtx::Run(DEBUG_LOCATION, r->on_resolve_address_done, error);
|
1184
|
-
delete r;
|
1185
|
-
}
|
1186
|
-
|
1187
|
-
static void on_dns_lookup_done(void* arg, grpc_error_handle error) {
|
1188
|
-
grpc_resolve_address_ares_request* r =
|
1189
|
-
static_cast<grpc_resolve_address_ares_request*>(arg);
|
1190
|
-
GRPC_ERROR_REF(error); // ref owned by lambda
|
1191
|
-
r->work_serializer->Run([r, error]() { on_dns_lookup_done_locked(r, error); },
|
1192
|
-
DEBUG_LOCATION);
|
1193
|
-
}
|
1194
|
-
|
1195
|
-
static void grpc_resolve_address_invoke_dns_lookup_ares_locked(void* arg) {
|
1196
|
-
grpc_resolve_address_ares_request* r =
|
1197
|
-
static_cast<grpc_resolve_address_ares_request*>(arg);
|
1198
|
-
GRPC_CLOSURE_INIT(&r->on_dns_lookup_done_locked, on_dns_lookup_done, r,
|
1199
|
-
grpc_schedule_on_exec_ctx);
|
1200
|
-
r->ares_request = grpc_dns_lookup_ares_locked(
|
1201
|
-
nullptr /* dns_server */, r->name, r->default_port, r->interested_parties,
|
1202
|
-
&r->on_dns_lookup_done_locked, &r->addresses,
|
1203
|
-
nullptr /* balancer_addresses */, nullptr /* service_config_json */,
|
1204
|
-
GRPC_DNS_ARES_DEFAULT_QUERY_TIMEOUT_MS, r->work_serializer);
|
1205
|
-
}
|
1206
|
-
|
1207
|
-
static void grpc_resolve_address_ares_impl(const char* name,
|
1208
|
-
const char* default_port,
|
1209
|
-
grpc_pollset_set* interested_parties,
|
1210
|
-
grpc_closure* on_done,
|
1211
|
-
grpc_resolved_addresses** addrs) {
|
1212
|
-
grpc_resolve_address_ares_request* r =
|
1213
|
-
new grpc_resolve_address_ares_request();
|
1214
|
-
r->work_serializer = std::make_shared<grpc_core::WorkSerializer>();
|
1215
|
-
r->addrs_out = addrs;
|
1216
|
-
r->on_resolve_address_done = on_done;
|
1217
|
-
r->name = name;
|
1218
|
-
r->default_port = default_port;
|
1219
|
-
r->interested_parties = interested_parties;
|
1220
|
-
r->work_serializer->Run(
|
1221
|
-
[r]() { grpc_resolve_address_invoke_dns_lookup_ares_locked(r); },
|
1222
|
-
DEBUG_LOCATION);
|
1223
|
-
}
|
1224
|
-
|
1225
|
-
void (*grpc_resolve_address_ares)(
|
1226
|
-
const char* name, const char* default_port,
|
1227
|
-
grpc_pollset_set* interested_parties, grpc_closure* on_done,
|
1228
|
-
grpc_resolved_addresses** addrs) = grpc_resolve_address_ares_impl;
|
1229
|
-
|
1230
1114
|
#endif /* GRPC_ARES == 1 */
|