grpc 1.34.0 → 1.35.0.pre1
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 +808 -2787
- data/etc/roots.pem +257 -573
- data/include/grpc/compression.h +1 -1
- data/include/grpc/grpc.h +14 -0
- data/include/grpc/grpc_security.h +61 -3
- data/include/grpc/impl/codegen/atm_windows.h +4 -0
- data/include/grpc/impl/codegen/byte_buffer.h +1 -1
- data/include/grpc/impl/codegen/grpc_types.h +1 -1
- data/include/grpc/impl/codegen/log.h +0 -2
- data/include/grpc/impl/codegen/sync_windows.h +4 -0
- data/include/grpc/slice_buffer.h +3 -3
- data/include/grpc/support/sync.h +3 -3
- data/include/grpc/support/time.h +7 -7
- data/src/core/ext/filters/client_channel/backend_metric.cc +2 -4
- data/src/core/ext/filters/client_channel/client_channel.cc +2734 -1498
- data/src/core/ext/filters/client_channel/client_channel.h +0 -4
- data/src/core/ext/filters/client_channel/client_channel_plugin.cc +1 -1
- data/src/core/ext/filters/client_channel/config_selector.h +4 -0
- data/src/core/ext/filters/client_channel/dynamic_filters.cc +186 -0
- data/src/core/ext/filters/client_channel/dynamic_filters.h +99 -0
- data/src/core/ext/filters/client_channel/health/health_check_client.cc +6 -6
- data/src/core/ext/filters/client_channel/health/health_check_client.h +2 -2
- data/src/core/ext/filters/client_channel/http_connect_handshaker.cc +4 -5
- data/src/core/ext/filters/client_channel/http_proxy.cc +21 -20
- data/src/core/ext/filters/client_channel/lb_policy.cc +1 -1
- data/src/core/ext/filters/client_channel/lb_policy.h +2 -3
- data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.cc +32 -30
- data/src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.cc +3 -3
- data/src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.h +1 -1
- data/src/core/ext/filters/client_channel/lb_policy/xds/cds.cc +162 -20
- data/src/core/ext/filters/client_channel/lb_policy/xds/xds.h +0 -8
- data/src/core/ext/filters/client_channel/lb_policy/xds/xds_channel_args.h +24 -0
- data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_impl.cc +5 -2
- data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_manager.cc +1 -1
- data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_resolver.cc +1262 -0
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.cc +7 -14
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver.h +1 -32
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_posix.cc +2 -2
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.cc +454 -16
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.h +5 -0
- data/src/core/ext/filters/client_channel/resolver/dns/native/dns_resolver.cc +6 -9
- data/src/core/ext/filters/client_channel/resolver/fake/fake_resolver.cc +2 -2
- data/src/core/ext/filters/client_channel/resolver/sockaddr/sockaddr_resolver.cc +18 -31
- data/src/core/ext/filters/client_channel/resolver/xds/xds_resolver.cc +3 -5
- data/src/core/ext/filters/client_channel/resolver_factory.h +6 -6
- data/src/core/ext/filters/client_channel/resolver_registry.cc +40 -39
- data/src/core/ext/filters/client_channel/resolver_registry.h +2 -2
- data/src/core/ext/filters/client_channel/resolver_result_parsing.cc +11 -13
- data/src/core/ext/filters/client_channel/resolver_result_parsing.h +8 -8
- data/src/core/ext/filters/client_channel/retry_throttle.cc +5 -3
- data/src/core/ext/filters/client_channel/retry_throttle.h +3 -1
- data/src/core/ext/filters/client_channel/service_config_call_data.h +19 -1
- data/src/core/ext/filters/client_channel/subchannel.cc +34 -50
- data/src/core/ext/filters/client_channel/subchannel.h +12 -18
- data/src/core/ext/filters/deadline/deadline_filter.cc +4 -2
- data/src/core/ext/filters/http/client_authority_filter.cc +6 -6
- data/src/core/ext/filters/http/http_filters_plugin.cc +6 -3
- data/src/core/ext/filters/message_size/message_size_filter.cc +1 -1
- data/src/core/ext/filters/workarounds/workaround_utils.cc +1 -1
- data/src/core/ext/transport/chttp2/client/authority.cc +3 -3
- data/src/core/ext/transport/chttp2/client/insecure/channel_create.cc +20 -8
- data/src/core/ext/transport/chttp2/client/insecure/channel_create_posix.cc +21 -10
- data/src/core/ext/transport/chttp2/client/secure/secure_channel_create.cc +26 -14
- data/src/core/ext/transport/chttp2/server/chttp2_server.cc +178 -86
- data/src/core/ext/transport/chttp2/server/insecure/server_chttp2_posix.cc +12 -5
- data/src/core/ext/transport/chttp2/transport/chttp2_transport.cc +7 -8
- data/src/core/ext/transport/chttp2/transport/flow_control.h +1 -1
- data/src/core/ext/transport/chttp2/transport/frame_settings.h +2 -1
- data/src/core/ext/transport/chttp2/transport/frame_window_update.cc +6 -6
- data/src/core/ext/transport/chttp2/transport/writing.cc +1 -1
- data/src/core/ext/transport/inproc/inproc_transport.cc +42 -8
- data/src/core/ext/upb-generated/envoy/annotations/deprecation.upb.h +1 -0
- 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 -0
- data/src/core/ext/upb-generated/envoy/config/accesslog/v3/accesslog.upb.c +27 -27
- data/src/core/ext/upb-generated/envoy/config/accesslog/v3/accesslog.upb.h +139 -40
- data/src/core/ext/upb-generated/envoy/config/cluster/v3/circuit_breaker.upb.c +13 -13
- data/src/core/ext/upb-generated/envoy/config/cluster/v3/circuit_breaker.upb.h +44 -17
- data/src/core/ext/upb-generated/envoy/config/cluster/v3/cluster.upb.c +111 -111
- data/src/core/ext/upb-generated/envoy/config/cluster/v3/cluster.upb.h +424 -241
- data/src/core/ext/upb-generated/envoy/config/cluster/v3/filter.upb.c +3 -3
- data/src/core/ext/upb-generated/envoy/config/cluster/v3/filter.upb.h +13 -5
- data/src/core/ext/upb-generated/envoy/config/cluster/v3/outlier_detection.upb.c +22 -22
- data/src/core/ext/upb-generated/envoy/config/cluster/v3/outlier_detection.upb.h +47 -21
- data/src/core/ext/upb-generated/envoy/config/core/v3/address.upb.c +21 -21
- data/src/core/ext/upb-generated/envoy/config/core/v3/address.upb.h +88 -39
- data/src/core/ext/upb-generated/envoy/config/core/v3/backoff.upb.c +4 -4
- data/src/core/ext/upb-generated/envoy/config/core/v3/backoff.upb.h +15 -6
- data/src/core/ext/upb-generated/envoy/config/core/v3/base.upb.c +44 -44
- data/src/core/ext/upb-generated/envoy/config/core/v3/base.upb.h +200 -78
- data/src/core/ext/upb-generated/envoy/config/core/v3/config_source.upb.c +17 -17
- data/src/core/ext/upb-generated/envoy/config/core/v3/config_source.upb.h +72 -35
- 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 +7 -0
- data/src/core/ext/upb-generated/envoy/config/core/v3/extension.upb.c +7 -7
- data/src/core/ext/upb-generated/envoy/config/core/v3/extension.upb.h +27 -11
- data/src/core/ext/upb-generated/envoy/config/core/v3/grpc_service.upb.c +30 -30
- data/src/core/ext/upb-generated/envoy/config/core/v3/grpc_service.upb.h +136 -49
- data/src/core/ext/upb-generated/envoy/config/core/v3/health_check.upb.c +39 -39
- data/src/core/ext/upb-generated/envoy/config/core/v3/health_check.upb.h +157 -89
- data/src/core/ext/upb-generated/envoy/config/core/v3/http_uri.upb.c +4 -4
- data/src/core/ext/upb-generated/envoy/config/core/v3/http_uri.upb.h +17 -9
- data/src/core/ext/upb-generated/envoy/config/core/v3/protocol.upb.c +47 -47
- data/src/core/ext/upb-generated/envoy/config/core/v3/protocol.upb.h +163 -78
- 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 +7 -0
- data/src/core/ext/upb-generated/envoy/config/core/v3/socket_option.upb.c +2 -2
- data/src/core/ext/upb-generated/envoy/config/core/v3/socket_option.upb.h +9 -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 +7 -0
- data/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint.upb.c +13 -13
- data/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint.upb.h +59 -36
- data/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint_components.upb.c +16 -16
- data/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint_components.upb.h +61 -29
- data/src/core/ext/upb-generated/envoy/config/endpoint/v3/load_report.upb.c +26 -26
- data/src/core/ext/upb-generated/envoy/config/endpoint/v3/load_report.upb.h +101 -66
- data/src/core/ext/upb-generated/envoy/config/listener/v3/api_listener.upb.c +2 -2
- data/src/core/ext/upb-generated/envoy/config/listener/v3/api_listener.upb.h +11 -3
- data/src/core/ext/upb-generated/envoy/config/listener/v3/listener.upb.c +28 -28
- data/src/core/ext/upb-generated/envoy/config/listener/v3/listener.upb.h +122 -77
- data/src/core/ext/upb-generated/envoy/config/listener/v3/listener_components.upb.c +23 -23
- data/src/core/ext/upb-generated/envoy/config/listener/v3/listener_components.upb.h +106 -54
- data/src/core/ext/upb-generated/envoy/config/listener/v3/udp_listener_config.upb.c +2 -2
- data/src/core/ext/upb-generated/envoy/config/listener/v3/udp_listener_config.upb.h +13 -0
- data/src/core/ext/upb-generated/envoy/config/rbac/v3/rbac.upb.c +16 -16
- data/src/core/ext/upb-generated/envoy/config/rbac/v3/rbac.upb.h +81 -35
- data/src/core/ext/upb-generated/envoy/config/route/v3/route.upb.c +7 -7
- data/src/core/ext/upb-generated/envoy/config/route/v3/route.upb.h +38 -22
- data/src/core/ext/upb-generated/envoy/config/route/v3/route_components.upb.c +203 -203
- data/src/core/ext/upb-generated/envoy/config/route/v3/route_components.upb.h +845 -495
- data/src/core/ext/upb-generated/envoy/config/route/v3/scoped_route.upb.c +5 -5
- data/src/core/ext/upb-generated/envoy/config/route/v3/scoped_route.upb.h +26 -6
- data/src/core/ext/upb-generated/envoy/config/trace/v3/http_tracer.upb.c +3 -3
- data/src/core/ext/upb-generated/envoy/config/trace/v3/http_tracer.upb.h +17 -3
- data/src/core/ext/upb-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.c +87 -87
- data/src/core/ext/upb-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.h +343 -204
- data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/cert.upb.h +1 -0
- data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/common.upb.c +20 -20
- data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/common.upb.h +85 -46
- data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/secret.upb.c +7 -7
- data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/secret.upb.h +33 -11
- data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/tls.upb.c +32 -32
- data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/tls.upb.h +118 -67
- data/src/core/ext/upb-generated/envoy/service/cluster/v3/cds.upb.c +1 -1
- data/src/core/ext/upb-generated/envoy/service/cluster/v3/cds.upb.h +7 -0
- 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 +7 -0
- data/src/core/ext/upb-generated/envoy/service/discovery/v3/discovery.upb.c +29 -29
- data/src/core/ext/upb-generated/envoy/service/discovery/v3/discovery.upb.h +120 -82
- data/src/core/ext/upb-generated/envoy/service/endpoint/v3/eds.upb.c +1 -1
- data/src/core/ext/upb-generated/envoy/service/endpoint/v3/eds.upb.h +7 -0
- data/src/core/ext/upb-generated/envoy/service/listener/v3/lds.upb.c +1 -1
- data/src/core/ext/upb-generated/envoy/service/listener/v3/lds.upb.h +7 -0
- data/src/core/ext/upb-generated/envoy/service/load_stats/v3/lrs.upb.c +7 -7
- data/src/core/ext/upb-generated/envoy/service/load_stats/v3/lrs.upb.h +31 -16
- data/src/core/ext/upb-generated/envoy/service/route/v3/rds.upb.c +1 -1
- data/src/core/ext/upb-generated/envoy/service/route/v3/rds.upb.h +7 -0
- data/src/core/ext/upb-generated/envoy/service/route/v3/srds.upb.c +1 -1
- data/src/core/ext/upb-generated/envoy/service/route/v3/srds.upb.h +7 -0
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/metadata.upb.c +5 -5
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/metadata.upb.h +25 -11
- 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 +7 -0
- 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 +7 -0
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/regex.upb.c +6 -6
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/regex.upb.h +29 -8
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/string.upb.c +2 -2
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/string.upb.h +16 -3
- 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 +19 -0
- 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 +46 -3
- data/src/core/ext/upb-generated/envoy/type/tracing/v3/custom_tag.upb.c +8 -8
- data/src/core/ext/upb-generated/envoy/type/tracing/v3/custom_tag.upb.h +41 -8
- data/src/core/ext/upb-generated/envoy/type/v3/http.upb.h +1 -0
- data/src/core/ext/upb-generated/envoy/type/v3/percent.upb.c +3 -3
- data/src/core/ext/upb-generated/envoy/type/v3/percent.upb.h +15 -2
- data/src/core/ext/upb-generated/envoy/type/v3/range.upb.c +3 -3
- data/src/core/ext/upb-generated/envoy/type/v3/range.upb.h +19 -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 +7 -0
- data/src/core/ext/upb-generated/google/api/annotations.upb.h +1 -0
- data/src/core/ext/upb-generated/google/api/expr/v1alpha1/checked.upb.c +34 -34
- data/src/core/ext/upb-generated/google/api/expr/v1alpha1/checked.upb.h +149 -72
- data/src/core/ext/upb-generated/google/api/expr/v1alpha1/syntax.upb.c +34 -34
- data/src/core/ext/upb-generated/google/api/expr/v1alpha1/syntax.upb.h +142 -59
- data/src/core/ext/upb-generated/google/api/http.upb.c +3 -3
- data/src/core/ext/upb-generated/google/api/http.upb.h +25 -6
- data/src/core/ext/upb-generated/google/protobuf/any.upb.c +1 -1
- data/src/core/ext/upb-generated/google/protobuf/any.upb.h +7 -0
- data/src/core/ext/upb-generated/google/protobuf/descriptor.upb.c +90 -90
- data/src/core/ext/upb-generated/google/protobuf/descriptor.upb.h +455 -292
- data/src/core/ext/upb-generated/google/protobuf/duration.upb.c +1 -1
- data/src/core/ext/upb-generated/google/protobuf/duration.upb.h +7 -0
- data/src/core/ext/upb-generated/google/protobuf/empty.upb.c +1 -1
- data/src/core/ext/upb-generated/google/protobuf/empty.upb.h +7 -0
- data/src/core/ext/upb-generated/google/protobuf/struct.upb.c +4 -4
- data/src/core/ext/upb-generated/google/protobuf/struct.upb.h +22 -3
- data/src/core/ext/upb-generated/google/protobuf/timestamp.upb.c +1 -1
- data/src/core/ext/upb-generated/google/protobuf/timestamp.upb.h +7 -0
- data/src/core/ext/upb-generated/google/protobuf/wrappers.upb.c +9 -9
- data/src/core/ext/upb-generated/google/protobuf/wrappers.upb.h +55 -0
- data/src/core/ext/upb-generated/google/rpc/status.upb.c +1 -1
- data/src/core/ext/upb-generated/google/rpc/status.upb.h +10 -3
- data/src/core/ext/upb-generated/src/proto/grpc/gcp/altscontext.upb.c +4 -4
- data/src/core/ext/upb-generated/src/proto/grpc/gcp/altscontext.upb.h +11 -3
- data/src/core/ext/upb-generated/src/proto/grpc/gcp/handshaker.upb.c +41 -41
- data/src/core/ext/upb-generated/src/proto/grpc/gcp/handshaker.upb.h +149 -76
- data/src/core/ext/upb-generated/src/proto/grpc/gcp/transport_security_common.upb.c +5 -5
- data/src/core/ext/upb-generated/src/proto/grpc/gcp/transport_security_common.upb.h +21 -6
- 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 +13 -0
- data/src/core/ext/upb-generated/src/proto/grpc/lb/v1/load_balancer.upb.c +17 -17
- data/src/core/ext/upb-generated/src/proto/grpc/lb/v1/load_balancer.upb.h +82 -25
- data/src/core/ext/upb-generated/udpa/annotations/migrate.upb.c +3 -3
- data/src/core/ext/upb-generated/udpa/annotations/migrate.upb.h +19 -0
- 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 -0
- data/src/core/ext/upb-generated/udpa/annotations/sensitive.upb.h +1 -0
- data/src/core/ext/upb-generated/udpa/annotations/status.upb.c +2 -2
- data/src/core/ext/upb-generated/udpa/annotations/status.upb.h +9 -2
- 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 -0
- data/src/core/ext/upb-generated/udpa/core/v1/authority.upb.c +1 -1
- data/src/core/ext/upb-generated/udpa/core/v1/authority.upb.h +7 -0
- data/src/core/ext/upb-generated/udpa/core/v1/collection_entry.upb.c +5 -5
- data/src/core/ext/upb-generated/udpa/core/v1/collection_entry.upb.h +21 -7
- data/src/core/ext/upb-generated/udpa/core/v1/context_params.upb.c +2 -2
- data/src/core/ext/upb-generated/udpa/core/v1/context_params.upb.h +7 -0
- data/src/core/ext/upb-generated/udpa/core/v1/resource.upb.c +4 -4
- data/src/core/ext/upb-generated/udpa/core/v1/resource.upb.h +17 -8
- data/src/core/ext/upb-generated/udpa/core/v1/resource_locator.upb.c +7 -7
- data/src/core/ext/upb-generated/udpa/core/v1/resource_locator.upb.h +31 -18
- data/src/core/ext/upb-generated/udpa/core/v1/resource_name.upb.c +5 -5
- data/src/core/ext/upb-generated/udpa/core/v1/resource_name.upb.h +19 -11
- data/src/core/ext/upb-generated/udpa/data/orca/v1/orca_load_report.upb.c +3 -3
- data/src/core/ext/upb-generated/udpa/data/orca/v1/orca_load_report.upb.h +7 -0
- data/src/core/ext/upb-generated/validate/validate.upb.c +64 -64
- data/src/core/ext/upb-generated/validate/validate.upb.h +296 -157
- data/src/core/ext/xds/certificate_provider_store.cc +10 -7
- data/src/core/ext/xds/certificate_provider_store.h +12 -7
- data/src/core/ext/xds/file_watcher_certificate_provider_factory.cc +25 -0
- data/src/core/ext/xds/file_watcher_certificate_provider_factory.h +1 -4
- data/src/core/ext/xds/xds_api.cc +220 -31
- data/src/core/ext/xds/xds_api.h +41 -10
- data/src/core/ext/xds/xds_bootstrap.h +0 -1
- data/src/core/ext/xds/xds_certificate_provider.cc +61 -2
- data/src/core/ext/xds/xds_certificate_provider.h +40 -2
- data/src/core/ext/xds/xds_client.cc +31 -29
- data/src/core/ext/xds/xds_client.h +6 -1
- data/src/core/ext/xds/xds_client_stats.cc +2 -2
- data/src/core/ext/xds/xds_server_config_fetcher.cc +131 -0
- data/src/core/lib/channel/channel_args.cc +8 -8
- data/src/core/lib/channel/channel_trace.h +1 -1
- data/src/core/lib/channel/channelz.cc +13 -14
- data/src/core/lib/channel/channelz.h +0 -1
- data/src/core/lib/channel/channelz_registry.h +0 -1
- data/src/core/lib/channel/handshaker.cc +2 -2
- data/src/core/lib/compression/compression_args.cc +3 -2
- data/src/core/lib/debug/stats.h +2 -2
- data/src/core/lib/debug/stats_data.h +13 -13
- data/src/core/lib/gpr/alloc.cc +3 -2
- data/src/core/lib/gpr/log.cc +53 -16
- data/src/core/lib/gpr/log_linux.cc +3 -1
- data/src/core/lib/gpr/log_posix.cc +3 -1
- data/src/core/lib/gpr/log_windows.cc +3 -1
- data/src/core/lib/gpr/spinlock.h +10 -2
- data/src/core/lib/gpr/string.cc +22 -21
- data/src/core/lib/gpr/string.h +5 -6
- data/src/core/lib/gpr/sync.cc +4 -4
- data/src/core/lib/gpr/time.cc +12 -12
- data/src/core/lib/gprpp/arena.h +3 -2
- data/src/core/lib/gprpp/ref_counted.h +2 -2
- data/src/core/lib/gprpp/ref_counted_ptr.h +9 -1
- data/src/core/lib/gprpp/thd_posix.cc +6 -1
- data/src/core/lib/gprpp/thd_windows.cc +3 -1
- data/src/core/lib/http/httpcli.cc +1 -1
- data/src/core/lib/http/httpcli.h +2 -3
- data/src/core/lib/http/httpcli_security_connector.cc +1 -1
- data/src/core/lib/http/parser.cc +1 -2
- data/src/core/lib/iomgr/call_combiner.cc +8 -5
- data/src/core/lib/iomgr/combiner.cc +2 -1
- data/src/core/lib/iomgr/endpoint.h +1 -1
- data/src/core/lib/iomgr/error.cc +15 -11
- data/src/core/lib/iomgr/error_internal.h +1 -1
- data/src/core/lib/iomgr/ev_epoll1_linux.cc +20 -13
- data/src/core/lib/iomgr/ev_epollex_linux.cc +17 -13
- data/src/core/lib/iomgr/ev_poll_posix.cc +9 -7
- data/src/core/lib/iomgr/exec_ctx.h +6 -4
- data/src/core/lib/iomgr/executor.cc +2 -1
- data/src/core/lib/iomgr/executor.h +1 -1
- data/src/core/lib/iomgr/executor/threadpool.h +1 -1
- data/src/core/lib/iomgr/iomgr.cc +1 -1
- data/src/core/lib/iomgr/load_file.h +1 -1
- data/src/core/lib/iomgr/lockfree_event.cc +19 -14
- data/src/core/lib/iomgr/lockfree_event.h +2 -2
- data/src/core/lib/iomgr/parse_address.cc +52 -46
- data/src/core/lib/iomgr/parse_address.h +13 -9
- data/src/core/lib/iomgr/poller/eventmanager_libuv.h +1 -1
- data/src/core/lib/iomgr/pollset_set_custom.cc +1 -1
- data/src/core/lib/iomgr/python_util.h +1 -1
- data/src/core/lib/iomgr/resolve_address.cc +4 -4
- data/src/core/lib/iomgr/resource_quota.cc +4 -4
- data/src/core/lib/iomgr/sockaddr_utils.cc +10 -10
- data/src/core/lib/iomgr/sockaddr_utils.h +1 -1
- data/src/core/lib/iomgr/socket_factory_posix.cc +3 -2
- data/src/core/lib/iomgr/socket_mutator.cc +3 -2
- data/src/core/lib/iomgr/tcp_client.cc +3 -3
- data/src/core/lib/iomgr/tcp_client_custom.cc +7 -6
- data/src/core/lib/iomgr/tcp_custom.cc +22 -17
- data/src/core/lib/iomgr/tcp_posix.cc +9 -6
- data/src/core/lib/iomgr/tcp_server_custom.cc +28 -22
- data/src/core/lib/iomgr/timer_custom.cc +3 -3
- data/src/core/lib/iomgr/timer_generic.cc +3 -3
- data/src/core/lib/iomgr/timer_manager.cc +2 -2
- data/src/core/lib/iomgr/udp_server.cc +1 -2
- data/src/core/lib/iomgr/udp_server.h +1 -2
- data/src/core/lib/iomgr/unix_sockets_posix.cc +17 -18
- data/src/core/lib/json/json.h +10 -0
- data/src/core/lib/security/authorization/evaluate_args.cc +5 -10
- data/src/core/lib/security/authorization/evaluate_args.h +1 -1
- data/src/core/lib/security/context/security_context.cc +4 -3
- data/src/core/lib/security/credentials/alts/check_gcp_environment.cc +1 -1
- data/src/core/lib/security/credentials/credentials.cc +6 -6
- data/src/core/lib/security/credentials/external/aws_external_account_credentials.cc +413 -0
- data/src/core/lib/security/credentials/external/aws_external_account_credentials.h +80 -0
- data/src/core/lib/security/credentials/external/aws_request_signer.cc +15 -10
- data/src/core/lib/security/credentials/external/aws_request_signer.h +1 -2
- data/src/core/lib/security/credentials/external/external_account_credentials.cc +217 -31
- data/src/core/lib/security/credentials/external/external_account_credentials.h +7 -5
- data/src/core/lib/security/credentials/external/file_external_account_credentials.cc +5 -6
- data/src/core/lib/security/credentials/external/file_external_account_credentials.h +3 -4
- data/src/core/lib/security/credentials/external/url_external_account_credentials.cc +20 -18
- data/src/core/lib/security/credentials/external/url_external_account_credentials.h +5 -6
- data/src/core/lib/security/credentials/fake/fake_credentials.cc +2 -1
- data/src/core/lib/security/credentials/google_default/google_default_credentials.cc +18 -12
- data/src/core/lib/security/credentials/insecure/insecure_credentials.cc +18 -5
- data/src/core/lib/security/credentials/jwt/json_token.cc +1 -1
- data/src/core/lib/security/credentials/jwt/jwt_verifier.cc +3 -3
- data/src/core/lib/security/credentials/oauth2/oauth2_credentials.cc +37 -44
- data/src/core/lib/security/credentials/oauth2/oauth2_credentials.h +5 -4
- data/src/core/lib/security/credentials/plugin/plugin_credentials.cc +1 -1
- data/src/core/lib/security/credentials/ssl/ssl_credentials.cc +5 -5
- data/src/core/lib/security/credentials/ssl/ssl_credentials.h +1 -1
- data/src/core/lib/security/credentials/tls/grpc_tls_certificate_distributor.cc +1 -6
- data/src/core/lib/security/credentials/tls/grpc_tls_certificate_distributor.h +1 -6
- data/src/core/lib/security/credentials/tls/grpc_tls_certificate_provider.cc +326 -5
- data/src/core/lib/security/credentials/tls/grpc_tls_certificate_provider.h +64 -0
- data/src/core/lib/security/credentials/tls/grpc_tls_credentials_options.cc +1 -1
- data/src/core/lib/security/credentials/tls/grpc_tls_credentials_options.h +0 -1
- data/src/core/lib/security/credentials/tls/tls_credentials.cc +1 -1
- data/src/core/lib/security/credentials/tls/tls_utils.cc +91 -0
- data/src/core/lib/security/credentials/tls/tls_utils.h +38 -0
- data/src/core/lib/security/credentials/xds/xds_credentials.cc +140 -10
- data/src/core/lib/security/credentials/xds/xds_credentials.h +27 -9
- data/src/core/lib/security/security_connector/alts/alts_security_connector.cc +1 -1
- data/src/core/lib/security/security_connector/fake/fake_security_connector.cc +1 -1
- data/src/core/lib/security/security_connector/insecure/insecure_security_connector.cc +46 -13
- data/src/core/lib/security/security_connector/insecure/insecure_security_connector.h +23 -6
- data/src/core/lib/security/security_connector/local/local_security_connector.cc +1 -1
- data/src/core/lib/security/security_connector/security_connector.cc +3 -2
- data/src/core/lib/security/security_connector/ssl/ssl_security_connector.cc +4 -4
- data/src/core/lib/security/security_connector/ssl_utils.cc +2 -2
- data/src/core/lib/security/security_connector/ssl_utils.h +12 -19
- data/src/core/lib/security/security_connector/tls/tls_security_connector.cc +57 -12
- data/src/core/lib/security/security_connector/tls/tls_security_connector.h +2 -3
- data/src/core/lib/security/transport/secure_endpoint.cc +2 -2
- data/src/core/lib/security/transport/security_handshaker.cc +2 -2
- data/src/core/lib/slice/slice_intern.cc +4 -5
- data/src/core/lib/slice/slice_internal.h +2 -2
- data/src/core/lib/surface/call.cc +32 -24
- data/src/core/lib/surface/call_details.cc +8 -8
- data/src/core/lib/surface/channel.cc +16 -10
- data/src/core/lib/surface/channel.h +3 -2
- data/src/core/lib/surface/channel_init.cc +1 -1
- data/src/core/lib/surface/completion_queue.cc +23 -18
- data/src/core/lib/surface/completion_queue.h +16 -16
- data/src/core/lib/surface/init.cc +6 -5
- data/src/core/lib/surface/lame_client.cc +20 -46
- data/src/core/lib/surface/lame_client.h +4 -0
- data/src/core/lib/surface/server.cc +59 -15
- data/src/core/lib/surface/server.h +37 -5
- data/src/core/lib/surface/version.cc +1 -1
- data/src/core/lib/transport/authority_override.cc +6 -4
- data/src/core/lib/transport/authority_override.h +5 -2
- data/src/core/lib/transport/connectivity_state.h +6 -4
- data/src/core/lib/transport/error_utils.h +1 -1
- data/src/core/lib/transport/metadata_batch.h +4 -4
- data/src/core/lib/transport/static_metadata.cc +1 -1
- data/src/core/lib/transport/status_metadata.cc +4 -3
- data/src/core/lib/transport/transport.h +7 -7
- data/src/core/lib/uri/uri_parser.cc +131 -249
- data/src/core/lib/uri/uri_parser.h +57 -21
- data/src/core/plugin_registry/grpc_plugin_registry.cc +10 -4
- data/src/core/tsi/alts/crypt/gsec.cc +5 -4
- data/src/core/tsi/alts/frame_protector/frame_handler.cc +8 -6
- data/src/core/tsi/alts/handshaker/alts_handshaker_client.cc +1 -1
- data/src/core/tsi/alts/handshaker/alts_tsi_handshaker.cc +23 -23
- data/src/core/tsi/alts/zero_copy_frame_protector/alts_iovec_record_protocol.cc +8 -6
- data/src/core/tsi/alts/zero_copy_frame_protector/alts_zero_copy_grpc_protector.cc +4 -4
- data/src/core/tsi/fake_transport_security.cc +5 -3
- data/src/core/tsi/ssl/session_cache/ssl_session_boringssl.cc +1 -1
- data/src/core/tsi/ssl_transport_security.cc +62 -49
- data/src/core/tsi/ssl_transport_security.h +6 -6
- data/src/core/tsi/transport_security.cc +6 -6
- data/src/core/tsi/transport_security_interface.h +1 -1
- data/src/ruby/ext/grpc/rb_event_thread.c +2 -0
- data/src/ruby/ext/grpc/rb_grpc_imports.generated.c +12 -0
- data/src/ruby/ext/grpc/rb_grpc_imports.generated.h +31 -13
- data/src/ruby/lib/grpc/version.rb +1 -1
- data/src/ruby/pb/src/proto/grpc/testing/messages_pb.rb +28 -0
- data/src/ruby/pb/src/proto/grpc/testing/test_services_pb.rb +18 -0
- data/src/ruby/spec/pb/codegen/package_option_spec.rb +2 -6
- data/third_party/abseil-cpp/absl/container/flat_hash_map.h +606 -0
- data/third_party/abseil-cpp/absl/container/internal/raw_hash_map.h +197 -0
- data/third_party/abseil-cpp/absl/status/internal/statusor_internal.h +399 -0
- data/third_party/abseil-cpp/absl/status/statusor.cc +71 -0
- data/third_party/abseil-cpp/absl/status/statusor.h +760 -0
- data/third_party/upb/third_party/wyhash/wyhash.h +145 -0
- data/third_party/upb/upb/decode.c +248 -167
- data/third_party/upb/upb/decode.h +20 -1
- data/third_party/upb/upb/decode.int.h +163 -0
- data/third_party/upb/upb/decode_fast.c +1040 -0
- data/third_party/upb/upb/decode_fast.h +126 -0
- data/third_party/upb/upb/def.c +525 -516
- data/third_party/upb/upb/def.h +16 -31
- data/third_party/upb/upb/def.hpp +37 -123
- data/third_party/upb/upb/encode.c +227 -169
- data/third_party/upb/upb/encode.h +27 -2
- data/third_party/upb/upb/json_decode.c +1443 -0
- data/third_party/upb/upb/json_decode.h +23 -0
- data/third_party/upb/upb/json_encode.c +713 -0
- data/third_party/upb/upb/json_encode.h +36 -0
- data/third_party/upb/upb/msg.c +167 -88
- data/third_party/upb/upb/msg.h +174 -34
- data/third_party/upb/upb/port_def.inc +74 -61
- data/third_party/upb/upb/port_undef.inc +3 -7
- data/third_party/upb/upb/reflection.c +36 -19
- data/third_party/upb/upb/table.c +34 -197
- data/third_party/upb/upb/table.int.h +14 -5
- data/third_party/upb/upb/text_encode.c +45 -22
- data/third_party/upb/upb/text_encode.h +4 -1
- data/third_party/upb/upb/upb.c +18 -41
- data/third_party/upb/upb/upb.h +36 -7
- data/third_party/upb/upb/upb.hpp +4 -4
- data/third_party/upb/upb/upb.int.h +29 -0
- metadata +60 -46
- data/src/core/ext/filters/client_channel/lb_policy/xds/eds.cc +0 -909
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver.cc +0 -485
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper_fallback.cc +0 -68
- data/src/core/ext/filters/client_channel/resolving_lb_policy.cc +0 -355
- data/src/core/ext/filters/client_channel/resolving_lb_policy.h +0 -138
- data/src/core/ext/xds/google_mesh_ca_certificate_provider_factory.cc +0 -265
- data/src/core/ext/xds/google_mesh_ca_certificate_provider_factory.h +0 -104
- data/src/core/lib/gprpp/map.h +0 -53
- data/third_party/upb/upb/port.c +0 -26
@@ -30,6 +30,6 @@
|
|
30
30
|
/* Loads the content of a file into a slice. add_null_terminator will add
|
31
31
|
a NULL terminator if non-zero. */
|
32
32
|
grpc_error* grpc_load_file(const char* filename, int add_null_terminator,
|
33
|
-
grpc_slice*
|
33
|
+
grpc_slice* output);
|
34
34
|
|
35
35
|
#endif /* GRPC_CORE_LIB_IOMGR_LOAD_FILE_H */
|
@@ -96,8 +96,9 @@ void LockfreeEvent::NotifyOn(grpc_closure* closure) {
|
|
96
96
|
* referencing it. */
|
97
97
|
gpr_atm curr = gpr_atm_acq_load(&state_);
|
98
98
|
if (GRPC_TRACE_FLAG_ENABLED(grpc_polling_trace)) {
|
99
|
-
gpr_log(GPR_DEBUG,
|
100
|
-
|
99
|
+
gpr_log(GPR_DEBUG,
|
100
|
+
"LockfreeEvent::NotifyOn: %p curr=%" PRIxPTR " closure=%p", this,
|
101
|
+
curr, closure);
|
101
102
|
}
|
102
103
|
switch (curr) {
|
103
104
|
case kClosureNotReady: {
|
@@ -108,7 +109,8 @@ void LockfreeEvent::NotifyOn(grpc_closure* closure) {
|
|
108
109
|
|
109
110
|
The release itself pairs with the acquire half of a set_ready full
|
110
111
|
barrier. */
|
111
|
-
if (gpr_atm_rel_cas(&state_, kClosureNotReady,
|
112
|
+
if (gpr_atm_rel_cas(&state_, kClosureNotReady,
|
113
|
+
reinterpret_cast<gpr_atm>(closure))) {
|
112
114
|
return; /* Successful. Return */
|
113
115
|
}
|
114
116
|
|
@@ -137,7 +139,8 @@ void LockfreeEvent::NotifyOn(grpc_closure* closure) {
|
|
137
139
|
contains a pointer to the shutdown-error). If the fd is shutdown,
|
138
140
|
schedule the closure with the shutdown error */
|
139
141
|
if ((curr & kShutdownBit) > 0) {
|
140
|
-
grpc_error* shutdown_err =
|
142
|
+
grpc_error* shutdown_err =
|
143
|
+
reinterpret_cast<grpc_error*>(curr & ~kShutdownBit);
|
141
144
|
ExecCtx::Run(DEBUG_LOCATION, closure,
|
142
145
|
GRPC_ERROR_CREATE_REFERENCING_FROM_STATIC_STRING(
|
143
146
|
"FD Shutdown", &shutdown_err, 1));
|
@@ -156,14 +159,15 @@ void LockfreeEvent::NotifyOn(grpc_closure* closure) {
|
|
156
159
|
GPR_UNREACHABLE_CODE(return );
|
157
160
|
}
|
158
161
|
|
159
|
-
bool LockfreeEvent::SetShutdown(grpc_error*
|
160
|
-
gpr_atm new_state = (
|
162
|
+
bool LockfreeEvent::SetShutdown(grpc_error* shutdown_error) {
|
163
|
+
gpr_atm new_state = reinterpret_cast<gpr_atm>(shutdown_error) | kShutdownBit;
|
161
164
|
|
162
165
|
while (true) {
|
163
166
|
gpr_atm curr = gpr_atm_no_barrier_load(&state_);
|
164
167
|
if (GRPC_TRACE_FLAG_ENABLED(grpc_polling_trace)) {
|
165
|
-
gpr_log(GPR_DEBUG,
|
166
|
-
|
168
|
+
gpr_log(GPR_DEBUG,
|
169
|
+
"LockfreeEvent::SetShutdown: %p curr=%" PRIxPTR " err=%s",
|
170
|
+
&state_, curr, grpc_error_string(shutdown_error));
|
167
171
|
}
|
168
172
|
switch (curr) {
|
169
173
|
case kClosureReady:
|
@@ -180,7 +184,7 @@ bool LockfreeEvent::SetShutdown(grpc_error* shutdown_err) {
|
|
180
184
|
|
181
185
|
/* If fd is already shutdown, we are done */
|
182
186
|
if ((curr & kShutdownBit) > 0) {
|
183
|
-
GRPC_ERROR_UNREF(
|
187
|
+
GRPC_ERROR_UNREF(shutdown_error);
|
184
188
|
return false;
|
185
189
|
}
|
186
190
|
|
@@ -190,9 +194,9 @@ bool LockfreeEvent::SetShutdown(grpc_error* shutdown_err) {
|
|
190
194
|
happens-after on that edge), and a release to pair with anything
|
191
195
|
loading the shutdown state. */
|
192
196
|
if (gpr_atm_full_cas(&state_, curr, new_state)) {
|
193
|
-
ExecCtx::Run(DEBUG_LOCATION, (
|
197
|
+
ExecCtx::Run(DEBUG_LOCATION, reinterpret_cast<grpc_closure*>(curr),
|
194
198
|
GRPC_ERROR_CREATE_REFERENCING_FROM_STATIC_STRING(
|
195
|
-
"FD Shutdown", &
|
199
|
+
"FD Shutdown", &shutdown_error, 1));
|
196
200
|
return true;
|
197
201
|
}
|
198
202
|
|
@@ -211,8 +215,8 @@ void LockfreeEvent::SetReady() {
|
|
211
215
|
gpr_atm curr = gpr_atm_no_barrier_load(&state_);
|
212
216
|
|
213
217
|
if (GRPC_TRACE_FLAG_ENABLED(grpc_polling_trace)) {
|
214
|
-
gpr_log(GPR_DEBUG, "LockfreeEvent::SetReady: %p curr=%
|
215
|
-
|
218
|
+
gpr_log(GPR_DEBUG, "LockfreeEvent::SetReady: %p curr=%" PRIxPTR, &state_,
|
219
|
+
curr);
|
216
220
|
}
|
217
221
|
|
218
222
|
switch (curr) {
|
@@ -240,7 +244,8 @@ void LockfreeEvent::SetReady() {
|
|
240
244
|
spurious set_ready; release pairs with this or the acquire in
|
241
245
|
notify_on (or set_shutdown) */
|
242
246
|
else if (gpr_atm_full_cas(&state_, curr, kClosureNotReady)) {
|
243
|
-
ExecCtx::Run(DEBUG_LOCATION, (
|
247
|
+
ExecCtx::Run(DEBUG_LOCATION, reinterpret_cast<grpc_closure*>(curr),
|
248
|
+
GRPC_ERROR_NONE);
|
244
249
|
return;
|
245
250
|
}
|
246
251
|
/* else the state changed again (only possible by either a racing
|
@@ -55,8 +55,8 @@ class LockfreeEvent {
|
|
55
55
|
void NotifyOn(grpc_closure* closure);
|
56
56
|
|
57
57
|
// Sets the shutdown state. If a closure had been provided by NotifyOn and has
|
58
|
-
// not yet been scheduled, it will be scheduled with \a
|
59
|
-
bool SetShutdown(grpc_error*
|
58
|
+
// not yet been scheduled, it will be scheduled with \a shutdown_error.
|
59
|
+
bool SetShutdown(grpc_error* shutdown_error);
|
60
60
|
|
61
61
|
// Signals that the event has been received.
|
62
62
|
void SetReady();
|
@@ -18,18 +18,20 @@
|
|
18
18
|
|
19
19
|
#include <grpc/support/port_platform.h>
|
20
20
|
|
21
|
-
#include "absl/strings/str_cat.h"
|
22
|
-
|
23
|
-
#include "src/core/lib/iomgr/grpc_if_nametoindex.h"
|
24
21
|
#include "src/core/lib/iomgr/parse_address.h"
|
25
|
-
#include "src/core/lib/iomgr/sockaddr.h"
|
26
|
-
#include "src/core/lib/iomgr/socket_utils.h"
|
27
22
|
|
28
23
|
#include <stdio.h>
|
29
24
|
#include <string.h>
|
30
25
|
#ifdef GRPC_HAVE_UNIX_SOCKET
|
31
26
|
#include <sys/un.h>
|
32
27
|
#endif
|
28
|
+
#ifdef GRPC_POSIX_SOCKET
|
29
|
+
#include <errno.h>
|
30
|
+
#include <net/if.h>
|
31
|
+
#endif
|
32
|
+
|
33
|
+
#include "absl/strings/str_cat.h"
|
34
|
+
#include "absl/strings/strip.h"
|
33
35
|
|
34
36
|
#include <grpc/support/alloc.h>
|
35
37
|
#include <grpc/support/log.h>
|
@@ -37,21 +39,21 @@
|
|
37
39
|
|
38
40
|
#include "src/core/lib/gpr/string.h"
|
39
41
|
#include "src/core/lib/gprpp/host_port.h"
|
40
|
-
|
41
|
-
#
|
42
|
-
#include
|
43
|
-
#include <net/if.h>
|
44
|
-
#endif
|
42
|
+
#include "src/core/lib/iomgr/grpc_if_nametoindex.h"
|
43
|
+
#include "src/core/lib/iomgr/sockaddr.h"
|
44
|
+
#include "src/core/lib/iomgr/socket_utils.h"
|
45
45
|
|
46
46
|
#ifdef GRPC_HAVE_UNIX_SOCKET
|
47
47
|
|
48
|
-
bool grpc_parse_unix(const
|
48
|
+
bool grpc_parse_unix(const grpc_core::URI& uri,
|
49
49
|
grpc_resolved_address* resolved_addr) {
|
50
|
-
if (
|
51
|
-
gpr_log(GPR_ERROR, "Expected 'unix' scheme, got '%s'",
|
50
|
+
if (uri.scheme() != "unix") {
|
51
|
+
gpr_log(GPR_ERROR, "Expected 'unix' scheme, got '%s'",
|
52
|
+
uri.scheme().c_str());
|
52
53
|
return false;
|
53
54
|
}
|
54
|
-
grpc_error* error =
|
55
|
+
grpc_error* error =
|
56
|
+
grpc_core::UnixSockaddrPopulate(uri.path(), resolved_addr);
|
55
57
|
if (error != GRPC_ERROR_NONE) {
|
56
58
|
gpr_log(GPR_ERROR, "%s", grpc_error_string(error));
|
57
59
|
GRPC_ERROR_UNREF(error);
|
@@ -60,15 +62,15 @@ bool grpc_parse_unix(const grpc_uri* uri,
|
|
60
62
|
return true;
|
61
63
|
}
|
62
64
|
|
63
|
-
bool grpc_parse_unix_abstract(const
|
65
|
+
bool grpc_parse_unix_abstract(const grpc_core::URI& uri,
|
64
66
|
grpc_resolved_address* resolved_addr) {
|
65
|
-
if (
|
67
|
+
if (uri.scheme() != "unix-abstract") {
|
66
68
|
gpr_log(GPR_ERROR, "Expected 'unix-abstract' scheme, got '%s'",
|
67
|
-
uri
|
69
|
+
uri.scheme().c_str());
|
68
70
|
return false;
|
69
71
|
}
|
70
72
|
grpc_error* error =
|
71
|
-
grpc_core::UnixAbstractSockaddrPopulate(uri
|
73
|
+
grpc_core::UnixAbstractSockaddrPopulate(uri.path(), resolved_addr);
|
72
74
|
if (error != GRPC_ERROR_NONE) {
|
73
75
|
gpr_log(GPR_ERROR, "%s", grpc_error_string(error));
|
74
76
|
GRPC_ERROR_UNREF(error);
|
@@ -120,12 +122,12 @@ grpc_error* UnixAbstractSockaddrPopulate(absl::string_view path,
|
|
120
122
|
|
121
123
|
#else /* GRPC_HAVE_UNIX_SOCKET */
|
122
124
|
|
123
|
-
bool grpc_parse_unix(const
|
125
|
+
bool grpc_parse_unix(const grpc_core::URI& uri,
|
124
126
|
grpc_resolved_address* resolved_addr) {
|
125
127
|
abort();
|
126
128
|
}
|
127
129
|
|
128
|
-
bool grpc_parse_unix_abstract(const
|
130
|
+
bool grpc_parse_unix_abstract(const grpc_core::URI& uri,
|
129
131
|
grpc_resolved_address* resolved_addr) {
|
130
132
|
abort();
|
131
133
|
}
|
@@ -145,15 +147,16 @@ grpc_error* UnixAbstractSockaddrPopulate(absl::string_view path,
|
|
145
147
|
} // namespace grpc_core
|
146
148
|
#endif /* GRPC_HAVE_UNIX_SOCKET */
|
147
149
|
|
148
|
-
bool grpc_parse_ipv4_hostport(
|
149
|
-
bool log_errors) {
|
150
|
+
bool grpc_parse_ipv4_hostport(absl::string_view hostport,
|
151
|
+
grpc_resolved_address* addr, bool log_errors) {
|
150
152
|
bool success = false;
|
151
153
|
// Split host and port.
|
152
154
|
std::string host;
|
153
155
|
std::string port;
|
154
156
|
if (!grpc_core::SplitHostPort(hostport, &host, &port)) {
|
155
157
|
if (log_errors) {
|
156
|
-
gpr_log(GPR_ERROR, "Failed gpr_split_host_port(%s, ...)",
|
158
|
+
gpr_log(GPR_ERROR, "Failed gpr_split_host_port(%s, ...)",
|
159
|
+
std::string(hostport).c_str());
|
157
160
|
}
|
158
161
|
return false;
|
159
162
|
}
|
@@ -185,27 +188,27 @@ done:
|
|
185
188
|
return success;
|
186
189
|
}
|
187
190
|
|
188
|
-
bool grpc_parse_ipv4(const
|
191
|
+
bool grpc_parse_ipv4(const grpc_core::URI& uri,
|
189
192
|
grpc_resolved_address* resolved_addr) {
|
190
|
-
if (
|
191
|
-
gpr_log(GPR_ERROR, "Expected 'ipv4' scheme, got '%s'",
|
193
|
+
if (uri.scheme() != "ipv4") {
|
194
|
+
gpr_log(GPR_ERROR, "Expected 'ipv4' scheme, got '%s'",
|
195
|
+
uri.scheme().c_str());
|
192
196
|
return false;
|
193
197
|
}
|
194
|
-
|
195
|
-
|
196
|
-
return grpc_parse_ipv4_hostport(host_port, resolved_addr,
|
197
|
-
true /* log_errors */);
|
198
|
+
return grpc_parse_ipv4_hostport(absl::StripPrefix(uri.path(), "/"),
|
199
|
+
resolved_addr, true /* log_errors */);
|
198
200
|
}
|
199
201
|
|
200
|
-
bool grpc_parse_ipv6_hostport(
|
201
|
-
bool log_errors) {
|
202
|
+
bool grpc_parse_ipv6_hostport(absl::string_view hostport,
|
203
|
+
grpc_resolved_address* addr, bool log_errors) {
|
202
204
|
bool success = false;
|
203
205
|
// Split host and port.
|
204
206
|
std::string host;
|
205
207
|
std::string port;
|
206
208
|
if (!grpc_core::SplitHostPort(hostport, &host, &port)) {
|
207
209
|
if (log_errors) {
|
208
|
-
gpr_log(GPR_ERROR, "Failed gpr_split_host_port(%s, ...)",
|
210
|
+
gpr_log(GPR_ERROR, "Failed gpr_split_host_port(%s, ...)",
|
211
|
+
std::string(hostport).c_str());
|
209
212
|
}
|
210
213
|
return false;
|
211
214
|
}
|
@@ -280,29 +283,32 @@ done:
|
|
280
283
|
return success;
|
281
284
|
}
|
282
285
|
|
283
|
-
bool grpc_parse_ipv6(const
|
286
|
+
bool grpc_parse_ipv6(const grpc_core::URI& uri,
|
284
287
|
grpc_resolved_address* resolved_addr) {
|
285
|
-
if (
|
286
|
-
gpr_log(GPR_ERROR, "Expected 'ipv6' scheme, got '%s'",
|
288
|
+
if (uri.scheme() != "ipv6") {
|
289
|
+
gpr_log(GPR_ERROR, "Expected 'ipv6' scheme, got '%s'",
|
290
|
+
uri.scheme().c_str());
|
287
291
|
return false;
|
288
292
|
}
|
289
|
-
|
290
|
-
|
291
|
-
return grpc_parse_ipv6_hostport(host_port, resolved_addr,
|
292
|
-
true /* log_errors */);
|
293
|
+
return grpc_parse_ipv6_hostport(absl::StripPrefix(uri.path(), "/"),
|
294
|
+
resolved_addr, true /* log_errors */);
|
293
295
|
}
|
294
296
|
|
295
|
-
bool grpc_parse_uri(const
|
296
|
-
|
297
|
+
bool grpc_parse_uri(const grpc_core::URI& uri,
|
298
|
+
grpc_resolved_address* resolved_addr) {
|
299
|
+
if (uri.scheme() == "unix") {
|
297
300
|
return grpc_parse_unix(uri, resolved_addr);
|
298
|
-
}
|
301
|
+
}
|
302
|
+
if (uri.scheme() == "unix-abstract") {
|
299
303
|
return grpc_parse_unix_abstract(uri, resolved_addr);
|
300
|
-
}
|
304
|
+
}
|
305
|
+
if (uri.scheme() == "ipv4") {
|
301
306
|
return grpc_parse_ipv4(uri, resolved_addr);
|
302
|
-
}
|
307
|
+
}
|
308
|
+
if (uri.scheme() == "ipv6") {
|
303
309
|
return grpc_parse_ipv6(uri, resolved_addr);
|
304
310
|
}
|
305
|
-
gpr_log(GPR_ERROR, "Can't parse scheme '%s'", uri
|
311
|
+
gpr_log(GPR_ERROR, "Can't parse scheme '%s'", uri.scheme().c_str());
|
306
312
|
return false;
|
307
313
|
}
|
308
314
|
|
@@ -30,29 +30,33 @@
|
|
30
30
|
|
31
31
|
/** Populate \a resolved_addr from \a uri, whose path is expected to contain a
|
32
32
|
* unix socket path. Returns true upon success. */
|
33
|
-
bool grpc_parse_unix(const
|
33
|
+
bool grpc_parse_unix(const grpc_core::URI& uri,
|
34
|
+
grpc_resolved_address* resolved_addr);
|
34
35
|
|
35
36
|
/** Populate \a resolved_addr from \a uri, whose path is expected to contain a
|
36
37
|
* unix socket path in the abstract namespace. Returns true upon success. */
|
37
|
-
bool grpc_parse_unix_abstract(const
|
38
|
+
bool grpc_parse_unix_abstract(const grpc_core::URI& uri,
|
38
39
|
grpc_resolved_address* resolved_addr);
|
39
40
|
|
40
41
|
/** Populate \a resolved_addr from \a uri, whose path is expected to contain an
|
41
42
|
* IPv4 host:port pair. Returns true upon success. */
|
42
|
-
bool grpc_parse_ipv4(const
|
43
|
+
bool grpc_parse_ipv4(const grpc_core::URI& uri,
|
44
|
+
grpc_resolved_address* resolved_addr);
|
43
45
|
|
44
46
|
/** Populate \a resolved_addr from \a uri, whose path is expected to contain an
|
45
47
|
* IPv6 host:port pair. Returns true upon success. */
|
46
|
-
bool grpc_parse_ipv6(const
|
48
|
+
bool grpc_parse_ipv6(const grpc_core::URI& uri,
|
49
|
+
grpc_resolved_address* resolved_addr);
|
47
50
|
|
48
51
|
/** Populate \a resolved_addr from \a uri. Returns true upon success. */
|
49
|
-
bool grpc_parse_uri(const
|
52
|
+
bool grpc_parse_uri(const grpc_core::URI& uri,
|
53
|
+
grpc_resolved_address* resolved_addr);
|
50
54
|
|
51
55
|
/** Parse bare IPv4 or IPv6 "IP:port" strings. */
|
52
|
-
bool grpc_parse_ipv4_hostport(
|
53
|
-
bool log_errors);
|
54
|
-
bool grpc_parse_ipv6_hostport(
|
55
|
-
bool log_errors);
|
56
|
+
bool grpc_parse_ipv4_hostport(absl::string_view hostport,
|
57
|
+
grpc_resolved_address* addr, bool log_errors);
|
58
|
+
bool grpc_parse_ipv6_hostport(absl::string_view hostport,
|
59
|
+
grpc_resolved_address* addr, bool log_errors);
|
56
60
|
|
57
61
|
/* Converts named or numeric port to a uint16 suitable for use in a sockaddr. */
|
58
62
|
uint16_t grpc_strhtons(const char* port);
|
@@ -23,7 +23,7 @@
|
|
23
23
|
#include "src/core/lib/iomgr/pollset_set.h"
|
24
24
|
|
25
25
|
static grpc_pollset_set* pollset_set_create(void) {
|
26
|
-
return
|
26
|
+
return reinterpret_cast<grpc_pollset_set*>(static_cast<intptr_t>(0xdeafbeef));
|
27
27
|
}
|
28
28
|
|
29
29
|
static void pollset_set_destroy(grpc_pollset_set* /*pollset_set*/) {}
|
@@ -36,7 +36,7 @@ inline grpc_error* grpc_socket_error(char* error) {
|
|
36
36
|
}
|
37
37
|
|
38
38
|
inline char* grpc_slice_buffer_start(grpc_slice_buffer* buffer, int i) {
|
39
|
-
return (
|
39
|
+
return reinterpret_cast<char*>(GRPC_SLICE_START_PTR(buffer->slices[i]));
|
40
40
|
}
|
41
41
|
|
42
42
|
inline int grpc_slice_buffer_length(grpc_slice_buffer* buffer, int i) {
|
@@ -35,11 +35,11 @@ void grpc_resolve_address(const char* addr, const char* default_port,
|
|
35
35
|
addr, default_port, interested_parties, on_done, addresses);
|
36
36
|
}
|
37
37
|
|
38
|
-
void grpc_resolved_addresses_destroy(grpc_resolved_addresses*
|
39
|
-
if (
|
40
|
-
gpr_free(
|
38
|
+
void grpc_resolved_addresses_destroy(grpc_resolved_addresses* addresses) {
|
39
|
+
if (addresses != nullptr) {
|
40
|
+
gpr_free(addresses->addrs);
|
41
41
|
}
|
42
|
-
gpr_free(
|
42
|
+
gpr_free(addresses);
|
43
43
|
}
|
44
44
|
|
45
45
|
grpc_error* grpc_blocking_resolve_address(const char* name,
|
@@ -659,8 +659,8 @@ grpc_resource_quota* grpc_resource_quota_create(const char* name) {
|
|
659
659
|
if (name != nullptr) {
|
660
660
|
resource_quota->name = name;
|
661
661
|
} else {
|
662
|
-
resource_quota->name =
|
663
|
-
|
662
|
+
resource_quota->name = absl::StrCat(
|
663
|
+
"anonymous_pool_", reinterpret_cast<intptr_t>(resource_quota));
|
664
664
|
}
|
665
665
|
GRPC_CLOSURE_INIT(&resource_quota->rq_step_closure, rq_step, resource_quota,
|
666
666
|
nullptr);
|
@@ -807,8 +807,8 @@ grpc_resource_user* grpc_resource_user_create(
|
|
807
807
|
if (name != nullptr) {
|
808
808
|
resource_user->name = name;
|
809
809
|
} else {
|
810
|
-
resource_user->name =
|
811
|
-
|
810
|
+
resource_user->name = absl::StrCat(
|
811
|
+
"anonymous_resource_user_", reinterpret_cast<intptr_t>(resource_user));
|
812
812
|
}
|
813
813
|
return resource_user;
|
814
814
|
}
|
@@ -201,8 +201,8 @@ std::string grpc_sockaddr_to_string(const grpc_resolved_address* resolved_addr,
|
|
201
201
|
void grpc_string_to_sockaddr(grpc_resolved_address* out, const char* addr,
|
202
202
|
int port) {
|
203
203
|
memset(out, 0, sizeof(grpc_resolved_address));
|
204
|
-
grpc_sockaddr_in6* addr6 = (
|
205
|
-
grpc_sockaddr_in* addr4 = (
|
204
|
+
grpc_sockaddr_in6* addr6 = reinterpret_cast<grpc_sockaddr_in6*>(out->addr);
|
205
|
+
grpc_sockaddr_in* addr4 = reinterpret_cast<grpc_sockaddr_in*>(out->addr);
|
206
206
|
if (grpc_inet_pton(GRPC_AF_INET6, addr, &addr6->sin6_addr) == 1) {
|
207
207
|
addr6->sin6_family = GRPC_AF_INET6;
|
208
208
|
out->len = sizeof(grpc_sockaddr_in6);
|
@@ -260,9 +260,11 @@ int grpc_sockaddr_get_port(const grpc_resolved_address* resolved_addr) {
|
|
260
260
|
reinterpret_cast<const grpc_sockaddr*>(resolved_addr->addr);
|
261
261
|
switch (addr->sa_family) {
|
262
262
|
case GRPC_AF_INET:
|
263
|
-
return grpc_ntohs(
|
263
|
+
return grpc_ntohs(
|
264
|
+
(reinterpret_cast<const grpc_sockaddr_in*>(addr))->sin_port);
|
264
265
|
case GRPC_AF_INET6:
|
265
|
-
return grpc_ntohs(
|
266
|
+
return grpc_ntohs(
|
267
|
+
(reinterpret_cast<const grpc_sockaddr_in6*>(addr))->sin6_port);
|
266
268
|
default:
|
267
269
|
if (grpc_is_unix_socket(resolved_addr)) {
|
268
270
|
return 1;
|
@@ -273,19 +275,17 @@ int grpc_sockaddr_get_port(const grpc_resolved_address* resolved_addr) {
|
|
273
275
|
}
|
274
276
|
}
|
275
277
|
|
276
|
-
int grpc_sockaddr_set_port(
|
277
|
-
|
278
|
-
const grpc_sockaddr* addr =
|
279
|
-
reinterpret_cast<const grpc_sockaddr*>(resolved_addr->addr);
|
278
|
+
int grpc_sockaddr_set_port(grpc_resolved_address* resolved_addr, int port) {
|
279
|
+
grpc_sockaddr* addr = reinterpret_cast<grpc_sockaddr*>(resolved_addr->addr);
|
280
280
|
switch (addr->sa_family) {
|
281
281
|
case GRPC_AF_INET:
|
282
282
|
GPR_ASSERT(port >= 0 && port < 65536);
|
283
|
-
((
|
283
|
+
(reinterpret_cast<grpc_sockaddr_in*>(addr))->sin_port =
|
284
284
|
grpc_htons(static_cast<uint16_t>(port));
|
285
285
|
return 1;
|
286
286
|
case GRPC_AF_INET6:
|
287
287
|
GPR_ASSERT(port >= 0 && port < 65536);
|
288
|
-
((
|
288
|
+
(reinterpret_cast<grpc_sockaddr_in6*>(addr))->sin6_port =
|
289
289
|
grpc_htons(static_cast<uint16_t>(port));
|
290
290
|
return 1;
|
291
291
|
default:
|