grpc 1.42.0 → 1.43.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 +85 -34
- data/include/grpc/event_engine/event_engine.h +37 -13
- data/include/grpc/event_engine/internal/memory_allocator_impl.h +1 -31
- data/include/grpc/event_engine/memory_allocator.h +27 -11
- data/include/grpc/event_engine/memory_request.h +57 -0
- data/include/grpc/grpc_security.h +276 -145
- data/include/grpc/grpc_security_constants.h +1 -14
- data/include/grpc/impl/codegen/port_platform.h +7 -3
- data/src/core/ext/filters/client_channel/backend_metric.cc +6 -7
- data/src/core/ext/filters/client_channel/backend_metric.h +3 -2
- data/src/core/ext/filters/client_channel/client_channel.cc +81 -40
- data/src/core/ext/filters/client_channel/client_channel.h +5 -4
- data/src/core/ext/filters/client_channel/client_channel_plugin.cc +1 -2
- data/src/core/ext/filters/client_channel/dynamic_filters.cc +4 -4
- data/src/core/ext/filters/client_channel/health/health_check_client.h +1 -1
- data/src/core/ext/filters/client_channel/http_connect_handshaker.cc +12 -14
- data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.cc +1 -2
- data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_client_stats.cc +1 -2
- data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_client_stats.h +2 -2
- data/src/core/ext/filters/client_channel/lb_policy/ring_hash/ring_hash.cc +2 -3
- data/src/core/ext/filters/client_channel/lb_policy/xds/cds.cc +27 -80
- data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_impl.cc +82 -34
- data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_resolver.cc +47 -91
- data/src/core/ext/filters/client_channel/lb_policy.h +75 -59
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.cc +3 -3
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver.h +2 -2
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_windows.cc +8 -12
- data/src/core/ext/filters/client_channel/resolver/dns/native/dns_resolver.cc +3 -3
- data/src/core/ext/filters/client_channel/resolver/google_c2p/google_c2p_resolver.cc +6 -12
- data/src/core/ext/filters/client_channel/resolver/xds/xds_resolver.cc +222 -294
- data/src/core/ext/filters/client_channel/resolver_registry.cc +6 -7
- data/src/core/ext/filters/client_channel/resolver_registry.h +1 -2
- data/src/core/ext/filters/client_channel/subchannel.cc +4 -4
- data/src/core/ext/filters/fault_injection/fault_injection_filter.cc +1 -1
- data/src/core/ext/filters/http/client/http_client_filter.cc +14 -30
- data/src/core/ext/filters/http/http_filters_plugin.cc +3 -5
- data/src/core/ext/filters/http/server/http_server_filter.cc +11 -28
- data/src/core/ext/filters/server_config_selector/server_config_selector.cc +67 -0
- data/src/core/ext/filters/server_config_selector/server_config_selector.h +70 -0
- data/src/core/ext/filters/server_config_selector/server_config_selector_filter.cc +265 -0
- data/src/core/ext/filters/server_config_selector/server_config_selector_filter.h +32 -0
- data/src/core/ext/transport/chttp2/client/chttp2_connector.cc +4 -20
- data/src/core/ext/transport/chttp2/client/chttp2_connector.h +0 -2
- data/src/core/ext/transport/chttp2/client/insecure/channel_create.cc +8 -5
- data/src/core/ext/transport/chttp2/client/insecure/channel_create_posix.cc +11 -14
- data/src/core/ext/transport/chttp2/client/secure/secure_channel_create.cc +6 -3
- data/src/core/ext/transport/chttp2/server/chttp2_server.cc +54 -79
- data/src/core/ext/transport/chttp2/server/insecure/server_chttp2.cc +2 -3
- data/src/core/ext/transport/chttp2/server/insecure/server_chttp2_posix.cc +9 -13
- data/src/core/ext/transport/chttp2/server/secure/server_secure_chttp2.cc +6 -6
- data/src/core/ext/transport/chttp2/transport/chttp2_transport.cc +53 -62
- data/src/core/ext/transport/chttp2/transport/chttp2_transport.h +1 -2
- data/src/core/ext/transport/chttp2/transport/context_list.cc +2 -3
- data/src/core/ext/transport/chttp2/transport/context_list.h +2 -3
- data/src/core/ext/transport/chttp2/transport/flow_control.cc +8 -8
- data/src/core/ext/transport/chttp2/transport/flow_control.h +2 -2
- data/src/core/ext/transport/chttp2/transport/hpack_encoder.cc +83 -19
- data/src/core/ext/transport/chttp2/transport/hpack_encoder.h +33 -1
- data/src/core/ext/transport/chttp2/transport/hpack_parser.cc +66 -92
- data/src/core/ext/transport/chttp2/transport/internal.h +8 -4
- data/src/core/ext/transport/inproc/inproc_transport.cc +16 -7
- data/src/core/ext/transport/inproc/inproc_transport.h +1 -1
- data/src/core/ext/upb-generated/envoy/admin/v3/config_dump.upb.c +197 -165
- data/src/core/ext/upb-generated/envoy/admin/v3/config_dump.upb.h +2 -0
- data/src/core/ext/upb-generated/envoy/annotations/deprecation.upb.c +41 -0
- data/src/core/ext/upb-generated/envoy/annotations/deprecation.upb.h +18 -0
- data/src/core/ext/upb-generated/envoy/annotations/resource.upb.c +26 -2
- data/src/core/ext/upb-generated/envoy/annotations/resource.upb.h +7 -0
- data/src/core/ext/upb-generated/envoy/config/accesslog/v3/accesslog.upb.c +107 -82
- data/src/core/ext/upb-generated/envoy/config/accesslog/v3/accesslog.upb.h +2 -0
- data/src/core/ext/upb-generated/envoy/config/bootstrap/v3/bootstrap.upb.c +188 -160
- data/src/core/ext/upb-generated/envoy/config/bootstrap/v3/bootstrap.upb.h +2 -0
- data/src/core/ext/upb-generated/envoy/config/cluster/v3/circuit_breaker.upb.c +35 -22
- data/src/core/ext/upb-generated/envoy/config/cluster/v3/circuit_breaker.upb.h +2 -0
- data/src/core/ext/upb-generated/envoy/config/cluster/v3/cluster.upb.c +253 -218
- data/src/core/ext/upb-generated/envoy/config/cluster/v3/cluster.upb.h +2 -0
- data/src/core/ext/upb-generated/envoy/config/cluster/v3/filter.upb.c +16 -5
- data/src/core/ext/upb-generated/envoy/config/cluster/v3/filter.upb.h +2 -0
- data/src/core/ext/upb-generated/envoy/config/cluster/v3/outlier_detection.upb.c +36 -25
- data/src/core/ext/upb-generated/envoy/config/cluster/v3/outlier_detection.upb.h +2 -0
- data/src/core/ext/upb-generated/envoy/config/core/v3/address.upb.c +56 -39
- data/src/core/ext/upb-generated/envoy/config/core/v3/address.upb.h +2 -0
- data/src/core/ext/upb-generated/envoy/config/core/v3/backoff.upb.c +16 -5
- data/src/core/ext/upb-generated/envoy/config/core/v3/backoff.upb.h +2 -0
- data/src/core/ext/upb-generated/envoy/config/core/v3/base.upb.c +162 -128
- data/src/core/ext/upb-generated/envoy/config/core/v3/base.upb.h +2 -0
- data/src/core/ext/upb-generated/envoy/config/core/v3/config_source.upb.c +51 -36
- data/src/core/ext/upb-generated/envoy/config/core/v3/config_source.upb.h +2 -0
- data/src/core/ext/upb-generated/envoy/config/core/v3/event_service_config.upb.c +15 -4
- data/src/core/ext/upb-generated/envoy/config/core/v3/event_service_config.upb.h +2 -0
- data/src/core/ext/upb-generated/envoy/config/core/v3/extension.upb.c +25 -13
- data/src/core/ext/upb-generated/envoy/config/core/v3/extension.upb.h +2 -0
- data/src/core/ext/upb-generated/envoy/config/core/v3/grpc_service.upb.c +114 -90
- data/src/core/ext/upb-generated/envoy/config/core/v3/grpc_service.upb.h +2 -0
- data/src/core/ext/upb-generated/envoy/config/core/v3/health_check.upb.c +89 -71
- data/src/core/ext/upb-generated/envoy/config/core/v3/health_check.upb.h +2 -0
- data/src/core/ext/upb-generated/envoy/config/core/v3/http_uri.upb.c +17 -6
- data/src/core/ext/upb-generated/envoy/config/core/v3/http_uri.upb.h +2 -0
- data/src/core/ext/upb-generated/envoy/config/core/v3/protocol.upb.c +117 -93
- data/src/core/ext/upb-generated/envoy/config/core/v3/protocol.upb.h +2 -0
- data/src/core/ext/upb-generated/envoy/config/core/v3/proxy_protocol.upb.c +13 -2
- data/src/core/ext/upb-generated/envoy/config/core/v3/proxy_protocol.upb.h +2 -0
- data/src/core/ext/upb-generated/envoy/config/core/v3/resolver.upb.c +21 -9
- data/src/core/ext/upb-generated/envoy/config/core/v3/resolver.upb.h +2 -0
- data/src/core/ext/upb-generated/envoy/config/core/v3/socket_option.upb.c +18 -7
- data/src/core/ext/upb-generated/envoy/config/core/v3/socket_option.upb.h +2 -0
- data/src/core/ext/upb-generated/envoy/config/core/v3/substitution_format_string.upb.c +22 -11
- data/src/core/ext/upb-generated/envoy/config/core/v3/substitution_format_string.upb.h +2 -0
- data/src/core/ext/upb-generated/envoy/config/core/v3/udp_socket_config.upb.c +17 -6
- data/src/core/ext/upb-generated/envoy/config/core/v3/udp_socket_config.upb.h +2 -0
- data/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint.upb.c +41 -27
- data/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint.upb.h +2 -0
- data/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint_components.upb.c +59 -43
- data/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint_components.upb.h +2 -0
- data/src/core/ext/upb-generated/envoy/config/endpoint/v3/load_report.upb.c +58 -43
- data/src/core/ext/upb-generated/envoy/config/endpoint/v3/load_report.upb.h +2 -0
- data/src/core/ext/upb-generated/envoy/config/listener/v3/api_listener.upb.c +15 -4
- data/src/core/ext/upb-generated/envoy/config/listener/v3/api_listener.upb.h +2 -0
- data/src/core/ext/upb-generated/envoy/config/listener/v3/listener.upb.c +73 -57
- data/src/core/ext/upb-generated/envoy/config/listener/v3/listener.upb.h +2 -0
- data/src/core/ext/upb-generated/envoy/config/listener/v3/listener_components.upb.c +81 -64
- data/src/core/ext/upb-generated/envoy/config/listener/v3/listener_components.upb.h +2 -0
- data/src/core/ext/upb-generated/envoy/config/listener/v3/quic_config.upb.c +25 -14
- data/src/core/ext/upb-generated/envoy/config/listener/v3/quic_config.upb.h +2 -0
- data/src/core/ext/upb-generated/envoy/config/listener/v3/udp_listener_config.upb.c +19 -7
- data/src/core/ext/upb-generated/envoy/config/listener/v3/udp_listener_config.upb.h +2 -0
- data/src/core/ext/upb-generated/envoy/config/metrics/v3/stats.upb.c +63 -45
- data/src/core/ext/upb-generated/envoy/config/metrics/v3/stats.upb.h +2 -0
- data/src/core/ext/upb-generated/envoy/config/overload/v3/overload.upb.c +66 -47
- data/src/core/ext/upb-generated/envoy/config/overload/v3/overload.upb.h +2 -0
- data/src/core/ext/upb-generated/envoy/config/rbac/v3/rbac.upb.c +93 -75
- data/src/core/ext/upb-generated/envoy/config/rbac/v3/rbac.upb.h +2 -0
- data/src/core/ext/upb-generated/envoy/config/route/v3/route.upb.c +41 -28
- data/src/core/ext/upb-generated/envoy/config/route/v3/route.upb.h +2 -0
- data/src/core/ext/upb-generated/envoy/config/route/v3/route_components.upb.c +503 -440
- data/src/core/ext/upb-generated/envoy/config/route/v3/route_components.upb.h +2 -0
- data/src/core/ext/upb-generated/envoy/config/route/v3/scoped_route.upb.c +26 -13
- data/src/core/ext/upb-generated/envoy/config/route/v3/scoped_route.upb.h +2 -0
- data/src/core/ext/upb-generated/envoy/config/trace/v3/http_tracer.upb.c +21 -9
- data/src/core/ext/upb-generated/envoy/config/trace/v3/http_tracer.upb.h +2 -0
- data/src/core/ext/upb-generated/envoy/extensions/clusters/aggregate/v3/cluster.upb.c +13 -2
- data/src/core/ext/upb-generated/envoy/extensions/clusters/aggregate/v3/cluster.upb.h +2 -0
- data/src/core/ext/upb-generated/envoy/extensions/filters/common/fault/v3/fault.upb.c +35 -20
- data/src/core/ext/upb-generated/envoy/extensions/filters/common/fault/v3/fault.upb.h +2 -0
- data/src/core/ext/upb-generated/envoy/extensions/filters/http/fault/v3/fault.upb.c +44 -31
- data/src/core/ext/upb-generated/envoy/extensions/filters/http/fault/v3/fault.upb.h +2 -0
- data/src/core/ext/upb-generated/envoy/extensions/filters/http/router/v3/router.upb.c +22 -11
- data/src/core/ext/upb-generated/envoy/extensions/filters/http/router/v3/router.upb.h +2 -0
- data/src/core/ext/upb-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.c +210 -181
- data/src/core/ext/upb-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.h +2 -0
- data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/cert.upb.c +7 -0
- data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/cert.upb.h +5 -3
- data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/common.upb.c +64 -48
- data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/common.upb.h +2 -0
- data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/secret.upb.c +33 -20
- data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/secret.upb.h +2 -0
- data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/tls.upb.c +81 -65
- data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/tls.upb.h +2 -0
- data/src/core/ext/upb-generated/envoy/service/cluster/v3/cds.upb.c +12 -1
- data/src/core/ext/upb-generated/envoy/service/cluster/v3/cds.upb.h +2 -0
- data/src/core/ext/upb-generated/envoy/service/discovery/v3/ads.upb.c +12 -1
- data/src/core/ext/upb-generated/envoy/service/discovery/v3/ads.upb.h +2 -0
- data/src/core/ext/upb-generated/envoy/service/discovery/v3/discovery.upb.c +75 -58
- data/src/core/ext/upb-generated/envoy/service/discovery/v3/discovery.upb.h +2 -0
- data/src/core/ext/upb-generated/envoy/service/endpoint/v3/eds.upb.c +12 -1
- data/src/core/ext/upb-generated/envoy/service/endpoint/v3/eds.upb.h +2 -0
- data/src/core/ext/upb-generated/envoy/service/listener/v3/lds.upb.c +12 -1
- data/src/core/ext/upb-generated/envoy/service/listener/v3/lds.upb.h +2 -0
- data/src/core/ext/upb-generated/envoy/service/load_stats/v3/lrs.upb.c +25 -13
- data/src/core/ext/upb-generated/envoy/service/load_stats/v3/lrs.upb.h +2 -0
- data/src/core/ext/upb-generated/envoy/service/route/v3/rds.upb.c +12 -1
- data/src/core/ext/upb-generated/envoy/service/route/v3/rds.upb.h +2 -0
- data/src/core/ext/upb-generated/envoy/service/route/v3/srds.upb.c +12 -1
- data/src/core/ext/upb-generated/envoy/service/route/v3/srds.upb.h +2 -0
- data/src/core/ext/upb-generated/envoy/service/status/v3/csds.upb.c +61 -46
- data/src/core/ext/upb-generated/envoy/service/status/v3/csds.upb.h +2 -0
- data/src/core/ext/upb-generated/envoy/type/http/v3/path_transformation.upb.c +26 -12
- data/src/core/ext/upb-generated/envoy/type/http/v3/path_transformation.upb.h +2 -0
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/metadata.upb.c +22 -10
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/metadata.upb.h +2 -0
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/node.upb.c +17 -6
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/node.upb.h +2 -0
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/number.upb.c +16 -5
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/number.upb.h +2 -0
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/path.upb.c +15 -4
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/path.upb.h +2 -0
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/regex.upb.c +27 -14
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/regex.upb.h +2 -0
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/string.upb.c +25 -13
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/string.upb.h +2 -0
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/struct.upb.c +20 -8
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/struct.upb.h +2 -0
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/value.upb.c +30 -17
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/value.upb.h +2 -0
- data/src/core/ext/upb-generated/envoy/type/metadata/v3/metadata.upb.c +38 -21
- data/src/core/ext/upb-generated/envoy/type/metadata/v3/metadata.upb.h +2 -0
- data/src/core/ext/upb-generated/envoy/type/tracing/v3/custom_tag.upb.c +41 -26
- data/src/core/ext/upb-generated/envoy/type/tracing/v3/custom_tag.upb.h +2 -0
- data/src/core/ext/upb-generated/envoy/type/v3/http.upb.c +7 -0
- data/src/core/ext/upb-generated/envoy/type/v3/http.upb.h +2 -0
- data/src/core/ext/upb-generated/envoy/type/v3/percent.upb.c +17 -5
- data/src/core/ext/upb-generated/envoy/type/v3/percent.upb.h +2 -0
- data/src/core/ext/upb-generated/envoy/type/v3/range.upb.c +22 -9
- data/src/core/ext/upb-generated/envoy/type/v3/range.upb.h +2 -0
- data/src/core/ext/upb-generated/envoy/type/v3/semantic_version.upb.c +15 -4
- data/src/core/ext/upb-generated/envoy/type/v3/semantic_version.upb.h +2 -0
- data/src/core/ext/upb-generated/google/api/annotations.upb.c +20 -0
- data/src/core/ext/upb-generated/google/api/annotations.upb.h +7 -0
- data/src/core/ext/upb-generated/google/api/expr/v1alpha1/checked.upb.c +116 -93
- data/src/core/ext/upb-generated/google/api/expr/v1alpha1/checked.upb.h +2 -0
- data/src/core/ext/upb-generated/google/api/expr/v1alpha1/eval.upb.c +102 -0
- data/src/core/ext/upb-generated/google/api/expr/v1alpha1/eval.upb.h +306 -0
- data/src/core/ext/upb-generated/google/api/expr/v1alpha1/explain.upb.c +56 -0
- data/src/core/ext/upb-generated/google/api/expr/v1alpha1/explain.upb.h +135 -0
- data/src/core/ext/upb-generated/google/api/expr/v1alpha1/syntax.upb.c +122 -98
- data/src/core/ext/upb-generated/google/api/expr/v1alpha1/syntax.upb.h +2 -0
- data/src/core/ext/upb-generated/google/api/expr/v1alpha1/value.upb.c +115 -0
- data/src/core/ext/upb-generated/google/api/expr/v1alpha1/value.upb.h +371 -0
- data/src/core/ext/upb-generated/google/api/http.upb.c +35 -22
- data/src/core/ext/upb-generated/google/api/http.upb.h +2 -0
- data/src/core/ext/upb-generated/google/protobuf/any.upb.c +14 -3
- data/src/core/ext/upb-generated/google/protobuf/any.upb.h +2 -0
- data/src/core/ext/upb-generated/google/protobuf/descriptor.upb.c +247 -210
- data/src/core/ext/upb-generated/google/protobuf/descriptor.upb.h +2 -0
- data/src/core/ext/upb-generated/google/protobuf/duration.upb.c +14 -3
- data/src/core/ext/upb-generated/google/protobuf/duration.upb.h +2 -0
- data/src/core/ext/upb-generated/google/protobuf/empty.upb.c +12 -1
- data/src/core/ext/upb-generated/google/protobuf/empty.upb.h +2 -0
- data/src/core/ext/upb-generated/google/protobuf/struct.upb.c +37 -23
- data/src/core/ext/upb-generated/google/protobuf/struct.upb.h +2 -0
- data/src/core/ext/upb-generated/google/protobuf/timestamp.upb.c +14 -3
- data/src/core/ext/upb-generated/google/protobuf/timestamp.upb.h +2 -0
- data/src/core/ext/upb-generated/google/protobuf/wrappers.upb.c +37 -18
- data/src/core/ext/upb-generated/google/protobuf/wrappers.upb.h +2 -0
- data/src/core/ext/upb-generated/google/rpc/status.upb.c +17 -6
- data/src/core/ext/upb-generated/google/rpc/status.upb.h +2 -0
- data/src/core/ext/upb-generated/src/proto/grpc/gcp/altscontext.upb.c +26 -14
- data/src/core/ext/upb-generated/src/proto/grpc/gcp/altscontext.upb.h +2 -0
- data/src/core/ext/upb-generated/src/proto/grpc/gcp/handshaker.upb.c +105 -83
- data/src/core/ext/upb-generated/src/proto/grpc/gcp/handshaker.upb.h +2 -0
- data/src/core/ext/upb-generated/src/proto/grpc/gcp/transport_security_common.upb.c +20 -8
- data/src/core/ext/upb-generated/src/proto/grpc/gcp/transport_security_common.upb.h +2 -0
- data/src/core/ext/upb-generated/src/proto/grpc/health/v1/health.upb.c +16 -4
- data/src/core/ext/upb-generated/src/proto/grpc/health/v1/health.upb.h +2 -0
- data/src/core/ext/upb-generated/src/proto/grpc/lb/v1/load_balancer.upb.c +65 -47
- data/src/core/ext/upb-generated/src/proto/grpc/lb/v1/load_balancer.upb.h +34 -36
- data/src/core/ext/upb-generated/src/proto/grpc/lookup/v1/rls.upb.c +26 -13
- data/src/core/ext/upb-generated/src/proto/grpc/lookup/v1/rls.upb.h +2 -0
- data/src/core/ext/upb-generated/udpa/annotations/migrate.upb.c +67 -7
- data/src/core/ext/upb-generated/udpa/annotations/migrate.upb.h +27 -0
- data/src/core/ext/upb-generated/udpa/annotations/security.upb.c +27 -3
- data/src/core/ext/upb-generated/udpa/annotations/security.upb.h +7 -0
- data/src/core/ext/upb-generated/udpa/annotations/sensitive.upb.c +19 -0
- data/src/core/ext/upb-generated/udpa/annotations/sensitive.upb.h +7 -0
- data/src/core/ext/upb-generated/udpa/annotations/status.upb.c +27 -3
- data/src/core/ext/upb-generated/udpa/annotations/status.upb.h +7 -0
- data/src/core/ext/upb-generated/udpa/annotations/versioning.upb.c +26 -2
- data/src/core/ext/upb-generated/udpa/annotations/versioning.upb.h +7 -0
- data/src/core/ext/upb-generated/validate/validate.upb.c +320 -251
- data/src/core/ext/upb-generated/validate/validate.upb.h +20 -0
- data/src/core/ext/upb-generated/xds/annotations/v3/status.upb.c +54 -9
- data/src/core/ext/upb-generated/xds/annotations/v3/status.upb.h +17 -0
- data/src/core/ext/upb-generated/xds/core/v3/authority.upb.c +13 -2
- data/src/core/ext/upb-generated/xds/core/v3/authority.upb.h +2 -0
- data/src/core/ext/upb-generated/xds/core/v3/collection_entry.upb.c +24 -12
- data/src/core/ext/upb-generated/xds/core/v3/collection_entry.upb.h +2 -0
- data/src/core/ext/upb-generated/xds/core/v3/context_params.upb.c +19 -7
- data/src/core/ext/upb-generated/xds/core/v3/context_params.upb.h +2 -0
- data/src/core/ext/upb-generated/xds/core/v3/resource.upb.c +18 -7
- data/src/core/ext/upb-generated/xds/core/v3/resource.upb.h +2 -0
- data/src/core/ext/upb-generated/xds/core/v3/resource_locator.upb.c +27 -15
- data/src/core/ext/upb-generated/xds/core/v3/resource_locator.upb.h +2 -0
- data/src/core/ext/upb-generated/xds/core/v3/resource_name.upb.c +18 -7
- data/src/core/ext/upb-generated/xds/core/v3/resource_name.upb.h +2 -0
- data/src/core/ext/upb-generated/xds/data/orca/v3/orca_load_report.upb.c +28 -15
- data/src/core/ext/upb-generated/xds/data/orca/v3/orca_load_report.upb.h +2 -0
- data/src/core/ext/upb-generated/xds/type/v3/typed_struct.upb.c +16 -5
- data/src/core/ext/upb-generated/xds/type/v3/typed_struct.upb.h +2 -0
- data/src/core/ext/upbdefs-generated/envoy/admin/v3/config_dump.upbdefs.c +2 -49
- data/src/core/ext/upbdefs-generated/envoy/annotations/deprecation.upbdefs.c +2 -2
- data/src/core/ext/upbdefs-generated/envoy/annotations/resource.upbdefs.c +2 -7
- data/src/core/ext/upbdefs-generated/envoy/config/accesslog/v3/accesslog.upbdefs.c +2 -35
- data/src/core/ext/upbdefs-generated/envoy/config/bootstrap/v3/bootstrap.upbdefs.c +2 -41
- data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/circuit_breaker.upbdefs.c +2 -11
- data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/cluster.upbdefs.c +2 -55
- data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/filter.upbdefs.c +2 -7
- data/src/core/ext/upbdefs-generated/envoy/config/cluster/v3/outlier_detection.upbdefs.c +2 -7
- data/src/core/ext/upbdefs-generated/envoy/config/core/v3/address.upbdefs.c +2 -19
- data/src/core/ext/upbdefs-generated/envoy/config/core/v3/backoff.upbdefs.c +2 -7
- data/src/core/ext/upbdefs-generated/envoy/config/core/v3/base.upbdefs.c +2 -53
- data/src/core/ext/upbdefs-generated/envoy/config/core/v3/config_source.upbdefs.c +2 -15
- data/src/core/ext/upbdefs-generated/envoy/config/core/v3/event_service_config.upbdefs.c +2 -7
- data/src/core/ext/upbdefs-generated/envoy/config/core/v3/extension.upbdefs.c +2 -9
- data/src/core/ext/upbdefs-generated/envoy/config/core/v3/grpc_service.upbdefs.c +2 -33
- data/src/core/ext/upbdefs-generated/envoy/config/core/v3/health_check.upbdefs.c +2 -21
- data/src/core/ext/upbdefs-generated/envoy/config/core/v3/http_uri.upbdefs.c +2 -7
- data/src/core/ext/upbdefs-generated/envoy/config/core/v3/protocol.upbdefs.c +2 -33
- data/src/core/ext/upbdefs-generated/envoy/config/core/v3/proxy_protocol.upbdefs.c +2 -7
- data/src/core/ext/upbdefs-generated/envoy/config/core/v3/resolver.upbdefs.c +2 -9
- data/src/core/ext/upbdefs-generated/envoy/config/core/v3/socket_option.upbdefs.c +2 -7
- data/src/core/ext/upbdefs-generated/envoy/config/core/v3/substitution_format_string.upbdefs.c +2 -7
- data/src/core/ext/upbdefs-generated/envoy/config/core/v3/udp_socket_config.upbdefs.c +2 -7
- data/src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/endpoint.upbdefs.c +2 -13
- data/src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/endpoint_components.upbdefs.c +2 -17
- data/src/core/ext/upbdefs-generated/envoy/config/endpoint/v3/load_report.upbdefs.c +2 -15
- data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/api_listener.upbdefs.c +2 -7
- data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/listener.upbdefs.c +2 -17
- data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/listener_components.upbdefs.c +2 -19
- data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/quic_config.upbdefs.c +2 -7
- data/src/core/ext/upbdefs-generated/envoy/config/listener/v3/udp_listener_config.upbdefs.c +2 -9
- data/src/core/ext/upbdefs-generated/envoy/config/metrics/v3/stats.upbdefs.c +2 -21
- data/src/core/ext/upbdefs-generated/envoy/config/overload/v3/overload.upbdefs.c +2 -23
- data/src/core/ext/upbdefs-generated/envoy/config/route/v3/route.upbdefs.c +2 -11
- data/src/core/ext/upbdefs-generated/envoy/config/route/v3/route_components.upbdefs.c +2 -111
- data/src/core/ext/upbdefs-generated/envoy/config/route/v3/scoped_route.upbdefs.c +2 -11
- data/src/core/ext/upbdefs-generated/envoy/config/trace/v3/http_tracer.upbdefs.c +2 -9
- data/src/core/ext/upbdefs-generated/envoy/extensions/clusters/aggregate/v3/cluster.upbdefs.c +2 -7
- data/src/core/ext/upbdefs-generated/envoy/extensions/filters/common/fault/v3/fault.upbdefs.c +2 -15
- data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/fault/v3/fault.upbdefs.c +2 -11
- data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/router/v3/router.upbdefs.c +2 -7
- data/src/core/ext/upbdefs-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upbdefs.c +2 -43
- data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/cert.upbdefs.c +2 -2
- data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/common.upbdefs.c +2 -17
- data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/secret.upbdefs.c +2 -11
- data/src/core/ext/upbdefs-generated/envoy/extensions/transport_sockets/tls/v3/tls.upbdefs.c +2 -17
- data/src/core/ext/upbdefs-generated/envoy/service/cluster/v3/cds.upbdefs.c +2 -7
- data/src/core/ext/upbdefs-generated/envoy/service/discovery/v3/ads.upbdefs.c +2 -7
- data/src/core/ext/upbdefs-generated/envoy/service/discovery/v3/discovery.upbdefs.c +2 -19
- data/src/core/ext/upbdefs-generated/envoy/service/endpoint/v3/eds.upbdefs.c +2 -7
- data/src/core/ext/upbdefs-generated/envoy/service/listener/v3/lds.upbdefs.c +2 -7
- data/src/core/ext/upbdefs-generated/envoy/service/load_stats/v3/lrs.upbdefs.c +2 -9
- data/src/core/ext/upbdefs-generated/envoy/service/route/v3/rds.upbdefs.c +2 -7
- data/src/core/ext/upbdefs-generated/envoy/service/route/v3/srds.upbdefs.c +2 -7
- data/src/core/ext/upbdefs-generated/envoy/service/status/v3/csds.upbdefs.c +2 -15
- data/src/core/ext/upbdefs-generated/envoy/type/http/v3/path_transformation.upbdefs.c +2 -13
- data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/metadata.upbdefs.c +2 -9
- data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/node.upbdefs.c +2 -7
- data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/number.upbdefs.c +2 -7
- data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/path.upbdefs.c +2 -7
- data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/regex.upbdefs.c +2 -11
- data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/string.upbdefs.c +2 -9
- data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/struct.upbdefs.c +2 -9
- data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/value.upbdefs.c +2 -11
- data/src/core/ext/upbdefs-generated/envoy/type/metadata/v3/metadata.upbdefs.c +2 -19
- data/src/core/ext/upbdefs-generated/envoy/type/tracing/v3/custom_tag.upbdefs.c +2 -15
- data/src/core/ext/upbdefs-generated/envoy/type/v3/http.upbdefs.c +2 -2
- data/src/core/ext/upbdefs-generated/envoy/type/v3/percent.upbdefs.c +2 -9
- data/src/core/ext/upbdefs-generated/envoy/type/v3/range.upbdefs.c +2 -11
- data/src/core/ext/upbdefs-generated/envoy/type/v3/semantic_version.upbdefs.c +2 -7
- data/src/core/ext/upbdefs-generated/google/api/annotations.upbdefs.c +2 -2
- data/src/core/ext/upbdefs-generated/google/api/http.upbdefs.c +2 -11
- data/src/core/ext/upbdefs-generated/google/protobuf/any.upbdefs.c +2 -7
- data/src/core/ext/upbdefs-generated/google/protobuf/descriptor.upbdefs.c +2 -59
- data/src/core/ext/upbdefs-generated/google/protobuf/duration.upbdefs.c +2 -7
- data/src/core/ext/upbdefs-generated/google/protobuf/empty.upbdefs.c +2 -7
- data/src/core/ext/upbdefs-generated/google/protobuf/struct.upbdefs.c +2 -13
- data/src/core/ext/upbdefs-generated/google/protobuf/timestamp.upbdefs.c +2 -7
- data/src/core/ext/upbdefs-generated/google/protobuf/wrappers.upbdefs.c +2 -23
- data/src/core/ext/upbdefs-generated/google/rpc/status.upbdefs.c +2 -7
- data/src/core/ext/upbdefs-generated/udpa/annotations/migrate.upbdefs.c +2 -11
- data/src/core/ext/upbdefs-generated/udpa/annotations/security.upbdefs.c +2 -7
- data/src/core/ext/upbdefs-generated/udpa/annotations/sensitive.upbdefs.c +2 -2
- data/src/core/ext/upbdefs-generated/udpa/annotations/status.upbdefs.c +2 -7
- data/src/core/ext/upbdefs-generated/udpa/annotations/versioning.upbdefs.c +2 -7
- data/src/core/ext/upbdefs-generated/validate/validate.upbdefs.c +2 -51
- data/src/core/ext/upbdefs-generated/xds/annotations/v3/status.upbdefs.c +2 -13
- data/src/core/ext/upbdefs-generated/xds/core/v3/authority.upbdefs.c +2 -7
- data/src/core/ext/upbdefs-generated/xds/core/v3/collection_entry.upbdefs.c +2 -9
- data/src/core/ext/upbdefs-generated/xds/core/v3/context_params.upbdefs.c +2 -9
- data/src/core/ext/upbdefs-generated/xds/core/v3/resource.upbdefs.c +2 -7
- data/src/core/ext/upbdefs-generated/xds/core/v3/resource_locator.upbdefs.c +2 -9
- data/src/core/ext/upbdefs-generated/xds/core/v3/resource_name.upbdefs.c +2 -7
- data/src/core/ext/upbdefs-generated/xds/type/v3/typed_struct.upbdefs.c +2 -7
- data/src/core/ext/xds/certificate_provider_registry.cc +1 -1
- data/src/core/ext/xds/certificate_provider_store.h +1 -1
- data/src/core/ext/xds/xds_api.cc +409 -304
- data/src/core/ext/xds/xds_api.h +3 -1
- data/src/core/ext/xds/xds_bootstrap.cc +6 -3
- data/src/core/ext/xds/xds_certificate_provider.h +1 -2
- data/src/core/ext/xds/xds_channel_stack_modifier.cc +3 -4
- data/src/core/ext/xds/xds_client.cc +395 -291
- data/src/core/ext/xds/xds_client.h +47 -38
- data/src/core/ext/xds/xds_routing.cc +247 -0
- data/src/core/ext/xds/xds_routing.h +98 -0
- data/src/core/ext/xds/xds_server_config_fetcher.cc +975 -261
- data/src/core/lib/avl/avl.h +389 -88
- data/src/core/lib/backoff/backoff.cc +2 -2
- data/src/core/lib/channel/channel_args.cc +17 -17
- data/src/core/lib/channel/channel_args.h +11 -10
- data/src/core/lib/channel/channel_args_preconditioning.cc +47 -0
- data/src/core/lib/channel/channel_args_preconditioning.h +62 -0
- data/src/core/lib/channel/channel_stack_builder.cc +0 -2
- data/src/core/lib/channel/channel_trace.cc +6 -6
- data/src/core/lib/channel/channelz.cc +1 -1
- data/src/core/lib/compression/compression_args.cc +7 -5
- data/src/core/lib/compression/compression_args.h +6 -4
- data/src/core/lib/config/core_configuration.cc +3 -1
- data/src/core/lib/config/core_configuration.h +11 -0
- data/src/core/lib/debug/trace.h +2 -2
- data/src/core/lib/event_engine/{endpoint_config.cc → channel_args_endpoint_config.cc} +2 -1
- data/src/core/lib/event_engine/{endpoint_config_internal.h → channel_args_endpoint_config.h} +3 -3
- data/src/core/lib/event_engine/event_engine.cc +0 -13
- data/src/core/lib/event_engine/event_engine_factory.cc +49 -0
- data/src/core/lib/event_engine/event_engine_factory.h +33 -0
- data/src/core/lib/event_engine/memory_allocator.cc +70 -0
- data/src/core/lib/gpr/tls.h +6 -0
- data/src/core/lib/gprpp/cpp_impl_of.h +45 -0
- data/src/core/lib/gprpp/global_config_env.cc +7 -7
- data/src/core/lib/gprpp/global_config_env.h +2 -2
- data/src/core/lib/gprpp/manual_constructor.h +2 -3
- data/src/core/lib/gprpp/orphanable.h +1 -1
- data/src/core/lib/gprpp/ref_counted.h +1 -1
- data/src/core/lib/gprpp/ref_counted_ptr.h +2 -4
- data/src/core/lib/gprpp/status_helper.h +1 -1
- data/src/core/lib/gprpp/table.h +13 -1
- data/src/core/lib/http/httpcli.cc +30 -26
- data/src/core/lib/http/httpcli.h +14 -12
- data/src/core/lib/iomgr/buffer_list.cc +9 -9
- data/src/core/lib/iomgr/buffer_list.h +13 -13
- data/src/core/lib/iomgr/call_combiner.cc +2 -3
- data/src/core/lib/iomgr/endpoint.h +0 -1
- data/src/core/lib/iomgr/endpoint_cfstream.cc +7 -24
- data/src/core/lib/iomgr/endpoint_cfstream.h +4 -4
- data/src/core/lib/iomgr/endpoint_pair_posix.cc +9 -11
- data/src/core/lib/iomgr/endpoint_pair_windows.cc +5 -14
- data/src/core/lib/iomgr/event_engine/endpoint.cc +2 -3
- data/src/core/lib/iomgr/event_engine/iomgr.cc +5 -25
- data/src/core/lib/iomgr/event_engine/resolver.cc +3 -2
- data/src/core/lib/iomgr/event_engine/tcp.cc +7 -5
- data/src/core/lib/iomgr/event_engine/timer.cc +4 -3
- data/src/core/lib/iomgr/exec_ctx.h +11 -11
- data/src/core/lib/iomgr/executor.cc +12 -15
- data/src/core/lib/iomgr/executor.h +1 -1
- data/src/core/lib/iomgr/tcp_client.cc +2 -4
- data/src/core/lib/iomgr/tcp_client.h +1 -3
- data/src/core/lib/iomgr/tcp_client_cfstream.cc +1 -9
- data/src/core/lib/iomgr/tcp_client_custom.cc +4 -10
- data/src/core/lib/iomgr/tcp_client_posix.cc +7 -23
- data/src/core/lib/iomgr/tcp_client_posix.h +3 -4
- data/src/core/lib/iomgr/tcp_client_windows.cc +1 -10
- data/src/core/lib/iomgr/tcp_custom.cc +9 -36
- data/src/core/lib/iomgr/tcp_custom.h +0 -1
- data/src/core/lib/iomgr/tcp_posix.cc +28 -33
- data/src/core/lib/iomgr/tcp_posix.h +1 -3
- data/src/core/lib/iomgr/tcp_server.cc +4 -6
- data/src/core/lib/iomgr/tcp_server.h +6 -8
- data/src/core/lib/iomgr/tcp_server_custom.cc +5 -15
- data/src/core/lib/iomgr/tcp_server_posix.cc +18 -22
- data/src/core/lib/iomgr/tcp_server_utils_posix.h +19 -18
- data/src/core/lib/iomgr/tcp_server_windows.cc +5 -12
- data/src/core/lib/iomgr/tcp_windows.cc +2 -7
- data/src/core/lib/iomgr/tcp_windows.h +1 -2
- data/src/core/lib/iomgr/unix_sockets_posix.cc +1 -1
- data/src/core/lib/iomgr/unix_sockets_posix.h +1 -1
- data/src/core/lib/iomgr/unix_sockets_posix_noop.cc +1 -1
- data/src/core/lib/iomgr/work_serializer.cc +115 -44
- data/src/core/lib/iomgr/work_serializer.h +16 -4
- data/src/core/lib/json/json_reader.cc +83 -35
- data/src/core/lib/json/json_util.cc +1 -1
- data/src/core/lib/promise/activity.cc +115 -0
- data/src/core/lib/promise/activity.h +499 -0
- data/src/core/lib/promise/context.h +86 -0
- data/src/core/lib/promise/detail/basic_seq.h +407 -0
- data/src/core/lib/promise/detail/promise_factory.h +189 -0
- data/src/core/lib/promise/detail/promise_like.h +85 -0
- data/src/core/lib/promise/detail/status.h +44 -0
- data/src/core/lib/promise/detail/switch.h +1455 -0
- data/src/core/lib/promise/exec_ctx_wakeup_scheduler.h +48 -0
- data/src/core/lib/promise/loop.h +108 -0
- data/src/core/lib/promise/map.h +88 -0
- data/src/core/lib/promise/poll.h +60 -0
- data/src/core/lib/promise/race.h +84 -0
- data/src/core/lib/promise/seq.h +71 -0
- data/src/core/lib/resource_quota/api.cc +108 -0
- data/src/core/lib/resource_quota/api.h +41 -0
- data/src/core/lib/resource_quota/memory_quota.cc +454 -0
- data/src/core/lib/resource_quota/memory_quota.h +421 -0
- data/src/core/lib/resource_quota/resource_quota.cc +33 -0
- data/src/core/lib/resource_quota/resource_quota.h +58 -0
- data/src/core/lib/resource_quota/thread_quota.cc +43 -0
- data/src/core/lib/resource_quota/thread_quota.h +57 -0
- data/src/core/lib/resource_quota/trace.cc +19 -0
- data/src/core/lib/resource_quota/trace.h +24 -0
- data/src/core/lib/security/authorization/evaluate_args.cc +13 -19
- data/src/core/lib/security/authorization/evaluate_args.h +2 -1
- data/src/core/lib/security/authorization/sdk_server_authz_filter.cc +3 -1
- data/src/core/lib/security/credentials/external/aws_external_account_credentials.cc +11 -12
- data/src/core/lib/security/credentials/external/external_account_credentials.cc +9 -10
- data/src/core/lib/security/credentials/external/url_external_account_credentials.cc +3 -4
- data/src/core/lib/security/credentials/google_default/google_default_credentials.cc +4 -6
- data/src/core/lib/security/credentials/jwt/jwt_credentials.cc +1 -1
- data/src/core/lib/security/credentials/jwt/jwt_verifier.cc +4 -6
- data/src/core/lib/security/credentials/oauth2/oauth2_credentials.cc +18 -22
- data/src/core/lib/security/credentials/tls/grpc_tls_certificate_provider.cc +11 -12
- data/src/core/lib/security/credentials/tls/grpc_tls_certificate_provider.h +7 -8
- data/src/core/lib/security/credentials/tls/grpc_tls_certificate_verifier.cc +201 -0
- data/src/core/lib/security/credentials/tls/grpc_tls_certificate_verifier.h +106 -0
- data/src/core/lib/security/credentials/tls/grpc_tls_credentials_options.cc +11 -90
- data/src/core/lib/security/credentials/tls/grpc_tls_credentials_options.h +19 -82
- data/src/core/lib/security/credentials/tls/tls_credentials.cc +21 -10
- data/src/core/lib/security/credentials/xds/xds_credentials.cc +28 -33
- data/src/core/lib/security/security_connector/alts/alts_security_connector.cc +3 -3
- data/src/core/lib/security/security_connector/alts/alts_security_connector.h +2 -2
- data/src/core/lib/security/security_connector/fake/fake_security_connector.cc +3 -4
- data/src/core/lib/security/security_connector/insecure/insecure_security_connector.cc +2 -2
- data/src/core/lib/security/security_connector/insecure/insecure_security_connector.h +7 -7
- data/src/core/lib/security/security_connector/load_system_roots_linux.cc +1 -2
- data/src/core/lib/security/security_connector/local/local_security_connector.cc +4 -1
- data/src/core/lib/security/security_connector/ssl_utils.cc +10 -2
- data/src/core/lib/security/security_connector/ssl_utils.h +1 -1
- data/src/core/lib/security/security_connector/tls/tls_security_connector.cc +344 -195
- data/src/core/lib/security/security_connector/tls/tls_security_connector.h +64 -41
- data/src/core/lib/security/transport/security_handshaker.cc +2 -2
- data/src/core/lib/slice/percent_encoding.cc +30 -86
- data/src/core/lib/slice/percent_encoding.h +5 -11
- data/src/core/lib/slice/slice.cc +7 -7
- data/src/core/lib/slice/slice.h +341 -0
- data/src/core/lib/slice/slice_buffer.cc +4 -0
- data/src/core/lib/slice/slice_intern.cc +1 -1
- data/src/core/lib/slice/slice_refcount.h +5 -1
- data/src/core/lib/slice/slice_refcount_base.h +19 -11
- data/src/core/lib/slice/static_slice.cc +331 -483
- data/src/core/lib/slice/static_slice.h +101 -132
- data/src/core/lib/surface/builtins.cc +1 -1
- data/src/core/lib/surface/call.cc +85 -59
- data/src/core/lib/surface/channel.cc +4 -29
- data/src/core/lib/surface/channel.h +2 -12
- data/src/core/lib/surface/completion_queue.cc +2 -2
- data/src/core/lib/surface/init.cc +0 -1
- data/src/core/lib/surface/lame_client.cc +24 -17
- data/src/core/lib/surface/server.cc +22 -22
- data/src/core/lib/surface/server.h +8 -9
- data/src/core/lib/surface/validate_metadata.cc +2 -2
- data/src/core/lib/surface/version.cc +2 -2
- data/src/core/lib/transport/bdp_estimator.cc +1 -1
- data/src/core/lib/transport/byte_stream.cc +4 -0
- data/src/core/lib/transport/metadata.h +4 -4
- data/src/core/lib/transport/metadata_batch.cc +5 -0
- data/src/core/lib/transport/metadata_batch.h +174 -99
- data/src/core/lib/transport/parsed_metadata.cc +35 -0
- data/src/core/lib/transport/parsed_metadata.h +180 -61
- data/src/core/lib/transport/pid_controller.cc +4 -4
- data/src/core/lib/transport/static_metadata.cc +529 -614
- data/src/core/lib/transport/static_metadata.h +0 -18
- data/src/core/lib/transport/transport.cc +4 -26
- data/src/core/lib/transport/transport.h +0 -1
- data/src/core/lib/transport/transport_op_string.cc +1 -1
- data/src/core/lib/uri/uri_parser.cc +19 -19
- data/src/core/lib/uri/uri_parser.h +2 -0
- data/src/core/plugin_registry/grpc_plugin_registry.cc +4 -2
- data/src/core/tsi/alts/handshaker/alts_handshaker_client.cc +1 -1
- data/src/core/tsi/local_transport_security.cc +15 -15
- data/src/core/tsi/ssl_transport_security.cc +30 -1
- data/src/core/tsi/ssl_transport_security.h +1 -0
- data/src/ruby/ext/grpc/extconf.rb +1 -1
- data/src/ruby/ext/grpc/rb_grpc_imports.generated.c +6 -10
- data/src/ruby/ext/grpc/rb_grpc_imports.generated.h +9 -15
- data/src/ruby/lib/grpc/version.rb +1 -1
- data/third_party/abseil-cpp/absl/algorithm/container.h +101 -91
- data/third_party/abseil-cpp/absl/base/attributes.h +64 -31
- data/third_party/abseil-cpp/absl/base/config.h +67 -37
- data/third_party/abseil-cpp/absl/base/dynamic_annotations.h +1 -26
- data/third_party/abseil-cpp/absl/base/internal/spinlock.h +3 -1
- data/third_party/abseil-cpp/absl/base/internal/spinlock_wait.h +2 -0
- data/third_party/abseil-cpp/absl/base/internal/sysinfo.cc +69 -0
- data/third_party/abseil-cpp/absl/base/internal/thread_identity.h +4 -4
- data/third_party/abseil-cpp/absl/base/internal/unscaledcycleclock.cc +16 -0
- data/third_party/abseil-cpp/absl/base/internal/unscaledcycleclock.h +4 -4
- data/third_party/abseil-cpp/absl/base/options.h +1 -1
- data/third_party/abseil-cpp/absl/container/fixed_array.h +0 -5
- data/third_party/abseil-cpp/absl/container/inlined_vector.h +105 -97
- data/third_party/abseil-cpp/absl/container/internal/hash_function_defaults.h +17 -15
- data/third_party/abseil-cpp/absl/container/internal/hashtablez_sampler.cc +18 -102
- data/third_party/abseil-cpp/absl/container/internal/hashtablez_sampler.h +37 -78
- data/third_party/abseil-cpp/absl/container/internal/inlined_vector.h +388 -423
- data/third_party/abseil-cpp/absl/container/internal/raw_hash_map.h +3 -2
- data/third_party/abseil-cpp/absl/container/internal/raw_hash_set.cc +14 -8
- data/third_party/abseil-cpp/absl/container/internal/raw_hash_set.h +251 -120
- data/third_party/abseil-cpp/absl/debugging/internal/demangle.cc +11 -1
- data/third_party/abseil-cpp/absl/debugging/internal/elf_mem_image.cc +12 -11
- data/third_party/abseil-cpp/absl/debugging/internal/elf_mem_image.h +6 -2
- data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_config.h +12 -5
- data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_emscripten-inl.inc +110 -0
- data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_riscv-inl.inc +234 -0
- data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_x86-inl.inc +25 -7
- data/third_party/abseil-cpp/absl/debugging/internal/symbolize.h +8 -2
- data/third_party/abseil-cpp/absl/debugging/internal/vdso_support.cc +21 -3
- data/third_party/abseil-cpp/absl/debugging/stacktrace.cc +2 -0
- data/third_party/abseil-cpp/absl/debugging/symbolize.cc +2 -0
- data/third_party/abseil-cpp/absl/debugging/symbolize_elf.inc +14 -0
- data/third_party/abseil-cpp/absl/debugging/symbolize_emscripten.inc +72 -0
- data/third_party/abseil-cpp/absl/functional/function_ref.h +4 -1
- data/third_party/abseil-cpp/absl/hash/hash.h +22 -0
- data/third_party/abseil-cpp/absl/hash/internal/hash.cc +15 -16
- data/third_party/abseil-cpp/absl/hash/internal/hash.h +88 -37
- data/third_party/abseil-cpp/absl/hash/internal/{wyhash.cc → low_level_hash.cc} +23 -11
- data/third_party/abseil-cpp/absl/hash/internal/{wyhash.h → low_level_hash.h} +14 -12
- data/third_party/abseil-cpp/absl/memory/memory.h +1 -1
- data/third_party/abseil-cpp/absl/meta/type_traits.h +32 -2
- data/third_party/abseil-cpp/absl/numeric/int128.cc +3 -10
- data/third_party/abseil-cpp/absl/numeric/int128.h +146 -73
- data/third_party/abseil-cpp/absl/numeric/int128_have_intrinsic.inc +19 -25
- data/third_party/abseil-cpp/absl/numeric/int128_no_intrinsic.inc +73 -70
- data/third_party/abseil-cpp/absl/{base → profiling}/internal/exponential_biased.cc +4 -4
- data/third_party/abseil-cpp/absl/{base → profiling}/internal/exponential_biased.h +6 -6
- data/third_party/abseil-cpp/absl/profiling/internal/sample_recorder.h +230 -0
- data/third_party/abseil-cpp/absl/status/internal/status_internal.h +5 -5
- data/third_party/abseil-cpp/absl/status/status.cc +9 -17
- data/third_party/abseil-cpp/absl/status/status.h +19 -15
- data/third_party/abseil-cpp/absl/status/statusor.cc +34 -2
- data/third_party/abseil-cpp/absl/status/statusor.h +31 -21
- data/third_party/abseil-cpp/absl/strings/charconv.cc +3 -3
- data/third_party/abseil-cpp/absl/strings/charconv.h +3 -2
- data/third_party/abseil-cpp/absl/strings/cord.cc +453 -359
- data/third_party/abseil-cpp/absl/strings/cord.h +197 -70
- data/third_party/abseil-cpp/absl/strings/internal/charconv_parse.cc +1 -1
- data/third_party/abseil-cpp/absl/strings/internal/cord_internal.cc +6 -0
- data/third_party/abseil-cpp/absl/strings/internal/cord_internal.h +140 -63
- data/third_party/abseil-cpp/absl/strings/internal/cord_rep_btree.cc +1128 -0
- data/third_party/abseil-cpp/absl/strings/internal/cord_rep_btree.h +939 -0
- data/third_party/abseil-cpp/absl/strings/internal/cord_rep_btree_navigator.cc +185 -0
- data/third_party/abseil-cpp/absl/strings/internal/cord_rep_btree_navigator.h +265 -0
- data/third_party/abseil-cpp/absl/strings/internal/cord_rep_btree_reader.cc +68 -0
- data/third_party/abseil-cpp/absl/strings/internal/cord_rep_btree_reader.h +211 -0
- data/third_party/abseil-cpp/absl/strings/internal/cord_rep_consume.cc +129 -0
- data/third_party/abseil-cpp/absl/strings/internal/cord_rep_consume.h +50 -0
- data/third_party/abseil-cpp/absl/strings/internal/cord_rep_flat.h +7 -7
- data/third_party/abseil-cpp/absl/strings/internal/cord_rep_ring.cc +55 -181
- data/third_party/abseil-cpp/absl/strings/internal/cord_rep_ring.h +42 -24
- data/third_party/abseil-cpp/absl/strings/internal/cord_rep_ring_reader.h +4 -0
- data/third_party/abseil-cpp/absl/strings/internal/cordz_functions.cc +96 -0
- data/third_party/abseil-cpp/absl/strings/internal/cordz_functions.h +85 -0
- data/third_party/abseil-cpp/absl/strings/internal/cordz_handle.cc +139 -0
- data/third_party/abseil-cpp/absl/strings/internal/cordz_handle.h +131 -0
- data/third_party/abseil-cpp/absl/strings/internal/cordz_info.cc +445 -0
- data/third_party/abseil-cpp/absl/strings/internal/cordz_info.h +298 -0
- data/third_party/abseil-cpp/absl/strings/internal/cordz_statistics.h +87 -0
- data/third_party/abseil-cpp/absl/strings/internal/cordz_update_scope.h +71 -0
- data/third_party/abseil-cpp/absl/strings/internal/cordz_update_tracker.h +121 -0
- data/third_party/abseil-cpp/absl/strings/internal/resize_uninitialized.h +48 -2
- data/third_party/abseil-cpp/absl/strings/internal/str_format/arg.h +8 -0
- data/third_party/abseil-cpp/absl/strings/internal/str_format/bind.cc +3 -4
- data/third_party/abseil-cpp/absl/strings/internal/str_format/bind.h +1 -1
- data/third_party/abseil-cpp/absl/strings/internal/str_format/extension.cc +6 -6
- data/third_party/abseil-cpp/absl/strings/internal/str_format/extension.h +36 -18
- data/third_party/abseil-cpp/absl/strings/internal/str_format/parser.cc +62 -73
- data/third_party/abseil-cpp/absl/strings/internal/str_format/parser.h +24 -16
- data/third_party/abseil-cpp/absl/strings/internal/str_split_internal.h +35 -35
- data/third_party/abseil-cpp/absl/strings/numbers.cc +1 -1
- data/third_party/abseil-cpp/absl/strings/numbers.h +34 -0
- data/third_party/abseil-cpp/absl/strings/str_cat.cc +4 -4
- data/third_party/abseil-cpp/absl/strings/str_format.h +1 -2
- data/third_party/abseil-cpp/absl/strings/string_view.cc +16 -21
- data/third_party/abseil-cpp/absl/strings/string_view.h +120 -39
- data/third_party/abseil-cpp/absl/strings/substitute.cc +2 -1
- data/third_party/abseil-cpp/absl/strings/substitute.h +99 -74
- data/third_party/abseil-cpp/absl/synchronization/blocking_counter.cc +25 -15
- data/third_party/abseil-cpp/absl/synchronization/blocking_counter.h +5 -3
- data/third_party/abseil-cpp/absl/synchronization/internal/waiter.cc +1 -1
- data/third_party/abseil-cpp/absl/synchronization/mutex.h +3 -3
- data/third_party/abseil-cpp/absl/time/civil_time.cc +1 -3
- data/third_party/abseil-cpp/absl/time/internal/cctz/include/cctz/time_zone.h +93 -20
- data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_fixed.cc +1 -1
- data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_if.h +2 -1
- data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_info.cc +83 -21
- data/third_party/abseil-cpp/absl/time/internal/cctz/src/time_zone_lookup.cc +49 -0
- data/third_party/abseil-cpp/absl/time/internal/cctz/src/tzfile.h +1 -1
- data/third_party/abseil-cpp/absl/time/internal/cctz/src/zone_info_source.cc +2 -3
- data/third_party/abseil-cpp/absl/time/time.h +67 -36
- data/third_party/abseil-cpp/absl/types/bad_optional_access.h +1 -1
- data/third_party/abseil-cpp/absl/types/bad_variant_access.h +2 -2
- data/third_party/abseil-cpp/absl/types/span.h +3 -3
- data/third_party/boringssl-with-bazel/err_data.c +681 -677
- data/third_party/boringssl-with-bazel/src/crypto/asn1/a_bitstr.c +19 -11
- data/third_party/boringssl-with-bazel/src/crypto/asn1/a_object.c +41 -30
- data/third_party/boringssl-with-bazel/src/crypto/asn1/a_time.c +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/asn1/asn1_lib.c +59 -47
- data/third_party/boringssl-with-bazel/src/crypto/asn1/asn_pack.c +24 -28
- data/third_party/boringssl-with-bazel/src/crypto/asn1/f_int.c +5 -0
- data/third_party/boringssl-with-bazel/src/crypto/asn1/internal.h +28 -0
- data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_dec.c +48 -272
- data/third_party/boringssl-with-bazel/src/crypto/asn1/tasn_typ.c +8 -6
- data/third_party/boringssl-with-bazel/src/crypto/bytestring/ber.c +3 -1
- data/third_party/boringssl-with-bazel/src/crypto/evp/evp_asn1.c +2 -2
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/self_check/self_check.c +7 -7
- data/third_party/boringssl-with-bazel/src/crypto/mem.c +18 -0
- data/third_party/boringssl-with-bazel/src/crypto/pool/internal.h +5 -1
- data/third_party/boringssl-with-bazel/src/crypto/pool/pool.c +59 -23
- data/third_party/boringssl-with-bazel/src/crypto/x509/asn1_gen.c +2 -18
- data/third_party/boringssl-with-bazel/src/crypto/x509/internal.h +8 -2
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/internal.h +216 -11
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/pcy_cache.c +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/pcy_data.c +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/pcy_lib.c +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/pcy_map.c +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/pcy_node.c +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/pcy_tree.c +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_alt.c +1 -0
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_cpols.c +0 -1
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_lib.c +21 -4
- data/third_party/boringssl-with-bazel/src/include/openssl/asn1.h +971 -253
- data/third_party/boringssl-with-bazel/src/include/openssl/asn1t.h +3 -3
- data/third_party/boringssl-with-bazel/src/include/openssl/base.h +0 -1
- data/third_party/boringssl-with-bazel/src/include/openssl/dh.h +4 -12
- data/third_party/boringssl-with-bazel/src/include/openssl/dsa.h +17 -41
- data/third_party/boringssl-with-bazel/src/include/openssl/ec_key.h +12 -27
- data/third_party/boringssl-with-bazel/src/include/openssl/ecdsa.h +8 -10
- data/third_party/boringssl-with-bazel/src/include/openssl/evp.h +29 -55
- data/third_party/boringssl-with-bazel/src/include/openssl/pkcs7.h +3 -9
- data/third_party/boringssl-with-bazel/src/include/openssl/pool.h +7 -1
- data/third_party/boringssl-with-bazel/src/include/openssl/rsa.h +24 -28
- data/third_party/boringssl-with-bazel/src/include/openssl/ssl.h +6 -9
- data/third_party/boringssl-with-bazel/src/include/openssl/x509.h +12 -43
- data/third_party/boringssl-with-bazel/src/include/openssl/x509v3.h +4 -3
- data/third_party/boringssl-with-bazel/src/ssl/internal.h +3 -3
- data/third_party/boringssl-with-bazel/src/ssl/ssl_versions.cc +4 -0
- data/third_party/upb/upb/decode.c +309 -178
- data/third_party/upb/upb/decode_fast.c +1 -1
- data/third_party/upb/upb/decode_internal.h +1 -0
- data/third_party/upb/upb/def.c +330 -85
- data/third_party/upb/upb/def.h +45 -14
- data/third_party/upb/upb/def.hpp +17 -4
- data/third_party/upb/upb/encode.c +100 -40
- data/third_party/upb/upb/msg.c +22 -9
- data/third_party/upb/upb/msg_internal.h +90 -8
- data/third_party/upb/upb/reflection.c +98 -58
- data/third_party/upb/upb/reflection.h +6 -2
- data/third_party/upb/upb/text_encode.c +3 -3
- data/third_party/upb/upb/upb.c +8 -0
- metadata +116 -56
- data/src/core/lib/avl/avl.cc +0 -306
- data/src/core/lib/gprpp/match.h +0 -73
- data/src/core/lib/gprpp/overload.h +0 -59
- data/src/core/lib/iomgr/event_engine/iomgr.h +0 -42
- data/src/core/lib/iomgr/resource_quota.cc +0 -1106
- data/src/core/lib/iomgr/resource_quota.h +0 -226
- data/third_party/boringssl-with-bazel/src/crypto/asn1/f_enum.c +0 -93
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/pcy_int.h +0 -217
data/src/core/lib/gprpp/table.h
CHANGED
@@ -268,13 +268,25 @@ class Table {
|
|
268
268
|
TypeIndex<I>* set(Args&&... args) {
|
269
269
|
auto* p = element_ptr<I>();
|
270
270
|
if (set_present<I>(true)) {
|
271
|
-
|
271
|
+
TypeIndex<I> replacement(std::forward<Args>(args)...);
|
272
|
+
*p = std::move(replacement);
|
272
273
|
} else {
|
273
274
|
new (p) TypeIndex<I>(std::forward<Args>(args)...);
|
274
275
|
}
|
275
276
|
return p;
|
276
277
|
}
|
277
278
|
|
279
|
+
template <size_t I>
|
280
|
+
TypeIndex<I>* set(TypeIndex<I>&& value) {
|
281
|
+
auto* p = element_ptr<I>();
|
282
|
+
if (set_present<I>(true)) {
|
283
|
+
*p = std::forward<TypeIndex<I>>(value);
|
284
|
+
} else {
|
285
|
+
new (p) TypeIndex<I>(std::forward<TypeIndex<I>>(value));
|
286
|
+
}
|
287
|
+
return p;
|
288
|
+
}
|
289
|
+
|
278
290
|
// Clear the value for type T, leaving it un-set.
|
279
291
|
template <typename T>
|
280
292
|
void clear() {
|
@@ -27,11 +27,13 @@
|
|
27
27
|
#include "absl/strings/str_format.h"
|
28
28
|
#include "absl/strings/string_view.h"
|
29
29
|
|
30
|
+
#include <grpc/grpc.h>
|
30
31
|
#include <grpc/support/alloc.h>
|
31
32
|
#include <grpc/support/log.h>
|
32
33
|
#include <grpc/support/string_util.h>
|
33
34
|
|
34
35
|
#include "src/core/lib/address_utils/sockaddr_utils.h"
|
36
|
+
#include "src/core/lib/channel/channel_args.h"
|
35
37
|
#include "src/core/lib/gpr/string.h"
|
36
38
|
#include "src/core/lib/gprpp/memory.h"
|
37
39
|
#include "src/core/lib/http/format_request.h"
|
@@ -40,6 +42,7 @@
|
|
40
42
|
#include "src/core/lib/iomgr/iomgr_internal.h"
|
41
43
|
#include "src/core/lib/iomgr/resolve_address.h"
|
42
44
|
#include "src/core/lib/iomgr/tcp_client.h"
|
45
|
+
#include "src/core/lib/resource_quota/api.h"
|
43
46
|
#include "src/core/lib/slice/slice_internal.h"
|
44
47
|
|
45
48
|
namespace grpc_core {
|
@@ -49,13 +52,13 @@ class InternalRequest {
|
|
49
52
|
public:
|
50
53
|
InternalRequest(const grpc_slice& request_text,
|
51
54
|
grpc_httpcli_response* response,
|
52
|
-
|
55
|
+
ResourceQuotaRefPtr resource_quota, absl::string_view host,
|
53
56
|
absl::string_view ssl_host_override, grpc_millis deadline,
|
54
57
|
const grpc_httpcli_handshaker* handshaker,
|
55
58
|
grpc_closure* on_done, grpc_httpcli_context* context,
|
56
59
|
grpc_polling_entity* pollent, const char* name)
|
57
60
|
: request_text_(request_text),
|
58
|
-
resource_quota_(resource_quota),
|
61
|
+
resource_quota_(std::move(resource_quota)),
|
59
62
|
host_(host),
|
60
63
|
ssl_host_override_(ssl_host_override),
|
61
64
|
deadline_(deadline),
|
@@ -91,13 +94,12 @@ class InternalRequest {
|
|
91
94
|
grpc_slice_buffer_destroy_internal(&incoming_);
|
92
95
|
grpc_slice_buffer_destroy_internal(&outgoing_);
|
93
96
|
GRPC_ERROR_UNREF(overall_error_);
|
94
|
-
grpc_resource_quota_unref_internal(resource_quota_);
|
95
97
|
}
|
96
98
|
|
97
99
|
private:
|
98
100
|
void Finish(grpc_error_handle error) {
|
99
101
|
grpc_polling_entity_del_from_pollset_set(pollent_, context_->pollset_set);
|
100
|
-
|
102
|
+
ExecCtx::Run(DEBUG_LOCATION, on_done_, error);
|
101
103
|
delete this;
|
102
104
|
}
|
103
105
|
|
@@ -203,10 +205,16 @@ class InternalRequest {
|
|
203
205
|
addr = &addresses_->addrs[next_address_++];
|
204
206
|
GRPC_CLOSURE_INIT(&connected_, OnConnected, this,
|
205
207
|
grpc_schedule_on_exec_ctx);
|
206
|
-
|
207
|
-
|
208
|
-
|
209
|
-
|
208
|
+
grpc_arg rq_arg = grpc_channel_arg_pointer_create(
|
209
|
+
const_cast<char*>(GRPC_ARG_RESOURCE_QUOTA), resource_quota_->c_ptr(),
|
210
|
+
grpc_resource_quota_arg_vtable());
|
211
|
+
grpc_channel_args channel_args{1, &rq_arg};
|
212
|
+
auto* args = CoreConfiguration::Get()
|
213
|
+
.channel_args_preconditioning()
|
214
|
+
.PreconditionChannelArgs(&channel_args);
|
215
|
+
grpc_tcp_client_connect(&connected_, &ep_, context_->pollset_set, args,
|
216
|
+
addr, deadline_);
|
217
|
+
grpc_channel_args_destroy(args);
|
210
218
|
}
|
211
219
|
|
212
220
|
static void OnResolved(void* arg, grpc_error_handle error) {
|
@@ -224,7 +232,7 @@ class InternalRequest {
|
|
224
232
|
grpc_resolved_addresses* addresses_ = nullptr;
|
225
233
|
size_t next_address_ = 0;
|
226
234
|
grpc_endpoint* ep_ = nullptr;
|
227
|
-
|
235
|
+
ResourceQuotaRefPtr resource_quota_;
|
228
236
|
std::string host_;
|
229
237
|
std::string ssl_host_override_;
|
230
238
|
grpc_millis deadline_;
|
@@ -266,16 +274,14 @@ void grpc_httpcli_context_destroy(grpc_httpcli_context* context) {
|
|
266
274
|
grpc_pollset_set_destroy(context->pollset_set);
|
267
275
|
}
|
268
276
|
|
269
|
-
static void internal_request_begin(
|
270
|
-
|
271
|
-
|
272
|
-
|
273
|
-
|
274
|
-
|
275
|
-
const char* name,
|
276
|
-
const grpc_slice& request_text) {
|
277
|
+
static void internal_request_begin(
|
278
|
+
grpc_httpcli_context* context, grpc_polling_entity* pollent,
|
279
|
+
grpc_core::ResourceQuotaRefPtr resource_quota,
|
280
|
+
const grpc_httpcli_request* request, grpc_millis deadline,
|
281
|
+
grpc_closure* on_done, grpc_httpcli_response* response, const char* name,
|
282
|
+
const grpc_slice& request_text) {
|
277
283
|
new grpc_core::InternalRequest(
|
278
|
-
request_text, response, resource_quota, request->host,
|
284
|
+
request_text, response, std::move(resource_quota), request->host,
|
279
285
|
request->ssl_host_override, deadline,
|
280
286
|
request->handshaker ? request->handshaker : &grpc_httpcli_plaintext,
|
281
287
|
on_done, context, pollent, name);
|
@@ -283,37 +289,35 @@ static void internal_request_begin(grpc_httpcli_context* context,
|
|
283
289
|
|
284
290
|
void grpc_httpcli_get(grpc_httpcli_context* context,
|
285
291
|
grpc_polling_entity* pollent,
|
286
|
-
|
292
|
+
grpc_core::ResourceQuotaRefPtr resource_quota,
|
287
293
|
const grpc_httpcli_request* request, grpc_millis deadline,
|
288
294
|
grpc_closure* on_done, grpc_httpcli_response* response) {
|
289
295
|
if (g_get_override && g_get_override(request, deadline, on_done, response)) {
|
290
|
-
grpc_resource_quota_unref_internal(resource_quota);
|
291
296
|
return;
|
292
297
|
}
|
293
298
|
std::string name =
|
294
299
|
absl::StrFormat("HTTP:GET:%s:%s", request->host, request->http.path);
|
295
|
-
internal_request_begin(context, pollent, resource_quota, request,
|
296
|
-
on_done, response, name.c_str(),
|
300
|
+
internal_request_begin(context, pollent, std::move(resource_quota), request,
|
301
|
+
deadline, on_done, response, name.c_str(),
|
297
302
|
grpc_httpcli_format_get_request(request));
|
298
303
|
}
|
299
304
|
|
300
305
|
void grpc_httpcli_post(grpc_httpcli_context* context,
|
301
306
|
grpc_polling_entity* pollent,
|
302
|
-
|
307
|
+
grpc_core::ResourceQuotaRefPtr resource_quota,
|
303
308
|
const grpc_httpcli_request* request,
|
304
309
|
const char* body_bytes, size_t body_size,
|
305
310
|
grpc_millis deadline, grpc_closure* on_done,
|
306
311
|
grpc_httpcli_response* response) {
|
307
312
|
if (g_post_override && g_post_override(request, body_bytes, body_size,
|
308
313
|
deadline, on_done, response)) {
|
309
|
-
grpc_resource_quota_unref_internal(resource_quota);
|
310
314
|
return;
|
311
315
|
}
|
312
316
|
std::string name =
|
313
317
|
absl::StrFormat("HTTP:POST:%s:%s", request->host, request->http.path);
|
314
318
|
internal_request_begin(
|
315
|
-
context, pollent, resource_quota, request, deadline, on_done,
|
316
|
-
name.c_str(),
|
319
|
+
context, pollent, std::move(resource_quota), request, deadline, on_done,
|
320
|
+
response, name.c_str(),
|
317
321
|
grpc_httpcli_format_post_request(request, body_bytes, body_size));
|
318
322
|
}
|
319
323
|
|
data/src/core/lib/http/httpcli.h
CHANGED
@@ -30,7 +30,7 @@
|
|
30
30
|
#include "src/core/lib/iomgr/iomgr_internal.h"
|
31
31
|
#include "src/core/lib/iomgr/polling_entity.h"
|
32
32
|
#include "src/core/lib/iomgr/pollset_set.h"
|
33
|
-
#include "src/core/lib/
|
33
|
+
#include "src/core/lib/resource_quota/resource_quota.h"
|
34
34
|
|
35
35
|
/* User agent this library reports */
|
36
36
|
#define GRPC_HTTPCLI_USER_AGENT "grpc-httpcli/0.0"
|
@@ -73,26 +73,28 @@ void grpc_httpcli_context_destroy(grpc_httpcli_context* context);
|
|
73
73
|
|
74
74
|
/* Asynchronously perform a HTTP GET.
|
75
75
|
'context' specifies the http context under which to do the get
|
76
|
-
'
|
77
|
-
of the get - work on this
|
76
|
+
'pollent' indicates a grpc_polling_entity that is interested in the result
|
77
|
+
of the get - work on this entity may be used to progress the get
|
78
78
|
operation
|
79
|
-
'resource_quota
|
80
|
-
|
81
|
-
|
82
|
-
'deadline' contains a deadline for the
|
79
|
+
'resource_quota' allows the caller to specify the quota against which to
|
80
|
+
allocate
|
81
|
+
'request' contains request parameters - these are caller owned and
|
82
|
+
can be destroyed once the call returns 'deadline' contains a deadline for the
|
83
|
+
request (or gpr_inf_future)
|
83
84
|
'on_response' is a callback to report results to */
|
84
85
|
void grpc_httpcli_get(grpc_httpcli_context* context,
|
85
86
|
grpc_polling_entity* pollent,
|
86
|
-
|
87
|
+
grpc_core::ResourceQuotaRefPtr resource_quota,
|
87
88
|
const grpc_httpcli_request* request, grpc_millis deadline,
|
88
89
|
grpc_closure* on_done, grpc_httpcli_response* response);
|
89
90
|
|
90
91
|
/* Asynchronously perform a HTTP POST.
|
91
92
|
'context' specifies the http context under which to do the post
|
92
|
-
'
|
93
|
-
of the post - work on this
|
93
|
+
'pollent' indicates a grpc_polling_entity that is interested in the result
|
94
|
+
of the post - work on this entity may be used to progress the post
|
94
95
|
operation
|
95
|
-
'resource_quota'
|
96
|
+
'resource_quota' allows the caller to specify the quota against which to
|
97
|
+
allocate
|
96
98
|
'request' contains request parameters - these are caller owned and can be
|
97
99
|
destroyed once the call returns
|
98
100
|
'body_bytes' and 'body_size' specify the payload for the post.
|
@@ -104,7 +106,7 @@ void grpc_httpcli_get(grpc_httpcli_context* context,
|
|
104
106
|
Does not support ?var1=val1&var2=val2 in the path. */
|
105
107
|
void grpc_httpcli_post(grpc_httpcli_context* context,
|
106
108
|
grpc_polling_entity* pollent,
|
107
|
-
|
109
|
+
grpc_core::ResourceQuotaRefPtr resource_quota,
|
108
110
|
const grpc_httpcli_request* request,
|
109
111
|
const char* body_bytes, size_t body_size,
|
110
112
|
grpc_millis deadline, grpc_closure* on_done,
|
@@ -40,14 +40,14 @@ void fill_gpr_from_timestamp(gpr_timespec* gts, const struct timespec* ts) {
|
|
40
40
|
gts->clock_type = GPR_CLOCK_REALTIME;
|
41
41
|
}
|
42
42
|
|
43
|
-
void default_timestamps_callback(void* /*arg*/,
|
43
|
+
void default_timestamps_callback(void* /*arg*/, Timestamps* /*ts*/,
|
44
44
|
grpc_error_handle /*shudown_err*/) {
|
45
45
|
gpr_log(GPR_DEBUG, "Timestamps callback has not been registered");
|
46
46
|
}
|
47
47
|
|
48
48
|
/** The saved callback function that will be invoked when we get all the
|
49
49
|
* timestamps that we are going to get for a TracedBuffer. */
|
50
|
-
void (*timestamps_callback)(void*,
|
50
|
+
void (*timestamps_callback)(void*, Timestamps*,
|
51
51
|
grpc_error_handle shutdown_err) =
|
52
52
|
default_timestamps_callback;
|
53
53
|
|
@@ -62,11 +62,11 @@ T read_unaligned(const void* ptr) {
|
|
62
62
|
|
63
63
|
/* Extracts opt stats from the tcp_info struct \a info to \a metrics */
|
64
64
|
void extract_opt_stats_from_tcp_info(ConnectionMetrics* metrics,
|
65
|
-
const
|
65
|
+
const tcp_info* info) {
|
66
66
|
if (info == nullptr) {
|
67
67
|
return;
|
68
68
|
}
|
69
|
-
if (info->length > offsetof(
|
69
|
+
if (info->length > offsetof(tcp_info, tcpi_sndbuf_limited)) {
|
70
70
|
metrics->recurring_retrans.emplace(info->tcpi_retransmits);
|
71
71
|
metrics->is_delivery_rate_app_limited.emplace(
|
72
72
|
info->tcpi_delivery_rate_app_limited);
|
@@ -84,7 +84,7 @@ void extract_opt_stats_from_tcp_info(ConnectionMetrics* metrics,
|
|
84
84
|
metrics->rwnd_limited_usec.emplace(info->tcpi_rwnd_limited);
|
85
85
|
metrics->sndbuf_limited_usec.emplace(info->tcpi_sndbuf_limited);
|
86
86
|
}
|
87
|
-
if (info->length > offsetof(
|
87
|
+
if (info->length > offsetof(tcp_info, tcpi_dsack_dups)) {
|
88
88
|
metrics->data_sent.emplace(info->tcpi_bytes_sent);
|
89
89
|
metrics->data_retx.emplace(info->tcpi_bytes_retrans);
|
90
90
|
metrics->packet_spurious_retx.emplace(info->tcpi_dsack_dups);
|
@@ -189,9 +189,9 @@ void extract_opt_stats_from_cmsg(ConnectionMetrics* metrics,
|
|
189
189
|
}
|
190
190
|
}
|
191
191
|
|
192
|
-
|
192
|
+
int get_socket_tcp_info(tcp_info* info, int fd) {
|
193
193
|
memset(info, 0, sizeof(*info));
|
194
|
-
info->length = offsetof(
|
194
|
+
info->length = offsetof(tcp_info, length);
|
195
195
|
return getsockopt(fd, IPPROTO_TCP, TCP_INFO, info, &(info->length));
|
196
196
|
}
|
197
197
|
} /* namespace */
|
@@ -286,7 +286,7 @@ void TracedBuffer::Shutdown(TracedBuffer** head, void* remaining,
|
|
286
286
|
}
|
287
287
|
|
288
288
|
void grpc_tcp_set_write_timestamps_callback(
|
289
|
-
void (*fn)(void*,
|
289
|
+
void (*fn)(void*, Timestamps*, grpc_error_handle error)) {
|
290
290
|
timestamps_callback = fn;
|
291
291
|
}
|
292
292
|
} /* namespace grpc_core */
|
@@ -295,7 +295,7 @@ void grpc_tcp_set_write_timestamps_callback(
|
|
295
295
|
|
296
296
|
namespace grpc_core {
|
297
297
|
void grpc_tcp_set_write_timestamps_callback(
|
298
|
-
void (*fn)(void*,
|
298
|
+
void (*fn)(void*, Timestamps*, grpc_error_handle error)) {
|
299
299
|
// Cast value of fn to void to avoid unused parameter warning.
|
300
300
|
// Can't comment out the name because some compilers and formatters don't
|
301
301
|
// like the sequence */* , which would arise from */*fn*/.
|
@@ -96,8 +96,8 @@ struct Timestamps {
|
|
96
96
|
uint32_t byte_offset; /* byte offset relative to the start of the RPC */
|
97
97
|
|
98
98
|
#ifdef GRPC_LINUX_ERRQUEUE
|
99
|
-
|
100
|
-
#endif
|
99
|
+
tcp_info info; /* tcp_info collected on sendmsg */
|
100
|
+
#endif /* GRPC_LINUX_ERRQUEUE */
|
101
101
|
};
|
102
102
|
|
103
103
|
/** TracedBuffer is a class to keep track of timestamps for a specific buffer in
|
@@ -105,7 +105,7 @@ struct Timestamps {
|
|
105
105
|
* this class would only be used by Linux platforms. For all other platforms,
|
106
106
|
* TracedBuffer would be an empty class.
|
107
107
|
*
|
108
|
-
* The timestamps collected are according to
|
108
|
+
* The timestamps collected are according to Timestamps declared
|
109
109
|
* above.
|
110
110
|
*
|
111
111
|
* A TracedBuffer list is kept track of using the head element of the list. If
|
@@ -120,33 +120,33 @@ class TracedBuffer {
|
|
120
120
|
|
121
121
|
/** Add a new entry in the TracedBuffer list pointed to by head. Also saves
|
122
122
|
* sendmsg_time with the current timestamp. */
|
123
|
-
static void AddNewEntry(
|
124
|
-
|
123
|
+
static void AddNewEntry(TracedBuffer** head, uint32_t seq_no, int fd,
|
124
|
+
void* arg);
|
125
125
|
|
126
126
|
/** Processes a received timestamp based on sock_extended_err and
|
127
127
|
* scm_timestamping structures. It will invoke the timestamps callback if the
|
128
128
|
* timestamp type is SCM_TSTAMP_ACK. */
|
129
|
-
static void ProcessTimestamp(
|
129
|
+
static void ProcessTimestamp(TracedBuffer** head,
|
130
130
|
struct sock_extended_err* serr,
|
131
131
|
struct cmsghdr* opt_stats,
|
132
132
|
struct scm_timestamping* tss);
|
133
133
|
|
134
134
|
/** Cleans the list by calling the callback for each traced buffer in the list
|
135
135
|
* with timestamps that it has. */
|
136
|
-
static void Shutdown(
|
136
|
+
static void Shutdown(TracedBuffer** head, void* remaining,
|
137
137
|
grpc_error_handle shutdown_err);
|
138
138
|
|
139
139
|
private:
|
140
|
-
uint32_t seq_no_;
|
141
|
-
void* arg_;
|
142
|
-
|
143
|
-
|
140
|
+
uint32_t seq_no_; /* The sequence number for the last byte in the buffer */
|
141
|
+
void* arg_; /* The arg to pass to timestamps_callback */
|
142
|
+
Timestamps ts_; /* The timestamps corresponding to this buffer */
|
143
|
+
TracedBuffer* next_; /* The next TracedBuffer in the list */
|
144
144
|
};
|
145
145
|
#else /* GRPC_LINUX_ERRQUEUE */
|
146
146
|
class TracedBuffer {
|
147
147
|
public:
|
148
148
|
/* Phony shutdown function */
|
149
|
-
static void Shutdown(
|
149
|
+
static void Shutdown(TracedBuffer** /*head*/, void* /*remaining*/,
|
150
150
|
grpc_error_handle shutdown_err) {
|
151
151
|
GRPC_ERROR_UNREF(shutdown_err);
|
152
152
|
}
|
@@ -156,7 +156,7 @@ class TracedBuffer {
|
|
156
156
|
/** Sets the callback function to call when timestamps for a write are
|
157
157
|
* collected. The callback does not own a reference to error. */
|
158
158
|
void grpc_tcp_set_write_timestamps_callback(
|
159
|
-
void (*fn)(void*,
|
159
|
+
void (*fn)(void*, Timestamps*, grpc_error_handle error));
|
160
160
|
|
161
161
|
} /* namespace grpc_core */
|
162
162
|
|
@@ -34,7 +34,7 @@ DebugOnlyTraceFlag grpc_call_combiner_trace(false, "call_combiner");
|
|
34
34
|
namespace {
|
35
35
|
|
36
36
|
// grpc_error LSB can be used
|
37
|
-
constexpr
|
37
|
+
constexpr intptr_t kErrorBit = 1;
|
38
38
|
|
39
39
|
grpc_error_handle DecodeCancelStateError(gpr_atm cancel_state) {
|
40
40
|
if (cancel_state & kErrorBit) {
|
@@ -91,8 +91,7 @@ void CallCombiner::TsanClosure(void* arg, grpc_error_handle error) {
|
|
91
91
|
} else {
|
92
92
|
lock.reset();
|
93
93
|
}
|
94
|
-
|
95
|
-
GRPC_ERROR_REF(error));
|
94
|
+
Closure::Run(DEBUG_LOCATION, self->original_closure_, GRPC_ERROR_REF(error));
|
96
95
|
if (lock != nullptr) {
|
97
96
|
TSAN_ANNOTATE_RWLOCK_RELEASED(&lock->taken, true);
|
98
97
|
bool prev = true;
|
@@ -29,7 +29,6 @@
|
|
29
29
|
|
30
30
|
#include "src/core/lib/iomgr/pollset.h"
|
31
31
|
#include "src/core/lib/iomgr/pollset_set.h"
|
32
|
-
#include "src/core/lib/iomgr/resource_quota.h"
|
33
32
|
|
34
33
|
/* An endpoint caps a streaming channel between two communicating processes.
|
35
34
|
Examples may be: a tcp socket, <stdin+stdout>, or some shared memory. */
|
@@ -59,10 +59,8 @@ struct CFStreamEndpoint {
|
|
59
59
|
|
60
60
|
std::string peer_string;
|
61
61
|
std::string local_address;
|
62
|
-
grpc_slice_allocator* slice_allocator;
|
63
62
|
};
|
64
63
|
static void CFStreamFree(CFStreamEndpoint* ep) {
|
65
|
-
grpc_slice_allocator_destroy(ep->slice_allocator);
|
66
64
|
CFRelease(ep->read_stream);
|
67
65
|
CFRelease(ep->write_stream);
|
68
66
|
CFSTREAM_HANDLE_UNREF(ep->stream_sync, "free");
|
@@ -238,17 +236,6 @@ static void WriteAction(void* arg, grpc_error_handle error) {
|
|
238
236
|
grpc_slice_unref_internal(slice);
|
239
237
|
}
|
240
238
|
|
241
|
-
static void CFStreamReadAllocationDone(void* arg, grpc_error_handle error) {
|
242
|
-
CFStreamEndpoint* ep = static_cast<CFStreamEndpoint*>(arg);
|
243
|
-
if (error == GRPC_ERROR_NONE) {
|
244
|
-
ep->stream_sync->NotifyOnRead(&ep->read_action);
|
245
|
-
} else {
|
246
|
-
grpc_slice_buffer_reset_and_unref_internal(ep->read_slices);
|
247
|
-
CallReadCb(ep, error);
|
248
|
-
EP_UNREF(ep, "read");
|
249
|
-
}
|
250
|
-
}
|
251
|
-
|
252
239
|
static void CFStreamRead(grpc_endpoint* ep, grpc_slice_buffer* slices,
|
253
240
|
grpc_closure* cb, bool urgent) {
|
254
241
|
CFStreamEndpoint* ep_impl = reinterpret_cast<CFStreamEndpoint*>(ep);
|
@@ -260,13 +247,10 @@ static void CFStreamRead(grpc_endpoint* ep, grpc_slice_buffer* slices,
|
|
260
247
|
ep_impl->read_cb = cb;
|
261
248
|
ep_impl->read_slices = slices;
|
262
249
|
grpc_slice_buffer_reset_and_unref_internal(slices);
|
250
|
+
grpc_slice_buffer_add_indexed(
|
251
|
+
slices, GRPC_SLICE_MALLOC(GRPC_TCP_DEFAULT_READ_SLICE_SIZE));
|
263
252
|
EP_REF(ep_impl, "read");
|
264
|
-
|
265
|
-
ep_impl->slice_allocator, GRPC_TCP_DEFAULT_READ_SLICE_SIZE, 1,
|
266
|
-
grpc_slice_allocator_intent::kReadBuffer, ep_impl->read_slices,
|
267
|
-
CFStreamReadAllocationDone, ep_impl)) {
|
268
|
-
ep_impl->stream_sync->NotifyOnRead(&ep_impl->read_action);
|
269
|
-
}
|
253
|
+
ep_impl->stream_sync->NotifyOnRead(&ep_impl->read_action);
|
270
254
|
}
|
271
255
|
|
272
256
|
static void CFStreamWrite(grpc_endpoint* ep, grpc_slice_buffer* slices,
|
@@ -337,10 +321,10 @@ static const grpc_endpoint_vtable vtable = {CFStreamRead,
|
|
337
321
|
CFStreamGetFD,
|
338
322
|
CFStreamCanTrackErr};
|
339
323
|
|
340
|
-
grpc_endpoint* grpc_cfstream_endpoint_create(
|
341
|
-
|
342
|
-
|
343
|
-
|
324
|
+
grpc_endpoint* grpc_cfstream_endpoint_create(CFReadStreamRef read_stream,
|
325
|
+
CFWriteStreamRef write_stream,
|
326
|
+
const char* peer_string,
|
327
|
+
CFStreamHandle* stream_sync) {
|
344
328
|
CFStreamEndpoint* ep_impl = new CFStreamEndpoint;
|
345
329
|
if (grpc_tcp_trace.enabled()) {
|
346
330
|
gpr_log(GPR_DEBUG,
|
@@ -381,7 +365,6 @@ grpc_endpoint* grpc_cfstream_endpoint_create(
|
|
381
365
|
static_cast<void*>(ep_impl), grpc_schedule_on_exec_ctx);
|
382
366
|
GRPC_CLOSURE_INIT(&ep_impl->write_action, WriteAction,
|
383
367
|
static_cast<void*>(ep_impl), grpc_schedule_on_exec_ctx);
|
384
|
-
ep_impl->slice_allocator = slice_allocator;
|
385
368
|
|
386
369
|
return &ep_impl->base;
|
387
370
|
}
|
@@ -39,10 +39,10 @@
|
|
39
39
|
#include "src/core/lib/iomgr/cfstream_handle.h"
|
40
40
|
#include "src/core/lib/iomgr/endpoint.h"
|
41
41
|
|
42
|
-
grpc_endpoint* grpc_cfstream_endpoint_create(
|
43
|
-
|
44
|
-
|
45
|
-
|
42
|
+
grpc_endpoint* grpc_cfstream_endpoint_create(CFReadStreamRef read_stream,
|
43
|
+
CFWriteStreamRef write_stream,
|
44
|
+
const char* peer_string,
|
45
|
+
CFStreamHandle* stream_sync);
|
46
46
|
|
47
47
|
#endif /* GRPC_CFSTREAM */
|
48
48
|
|
@@ -40,6 +40,7 @@
|
|
40
40
|
#include "src/core/lib/iomgr/socket_utils_posix.h"
|
41
41
|
#include "src/core/lib/iomgr/tcp_posix.h"
|
42
42
|
#include "src/core/lib/iomgr/unix_sockets_posix.h"
|
43
|
+
#include "src/core/lib/resource_quota/api.h"
|
43
44
|
|
44
45
|
static void create_sockets(int sv[2]) {
|
45
46
|
int flags;
|
@@ -59,18 +60,15 @@ grpc_endpoint_pair grpc_iomgr_create_endpoint_pair(const char* name,
|
|
59
60
|
create_sockets(sv);
|
60
61
|
grpc_core::ExecCtx exec_ctx;
|
61
62
|
std::string final_name = absl::StrCat(name, ":client");
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
grpc_slice_allocator_create(resource_quota, "server_endpoint", args));
|
63
|
+
const grpc_channel_args* new_args = grpc_core::CoreConfiguration::Get()
|
64
|
+
.channel_args_preconditioning()
|
65
|
+
.PreconditionChannelArgs(args);
|
66
|
+
p.client = grpc_tcp_create(grpc_fd_create(sv[1], final_name.c_str(), false),
|
67
|
+
new_args, "socketpair-server");
|
68
68
|
final_name = absl::StrCat(name, ":server");
|
69
|
-
p.server = grpc_tcp_create(
|
70
|
-
|
71
|
-
|
72
|
-
grpc_slice_allocator_create(resource_quota, "client_endpoint", args));
|
73
|
-
grpc_resource_quota_unref_internal(resource_quota);
|
69
|
+
p.server = grpc_tcp_create(grpc_fd_create(sv[0], final_name.c_str(), false),
|
70
|
+
new_args, "socketpair-client");
|
71
|
+
grpc_channel_args_destroy(new_args);
|
74
72
|
return p;
|
75
73
|
}
|
76
74
|
|
@@ -71,24 +71,15 @@ static void create_sockets(SOCKET sv[2]) {
|
|
71
71
|
}
|
72
72
|
|
73
73
|
grpc_endpoint_pair grpc_iomgr_create_endpoint_pair(
|
74
|
-
const char
|
74
|
+
const char*, grpc_channel_args* channel_args) {
|
75
75
|
SOCKET sv[2];
|
76
76
|
grpc_endpoint_pair p;
|
77
77
|
create_sockets(sv);
|
78
78
|
grpc_core::ExecCtx exec_ctx;
|
79
|
-
|
80
|
-
|
81
|
-
p.
|
82
|
-
|
83
|
-
channel_args, "endpoint:server",
|
84
|
-
grpc_slice_allocator_create(
|
85
|
-
resource_quota, "endpoint:server", channel_args));
|
86
|
-
p.server =
|
87
|
-
grpc_tcp_create(grpc_winsocket_create(sv[0], "endpoint:server"),
|
88
|
-
channel_args, "endpoint:client",
|
89
|
-
grpc_slice_allocator_create(
|
90
|
-
resource_quota, "endpoint:client", channel_args));
|
91
|
-
grpc_resource_quota_unref_internal(resource_quota);
|
79
|
+
p.client = grpc_tcp_create(grpc_winsocket_create(sv[1], "endpoint:client"),
|
80
|
+
channel_args, "endpoint:server");
|
81
|
+
p.server = grpc_tcp_create(grpc_winsocket_create(sv[0], "endpoint:server"),
|
82
|
+
channel_args, "endpoint:client");
|
92
83
|
return p;
|
93
84
|
}
|
94
85
|
|
@@ -39,7 +39,6 @@ namespace {
|
|
39
39
|
|
40
40
|
using ::grpc_event_engine::experimental::EventEngine;
|
41
41
|
using ::grpc_event_engine::experimental::ResolvedAddressToURI;
|
42
|
-
using ::grpc_event_engine::experimental::SliceAllocator;
|
43
42
|
using ::grpc_event_engine::experimental::SliceBuffer;
|
44
43
|
|
45
44
|
void endpoint_read(grpc_endpoint* ep, grpc_slice_buffer* slices,
|
@@ -163,8 +162,8 @@ grpc_event_engine_endpoint* grpc_tcp_server_endpoint_create(
|
|
163
162
|
return endpoint;
|
164
163
|
}
|
165
164
|
|
166
|
-
grpc_endpoint* grpc_tcp_create(const grpc_channel_args* channel_args
|
167
|
-
absl::string_view peer_address) {
|
165
|
+
grpc_endpoint* grpc_tcp_create(const grpc_channel_args* /* channel_args */,
|
166
|
+
absl::string_view /* peer_address */) {
|
168
167
|
auto endpoint = new grpc_event_engine_endpoint;
|
169
168
|
endpoint->base.vtable = &grpc_event_engine_endpoint_vtable;
|
170
169
|
return &endpoint->base;
|
@@ -18,7 +18,6 @@
|
|
18
18
|
|
19
19
|
#include "src/core/lib/debug/trace.h"
|
20
20
|
#include "src/core/lib/iomgr/closure.h"
|
21
|
-
#include "src/core/lib/iomgr/event_engine/iomgr.h"
|
22
21
|
#include "src/core/lib/iomgr/iomgr_internal.h"
|
23
22
|
#include "src/core/lib/iomgr/tcp_client.h"
|
24
23
|
#include "src/core/lib/iomgr/tcp_server.h"
|
@@ -38,25 +37,21 @@ grpc_core::DebugOnlyTraceFlag grpc_polling_trace(false, "polling");
|
|
38
37
|
|
39
38
|
namespace {
|
40
39
|
|
41
|
-
using ::grpc_event_engine::experimental::DefaultEventEngineFactory;
|
42
40
|
using ::grpc_event_engine::experimental::EventEngine;
|
43
|
-
|
44
|
-
EventEngine* g_event_engine = nullptr;
|
41
|
+
using ::grpc_event_engine::experimental::GetDefaultEventEngine;
|
45
42
|
|
46
43
|
// TODO(nnoble): Instantiate the default EventEngine if none have been provided.
|
47
|
-
void iomgr_platform_init(void) {
|
44
|
+
void iomgr_platform_init(void) {}
|
48
45
|
|
49
46
|
void iomgr_platform_flush(void) {}
|
50
47
|
|
51
|
-
void iomgr_platform_shutdown(void) {
|
52
|
-
delete g_event_engine;
|
53
|
-
g_event_engine = nullptr;
|
54
|
-
}
|
48
|
+
void iomgr_platform_shutdown(void) {}
|
55
49
|
|
56
50
|
void iomgr_platform_shutdown_background_closure(void) {}
|
57
51
|
|
58
52
|
bool iomgr_platform_is_any_background_poller_thread(void) {
|
59
|
-
return
|
53
|
+
return grpc_event_engine::experimental::GetDefaultEventEngine()
|
54
|
+
->IsWorkerThread();
|
60
55
|
}
|
61
56
|
|
62
57
|
bool iomgr_platform_add_closure_to_background_poller(
|
@@ -86,19 +81,4 @@ void grpc_set_default_iomgr_platform() {
|
|
86
81
|
|
87
82
|
bool grpc_iomgr_run_in_background() { return false; }
|
88
83
|
|
89
|
-
grpc_event_engine::experimental::EventEngine* grpc_iomgr_event_engine() {
|
90
|
-
return g_event_engine;
|
91
|
-
}
|
92
|
-
|
93
|
-
namespace grpc_core {
|
94
|
-
|
95
|
-
void SetDefaultEventEngine(
|
96
|
-
std::unique_ptr<grpc_event_engine::experimental::EventEngine>
|
97
|
-
event_engine) {
|
98
|
-
GPR_ASSERT(g_event_engine == nullptr);
|
99
|
-
g_event_engine = event_engine.release();
|
100
|
-
}
|
101
|
-
|
102
|
-
} // namespace grpc_core
|
103
|
-
|
104
84
|
#endif // GRPC_USE_EVENT_ENGINE
|