grpc 1.48.0 → 1.49.1
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of grpc might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/Makefile +104 -41
- data/include/grpc/event_engine/event_engine.h +19 -16
- data/include/grpc/impl/codegen/grpc_types.h +3 -8
- data/include/grpc/impl/codegen/port_platform.h +0 -8
- data/src/core/ext/filters/channel_idle/channel_idle_filter.cc +3 -3
- data/src/core/ext/filters/channel_idle/channel_idle_filter.h +2 -2
- data/src/core/ext/filters/client_channel/client_channel.cc +125 -200
- data/src/core/ext/filters/client_channel/client_channel.h +15 -8
- data/src/core/ext/filters/client_channel/client_channel_factory.cc +0 -29
- data/src/core/ext/filters/client_channel/client_channel_factory.h +2 -10
- data/src/core/ext/filters/client_channel/client_channel_plugin.cc +1 -1
- data/src/core/ext/filters/client_channel/config_selector.h +12 -4
- data/src/core/ext/filters/client_channel/connector.h +4 -5
- data/src/core/ext/filters/client_channel/http_proxy.cc +53 -65
- data/src/core/ext/filters/client_channel/http_proxy.h +12 -9
- data/src/core/ext/filters/client_channel/lb_policy/child_policy_handler.cc +14 -12
- data/src/core/ext/filters/client_channel/lb_policy/child_policy_handler.h +6 -6
- data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.cc +102 -131
- data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_balancer_addresses.cc +12 -3
- data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_balancer_addresses.h +5 -1
- data/src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.cc +1 -0
- data/src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.h +1 -2
- data/src/core/ext/filters/client_channel/lb_policy/oob_backend_metric.h +1 -1
- data/src/core/ext/filters/client_channel/lb_policy/outlier_detection/outlier_detection.cc +169 -63
- data/src/core/ext/filters/client_channel/lb_policy/outlier_detection/outlier_detection.h +25 -1
- data/src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.cc +15 -19
- data/src/core/ext/filters/client_channel/lb_policy/priority/priority.cc +66 -78
- data/src/core/ext/filters/client_channel/lb_policy/ring_hash/ring_hash.cc +44 -44
- data/src/core/ext/filters/client_channel/lb_policy/ring_hash/ring_hash.h +6 -5
- data/src/core/ext/filters/client_channel/lb_policy/rls/rls.cc +65 -77
- data/src/core/ext/filters/client_channel/lb_policy/round_robin/round_robin.cc +15 -14
- data/src/core/ext/filters/client_channel/lb_policy/subchannel_list.h +19 -14
- data/src/core/ext/filters/client_channel/lb_policy/weighted_target/weighted_target.cc +63 -67
- data/src/core/ext/filters/client_channel/lb_policy/xds/cds.cc +40 -49
- data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_impl.cc +81 -97
- data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_manager.cc +53 -61
- data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_resolver.cc +171 -102
- data/src/core/ext/filters/client_channel/proxy_mapper.h +13 -14
- data/src/core/ext/filters/client_channel/proxy_mapper_registry.cc +19 -16
- data/src/core/ext/filters/client_channel/proxy_mapper_registry.h +8 -7
- data/src/core/ext/filters/client_channel/resolver/binder/binder_resolver.cc +4 -8
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.cc +431 -145
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.cc +170 -99
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.h +20 -7
- data/src/core/ext/filters/client_channel/resolver/dns/native/dns_resolver.cc +17 -15
- data/src/core/ext/filters/client_channel/resolver/fake/fake_resolver.cc +7 -17
- data/src/core/ext/filters/client_channel/resolver/fake/fake_resolver.h +11 -0
- data/src/core/ext/filters/client_channel/resolver/google_c2p/google_c2p_resolver.cc +38 -17
- data/src/core/ext/filters/client_channel/resolver/polling_resolver.cc +3 -4
- data/src/core/ext/filters/client_channel/resolver/polling_resolver.h +5 -6
- data/src/core/ext/filters/client_channel/resolver/sockaddr/sockaddr_resolver.cc +4 -13
- data/src/core/ext/filters/client_channel/resolver/xds/xds_resolver.cc +162 -165
- data/src/core/ext/filters/client_channel/resolver_result_parsing.cc +37 -30
- data/src/core/ext/filters/client_channel/resolver_result_parsing.h +7 -10
- data/src/core/ext/filters/client_channel/retry_filter.cc +0 -7
- data/src/core/ext/filters/client_channel/retry_service_config.cc +30 -19
- data/src/core/ext/filters/client_channel/retry_service_config.h +6 -9
- data/src/core/ext/filters/client_channel/service_config_channel_arg_filter.cc +6 -7
- data/src/core/ext/filters/client_channel/subchannel.cc +49 -89
- data/src/core/ext/filters/client_channel/subchannel.h +8 -8
- data/src/core/ext/filters/client_channel/subchannel_interface_internal.h +1 -1
- data/src/core/ext/filters/client_channel/subchannel_pool_interface.cc +6 -76
- data/src/core/ext/filters/client_channel/subchannel_pool_interface.h +16 -25
- data/src/core/ext/filters/client_channel/subchannel_stream_client.cc +3 -4
- data/src/core/ext/filters/deadline/deadline_filter.cc +6 -6
- data/src/core/ext/filters/deadline/deadline_filter.h +2 -3
- data/src/core/ext/filters/fault_injection/fault_injection_filter.cc +1 -3
- data/src/core/ext/filters/fault_injection/fault_injection_filter.h +1 -1
- data/src/core/ext/filters/fault_injection/service_config_parser.cc +17 -12
- data/src/core/ext/filters/fault_injection/service_config_parser.h +4 -5
- data/src/core/ext/filters/http/client/http_client_filter.cc +2 -3
- data/src/core/ext/filters/http/client/http_client_filter.h +1 -1
- data/src/core/ext/filters/http/client_authority_filter.cc +1 -2
- data/src/core/ext/filters/http/client_authority_filter.h +1 -1
- data/src/core/ext/filters/http/server/http_server_filter.cc +2 -3
- data/src/core/ext/filters/http/server/http_server_filter.h +1 -1
- data/src/core/ext/filters/message_size/message_size_filter.cc +13 -7
- data/src/core/ext/filters/message_size/message_size_filter.h +3 -6
- data/src/core/ext/filters/rbac/rbac_service_config_parser.cc +16 -12
- data/src/core/ext/filters/rbac/rbac_service_config_parser.h +4 -6
- data/src/core/ext/filters/server_config_selector/server_config_selector.h +5 -0
- data/src/core/ext/filters/server_config_selector/server_config_selector_filter.cc +3 -5
- data/src/core/ext/transport/chttp2/client/chttp2_connector.cc +35 -62
- data/src/core/ext/transport/chttp2/server/chttp2_server.cc +62 -89
- data/src/core/ext/transport/chttp2/server/chttp2_server.h +4 -6
- data/src/core/ext/transport/chttp2/transport/chttp2_transport.cc +130 -165
- data/src/core/ext/transport/chttp2/transport/chttp2_transport.h +3 -2
- data/src/core/ext/transport/chttp2/transport/flow_control.cc +67 -2
- data/src/core/ext/transport/chttp2/transport/flow_control.h +1 -0
- data/src/core/ext/transport/chttp2/transport/hpack_constants.h +7 -1
- data/src/core/ext/transport/chttp2/transport/hpack_encoder.cc +25 -8
- data/src/core/ext/transport/chttp2/transport/hpack_encoder.h +4 -0
- data/src/core/ext/transport/chttp2/transport/hpack_encoder_table.cc +0 -1
- data/src/core/ext/transport/chttp2/transport/hpack_encoder_table.h +8 -2
- data/src/core/ext/transport/chttp2/transport/hpack_parser.cc +2 -10
- data/src/core/ext/transport/chttp2/transport/internal.h +2 -1
- data/src/core/ext/transport/inproc/inproc_transport.cc +40 -74
- data/src/core/ext/upb-generated/envoy/admin/v3/certs.upb.c +5 -5
- data/src/core/ext/upb-generated/envoy/admin/v3/certs.upb.h +30 -10
- data/src/core/ext/upb-generated/envoy/admin/v3/clusters.upb.c +4 -4
- data/src/core/ext/upb-generated/envoy/admin/v3/clusters.upb.h +24 -8
- data/src/core/ext/upb-generated/envoy/admin/v3/config_dump.upb.c +8 -327
- data/src/core/ext/upb-generated/envoy/admin/v3/config_dump.upb.h +83 -1723
- data/src/core/ext/upb-generated/envoy/admin/v3/config_dump_shared.upb.c +352 -0
- data/src/core/ext/upb-generated/envoy/admin/v3/config_dump_shared.upb.h +1768 -0
- data/src/core/ext/upb-generated/envoy/admin/v3/init_dump.upb.c +2 -2
- data/src/core/ext/upb-generated/envoy/admin/v3/init_dump.upb.h +12 -4
- data/src/core/ext/upb-generated/envoy/admin/v3/listeners.upb.c +6 -4
- data/src/core/ext/upb-generated/envoy/admin/v3/listeners.upb.h +33 -4
- data/src/core/ext/upb-generated/envoy/admin/v3/memory.upb.c +1 -1
- data/src/core/ext/upb-generated/envoy/admin/v3/memory.upb.h +6 -2
- data/src/core/ext/upb-generated/envoy/admin/v3/metrics.upb.c +1 -1
- data/src/core/ext/upb-generated/envoy/admin/v3/metrics.upb.h +6 -2
- data/src/core/ext/upb-generated/envoy/admin/v3/mutex_stats.upb.h +6 -2
- data/src/core/ext/upb-generated/envoy/admin/v3/server_info.upb.h +12 -4
- data/src/core/ext/upb-generated/envoy/admin/v3/tap.upb.c +1 -1
- data/src/core/ext/upb-generated/envoy/admin/v3/tap.upb.h +6 -2
- data/src/core/ext/upb-generated/envoy/annotations/resource.upb.c +1 -1
- data/src/core/ext/upb-generated/envoy/annotations/resource.upb.h +7 -3
- data/src/core/ext/upb-generated/envoy/config/accesslog/v3/accesslog.upb.c +14 -14
- data/src/core/ext/upb-generated/envoy/config/accesslog/v3/accesslog.upb.h +90 -30
- data/src/core/ext/upb-generated/envoy/config/bootstrap/v3/bootstrap.upb.c +21 -19
- data/src/core/ext/upb-generated/envoy/config/bootstrap/v3/bootstrap.upb.h +124 -34
- data/src/core/ext/upb-generated/envoy/config/cluster/v3/circuit_breaker.upb.c +3 -3
- data/src/core/ext/upb-generated/envoy/config/cluster/v3/circuit_breaker.upb.h +18 -6
- data/src/core/ext/upb-generated/envoy/config/cluster/v3/cluster.upb.c +23 -22
- data/src/core/ext/upb-generated/envoy/config/cluster/v3/cluster.upb.h +153 -48
- data/src/core/ext/upb-generated/envoy/config/cluster/v3/filter.upb.c +1 -1
- data/src/core/ext/upb-generated/envoy/config/cluster/v3/filter.upb.h +6 -2
- data/src/core/ext/upb-generated/envoy/config/cluster/v3/outlier_detection.upb.c +1 -1
- data/src/core/ext/upb-generated/envoy/config/cluster/v3/outlier_detection.upb.h +6 -2
- data/src/core/ext/upb-generated/envoy/config/common/matcher/v3/matcher.upb.c +11 -11
- data/src/core/ext/upb-generated/envoy/config/common/matcher/v3/matcher.upb.h +84 -28
- data/src/core/ext/upb-generated/envoy/config/core/v3/address.upb.c +7 -7
- data/src/core/ext/upb-generated/envoy/config/core/v3/address.upb.h +42 -14
- data/src/core/ext/upb-generated/envoy/config/core/v3/backoff.upb.c +1 -1
- data/src/core/ext/upb-generated/envoy/config/core/v3/backoff.upb.h +6 -2
- data/src/core/ext/upb-generated/envoy/config/core/v3/base.upb.c +25 -23
- data/src/core/ext/upb-generated/envoy/config/core/v3/base.upb.h +156 -48
- data/src/core/ext/upb-generated/envoy/config/core/v3/config_source.upb.c +7 -7
- data/src/core/ext/upb-generated/envoy/config/core/v3/config_source.upb.h +42 -14
- data/src/core/ext/upb-generated/envoy/config/core/v3/event_service_config.upb.c +1 -1
- data/src/core/ext/upb-generated/envoy/config/core/v3/event_service_config.upb.h +6 -2
- data/src/core/ext/upb-generated/envoy/config/core/v3/extension.upb.c +1 -1
- data/src/core/ext/upb-generated/envoy/config/core/v3/extension.upb.h +6 -2
- data/src/core/ext/upb-generated/envoy/config/core/v3/grpc_method_list.upb.c +2 -2
- data/src/core/ext/upb-generated/envoy/config/core/v3/grpc_method_list.upb.h +12 -4
- data/src/core/ext/upb-generated/envoy/config/core/v3/grpc_service.upb.c +12 -12
- data/src/core/ext/upb-generated/envoy/config/core/v3/grpc_service.upb.h +78 -26
- data/src/core/ext/upb-generated/envoy/config/core/v3/health_check.upb.c +9 -9
- data/src/core/ext/upb-generated/envoy/config/core/v3/health_check.upb.h +54 -18
- data/src/core/ext/upb-generated/envoy/config/core/v3/http_uri.upb.c +1 -1
- data/src/core/ext/upb-generated/envoy/config/core/v3/http_uri.upb.h +6 -2
- data/src/core/ext/upb-generated/envoy/config/core/v3/protocol.upb.c +21 -20
- data/src/core/ext/upb-generated/envoy/config/core/v3/protocol.upb.h +117 -44
- data/src/core/ext/upb-generated/envoy/config/core/v3/proxy_protocol.upb.c +1 -1
- data/src/core/ext/upb-generated/envoy/config/core/v3/proxy_protocol.upb.h +6 -2
- data/src/core/ext/upb-generated/envoy/config/core/v3/resolver.upb.c +2 -2
- data/src/core/ext/upb-generated/envoy/config/core/v3/resolver.upb.h +12 -4
- data/src/core/ext/upb-generated/envoy/config/core/v3/socket_option.upb.h +6 -2
- data/src/core/ext/upb-generated/envoy/config/core/v3/substitution_format_string.upb.c +1 -1
- data/src/core/ext/upb-generated/envoy/config/core/v3/substitution_format_string.upb.h +6 -2
- data/src/core/ext/upb-generated/envoy/config/core/v3/udp_socket_config.upb.c +1 -1
- data/src/core/ext/upb-generated/envoy/config/core/v3/udp_socket_config.upb.h +6 -2
- data/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint.upb.c +3 -3
- data/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint.upb.h +18 -6
- data/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint_components.upb.c +5 -5
- data/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint_components.upb.h +36 -12
- data/src/core/ext/upb-generated/envoy/config/endpoint/v3/load_report.upb.c +3 -3
- data/src/core/ext/upb-generated/envoy/config/endpoint/v3/load_report.upb.h +30 -10
- data/src/core/ext/upb-generated/envoy/config/listener/v3/api_listener.upb.c +1 -1
- data/src/core/ext/upb-generated/envoy/config/listener/v3/api_listener.upb.h +6 -2
- data/src/core/ext/upb-generated/envoy/config/listener/v3/listener.upb.c +37 -13
- data/src/core/ext/upb-generated/envoy/config/listener/v3/listener.upb.h +170 -15
- data/src/core/ext/upb-generated/envoy/config/listener/v3/listener_components.upb.c +5 -5
- data/src/core/ext/upb-generated/envoy/config/listener/v3/listener_components.upb.h +42 -14
- data/src/core/ext/upb-generated/envoy/config/listener/v3/quic_config.upb.c +1 -1
- data/src/core/ext/upb-generated/envoy/config/listener/v3/quic_config.upb.h +6 -2
- data/src/core/ext/upb-generated/envoy/config/listener/v3/udp_listener_config.upb.c +7 -4
- data/src/core/ext/upb-generated/envoy/config/listener/v3/udp_listener_config.upb.h +36 -4
- data/src/core/ext/upb-generated/envoy/config/metrics/v3/metrics_service.upb.c +1 -1
- data/src/core/ext/upb-generated/envoy/config/metrics/v3/metrics_service.upb.h +6 -2
- data/src/core/ext/upb-generated/envoy/config/metrics/v3/stats.upb.c +6 -6
- data/src/core/ext/upb-generated/envoy/config/metrics/v3/stats.upb.h +48 -16
- data/src/core/ext/upb-generated/envoy/config/overload/v3/overload.upb.c +8 -8
- data/src/core/ext/upb-generated/envoy/config/overload/v3/overload.upb.h +54 -18
- data/src/core/ext/upb-generated/envoy/config/rbac/v3/rbac.upb.c +21 -9
- data/src/core/ext/upb-generated/envoy/config/rbac/v3/rbac.upb.h +100 -14
- data/src/core/ext/upb-generated/envoy/config/route/v3/route.upb.c +7 -22
- data/src/core/ext/upb-generated/envoy/config/route/v3/route.upb.h +36 -77
- data/src/core/ext/upb-generated/envoy/config/route/v3/route_components.upb.c +121 -76
- data/src/core/ext/upb-generated/envoy/config/route/v3/route_components.upb.h +647 -163
- data/src/core/ext/upb-generated/envoy/config/route/v3/scoped_route.upb.c +3 -3
- data/src/core/ext/upb-generated/envoy/config/route/v3/scoped_route.upb.h +18 -6
- data/src/core/ext/upb-generated/envoy/config/tap/v3/common.upb.c +34 -15
- data/src/core/ext/upb-generated/envoy/config/tap/v3/common.upb.h +161 -22
- data/src/core/ext/upb-generated/envoy/config/trace/v3/datadog.upb.c +1 -1
- data/src/core/ext/upb-generated/envoy/config/trace/v3/datadog.upb.h +6 -2
- data/src/core/ext/upb-generated/envoy/config/trace/v3/dynamic_ot.upb.c +1 -1
- data/src/core/ext/upb-generated/envoy/config/trace/v3/dynamic_ot.upb.h +6 -2
- data/src/core/ext/upb-generated/envoy/config/trace/v3/http_tracer.upb.c +2 -2
- data/src/core/ext/upb-generated/envoy/config/trace/v3/http_tracer.upb.h +12 -4
- data/src/core/ext/upb-generated/envoy/config/trace/v3/lightstep.upb.c +1 -1
- data/src/core/ext/upb-generated/envoy/config/trace/v3/lightstep.upb.h +6 -2
- data/src/core/ext/upb-generated/envoy/config/trace/v3/opencensus.upb.c +1 -1
- data/src/core/ext/upb-generated/envoy/config/trace/v3/opencensus.upb.h +6 -2
- data/src/core/ext/upb-generated/envoy/config/trace/v3/opentelemetry.upb.c +46 -0
- data/src/core/ext/upb-generated/envoy/config/trace/v3/opentelemetry.upb.h +98 -0
- data/src/core/ext/upb-generated/envoy/config/trace/v3/service.upb.c +1 -1
- data/src/core/ext/upb-generated/envoy/config/trace/v3/service.upb.h +6 -2
- data/src/core/ext/upb-generated/envoy/config/trace/v3/skywalking.upb.c +2 -2
- data/src/core/ext/upb-generated/envoy/config/trace/v3/skywalking.upb.h +12 -4
- data/src/core/ext/upb-generated/envoy/config/trace/v3/trace.upb.c +1 -0
- data/src/core/ext/upb-generated/envoy/config/trace/v3/trace.upb.h +1 -0
- data/src/core/ext/upb-generated/envoy/config/trace/v3/xray.upb.c +2 -2
- data/src/core/ext/upb-generated/envoy/config/trace/v3/xray.upb.h +12 -4
- data/src/core/ext/upb-generated/envoy/config/trace/v3/zipkin.upb.c +1 -1
- data/src/core/ext/upb-generated/envoy/config/trace/v3/zipkin.upb.h +6 -2
- data/src/core/ext/upb-generated/envoy/extensions/clusters/aggregate/v3/cluster.upb.c +1 -1
- data/src/core/ext/upb-generated/envoy/extensions/clusters/aggregate/v3/cluster.upb.h +6 -2
- data/src/core/ext/upb-generated/envoy/extensions/filters/common/fault/v3/fault.upb.c +2 -2
- data/src/core/ext/upb-generated/envoy/extensions/filters/common/fault/v3/fault.upb.h +30 -10
- data/src/core/ext/upb-generated/envoy/extensions/filters/http/fault/v3/fault.upb.c +2 -2
- data/src/core/ext/upb-generated/envoy/extensions/filters/http/fault/v3/fault.upb.h +18 -6
- data/src/core/ext/upb-generated/envoy/extensions/filters/http/rbac/v3/rbac.upb.c +11 -4
- data/src/core/ext/upb-generated/envoy/extensions/filters/http/rbac/v3/rbac.upb.h +58 -4
- data/src/core/ext/upb-generated/envoy/extensions/filters/http/router/v3/router.upb.c +1 -1
- data/src/core/ext/upb-generated/envoy/extensions/filters/http/router/v3/router.upb.h +6 -2
- data/src/core/ext/upb-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.c +35 -27
- data/src/core/ext/upb-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.h +177 -52
- data/src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/ring_hash/v3/ring_hash.upb.h +6 -2
- data/src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/wrr_locality/v3/wrr_locality.upb.c +1 -1
- data/src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/wrr_locality/v3/wrr_locality.upb.h +6 -2
- data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/common.upb.c +10 -8
- data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/common.upb.h +66 -14
- data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/secret.upb.c +3 -3
- data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/secret.upb.h +18 -6
- data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/tls.upb.c +5 -5
- data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/tls.upb.h +42 -14
- data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.upb.c +2 -2
- data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config.upb.h +12 -4
- data/src/core/ext/upb-generated/envoy/service/discovery/v3/ads.upb.c +1 -1
- data/src/core/ext/upb-generated/envoy/service/discovery/v3/ads.upb.h +6 -2
- data/src/core/ext/upb-generated/envoy/service/discovery/v3/discovery.upb.c +131 -16
- data/src/core/ext/upb-generated/envoy/service/discovery/v3/discovery.upb.h +632 -12
- data/src/core/ext/upb-generated/envoy/service/load_stats/v3/lrs.upb.c +2 -2
- data/src/core/ext/upb-generated/envoy/service/load_stats/v3/lrs.upb.h +12 -4
- data/src/core/ext/upb-generated/envoy/service/status/v3/csds.upb.c +5 -5
- data/src/core/ext/upb-generated/envoy/service/status/v3/csds.upb.h +30 -10
- data/src/core/ext/upb-generated/envoy/type/http/v3/cookie.upb.c +1 -1
- data/src/core/ext/upb-generated/envoy/type/http/v3/cookie.upb.h +6 -2
- data/src/core/ext/upb-generated/envoy/type/http/v3/path_transformation.upb.c +4 -4
- data/src/core/ext/upb-generated/envoy/type/http/v3/path_transformation.upb.h +24 -8
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/http_inputs.upb.c +4 -4
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/http_inputs.upb.h +24 -8
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/metadata.upb.c +2 -2
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/metadata.upb.h +12 -4
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/node.upb.c +1 -1
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/node.upb.h +6 -2
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/number.upb.c +1 -1
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/number.upb.h +6 -2
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/path.upb.c +1 -1
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/path.upb.h +6 -2
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/regex.upb.c +3 -3
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/regex.upb.h +18 -6
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/string.upb.c +1 -1
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/string.upb.h +12 -4
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/struct.upb.c +2 -2
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/struct.upb.h +12 -4
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/value.upb.c +3 -3
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/value.upb.h +18 -6
- data/src/core/ext/upb-generated/envoy/type/metadata/v3/metadata.upb.c +7 -7
- data/src/core/ext/upb-generated/envoy/type/metadata/v3/metadata.upb.h +42 -14
- data/src/core/ext/upb-generated/envoy/type/tracing/v3/custom_tag.upb.c +5 -5
- data/src/core/ext/upb-generated/envoy/type/tracing/v3/custom_tag.upb.h +30 -10
- data/src/core/ext/upb-generated/envoy/type/v3/hash_policy.upb.c +3 -3
- data/src/core/ext/upb-generated/envoy/type/v3/hash_policy.upb.h +18 -6
- data/src/core/ext/upb-generated/envoy/type/v3/http_status.upb.c +1 -1
- data/src/core/ext/upb-generated/envoy/type/v3/http_status.upb.h +6 -2
- data/src/core/ext/upb-generated/envoy/type/v3/percent.upb.h +12 -4
- data/src/core/ext/upb-generated/envoy/type/v3/range.upb.c +2 -2
- data/src/core/ext/upb-generated/envoy/type/v3/range.upb.h +18 -6
- data/src/core/ext/upb-generated/envoy/type/v3/ratelimit_strategy.upb.c +63 -0
- data/src/core/ext/upb-generated/envoy/type/v3/ratelimit_strategy.upb.h +202 -0
- data/src/core/ext/upb-generated/envoy/type/v3/semantic_version.upb.c +1 -1
- data/src/core/ext/upb-generated/envoy/type/v3/semantic_version.upb.h +6 -2
- data/src/core/ext/upb-generated/envoy/type/v3/token_bucket.upb.h +6 -2
- data/src/core/ext/upb-generated/google/api/annotations.upb.h +1 -1
- data/src/core/ext/upb-generated/google/api/expr/v1alpha1/checked.upb.c +11 -11
- data/src/core/ext/upb-generated/google/api/expr/v1alpha1/checked.upb.h +66 -22
- data/src/core/ext/upb-generated/google/api/expr/v1alpha1/syntax.upb.c +9 -9
- data/src/core/ext/upb-generated/google/api/expr/v1alpha1/syntax.upb.h +72 -24
- data/src/core/ext/upb-generated/google/api/http.upb.c +3 -3
- data/src/core/ext/upb-generated/google/api/http.upb.h +18 -6
- data/src/core/ext/upb-generated/google/api/httpbody.upb.c +1 -1
- data/src/core/ext/upb-generated/google/api/httpbody.upb.h +6 -2
- data/src/core/ext/upb-generated/google/protobuf/any.upb.c +1 -1
- data/src/core/ext/upb-generated/google/protobuf/any.upb.h +6 -2
- data/src/core/ext/upb-generated/google/protobuf/descriptor.upb.c +44 -43
- data/src/core/ext/upb-generated/google/protobuf/descriptor.upb.h +177 -55
- data/src/core/ext/upb-generated/google/protobuf/duration.upb.c +1 -1
- data/src/core/ext/upb-generated/google/protobuf/duration.upb.h +6 -2
- data/src/core/ext/upb-generated/google/protobuf/empty.upb.c +1 -1
- data/src/core/ext/upb-generated/google/protobuf/empty.upb.h +6 -2
- data/src/core/ext/upb-generated/google/protobuf/struct.upb.c +2 -2
- data/src/core/ext/upb-generated/google/protobuf/struct.upb.h +18 -6
- data/src/core/ext/upb-generated/google/protobuf/timestamp.upb.c +1 -1
- data/src/core/ext/upb-generated/google/protobuf/timestamp.upb.h +6 -2
- data/src/core/ext/upb-generated/google/protobuf/wrappers.upb.c +6 -6
- data/src/core/ext/upb-generated/google/protobuf/wrappers.upb.h +54 -18
- data/src/core/ext/upb-generated/google/rpc/status.upb.c +1 -1
- data/src/core/ext/upb-generated/google/rpc/status.upb.h +6 -2
- data/src/core/ext/upb-generated/opencensus/proto/trace/v1/trace_config.upb.c +2 -2
- data/src/core/ext/upb-generated/opencensus/proto/trace/v1/trace_config.upb.h +24 -8
- data/src/core/ext/upb-generated/src/proto/grpc/gcp/altscontext.upb.h +6 -2
- data/src/core/ext/upb-generated/src/proto/grpc/gcp/handshaker.upb.c +7 -7
- data/src/core/ext/upb-generated/src/proto/grpc/gcp/handshaker.upb.h +60 -20
- data/src/core/ext/upb-generated/src/proto/grpc/gcp/transport_security_common.upb.c +1 -1
- data/src/core/ext/upb-generated/src/proto/grpc/gcp/transport_security_common.upb.h +12 -4
- data/src/core/ext/upb-generated/src/proto/grpc/health/v1/health.upb.c +2 -2
- data/src/core/ext/upb-generated/src/proto/grpc/health/v1/health.upb.h +12 -4
- data/src/core/ext/upb-generated/src/proto/grpc/lb/v1/load_balancer.upb.c +6 -6
- data/src/core/ext/upb-generated/src/proto/grpc/lb/v1/load_balancer.upb.h +54 -18
- data/src/core/ext/upb-generated/src/proto/grpc/lookup/v1/rls.upb.c +2 -2
- data/src/core/ext/upb-generated/src/proto/grpc/lookup/v1/rls.upb.h +12 -4
- data/src/core/ext/upb-generated/src/proto/grpc/lookup/v1/rls_config.upb.c +7 -7
- data/src/core/ext/upb-generated/src/proto/grpc/lookup/v1/rls_config.upb.h +42 -14
- data/src/core/ext/upb-generated/udpa/annotations/migrate.upb.c +3 -3
- data/src/core/ext/upb-generated/udpa/annotations/migrate.upb.h +23 -11
- data/src/core/ext/upb-generated/udpa/annotations/security.upb.c +1 -1
- data/src/core/ext/upb-generated/udpa/annotations/security.upb.h +7 -3
- data/src/core/ext/upb-generated/udpa/annotations/status.upb.h +7 -3
- data/src/core/ext/upb-generated/udpa/annotations/versioning.upb.c +1 -1
- data/src/core/ext/upb-generated/udpa/annotations/versioning.upb.h +7 -3
- data/src/core/ext/upb-generated/validate/validate.upb.c +22 -22
- data/src/core/ext/upb-generated/validate/validate.upb.h +139 -47
- data/src/core/ext/upb-generated/xds/annotations/v3/migrate.upb.c +3 -3
- data/src/core/ext/upb-generated/xds/annotations/v3/migrate.upb.h +23 -11
- data/src/core/ext/upb-generated/xds/annotations/v3/security.upb.c +1 -1
- data/src/core/ext/upb-generated/xds/annotations/v3/security.upb.h +7 -3
- data/src/core/ext/upb-generated/xds/annotations/v3/status.upb.c +3 -3
- data/src/core/ext/upb-generated/xds/annotations/v3/status.upb.h +27 -11
- data/src/core/ext/upb-generated/xds/annotations/v3/versioning.upb.c +1 -1
- data/src/core/ext/upb-generated/xds/annotations/v3/versioning.upb.h +7 -3
- data/src/core/ext/upb-generated/xds/core/v3/authority.upb.c +1 -1
- data/src/core/ext/upb-generated/xds/core/v3/authority.upb.h +6 -2
- data/src/core/ext/upb-generated/xds/core/v3/collection_entry.upb.c +2 -2
- data/src/core/ext/upb-generated/xds/core/v3/collection_entry.upb.h +12 -4
- data/src/core/ext/upb-generated/xds/core/v3/context_params.upb.c +1 -1
- data/src/core/ext/upb-generated/xds/core/v3/context_params.upb.h +6 -2
- data/src/core/ext/upb-generated/xds/core/v3/extension.upb.c +1 -1
- data/src/core/ext/upb-generated/xds/core/v3/extension.upb.h +6 -2
- data/src/core/ext/upb-generated/xds/core/v3/resource.upb.c +1 -1
- data/src/core/ext/upb-generated/xds/core/v3/resource.upb.h +6 -2
- data/src/core/ext/upb-generated/xds/core/v3/resource_locator.upb.c +1 -1
- data/src/core/ext/upb-generated/xds/core/v3/resource_locator.upb.h +12 -4
- data/src/core/ext/upb-generated/xds/core/v3/resource_name.upb.c +1 -1
- data/src/core/ext/upb-generated/xds/core/v3/resource_name.upb.h +6 -2
- data/src/core/ext/upb-generated/xds/data/orca/v3/orca_load_report.upb.h +6 -2
- data/src/core/ext/upb-generated/xds/service/orca/v3/orca.upb.c +1 -1
- data/src/core/ext/upb-generated/xds/service/orca/v3/orca.upb.h +6 -2
- data/src/core/ext/upb-generated/xds/type/matcher/v3/matcher.upb.c +6 -6
- data/src/core/ext/upb-generated/xds/type/matcher/v3/matcher.upb.h +54 -18
- data/src/core/ext/upb-generated/xds/type/matcher/v3/regex.upb.c +2 -2
- data/src/core/ext/upb-generated/xds/type/matcher/v3/regex.upb.h +12 -4
- data/src/core/ext/upb-generated/xds/type/matcher/v3/string.upb.c +1 -1
- data/src/core/ext/upb-generated/xds/type/matcher/v3/string.upb.h +12 -4
- data/src/core/ext/upb-generated/xds/type/v3/typed_struct.upb.c +1 -1
- data/src/core/ext/upb-generated/xds/type/v3/typed_struct.upb.h +6 -2
- data/src/core/ext/upbdefs-generated/envoy/admin/v3/config_dump.upbdefs.c +67 -274
- data/src/core/ext/upbdefs-generated/envoy/admin/v3/config_dump.upbdefs.h +0 -85
- data/src/core/ext/upbdefs-generated/envoy/admin/v3/config_dump_shared.upbdefs.c +256 -0
- data/src/core/ext/upbdefs-generated/envoy/admin/v3/config_dump_shared.upbdefs.h +115 -0
- data/src/core/ext/upbdefs-generated/envoy/admin/v3/listeners.upbdefs.c +14 -11
- data/src/core/ext/upbdefs-generated/envoy/config/accesslog/v3/accesslog.upbdefs.c +107 -107
- data/src/core/ext/upbdefs-generated/envoy/config/bootstrap/v3/bootstrap.upbdefs.c +191 -187
- data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/cluster.upbdefs.c +156 -154
- data/src/core/ext/upbdefs-generated/envoy/config/core/v3/base.upbdefs.c +186 -183
- data/src/core/ext/upbdefs-generated/envoy/config/core/v3/protocol.upbdefs.c +136 -134
- data/src/core/ext/upbdefs-generated/envoy/config/core/v3/substitution_format_string.upbdefs.c +16 -16
- data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/listener.upbdefs.c +162 -139
- data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/listener.upbdefs.h +5 -0
- data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/udp_listener_config.upbdefs.c +39 -31
- data/src/core/ext/upbdefs-generated/envoy/config/rbac/v3/rbac.upbdefs.c +12 -8
- data/src/core/ext/upbdefs-generated/envoy/config/rbac/v3/rbac.upbdefs.h +5 -0
- data/src/core/ext/upbdefs-generated/envoy/config/route/v3/route.upbdefs.c +72 -75
- data/src/core/ext/upbdefs-generated/envoy/config/route/v3/route.upbdefs.h +0 -5
- data/src/core/ext/upbdefs-generated/envoy/config/route/v3/route_components.upbdefs.c +713 -670
- data/src/core/ext/upbdefs-generated/envoy/config/route/v3/route_components.upbdefs.h +10 -0
- data/src/core/ext/upbdefs-generated/envoy/config/tap/v3/common.upbdefs.c +150 -139
- data/src/core/ext/upbdefs-generated/envoy/config/tap/v3/common.upbdefs.h +5 -0
- data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/opentelemetry.upbdefs.c +47 -0
- data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/opentelemetry.upbdefs.h +35 -0
- data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/trace.upbdefs.c +16 -12
- data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/rbac/v3/rbac.upbdefs.c +46 -25
- data/src/core/ext/upbdefs-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upbdefs.c +477 -466
- data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/common.upbdefs.c +21 -18
- data/src/core/ext/upbdefs-generated/envoy/service/discovery/v3/discovery.upbdefs.c +153 -84
- data/src/core/ext/upbdefs-generated/envoy/service/discovery/v3/discovery.upbdefs.h +35 -0
- data/src/core/ext/upbdefs-generated/envoy/service/status/v3/csds.upbdefs.c +113 -113
- data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/regex.upbdefs.c +29 -28
- data/src/core/ext/upbdefs-generated/envoy/type/v3/ratelimit_strategy.upbdefs.c +69 -0
- data/src/core/ext/upbdefs-generated/envoy/type/v3/ratelimit_strategy.upbdefs.h +40 -0
- data/src/core/ext/upbdefs-generated/google/protobuf/descriptor.upbdefs.c +92 -90
- data/src/core/ext/xds/upb_utils.h +0 -21
- data/src/core/ext/xds/xds_api.cc +53 -86
- data/src/core/ext/xds/xds_api.h +19 -28
- data/src/core/ext/xds/xds_bootstrap.cc +39 -52
- data/src/core/ext/xds/xds_bootstrap.h +28 -8
- data/src/core/ext/xds/xds_certificate_provider.h +9 -0
- data/src/core/ext/xds/xds_channel_stack_modifier.cc +6 -4
- data/src/core/ext/xds/xds_channel_stack_modifier.h +8 -0
- data/src/core/ext/xds/xds_client.cc +555 -1214
- data/src/core/ext/xds/xds_client.h +16 -44
- data/src/core/ext/xds/xds_client_grpc.cc +291 -0
- data/src/core/ext/xds/xds_client_grpc.h +102 -0
- data/src/core/ext/xds/xds_cluster.cc +92 -103
- data/src/core/ext/xds/xds_cluster.h +6 -5
- data/src/core/ext/xds/xds_cluster_specifier_plugin.cc +10 -14
- data/src/core/ext/xds/xds_cluster_specifier_plugin.h +1 -0
- data/src/core/ext/xds/xds_common_types.cc +134 -110
- data/src/core/ext/xds/xds_common_types.h +6 -7
- data/src/core/ext/xds/xds_endpoint.cc +80 -80
- data/src/core/ext/xds/xds_endpoint.h +4 -4
- data/src/core/ext/xds/xds_http_fault_filter.cc +4 -11
- data/src/core/ext/xds/xds_http_fault_filter.h +3 -3
- data/src/core/ext/xds/xds_http_filters.h +3 -3
- data/src/core/ext/xds/xds_http_rbac_filter.cc +39 -58
- data/src/core/ext/xds/xds_http_rbac_filter.h +3 -3
- data/src/core/ext/xds/xds_lb_policy_registry.cc +17 -20
- data/src/core/ext/xds/xds_lb_policy_registry.h +4 -4
- data/src/core/ext/xds/xds_listener.cc +329 -299
- data/src/core/ext/xds/xds_listener.h +4 -4
- data/src/core/ext/xds/xds_resource_type.h +13 -2
- data/src/core/ext/xds/xds_route_config.cc +180 -177
- data/src/core/ext/xds/xds_route_config.h +31 -17
- data/src/core/ext/xds/xds_routing.cc +3 -6
- data/src/core/ext/xds/xds_routing.h +7 -9
- data/src/core/ext/xds/xds_server_config_fetcher.cc +76 -81
- data/src/core/ext/xds/xds_transport.h +86 -0
- data/src/core/ext/xds/xds_transport_grpc.cc +349 -0
- data/src/core/ext/xds/xds_transport_grpc.h +135 -0
- data/src/core/lib/address_utils/parse_address.cc +19 -17
- data/src/core/lib/address_utils/parse_address.h +8 -5
- data/src/core/lib/avl/avl.h +47 -25
- data/src/core/lib/channel/call_tracer.h +1 -1
- data/src/core/lib/channel/channel_args.cc +88 -19
- data/src/core/lib/channel/channel_args.h +113 -62
- data/src/core/lib/channel/channel_stack.cc +0 -1
- data/src/core/lib/channel/channel_stack_builder.cc +3 -3
- data/src/core/lib/channel/channel_stack_builder.h +2 -2
- data/src/core/lib/channel/channel_stack_builder_impl.cc +2 -4
- data/src/core/lib/channel/channelz.cc +27 -37
- data/src/core/lib/channel/channelz.h +9 -0
- data/src/core/lib/channel/promise_based_filter.h +0 -1
- data/src/core/lib/config/core_configuration.h +48 -35
- data/src/core/lib/debug/stats.cc +12 -15
- data/src/core/lib/debug/stats.h +11 -3
- data/src/core/lib/event_engine/{event_engine.cc → default_event_engine.cc} +9 -5
- data/src/core/lib/event_engine/{event_engine_factory.h → default_event_engine.h} +4 -8
- data/src/core/lib/event_engine/default_event_engine_factory.cc +20 -3
- data/src/core/lib/event_engine/default_event_engine_factory.h +33 -0
- data/src/core/lib/event_engine/executor/executor.h +38 -0
- data/src/core/lib/event_engine/executor/threaded_executor.cc +36 -0
- data/src/core/lib/event_engine/executor/threaded_executor.h +44 -0
- data/src/core/lib/event_engine/forkable.cc +101 -0
- data/src/core/lib/event_engine/forkable.h +61 -0
- data/src/core/lib/event_engine/poller.h +54 -0
- data/src/core/lib/event_engine/{iomgr_engine/iomgr_engine.cc → posix_engine/posix_engine.cc} +30 -47
- data/src/core/lib/event_engine/{iomgr_engine/iomgr_engine.h → posix_engine/posix_engine.h} +27 -28
- data/src/core/lib/event_engine/{iomgr_engine → posix_engine}/timer.cc +4 -5
- data/src/core/lib/event_engine/{iomgr_engine → posix_engine}/timer.h +8 -8
- data/src/core/lib/event_engine/{iomgr_engine → posix_engine}/timer_heap.cc +4 -4
- data/src/core/lib/event_engine/{iomgr_engine → posix_engine}/timer_heap.h +5 -5
- data/src/core/lib/event_engine/{iomgr_engine → posix_engine}/timer_manager.cc +46 -10
- data/src/core/lib/event_engine/{iomgr_engine → posix_engine}/timer_manager.h +17 -8
- data/src/core/lib/event_engine/promise.h +11 -2
- data/src/core/lib/event_engine/socket_notifier.h +55 -0
- data/src/core/lib/event_engine/{iomgr_engine/thread_pool.cc → thread_pool.cc} +49 -14
- data/src/core/lib/event_engine/{iomgr_engine/thread_pool.h → thread_pool.h} +21 -10
- data/src/core/lib/event_engine/utils.cc +49 -0
- data/src/core/lib/event_engine/utils.h +40 -0
- data/src/core/lib/event_engine/windows/iocp.cc +149 -0
- data/src/core/lib/event_engine/windows/iocp.h +68 -0
- data/src/core/lib/event_engine/windows/win_socket.cc +196 -0
- data/src/core/lib/event_engine/windows/win_socket.h +120 -0
- data/src/core/lib/event_engine/windows/windows_engine.cc +159 -0
- data/src/core/lib/event_engine/windows/windows_engine.h +120 -0
- data/src/core/lib/gpr/time.cc +11 -9
- data/src/core/lib/gpr/useful.h +29 -0
- data/src/core/lib/gprpp/bitset.h +3 -13
- data/src/core/lib/gprpp/debug_location.h +39 -7
- data/src/core/lib/gprpp/manual_constructor.h +0 -1
- data/src/core/lib/gprpp/no_destruct.h +94 -0
- data/src/core/lib/gprpp/ref_counted_ptr.h +0 -1
- data/src/core/lib/gprpp/status_helper.cc +1 -0
- data/src/core/lib/gprpp/table.h +0 -1
- data/src/core/lib/{event_engine/iomgr_engine → gprpp}/time_averaged_stats.cc +3 -5
- data/src/core/lib/{event_engine/iomgr_engine → gprpp}/time_averaged_stats.h +5 -7
- data/src/core/lib/{iomgr → gprpp}/work_serializer.cc +34 -18
- data/src/core/lib/{iomgr → gprpp}/work_serializer.h +21 -27
- data/src/core/lib/http/httpcli.cc +12 -24
- data/src/core/lib/http/httpcli_security_connector.cc +11 -11
- data/src/core/lib/iomgr/call_combiner.cc +0 -26
- data/src/core/lib/iomgr/closure.h +0 -9
- data/src/core/lib/iomgr/combiner.cc +0 -20
- data/src/core/lib/iomgr/endpoint_pair_posix.cc +2 -1
- data/src/core/lib/iomgr/error.cc +0 -773
- data/src/core/lib/iomgr/error.h +0 -145
- data/src/core/lib/iomgr/error_cfstream.cc +0 -5
- data/src/core/lib/iomgr/ev_poll_posix.cc +17 -9
- data/src/core/lib/iomgr/exec_ctx.cc +0 -12
- data/src/core/lib/iomgr/executor.cc +0 -10
- data/src/core/lib/iomgr/executor.h +0 -3
- data/src/core/lib/iomgr/lockfree_event.cc +0 -17
- data/src/core/lib/iomgr/port.h +3 -0
- data/src/core/lib/iomgr/resolve_address.h +29 -6
- data/src/core/lib/iomgr/resolve_address_posix.cc +42 -8
- data/src/core/lib/iomgr/resolve_address_posix.h +19 -5
- data/src/core/lib/iomgr/resolve_address_windows.cc +44 -10
- data/src/core/lib/iomgr/resolve_address_windows.h +19 -5
- data/src/core/lib/iomgr/socket_windows.h +0 -2
- data/src/core/lib/iomgr/tcp_posix.cc +118 -6
- data/src/core/lib/iomgr/timer_generic.cc +6 -8
- data/src/core/lib/json/json.h +19 -22
- data/src/core/lib/json/json_args.h +34 -0
- data/src/core/lib/json/json_object_loader.cc +233 -0
- data/src/core/lib/json/json_object_loader.h +618 -0
- data/src/core/lib/json/json_reader.cc +86 -62
- data/src/core/lib/json/json_util.cc +8 -36
- data/src/core/{ext/filters/client_channel → lib/load_balancing}/lb_policy.cc +3 -44
- data/src/core/{ext/filters/client_channel → lib/load_balancing}/lb_policy.h +15 -24
- data/src/core/lib/load_balancing/lb_policy_factory.h +49 -0
- data/src/core/{ext/filters/client_channel → lib/load_balancing}/lb_policy_registry.cc +49 -72
- data/src/core/{ext/filters/client_channel → lib/load_balancing}/lb_policy_registry.h +27 -27
- data/src/core/{ext/filters/client_channel → lib/load_balancing}/subchannel_interface.h +6 -6
- data/src/core/lib/promise/activity.h +56 -8
- data/src/core/lib/promise/arena_promise.h +84 -81
- data/src/core/lib/promise/context.h +0 -1
- data/src/core/lib/promise/detail/basic_seq.h +43 -23
- data/src/core/lib/promise/detail/promise_factory.h +0 -1
- data/src/core/lib/promise/map.h +0 -1
- data/src/core/lib/promise/seq.h +25 -4
- data/src/core/lib/promise/sleep.cc +38 -42
- data/src/core/lib/promise/sleep.h +27 -24
- data/src/core/lib/promise/try_seq.h +26 -6
- data/src/core/lib/resolver/resolver.cc +0 -47
- data/src/core/lib/resolver/resolver.h +2 -12
- data/src/core/lib/resolver/resolver_factory.h +2 -3
- data/src/core/lib/resolver/resolver_registry.cc +1 -1
- data/src/core/lib/resolver/resolver_registry.h +2 -3
- data/src/core/lib/resolver/server_address.cc +11 -15
- data/src/core/lib/resolver/server_address.h +4 -8
- data/src/core/lib/resource_quota/api.cc +1 -1
- data/src/core/lib/resource_quota/arena.cc +21 -1
- data/src/core/lib/resource_quota/arena.h +24 -2
- data/src/core/lib/resource_quota/memory_quota.cc +157 -17
- data/src/core/lib/resource_quota/memory_quota.h +98 -17
- data/src/core/lib/resource_quota/periodic_update.cc +79 -0
- data/src/core/lib/resource_quota/periodic_update.h +71 -0
- data/src/core/lib/security/authorization/evaluate_args.cc +10 -7
- data/src/core/lib/security/authorization/grpc_server_authz_filter.cc +1 -2
- data/src/core/lib/security/authorization/grpc_server_authz_filter.h +1 -1
- data/src/core/lib/security/authorization/matchers.cc +13 -10
- data/src/core/lib/security/authorization/rbac_policy.cc +0 -1
- data/src/core/lib/security/credentials/alts/alts_credentials.cc +2 -3
- data/src/core/lib/security/credentials/alts/alts_credentials.h +3 -4
- data/src/core/lib/security/credentials/composite/composite_credentials.cc +3 -7
- data/src/core/lib/security/credentials/composite/composite_credentials.h +2 -4
- data/src/core/lib/security/credentials/credentials.h +16 -12
- data/src/core/lib/security/credentials/external/aws_external_account_credentials.cc +18 -11
- data/src/core/lib/security/credentials/external/external_account_credentials.cc +32 -23
- data/src/core/lib/security/credentials/external/file_external_account_credentials.cc +5 -6
- data/src/core/lib/security/credentials/external/url_external_account_credentials.cc +4 -6
- data/src/core/lib/security/credentials/fake/fake_credentials.cc +3 -12
- data/src/core/lib/security/credentials/fake/fake_credentials.h +0 -4
- data/src/core/lib/security/credentials/google_default/google_default_credentials.cc +29 -26
- data/src/core/lib/security/credentials/google_default/google_default_credentials.h +1 -3
- data/src/core/lib/security/credentials/iam/iam_credentials.cc +0 -1
- data/src/core/lib/security/credentials/insecure/insecure_credentials.cc +3 -3
- data/src/core/lib/security/credentials/insecure/insecure_credentials.h +3 -4
- data/src/core/lib/security/credentials/jwt/json_token.cc +12 -3
- data/src/core/lib/security/credentials/jwt/jwt_credentials.cc +4 -8
- data/src/core/lib/security/credentials/jwt/jwt_verifier.cc +11 -13
- data/src/core/lib/security/credentials/local/local_credentials.cc +3 -4
- data/src/core/lib/security/credentials/local/local_credentials.h +3 -4
- data/src/core/lib/security/credentials/oauth2/oauth2_credentials.cc +17 -18
- data/src/core/lib/security/credentials/plugin/plugin_credentials.cc +0 -1
- data/src/core/lib/security/credentials/ssl/ssl_credentials.cc +13 -21
- data/src/core/lib/security/credentials/ssl/ssl_credentials.h +3 -4
- data/src/core/lib/security/credentials/tls/grpc_tls_certificate_provider.h +6 -0
- data/src/core/lib/security/credentials/tls/tls_credentials.cc +13 -25
- data/src/core/lib/security/credentials/tls/tls_credentials.h +3 -4
- data/src/core/lib/security/credentials/xds/xds_credentials.cc +13 -30
- data/src/core/lib/security/credentials/xds/xds_credentials.h +3 -3
- data/src/core/lib/security/security_connector/alts/alts_security_connector.cc +10 -18
- data/src/core/lib/security/security_connector/fake/fake_security_connector.cc +26 -38
- data/src/core/lib/security/security_connector/fake/fake_security_connector.h +2 -2
- data/src/core/lib/security/security_connector/insecure/insecure_security_connector.cc +5 -5
- data/src/core/lib/security/security_connector/insecure/insecure_security_connector.h +6 -5
- data/src/core/lib/security/security_connector/local/local_security_connector.cc +13 -11
- data/src/core/lib/security/security_connector/local/local_security_connector.h +2 -2
- data/src/core/lib/security/security_connector/security_connector.h +5 -3
- data/src/core/lib/security/security_connector/ssl/ssl_security_connector.cc +5 -4
- data/src/core/lib/security/security_connector/tls/tls_security_connector.cc +5 -5
- data/src/core/lib/security/security_connector/tls/tls_security_connector.h +5 -5
- data/src/core/lib/security/transport/auth_filters.h +1 -1
- data/src/core/lib/security/transport/client_auth_filter.cc +3 -4
- data/src/core/lib/security/transport/security_handshaker.cc +32 -44
- data/src/core/lib/security/transport/security_handshaker.h +2 -1
- data/src/core/lib/service_config/service_config.h +11 -0
- data/src/core/lib/service_config/service_config_impl.cc +98 -97
- data/src/core/lib/service_config/service_config_impl.h +11 -13
- data/src/core/lib/service_config/service_config_parser.cc +26 -27
- data/src/core/lib/service_config/service_config_parser.h +10 -22
- data/src/core/lib/slice/percent_encoding.cc +4 -13
- data/src/core/lib/slice/slice.cc +10 -4
- data/src/core/lib/surface/call.cc +8 -2
- data/src/core/lib/surface/channel.cc +6 -6
- data/src/core/lib/surface/channel.h +1 -1
- data/src/core/lib/surface/completion_queue.cc +0 -2
- data/src/core/lib/surface/completion_queue.h +0 -3
- data/src/core/lib/surface/init.cc +2 -6
- data/src/core/lib/surface/lame_client.cc +2 -3
- data/src/core/lib/surface/lame_client.h +1 -1
- data/src/core/lib/surface/server.cc +7 -12
- data/src/core/lib/surface/server.h +7 -7
- data/src/core/lib/surface/validate_metadata.cc +4 -14
- data/src/core/lib/surface/version.cc +2 -2
- data/src/core/lib/transport/connectivity_state.cc +0 -1
- data/src/core/lib/transport/connectivity_state.h +1 -1
- data/src/core/lib/transport/error_utils.cc +0 -36
- data/src/core/lib/transport/handshaker.cc +7 -9
- data/src/core/lib/transport/handshaker.h +4 -5
- data/src/core/lib/transport/handshaker_factory.h +2 -3
- data/src/core/lib/transport/handshaker_registry.cc +2 -1
- data/src/core/lib/transport/handshaker_registry.h +2 -4
- data/src/core/lib/transport/http_connect_handshaker.cc +16 -16
- data/src/core/lib/transport/metadata_batch.cc +5 -0
- data/src/core/lib/transport/metadata_batch.h +52 -7
- data/src/core/lib/transport/parsed_metadata.h +0 -1
- data/src/core/lib/transport/tcp_connect_handshaker.cc +12 -18
- data/src/core/lib/transport/transport.h +0 -7
- data/src/core/tsi/alts/handshaker/alts_handshaker_client.cc +40 -21
- data/src/core/tsi/alts/handshaker/alts_handshaker_client.h +1 -1
- data/src/core/tsi/alts/handshaker/alts_tsi_handshaker.cc +14 -7
- data/src/core/tsi/alts/handshaker/alts_tsi_handshaker_private.h +1 -1
- data/src/core/tsi/fake_transport_security.cc +53 -30
- data/src/core/tsi/local_transport_security.cc +9 -5
- data/src/core/tsi/ssl/session_cache/ssl_session_cache.h +10 -1
- data/src/core/tsi/ssl_transport_security.cc +47 -23
- data/src/core/tsi/transport_security.cc +18 -6
- data/src/core/tsi/transport_security.h +2 -1
- data/src/core/tsi/transport_security_interface.h +17 -5
- data/src/ruby/ext/grpc/extconf.rb +2 -0
- data/src/ruby/ext/grpc/rb_loader.c +6 -2
- data/src/ruby/lib/grpc/version.rb +1 -1
- data/src/ruby/pb/src/proto/grpc/testing/messages_pb.rb +4 -0
- data/third_party/abseil-cpp/absl/functional/any_invocable.h +313 -0
- data/third_party/abseil-cpp/absl/functional/internal/any_invocable.h +857 -0
- data/third_party/upb/third_party/utf8_range/utf8_range.h +1 -1
- data/third_party/upb/upb/arena.c +277 -0
- data/third_party/upb/upb/arena.h +225 -0
- data/third_party/upb/upb/array.c +114 -0
- data/third_party/upb/upb/array.h +83 -0
- data/third_party/upb/upb/collections.h +36 -0
- data/third_party/upb/upb/decode.c +161 -65
- data/third_party/upb/upb/decode.h +1 -0
- data/third_party/upb/upb/decode_fast.c +1 -1
- data/third_party/upb/upb/def.c +10 -2
- data/third_party/upb/upb/def.h +8 -1
- data/third_party/upb/upb/def.hpp +7 -4
- data/third_party/upb/upb/encode.c +29 -20
- data/third_party/upb/upb/encode.h +16 -6
- data/third_party/upb/upb/extension_registry.c +93 -0
- data/third_party/upb/upb/extension_registry.h +84 -0
- data/third_party/upb/upb/{decode_internal.h → internal/decode.h} +5 -5
- data/third_party/upb/upb/internal/table.h +385 -0
- data/third_party/upb/upb/{upb_internal.h → internal/upb.h} +3 -3
- data/third_party/upb/upb/internal/vsnprintf_compat.h +52 -0
- data/third_party/upb/upb/json_decode.c +1512 -0
- data/third_party/upb/upb/json_decode.h +47 -0
- data/third_party/upb/upb/json_encode.c +7 -3
- data/third_party/upb/upb/json_encode.h +6 -3
- data/third_party/upb/upb/map.c +108 -0
- data/third_party/upb/upb/map.h +117 -0
- data/third_party/upb/upb/message_value.h +66 -0
- data/third_party/upb/upb/mini_table.c +1147 -0
- data/third_party/upb/upb/mini_table.h +189 -0
- data/third_party/upb/upb/mini_table.hpp +112 -0
- data/third_party/upb/upb/msg.c +2 -62
- data/third_party/upb/upb/msg.h +2 -45
- data/third_party/upb/upb/msg_internal.h +28 -22
- data/third_party/upb/upb/port_def.inc +2 -1
- data/third_party/upb/upb/port_undef.inc +1 -0
- data/third_party/upb/upb/reflection.c +2 -159
- data/third_party/upb/upb/reflection.h +2 -112
- data/third_party/upb/upb/status.c +86 -0
- data/third_party/upb/upb/status.h +66 -0
- data/third_party/upb/upb/table.c +2 -2
- data/third_party/upb/upb/table_internal.h +3 -352
- data/third_party/upb/upb/text_encode.c +3 -2
- data/third_party/upb/upb/upb.c +4 -290
- data/third_party/upb/upb/upb.h +7 -196
- metadata +88 -36
- data/src/core/ext/filters/client_channel/lb_policy_factory.h +0 -50
- data/src/core/lib/iomgr/error_internal.h +0 -66
- data/src/core/lib/iomgr/executor/mpmcqueue.cc +0 -182
- data/src/core/lib/iomgr/executor/mpmcqueue.h +0 -171
- data/src/core/lib/iomgr/executor/threadpool.cc +0 -136
- data/src/core/lib/iomgr/executor/threadpool.h +0 -150
- data/src/core/lib/iomgr/time_averaged_stats.cc +0 -64
- data/src/core/lib/iomgr/time_averaged_stats.h +0 -72
- data/src/core/lib/promise/detail/switch.h +0 -1455
@@ -26,12 +26,10 @@
|
|
26
26
|
#include <utility>
|
27
27
|
#include <vector>
|
28
28
|
|
29
|
+
#include "absl/status/statusor.h"
|
29
30
|
#include "absl/strings/string_view.h"
|
30
31
|
|
31
|
-
#include
|
32
|
-
#include <grpc/support/log.h>
|
33
|
-
|
34
|
-
#include "src/core/lib/iomgr/error.h"
|
32
|
+
#include "src/core/lib/channel/channel_args.h"
|
35
33
|
#include "src/core/lib/json/json.h"
|
36
34
|
|
37
35
|
namespace grpc_core {
|
@@ -54,21 +52,13 @@ class ServiceConfigParser {
|
|
54
52
|
|
55
53
|
virtual absl::string_view name() const = 0;
|
56
54
|
|
57
|
-
virtual std::unique_ptr<ParsedConfig
|
58
|
-
const
|
59
|
-
grpc_error_handle* error) {
|
60
|
-
// Avoid unused parameter warning on debug-only parameter
|
61
|
-
(void)error;
|
62
|
-
GPR_DEBUG_ASSERT(error != nullptr);
|
55
|
+
virtual absl::StatusOr<std::unique_ptr<ParsedConfig>> ParseGlobalParams(
|
56
|
+
const ChannelArgs& /*args*/, const Json& /*json*/) {
|
63
57
|
return nullptr;
|
64
58
|
}
|
65
59
|
|
66
|
-
virtual std::unique_ptr<ParsedConfig
|
67
|
-
const
|
68
|
-
grpc_error_handle* error) {
|
69
|
-
// Avoid unused parameter warning on debug-only parameter
|
70
|
-
(void)error;
|
71
|
-
GPR_DEBUG_ASSERT(error != nullptr);
|
60
|
+
virtual absl::StatusOr<std::unique_ptr<ParsedConfig>> ParsePerMethodParams(
|
61
|
+
const ChannelArgs& /*args*/, const Json& /*json*/) {
|
72
62
|
return nullptr;
|
73
63
|
}
|
74
64
|
};
|
@@ -90,13 +80,11 @@ class ServiceConfigParser {
|
|
90
80
|
ServiceConfigParserList registered_parsers_;
|
91
81
|
};
|
92
82
|
|
93
|
-
ParsedConfigVector ParseGlobalParameters(
|
94
|
-
|
95
|
-
grpc_error_handle* error) const;
|
83
|
+
absl::StatusOr<ParsedConfigVector> ParseGlobalParameters(
|
84
|
+
const ChannelArgs& args, const Json& json) const;
|
96
85
|
|
97
|
-
ParsedConfigVector ParsePerMethodParameters(
|
98
|
-
|
99
|
-
grpc_error_handle* error) const;
|
86
|
+
absl::StatusOr<ParsedConfigVector> ParsePerMethodParameters(
|
87
|
+
const ChannelArgs& args, const Json& json) const;
|
100
88
|
|
101
89
|
// Return the index for a given registered parser.
|
102
90
|
// If there is an error, return -1.
|
@@ -23,27 +23,18 @@
|
|
23
23
|
#include <stdlib.h>
|
24
24
|
|
25
25
|
#include <cstdint>
|
26
|
-
#include <type_traits>
|
27
26
|
#include <utility>
|
28
27
|
|
29
28
|
#include <grpc/support/log.h>
|
30
29
|
|
31
30
|
#include "src/core/lib/gprpp/bitset.h"
|
32
31
|
|
33
|
-
#if __cplusplus > 201103l
|
34
|
-
#define GRPC_PCTENCODE_CONSTEXPR_FN constexpr
|
35
|
-
#define GRPC_PCTENCODE_CONSTEXPR_VALUE constexpr
|
36
|
-
#else
|
37
|
-
#define GRPC_PCTENCODE_CONSTEXPR_FN
|
38
|
-
#define GRPC_PCTENCODE_CONSTEXPR_VALUE const
|
39
|
-
#endif
|
40
|
-
|
41
32
|
namespace grpc_core {
|
42
33
|
|
43
34
|
namespace {
|
44
35
|
class UrlTable : public BitSet<256> {
|
45
36
|
public:
|
46
|
-
|
37
|
+
constexpr UrlTable() {
|
47
38
|
for (int i = 'a'; i <= 'z'; i++) set(i);
|
48
39
|
for (int i = 'A'; i <= 'Z'; i++) set(i);
|
49
40
|
for (int i = '0'; i <= '9'; i++) set(i);
|
@@ -54,11 +45,11 @@ class UrlTable : public BitSet<256> {
|
|
54
45
|
}
|
55
46
|
};
|
56
47
|
|
57
|
-
|
48
|
+
constexpr UrlTable g_url_table;
|
58
49
|
|
59
50
|
class CompatibleTable : public BitSet<256> {
|
60
51
|
public:
|
61
|
-
|
52
|
+
constexpr CompatibleTable() {
|
62
53
|
for (int i = 32; i <= 126; i++) {
|
63
54
|
if (i == '%') continue;
|
64
55
|
set(i);
|
@@ -66,7 +57,7 @@ class CompatibleTable : public BitSet<256> {
|
|
66
57
|
}
|
67
58
|
};
|
68
59
|
|
69
|
-
|
60
|
+
constexpr CompatibleTable g_compatible_table;
|
70
61
|
|
71
62
|
// Map PercentEncodingType to a lookup table of legal symbols for that encoding.
|
72
63
|
const BitSet<256>& LookupTableForPercentEncodingType(PercentEncodingType type) {
|
data/src/core/lib/slice/slice.cc
CHANGED
@@ -148,6 +148,12 @@ class MovedCppStringSliceRefCount : public grpc_slice_refcount {
|
|
148
148
|
explicit MovedCppStringSliceRefCount(std::string&& str)
|
149
149
|
: grpc_slice_refcount(Destroy), str_(std::move(str)) {}
|
150
150
|
|
151
|
+
uint8_t* data() {
|
152
|
+
return reinterpret_cast<uint8_t*>(const_cast<char*>(str_.data()));
|
153
|
+
}
|
154
|
+
|
155
|
+
size_t size() const { return str_.size(); }
|
156
|
+
|
151
157
|
private:
|
152
158
|
static void Destroy(grpc_slice_refcount* arg) {
|
153
159
|
delete static_cast<MovedCppStringSliceRefCount*>(arg);
|
@@ -206,10 +212,10 @@ grpc_slice grpc_slice_from_cpp_string(std::string str) {
|
|
206
212
|
slice.data.inlined.length = str.size();
|
207
213
|
memcpy(GRPC_SLICE_START_PTR(slice), str.data(), str.size());
|
208
214
|
} else {
|
209
|
-
|
210
|
-
|
211
|
-
slice.data.refcounted.length =
|
212
|
-
slice.refcount =
|
215
|
+
auto* refcount = new grpc_core::MovedCppStringSliceRefCount(std::move(str));
|
216
|
+
slice.data.refcounted.bytes = refcount->data();
|
217
|
+
slice.data.refcounted.length = refcount->size();
|
218
|
+
slice.refcount = refcount;
|
213
219
|
}
|
214
220
|
return slice;
|
215
221
|
}
|
@@ -1415,10 +1415,16 @@ grpc_call_error FilterStackCall::StartBatch(const grpc_op* ops, size_t nops,
|
|
1415
1415
|
if (is_client() && send_deadline() != Timestamp::InfFuture()) {
|
1416
1416
|
send_initial_metadata_.Set(GrpcTimeoutMetadata(), send_deadline());
|
1417
1417
|
}
|
1418
|
+
if (is_client()) {
|
1419
|
+
send_initial_metadata_.Set(
|
1420
|
+
WaitForReady(),
|
1421
|
+
WaitForReady::ValueType{
|
1422
|
+
(op->flags & GRPC_INITIAL_METADATA_WAIT_FOR_READY) != 0,
|
1423
|
+
(op->flags &
|
1424
|
+
GRPC_INITIAL_METADATA_WAIT_FOR_READY_EXPLICITLY_SET) != 0});
|
1425
|
+
}
|
1418
1426
|
stream_op_payload->send_initial_metadata.send_initial_metadata =
|
1419
1427
|
&send_initial_metadata_;
|
1420
|
-
stream_op_payload->send_initial_metadata.send_initial_metadata_flags =
|
1421
|
-
op->flags;
|
1422
1428
|
if (is_client()) {
|
1423
1429
|
stream_op_payload->send_initial_metadata.peer_string = &peer_string_;
|
1424
1430
|
}
|
@@ -62,7 +62,8 @@
|
|
62
62
|
|
63
63
|
namespace grpc_core {
|
64
64
|
|
65
|
-
Channel::Channel(bool is_client, std::string target,
|
65
|
+
Channel::Channel(bool is_client, std::string target,
|
66
|
+
const ChannelArgs& channel_args,
|
66
67
|
grpc_compression_options compression_options,
|
67
68
|
RefCountedPtr<grpc_channel_stack> channel_stack)
|
68
69
|
: is_client_(is_client),
|
@@ -149,8 +150,8 @@ absl::StatusOr<RefCountedPtr<Channel>> Channel::CreateWithBuilder(
|
|
149
150
|
|
150
151
|
return RefCountedPtr<Channel>(new Channel(
|
151
152
|
grpc_channel_stack_type_is_client(builder->channel_stack_type()),
|
152
|
-
std::string(builder->target()),
|
153
|
-
|
153
|
+
std::string(builder->target()), channel_args, compression_options,
|
154
|
+
std::move(*r)));
|
154
155
|
}
|
155
156
|
|
156
157
|
namespace {
|
@@ -219,9 +220,8 @@ absl::StatusOr<RefCountedPtr<Channel>> Channel::Create(
|
|
219
220
|
args = channel_args_mutator(target, args, channel_stack_type);
|
220
221
|
}
|
221
222
|
}
|
222
|
-
builder.SetChannelArgs(
|
223
|
-
|
224
|
-
.SetTransport(optional_transport);
|
223
|
+
builder.SetChannelArgs(args).SetTarget(target).SetTransport(
|
224
|
+
optional_transport);
|
225
225
|
if (!CoreConfiguration::Get().channel_init().CreateStack(&builder)) {
|
226
226
|
return nullptr;
|
227
227
|
}
|
@@ -154,7 +154,7 @@ class Channel : public RefCounted<Channel>,
|
|
154
154
|
}
|
155
155
|
|
156
156
|
private:
|
157
|
-
Channel(bool is_client, std::string target, ChannelArgs channel_args,
|
157
|
+
Channel(bool is_client, std::string target, const ChannelArgs& channel_args,
|
158
158
|
grpc_compression_options compression_options,
|
159
159
|
RefCountedPtr<grpc_channel_stack> channel_stack);
|
160
160
|
|
@@ -447,8 +447,6 @@ grpc_core::TraceFlag grpc_cq_pluck_trace(false, "queue_pluck");
|
|
447
447
|
|
448
448
|
static void on_pollset_shutdown_done(void* arg, grpc_error_handle error);
|
449
449
|
|
450
|
-
void grpc_cq_global_init() {}
|
451
|
-
|
452
450
|
void grpc_completion_queue_thread_local_cache_init(grpc_completion_queue* cq) {
|
453
451
|
if (g_cached_cq == nullptr) {
|
454
452
|
g_cached_event = nullptr;
|
@@ -71,9 +71,6 @@ void grpc_cq_internal_unref(grpc_completion_queue* cq);
|
|
71
71
|
#define GRPC_CQ_INTERNAL_UNREF(cq, reason) grpc_cq_internal_unref(cq)
|
72
72
|
#endif
|
73
73
|
|
74
|
-
/* Initializes global variables used by completion queues */
|
75
|
-
void grpc_cq_global_init();
|
76
|
-
|
77
74
|
/* Flag that an operation is beginning: the completion channel will not finish
|
78
75
|
shutdown until a corrensponding grpc_cq_end_* call is made.
|
79
76
|
\a tag is currently used only in debug builds. Return true on success, and
|
@@ -36,13 +36,12 @@
|
|
36
36
|
#include "src/core/lib/channel/channel_args.h"
|
37
37
|
#include "src/core/lib/channel/channel_stack_builder.h"
|
38
38
|
#include "src/core/lib/config/core_configuration.h"
|
39
|
-
#include "src/core/lib/debug/stats.h"
|
40
39
|
#include "src/core/lib/debug/trace.h"
|
40
|
+
#include "src/core/lib/event_engine/forkable.h"
|
41
41
|
#include "src/core/lib/gprpp/fork.h"
|
42
42
|
#include "src/core/lib/gprpp/sync.h"
|
43
43
|
#include "src/core/lib/gprpp/thd.h"
|
44
44
|
#include "src/core/lib/iomgr/exec_ctx.h"
|
45
|
-
#include "src/core/lib/iomgr/executor.h"
|
46
45
|
#include "src/core/lib/iomgr/iomgr.h"
|
47
46
|
#include "src/core/lib/iomgr/timer_manager.h"
|
48
47
|
#include "src/core/lib/profiling/timers.h"
|
@@ -53,7 +52,6 @@
|
|
53
52
|
#include "src/core/lib/surface/api_trace.h"
|
54
53
|
#include "src/core/lib/surface/channel_init.h"
|
55
54
|
#include "src/core/lib/surface/channel_stack_type.h"
|
56
|
-
#include "src/core/lib/surface/completion_queue.h"
|
57
55
|
|
58
56
|
/* (generated) built in registry of plugins */
|
59
57
|
extern void grpc_register_built_in_plugins(void);
|
@@ -120,8 +118,6 @@ static void do_basic_init(void) {
|
|
120
118
|
g_init_mu = new grpc_core::Mutex();
|
121
119
|
g_shutting_down_cv = new grpc_core::CondVar();
|
122
120
|
grpc_register_built_in_plugins();
|
123
|
-
grpc_cq_global_init();
|
124
|
-
grpc_core::grpc_executor_global_init();
|
125
121
|
gpr_time_init();
|
126
122
|
}
|
127
123
|
|
@@ -152,8 +148,8 @@ void grpc_init(void) {
|
|
152
148
|
g_shutting_down_cv->SignalAll();
|
153
149
|
}
|
154
150
|
grpc_core::Fork::GlobalInit();
|
151
|
+
grpc_event_engine::experimental::RegisterForkHandlers();
|
155
152
|
grpc_fork_handlers_auto_register();
|
156
|
-
grpc_stats_init();
|
157
153
|
grpc_core::ApplicationCallbackExecCtx::GlobalInit();
|
158
154
|
grpc_iomgr_init();
|
159
155
|
gpr_timers_global_init();
|
@@ -42,7 +42,6 @@
|
|
42
42
|
#include "src/core/lib/gprpp/ref_counted_ptr.h"
|
43
43
|
#include "src/core/lib/gprpp/sync.h"
|
44
44
|
#include "src/core/lib/iomgr/exec_ctx.h"
|
45
|
-
#include "src/core/lib/promise/poll.h"
|
46
45
|
#include "src/core/lib/promise/promise.h"
|
47
46
|
#include "src/core/lib/surface/api_trace.h"
|
48
47
|
#include "src/core/lib/surface/channel.h"
|
@@ -61,8 +60,8 @@ const grpc_channel_filter LameClientFilter::kFilter =
|
|
61
60
|
MakePromiseBasedFilter<LameClientFilter, FilterEndpoint::kClient,
|
62
61
|
kFilterIsLast>("lame-client");
|
63
62
|
|
64
|
-
absl::StatusOr<LameClientFilter> LameClientFilter::Create(
|
65
|
-
|
63
|
+
absl::StatusOr<LameClientFilter> LameClientFilter::Create(
|
64
|
+
const ChannelArgs& args, ChannelFilter::Args) {
|
66
65
|
return LameClientFilter(
|
67
66
|
*args.GetPointer<absl::Status>(GRPC_ARG_LAME_FILTER_ERROR));
|
68
67
|
}
|
@@ -49,7 +49,7 @@ class LameClientFilter : public ChannelFilter {
|
|
49
49
|
static const grpc_channel_filter kFilter;
|
50
50
|
|
51
51
|
static absl::StatusOr<LameClientFilter> Create(
|
52
|
-
ChannelArgs args, ChannelFilter::Args filter_args);
|
52
|
+
const ChannelArgs& args, ChannelFilter::Args filter_args);
|
53
53
|
ArenaPromise<ServerMetadataHandle> MakeCallPromise(
|
54
54
|
CallArgs call_args, NextPromiseFactory next_promise_factory) override;
|
55
55
|
bool StartTransportOp(grpc_transport_op*) override;
|
@@ -80,7 +80,6 @@ struct Server::RequestedCall {
|
|
80
80
|
cq_bound_to_call(call_cq),
|
81
81
|
call(call_arg),
|
82
82
|
initial_metadata(initial_md) {
|
83
|
-
details->reserved = nullptr;
|
84
83
|
data.batch.details = details;
|
85
84
|
}
|
86
85
|
|
@@ -520,7 +519,8 @@ const grpc_channel_filter Server::kServerTopFilter = {
|
|
520
519
|
|
521
520
|
namespace {
|
522
521
|
|
523
|
-
RefCountedPtr<channelz::ServerNode> CreateChannelzNode(
|
522
|
+
RefCountedPtr<channelz::ServerNode> CreateChannelzNode(
|
523
|
+
const ChannelArgs& args) {
|
524
524
|
RefCountedPtr<channelz::ServerNode> channelz_node;
|
525
525
|
if (args.GetBool(GRPC_ARG_ENABLE_CHANNELZ)
|
526
526
|
.value_or(GRPC_ENABLE_CHANNELZ_DEFAULT)) {
|
@@ -538,11 +538,10 @@ RefCountedPtr<channelz::ServerNode> CreateChannelzNode(ChannelArgs args) {
|
|
538
538
|
|
539
539
|
} // namespace
|
540
540
|
|
541
|
-
Server::Server(ChannelArgs args)
|
542
|
-
: channel_args_(args
|
541
|
+
Server::Server(const ChannelArgs& args)
|
542
|
+
: channel_args_(args), channelz_node_(CreateChannelzNode(args)) {}
|
543
543
|
|
544
544
|
Server::~Server() {
|
545
|
-
grpc_channel_args_destroy(channel_args_);
|
546
545
|
// Remove the cq pollsets from the config_fetcher.
|
547
546
|
if (started_ && config_fetcher_ != nullptr &&
|
548
547
|
config_fetcher_->interested_parties() != nullptr) {
|
@@ -604,11 +603,11 @@ void Server::Start() {
|
|
604
603
|
|
605
604
|
grpc_error_handle Server::SetupTransport(
|
606
605
|
grpc_transport* transport, grpc_pollset* accepting_pollset,
|
607
|
-
const
|
606
|
+
const ChannelArgs& args,
|
608
607
|
const RefCountedPtr<channelz::SocketNode>& socket_node) {
|
609
608
|
// Create channel.
|
610
|
-
absl::StatusOr<RefCountedPtr<Channel>> channel =
|
611
|
-
nullptr,
|
609
|
+
absl::StatusOr<RefCountedPtr<Channel>> channel =
|
610
|
+
Channel::Create(nullptr, args, GRPC_SERVER_CHANNEL, transport);
|
612
611
|
if (!channel.ok()) {
|
613
612
|
return absl_status_to_grpc_error(channel.status());
|
614
613
|
}
|
@@ -1250,7 +1249,6 @@ void Server::CallData::Publish(size_t cq_idx, RequestedCall* rc) {
|
|
1250
1249
|
grpc_slice_ref_internal(path_->c_slice());
|
1251
1250
|
rc->data.batch.details->deadline =
|
1252
1251
|
deadline_.as_timespec(GPR_CLOCK_MONOTONIC);
|
1253
|
-
rc->data.batch.details->flags = recv_initial_metadata_flags_;
|
1254
1252
|
break;
|
1255
1253
|
case RequestedCall::Type::REGISTERED_CALL:
|
1256
1254
|
*rc->data.registered.deadline =
|
@@ -1349,15 +1347,12 @@ void Server::CallData::RecvInitialMetadataBatchComplete(
|
|
1349
1347
|
void Server::CallData::StartTransportStreamOpBatchImpl(
|
1350
1348
|
grpc_call_element* elem, grpc_transport_stream_op_batch* batch) {
|
1351
1349
|
if (batch->recv_initial_metadata) {
|
1352
|
-
GPR_ASSERT(batch->payload->recv_initial_metadata.recv_flags == nullptr);
|
1353
1350
|
recv_initial_metadata_ =
|
1354
1351
|
batch->payload->recv_initial_metadata.recv_initial_metadata;
|
1355
1352
|
original_recv_initial_metadata_ready_ =
|
1356
1353
|
batch->payload->recv_initial_metadata.recv_initial_metadata_ready;
|
1357
1354
|
batch->payload->recv_initial_metadata.recv_initial_metadata_ready =
|
1358
1355
|
&recv_initial_metadata_ready_;
|
1359
|
-
batch->payload->recv_initial_metadata.recv_flags =
|
1360
|
-
&recv_initial_metadata_flags_;
|
1361
1356
|
}
|
1362
1357
|
if (batch->recv_trailing_metadata) {
|
1363
1358
|
original_recv_trailing_metadata_ready_ =
|
@@ -124,12 +124,12 @@ class Server : public InternallyRefCounted<Server>,
|
|
124
124
|
virtual void SetOnDestroyDone(grpc_closure* on_destroy_done) = 0;
|
125
125
|
};
|
126
126
|
|
127
|
-
explicit Server(ChannelArgs args);
|
127
|
+
explicit Server(const ChannelArgs& args);
|
128
128
|
~Server() override;
|
129
129
|
|
130
130
|
void Orphan() ABSL_LOCKS_EXCLUDED(mu_global_) override;
|
131
131
|
|
132
|
-
const
|
132
|
+
const ChannelArgs& channel_args() const { return channel_args_; }
|
133
133
|
channelz::ServerNode* channelz_node() const { return channelz_node_.get(); }
|
134
134
|
|
135
135
|
// Do not call this before Start(). Returns the pollsets. The
|
@@ -161,7 +161,7 @@ class Server : public InternallyRefCounted<Server>,
|
|
161
161
|
// Takes ownership of a ref on resource_user from the caller.
|
162
162
|
grpc_error_handle SetupTransport(
|
163
163
|
grpc_transport* transport, grpc_pollset* accepting_pollset,
|
164
|
-
const
|
164
|
+
const ChannelArgs& args,
|
165
165
|
const RefCountedPtr<channelz::SocketNode>& socket_node);
|
166
166
|
|
167
167
|
void RegisterCompletionQueue(grpc_completion_queue* cq);
|
@@ -341,7 +341,6 @@ class Server : public InternallyRefCounted<Server>,
|
|
341
341
|
grpc_closure recv_initial_metadata_batch_complete_;
|
342
342
|
|
343
343
|
grpc_metadata_batch* recv_initial_metadata_ = nullptr;
|
344
|
-
uint32_t recv_initial_metadata_flags_ = 0;
|
345
344
|
grpc_closure recv_initial_metadata_ready_;
|
346
345
|
grpc_closure* original_recv_initial_metadata_ready_;
|
347
346
|
grpc_error_handle recv_initial_metadata_error_ = GRPC_ERROR_NONE;
|
@@ -443,7 +442,7 @@ class Server : public InternallyRefCounted<Server>,
|
|
443
442
|
return shutdown_refs_.load(std::memory_order_acquire) == 0;
|
444
443
|
}
|
445
444
|
|
446
|
-
|
445
|
+
ChannelArgs const channel_args_;
|
447
446
|
RefCountedPtr<channelz::ServerNode> channelz_node_;
|
448
447
|
std::unique_ptr<grpc_server_config_fetcher> config_fetcher_;
|
449
448
|
|
@@ -500,8 +499,9 @@ struct grpc_server_config_fetcher {
|
|
500
499
|
: public grpc_core::DualRefCounted<ConnectionManager> {
|
501
500
|
public:
|
502
501
|
// Ownership of \a args is transfered.
|
503
|
-
virtual absl::StatusOr<
|
504
|
-
|
502
|
+
virtual absl::StatusOr<grpc_core::ChannelArgs>
|
503
|
+
UpdateChannelArgsForConnection(const grpc_core::ChannelArgs& args,
|
504
|
+
grpc_endpoint* tcp) = 0;
|
505
505
|
};
|
506
506
|
|
507
507
|
class WatcherInterface {
|
@@ -29,14 +29,6 @@
|
|
29
29
|
#include "src/core/lib/gprpp/memory.h"
|
30
30
|
#include "src/core/lib/iomgr/error.h"
|
31
31
|
|
32
|
-
#if __cplusplus > 201103l
|
33
|
-
#define GRPC_VALIDATE_METADATA_CONSTEXPR_FN constexpr
|
34
|
-
#define GRPC_VALIDATE_METADATA_CONSTEXPR_VALUE constexpr
|
35
|
-
#else
|
36
|
-
#define GRPC_VALIDATE_METADATA_CONSTEXPR_FN
|
37
|
-
#define GRPC_VALIDATE_METADATA_CONSTEXPR_VALUE const
|
38
|
-
#endif
|
39
|
-
|
40
32
|
static grpc_error_handle conforms_to(const grpc_slice& slice,
|
41
33
|
const grpc_core::BitSet<256>& legal_bits,
|
42
34
|
const char* err_desc) {
|
@@ -68,7 +60,7 @@ static int error2int(grpc_error_handle error) {
|
|
68
60
|
namespace {
|
69
61
|
class LegalHeaderKeyBits : public grpc_core::BitSet<256> {
|
70
62
|
public:
|
71
|
-
|
63
|
+
constexpr LegalHeaderKeyBits() {
|
72
64
|
for (int i = 'a'; i <= 'z'; i++) set(i);
|
73
65
|
for (int i = '0'; i <= '9'; i++) set(i);
|
74
66
|
set('-');
|
@@ -76,8 +68,7 @@ class LegalHeaderKeyBits : public grpc_core::BitSet<256> {
|
|
76
68
|
set('.');
|
77
69
|
}
|
78
70
|
};
|
79
|
-
|
80
|
-
g_legal_header_key_bits;
|
71
|
+
constexpr LegalHeaderKeyBits g_legal_header_key_bits;
|
81
72
|
} // namespace
|
82
73
|
|
83
74
|
grpc_error_handle grpc_validate_header_key_is_legal(const grpc_slice& slice) {
|
@@ -103,14 +94,13 @@ int grpc_header_key_is_legal(grpc_slice slice) {
|
|
103
94
|
namespace {
|
104
95
|
class LegalHeaderNonBinValueBits : public grpc_core::BitSet<256> {
|
105
96
|
public:
|
106
|
-
|
97
|
+
constexpr LegalHeaderNonBinValueBits() {
|
107
98
|
for (int i = 32; i <= 126; i++) {
|
108
99
|
set(i);
|
109
100
|
}
|
110
101
|
}
|
111
102
|
};
|
112
|
-
|
113
|
-
g_legal_header_non_bin_value_bits;
|
103
|
+
constexpr LegalHeaderNonBinValueBits g_legal_header_non_bin_value_bits;
|
114
104
|
} // namespace
|
115
105
|
|
116
106
|
grpc_error_handle grpc_validate_header_nonbin_value_is_legal(
|
@@ -23,6 +23,6 @@
|
|
23
23
|
|
24
24
|
#include <grpc/grpc.h>
|
25
25
|
|
26
|
-
const char* grpc_version_string(void) { return "
|
26
|
+
const char* grpc_version_string(void) { return "27.0.0"; }
|
27
27
|
|
28
|
-
const char* grpc_g_stands_for(void) { return "
|
28
|
+
const char* grpc_g_stands_for(void) { return "gamma"; }
|
@@ -31,10 +31,6 @@
|
|
31
31
|
#include "src/core/lib/gprpp/status_helper.h"
|
32
32
|
#include "src/core/lib/transport/status_conversion.h"
|
33
33
|
|
34
|
-
#ifndef GRPC_ERROR_IS_ABSEIL_STATUS
|
35
|
-
#include "src/core/lib/iomgr/error_internal.h"
|
36
|
-
#endif
|
37
|
-
|
38
34
|
static grpc_error_handle recursively_find_error_with_field(
|
39
35
|
grpc_error_handle error, grpc_error_ints which) {
|
40
36
|
intptr_t unused;
|
@@ -42,25 +38,11 @@ static grpc_error_handle recursively_find_error_with_field(
|
|
42
38
|
if (grpc_error_get_int(error, which, &unused)) {
|
43
39
|
return error;
|
44
40
|
}
|
45
|
-
#ifdef GRPC_ERROR_IS_ABSEIL_STATUS
|
46
41
|
std::vector<absl::Status> children = grpc_core::StatusGetChildren(error);
|
47
42
|
for (const absl::Status& child : children) {
|
48
43
|
grpc_error_handle result = recursively_find_error_with_field(child, which);
|
49
44
|
if (!GRPC_ERROR_IS_NONE(result)) return result;
|
50
45
|
}
|
51
|
-
#else
|
52
|
-
if (grpc_error_is_special(error)) return GRPC_ERROR_NONE;
|
53
|
-
// Otherwise, search through its children.
|
54
|
-
uint8_t slot = error->first_err;
|
55
|
-
while (slot != UINT8_MAX) {
|
56
|
-
grpc_linked_error* lerr =
|
57
|
-
reinterpret_cast<grpc_linked_error*>(error->arena + slot);
|
58
|
-
grpc_error_handle result =
|
59
|
-
recursively_find_error_with_field(lerr->err, which);
|
60
|
-
if (result) return result;
|
61
|
-
slot = lerr->next;
|
62
|
-
}
|
63
|
-
#endif
|
64
46
|
return GRPC_ERROR_NONE;
|
65
47
|
}
|
66
48
|
|
@@ -113,9 +95,7 @@ void grpc_error_get_status(grpc_error_handle error,
|
|
113
95
|
status = grpc_http2_error_to_grpc_status(
|
114
96
|
static_cast<grpc_http2_error_code>(integer), deadline);
|
115
97
|
} else {
|
116
|
-
#ifdef GRPC_ERROR_IS_ABSEIL_STATUS
|
117
98
|
status = static_cast<grpc_status_code>(found_error.code());
|
118
|
-
#endif
|
119
99
|
}
|
120
100
|
if (code != nullptr) *code = status;
|
121
101
|
|
@@ -143,11 +123,7 @@ void grpc_error_get_status(grpc_error_handle error,
|
|
143
123
|
message)) {
|
144
124
|
if (!grpc_error_get_str(found_error, GRPC_ERROR_STR_DESCRIPTION,
|
145
125
|
message)) {
|
146
|
-
#ifdef GRPC_ERROR_IS_ABSEIL_STATUS
|
147
126
|
*message = grpc_error_std_string(error);
|
148
|
-
#else
|
149
|
-
*message = "unknown error";
|
150
|
-
#endif
|
151
127
|
}
|
152
128
|
}
|
153
129
|
}
|
@@ -179,23 +155,11 @@ bool grpc_error_has_clear_grpc_status(grpc_error_handle error) {
|
|
179
155
|
if (grpc_error_get_int(error, GRPC_ERROR_INT_GRPC_STATUS, &unused)) {
|
180
156
|
return true;
|
181
157
|
}
|
182
|
-
#ifdef GRPC_ERROR_IS_ABSEIL_STATUS
|
183
158
|
std::vector<absl::Status> children = grpc_core::StatusGetChildren(error);
|
184
159
|
for (const absl::Status& child : children) {
|
185
160
|
if (grpc_error_has_clear_grpc_status(child)) {
|
186
161
|
return true;
|
187
162
|
}
|
188
163
|
}
|
189
|
-
#else
|
190
|
-
uint8_t slot = error->first_err;
|
191
|
-
while (slot != UINT8_MAX) {
|
192
|
-
grpc_linked_error* lerr =
|
193
|
-
reinterpret_cast<grpc_linked_error*>(error->arena + slot);
|
194
|
-
if (grpc_error_has_clear_grpc_status(lerr->err)) {
|
195
|
-
return true;
|
196
|
-
}
|
197
|
-
slot = lerr->next;
|
198
|
-
}
|
199
|
-
#endif
|
200
164
|
return false;
|
201
165
|
}
|
@@ -27,6 +27,7 @@
|
|
27
27
|
|
28
28
|
#include "absl/strings/str_format.h"
|
29
29
|
|
30
|
+
#include <grpc/impl/codegen/grpc_types.h>
|
30
31
|
#include <grpc/slice_buffer.h>
|
31
32
|
#include <grpc/support/alloc.h>
|
32
33
|
#include <grpc/support/log.h>
|
@@ -45,14 +46,12 @@ TraceFlag grpc_handshaker_trace(false, "handshaker");
|
|
45
46
|
namespace {
|
46
47
|
|
47
48
|
std::string HandshakerArgsString(HandshakerArgs* args) {
|
48
|
-
size_t num_args = args->args != nullptr ? args->args->num_args : 0;
|
49
49
|
size_t read_buffer_length =
|
50
50
|
args->read_buffer != nullptr ? args->read_buffer->length : 0;
|
51
51
|
return absl::StrFormat(
|
52
|
-
"{endpoint=%p, args=%p
|
53
|
-
"
|
54
|
-
args->endpoint, args->args,
|
55
|
-
grpc_channel_args_string(args->args), args->read_buffer,
|
52
|
+
"{endpoint=%p, args=%s, read_buffer=%p (length=%" PRIuPTR
|
53
|
+
"), exit_early=%d}",
|
54
|
+
args->endpoint, args->args.ToString(), args->read_buffer,
|
56
55
|
read_buffer_length, args->exit_early);
|
57
56
|
}
|
58
57
|
|
@@ -115,8 +114,7 @@ bool HandshakeManager::CallNextHandshakerLocked(grpc_error_handle error) {
|
|
115
114
|
grpc_endpoint_shutdown(args_.endpoint, GRPC_ERROR_REF(error));
|
116
115
|
grpc_endpoint_destroy(args_.endpoint);
|
117
116
|
args_.endpoint = nullptr;
|
118
|
-
|
119
|
-
args_.args = nullptr;
|
117
|
+
args_.args = ChannelArgs();
|
120
118
|
grpc_slice_buffer_destroy_internal(args_.read_buffer);
|
121
119
|
gpr_free(args_.read_buffer);
|
122
120
|
args_.read_buffer = nullptr;
|
@@ -172,7 +170,7 @@ void HandshakeManager::OnTimeoutFn(void* arg, grpc_error_handle error) {
|
|
172
170
|
}
|
173
171
|
|
174
172
|
void HandshakeManager::DoHandshake(grpc_endpoint* endpoint,
|
175
|
-
const
|
173
|
+
const ChannelArgs& channel_args,
|
176
174
|
Timestamp deadline,
|
177
175
|
grpc_tcp_server_acceptor* acceptor,
|
178
176
|
grpc_iomgr_cb_func on_handshake_done,
|
@@ -185,7 +183,7 @@ void HandshakeManager::DoHandshake(grpc_endpoint* endpoint,
|
|
185
183
|
// handshakers and eventually be freed by the on_handshake_done callback.
|
186
184
|
args_.endpoint = endpoint;
|
187
185
|
args_.deadline = deadline;
|
188
|
-
args_.args =
|
186
|
+
args_.args = channel_args;
|
189
187
|
args_.user_data = user_data;
|
190
188
|
args_.read_buffer =
|
191
189
|
static_cast<grpc_slice_buffer*>(gpr_malloc(sizeof(*args_.read_buffer)));
|
@@ -25,9 +25,9 @@
|
|
25
25
|
|
26
26
|
#include "absl/container/inlined_vector.h"
|
27
27
|
|
28
|
-
#include <grpc/impl/codegen/grpc_types.h>
|
29
28
|
#include <grpc/slice.h>
|
30
29
|
|
30
|
+
#include "src/core/lib/channel/channel_args.h"
|
31
31
|
#include "src/core/lib/gprpp/ref_counted.h"
|
32
32
|
#include "src/core/lib/gprpp/ref_counted_ptr.h"
|
33
33
|
#include "src/core/lib/gprpp/sync.h"
|
@@ -63,7 +63,7 @@ namespace grpc_core {
|
|
63
63
|
/// which the callback takes ownership of.
|
64
64
|
struct HandshakerArgs {
|
65
65
|
grpc_endpoint* endpoint = nullptr;
|
66
|
-
|
66
|
+
ChannelArgs args;
|
67
67
|
grpc_slice_buffer* read_buffer = nullptr;
|
68
68
|
// A handshaker may set this to true before invoking on_handshake_done
|
69
69
|
// to indicate that subsequent handshakers should be skipped.
|
@@ -120,9 +120,8 @@ class HandshakeManager : public RefCounted<HandshakeManager> {
|
|
120
120
|
/// GRPC_ERROR_NONE, then handshaking failed and the handshaker has done
|
121
121
|
/// the necessary clean-up. Otherwise, the callback takes ownership of
|
122
122
|
/// the arguments.
|
123
|
-
void DoHandshake(grpc_endpoint* endpoint,
|
124
|
-
|
125
|
-
grpc_tcp_server_acceptor* acceptor,
|
123
|
+
void DoHandshake(grpc_endpoint* endpoint, const ChannelArgs& channel_args,
|
124
|
+
Timestamp deadline, grpc_tcp_server_acceptor* acceptor,
|
126
125
|
grpc_iomgr_cb_func on_handshake_done, void* user_data);
|
127
126
|
|
128
127
|
private:
|