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
data/src/core/lib/http/parser.cc
CHANGED
@@ -281,8 +281,7 @@ static grpc_error* addbyte_body(grpc_http_parser* parser, uint8_t byte) {
|
|
281
281
|
|
282
282
|
if (*body_length == parser->body_capacity) {
|
283
283
|
parser->body_capacity = GPR_MAX(8, parser->body_capacity * 3 / 2);
|
284
|
-
*body =
|
285
|
-
static_cast<char*>(gpr_realloc((void*)*body, parser->body_capacity));
|
284
|
+
*body = static_cast<char*>(gpr_realloc(*body, parser->body_capacity));
|
286
285
|
}
|
287
286
|
(*body)[*body_length] = static_cast<char>(byte);
|
288
287
|
(*body_length)++;
|
@@ -34,13 +34,14 @@ namespace {
|
|
34
34
|
|
35
35
|
grpc_error* DecodeCancelStateError(gpr_atm cancel_state) {
|
36
36
|
if (cancel_state & 1) {
|
37
|
-
return
|
37
|
+
return reinterpret_cast<grpc_error*>(cancel_state &
|
38
|
+
~static_cast<gpr_atm>(1));
|
38
39
|
}
|
39
40
|
return GRPC_ERROR_NONE;
|
40
41
|
}
|
41
42
|
|
42
43
|
gpr_atm EncodeCancelStateError(grpc_error* error) {
|
43
|
-
return static_cast<gpr_atm>(1) | (
|
44
|
+
return static_cast<gpr_atm>(1) | reinterpret_cast<gpr_atm>(error);
|
44
45
|
}
|
45
46
|
|
46
47
|
} // namespace
|
@@ -203,7 +204,8 @@ void CallCombiner::SetNotifyOnCancel(grpc_closure* closure) {
|
|
203
204
|
ExecCtx::Run(DEBUG_LOCATION, closure, GRPC_ERROR_REF(original_error));
|
204
205
|
break;
|
205
206
|
} else {
|
206
|
-
if (gpr_atm_full_cas(&cancel_state_, original_state,
|
207
|
+
if (gpr_atm_full_cas(&cancel_state_, original_state,
|
208
|
+
reinterpret_cast<gpr_atm>(closure))) {
|
207
209
|
if (GRPC_TRACE_FLAG_ENABLED(grpc_call_combiner_trace)) {
|
208
210
|
gpr_log(GPR_INFO, "call_combiner=%p: setting notify_on_cancel=%p",
|
209
211
|
this, closure);
|
@@ -212,7 +214,7 @@ void CallCombiner::SetNotifyOnCancel(grpc_closure* closure) {
|
|
212
214
|
// closure with GRPC_ERROR_NONE. This allows callers to clean
|
213
215
|
// up any resources they may be holding for the callback.
|
214
216
|
if (original_state != 0) {
|
215
|
-
closure = (
|
217
|
+
closure = reinterpret_cast<grpc_closure*>(original_state);
|
216
218
|
if (GRPC_TRACE_FLAG_ENABLED(grpc_call_combiner_trace)) {
|
217
219
|
gpr_log(GPR_INFO,
|
218
220
|
"call_combiner=%p: scheduling old cancel callback=%p", this,
|
@@ -239,7 +241,8 @@ void CallCombiner::Cancel(grpc_error* error) {
|
|
239
241
|
if (gpr_atm_full_cas(&cancel_state_, original_state,
|
240
242
|
EncodeCancelStateError(error))) {
|
241
243
|
if (original_state != 0) {
|
242
|
-
grpc_closure* notify_on_cancel =
|
244
|
+
grpc_closure* notify_on_cancel =
|
245
|
+
reinterpret_cast<grpc_closure*>(original_state);
|
243
246
|
if (GRPC_TRACE_FLAG_ENABLED(grpc_call_combiner_trace)) {
|
244
247
|
gpr_log(GPR_INFO,
|
245
248
|
"call_combiner=%p: scheduling notify_on_cancel callback=%p",
|
@@ -146,7 +146,8 @@ static void combiner_exec(grpc_core::Combiner* lock, grpc_closure* cl,
|
|
146
146
|
// offload for one or two actions, and that's fine
|
147
147
|
gpr_atm initiator =
|
148
148
|
gpr_atm_no_barrier_load(&lock->initiating_exec_ctx_or_null);
|
149
|
-
if (initiator != 0 &&
|
149
|
+
if (initiator != 0 &&
|
150
|
+
initiator != reinterpret_cast<gpr_atm>(grpc_core::ExecCtx::Get())) {
|
150
151
|
gpr_atm_no_barrier_store(&lock->initiating_exec_ctx_or_null, 0);
|
151
152
|
}
|
152
153
|
}
|
@@ -99,7 +99,7 @@ void grpc_endpoint_add_to_pollset_set(grpc_endpoint* ep,
|
|
99
99
|
void grpc_endpoint_delete_from_pollset_set(grpc_endpoint* ep,
|
100
100
|
grpc_pollset_set* pollset_set);
|
101
101
|
|
102
|
-
grpc_resource_user* grpc_endpoint_get_resource_user(grpc_endpoint*
|
102
|
+
grpc_resource_user* grpc_endpoint_get_resource_user(grpc_endpoint* ep);
|
103
103
|
|
104
104
|
bool grpc_endpoint_can_track_err(grpc_endpoint* ep);
|
105
105
|
|
data/src/core/lib/iomgr/error.cc
CHANGED
@@ -166,7 +166,8 @@ static void error_destroy(grpc_error* err) {
|
|
166
166
|
GPR_ASSERT(!grpc_error_is_special(err));
|
167
167
|
unref_errs(err);
|
168
168
|
unref_strs(err);
|
169
|
-
gpr_free(
|
169
|
+
gpr_free(
|
170
|
+
reinterpret_cast<void*>(gpr_atm_acq_load(&err->atomics.error_string)));
|
170
171
|
gpr_free(err);
|
171
172
|
}
|
172
173
|
|
@@ -237,10 +238,10 @@ static void internal_set_str(grpc_error** err, grpc_error_strs which,
|
|
237
238
|
if (slot == UINT8_MAX) {
|
238
239
|
slot = get_placement(err, sizeof(value));
|
239
240
|
if (slot == UINT8_MAX) {
|
240
|
-
|
241
|
+
char* str = grpc_slice_to_c_string(value);
|
241
242
|
gpr_log(GPR_ERROR, "Error %p is full, dropping string {\"%s\":\"%s\"}",
|
242
243
|
*err, error_str_name(which), str);
|
243
|
-
gpr_free(
|
244
|
+
gpr_free(str);
|
244
245
|
return;
|
245
246
|
}
|
246
247
|
} else {
|
@@ -258,10 +259,10 @@ static void internal_set_time(grpc_error** err, grpc_error_times which,
|
|
258
259
|
if (slot == UINT8_MAX) {
|
259
260
|
slot = get_placement(err, sizeof(value));
|
260
261
|
if (slot == UINT8_MAX) {
|
261
|
-
|
262
|
+
char* time_str = fmt_time(value);
|
262
263
|
gpr_log(GPR_ERROR, "Error %p is full, dropping \"%s\":\"%s\"}", *err,
|
263
264
|
error_time_name(which), time_str);
|
264
|
-
gpr_free(
|
265
|
+
gpr_free(time_str);
|
265
266
|
return;
|
266
267
|
}
|
267
268
|
}
|
@@ -426,7 +427,8 @@ static grpc_error* copy_error_and_unref(grpc_error* in) {
|
|
426
427
|
// bulk memcpy of the rest of the struct.
|
427
428
|
// NOLINTNEXTLINE(bugprone-sizeof-expression)
|
428
429
|
size_t skip = sizeof(&out->atomics);
|
429
|
-
memcpy(
|
430
|
+
memcpy(reinterpret_cast<void*>(reinterpret_cast<uintptr_t>(out) + skip),
|
431
|
+
reinterpret_cast<void*>(reinterpret_cast<uintptr_t>(in) + skip),
|
430
432
|
sizeof(*in) + (in->arena_size * sizeof(intptr_t)) - skip);
|
431
433
|
// manually set the atomics and the new capacity
|
432
434
|
gpr_atm_no_barrier_store(&out->atomics.error_string, 0);
|
@@ -632,8 +634,8 @@ static char* fmt_str(const grpc_slice& slice) {
|
|
632
634
|
char* s = nullptr;
|
633
635
|
size_t sz = 0;
|
634
636
|
size_t cap = 0;
|
635
|
-
append_esc_str((
|
636
|
-
|
637
|
+
append_esc_str(GRPC_SLICE_START_PTR(slice), GRPC_SLICE_LENGTH(slice), &s, &sz,
|
638
|
+
&cap);
|
637
639
|
append_chr(0, &s, &sz, &cap);
|
638
640
|
return s;
|
639
641
|
}
|
@@ -744,7 +746,8 @@ const char* grpc_error_string(grpc_error* err) {
|
|
744
746
|
if (err == GRPC_ERROR_OOM) return oom_error_string;
|
745
747
|
if (err == GRPC_ERROR_CANCELLED) return cancelled_error_string;
|
746
748
|
|
747
|
-
void* p =
|
749
|
+
void* p =
|
750
|
+
reinterpret_cast<void*>(gpr_atm_acq_load(&err->atomics.error_string));
|
748
751
|
if (p != nullptr) {
|
749
752
|
return static_cast<const char*>(p);
|
750
753
|
}
|
@@ -763,9 +766,10 @@ const char* grpc_error_string(grpc_error* err) {
|
|
763
766
|
|
764
767
|
char* out = finish_kvs(&kvs);
|
765
768
|
|
766
|
-
if (!gpr_atm_rel_cas(&err->atomics.error_string, 0,
|
769
|
+
if (!gpr_atm_rel_cas(&err->atomics.error_string, 0,
|
770
|
+
reinterpret_cast<gpr_atm>(out))) {
|
767
771
|
gpr_free(out);
|
768
|
-
out = (
|
772
|
+
out = reinterpret_cast<char*>(gpr_atm_acq_load(&err->atomics.error_string));
|
769
773
|
}
|
770
774
|
|
771
775
|
return out;
|
@@ -618,7 +618,7 @@ static grpc_error* pollset_kick_all(grpc_pollset* pollset) {
|
|
618
618
|
worker = worker->next;
|
619
619
|
} while (worker != pollset->root_worker);
|
620
620
|
}
|
621
|
-
// TODO:
|
621
|
+
// TODO(sreek): Check if we need to set 'kicked_without_poller' to true here
|
622
622
|
// in the else case
|
623
623
|
return error;
|
624
624
|
}
|
@@ -803,7 +803,8 @@ static bool begin_worker(grpc_pollset* pollset, grpc_pollset_worker* worker,
|
|
803
803
|
neighborhood->active_root = pollset->next = pollset->prev = pollset;
|
804
804
|
/* Make this the designated poller if there isn't one already */
|
805
805
|
if (worker->state == UNKICKED &&
|
806
|
-
gpr_atm_no_barrier_cas(&g_active_poller, 0,
|
806
|
+
gpr_atm_no_barrier_cas(&g_active_poller, 0,
|
807
|
+
reinterpret_cast<gpr_atm>(worker))) {
|
807
808
|
SET_KICK_STATE(worker, DESIGNATED_POLLER);
|
808
809
|
}
|
809
810
|
} else {
|
@@ -885,8 +886,9 @@ static bool check_neighborhood_for_available_poller(
|
|
885
886
|
do {
|
886
887
|
switch (inspect_worker->state) {
|
887
888
|
case UNKICKED:
|
888
|
-
if (gpr_atm_no_barrier_cas(
|
889
|
-
|
889
|
+
if (gpr_atm_no_barrier_cas(
|
890
|
+
&g_active_poller, 0,
|
891
|
+
reinterpret_cast<gpr_atm>(inspect_worker))) {
|
890
892
|
if (GRPC_TRACE_FLAG_ENABLED(grpc_polling_trace)) {
|
891
893
|
gpr_log(GPR_INFO, " .. choose next poller to be %p",
|
892
894
|
inspect_worker);
|
@@ -944,7 +946,8 @@ static void end_worker(grpc_pollset* pollset, grpc_pollset_worker* worker,
|
|
944
946
|
SET_KICK_STATE(worker, KICKED);
|
945
947
|
grpc_closure_list_move(&worker->schedule_on_end_work,
|
946
948
|
grpc_core::ExecCtx::Get()->closure_list());
|
947
|
-
if (gpr_atm_no_barrier_load(&g_active_poller) ==
|
949
|
+
if (gpr_atm_no_barrier_load(&g_active_poller) ==
|
950
|
+
reinterpret_cast<gpr_atm>(worker)) {
|
948
951
|
if (worker->next != worker && worker->next->state == UNKICKED) {
|
949
952
|
if (GRPC_TRACE_FLAG_ENABLED(grpc_polling_trace)) {
|
950
953
|
gpr_log(GPR_INFO, " .. choose next poller to be peer %p", worker);
|
@@ -1071,8 +1074,9 @@ static grpc_error* pollset_kick(grpc_pollset* pollset,
|
|
1071
1074
|
std::vector<std::string> log;
|
1072
1075
|
log.push_back(absl::StrFormat(
|
1073
1076
|
"PS:%p KICK:%p curps=%p curworker=%p root=%p", pollset, specific_worker,
|
1074
|
-
(
|
1075
|
-
(
|
1077
|
+
reinterpret_cast<void*>(gpr_tls_get(&g_current_thread_pollset)),
|
1078
|
+
reinterpret_cast<void*>(gpr_tls_get(&g_current_thread_worker)),
|
1079
|
+
pollset->root_worker));
|
1076
1080
|
if (pollset->root_worker != nullptr) {
|
1077
1081
|
log.push_back(absl::StrFormat(
|
1078
1082
|
" {kick_state=%s next=%p {kick_state=%s}}",
|
@@ -1088,7 +1092,8 @@ static grpc_error* pollset_kick(grpc_pollset* pollset,
|
|
1088
1092
|
}
|
1089
1093
|
|
1090
1094
|
if (specific_worker == nullptr) {
|
1091
|
-
if (gpr_tls_get(&g_current_thread_pollset) !=
|
1095
|
+
if (gpr_tls_get(&g_current_thread_pollset) !=
|
1096
|
+
reinterpret_cast<intptr_t>(pollset)) {
|
1092
1097
|
grpc_pollset_worker* root_worker = pollset->root_worker;
|
1093
1098
|
if (root_worker == nullptr) {
|
1094
1099
|
GRPC_STATS_INC_POLLSET_KICKED_WITHOUT_POLLER();
|
@@ -1115,8 +1120,9 @@ static grpc_error* pollset_kick(grpc_pollset* pollset,
|
|
1115
1120
|
goto done;
|
1116
1121
|
} else if (root_worker == next_worker && // only try and wake up a poller
|
1117
1122
|
// if there is no next worker
|
1118
|
-
root_worker ==
|
1119
|
-
|
1123
|
+
root_worker ==
|
1124
|
+
reinterpret_cast<grpc_pollset_worker*>(
|
1125
|
+
gpr_atm_no_barrier_load(&g_active_poller))) {
|
1120
1126
|
GRPC_STATS_INC_POLLSET_KICK_WAKEUP_FD();
|
1121
1127
|
if (GRPC_TRACE_FLAG_ENABLED(grpc_polling_trace)) {
|
1122
1128
|
gpr_log(GPR_INFO, " .. kicked %p", root_worker);
|
@@ -1180,7 +1186,7 @@ static grpc_error* pollset_kick(grpc_pollset* pollset,
|
|
1180
1186
|
}
|
1181
1187
|
goto done;
|
1182
1188
|
} else if (gpr_tls_get(&g_current_thread_worker) ==
|
1183
|
-
(
|
1189
|
+
reinterpret_cast<intptr_t>(specific_worker)) {
|
1184
1190
|
GRPC_STATS_INC_POLLSET_KICK_OWN_THREAD();
|
1185
1191
|
if (GRPC_TRACE_FLAG_ENABLED(grpc_polling_trace)) {
|
1186
1192
|
gpr_log(GPR_INFO, " .. mark %p kicked", specific_worker);
|
@@ -1188,7 +1194,8 @@ static grpc_error* pollset_kick(grpc_pollset* pollset,
|
|
1188
1194
|
SET_KICK_STATE(specific_worker, KICKED);
|
1189
1195
|
goto done;
|
1190
1196
|
} else if (specific_worker ==
|
1191
|
-
|
1197
|
+
reinterpret_cast<grpc_pollset_worker*>(
|
1198
|
+
gpr_atm_no_barrier_load(&g_active_poller))) {
|
1192
1199
|
GRPC_STATS_INC_POLLSET_KICK_WAKEUP_FD();
|
1193
1200
|
if (GRPC_TRACE_FLAG_ENABLED(grpc_polling_trace)) {
|
1194
1201
|
gpr_log(GPR_INFO, " .. kick active poller");
|
@@ -1223,7 +1230,7 @@ static void pollset_add_fd(grpc_pollset* /*pollset*/, grpc_fd* /*fd*/) {}
|
|
1223
1230
|
*/
|
1224
1231
|
|
1225
1232
|
static grpc_pollset_set* pollset_set_create(void) {
|
1226
|
-
return
|
1233
|
+
return reinterpret_cast<grpc_pollset_set*>(static_cast<intptr_t>(0xdeafbeef));
|
1227
1234
|
}
|
1228
1235
|
|
1229
1236
|
static void pollset_set_destroy(grpc_pollset_set* /*pss*/) {}
|
@@ -577,7 +577,8 @@ static grpc_error* pollable_create(pollable_type type, pollable** p) {
|
|
577
577
|
}
|
578
578
|
struct epoll_event ev;
|
579
579
|
ev.events = static_cast<uint32_t>(EPOLLIN | EPOLLET);
|
580
|
-
ev.data.ptr =
|
580
|
+
ev.data.ptr =
|
581
|
+
reinterpret_cast<void*>(1 | reinterpret_cast<intptr_t>(&(*p)->wakeup));
|
581
582
|
if (epoll_ctl(epfd, EPOLL_CTL_ADD, (*p)->wakeup.read_fd, &ev) != 0) {
|
582
583
|
err = GRPC_OS_ERROR(errno, "epoll_ctl");
|
583
584
|
GRPC_FD_TRACE(
|
@@ -692,7 +693,8 @@ static grpc_error* kick_one_worker(grpc_pollset_worker* specific_worker) {
|
|
692
693
|
GRPC_STATS_INC_POLLSET_KICKED_AGAIN();
|
693
694
|
return GRPC_ERROR_NONE;
|
694
695
|
}
|
695
|
-
if (gpr_tls_get(&g_current_thread_worker) ==
|
696
|
+
if (gpr_tls_get(&g_current_thread_worker) ==
|
697
|
+
reinterpret_cast<intptr_t>(specific_worker)) {
|
696
698
|
if (GRPC_TRACE_FLAG_ENABLED(grpc_polling_trace)) {
|
697
699
|
gpr_log(GPR_INFO, "PS:%p kicked_specific_but_awake", p);
|
698
700
|
}
|
@@ -729,13 +731,14 @@ static grpc_error* pollset_kick(grpc_pollset* pollset,
|
|
729
731
|
GRPC_STATS_INC_POLLSET_KICK();
|
730
732
|
if (GRPC_TRACE_FLAG_ENABLED(grpc_polling_trace)) {
|
731
733
|
gpr_log(GPR_INFO,
|
732
|
-
"PS:%p kick %p tls_pollset=%
|
733
|
-
pollset,
|
734
|
-
|
735
|
-
|
734
|
+
"PS:%p kick %p tls_pollset=%" PRIxPTR " tls_worker=%" PRIxPTR
|
735
|
+
" pollset.root_worker=%p",
|
736
|
+
pollset, specific_worker, gpr_tls_get(&g_current_thread_pollset),
|
737
|
+
gpr_tls_get(&g_current_thread_worker), pollset->root_worker);
|
736
738
|
}
|
737
739
|
if (specific_worker == nullptr) {
|
738
|
-
if (gpr_tls_get(&g_current_thread_pollset) !=
|
740
|
+
if (gpr_tls_get(&g_current_thread_pollset) !=
|
741
|
+
reinterpret_cast<intptr_t>(pollset)) {
|
739
742
|
if (pollset->root_worker == nullptr) {
|
740
743
|
if (GRPC_TRACE_FLAG_ENABLED(grpc_polling_trace)) {
|
741
744
|
gpr_log(GPR_INFO, "PS:%p kicked_any_without_poller", pollset);
|
@@ -881,15 +884,16 @@ static grpc_error* pollable_process_events(grpc_pollset* pollset,
|
|
881
884
|
int n = pollable_obj->event_cursor++;
|
882
885
|
struct epoll_event* ev = &pollable_obj->events[n];
|
883
886
|
void* data_ptr = ev->data.ptr;
|
884
|
-
if (1 & (
|
887
|
+
if (1 & reinterpret_cast<intptr_t>(data_ptr)) {
|
885
888
|
if (GRPC_TRACE_FLAG_ENABLED(grpc_polling_trace)) {
|
886
889
|
gpr_log(GPR_INFO, "PS:%p got pollset_wakeup %p", pollset, data_ptr);
|
887
890
|
}
|
888
|
-
append_error(
|
889
|
-
|
890
|
-
|
891
|
-
|
892
|
-
|
891
|
+
append_error(
|
892
|
+
&error,
|
893
|
+
grpc_wakeup_fd_consume_wakeup(reinterpret_cast<grpc_wakeup_fd*>(
|
894
|
+
~static_cast<intptr_t>(1) &
|
895
|
+
reinterpret_cast<intptr_t>(data_ptr))),
|
896
|
+
err_desc);
|
893
897
|
} else {
|
894
898
|
grpc_fd* fd =
|
895
899
|
reinterpret_cast<grpc_fd*>(reinterpret_cast<intptr_t>(data_ptr) & ~2);
|
@@ -148,12 +148,12 @@ static gpr_mu fork_fd_list_mu;
|
|
148
148
|
MUST NOT be called with a pollset lock taken */
|
149
149
|
static uint32_t fd_begin_poll(grpc_fd* fd, grpc_pollset* pollset,
|
150
150
|
grpc_pollset_worker* worker, uint32_t read_mask,
|
151
|
-
uint32_t write_mask, grpc_fd_watcher*
|
151
|
+
uint32_t write_mask, grpc_fd_watcher* watcher);
|
152
152
|
/* Complete polling previously started with fd_begin_poll
|
153
153
|
MUST NOT be called with a pollset lock taken
|
154
154
|
if got_read or got_write are 1, also does the become_{readable,writable} as
|
155
155
|
appropriate. */
|
156
|
-
static void fd_end_poll(grpc_fd_watcher*
|
156
|
+
static void fd_end_poll(grpc_fd_watcher* watcher, int got_read, int got_write);
|
157
157
|
|
158
158
|
/* Return 1 if this fd is orphaned, 0 otherwise */
|
159
159
|
static bool fd_is_orphaned(grpc_fd* fd);
|
@@ -775,7 +775,7 @@ static grpc_error* pollset_kick_ext(grpc_pollset* p,
|
|
775
775
|
}
|
776
776
|
p->kicked_without_pollers = true;
|
777
777
|
} else if (gpr_tls_get(&g_current_thread_worker) !=
|
778
|
-
(
|
778
|
+
reinterpret_cast<intptr_t>(specific_worker)) {
|
779
779
|
GPR_TIMER_MARK("different_thread_worker", 0);
|
780
780
|
if ((flags & GRPC_POLLSET_REEVALUATE_POLLING_ON_WAKEUP) != 0) {
|
781
781
|
specific_worker->reevaluate_polling_on_wakeup = true;
|
@@ -792,18 +792,20 @@ static grpc_error* pollset_kick_ext(grpc_pollset* p,
|
|
792
792
|
kick_append_error(&error,
|
793
793
|
grpc_wakeup_fd_wakeup(&specific_worker->wakeup_fd->fd));
|
794
794
|
}
|
795
|
-
} else if (gpr_tls_get(&g_current_thread_poller) !=
|
795
|
+
} else if (gpr_tls_get(&g_current_thread_poller) !=
|
796
|
+
reinterpret_cast<intptr_t>(p)) {
|
796
797
|
GPR_ASSERT((flags & GRPC_POLLSET_REEVALUATE_POLLING_ON_WAKEUP) == 0);
|
797
798
|
GPR_TIMER_MARK("kick_anonymous", 0);
|
798
799
|
specific_worker = pop_front_worker(p);
|
799
800
|
if (specific_worker != nullptr) {
|
800
|
-
if (gpr_tls_get(&g_current_thread_worker) ==
|
801
|
+
if (gpr_tls_get(&g_current_thread_worker) ==
|
802
|
+
reinterpret_cast<intptr_t>(specific_worker)) {
|
801
803
|
GPR_TIMER_MARK("kick_anonymous_not_self", 0);
|
802
804
|
push_back_worker(p, specific_worker);
|
803
805
|
specific_worker = pop_front_worker(p);
|
804
806
|
if ((flags & GRPC_POLLSET_CAN_KICK_SELF) == 0 &&
|
805
807
|
gpr_tls_get(&g_current_thread_worker) ==
|
806
|
-
(
|
808
|
+
reinterpret_cast<intptr_t>(specific_worker)) {
|
807
809
|
push_back_worker(p, specific_worker);
|
808
810
|
specific_worker = nullptr;
|
809
811
|
}
|
@@ -987,7 +989,7 @@ static grpc_error* pollset_work(grpc_pollset* pollset,
|
|
987
989
|
void* buf = gpr_malloc(pfd_size + watch_size);
|
988
990
|
pfds = static_cast<struct pollfd*>(buf);
|
989
991
|
watchers = static_cast<grpc_fd_watcher*>(
|
990
|
-
|
992
|
+
static_cast<void*>((static_cast<char*>(buf) + pfd_size)));
|
991
993
|
}
|
992
994
|
|
993
995
|
fd_count = 0;
|
@@ -58,8 +58,8 @@ typedef struct grpc_combiner grpc_combiner;
|
|
58
58
|
#define GRPC_APP_CALLBACK_EXEC_CTX_FLAG_IS_INTERNAL_THREAD 1
|
59
59
|
|
60
60
|
gpr_timespec grpc_millis_to_timespec(grpc_millis millis, gpr_clock_type clock);
|
61
|
-
grpc_millis grpc_timespec_to_millis_round_down(gpr_timespec
|
62
|
-
grpc_millis grpc_timespec_to_millis_round_up(gpr_timespec
|
61
|
+
grpc_millis grpc_timespec_to_millis_round_down(gpr_timespec ts);
|
62
|
+
grpc_millis grpc_timespec_to_millis_round_up(gpr_timespec ts);
|
63
63
|
grpc_millis grpc_cycle_counter_to_millis_round_down(gpr_cycle_counter cycles);
|
64
64
|
grpc_millis grpc_cycle_counter_to_millis_round_up(gpr_cycle_counter cycles);
|
65
65
|
|
@@ -113,7 +113,7 @@ class ExecCtx {
|
|
113
113
|
}
|
114
114
|
|
115
115
|
/** Parameterised Constructor */
|
116
|
-
ExecCtx(uintptr_t fl) : flags_(fl) {
|
116
|
+
explicit ExecCtx(uintptr_t fl) : flags_(fl) {
|
117
117
|
if (!(GRPC_EXEC_CTX_FLAG_IS_INTERNAL_THREAD & flags_)) {
|
118
118
|
grpc_core::Fork::IncExecCtxCount();
|
119
119
|
}
|
@@ -308,7 +308,9 @@ class ApplicationCallbackExecCtx {
|
|
308
308
|
ApplicationCallbackExecCtx() { Set(this, flags_); }
|
309
309
|
|
310
310
|
/** Parameterised Constructor */
|
311
|
-
ApplicationCallbackExecCtx(uintptr_t fl) : flags_(fl) {
|
311
|
+
explicit ApplicationCallbackExecCtx(uintptr_t fl) : flags_(fl) {
|
312
|
+
Set(this, flags_);
|
313
|
+
}
|
312
314
|
|
313
315
|
~ApplicationCallbackExecCtx() {
|
314
316
|
if (reinterpret_cast<ApplicationCallbackExecCtx*>(
|
@@ -283,7 +283,8 @@ void Executor::Enqueue(grpc_closure* closure, grpc_error* error,
|
|
283
283
|
return;
|
284
284
|
}
|
285
285
|
|
286
|
-
ThreadState* ts =
|
286
|
+
ThreadState* ts =
|
287
|
+
reinterpret_cast<ThreadState*>(gpr_tls_get(&g_this_thread_state));
|
287
288
|
if (ts == nullptr) {
|
288
289
|
ts = &thd_state_[GPR_HASH_POINTER(grpc_core::ExecCtx::Get(),
|
289
290
|
cur_thread_count)];
|
@@ -99,7 +99,7 @@ class ThreadPool : public ThreadPoolInterface {
|
|
99
99
|
// Creates a thread pool with size of "num_threads", with default thread name
|
100
100
|
// "ThreadPoolWorker" and all thread options set to default. If the given size
|
101
101
|
// is 0 or less, there will be 1 worker thread created inside pool.
|
102
|
-
ThreadPool(int num_threads);
|
102
|
+
explicit ThreadPool(int num_threads);
|
103
103
|
|
104
104
|
// Same as ThreadPool(int num_threads) constructor, except
|
105
105
|
// that it also sets "thd_name" as the name of all threads in the thread pool.
|
data/src/core/lib/iomgr/iomgr.cc
CHANGED
@@ -59,7 +59,7 @@ void grpc_iomgr_init() {
|
|
59
59
|
gpr_cv_init(&g_rcv);
|
60
60
|
grpc_core::Executor::InitAll();
|
61
61
|
g_root_object.next = g_root_object.prev = &g_root_object;
|
62
|
-
g_root_object.name = (
|
62
|
+
g_root_object.name = const_cast<char*>("root");
|
63
63
|
grpc_iomgr_platform_init();
|
64
64
|
grpc_timer_list_init();
|
65
65
|
grpc_core::grpc_errqueue_init();
|