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
@@ -44,6 +44,8 @@
|
|
44
44
|
#include "absl/strings/str_format.h"
|
45
45
|
#include "src/core/lib/gprpp/examine_stack.h"
|
46
46
|
|
47
|
+
int gpr_should_log_stacktrace(gpr_log_severity severity);
|
48
|
+
|
47
49
|
static long sys_gettid(void) { return syscall(__NR_gettid); }
|
48
50
|
|
49
51
|
void gpr_log(const char* file, int line, gpr_log_severity severity,
|
@@ -95,7 +97,7 @@ void gpr_default_log(gpr_log_func_args* args) {
|
|
95
97
|
time_buffer, now.tv_nsec, tid, display_file, args->line);
|
96
98
|
|
97
99
|
absl::optional<std::string> stack_trace =
|
98
|
-
args->severity
|
100
|
+
gpr_should_log_stacktrace(args->severity)
|
99
101
|
? grpc_core::GetCurrentStackTrace()
|
100
102
|
: absl::nullopt;
|
101
103
|
if (stack_trace) {
|
@@ -34,6 +34,8 @@
|
|
34
34
|
#include "absl/strings/str_format.h"
|
35
35
|
#include "src/core/lib/gprpp/examine_stack.h"
|
36
36
|
|
37
|
+
int gpr_should_log_stacktrace(gpr_log_severity severity);
|
38
|
+
|
37
39
|
static intptr_t sys_gettid(void) { return (intptr_t)pthread_self(); }
|
38
40
|
|
39
41
|
void gpr_log(const char* file, int line, gpr_log_severity severity,
|
@@ -91,7 +93,7 @@ void gpr_default_log(gpr_log_func_args* args) {
|
|
91
93
|
time_buffer, (int)(now.tv_nsec), sys_gettid(), display_file, args->line);
|
92
94
|
|
93
95
|
absl::optional<std::string> stack_trace =
|
94
|
-
args->severity
|
96
|
+
gpr_should_log_stacktrace(args->severity)
|
95
97
|
? grpc_core::GetCurrentStackTrace()
|
96
98
|
: absl::nullopt;
|
97
99
|
if (stack_trace) {
|
@@ -33,6 +33,8 @@
|
|
33
33
|
#include "src/core/lib/gpr/string_windows.h"
|
34
34
|
#include "src/core/lib/gprpp/examine_stack.h"
|
35
35
|
|
36
|
+
int gpr_should_log_stacktrace(gpr_log_severity severity);
|
37
|
+
|
36
38
|
void gpr_log(const char* file, int line, gpr_log_severity severity,
|
37
39
|
const char* format, ...) {
|
38
40
|
/* Avoid message construction if gpr_log_message won't log */
|
@@ -94,7 +96,7 @@ void gpr_default_log(gpr_log_func_args* args) {
|
|
94
96
|
}
|
95
97
|
|
96
98
|
absl::optional<std::string> stack_trace =
|
97
|
-
args->severity
|
99
|
+
gpr_should_log_stacktrace(args->severity)
|
98
100
|
? grpc_core::GetCurrentStackTrace()
|
99
101
|
: absl::nullopt;
|
100
102
|
if (stack_trace) {
|
data/src/core/lib/gpr/spinlock.h
CHANGED
@@ -23,8 +23,9 @@
|
|
23
23
|
|
24
24
|
#include <grpc/support/atm.h>
|
25
25
|
|
26
|
-
|
27
|
-
|
26
|
+
// Simple spinlock. No backoff strategy, gpr_spinlock_lock is almost always
|
27
|
+
// a concurrency code smell. Code must _never_ block while holding a spinlock
|
28
|
+
// as this could lead to a deadlock under a cooperative multithreading model.
|
28
29
|
struct gpr_spinlock {
|
29
30
|
gpr_atm atm;
|
30
31
|
};
|
@@ -38,6 +39,13 @@ struct gpr_spinlock {
|
|
38
39
|
|
39
40
|
#define gpr_spinlock_trylock(lock) (gpr_atm_acq_cas(&(lock)->atm, 0, 1))
|
40
41
|
#define gpr_spinlock_unlock(lock) (gpr_atm_rel_store(&(lock)->atm, 0))
|
42
|
+
// Although the following code spins without any library or system calls, it
|
43
|
+
// still functions under cooperative multithreading. The principle is that
|
44
|
+
// the lock holder can't block, so it will be scheduled onto its system thread
|
45
|
+
// for the entire critical section. By the time another thread attempts a lock,
|
46
|
+
// it will either get it immediately or will be scheduled onto another system
|
47
|
+
// thread that is different from the current lockholder. There is no chance of
|
48
|
+
// waiting for a lockholder scheduled to the same system thread.
|
41
49
|
#define gpr_spinlock_lock(lock) \
|
42
50
|
do { \
|
43
51
|
} while (!gpr_spinlock_trylock((lock)))
|
data/src/core/lib/gpr/string.cc
CHANGED
@@ -55,7 +55,7 @@ char* gpr_strdup(const char* src) {
|
|
55
55
|
std::string gpr_format_timespec(gpr_timespec tm) {
|
56
56
|
char time_buffer[35];
|
57
57
|
char ns_buffer[11]; // '.' + 9 digits of precision
|
58
|
-
struct tm* tm_info = localtime((
|
58
|
+
struct tm* tm_info = localtime(reinterpret_cast<time_t*>(&tm.tv_sec));
|
59
59
|
strftime(time_buffer, sizeof(time_buffer), "%Y-%m-%dT%H:%M:%S", tm_info);
|
60
60
|
snprintf(ns_buffer, 11, ".%09d", tm.tv_nsec);
|
61
61
|
// This loop trims off trailing zeros by inserting a null character that the
|
@@ -119,7 +119,8 @@ static void asciidump(dump_out* out, const char* buf, size_t len) {
|
|
119
119
|
dump_out_append(out, '\'');
|
120
120
|
}
|
121
121
|
for (cur = beg; cur != end; ++cur) {
|
122
|
-
dump_out_append(
|
122
|
+
dump_out_append(
|
123
|
+
out, (isprint(*cur) ? *reinterpret_cast<const char*>(cur) : '.'));
|
123
124
|
}
|
124
125
|
if (!out_was_empty) {
|
125
126
|
dump_out_append(out, '\'');
|
@@ -172,45 +173,45 @@ void gpr_reverse_bytes(char* str, int len) {
|
|
172
173
|
}
|
173
174
|
}
|
174
175
|
|
175
|
-
int gpr_ltoa(long value, char*
|
176
|
+
int gpr_ltoa(long value, char* output) {
|
176
177
|
long sign;
|
177
178
|
int i = 0;
|
178
179
|
|
179
180
|
if (value == 0) {
|
180
|
-
|
181
|
-
|
181
|
+
output[0] = '0';
|
182
|
+
output[1] = 0;
|
182
183
|
return 1;
|
183
184
|
}
|
184
185
|
|
185
186
|
sign = value < 0 ? -1 : 1;
|
186
187
|
while (value) {
|
187
|
-
|
188
|
+
output[i++] = static_cast<char>('0' + sign * (value % 10));
|
188
189
|
value /= 10;
|
189
190
|
}
|
190
|
-
if (sign < 0)
|
191
|
-
gpr_reverse_bytes(
|
192
|
-
|
191
|
+
if (sign < 0) output[i++] = '-';
|
192
|
+
gpr_reverse_bytes(output, i);
|
193
|
+
output[i] = 0;
|
193
194
|
return i;
|
194
195
|
}
|
195
196
|
|
196
|
-
int int64_ttoa(int64_t value, char*
|
197
|
+
int int64_ttoa(int64_t value, char* output) {
|
197
198
|
int64_t sign;
|
198
199
|
int i = 0;
|
199
200
|
|
200
201
|
if (value == 0) {
|
201
|
-
|
202
|
-
|
202
|
+
output[0] = '0';
|
203
|
+
output[1] = 0;
|
203
204
|
return 1;
|
204
205
|
}
|
205
206
|
|
206
207
|
sign = value < 0 ? -1 : 1;
|
207
208
|
while (value) {
|
208
|
-
|
209
|
+
output[i++] = static_cast<char>('0' + sign * (value % 10));
|
209
210
|
value /= 10;
|
210
211
|
}
|
211
|
-
if (sign < 0)
|
212
|
-
gpr_reverse_bytes(
|
213
|
-
|
212
|
+
if (sign < 0) output[i++] = '-';
|
213
|
+
gpr_reverse_bytes(output, i);
|
214
|
+
output[i] = 0;
|
214
215
|
return i;
|
215
216
|
}
|
216
217
|
|
@@ -311,7 +312,7 @@ void gpr_string_split(const char* input, const char* sep, char*** strs,
|
|
311
312
|
|
312
313
|
void* gpr_memrchr(const void* s, int c, size_t n) {
|
313
314
|
if (s == nullptr) return nullptr;
|
314
|
-
char* b = (char
|
315
|
+
char* b = const_cast<char*>(reinterpret_cast<const char*>(s));
|
315
316
|
size_t i;
|
316
317
|
for (i = 0; i < n; i++) {
|
317
318
|
if (b[n - i - 1] == c) {
|
@@ -321,19 +322,19 @@ void* gpr_memrchr(const void* s, int c, size_t n) {
|
|
321
322
|
return nullptr;
|
322
323
|
}
|
323
324
|
|
324
|
-
bool gpr_parse_bool_value(const char*
|
325
|
+
bool gpr_parse_bool_value(const char* value, bool* dst) {
|
325
326
|
const char* kTrue[] = {"1", "t", "true", "y", "yes"};
|
326
327
|
const char* kFalse[] = {"0", "f", "false", "n", "no"};
|
327
328
|
static_assert(sizeof(kTrue) == sizeof(kFalse), "true_false_equal");
|
328
329
|
|
329
|
-
if (
|
330
|
+
if (value == nullptr) {
|
330
331
|
return false;
|
331
332
|
}
|
332
333
|
for (size_t i = 0; i < GPR_ARRAY_SIZE(kTrue); ++i) {
|
333
|
-
if (gpr_stricmp(
|
334
|
+
if (gpr_stricmp(value, kTrue[i]) == 0) {
|
334
335
|
*dst = true;
|
335
336
|
return true;
|
336
|
-
} else if (gpr_stricmp(
|
337
|
+
} else if (gpr_stricmp(value, kFalse[i]) == 0) {
|
337
338
|
*dst = false;
|
338
339
|
return true;
|
339
340
|
}
|
data/src/core/lib/gpr/string.h
CHANGED
@@ -45,8 +45,7 @@ char* gpr_dump_return_len(const char* buf, size_t len, uint32_t flags,
|
|
45
45
|
|
46
46
|
/* Parses an array of bytes into an integer (base 10). Returns 1 on success,
|
47
47
|
0 on failure. */
|
48
|
-
int gpr_parse_bytes_to_uint32(const char*
|
49
|
-
uint32_t* result);
|
48
|
+
int gpr_parse_bytes_to_uint32(const char* buf, size_t len, uint32_t* result);
|
50
49
|
|
51
50
|
/* Minimum buffer size for calling ltoa */
|
52
51
|
#define GPR_LTOA_MIN_BUFSIZE (3 * sizeof(long))
|
@@ -77,15 +76,15 @@ void gpr_reverse_bytes(char* str, int len);
|
|
77
76
|
char* gpr_leftpad(const char* str, char flag, size_t length);
|
78
77
|
|
79
78
|
/* Join a set of strings, returning the resulting string.
|
80
|
-
Total combined length (excluding null terminator) is returned in
|
79
|
+
Total combined length (excluding null terminator) is returned in final_length
|
81
80
|
if it is non-null. */
|
82
|
-
char* gpr_strjoin(const char** strs, size_t nstrs, size_t*
|
81
|
+
char* gpr_strjoin(const char** strs, size_t nstrs, size_t* final_length);
|
83
82
|
|
84
83
|
/* Join a set of strings using a separator, returning the resulting string.
|
85
|
-
Total combined length (excluding null terminator) is returned in
|
84
|
+
Total combined length (excluding null terminator) is returned in final_length
|
86
85
|
if it is non-null. */
|
87
86
|
char* gpr_strjoin_sep(const char** strs, size_t nstrs, const char* sep,
|
88
|
-
size_t*
|
87
|
+
size_t* final_length);
|
89
88
|
|
90
89
|
void gpr_string_split(const char* input, const char* sep, char*** strs,
|
91
90
|
size_t* nstrs);
|
data/src/core/lib/gpr/sync.cc
CHANGED
@@ -48,7 +48,7 @@ static void event_initialize(void) {
|
|
48
48
|
|
49
49
|
/* Hash ev into an element of sync_array[]. */
|
50
50
|
static struct sync_array_s* hash(gpr_event* ev) {
|
51
|
-
return &sync_array[(
|
51
|
+
return &sync_array[reinterpret_cast<uintptr_t>(ev) % event_sync_partitions];
|
52
52
|
}
|
53
53
|
|
54
54
|
void gpr_event_init(gpr_event* ev) {
|
@@ -67,16 +67,16 @@ void gpr_event_set(gpr_event* ev, void* value) {
|
|
67
67
|
}
|
68
68
|
|
69
69
|
void* gpr_event_get(gpr_event* ev) {
|
70
|
-
return (
|
70
|
+
return reinterpret_cast<void*>(gpr_atm_acq_load(&ev->state));
|
71
71
|
}
|
72
72
|
|
73
73
|
void* gpr_event_wait(gpr_event* ev, gpr_timespec abs_deadline) {
|
74
|
-
void* result = (
|
74
|
+
void* result = reinterpret_cast<void*>(gpr_atm_acq_load(&ev->state));
|
75
75
|
if (result == nullptr) {
|
76
76
|
struct sync_array_s* s = hash(ev);
|
77
77
|
gpr_mu_lock(&s->mu);
|
78
78
|
do {
|
79
|
-
result = (
|
79
|
+
result = reinterpret_cast<void*>(gpr_atm_acq_load(&ev->state));
|
80
80
|
} while (result == nullptr && !gpr_cv_wait(&s->cv, &s->mu, abs_deadline));
|
81
81
|
gpr_mu_unlock(&s->mu);
|
82
82
|
}
|
data/src/core/lib/gpr/time.cc
CHANGED
@@ -107,28 +107,28 @@ static gpr_timespec to_seconds_from_above_second_time(int64_t time_in_units,
|
|
107
107
|
return out;
|
108
108
|
}
|
109
109
|
|
110
|
-
gpr_timespec gpr_time_from_nanos(int64_t ns, gpr_clock_type
|
111
|
-
return to_seconds_from_sub_second_time(ns, GPR_NS_PER_SEC,
|
110
|
+
gpr_timespec gpr_time_from_nanos(int64_t ns, gpr_clock_type clock_type) {
|
111
|
+
return to_seconds_from_sub_second_time(ns, GPR_NS_PER_SEC, clock_type);
|
112
112
|
}
|
113
113
|
|
114
|
-
gpr_timespec gpr_time_from_micros(int64_t us, gpr_clock_type
|
115
|
-
return to_seconds_from_sub_second_time(us, GPR_US_PER_SEC,
|
114
|
+
gpr_timespec gpr_time_from_micros(int64_t us, gpr_clock_type clock_type) {
|
115
|
+
return to_seconds_from_sub_second_time(us, GPR_US_PER_SEC, clock_type);
|
116
116
|
}
|
117
117
|
|
118
|
-
gpr_timespec gpr_time_from_millis(int64_t ms, gpr_clock_type
|
119
|
-
return to_seconds_from_sub_second_time(ms, GPR_MS_PER_SEC,
|
118
|
+
gpr_timespec gpr_time_from_millis(int64_t ms, gpr_clock_type clock_type) {
|
119
|
+
return to_seconds_from_sub_second_time(ms, GPR_MS_PER_SEC, clock_type);
|
120
120
|
}
|
121
121
|
|
122
|
-
gpr_timespec gpr_time_from_seconds(int64_t s, gpr_clock_type
|
123
|
-
return to_seconds_from_sub_second_time(s, 1,
|
122
|
+
gpr_timespec gpr_time_from_seconds(int64_t s, gpr_clock_type clock_type) {
|
123
|
+
return to_seconds_from_sub_second_time(s, 1, clock_type);
|
124
124
|
}
|
125
125
|
|
126
|
-
gpr_timespec gpr_time_from_minutes(int64_t m, gpr_clock_type
|
127
|
-
return to_seconds_from_above_second_time(m, 60,
|
126
|
+
gpr_timespec gpr_time_from_minutes(int64_t m, gpr_clock_type clock_type) {
|
127
|
+
return to_seconds_from_above_second_time(m, 60, clock_type);
|
128
128
|
}
|
129
129
|
|
130
|
-
gpr_timespec gpr_time_from_hours(int64_t h, gpr_clock_type
|
131
|
-
return to_seconds_from_above_second_time(h, 3600,
|
130
|
+
gpr_timespec gpr_time_from_hours(int64_t h, gpr_clock_type clock_type) {
|
131
|
+
return to_seconds_from_above_second_time(h, 3600, clock_type);
|
132
132
|
}
|
133
133
|
|
134
134
|
gpr_timespec gpr_time_add(gpr_timespec a, gpr_timespec b) {
|
data/src/core/lib/gprpp/arena.h
CHANGED
@@ -96,7 +96,8 @@ class Arena {
|
|
96
96
|
// where we wish to create an arena and then perform an immediate
|
97
97
|
// allocation.
|
98
98
|
explicit Arena(size_t initial_size, size_t initial_alloc = 0)
|
99
|
-
: total_used_(initial_alloc),
|
99
|
+
: total_used_(GPR_ROUND_UP_TO_ALIGNMENT_SIZE(initial_alloc)),
|
100
|
+
initial_zone_size_(initial_size) {}
|
100
101
|
|
101
102
|
~Arena();
|
102
103
|
|
@@ -105,7 +106,7 @@ class Arena {
|
|
105
106
|
// Keep track of the total used size. We use this in our call sizing
|
106
107
|
// hysteresis.
|
107
108
|
Atomic<size_t> total_used_;
|
108
|
-
size_t initial_zone_size_;
|
109
|
+
const size_t initial_zone_size_;
|
109
110
|
gpr_spinlock arena_growth_spinlock_ = GPR_SPINLOCK_STATIC_INITIALIZER;
|
110
111
|
// If the initial arena allocation wasn't enough, we allocate additional zones
|
111
112
|
// in a reverse linked list. Each additional zone consists of (1) a pointer to
|
@@ -221,12 +221,12 @@ class Delete;
|
|
221
221
|
template <typename T>
|
222
222
|
class Delete<T, true> {
|
223
223
|
public:
|
224
|
-
Delete(T* t) { delete t; }
|
224
|
+
explicit Delete(T* t) { delete t; }
|
225
225
|
};
|
226
226
|
template <typename T>
|
227
227
|
class Delete<T, false> {
|
228
228
|
public:
|
229
|
-
Delete(T* t) {}
|
229
|
+
explicit Delete(T* t) {}
|
230
230
|
};
|
231
231
|
} // namespace internal
|
232
232
|
|
@@ -35,10 +35,12 @@ template <typename T>
|
|
35
35
|
class RefCountedPtr {
|
36
36
|
public:
|
37
37
|
RefCountedPtr() {}
|
38
|
+
// NOLINTNEXTLINE(google-explicit-constructor)
|
38
39
|
RefCountedPtr(std::nullptr_t) {}
|
39
40
|
|
40
41
|
// If value is non-null, we take ownership of a ref to it.
|
41
42
|
template <typename Y>
|
43
|
+
// NOLINTNEXTLINE(google-explicit-constructor)
|
42
44
|
RefCountedPtr(Y* value) : value_(value) {}
|
43
45
|
|
44
46
|
// Move ctors.
|
@@ -47,6 +49,7 @@ class RefCountedPtr {
|
|
47
49
|
other.value_ = nullptr;
|
48
50
|
}
|
49
51
|
template <typename Y>
|
52
|
+
// NOLINTNEXTLINE(google-explicit-constructor)
|
50
53
|
RefCountedPtr(RefCountedPtr<Y>&& other) noexcept {
|
51
54
|
value_ = static_cast<T*>(other.value_);
|
52
55
|
other.value_ = nullptr;
|
@@ -71,6 +74,7 @@ class RefCountedPtr {
|
|
71
74
|
value_ = other.value_;
|
72
75
|
}
|
73
76
|
template <typename Y>
|
77
|
+
// NOLINTNEXTLINE(google-explicit-constructor)
|
74
78
|
RefCountedPtr(const RefCountedPtr<Y>& other) {
|
75
79
|
static_assert(std::has_virtual_destructor<T>::value,
|
76
80
|
"T does not have a virtual dtor");
|
@@ -181,11 +185,13 @@ template <typename T>
|
|
181
185
|
class WeakRefCountedPtr {
|
182
186
|
public:
|
183
187
|
WeakRefCountedPtr() {}
|
188
|
+
// NOLINTNEXTLINE(google-explicit-constructor)
|
184
189
|
WeakRefCountedPtr(std::nullptr_t) {}
|
185
190
|
|
186
191
|
// If value is non-null, we take ownership of a ref to it.
|
187
192
|
template <typename Y>
|
188
|
-
|
193
|
+
// NOLINTNEXTLINE(google-explicit-constructor)
|
194
|
+
WeakRefCountedPtr(Y* value) {
|
189
195
|
value_ = value;
|
190
196
|
}
|
191
197
|
|
@@ -195,6 +201,7 @@ class WeakRefCountedPtr {
|
|
195
201
|
other.value_ = nullptr;
|
196
202
|
}
|
197
203
|
template <typename Y>
|
204
|
+
// NOLINTNEXTLINE(google-explicit-constructor)
|
198
205
|
WeakRefCountedPtr(WeakRefCountedPtr<Y>&& other) noexcept {
|
199
206
|
value_ = static_cast<T*>(other.value_);
|
200
207
|
other.value_ = nullptr;
|
@@ -219,6 +226,7 @@ class WeakRefCountedPtr {
|
|
219
226
|
value_ = other.value_;
|
220
227
|
}
|
221
228
|
template <typename Y>
|
229
|
+
// NOLINTNEXTLINE(google-explicit-constructor)
|
222
230
|
WeakRefCountedPtr(const WeakRefCountedPtr<Y>& other) {
|
223
231
|
static_assert(std::has_virtual_destructor<T>::value,
|
224
232
|
"T does not have a virtual dtor");
|
@@ -199,6 +199,11 @@ Thread::Thread(const char* thd_name, void (*thd_body)(void* arg), void* arg,
|
|
199
199
|
} // namespace grpc_core
|
200
200
|
|
201
201
|
// The following is in the external namespace as it is exposed as C89 API
|
202
|
-
gpr_thd_id gpr_thd_currentid(void) {
|
202
|
+
gpr_thd_id gpr_thd_currentid(void) {
|
203
|
+
// Use C-style casting because Linux and OSX have different definitions
|
204
|
+
// of pthread_t so that a single C++ cast doesn't handle it.
|
205
|
+
// NOLINTNEXTLINE(google-readability-casting)
|
206
|
+
return (gpr_thd_id)pthread_self();
|
207
|
+
}
|
203
208
|
|
204
209
|
#endif /* GPR_POSIX_SYNC */
|
@@ -171,6 +171,8 @@ Thread::Thread(const char* thd_name, void (*thd_body)(void* arg), void* arg,
|
|
171
171
|
|
172
172
|
} // namespace grpc_core
|
173
173
|
|
174
|
-
gpr_thd_id gpr_thd_currentid(void) {
|
174
|
+
gpr_thd_id gpr_thd_currentid(void) {
|
175
|
+
return reinterpret_cast<gpr_thd_id>(g_thd_info);
|
176
|
+
}
|
175
177
|
|
176
178
|
#endif /* GPR_WINDOWS */
|
@@ -209,7 +209,7 @@ static void next_address(internal_request* req, grpc_error* error) {
|
|
209
209
|
GRPC_CLOSURE_INIT(&req->connected, on_connected, req,
|
210
210
|
grpc_schedule_on_exec_ctx);
|
211
211
|
grpc_arg arg = grpc_channel_arg_pointer_create(
|
212
|
-
(
|
212
|
+
const_cast<char*>(GRPC_ARG_RESOURCE_QUOTA), req->resource_quota,
|
213
213
|
grpc_resource_quota_arg_vtable());
|
214
214
|
grpc_channel_args args = {1, &arg};
|
215
215
|
grpc_tcp_client_connect(&req->connected, &req->ep, req->context->pollset_set,
|
data/src/core/lib/http/httpcli.h
CHANGED
@@ -83,8 +83,7 @@ void grpc_httpcli_get(grpc_httpcli_context* context,
|
|
83
83
|
grpc_polling_entity* pollent,
|
84
84
|
grpc_resource_quota* resource_quota,
|
85
85
|
const grpc_httpcli_request* request, grpc_millis deadline,
|
86
|
-
grpc_closure*
|
87
|
-
grpc_httpcli_response* response);
|
86
|
+
grpc_closure* on_done, grpc_httpcli_response* response);
|
88
87
|
|
89
88
|
/* Asynchronously perform a HTTP POST.
|
90
89
|
'context' specifies the http context under which to do the post
|
@@ -105,7 +104,7 @@ void grpc_httpcli_post(grpc_httpcli_context* context,
|
|
105
104
|
grpc_resource_quota* resource_quota,
|
106
105
|
const grpc_httpcli_request* request,
|
107
106
|
const char* body_bytes, size_t body_size,
|
108
|
-
grpc_millis deadline, grpc_closure*
|
107
|
+
grpc_millis deadline, grpc_closure* on_done,
|
109
108
|
grpc_httpcli_response* response);
|
110
109
|
|
111
110
|
/* override functions return 1 if they handled the request, 0 otherwise */
|
@@ -43,7 +43,7 @@
|
|
43
43
|
class grpc_httpcli_ssl_channel_security_connector final
|
44
44
|
: public grpc_channel_security_connector {
|
45
45
|
public:
|
46
|
-
grpc_httpcli_ssl_channel_security_connector(char* secure_peer_name)
|
46
|
+
explicit grpc_httpcli_ssl_channel_security_connector(char* secure_peer_name)
|
47
47
|
: grpc_channel_security_connector(
|
48
48
|
/*url_scheme=*/nullptr,
|
49
49
|
/*channel_creds=*/nullptr,
|