grpc 1.48.0 → 1.50.0
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 +114 -150
- data/include/grpc/event_engine/endpoint_config.h +11 -5
- data/include/grpc/event_engine/event_engine.h +20 -17
- data/include/grpc/impl/codegen/atm_gcc_atomic.h +19 -28
- data/include/grpc/impl/codegen/atm_gcc_sync.h +0 -2
- data/include/grpc/impl/codegen/atm_windows.h +0 -2
- data/include/grpc/impl/codegen/grpc_types.h +9 -8
- data/include/grpc/impl/codegen/port_platform.h +0 -8
- data/src/core/ext/filters/channel_idle/channel_idle_filter.cc +6 -6
- data/src/core/ext/filters/channel_idle/channel_idle_filter.h +2 -2
- data/src/core/ext/filters/client_channel/backup_poller.cc +4 -6
- data/src/core/ext/filters/client_channel/client_channel.cc +154 -218
- data/src/core/ext/filters/client_channel/client_channel.h +16 -9
- data/src/core/ext/filters/client_channel/client_channel_factory.cc +0 -29
- data/src/core/ext/filters/client_channel/client_channel_factory.h +2 -10
- data/src/core/ext/filters/client_channel/client_channel_plugin.cc +0 -16
- data/src/core/ext/filters/client_channel/config_selector.h +12 -4
- data/src/core/ext/filters/client_channel/connector.h +4 -5
- data/src/core/ext/filters/client_channel/http_proxy.cc +55 -74
- data/src/core/ext/filters/client_channel/http_proxy.h +15 -11
- data/src/core/ext/filters/client_channel/lb_policy/child_policy_handler.cc +20 -16
- data/src/core/ext/filters/client_channel/lb_policy/child_policy_handler.h +11 -10
- data/src/core/ext/filters/client_channel/lb_policy/grpclb/client_load_reporting_filter.cc +0 -2
- data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.cc +181 -194
- data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_balancer_addresses.cc +12 -3
- data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_balancer_addresses.h +5 -1
- data/src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.cc +1 -0
- data/src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.h +1 -2
- data/src/core/ext/filters/client_channel/lb_policy/oob_backend_metric.cc +20 -11
- data/src/core/ext/filters/client_channel/lb_policy/oob_backend_metric.h +1 -1
- data/src/core/ext/filters/client_channel/lb_policy/outlier_detection/outlier_detection.cc +250 -146
- data/src/core/ext/filters/client_channel/lb_policy/outlier_detection/outlier_detection.h +41 -1
- data/src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.cc +35 -32
- data/src/core/ext/filters/client_channel/lb_policy/priority/priority.cc +195 -299
- data/src/core/ext/filters/client_channel/lb_policy/ring_hash/ring_hash.cc +237 -250
- data/src/core/ext/filters/client_channel/lb_policy/ring_hash/ring_hash.h +12 -7
- data/src/core/ext/filters/client_channel/lb_policy/rls/rls.cc +431 -498
- data/src/core/ext/filters/client_channel/lb_policy/round_robin/round_robin.cc +31 -30
- data/src/core/ext/filters/client_channel/lb_policy/subchannel_list.h +27 -27
- data/src/core/ext/filters/client_channel/lb_policy/weighted_target/weighted_target.cc +108 -124
- data/src/core/ext/filters/client_channel/lb_policy/xds/cds.cc +68 -76
- data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_impl.cc +131 -227
- data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_manager.cc +126 -121
- data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_resolver.cc +325 -304
- data/src/core/ext/filters/client_channel/resolver/binder/binder_resolver.cc +4 -8
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.cc +431 -145
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.cc +172 -101
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.h +20 -7
- data/src/core/ext/filters/client_channel/resolver/dns/native/dns_resolver.cc +18 -16
- data/src/core/ext/filters/client_channel/resolver/fake/fake_resolver.cc +7 -17
- data/src/core/ext/filters/client_channel/resolver/fake/fake_resolver.h +11 -0
- data/src/core/ext/filters/client_channel/resolver/google_c2p/google_c2p_resolver.cc +51 -32
- data/src/core/ext/filters/client_channel/resolver/polling_resolver.cc +87 -41
- data/src/core/ext/filters/client_channel/resolver/polling_resolver.h +16 -6
- data/src/core/ext/filters/client_channel/resolver/sockaddr/sockaddr_resolver.cc +5 -13
- data/src/core/ext/filters/client_channel/resolver/xds/xds_resolver.cc +167 -168
- data/src/core/ext/filters/client_channel/resolver_result_parsing.cc +40 -32
- data/src/core/ext/filters/client_channel/resolver_result_parsing.h +7 -10
- data/src/core/ext/filters/client_channel/retry_filter.cc +25 -36
- data/src/core/ext/filters/client_channel/retry_service_config.cc +30 -19
- data/src/core/ext/filters/client_channel/retry_service_config.h +6 -9
- data/src/core/ext/filters/client_channel/service_config_channel_arg_filter.cc +6 -7
- data/src/core/ext/filters/client_channel/subchannel.cc +86 -121
- data/src/core/ext/filters/client_channel/subchannel.h +20 -11
- data/src/core/ext/filters/client_channel/subchannel_interface_internal.h +1 -1
- data/src/core/ext/filters/client_channel/subchannel_pool_interface.cc +6 -76
- data/src/core/ext/filters/client_channel/subchannel_pool_interface.h +16 -25
- data/src/core/ext/filters/client_channel/subchannel_stream_client.cc +4 -6
- data/src/core/ext/filters/deadline/deadline_filter.cc +6 -6
- data/src/core/ext/filters/deadline/deadline_filter.h +2 -3
- data/src/core/ext/filters/fault_injection/fault_injection_filter.cc +24 -19
- data/src/core/ext/filters/fault_injection/fault_injection_filter.h +9 -1
- data/src/core/ext/filters/fault_injection/service_config_parser.cc +17 -12
- data/src/core/ext/filters/fault_injection/service_config_parser.h +4 -5
- data/src/core/ext/filters/http/client/http_client_filter.cc +3 -5
- data/src/core/ext/filters/http/client/http_client_filter.h +1 -1
- data/src/core/ext/filters/http/client_authority_filter.cc +1 -2
- data/src/core/ext/filters/http/client_authority_filter.h +1 -1
- data/src/core/ext/filters/http/message_compress/message_compress_filter.cc +2 -4
- data/src/core/ext/filters/http/message_compress/message_decompress_filter.cc +0 -2
- data/src/core/ext/filters/http/server/http_server_filter.cc +3 -5
- data/src/core/ext/filters/http/server/http_server_filter.h +1 -1
- data/src/core/ext/filters/message_size/message_size_filter.cc +13 -7
- data/src/core/ext/filters/message_size/message_size_filter.h +3 -6
- data/src/core/ext/filters/rbac/rbac_service_config_parser.cc +16 -12
- data/src/core/ext/filters/rbac/rbac_service_config_parser.h +4 -6
- data/src/core/ext/filters/server_config_selector/server_config_selector.h +5 -0
- data/src/core/ext/filters/server_config_selector/server_config_selector_filter.cc +3 -5
- data/src/core/ext/transport/chttp2/client/chttp2_connector.cc +40 -63
- data/src/core/ext/transport/chttp2/server/chttp2_server.cc +86 -107
- data/src/core/ext/transport/chttp2/server/chttp2_server.h +4 -6
- data/src/core/ext/transport/chttp2/transport/bin_encoder.cc +1 -1
- data/src/core/ext/transport/chttp2/transport/chttp2_transport.cc +155 -295
- data/src/core/ext/transport/chttp2/transport/chttp2_transport.h +3 -2
- data/src/core/ext/transport/chttp2/transport/decode_huff.cc +287 -0
- data/src/core/ext/transport/chttp2/transport/decode_huff.h +1018 -0
- data/src/core/ext/transport/chttp2/transport/flow_control.cc +139 -42
- data/src/core/ext/transport/chttp2/transport/flow_control.h +12 -6
- data/src/core/ext/transport/chttp2/transport/frame_ping.cc +1 -2
- data/src/core/ext/transport/chttp2/transport/hpack_constants.h +7 -1
- data/src/core/ext/transport/chttp2/transport/hpack_encoder.cc +27 -28
- data/src/core/ext/transport/chttp2/transport/hpack_encoder.h +4 -0
- data/src/core/ext/transport/chttp2/transport/hpack_encoder_table.cc +0 -1
- data/src/core/ext/transport/chttp2/transport/hpack_encoder_table.h +8 -2
- data/src/core/ext/transport/chttp2/transport/hpack_parser.cc +30 -38
- data/src/core/ext/transport/chttp2/transport/hpack_parser_table.cc +1 -10
- data/src/core/ext/transport/chttp2/transport/hpack_parser_table.h +11 -6
- data/src/core/ext/transport/chttp2/transport/internal.h +4 -1
- data/src/core/ext/transport/chttp2/transport/parsing.cc +44 -0
- data/src/core/ext/transport/chttp2/transport/writing.cc +3 -14
- data/src/core/ext/transport/inproc/inproc_transport.cc +41 -77
- data/src/core/ext/upb-generated/envoy/admin/v3/certs.upb.c +5 -5
- data/src/core/ext/upb-generated/envoy/admin/v3/certs.upb.h +30 -10
- data/src/core/ext/upb-generated/envoy/admin/v3/clusters.upb.c +4 -4
- data/src/core/ext/upb-generated/envoy/admin/v3/clusters.upb.h +24 -8
- data/src/core/ext/upb-generated/envoy/admin/v3/config_dump.upb.c +8 -327
- data/src/core/ext/upb-generated/envoy/admin/v3/config_dump.upb.h +83 -1723
- data/src/core/ext/upb-generated/envoy/admin/v3/config_dump_shared.upb.c +352 -0
- data/src/core/ext/upb-generated/envoy/admin/v3/config_dump_shared.upb.h +1768 -0
- data/src/core/ext/upb-generated/envoy/admin/v3/init_dump.upb.c +2 -2
- data/src/core/ext/upb-generated/envoy/admin/v3/init_dump.upb.h +12 -4
- data/src/core/ext/upb-generated/envoy/admin/v3/listeners.upb.c +6 -4
- data/src/core/ext/upb-generated/envoy/admin/v3/listeners.upb.h +33 -4
- data/src/core/ext/upb-generated/envoy/admin/v3/memory.upb.c +1 -1
- data/src/core/ext/upb-generated/envoy/admin/v3/memory.upb.h +6 -2
- data/src/core/ext/upb-generated/envoy/admin/v3/metrics.upb.c +1 -1
- data/src/core/ext/upb-generated/envoy/admin/v3/metrics.upb.h +6 -2
- data/src/core/ext/upb-generated/envoy/admin/v3/mutex_stats.upb.h +6 -2
- data/src/core/ext/upb-generated/envoy/admin/v3/server_info.upb.h +12 -4
- data/src/core/ext/upb-generated/envoy/admin/v3/tap.upb.c +1 -1
- data/src/core/ext/upb-generated/envoy/admin/v3/tap.upb.h +6 -2
- data/src/core/ext/upb-generated/envoy/annotations/resource.upb.c +1 -1
- data/src/core/ext/upb-generated/envoy/annotations/resource.upb.h +7 -3
- data/src/core/ext/upb-generated/envoy/config/accesslog/v3/accesslog.upb.c +14 -14
- data/src/core/ext/upb-generated/envoy/config/accesslog/v3/accesslog.upb.h +90 -30
- data/src/core/ext/upb-generated/envoy/config/bootstrap/v3/bootstrap.upb.c +21 -19
- data/src/core/ext/upb-generated/envoy/config/bootstrap/v3/bootstrap.upb.h +124 -34
- data/src/core/ext/upb-generated/envoy/config/cluster/v3/circuit_breaker.upb.c +3 -3
- data/src/core/ext/upb-generated/envoy/config/cluster/v3/circuit_breaker.upb.h +18 -6
- data/src/core/ext/upb-generated/envoy/config/cluster/v3/cluster.upb.c +23 -22
- data/src/core/ext/upb-generated/envoy/config/cluster/v3/cluster.upb.h +153 -48
- data/src/core/ext/upb-generated/envoy/config/cluster/v3/filter.upb.c +1 -1
- data/src/core/ext/upb-generated/envoy/config/cluster/v3/filter.upb.h +6 -2
- data/src/core/ext/upb-generated/envoy/config/cluster/v3/outlier_detection.upb.c +1 -1
- data/src/core/ext/upb-generated/envoy/config/cluster/v3/outlier_detection.upb.h +6 -2
- data/src/core/ext/upb-generated/envoy/config/common/matcher/v3/matcher.upb.c +11 -11
- data/src/core/ext/upb-generated/envoy/config/common/matcher/v3/matcher.upb.h +84 -28
- data/src/core/ext/upb-generated/envoy/config/core/v3/address.upb.c +7 -7
- data/src/core/ext/upb-generated/envoy/config/core/v3/address.upb.h +42 -14
- data/src/core/ext/upb-generated/envoy/config/core/v3/backoff.upb.c +1 -1
- data/src/core/ext/upb-generated/envoy/config/core/v3/backoff.upb.h +6 -2
- data/src/core/ext/upb-generated/envoy/config/core/v3/base.upb.c +25 -23
- data/src/core/ext/upb-generated/envoy/config/core/v3/base.upb.h +156 -48
- data/src/core/ext/upb-generated/envoy/config/core/v3/config_source.upb.c +7 -7
- data/src/core/ext/upb-generated/envoy/config/core/v3/config_source.upb.h +42 -14
- data/src/core/ext/upb-generated/envoy/config/core/v3/event_service_config.upb.c +1 -1
- data/src/core/ext/upb-generated/envoy/config/core/v3/event_service_config.upb.h +6 -2
- data/src/core/ext/upb-generated/envoy/config/core/v3/extension.upb.c +1 -1
- data/src/core/ext/upb-generated/envoy/config/core/v3/extension.upb.h +6 -2
- data/src/core/ext/upb-generated/envoy/config/core/v3/grpc_method_list.upb.c +2 -2
- data/src/core/ext/upb-generated/envoy/config/core/v3/grpc_method_list.upb.h +12 -4
- data/src/core/ext/upb-generated/envoy/config/core/v3/grpc_service.upb.c +12 -12
- data/src/core/ext/upb-generated/envoy/config/core/v3/grpc_service.upb.h +78 -26
- data/src/core/ext/upb-generated/envoy/config/core/v3/health_check.upb.c +9 -9
- data/src/core/ext/upb-generated/envoy/config/core/v3/health_check.upb.h +54 -18
- data/src/core/ext/upb-generated/envoy/config/core/v3/http_uri.upb.c +1 -1
- data/src/core/ext/upb-generated/envoy/config/core/v3/http_uri.upb.h +6 -2
- data/src/core/ext/upb-generated/envoy/config/core/v3/protocol.upb.c +21 -20
- data/src/core/ext/upb-generated/envoy/config/core/v3/protocol.upb.h +117 -44
- data/src/core/ext/upb-generated/envoy/config/core/v3/proxy_protocol.upb.c +1 -1
- data/src/core/ext/upb-generated/envoy/config/core/v3/proxy_protocol.upb.h +6 -2
- data/src/core/ext/upb-generated/envoy/config/core/v3/resolver.upb.c +2 -2
- data/src/core/ext/upb-generated/envoy/config/core/v3/resolver.upb.h +12 -4
- data/src/core/ext/upb-generated/envoy/config/core/v3/socket_option.upb.h +6 -2
- data/src/core/ext/upb-generated/envoy/config/core/v3/substitution_format_string.upb.c +1 -1
- data/src/core/ext/upb-generated/envoy/config/core/v3/substitution_format_string.upb.h +6 -2
- data/src/core/ext/upb-generated/envoy/config/core/v3/udp_socket_config.upb.c +1 -1
- data/src/core/ext/upb-generated/envoy/config/core/v3/udp_socket_config.upb.h +6 -2
- data/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint.upb.c +3 -3
- data/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint.upb.h +18 -6
- data/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint_components.upb.c +5 -5
- data/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint_components.upb.h +36 -12
- data/src/core/ext/upb-generated/envoy/config/endpoint/v3/load_report.upb.c +3 -3
- data/src/core/ext/upb-generated/envoy/config/endpoint/v3/load_report.upb.h +30 -10
- data/src/core/ext/upb-generated/envoy/config/listener/v3/api_listener.upb.c +1 -1
- data/src/core/ext/upb-generated/envoy/config/listener/v3/api_listener.upb.h +6 -2
- data/src/core/ext/upb-generated/envoy/config/listener/v3/listener.upb.c +37 -13
- data/src/core/ext/upb-generated/envoy/config/listener/v3/listener.upb.h +170 -15
- data/src/core/ext/upb-generated/envoy/config/listener/v3/listener_components.upb.c +5 -5
- data/src/core/ext/upb-generated/envoy/config/listener/v3/listener_components.upb.h +42 -14
- data/src/core/ext/upb-generated/envoy/config/listener/v3/quic_config.upb.c +1 -1
- data/src/core/ext/upb-generated/envoy/config/listener/v3/quic_config.upb.h +6 -2
- data/src/core/ext/upb-generated/envoy/config/listener/v3/udp_listener_config.upb.c +7 -4
- data/src/core/ext/upb-generated/envoy/config/listener/v3/udp_listener_config.upb.h +36 -4
- data/src/core/ext/upb-generated/envoy/config/metrics/v3/metrics_service.upb.c +1 -1
- data/src/core/ext/upb-generated/envoy/config/metrics/v3/metrics_service.upb.h +6 -2
- data/src/core/ext/upb-generated/envoy/config/metrics/v3/stats.upb.c +6 -6
- data/src/core/ext/upb-generated/envoy/config/metrics/v3/stats.upb.h +48 -16
- data/src/core/ext/upb-generated/envoy/config/overload/v3/overload.upb.c +8 -8
- data/src/core/ext/upb-generated/envoy/config/overload/v3/overload.upb.h +54 -18
- data/src/core/ext/upb-generated/envoy/config/rbac/v3/rbac.upb.c +21 -9
- data/src/core/ext/upb-generated/envoy/config/rbac/v3/rbac.upb.h +100 -14
- data/src/core/ext/upb-generated/envoy/config/route/v3/route.upb.c +7 -22
- data/src/core/ext/upb-generated/envoy/config/route/v3/route.upb.h +36 -77
- data/src/core/ext/upb-generated/envoy/config/route/v3/route_components.upb.c +121 -76
- data/src/core/ext/upb-generated/envoy/config/route/v3/route_components.upb.h +647 -163
- data/src/core/ext/upb-generated/envoy/config/route/v3/scoped_route.upb.c +3 -3
- data/src/core/ext/upb-generated/envoy/config/route/v3/scoped_route.upb.h +18 -6
- data/src/core/ext/upb-generated/envoy/config/tap/v3/common.upb.c +34 -15
- data/src/core/ext/upb-generated/envoy/config/tap/v3/common.upb.h +161 -22
- data/src/core/ext/upb-generated/envoy/config/trace/v3/datadog.upb.c +1 -1
- data/src/core/ext/upb-generated/envoy/config/trace/v3/datadog.upb.h +6 -2
- data/src/core/ext/upb-generated/envoy/config/trace/v3/dynamic_ot.upb.c +1 -1
- data/src/core/ext/upb-generated/envoy/config/trace/v3/dynamic_ot.upb.h +6 -2
- data/src/core/ext/upb-generated/envoy/config/trace/v3/http_tracer.upb.c +2 -2
- data/src/core/ext/upb-generated/envoy/config/trace/v3/http_tracer.upb.h +12 -4
- data/src/core/ext/upb-generated/envoy/config/trace/v3/lightstep.upb.c +1 -1
- data/src/core/ext/upb-generated/envoy/config/trace/v3/lightstep.upb.h +6 -2
- data/src/core/ext/upb-generated/envoy/config/trace/v3/opencensus.upb.c +1 -1
- data/src/core/ext/upb-generated/envoy/config/trace/v3/opencensus.upb.h +6 -2
- data/src/core/ext/upb-generated/envoy/config/trace/v3/opentelemetry.upb.c +46 -0
- data/src/core/ext/upb-generated/envoy/config/trace/v3/opentelemetry.upb.h +98 -0
- data/src/core/ext/upb-generated/envoy/config/trace/v3/service.upb.c +1 -1
- data/src/core/ext/upb-generated/envoy/config/trace/v3/service.upb.h +6 -2
- data/src/core/ext/upb-generated/envoy/config/trace/v3/skywalking.upb.c +2 -2
- data/src/core/ext/upb-generated/envoy/config/trace/v3/skywalking.upb.h +12 -4
- data/src/core/ext/upb-generated/envoy/config/trace/v3/trace.upb.c +1 -0
- data/src/core/ext/upb-generated/envoy/config/trace/v3/trace.upb.h +1 -0
- data/src/core/ext/upb-generated/envoy/config/trace/v3/xray.upb.c +2 -2
- data/src/core/ext/upb-generated/envoy/config/trace/v3/xray.upb.h +12 -4
- data/src/core/ext/upb-generated/envoy/config/trace/v3/zipkin.upb.c +1 -1
- data/src/core/ext/upb-generated/envoy/config/trace/v3/zipkin.upb.h +6 -2
- data/src/core/ext/upb-generated/envoy/extensions/clusters/aggregate/v3/cluster.upb.c +1 -1
- data/src/core/ext/upb-generated/envoy/extensions/clusters/aggregate/v3/cluster.upb.h +6 -2
- data/src/core/ext/upb-generated/envoy/extensions/filters/common/fault/v3/fault.upb.c +2 -2
- data/src/core/ext/upb-generated/envoy/extensions/filters/common/fault/v3/fault.upb.h +30 -10
- data/src/core/ext/upb-generated/envoy/extensions/filters/http/fault/v3/fault.upb.c +2 -2
- data/src/core/ext/upb-generated/envoy/extensions/filters/http/fault/v3/fault.upb.h +18 -6
- data/src/core/ext/upb-generated/envoy/extensions/filters/http/rbac/v3/rbac.upb.c +11 -4
- data/src/core/ext/upb-generated/envoy/extensions/filters/http/rbac/v3/rbac.upb.h +58 -4
- data/src/core/ext/upb-generated/envoy/extensions/filters/http/router/v3/router.upb.c +1 -1
- data/src/core/ext/upb-generated/envoy/extensions/filters/http/router/v3/router.upb.h +6 -2
- data/src/core/ext/upb-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.c +35 -27
- data/src/core/ext/upb-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.h +177 -52
- data/src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/ring_hash/v3/ring_hash.upb.h +6 -2
- data/src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/wrr_locality/v3/wrr_locality.upb.c +1 -1
- data/src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/wrr_locality/v3/wrr_locality.upb.h +6 -2
- data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/common.upb.c +10 -8
- data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/common.upb.h +66 -14
- data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/secret.upb.c +3 -3
- data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/secret.upb.h +18 -6
- data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/tls.upb.c +5 -5
- data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/tls.upb.h +42 -14
- data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.upb.c +2 -2
- data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.upb.h +12 -4
- data/src/core/ext/upb-generated/envoy/service/discovery/v3/ads.upb.c +1 -1
- data/src/core/ext/upb-generated/envoy/service/discovery/v3/ads.upb.h +6 -2
- data/src/core/ext/upb-generated/envoy/service/discovery/v3/discovery.upb.c +131 -16
- data/src/core/ext/upb-generated/envoy/service/discovery/v3/discovery.upb.h +632 -12
- data/src/core/ext/upb-generated/envoy/service/load_stats/v3/lrs.upb.c +2 -2
- data/src/core/ext/upb-generated/envoy/service/load_stats/v3/lrs.upb.h +12 -4
- data/src/core/ext/upb-generated/envoy/service/status/v3/csds.upb.c +5 -5
- data/src/core/ext/upb-generated/envoy/service/status/v3/csds.upb.h +30 -10
- data/src/core/ext/upb-generated/envoy/type/http/v3/cookie.upb.c +1 -1
- data/src/core/ext/upb-generated/envoy/type/http/v3/cookie.upb.h +6 -2
- data/src/core/ext/upb-generated/envoy/type/http/v3/path_transformation.upb.c +4 -4
- data/src/core/ext/upb-generated/envoy/type/http/v3/path_transformation.upb.h +24 -8
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/http_inputs.upb.c +4 -4
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/http_inputs.upb.h +24 -8
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/metadata.upb.c +2 -2
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/metadata.upb.h +12 -4
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/node.upb.c +1 -1
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/node.upb.h +6 -2
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/number.upb.c +1 -1
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/number.upb.h +6 -2
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/path.upb.c +1 -1
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/path.upb.h +6 -2
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/regex.upb.c +3 -3
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/regex.upb.h +18 -6
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/string.upb.c +1 -1
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/string.upb.h +12 -4
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/struct.upb.c +2 -2
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/struct.upb.h +12 -4
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/value.upb.c +3 -3
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/value.upb.h +18 -6
- data/src/core/ext/upb-generated/envoy/type/metadata/v3/metadata.upb.c +7 -7
- data/src/core/ext/upb-generated/envoy/type/metadata/v3/metadata.upb.h +42 -14
- data/src/core/ext/upb-generated/envoy/type/tracing/v3/custom_tag.upb.c +5 -5
- data/src/core/ext/upb-generated/envoy/type/tracing/v3/custom_tag.upb.h +30 -10
- data/src/core/ext/upb-generated/envoy/type/v3/hash_policy.upb.c +3 -3
- data/src/core/ext/upb-generated/envoy/type/v3/hash_policy.upb.h +18 -6
- data/src/core/ext/upb-generated/envoy/type/v3/http_status.upb.c +1 -1
- data/src/core/ext/upb-generated/envoy/type/v3/http_status.upb.h +6 -2
- data/src/core/ext/upb-generated/envoy/type/v3/percent.upb.h +12 -4
- data/src/core/ext/upb-generated/envoy/type/v3/range.upb.c +2 -2
- data/src/core/ext/upb-generated/envoy/type/v3/range.upb.h +18 -6
- data/src/core/ext/upb-generated/envoy/type/v3/ratelimit_strategy.upb.c +63 -0
- data/src/core/ext/upb-generated/envoy/type/v3/ratelimit_strategy.upb.h +202 -0
- data/src/core/ext/upb-generated/envoy/type/v3/semantic_version.upb.c +1 -1
- data/src/core/ext/upb-generated/envoy/type/v3/semantic_version.upb.h +6 -2
- data/src/core/ext/upb-generated/envoy/type/v3/token_bucket.upb.h +6 -2
- data/src/core/ext/upb-generated/google/api/annotations.upb.h +1 -1
- data/src/core/ext/upb-generated/google/api/expr/v1alpha1/checked.upb.c +11 -11
- data/src/core/ext/upb-generated/google/api/expr/v1alpha1/checked.upb.h +66 -22
- data/src/core/ext/upb-generated/google/api/expr/v1alpha1/syntax.upb.c +9 -9
- data/src/core/ext/upb-generated/google/api/expr/v1alpha1/syntax.upb.h +72 -24
- data/src/core/ext/upb-generated/google/api/http.upb.c +3 -3
- data/src/core/ext/upb-generated/google/api/http.upb.h +18 -6
- data/src/core/ext/upb-generated/google/api/httpbody.upb.c +1 -1
- data/src/core/ext/upb-generated/google/api/httpbody.upb.h +6 -2
- data/src/core/ext/upb-generated/google/protobuf/any.upb.c +1 -1
- data/src/core/ext/upb-generated/google/protobuf/any.upb.h +6 -2
- data/src/core/ext/upb-generated/google/protobuf/descriptor.upb.c +44 -43
- data/src/core/ext/upb-generated/google/protobuf/descriptor.upb.h +177 -55
- data/src/core/ext/upb-generated/google/protobuf/duration.upb.c +1 -1
- data/src/core/ext/upb-generated/google/protobuf/duration.upb.h +6 -2
- data/src/core/ext/upb-generated/google/protobuf/empty.upb.c +1 -1
- data/src/core/ext/upb-generated/google/protobuf/empty.upb.h +6 -2
- data/src/core/ext/upb-generated/google/protobuf/struct.upb.c +2 -2
- data/src/core/ext/upb-generated/google/protobuf/struct.upb.h +18 -6
- data/src/core/ext/upb-generated/google/protobuf/timestamp.upb.c +1 -1
- data/src/core/ext/upb-generated/google/protobuf/timestamp.upb.h +6 -2
- data/src/core/ext/upb-generated/google/protobuf/wrappers.upb.c +6 -6
- data/src/core/ext/upb-generated/google/protobuf/wrappers.upb.h +54 -18
- data/src/core/ext/upb-generated/google/rpc/status.upb.c +1 -1
- data/src/core/ext/upb-generated/google/rpc/status.upb.h +6 -2
- data/src/core/ext/upb-generated/opencensus/proto/trace/v1/trace_config.upb.c +2 -2
- data/src/core/ext/upb-generated/opencensus/proto/trace/v1/trace_config.upb.h +24 -8
- data/src/core/ext/upb-generated/src/proto/grpc/gcp/altscontext.upb.h +6 -2
- data/src/core/ext/upb-generated/src/proto/grpc/gcp/handshaker.upb.c +7 -7
- data/src/core/ext/upb-generated/src/proto/grpc/gcp/handshaker.upb.h +60 -20
- data/src/core/ext/upb-generated/src/proto/grpc/gcp/transport_security_common.upb.c +1 -1
- data/src/core/ext/upb-generated/src/proto/grpc/gcp/transport_security_common.upb.h +12 -4
- data/src/core/ext/upb-generated/src/proto/grpc/health/v1/health.upb.c +2 -2
- data/src/core/ext/upb-generated/src/proto/grpc/health/v1/health.upb.h +12 -4
- data/src/core/ext/upb-generated/src/proto/grpc/lb/v1/load_balancer.upb.c +6 -6
- data/src/core/ext/upb-generated/src/proto/grpc/lb/v1/load_balancer.upb.h +54 -18
- data/src/core/ext/upb-generated/src/proto/grpc/lookup/v1/rls.upb.c +2 -2
- data/src/core/ext/upb-generated/src/proto/grpc/lookup/v1/rls.upb.h +12 -4
- data/src/core/ext/upb-generated/src/proto/grpc/lookup/v1/rls_config.upb.c +7 -7
- data/src/core/ext/upb-generated/src/proto/grpc/lookup/v1/rls_config.upb.h +42 -14
- data/src/core/ext/upb-generated/udpa/annotations/migrate.upb.c +3 -3
- data/src/core/ext/upb-generated/udpa/annotations/migrate.upb.h +23 -11
- data/src/core/ext/upb-generated/udpa/annotations/security.upb.c +1 -1
- data/src/core/ext/upb-generated/udpa/annotations/security.upb.h +7 -3
- data/src/core/ext/upb-generated/udpa/annotations/status.upb.h +7 -3
- data/src/core/ext/upb-generated/udpa/annotations/versioning.upb.c +1 -1
- data/src/core/ext/upb-generated/udpa/annotations/versioning.upb.h +7 -3
- data/src/core/ext/upb-generated/validate/validate.upb.c +22 -22
- data/src/core/ext/upb-generated/validate/validate.upb.h +139 -47
- data/src/core/ext/upb-generated/xds/annotations/v3/migrate.upb.c +3 -3
- data/src/core/ext/upb-generated/xds/annotations/v3/migrate.upb.h +23 -11
- data/src/core/ext/upb-generated/xds/annotations/v3/security.upb.c +1 -1
- data/src/core/ext/upb-generated/xds/annotations/v3/security.upb.h +7 -3
- data/src/core/ext/upb-generated/xds/annotations/v3/status.upb.c +3 -3
- data/src/core/ext/upb-generated/xds/annotations/v3/status.upb.h +27 -11
- data/src/core/ext/upb-generated/xds/annotations/v3/versioning.upb.c +1 -1
- data/src/core/ext/upb-generated/xds/annotations/v3/versioning.upb.h +7 -3
- data/src/core/ext/upb-generated/xds/core/v3/authority.upb.c +1 -1
- data/src/core/ext/upb-generated/xds/core/v3/authority.upb.h +6 -2
- data/src/core/ext/upb-generated/xds/core/v3/collection_entry.upb.c +2 -2
- data/src/core/ext/upb-generated/xds/core/v3/collection_entry.upb.h +12 -4
- data/src/core/ext/upb-generated/xds/core/v3/context_params.upb.c +1 -1
- data/src/core/ext/upb-generated/xds/core/v3/context_params.upb.h +6 -2
- data/src/core/ext/upb-generated/xds/core/v3/extension.upb.c +1 -1
- data/src/core/ext/upb-generated/xds/core/v3/extension.upb.h +6 -2
- data/src/core/ext/upb-generated/xds/core/v3/resource.upb.c +1 -1
- data/src/core/ext/upb-generated/xds/core/v3/resource.upb.h +6 -2
- data/src/core/ext/upb-generated/xds/core/v3/resource_locator.upb.c +1 -1
- data/src/core/ext/upb-generated/xds/core/v3/resource_locator.upb.h +12 -4
- data/src/core/ext/upb-generated/xds/core/v3/resource_name.upb.c +1 -1
- data/src/core/ext/upb-generated/xds/core/v3/resource_name.upb.h +6 -2
- data/src/core/ext/upb-generated/xds/data/orca/v3/orca_load_report.upb.h +6 -2
- data/src/core/ext/upb-generated/xds/service/orca/v3/orca.upb.c +1 -1
- data/src/core/ext/upb-generated/xds/service/orca/v3/orca.upb.h +6 -2
- data/src/core/ext/upb-generated/xds/type/matcher/v3/matcher.upb.c +6 -6
- data/src/core/ext/upb-generated/xds/type/matcher/v3/matcher.upb.h +54 -18
- data/src/core/ext/upb-generated/xds/type/matcher/v3/regex.upb.c +2 -2
- data/src/core/ext/upb-generated/xds/type/matcher/v3/regex.upb.h +12 -4
- data/src/core/ext/upb-generated/xds/type/matcher/v3/string.upb.c +1 -1
- data/src/core/ext/upb-generated/xds/type/matcher/v3/string.upb.h +12 -4
- data/src/core/ext/upb-generated/xds/type/v3/typed_struct.upb.c +1 -1
- data/src/core/ext/upb-generated/xds/type/v3/typed_struct.upb.h +6 -2
- data/src/core/ext/upbdefs-generated/envoy/admin/v3/config_dump.upbdefs.c +67 -274
- data/src/core/ext/upbdefs-generated/envoy/admin/v3/config_dump.upbdefs.h +0 -85
- data/src/core/ext/upbdefs-generated/envoy/admin/v3/config_dump_shared.upbdefs.c +256 -0
- data/src/core/ext/upbdefs-generated/envoy/admin/v3/config_dump_shared.upbdefs.h +115 -0
- data/src/core/ext/upbdefs-generated/envoy/admin/v3/listeners.upbdefs.c +14 -11
- data/src/core/ext/upbdefs-generated/envoy/config/accesslog/v3/accesslog.upbdefs.c +107 -107
- data/src/core/ext/upbdefs-generated/envoy/config/bootstrap/v3/bootstrap.upbdefs.c +191 -187
- data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/cluster.upbdefs.c +156 -154
- data/src/core/ext/upbdefs-generated/envoy/config/core/v3/base.upbdefs.c +186 -183
- data/src/core/ext/upbdefs-generated/envoy/config/core/v3/protocol.upbdefs.c +136 -134
- data/src/core/ext/upbdefs-generated/envoy/config/core/v3/substitution_format_string.upbdefs.c +16 -16
- data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/listener.upbdefs.c +162 -139
- data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/listener.upbdefs.h +5 -0
- data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/udp_listener_config.upbdefs.c +39 -31
- data/src/core/ext/upbdefs-generated/envoy/config/rbac/v3/rbac.upbdefs.c +12 -8
- data/src/core/ext/upbdefs-generated/envoy/config/rbac/v3/rbac.upbdefs.h +5 -0
- data/src/core/ext/upbdefs-generated/envoy/config/route/v3/route.upbdefs.c +72 -75
- data/src/core/ext/upbdefs-generated/envoy/config/route/v3/route.upbdefs.h +0 -5
- data/src/core/ext/upbdefs-generated/envoy/config/route/v3/route_components.upbdefs.c +713 -670
- data/src/core/ext/upbdefs-generated/envoy/config/route/v3/route_components.upbdefs.h +10 -0
- data/src/core/ext/upbdefs-generated/envoy/config/tap/v3/common.upbdefs.c +150 -139
- data/src/core/ext/upbdefs-generated/envoy/config/tap/v3/common.upbdefs.h +5 -0
- data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/opentelemetry.upbdefs.c +47 -0
- data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/opentelemetry.upbdefs.h +35 -0
- data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/trace.upbdefs.c +16 -12
- data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/rbac/v3/rbac.upbdefs.c +46 -25
- data/src/core/ext/upbdefs-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upbdefs.c +477 -466
- data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/common.upbdefs.c +21 -18
- data/src/core/ext/upbdefs-generated/envoy/service/discovery/v3/discovery.upbdefs.c +153 -84
- data/src/core/ext/upbdefs-generated/envoy/service/discovery/v3/discovery.upbdefs.h +35 -0
- data/src/core/ext/upbdefs-generated/envoy/service/status/v3/csds.upbdefs.c +113 -113
- data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/regex.upbdefs.c +29 -28
- data/src/core/ext/upbdefs-generated/envoy/type/v3/ratelimit_strategy.upbdefs.c +69 -0
- data/src/core/ext/upbdefs-generated/envoy/type/v3/ratelimit_strategy.upbdefs.h +40 -0
- data/src/core/ext/upbdefs-generated/google/protobuf/descriptor.upbdefs.c +92 -90
- data/src/core/ext/xds/certificate_provider_store.cc +63 -3
- data/src/core/ext/xds/certificate_provider_store.h +9 -1
- data/src/core/ext/xds/file_watcher_certificate_provider_factory.cc +5 -5
- data/src/core/ext/xds/file_watcher_certificate_provider_factory.h +1 -1
- data/src/core/ext/xds/upb_utils.h +0 -21
- data/src/core/ext/xds/xds_api.cc +73 -102
- data/src/core/ext/xds/xds_api.h +26 -28
- data/src/core/ext/xds/xds_bootstrap.cc +5 -550
- data/src/core/ext/xds/xds_bootstrap.h +39 -91
- data/src/core/ext/xds/xds_bootstrap_grpc.cc +370 -0
- data/src/core/ext/xds/xds_bootstrap_grpc.h +169 -0
- data/src/core/ext/xds/xds_certificate_provider.h +9 -0
- data/src/core/ext/xds/xds_channel_stack_modifier.cc +6 -4
- data/src/core/ext/xds/xds_channel_stack_modifier.h +8 -0
- data/src/core/ext/xds/xds_client.cc +732 -1317
- data/src/core/ext/xds/xds_client.h +33 -59
- data/src/core/ext/xds/xds_client_grpc.cc +229 -0
- data/src/core/ext/xds/xds_client_grpc.h +79 -0
- data/src/core/ext/xds/xds_client_stats.cc +4 -4
- data/src/core/ext/xds/xds_cluster.cc +162 -165
- data/src/core/ext/xds/xds_cluster.h +8 -7
- data/src/core/ext/xds/xds_cluster_specifier_plugin.cc +12 -14
- data/src/core/ext/xds/xds_cluster_specifier_plugin.h +1 -0
- data/src/core/ext/xds/xds_common_types.cc +140 -108
- data/src/core/ext/xds/xds_common_types.h +6 -7
- data/src/core/ext/xds/xds_endpoint.cc +87 -85
- data/src/core/ext/xds/xds_endpoint.h +4 -5
- data/src/core/ext/xds/xds_http_fault_filter.cc +4 -11
- data/src/core/ext/xds/xds_http_fault_filter.h +3 -3
- data/src/core/ext/xds/xds_http_filters.h +3 -3
- data/src/core/ext/xds/xds_http_rbac_filter.cc +39 -58
- data/src/core/ext/xds/xds_http_rbac_filter.h +3 -3
- data/src/core/ext/xds/xds_lb_policy_registry.cc +21 -22
- data/src/core/ext/xds/xds_lb_policy_registry.h +4 -4
- data/src/core/ext/xds/xds_listener.cc +348 -313
- data/src/core/ext/xds/xds_listener.h +4 -5
- data/src/core/ext/xds/xds_resource_type.h +23 -9
- data/src/core/ext/xds/xds_route_config.cc +193 -191
- data/src/core/ext/xds/xds_route_config.h +31 -17
- data/src/core/ext/xds/xds_routing.cc +3 -6
- data/src/core/ext/xds/xds_routing.h +7 -9
- data/src/core/ext/xds/xds_server_config_fetcher.cc +81 -84
- data/src/core/ext/xds/xds_transport.h +86 -0
- data/src/core/ext/xds/xds_transport_grpc.cc +357 -0
- data/src/core/ext/xds/xds_transport_grpc.h +135 -0
- data/src/core/lib/address_utils/parse_address.cc +19 -17
- data/src/core/lib/address_utils/parse_address.h +8 -5
- data/src/core/lib/avl/avl.h +47 -25
- data/src/core/lib/backoff/backoff.cc +2 -4
- data/src/core/lib/channel/call_finalization.h +1 -3
- data/src/core/lib/channel/call_tracer.h +1 -1
- data/src/core/lib/channel/channel_args.cc +88 -19
- data/src/core/lib/channel/channel_args.h +218 -67
- data/src/core/lib/channel/channel_stack.cc +0 -1
- data/src/core/lib/channel/channel_stack_builder.cc +3 -3
- data/src/core/lib/channel/channel_stack_builder.h +2 -2
- data/src/core/lib/channel/channel_stack_builder_impl.cc +2 -4
- data/src/core/lib/channel/channel_trace.cc +3 -4
- data/src/core/lib/channel/channelz.cc +27 -37
- data/src/core/lib/channel/channelz.h +9 -0
- data/src/core/lib/channel/promise_based_filter.cc +18 -19
- data/src/core/lib/channel/promise_based_filter.h +0 -1
- data/src/core/lib/channel/status_util.cc +27 -0
- data/src/core/lib/channel/status_util.h +10 -0
- data/src/core/lib/config/core_configuration.cc +5 -1
- data/src/core/lib/config/core_configuration.h +81 -35
- data/src/core/lib/debug/stats.cc +39 -46
- data/src/core/lib/debug/stats.h +11 -13
- data/src/core/lib/debug/stats_data.cc +118 -614
- data/src/core/lib/debug/stats_data.h +67 -465
- data/src/core/lib/debug/trace.cc +0 -2
- data/src/core/lib/event_engine/channel_args_endpoint_config.cc +12 -20
- data/src/core/lib/event_engine/channel_args_endpoint_config.h +13 -7
- data/src/core/lib/event_engine/{event_engine.cc → default_event_engine.cc} +9 -5
- data/src/core/lib/event_engine/{event_engine_factory.h → default_event_engine.h} +4 -8
- data/src/core/lib/event_engine/default_event_engine_factory.cc +20 -3
- data/src/core/lib/event_engine/default_event_engine_factory.h +33 -0
- data/src/core/lib/event_engine/executor/executor.h +38 -0
- data/src/core/lib/event_engine/executor/threaded_executor.cc +36 -0
- data/src/core/lib/event_engine/executor/threaded_executor.h +44 -0
- data/src/core/lib/event_engine/forkable.cc +101 -0
- data/src/core/lib/event_engine/forkable.h +61 -0
- data/src/core/lib/event_engine/poller.h +56 -0
- data/src/core/lib/event_engine/{iomgr_engine/iomgr_engine.cc → posix_engine/posix_engine.cc} +30 -47
- data/src/core/lib/event_engine/{iomgr_engine/iomgr_engine.h → posix_engine/posix_engine.h} +27 -28
- data/src/core/lib/event_engine/{iomgr_engine → posix_engine}/timer.cc +4 -5
- data/src/core/lib/event_engine/{iomgr_engine → posix_engine}/timer.h +8 -8
- data/src/core/lib/event_engine/{iomgr_engine → posix_engine}/timer_heap.cc +4 -4
- data/src/core/lib/event_engine/{iomgr_engine → posix_engine}/timer_heap.h +5 -5
- data/src/core/lib/event_engine/{iomgr_engine → posix_engine}/timer_manager.cc +87 -30
- data/src/core/lib/event_engine/{iomgr_engine → posix_engine}/timer_manager.h +40 -9
- data/src/core/lib/event_engine/socket_notifier.h +55 -0
- data/src/core/lib/event_engine/thread_pool.cc +195 -0
- data/src/core/lib/event_engine/thread_pool.h +114 -0
- data/src/core/lib/event_engine/time_util.cc +30 -0
- data/src/core/lib/event_engine/time_util.h +32 -0
- data/src/core/lib/event_engine/utils.cc +44 -0
- data/src/core/lib/event_engine/utils.h +36 -0
- data/src/core/lib/event_engine/windows/iocp.cc +155 -0
- data/src/core/lib/event_engine/windows/iocp.h +69 -0
- data/src/core/lib/event_engine/windows/win_socket.cc +196 -0
- data/src/core/lib/event_engine/windows/win_socket.h +120 -0
- data/src/core/lib/event_engine/windows/windows_engine.cc +159 -0
- data/src/core/lib/event_engine/windows/windows_engine.h +120 -0
- data/src/core/lib/experiments/config.cc +146 -0
- data/src/core/lib/experiments/config.h +43 -0
- data/src/core/lib/experiments/experiments.cc +75 -0
- data/src/core/lib/experiments/experiments.h +56 -0
- data/src/core/lib/gpr/alloc.cc +1 -9
- data/src/core/lib/gpr/log_windows.cc +0 -1
- data/src/core/lib/gpr/string_util_windows.cc +3 -30
- data/src/core/lib/gpr/sync_abseil.cc +0 -14
- data/src/core/lib/gpr/sync_posix.cc +0 -14
- data/src/core/lib/gpr/time.cc +11 -9
- data/src/core/lib/gpr/time_posix.cc +0 -6
- data/src/core/lib/gpr/time_precise.h +1 -1
- data/src/core/lib/gpr/tmpfile_windows.cc +5 -7
- data/src/core/lib/gpr/useful.h +40 -0
- data/src/core/lib/gprpp/bitset.h +3 -13
- data/src/core/lib/gprpp/debug_location.h +39 -7
- data/src/core/lib/{gpr → gprpp}/env.h +25 -12
- data/src/core/lib/{gpr → gprpp}/env_linux.cc +20 -15
- data/src/core/lib/{gpr → gprpp}/env_posix.cc +11 -10
- data/src/core/lib/gprpp/env_windows.cc +56 -0
- data/src/core/lib/gprpp/fork.cc +14 -22
- data/src/core/lib/gprpp/fork.h +0 -8
- data/src/core/lib/gprpp/global_config_env.cc +7 -6
- data/src/core/lib/gprpp/manual_constructor.h +0 -1
- data/src/core/lib/gprpp/no_destruct.h +94 -0
- data/src/core/lib/gprpp/notification.h +67 -0
- data/src/core/lib/gprpp/packed_table.h +40 -0
- data/src/core/lib/gprpp/ref_counted_ptr.h +20 -34
- data/src/core/lib/gprpp/sorted_pack.h +98 -0
- data/src/core/lib/gprpp/status_helper.cc +1 -0
- data/src/core/lib/gprpp/status_helper.h +6 -0
- data/src/core/lib/gprpp/table.h +9 -2
- data/src/core/lib/gprpp/tchar.cc +49 -0
- data/src/core/lib/gprpp/tchar.h +33 -0
- data/src/core/lib/gprpp/time.cc +21 -0
- data/src/core/lib/gprpp/time.h +55 -0
- data/src/core/lib/{event_engine/iomgr_engine → gprpp}/time_averaged_stats.cc +3 -5
- data/src/core/lib/{event_engine/iomgr_engine → gprpp}/time_averaged_stats.h +5 -7
- data/src/core/lib/gprpp/validation_errors.cc +61 -0
- data/src/core/lib/gprpp/validation_errors.h +110 -0
- data/src/core/lib/{iomgr → gprpp}/work_serializer.cc +34 -18
- data/src/core/lib/{iomgr → gprpp}/work_serializer.h +21 -27
- data/src/core/{ext/filters/client_channel → lib/handshaker}/proxy_mapper.h +16 -17
- data/src/core/lib/handshaker/proxy_mapper_registry.cc +71 -0
- data/src/core/lib/handshaker/proxy_mapper_registry.h +75 -0
- data/src/core/lib/http/httpcli.cc +12 -24
- data/src/core/lib/http/httpcli_security_connector.cc +11 -11
- data/src/core/lib/iomgr/call_combiner.cc +0 -34
- data/src/core/lib/iomgr/closure.h +0 -10
- data/src/core/lib/iomgr/combiner.cc +0 -20
- data/src/core/lib/iomgr/endpoint_pair_posix.cc +14 -9
- data/src/core/lib/iomgr/endpoint_pair_windows.cc +2 -2
- data/src/core/lib/iomgr/error.cc +0 -773
- data/src/core/lib/iomgr/error.h +0 -145
- data/src/core/lib/iomgr/error_cfstream.cc +0 -5
- data/src/core/lib/iomgr/ev_epoll1_linux.cc +1 -38
- data/src/core/lib/iomgr/ev_poll_posix.cc +19 -26
- data/src/core/lib/iomgr/exec_ctx.cc +0 -22
- data/src/core/lib/iomgr/exec_ctx.h +7 -31
- data/src/core/lib/iomgr/executor.cc +0 -10
- data/src/core/lib/iomgr/executor.h +0 -3
- data/src/core/lib/iomgr/iocp_windows.cc +1 -2
- data/src/core/lib/iomgr/iomgr.cc +6 -8
- data/src/core/lib/iomgr/iomgr_fwd.h +1 -0
- data/src/core/lib/iomgr/lockfree_event.cc +0 -17
- data/src/core/lib/iomgr/pollset.h +1 -1
- data/src/core/lib/iomgr/pollset_set.h +0 -1
- data/src/core/lib/iomgr/port.h +3 -0
- data/src/core/lib/iomgr/resolve_address.h +30 -6
- data/src/core/lib/iomgr/resolve_address_impl.h +1 -0
- data/src/core/lib/iomgr/resolve_address_posix.cc +43 -8
- data/src/core/lib/iomgr/resolve_address_posix.h +19 -5
- data/src/core/lib/iomgr/resolve_address_windows.cc +45 -10
- data/src/core/lib/iomgr/resolve_address_windows.h +19 -5
- data/src/core/lib/iomgr/sockaddr_utils_posix.cc +2 -1
- data/src/core/lib/iomgr/socket_utils_common_posix.cc +12 -34
- data/src/core/lib/iomgr/socket_utils_posix.cc +83 -1
- data/src/core/lib/iomgr/socket_utils_posix.h +98 -6
- data/src/core/lib/iomgr/socket_windows.h +0 -2
- data/src/core/lib/iomgr/tcp_client.cc +6 -7
- data/src/core/lib/iomgr/tcp_client.h +11 -11
- data/src/core/lib/iomgr/tcp_client_cfstream.cc +6 -6
- data/src/core/lib/iomgr/tcp_client_posix.cc +33 -29
- data/src/core/lib/iomgr/tcp_client_posix.h +12 -9
- data/src/core/lib/iomgr/tcp_client_windows.cc +6 -6
- data/src/core/lib/iomgr/tcp_posix.cc +249 -120
- data/src/core/lib/iomgr/tcp_posix.h +3 -1
- data/src/core/lib/iomgr/tcp_server.cc +5 -4
- data/src/core/lib/iomgr/tcp_server.h +9 -6
- data/src/core/lib/iomgr/tcp_server_posix.cc +17 -28
- data/src/core/lib/iomgr/tcp_server_utils_posix.h +2 -2
- data/src/core/lib/iomgr/tcp_server_utils_posix_common.cc +3 -3
- data/src/core/lib/iomgr/tcp_server_windows.cc +6 -7
- data/src/core/lib/iomgr/tcp_windows.cc +0 -1
- data/src/core/lib/iomgr/tcp_windows.h +0 -1
- data/src/core/lib/iomgr/timer_generic.cc +10 -12
- data/src/core/lib/iomgr/timer_manager.cc +1 -2
- data/src/core/lib/iomgr/wakeup_fd_eventfd.cc +0 -2
- data/src/core/lib/json/json.h +19 -22
- data/src/core/lib/json/json_args.h +34 -0
- data/src/core/lib/json/json_object_loader.cc +202 -0
- data/src/core/lib/json/json_object_loader.h +598 -0
- data/src/core/lib/json/json_reader.cc +86 -62
- data/src/core/lib/json/json_util.cc +9 -36
- data/src/core/{ext/filters/client_channel → lib/load_balancing}/lb_policy.cc +3 -44
- data/src/core/{ext/filters/client_channel → lib/load_balancing}/lb_policy.h +20 -29
- data/src/core/lib/load_balancing/lb_policy_factory.h +49 -0
- data/src/core/lib/load_balancing/lb_policy_registry.cc +141 -0
- data/src/core/lib/load_balancing/lb_policy_registry.h +82 -0
- data/src/core/{ext/filters/client_channel → lib/load_balancing}/subchannel_interface.h +6 -6
- data/src/core/lib/promise/activity.h +57 -10
- data/src/core/lib/promise/arena_promise.h +84 -81
- data/src/core/lib/promise/context.h +1 -2
- data/src/core/lib/promise/detail/basic_seq.h +43 -23
- data/src/core/lib/promise/detail/promise_factory.h +0 -1
- data/src/core/lib/promise/map.h +0 -1
- data/src/core/lib/promise/seq.h +25 -4
- data/src/core/lib/promise/sleep.cc +50 -42
- data/src/core/lib/promise/sleep.h +32 -23
- data/src/core/lib/promise/try_seq.h +26 -6
- data/src/core/lib/resolver/resolver.cc +0 -47
- data/src/core/lib/resolver/resolver.h +15 -15
- data/src/core/lib/resolver/resolver_factory.h +2 -3
- data/src/core/lib/resolver/resolver_registry.cc +1 -1
- data/src/core/lib/resolver/resolver_registry.h +2 -3
- data/src/core/lib/resolver/server_address.cc +11 -15
- data/src/core/lib/resolver/server_address.h +4 -8
- data/src/core/lib/resource_quota/api.cc +10 -1
- data/src/core/lib/resource_quota/api.h +6 -0
- data/src/core/lib/resource_quota/arena.cc +19 -1
- data/src/core/lib/resource_quota/arena.h +24 -2
- data/src/core/lib/resource_quota/memory_quota.cc +143 -19
- data/src/core/lib/resource_quota/memory_quota.h +85 -17
- data/src/core/lib/resource_quota/periodic_update.cc +78 -0
- data/src/core/lib/resource_quota/periodic_update.h +71 -0
- data/src/core/lib/security/authorization/evaluate_args.cc +10 -7
- data/src/core/lib/security/authorization/grpc_server_authz_filter.cc +1 -2
- data/src/core/lib/security/authorization/grpc_server_authz_filter.h +1 -1
- data/src/core/lib/security/authorization/matchers.cc +13 -10
- data/src/core/lib/security/authorization/rbac_policy.cc +0 -1
- data/src/core/{ext/xds → lib/security/certificate_provider}/certificate_provider_factory.h +3 -3
- data/src/core/lib/security/certificate_provider/certificate_provider_registry.cc +60 -0
- data/src/core/lib/security/certificate_provider/certificate_provider_registry.h +70 -0
- data/src/core/lib/security/credentials/alts/alts_credentials.cc +2 -3
- data/src/core/lib/security/credentials/alts/alts_credentials.h +3 -4
- data/src/core/lib/security/credentials/channel_creds_registry_init.cc +1 -0
- data/src/core/lib/security/credentials/composite/composite_credentials.cc +3 -7
- data/src/core/lib/security/credentials/composite/composite_credentials.h +2 -4
- data/src/core/lib/security/credentials/credentials.h +16 -12
- data/src/core/lib/security/credentials/external/aws_external_account_credentials.cc +33 -27
- data/src/core/lib/security/credentials/external/external_account_credentials.cc +34 -24
- data/src/core/lib/security/credentials/external/file_external_account_credentials.cc +5 -6
- data/src/core/lib/security/credentials/external/url_external_account_credentials.cc +4 -6
- data/src/core/lib/security/credentials/fake/fake_credentials.cc +3 -12
- data/src/core/lib/security/credentials/fake/fake_credentials.h +0 -4
- data/src/core/lib/security/credentials/google_default/credentials_generic.cc +5 -8
- data/src/core/lib/security/credentials/google_default/google_default_credentials.cc +35 -32
- data/src/core/lib/security/credentials/google_default/google_default_credentials.h +1 -3
- data/src/core/lib/security/credentials/iam/iam_credentials.cc +0 -1
- data/src/core/lib/security/credentials/insecure/insecure_credentials.cc +3 -3
- data/src/core/lib/security/credentials/insecure/insecure_credentials.h +3 -4
- data/src/core/lib/security/credentials/jwt/json_token.cc +12 -3
- data/src/core/lib/security/credentials/jwt/jwt_credentials.cc +4 -8
- data/src/core/lib/security/credentials/jwt/jwt_verifier.cc +14 -15
- data/src/core/lib/security/credentials/jwt/jwt_verifier.h +1 -1
- data/src/core/lib/security/credentials/local/local_credentials.cc +3 -4
- data/src/core/lib/security/credentials/local/local_credentials.h +3 -4
- data/src/core/lib/security/credentials/oauth2/oauth2_credentials.cc +18 -20
- data/src/core/lib/security/credentials/plugin/plugin_credentials.cc +0 -1
- data/src/core/lib/security/credentials/ssl/ssl_credentials.cc +13 -21
- data/src/core/lib/security/credentials/ssl/ssl_credentials.h +3 -4
- data/src/core/lib/security/credentials/tls/grpc_tls_certificate_provider.cc +4 -3
- data/src/core/lib/security/credentials/tls/grpc_tls_certificate_provider.h +10 -2
- data/src/core/lib/security/credentials/tls/tls_credentials.cc +13 -25
- data/src/core/lib/security/credentials/tls/tls_credentials.h +3 -4
- data/src/core/lib/security/credentials/tls/tls_utils.cc +3 -1
- data/src/core/lib/security/credentials/xds/xds_credentials.cc +13 -30
- data/src/core/lib/security/credentials/xds/xds_credentials.h +3 -3
- data/src/core/lib/security/security_connector/alts/alts_security_connector.cc +10 -18
- data/src/core/lib/security/security_connector/fake/fake_security_connector.cc +26 -38
- data/src/core/lib/security/security_connector/fake/fake_security_connector.h +2 -2
- data/src/core/lib/security/security_connector/insecure/insecure_security_connector.cc +5 -5
- data/src/core/lib/security/security_connector/insecure/insecure_security_connector.h +6 -5
- data/src/core/lib/security/security_connector/local/local_security_connector.cc +13 -11
- data/src/core/lib/security/security_connector/local/local_security_connector.h +2 -2
- data/src/core/lib/security/security_connector/security_connector.h +5 -3
- data/src/core/lib/security/security_connector/ssl/ssl_security_connector.cc +5 -4
- data/src/core/lib/security/security_connector/tls/tls_security_connector.cc +5 -5
- data/src/core/lib/security/security_connector/tls/tls_security_connector.h +5 -5
- data/src/core/lib/security/transport/auth_filters.h +1 -1
- data/src/core/lib/security/transport/client_auth_filter.cc +15 -5
- data/src/core/lib/security/transport/secure_endpoint.cc +0 -4
- data/src/core/lib/security/transport/security_handshaker.cc +32 -44
- data/src/core/lib/security/transport/security_handshaker.h +2 -1
- data/src/core/lib/service_config/service_config.h +11 -0
- data/src/core/lib/service_config/service_config_impl.cc +98 -97
- data/src/core/lib/service_config/service_config_impl.h +11 -13
- data/src/core/lib/service_config/service_config_parser.cc +26 -27
- data/src/core/lib/service_config/service_config_parser.h +10 -22
- data/src/core/lib/slice/percent_encoding.cc +4 -13
- data/src/core/lib/slice/slice.cc +10 -4
- data/src/core/lib/surface/call.cc +9 -13
- data/src/core/lib/surface/channel.cc +9 -8
- data/src/core/lib/surface/channel.h +1 -1
- data/src/core/lib/surface/completion_queue.cc +16 -30
- data/src/core/lib/surface/completion_queue.h +1 -4
- data/src/core/lib/surface/completion_queue_factory.cc +5 -0
- data/src/core/lib/surface/init.cc +17 -16
- data/src/core/lib/surface/init_internally.cc +24 -0
- data/src/core/lib/surface/init_internally.h +28 -0
- data/src/core/lib/surface/lame_client.cc +2 -3
- data/src/core/lib/surface/lame_client.h +1 -1
- data/src/core/lib/surface/server.cc +8 -19
- data/src/core/lib/surface/server.h +11 -13
- data/src/core/lib/surface/validate_metadata.cc +4 -14
- data/src/core/lib/surface/version.cc +2 -2
- data/src/core/lib/transport/bdp_estimator.cc +1 -3
- data/src/core/lib/transport/connectivity_state.cc +0 -1
- data/src/core/lib/transport/connectivity_state.h +1 -1
- data/src/core/lib/transport/error_utils.cc +0 -36
- data/src/core/lib/transport/handshaker.cc +7 -9
- data/src/core/lib/transport/handshaker.h +4 -5
- data/src/core/lib/transport/handshaker_factory.h +2 -3
- data/src/core/lib/transport/handshaker_registry.cc +2 -1
- data/src/core/lib/transport/handshaker_registry.h +2 -4
- data/src/core/lib/transport/http_connect_handshaker.cc +16 -16
- data/src/core/lib/transport/metadata_batch.cc +7 -3
- data/src/core/lib/transport/metadata_batch.h +61 -14
- data/src/core/lib/transport/parsed_metadata.h +4 -3
- data/src/core/lib/transport/status_conversion.cc +1 -3
- data/src/core/lib/transport/tcp_connect_handshaker.cc +20 -22
- data/src/core/lib/transport/transport.h +0 -8
- data/src/core/lib/transport/transport_impl.h +0 -1
- data/src/core/plugin_registry/grpc_plugin_registry.cc +23 -46
- data/src/core/plugin_registry/grpc_plugin_registry_extra.cc +13 -25
- data/src/core/tsi/alts/handshaker/alts_handshaker_client.cc +40 -21
- data/src/core/tsi/alts/handshaker/alts_handshaker_client.h +1 -1
- data/src/core/tsi/alts/handshaker/alts_tsi_handshaker.cc +14 -7
- data/src/core/tsi/alts/handshaker/alts_tsi_handshaker_private.h +1 -1
- data/src/core/tsi/fake_transport_security.cc +53 -30
- data/src/core/tsi/local_transport_security.cc +9 -5
- data/src/core/tsi/ssl/session_cache/ssl_session_cache.h +10 -1
- data/src/core/tsi/ssl_transport_security.cc +47 -23
- data/src/core/tsi/transport_security.cc +18 -6
- data/src/core/tsi/transport_security.h +2 -1
- data/src/core/tsi/transport_security_interface.h +17 -5
- data/src/ruby/ext/grpc/extconf.rb +2 -0
- data/src/ruby/ext/grpc/rb_loader.c +6 -2
- data/src/ruby/lib/grpc/version.rb +1 -1
- data/src/ruby/pb/src/proto/grpc/testing/messages_pb.rb +4 -0
- data/src/ruby/spec/channel_spec.rb +5 -0
- data/src/ruby/spec/generic/server_interceptors_spec.rb +1 -1
- data/src/ruby/spec/user_agent_spec.rb +1 -1
- data/third_party/abseil-cpp/absl/functional/any_invocable.h +313 -0
- data/third_party/abseil-cpp/absl/functional/internal/any_invocable.h +857 -0
- data/third_party/upb/third_party/utf8_range/utf8_range.h +1 -1
- data/third_party/upb/upb/arena.c +277 -0
- data/third_party/upb/upb/arena.h +225 -0
- data/third_party/upb/upb/array.c +114 -0
- data/third_party/upb/upb/array.h +83 -0
- data/third_party/upb/upb/collections.h +36 -0
- data/third_party/upb/upb/decode.c +161 -65
- data/third_party/upb/upb/decode.h +1 -0
- data/third_party/upb/upb/decode_fast.c +1 -1
- data/third_party/upb/upb/def.c +10 -2
- data/third_party/upb/upb/def.h +8 -1
- data/third_party/upb/upb/def.hpp +7 -4
- data/third_party/upb/upb/encode.c +29 -20
- data/third_party/upb/upb/encode.h +16 -6
- data/third_party/upb/upb/extension_registry.c +93 -0
- data/third_party/upb/upb/extension_registry.h +84 -0
- data/third_party/upb/upb/{decode_internal.h → internal/decode.h} +5 -5
- data/third_party/upb/upb/internal/table.h +385 -0
- data/third_party/upb/upb/{upb_internal.h → internal/upb.h} +3 -3
- data/third_party/upb/upb/internal/vsnprintf_compat.h +52 -0
- data/third_party/upb/upb/json_decode.c +1512 -0
- data/third_party/upb/upb/json_decode.h +47 -0
- data/third_party/upb/upb/json_encode.c +7 -3
- data/third_party/upb/upb/json_encode.h +6 -3
- data/third_party/upb/upb/map.c +108 -0
- data/third_party/upb/upb/map.h +117 -0
- data/third_party/upb/upb/message_value.h +66 -0
- data/third_party/upb/upb/mini_table.c +1147 -0
- data/third_party/upb/upb/mini_table.h +189 -0
- data/third_party/upb/upb/mini_table.hpp +112 -0
- data/third_party/upb/upb/msg.c +2 -62
- data/third_party/upb/upb/msg.h +2 -45
- data/third_party/upb/upb/msg_internal.h +28 -22
- data/third_party/upb/upb/port_def.inc +2 -1
- data/third_party/upb/upb/port_undef.inc +1 -0
- data/third_party/upb/upb/reflection.c +2 -159
- data/third_party/upb/upb/reflection.h +2 -112
- data/third_party/upb/upb/status.c +86 -0
- data/third_party/upb/upb/status.h +66 -0
- data/third_party/upb/upb/table.c +2 -2
- data/third_party/upb/upb/table_internal.h +3 -352
- data/third_party/upb/upb/text_encode.c +3 -2
- data/third_party/upb/upb/upb.c +4 -290
- data/third_party/upb/upb/upb.h +7 -196
- metadata +117 -51
- data/src/core/ext/filters/client_channel/lb_policy_factory.h +0 -50
- data/src/core/ext/filters/client_channel/lb_policy_registry.cc +0 -190
- data/src/core/ext/filters/client_channel/lb_policy_registry.h +0 -70
- data/src/core/ext/filters/client_channel/proxy_mapper_registry.cc +0 -90
- data/src/core/ext/filters/client_channel/proxy_mapper_registry.h +0 -55
- data/src/core/ext/xds/certificate_provider_registry.cc +0 -103
- data/src/core/ext/xds/certificate_provider_registry.h +0 -59
- data/src/core/lib/event_engine/iomgr_engine/thread_pool.cc +0 -123
- data/src/core/lib/event_engine/iomgr_engine/thread_pool.h +0 -70
- data/src/core/lib/event_engine/promise.h +0 -69
- data/src/core/lib/gpr/env_windows.cc +0 -74
- data/src/core/lib/gpr/string_windows.h +0 -32
- data/src/core/lib/iomgr/error_internal.h +0 -66
- data/src/core/lib/iomgr/executor/mpmcqueue.cc +0 -182
- data/src/core/lib/iomgr/executor/mpmcqueue.h +0 -171
- data/src/core/lib/iomgr/executor/threadpool.cc +0 -136
- data/src/core/lib/iomgr/executor/threadpool.h +0 -150
- data/src/core/lib/iomgr/time_averaged_stats.cc +0 -64
- data/src/core/lib/iomgr/time_averaged_stats.h +0 -72
- data/src/core/lib/profiling/basic_timers.cc +0 -295
- data/src/core/lib/profiling/stap_timers.cc +0 -50
- data/src/core/lib/profiling/timers.h +0 -94
- data/src/core/lib/promise/detail/switch.h +0 -1455
@@ -24,7 +24,6 @@
|
|
24
24
|
#include "absl/strings/match.h"
|
25
25
|
#include "absl/strings/str_cat.h"
|
26
26
|
|
27
|
-
#include "src/core/lib/iomgr/exec_ctx.h"
|
28
27
|
#include "src/core/lib/transport/timeout_encoding.h"
|
29
28
|
|
30
29
|
namespace grpc_core {
|
@@ -120,11 +119,11 @@ GrpcTimeoutMetadata::ValueType GrpcTimeoutMetadata::MementoToValue(
|
|
120
119
|
if (timeout == Duration::Infinity()) {
|
121
120
|
return Timestamp::InfFuture();
|
122
121
|
}
|
123
|
-
return
|
122
|
+
return Timestamp::Now() + timeout;
|
124
123
|
}
|
125
124
|
|
126
125
|
Slice GrpcTimeoutMetadata::Encode(ValueType x) {
|
127
|
-
return Timeout::FromDuration(x -
|
126
|
+
return Timeout::FromDuration(x - Timestamp::Now()).Encode();
|
128
127
|
}
|
129
128
|
|
130
129
|
TeMetadata::MementoType TeMetadata::ParseMemento(
|
@@ -284,4 +283,9 @@ const std::string& GrpcStatusContext::DisplayValue(const std::string& x) {
|
|
284
283
|
return x;
|
285
284
|
}
|
286
285
|
|
286
|
+
std::string WaitForReady::DisplayValue(ValueType x) {
|
287
|
+
return absl::StrCat(x.value ? "true" : "false",
|
288
|
+
x.explicitly_set ? " (explicit)" : "");
|
289
|
+
}
|
290
|
+
|
287
291
|
} // namespace grpc_core
|
@@ -25,7 +25,6 @@
|
|
25
25
|
|
26
26
|
#include <cstdint>
|
27
27
|
#include <string>
|
28
|
-
#include <type_traits>
|
29
28
|
#include <utility>
|
30
29
|
|
31
30
|
#include "absl/container/inlined_vector.h"
|
@@ -41,7 +40,7 @@
|
|
41
40
|
|
42
41
|
#include "src/core/lib/compression/compression_internal.h"
|
43
42
|
#include "src/core/lib/gprpp/chunked_vector.h"
|
44
|
-
#include "src/core/lib/gprpp/
|
43
|
+
#include "src/core/lib/gprpp/packed_table.h"
|
45
44
|
#include "src/core/lib/gprpp/time.h"
|
46
45
|
#include "src/core/lib/resource_quota/arena.h"
|
47
46
|
#include "src/core/lib/slice/slice.h"
|
@@ -94,7 +93,7 @@ struct ContentTypeMetadata {
|
|
94
93
|
// gRPC says that content-type can be application/grpc[;something]
|
95
94
|
// Core has only ever verified the prefix.
|
96
95
|
// IF we want to start verifying more, we can expand this type.
|
97
|
-
enum ValueType {
|
96
|
+
enum ValueType : uint8_t {
|
98
97
|
kApplicationGrpc,
|
99
98
|
kEmpty,
|
100
99
|
kInvalid,
|
@@ -113,7 +112,7 @@ struct ContentTypeMetadata {
|
|
113
112
|
// scheme metadata trait.
|
114
113
|
struct HttpSchemeMetadata {
|
115
114
|
static constexpr bool kRepeatable = false;
|
116
|
-
enum ValueType {
|
115
|
+
enum ValueType : uint8_t {
|
117
116
|
kHttp,
|
118
117
|
kHttps,
|
119
118
|
kInvalid,
|
@@ -135,7 +134,7 @@ struct HttpSchemeMetadata {
|
|
135
134
|
// method metadata trait.
|
136
135
|
struct HttpMethodMetadata {
|
137
136
|
static constexpr bool kRepeatable = false;
|
138
|
-
enum ValueType {
|
137
|
+
enum ValueType : uint8_t {
|
139
138
|
kPost,
|
140
139
|
kGet,
|
141
140
|
kPut,
|
@@ -388,6 +387,17 @@ struct GrpcStatusContext {
|
|
388
387
|
static const std::string& DisplayValue(const std::string& x);
|
389
388
|
};
|
390
389
|
|
390
|
+
// Annotation added by client surface code to denote wait-for-ready state
|
391
|
+
struct WaitForReady {
|
392
|
+
struct ValueType {
|
393
|
+
bool value = false;
|
394
|
+
bool explicitly_set = false;
|
395
|
+
};
|
396
|
+
static absl::string_view DebugKey() { return "WaitForReady"; }
|
397
|
+
static constexpr bool kRepeatable = false;
|
398
|
+
static std::string DisplayValue(ValueType x);
|
399
|
+
};
|
400
|
+
|
391
401
|
namespace metadata_detail {
|
392
402
|
|
393
403
|
// Build a key/value formatted debug string.
|
@@ -488,7 +498,7 @@ class ParseHelper {
|
|
488
498
|
return ParsedMetadata<Container>(
|
489
499
|
trait,
|
490
500
|
ParseValueToMemento<typename Trait::MementoType, Trait::ParseMemento>(),
|
491
|
-
transport_size_);
|
501
|
+
static_cast<uint32_t>(transport_size_));
|
492
502
|
}
|
493
503
|
|
494
504
|
GPR_ATTRIBUTE_NOINLINE ParsedMetadata<Container> NotFound(
|
@@ -678,6 +688,10 @@ struct Value<Which, absl::enable_if_t<Which::kRepeatable == false &&
|
|
678
688
|
void EncodeTo(Encoder* encoder) const {
|
679
689
|
encoder->Encode(Which(), value);
|
680
690
|
}
|
691
|
+
template <typename Encoder>
|
692
|
+
void VisitWith(Encoder* encoder) const {
|
693
|
+
return EncodeTo(encoder);
|
694
|
+
}
|
681
695
|
void LogTo(LogFn log_fn) const {
|
682
696
|
LogKeyValueTo(Which::key(), value, Which::Encode, log_fn);
|
683
697
|
}
|
@@ -702,6 +716,10 @@ struct Value<Which, absl::enable_if_t<Which::kRepeatable == false &&
|
|
702
716
|
}
|
703
717
|
template <typename Encoder>
|
704
718
|
void EncodeTo(Encoder*) const {}
|
719
|
+
template <typename Encoder>
|
720
|
+
void VisitWith(Encoder* encoder) const {
|
721
|
+
encoder->Encode(Which(), value);
|
722
|
+
}
|
705
723
|
void LogTo(LogFn log_fn) const {
|
706
724
|
LogKeyValueTo(Which::DebugKey(), value, Which::DisplayValue, log_fn);
|
707
725
|
}
|
@@ -733,6 +751,10 @@ struct Value<Which, absl::enable_if_t<Which::kRepeatable == true &&
|
|
733
751
|
encoder->Encode(Which(), v);
|
734
752
|
}
|
735
753
|
}
|
754
|
+
template <typename Encoder>
|
755
|
+
void VisitWith(Encoder* encoder) const {
|
756
|
+
return EncodeTo(encoder);
|
757
|
+
}
|
736
758
|
void LogTo(LogFn log_fn) const {
|
737
759
|
for (const auto& v : value) {
|
738
760
|
LogKeyValueTo(Which::key(), v, Which::Encode, log_fn);
|
@@ -762,6 +784,12 @@ struct Value<Which, absl::enable_if_t<Which::kRepeatable == true &&
|
|
762
784
|
}
|
763
785
|
template <typename Encoder>
|
764
786
|
void EncodeTo(Encoder*) const {}
|
787
|
+
template <typename Encoder>
|
788
|
+
void VisitWith(Encoder* encoder) const {
|
789
|
+
for (const auto& v : value) {
|
790
|
+
encoder->Encode(Which(), v);
|
791
|
+
}
|
792
|
+
}
|
765
793
|
void LogTo(LogFn log_fn) const {
|
766
794
|
for (const auto& v : value) {
|
767
795
|
LogKeyValueTo(Which::DebugKey(), v, Which::DisplayValue, log_fn);
|
@@ -806,6 +834,17 @@ struct EncodeWrapper {
|
|
806
834
|
}
|
807
835
|
};
|
808
836
|
|
837
|
+
// Callable for the table ForEach in ForEach() -- for each value, call the
|
838
|
+
// appropriate visitor method.
|
839
|
+
template <typename Encoder>
|
840
|
+
struct ForEachWrapper {
|
841
|
+
Encoder* encoder;
|
842
|
+
template <typename Which>
|
843
|
+
void operator()(const Value<Which>& which) {
|
844
|
+
which.VisitWith(encoder);
|
845
|
+
}
|
846
|
+
};
|
847
|
+
|
809
848
|
// Callable for the ForEach in Log()
|
810
849
|
struct LogWrapper {
|
811
850
|
LogFn log_fn;
|
@@ -1003,13 +1042,21 @@ class MetadataMap {
|
|
1003
1042
|
// void Encode(TraitsType, typename TraitsType::ValueType value);
|
1004
1043
|
// For fields for which we do not have traits, this will be a method
|
1005
1044
|
// with the signature:
|
1006
|
-
// void Encode(
|
1007
|
-
// TODO(ctiller): It's expected that the latter Encode method will
|
1008
|
-
// become Encode(Slice, Slice) by the end of the current metadata API
|
1009
|
-
// transitions.
|
1045
|
+
// void Encode(string_view key, Slice value);
|
1010
1046
|
template <typename Encoder>
|
1011
1047
|
void Encode(Encoder* encoder) const {
|
1012
|
-
table_.
|
1048
|
+
table_.template ForEachIn<metadata_detail::EncodeWrapper<Encoder>,
|
1049
|
+
Value<Traits>...>(
|
1050
|
+
metadata_detail::EncodeWrapper<Encoder>{encoder});
|
1051
|
+
for (const auto& unk : unknown_) {
|
1052
|
+
encoder->Encode(unk.first, unk.second);
|
1053
|
+
}
|
1054
|
+
}
|
1055
|
+
|
1056
|
+
// Like Encode, but also visit the non-encodable fields.
|
1057
|
+
template <typename Encoder>
|
1058
|
+
void ForEach(Encoder* encoder) const {
|
1059
|
+
table_.ForEach(metadata_detail::ForEachWrapper<Encoder>{encoder});
|
1013
1060
|
for (const auto& unk : unknown_) {
|
1014
1061
|
encoder->Encode(unk.first, unk.second);
|
1015
1062
|
}
|
@@ -1177,7 +1224,7 @@ class MetadataMap {
|
|
1177
1224
|
using Value = metadata_detail::Value<Which>;
|
1178
1225
|
|
1179
1226
|
// Table of known metadata types.
|
1180
|
-
|
1227
|
+
PackedTable<Value<Traits>...> table_;
|
1181
1228
|
metadata_detail::UnknownMap unknown_;
|
1182
1229
|
};
|
1183
1230
|
|
@@ -1227,7 +1274,7 @@ template <typename Derived, typename... Traits>
|
|
1227
1274
|
Derived MetadataMap<Derived, Traits...>::Copy() const {
|
1228
1275
|
Derived out(unknown_.arena());
|
1229
1276
|
metadata_detail::CopySink<Derived> sink(&out);
|
1230
|
-
|
1277
|
+
ForEach(&sink);
|
1231
1278
|
return out;
|
1232
1279
|
}
|
1233
1280
|
|
@@ -1254,7 +1301,7 @@ using grpc_metadata_batch_base = grpc_core::MetadataMap<
|
|
1254
1301
|
grpc_core::LbCostBinMetadata, grpc_core::LbTokenMetadata,
|
1255
1302
|
// Non-encodable things
|
1256
1303
|
grpc_core::GrpcStreamNetworkState, grpc_core::PeerString,
|
1257
|
-
grpc_core::GrpcStatusContext>;
|
1304
|
+
grpc_core::GrpcStatusContext, grpc_core::WaitForReady>;
|
1258
1305
|
|
1259
1306
|
struct grpc_metadata_batch : public grpc_metadata_batch_base {
|
1260
1307
|
using grpc_metadata_batch_base::grpc_metadata_batch_base;
|
@@ -21,7 +21,6 @@
|
|
21
21
|
|
22
22
|
#include <cstdint>
|
23
23
|
#include <string>
|
24
|
-
#include <type_traits>
|
25
24
|
#include <utility>
|
26
25
|
|
27
26
|
#include "absl/functional/function_ref.h"
|
@@ -153,7 +152,7 @@ class ParsedMetadata {
|
|
153
152
|
// Construct metadata from a string key, slice value pair.
|
154
153
|
ParsedMetadata(Slice key, Slice value)
|
155
154
|
: vtable_(ParsedMetadata::KeyValueVTable(key.as_string_view())),
|
156
|
-
transport_size_(key.size() + value.size() + 32) {
|
155
|
+
transport_size_(static_cast<uint32_t>(key.size() + value.size() + 32)) {
|
157
156
|
value_.pointer =
|
158
157
|
new std::pair<Slice, Slice>(std::move(key), std::move(value));
|
159
158
|
}
|
@@ -192,7 +191,9 @@ class ParsedMetadata {
|
|
192
191
|
ParsedMetadata result;
|
193
192
|
result.vtable_ = vtable_;
|
194
193
|
result.value_ = value_;
|
195
|
-
result.transport_size_ =
|
194
|
+
result.transport_size_ =
|
195
|
+
TransportSize(static_cast<uint32_t>(key().length()),
|
196
|
+
static_cast<uint32_t>(value.length()));
|
196
197
|
vtable_->with_new_value(&value, on_error, &result);
|
197
198
|
return result;
|
198
199
|
}
|
@@ -20,8 +20,6 @@
|
|
20
20
|
|
21
21
|
#include "src/core/lib/transport/status_conversion.h"
|
22
22
|
|
23
|
-
#include "src/core/lib/iomgr/exec_ctx.h"
|
24
|
-
|
25
23
|
grpc_http2_error_code grpc_status_to_http2_error(grpc_status_code status) {
|
26
24
|
switch (status) {
|
27
25
|
case GRPC_STATUS_OK:
|
@@ -50,7 +48,7 @@ grpc_status_code grpc_http2_error_to_grpc_status(
|
|
50
48
|
case GRPC_HTTP2_CANCEL:
|
51
49
|
/* http2 cancel translates to STATUS_CANCELLED iff deadline hasn't been
|
52
50
|
* exceeded */
|
53
|
-
return grpc_core::
|
51
|
+
return grpc_core::Timestamp::Now() > deadline
|
54
52
|
? GRPC_STATUS_DEADLINE_EXCEEDED
|
55
53
|
: GRPC_STATUS_CANCELLED;
|
56
54
|
case GRPC_HTTP2_ENHANCE_YOUR_CALM:
|
@@ -25,8 +25,9 @@
|
|
25
25
|
#include "absl/base/thread_annotations.h"
|
26
26
|
#include "absl/memory/memory.h"
|
27
27
|
#include "absl/status/statusor.h"
|
28
|
+
#include "absl/strings/string_view.h"
|
29
|
+
#include "absl/types/optional.h"
|
28
30
|
|
29
|
-
#include <grpc/impl/codegen/grpc_types.h>
|
30
31
|
#include <grpc/slice.h>
|
31
32
|
#include <grpc/support/alloc.h>
|
32
33
|
#include <grpc/support/log.h>
|
@@ -34,7 +35,7 @@
|
|
34
35
|
#include "src/core/lib/address_utils/parse_address.h"
|
35
36
|
#include "src/core/lib/channel/channel_args.h"
|
36
37
|
#include "src/core/lib/config/core_configuration.h"
|
37
|
-
#include "src/core/lib/
|
38
|
+
#include "src/core/lib/event_engine/channel_args_endpoint_config.h"
|
38
39
|
#include "src/core/lib/gprpp/debug_location.h"
|
39
40
|
#include "src/core/lib/gprpp/ref_counted_ptr.h"
|
40
41
|
#include "src/core/lib/gprpp/sync.h"
|
@@ -129,25 +130,20 @@ void TCPConnectHandshaker::DoHandshake(grpc_tcp_server_acceptor* /*acceptor*/,
|
|
129
130
|
}
|
130
131
|
GPR_ASSERT(args->endpoint == nullptr);
|
131
132
|
args_ = args;
|
132
|
-
|
133
|
-
args->args
|
134
|
-
absl::StatusOr<URI> uri = URI::Parse(address);
|
133
|
+
absl::StatusOr<URI> uri = URI::Parse(
|
134
|
+
args->args.GetString(GRPC_ARG_TCP_HANDSHAKER_RESOLVED_ADDRESS).value());
|
135
135
|
if (!uri.ok() || !grpc_parse_uri(*uri, &addr_)) {
|
136
136
|
MutexLock lock(&mu_);
|
137
137
|
FinishLocked(GRPC_ERROR_CREATE_FROM_STATIC_STRING(
|
138
138
|
"Resolved address in invalid format"));
|
139
139
|
return;
|
140
140
|
}
|
141
|
-
bind_endpoint_to_pollset_ =
|
142
|
-
args->args
|
143
|
-
|
144
|
-
GRPC_ARG_TCP_HANDSHAKER_RESOLVED_ADDRESS,
|
145
|
-
GRPC_ARG_TCP_HANDSHAKER_BIND_ENDPOINT_TO_POLLSET};
|
141
|
+
bind_endpoint_to_pollset_ =
|
142
|
+
args->args.GetBool(GRPC_ARG_TCP_HANDSHAKER_BIND_ENDPOINT_TO_POLLSET)
|
143
|
+
.value_or(false);
|
146
144
|
// Update args to not contain the args relevant to TCP connect handshaker.
|
147
|
-
|
148
|
-
|
149
|
-
grpc_channel_args_destroy(args->args);
|
150
|
-
args->args = channel_args;
|
145
|
+
args->args = args->args.Remove(GRPC_ARG_TCP_HANDSHAKER_RESOLVED_ADDRESS)
|
146
|
+
.Remove(GRPC_ARG_TCP_HANDSHAKER_BIND_ENDPOINT_TO_POLLSET);
|
151
147
|
// In some implementations, the closure can be flushed before
|
152
148
|
// grpc_tcp_client_connect() returns, and since the closure requires access
|
153
149
|
// to mu_, this can result in a deadlock (see
|
@@ -159,9 +155,11 @@ void TCPConnectHandshaker::DoHandshake(grpc_tcp_server_acceptor* /*acceptor*/,
|
|
159
155
|
// we don't want to pass args->endpoint directly.
|
160
156
|
// Instead pass endpoint_ and swap this endpoint to
|
161
157
|
// args endpoint on success.
|
162
|
-
|
163
|
-
|
164
|
-
|
158
|
+
// TODO(hork): use EventEngine::Connect if(IsEventEngineClientEnabled())
|
159
|
+
grpc_tcp_client_connect(
|
160
|
+
&connected_, &endpoint_to_destroy_, interested_parties_,
|
161
|
+
grpc_event_engine::experimental::ChannelArgsEndpointConfig(args->args),
|
162
|
+
&addr_, args->deadline);
|
165
163
|
}
|
166
164
|
|
167
165
|
void TCPConnectHandshaker::Connected(void* arg, grpc_error_handle error) {
|
@@ -184,8 +182,9 @@ void TCPConnectHandshaker::Connected(void* arg, grpc_error_handle error) {
|
|
184
182
|
self->shutdown_ = true;
|
185
183
|
self->FinishLocked(error);
|
186
184
|
} else {
|
187
|
-
// The on_handshake_done_ is already as part of shutdown when
|
188
|
-
// So nothing to be done here other than unrefing the
|
185
|
+
// The on_handshake_done_ is already as part of shutdown when
|
186
|
+
// connecting So nothing to be done here other than unrefing the
|
187
|
+
// error.
|
189
188
|
GRPC_ERROR_UNREF(error);
|
190
189
|
}
|
191
190
|
return;
|
@@ -215,8 +214,7 @@ TCPConnectHandshaker::~TCPConnectHandshaker() {
|
|
215
214
|
void TCPConnectHandshaker::CleanupArgsForFailureLocked() {
|
216
215
|
read_buffer_to_destroy_ = args_->read_buffer;
|
217
216
|
args_->read_buffer = nullptr;
|
218
|
-
|
219
|
-
args_->args = nullptr;
|
217
|
+
args_->args = ChannelArgs();
|
220
218
|
}
|
221
219
|
|
222
220
|
void TCPConnectHandshaker::FinishLocked(grpc_error_handle error) {
|
@@ -233,7 +231,7 @@ void TCPConnectHandshaker::FinishLocked(grpc_error_handle error) {
|
|
233
231
|
|
234
232
|
class TCPConnectHandshakerFactory : public HandshakerFactory {
|
235
233
|
public:
|
236
|
-
void AddHandshakers(const
|
234
|
+
void AddHandshakers(const ChannelArgs& /*args*/,
|
237
235
|
grpc_pollset_set* interested_parties,
|
238
236
|
HandshakeManager* handshake_mgr) override {
|
239
237
|
handshake_mgr->Add(
|
@@ -49,7 +49,6 @@
|
|
49
49
|
#include "src/core/lib/iomgr/error.h"
|
50
50
|
#include "src/core/lib/iomgr/iomgr_fwd.h"
|
51
51
|
#include "src/core/lib/iomgr/polling_entity.h"
|
52
|
-
#include "src/core/lib/iomgr/pollset.h"
|
53
52
|
#include "src/core/lib/promise/arena_promise.h"
|
54
53
|
#include "src/core/lib/promise/context.h"
|
55
54
|
#include "src/core/lib/promise/latch.h"
|
@@ -344,9 +343,6 @@ struct grpc_transport_stream_op_batch_payload {
|
|
344
343
|
: context(context) {}
|
345
344
|
struct {
|
346
345
|
grpc_metadata_batch* send_initial_metadata = nullptr;
|
347
|
-
/** Iff send_initial_metadata != NULL, flags associated with
|
348
|
-
send_initial_metadata: a bitfield of GRPC_INITIAL_METADATA_xxx */
|
349
|
-
uint32_t send_initial_metadata_flags = 0;
|
350
346
|
// If non-NULL, will be set by the transport to the peer string (a char*).
|
351
347
|
// The transport retains ownership of the string.
|
352
348
|
// Note: This pointer may be used by the transport after the
|
@@ -388,10 +384,6 @@ struct grpc_transport_stream_op_batch_payload {
|
|
388
384
|
|
389
385
|
struct {
|
390
386
|
grpc_metadata_batch* recv_initial_metadata = nullptr;
|
391
|
-
// Flags are used only on the server side. If non-null, will be set to
|
392
|
-
// a bitfield of the GRPC_INITIAL_METADATA_xxx macros (e.g., to
|
393
|
-
// indicate if the call is idempotent).
|
394
|
-
uint32_t* recv_flags = nullptr;
|
395
387
|
/** Should be enqueued when initial metadata is ready to be processed. */
|
396
388
|
grpc_closure* recv_initial_metadata_ready = nullptr;
|
397
389
|
// If not NULL, will be set to true if trailing metadata is
|
@@ -28,7 +28,6 @@
|
|
28
28
|
#include "src/core/lib/iomgr/closure.h"
|
29
29
|
#include "src/core/lib/iomgr/endpoint.h"
|
30
30
|
#include "src/core/lib/iomgr/iomgr_fwd.h"
|
31
|
-
#include "src/core/lib/iomgr/pollset.h"
|
32
31
|
#include "src/core/lib/promise/arena_promise.h"
|
33
32
|
#include "src/core/lib/resource_quota/arena.h"
|
34
33
|
#include "src/core/lib/transport/transport.h"
|
@@ -27,53 +27,10 @@
|
|
27
27
|
|
28
28
|
extern void grpc_register_extra_plugins(void);
|
29
29
|
|
30
|
-
void grpc_chttp2_plugin_init(void);
|
31
|
-
void grpc_chttp2_plugin_shutdown(void);
|
32
|
-
void grpc_client_channel_init(void);
|
33
|
-
void grpc_client_channel_shutdown(void);
|
34
|
-
void grpc_lb_policy_grpclb_init(void);
|
35
|
-
void grpc_lb_policy_grpclb_shutdown(void);
|
36
|
-
void grpc_lb_policy_priority_init(void);
|
37
|
-
void grpc_lb_policy_priority_shutdown(void);
|
38
|
-
void grpc_lb_policy_outlier_detection_init(void);
|
39
|
-
void grpc_lb_policy_outlier_detection_shutdown(void);
|
40
|
-
void grpc_lb_policy_weighted_target_init(void);
|
41
|
-
void grpc_lb_policy_weighted_target_shutdown(void);
|
42
|
-
void grpc_lb_policy_pick_first_init(void);
|
43
|
-
void grpc_lb_policy_pick_first_shutdown(void);
|
44
|
-
void grpc_lb_policy_round_robin_init(void);
|
45
|
-
void grpc_lb_policy_round_robin_shutdown(void);
|
46
30
|
void grpc_resolver_dns_ares_init(void);
|
47
31
|
void grpc_resolver_dns_ares_shutdown(void);
|
48
|
-
namespace grpc_core {
|
49
|
-
void GrpcLbPolicyRingHashInit(void);
|
50
|
-
void GrpcLbPolicyRingHashShutdown(void);
|
51
|
-
#ifndef GRPC_NO_RLS
|
52
|
-
void RlsLbPluginInit();
|
53
|
-
void RlsLbPluginShutdown();
|
54
|
-
#endif // !GRPC_NO_RLS
|
55
|
-
} // namespace grpc_core
|
56
32
|
|
57
33
|
void grpc_register_built_in_plugins(void) {
|
58
|
-
grpc_register_plugin(grpc_client_channel_init, grpc_client_channel_shutdown);
|
59
|
-
grpc_register_plugin(grpc_lb_policy_grpclb_init,
|
60
|
-
grpc_lb_policy_grpclb_shutdown);
|
61
|
-
#ifndef GRPC_NO_RLS
|
62
|
-
grpc_register_plugin(grpc_core::RlsLbPluginInit,
|
63
|
-
grpc_core::RlsLbPluginShutdown);
|
64
|
-
#endif // !GRPC_NO_RLS
|
65
|
-
grpc_register_plugin(grpc_lb_policy_outlier_detection_init,
|
66
|
-
grpc_lb_policy_outlier_detection_shutdown);
|
67
|
-
grpc_register_plugin(grpc_lb_policy_priority_init,
|
68
|
-
grpc_lb_policy_priority_shutdown);
|
69
|
-
grpc_register_plugin(grpc_lb_policy_weighted_target_init,
|
70
|
-
grpc_lb_policy_weighted_target_shutdown);
|
71
|
-
grpc_register_plugin(grpc_lb_policy_pick_first_init,
|
72
|
-
grpc_lb_policy_pick_first_shutdown);
|
73
|
-
grpc_register_plugin(grpc_lb_policy_round_robin_init,
|
74
|
-
grpc_lb_policy_round_robin_shutdown);
|
75
|
-
grpc_register_plugin(grpc_core::GrpcLbPolicyRingHashInit,
|
76
|
-
grpc_core::GrpcLbPolicyRingHashShutdown);
|
77
34
|
grpc_register_plugin(grpc_resolver_dns_ares_init,
|
78
35
|
grpc_resolver_dns_ares_shutdown);
|
79
36
|
grpc_register_extra_plugins();
|
@@ -88,8 +45,7 @@ extern void SecurityRegisterHandshakerFactories(
|
|
88
45
|
extern void RegisterClientAuthorityFilter(CoreConfiguration::Builder* builder);
|
89
46
|
extern void RegisterChannelIdleFilters(CoreConfiguration::Builder* builder);
|
90
47
|
extern void RegisterDeadlineFilter(CoreConfiguration::Builder* builder);
|
91
|
-
extern void
|
92
|
-
CoreConfiguration::Builder* builder);
|
48
|
+
extern void RegisterGrpcLbPolicy(CoreConfiguration::Builder* builder);
|
93
49
|
extern void RegisterHttpFilters(CoreConfiguration::Builder* builder);
|
94
50
|
extern void RegisterMessageSizeFilter(CoreConfiguration::Builder* builder);
|
95
51
|
extern void RegisterSecurityFilters(CoreConfiguration::Builder* builder);
|
@@ -102,6 +58,17 @@ extern void RegisterNativeDnsResolver(CoreConfiguration::Builder* builder);
|
|
102
58
|
extern void RegisterAresDnsResolver(CoreConfiguration::Builder* builder);
|
103
59
|
extern void RegisterSockaddrResolver(CoreConfiguration::Builder* builder);
|
104
60
|
extern void RegisterFakeResolver(CoreConfiguration::Builder* builder);
|
61
|
+
extern void RegisterPriorityLbPolicy(CoreConfiguration::Builder* builder);
|
62
|
+
extern void RegisterOutlierDetectionLbPolicy(
|
63
|
+
CoreConfiguration::Builder* builder);
|
64
|
+
extern void RegisterWeightedTargetLbPolicy(CoreConfiguration::Builder* builder);
|
65
|
+
extern void RegisterPickFirstLbPolicy(CoreConfiguration::Builder* builder);
|
66
|
+
extern void RegisterRoundRobinLbPolicy(CoreConfiguration::Builder* builder);
|
67
|
+
extern void RegisterRingHashLbPolicy(CoreConfiguration::Builder* builder);
|
68
|
+
extern void RegisterHttpProxyMapper(CoreConfiguration::Builder* builder);
|
69
|
+
#ifndef GRPC_NO_RLS
|
70
|
+
extern void RegisterRlsLbPolicy(CoreConfiguration::Builder* builder);
|
71
|
+
#endif // !GRPC_NO_RLS
|
105
72
|
#ifdef GPR_SUPPORT_BINDER_TRANSPORT
|
106
73
|
extern void RegisterBinderResolver(CoreConfiguration::Builder* builder);
|
107
74
|
#endif
|
@@ -112,11 +79,17 @@ void BuildCoreConfiguration(CoreConfiguration::Builder* builder) {
|
|
112
79
|
// the start of the handshaker list.
|
113
80
|
RegisterHttpConnectHandshaker(builder);
|
114
81
|
RegisterTCPConnectHandshaker(builder);
|
82
|
+
RegisterPriorityLbPolicy(builder);
|
83
|
+
RegisterOutlierDetectionLbPolicy(builder);
|
84
|
+
RegisterWeightedTargetLbPolicy(builder);
|
85
|
+
RegisterPickFirstLbPolicy(builder);
|
86
|
+
RegisterRoundRobinLbPolicy(builder);
|
87
|
+
RegisterRingHashLbPolicy(builder);
|
115
88
|
BuildClientChannelConfiguration(builder);
|
116
89
|
SecurityRegisterHandshakerFactories(builder);
|
117
90
|
RegisterClientAuthorityFilter(builder);
|
118
91
|
RegisterChannelIdleFilters(builder);
|
119
|
-
|
92
|
+
RegisterGrpcLbPolicy(builder);
|
120
93
|
RegisterHttpFilters(builder);
|
121
94
|
RegisterDeadlineFilter(builder);
|
122
95
|
RegisterMessageSizeFilter(builder);
|
@@ -127,9 +100,13 @@ void BuildCoreConfiguration(CoreConfiguration::Builder* builder) {
|
|
127
100
|
RegisterNativeDnsResolver(builder);
|
128
101
|
RegisterSockaddrResolver(builder);
|
129
102
|
RegisterFakeResolver(builder);
|
103
|
+
RegisterHttpProxyMapper(builder);
|
130
104
|
#ifdef GPR_SUPPORT_BINDER_TRANSPORT
|
131
105
|
RegisterBinderResolver(builder);
|
132
106
|
#endif
|
107
|
+
#ifndef GRPC_NO_RLS
|
108
|
+
RegisterRlsLbPolicy(builder);
|
109
|
+
#endif // !GRPC_NO_RLS
|
133
110
|
// Run last so it gets a consistent location.
|
134
111
|
// TODO(ctiller): Is this actually necessary?
|
135
112
|
RegisterSecurityFilters(builder);
|
@@ -26,37 +26,12 @@ namespace grpc_core {
|
|
26
26
|
void XdsClientGlobalInit();
|
27
27
|
void XdsClientGlobalShutdown();
|
28
28
|
} // namespace grpc_core
|
29
|
-
void grpc_certificate_provider_registry_init(void);
|
30
|
-
void grpc_certificate_provider_registry_shutdown(void);
|
31
|
-
namespace grpc_core {
|
32
|
-
void FileWatcherCertificateProviderInit();
|
33
|
-
void FileWatcherCertificateProviderShutdown();
|
34
|
-
} // namespace grpc_core
|
35
|
-
void grpc_lb_policy_cds_init(void);
|
36
|
-
void grpc_lb_policy_cds_shutdown(void);
|
37
|
-
void grpc_lb_policy_xds_cluster_impl_init(void);
|
38
|
-
void grpc_lb_policy_xds_cluster_impl_shutdown(void);
|
39
|
-
void grpc_lb_policy_xds_cluster_resolver_init(void);
|
40
|
-
void grpc_lb_policy_xds_cluster_resolver_shutdown(void);
|
41
|
-
void grpc_lb_policy_xds_cluster_manager_init(void);
|
42
|
-
void grpc_lb_policy_xds_cluster_manager_shutdown(void);
|
43
29
|
#endif
|
44
30
|
|
45
31
|
void grpc_register_extra_plugins() {
|
46
32
|
#ifndef GRPC_NO_XDS
|
47
33
|
grpc_register_plugin(grpc_core::XdsClientGlobalInit,
|
48
34
|
grpc_core::XdsClientGlobalShutdown);
|
49
|
-
grpc_register_plugin(grpc_certificate_provider_registry_init,
|
50
|
-
grpc_certificate_provider_registry_shutdown);
|
51
|
-
grpc_register_plugin(grpc_core::FileWatcherCertificateProviderInit,
|
52
|
-
grpc_core::FileWatcherCertificateProviderShutdown);
|
53
|
-
grpc_register_plugin(grpc_lb_policy_cds_init, grpc_lb_policy_cds_shutdown);
|
54
|
-
grpc_register_plugin(grpc_lb_policy_xds_cluster_impl_init,
|
55
|
-
grpc_lb_policy_xds_cluster_impl_shutdown);
|
56
|
-
grpc_register_plugin(grpc_lb_policy_xds_cluster_resolver_init,
|
57
|
-
grpc_lb_policy_xds_cluster_resolver_shutdown);
|
58
|
-
grpc_register_plugin(grpc_lb_policy_xds_cluster_manager_init,
|
59
|
-
grpc_lb_policy_xds_cluster_manager_shutdown);
|
60
35
|
#endif
|
61
36
|
}
|
62
37
|
|
@@ -68,6 +43,14 @@ extern void RegisterXdsChannelStackModifier(
|
|
68
43
|
extern void RegisterChannelDefaultCreds(CoreConfiguration::Builder* builder);
|
69
44
|
extern void RegisterXdsResolver(CoreConfiguration::Builder* builder);
|
70
45
|
extern void RegisterCloud2ProdResolver(CoreConfiguration::Builder* builder);
|
46
|
+
extern void RegisterXdsClusterManagerLbPolicy(
|
47
|
+
CoreConfiguration::Builder* builder);
|
48
|
+
extern void RegisterXdsClusterImplLbPolicy(CoreConfiguration::Builder* builder);
|
49
|
+
extern void RegisterCdsLbPolicy(CoreConfiguration::Builder* builder);
|
50
|
+
extern void RegisterXdsClusterResolverLbPolicy(
|
51
|
+
CoreConfiguration::Builder* builder);
|
52
|
+
extern void RegisterFileWatcherCertificateProvider(
|
53
|
+
CoreConfiguration::Builder* builder);
|
71
54
|
#endif
|
72
55
|
void RegisterExtraFilters(CoreConfiguration::Builder* builder) {
|
73
56
|
// Use builder to avoid unused-parameter warning.
|
@@ -80,6 +63,11 @@ void RegisterExtraFilters(CoreConfiguration::Builder* builder) {
|
|
80
63
|
RegisterChannelDefaultCreds(builder);
|
81
64
|
RegisterXdsResolver(builder);
|
82
65
|
RegisterCloud2ProdResolver(builder);
|
66
|
+
RegisterXdsClusterManagerLbPolicy(builder);
|
67
|
+
RegisterXdsClusterImplLbPolicy(builder);
|
68
|
+
RegisterCdsLbPolicy(builder);
|
69
|
+
RegisterXdsClusterResolverLbPolicy(builder);
|
70
|
+
RegisterFileWatcherCertificateProvider(builder);
|
83
71
|
#endif
|
84
72
|
}
|
85
73
|
} // namespace grpc_core
|