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
@@ -45,7 +45,7 @@ XdsClusterDropStats::XdsClusterDropStats(RefCountedPtr<XdsClient> xds_client,
|
|
45
45
|
absl::string_view lrs_server_name,
|
46
46
|
absl::string_view cluster_name,
|
47
47
|
absl::string_view eds_service_name)
|
48
|
-
: RefCounted(GRPC_TRACE_FLAG_ENABLED(
|
48
|
+
: RefCounted(GRPC_TRACE_FLAG_ENABLED(grpc_xds_client_refcount_trace)
|
49
49
|
? "XdsClusterDropStats"
|
50
50
|
: nullptr),
|
51
51
|
xds_client_(std::move(xds_client)),
|
@@ -98,7 +98,7 @@ XdsClusterLocalityStats::XdsClusterLocalityStats(
|
|
98
98
|
RefCountedPtr<XdsClient> xds_client, absl::string_view lrs_server_name,
|
99
99
|
absl::string_view cluster_name, absl::string_view eds_service_name,
|
100
100
|
RefCountedPtr<XdsLocalityName> name)
|
101
|
-
: RefCounted(GRPC_TRACE_FLAG_ENABLED(
|
101
|
+
: RefCounted(GRPC_TRACE_FLAG_ENABLED(grpc_xds_client_refcount_trace)
|
102
102
|
? "XdsClusterLocalityStats"
|
103
103
|
: nullptr),
|
104
104
|
xds_client_(std::move(xds_client)),
|
@@ -0,0 +1,131 @@
|
|
1
|
+
//
|
2
|
+
//
|
3
|
+
// Copyright 2020 gRPC authors.
|
4
|
+
//
|
5
|
+
// Licensed under the Apache License, Version 2.0 (the "License");
|
6
|
+
// you may not use this file except in compliance with the License.
|
7
|
+
// You may obtain a copy of the License at
|
8
|
+
//
|
9
|
+
// http://www.apache.org/licenses/LICENSE-2.0
|
10
|
+
//
|
11
|
+
// Unless required by applicable law or agreed to in writing, software
|
12
|
+
// distributed under the License is distributed on an "AS IS" BASIS,
|
13
|
+
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
14
|
+
// See the License for the specific language governing permissions and
|
15
|
+
// limitations under the License.
|
16
|
+
//
|
17
|
+
//
|
18
|
+
|
19
|
+
#include <grpc/support/port_platform.h>
|
20
|
+
|
21
|
+
#include "src/core/ext/xds/xds_client.h"
|
22
|
+
#include "src/core/lib/surface/api_trace.h"
|
23
|
+
#include "src/core/lib/surface/server.h"
|
24
|
+
|
25
|
+
namespace grpc_core {
|
26
|
+
namespace {
|
27
|
+
|
28
|
+
class XdsServerConfigFetcher : public grpc_server_config_fetcher {
|
29
|
+
public:
|
30
|
+
explicit XdsServerConfigFetcher(RefCountedPtr<XdsClient> xds_client)
|
31
|
+
: xds_client_(std::move(xds_client)) {
|
32
|
+
GPR_ASSERT(xds_client_ != nullptr);
|
33
|
+
}
|
34
|
+
|
35
|
+
void StartWatch(std::string listening_address,
|
36
|
+
std::unique_ptr<grpc_server_config_fetcher::WatcherInterface>
|
37
|
+
watcher) override {
|
38
|
+
grpc_server_config_fetcher::WatcherInterface* watcher_ptr = watcher.get();
|
39
|
+
auto listener_watcher =
|
40
|
+
absl::make_unique<ListenerWatcher>(std::move(watcher));
|
41
|
+
auto* listener_watcher_ptr = listener_watcher.get();
|
42
|
+
// TODO(yashykt): Get the resource name id from bootstrap
|
43
|
+
xds_client_->WatchListenerData(
|
44
|
+
absl::StrCat("grpc/server?xds.resource.listening_address=",
|
45
|
+
listening_address),
|
46
|
+
std::move(listener_watcher));
|
47
|
+
MutexLock lock(&mu_);
|
48
|
+
auto& watcher_state = watchers_[watcher_ptr];
|
49
|
+
watcher_state.listening_address = listening_address;
|
50
|
+
watcher_state.listener_watcher = listener_watcher_ptr;
|
51
|
+
}
|
52
|
+
|
53
|
+
void CancelWatch(
|
54
|
+
grpc_server_config_fetcher::WatcherInterface* watcher) override {
|
55
|
+
MutexLock lock(&mu_);
|
56
|
+
auto it = watchers_.find(watcher);
|
57
|
+
if (it != watchers_.end()) {
|
58
|
+
// Cancel the watch on the listener before erasing
|
59
|
+
xds_client_->CancelListenerDataWatch(it->second.listening_address,
|
60
|
+
it->second.listener_watcher,
|
61
|
+
false /* delay_unsubscription */);
|
62
|
+
watchers_.erase(it);
|
63
|
+
}
|
64
|
+
}
|
65
|
+
|
66
|
+
// Return the interested parties from the xds client so that it can be polled.
|
67
|
+
grpc_pollset_set* interested_parties() override {
|
68
|
+
return xds_client_->interested_parties();
|
69
|
+
}
|
70
|
+
|
71
|
+
private:
|
72
|
+
class ListenerWatcher : public XdsClient::ListenerWatcherInterface {
|
73
|
+
public:
|
74
|
+
explicit ListenerWatcher(
|
75
|
+
std::unique_ptr<grpc_server_config_fetcher::WatcherInterface>
|
76
|
+
server_config_watcher)
|
77
|
+
: server_config_watcher_(std::move(server_config_watcher)) {}
|
78
|
+
|
79
|
+
void OnListenerChanged(XdsApi::LdsUpdate listener) override {
|
80
|
+
// TODO(yashykt): Construct channel args according to received update
|
81
|
+
server_config_watcher_->UpdateConfig(nullptr);
|
82
|
+
}
|
83
|
+
|
84
|
+
void OnError(grpc_error* error) override {
|
85
|
+
gpr_log(GPR_ERROR, "ListenerWatcher:%p XdsClient reports error: %s", this,
|
86
|
+
grpc_error_string(error));
|
87
|
+
GRPC_ERROR_UNREF(error);
|
88
|
+
// TODO(yashykt): We might want to bubble this error to the application.
|
89
|
+
}
|
90
|
+
|
91
|
+
void OnResourceDoesNotExist() override {
|
92
|
+
gpr_log(GPR_ERROR,
|
93
|
+
"ListenerWatcher:%p XdsClient reports requested listener does "
|
94
|
+
"not exist",
|
95
|
+
this);
|
96
|
+
// TODO(yashykt): We might want to bubble this error to the application.
|
97
|
+
}
|
98
|
+
|
99
|
+
private:
|
100
|
+
std::unique_ptr<grpc_server_config_fetcher::WatcherInterface>
|
101
|
+
server_config_watcher_;
|
102
|
+
};
|
103
|
+
|
104
|
+
struct WatcherState {
|
105
|
+
std::string listening_address;
|
106
|
+
ListenerWatcher* listener_watcher = nullptr;
|
107
|
+
};
|
108
|
+
|
109
|
+
RefCountedPtr<XdsClient> xds_client_;
|
110
|
+
Mutex mu_;
|
111
|
+
std::map<grpc_server_config_fetcher::WatcherInterface*, WatcherState>
|
112
|
+
watchers_;
|
113
|
+
};
|
114
|
+
|
115
|
+
} // namespace
|
116
|
+
} // namespace grpc_core
|
117
|
+
|
118
|
+
grpc_server_config_fetcher* grpc_server_config_fetcher_xds_create() {
|
119
|
+
grpc_core::ApplicationCallbackExecCtx callback_exec_ctx;
|
120
|
+
grpc_core::ExecCtx exec_ctx;
|
121
|
+
GRPC_API_TRACE("grpc_server_config_fetcher_xds_create()", 0, ());
|
122
|
+
grpc_error* error = GRPC_ERROR_NONE;
|
123
|
+
grpc_core::RefCountedPtr<grpc_core::XdsClient> xds_client =
|
124
|
+
grpc_core::XdsClient::GetOrCreate(&error);
|
125
|
+
if (error != GRPC_ERROR_NONE) {
|
126
|
+
gpr_log(GPR_ERROR, "Failed to create xds client: %s",
|
127
|
+
grpc_error_string(error));
|
128
|
+
return nullptr;
|
129
|
+
}
|
130
|
+
return new grpc_core::XdsServerConfigFetcher(std::move(xds_client));
|
131
|
+
}
|
@@ -178,21 +178,21 @@ static int cmp_key_stable(const void* ap, const void* bp) {
|
|
178
178
|
return c;
|
179
179
|
}
|
180
180
|
|
181
|
-
grpc_channel_args* grpc_channel_args_normalize(const grpc_channel_args*
|
181
|
+
grpc_channel_args* grpc_channel_args_normalize(const grpc_channel_args* src) {
|
182
182
|
grpc_arg** args =
|
183
|
-
static_cast<grpc_arg**>(gpr_malloc(sizeof(grpc_arg*) *
|
184
|
-
for (size_t i = 0; i <
|
185
|
-
args[i] = &
|
183
|
+
static_cast<grpc_arg**>(gpr_malloc(sizeof(grpc_arg*) * src->num_args));
|
184
|
+
for (size_t i = 0; i < src->num_args; i++) {
|
185
|
+
args[i] = &src->args[i];
|
186
186
|
}
|
187
|
-
if (
|
188
|
-
qsort(args,
|
187
|
+
if (src->num_args > 1) {
|
188
|
+
qsort(args, src->num_args, sizeof(grpc_arg*), cmp_key_stable);
|
189
189
|
}
|
190
190
|
|
191
191
|
grpc_channel_args* b =
|
192
192
|
static_cast<grpc_channel_args*>(gpr_malloc(sizeof(grpc_channel_args)));
|
193
|
-
b->num_args =
|
193
|
+
b->num_args = src->num_args;
|
194
194
|
b->args = static_cast<grpc_arg*>(gpr_malloc(sizeof(grpc_arg) * b->num_args));
|
195
|
-
for (size_t i = 0; i <
|
195
|
+
for (size_t i = 0; i < src->num_args; i++) {
|
196
196
|
b->args[i] = copy_arg(args[i]);
|
197
197
|
}
|
198
198
|
|
@@ -20,6 +20,8 @@
|
|
20
20
|
|
21
21
|
#include "src/core/lib/channel/channelz.h"
|
22
22
|
|
23
|
+
#include "absl/strings/strip.h"
|
24
|
+
|
23
25
|
#include <grpc/grpc.h>
|
24
26
|
#include <grpc/support/alloc.h>
|
25
27
|
#include <grpc/support/log.h>
|
@@ -114,21 +116,21 @@ void CallCountingHelper::CollectData(CounterData* out) {
|
|
114
116
|
}
|
115
117
|
}
|
116
118
|
|
117
|
-
void CallCountingHelper::PopulateCallCounts(Json::Object*
|
119
|
+
void CallCountingHelper::PopulateCallCounts(Json::Object* json) {
|
118
120
|
CounterData data;
|
119
121
|
CollectData(&data);
|
120
122
|
if (data.calls_started != 0) {
|
121
|
-
(*
|
123
|
+
(*json)["callsStarted"] = std::to_string(data.calls_started);
|
122
124
|
gpr_timespec ts = gpr_convert_clock_type(
|
123
125
|
gpr_cycle_counter_to_time(data.last_call_started_cycle),
|
124
126
|
GPR_CLOCK_REALTIME);
|
125
|
-
(*
|
127
|
+
(*json)["lastCallStartedTimestamp"] = gpr_format_timespec(ts);
|
126
128
|
}
|
127
129
|
if (data.calls_succeeded != 0) {
|
128
|
-
(*
|
130
|
+
(*json)["callsSucceeded"] = std::to_string(data.calls_succeeded);
|
129
131
|
}
|
130
132
|
if (data.calls_failed) {
|
131
|
-
(*
|
133
|
+
(*json)["callsFailed"] = std::to_string(data.calls_failed);
|
132
134
|
}
|
133
135
|
}
|
134
136
|
|
@@ -344,14 +346,12 @@ void PopulateSocketAddressJson(Json::Object* json, const char* name,
|
|
344
346
|
const char* addr_str) {
|
345
347
|
if (addr_str == nullptr) return;
|
346
348
|
Json::Object data;
|
347
|
-
|
348
|
-
if ((
|
349
|
-
(strcmp(uri->scheme, "ipv6") == 0))) {
|
350
|
-
const char* host_port = uri->path;
|
351
|
-
if (*host_port == '/') ++host_port;
|
349
|
+
absl::StatusOr<URI> uri = URI::Parse(addr_str);
|
350
|
+
if (uri.ok() && (uri->scheme() == "ipv4" || uri->scheme() == "ipv6")) {
|
352
351
|
std::string host;
|
353
352
|
std::string port;
|
354
|
-
GPR_ASSERT(
|
353
|
+
GPR_ASSERT(
|
354
|
+
SplitHostPort(absl::StripPrefix(uri->path(), "/"), &host, &port));
|
355
355
|
int port_num = -1;
|
356
356
|
if (!port.empty()) {
|
357
357
|
port_num = atoi(port.data());
|
@@ -362,16 +362,15 @@ void PopulateSocketAddressJson(Json::Object* json, const char* name,
|
|
362
362
|
{"ip_address", b64_host},
|
363
363
|
};
|
364
364
|
gpr_free(b64_host);
|
365
|
-
} else if (uri
|
365
|
+
} else if (uri.ok() && uri->scheme() == "unix") {
|
366
366
|
data["uds_address"] = Json::Object{
|
367
|
-
{"filename", uri->path},
|
367
|
+
{"filename", uri->path()},
|
368
368
|
};
|
369
369
|
} else {
|
370
370
|
data["other_address"] = Json::Object{
|
371
371
|
{"name", addr_str},
|
372
372
|
};
|
373
373
|
}
|
374
|
-
grpc_uri_destroy(uri);
|
375
374
|
(*json)[name] = std::move(data);
|
376
375
|
}
|
377
376
|
|
@@ -32,7 +32,6 @@
|
|
32
32
|
#include "src/core/lib/gpr/time_precise.h"
|
33
33
|
#include "src/core/lib/gprpp/atomic.h"
|
34
34
|
#include "src/core/lib/gprpp/manual_constructor.h"
|
35
|
-
#include "src/core/lib/gprpp/map.h"
|
36
35
|
#include "src/core/lib/gprpp/ref_counted.h"
|
37
36
|
#include "src/core/lib/gprpp/ref_counted_ptr.h"
|
38
37
|
#include "src/core/lib/gprpp/sync.h"
|
@@ -256,7 +256,7 @@ void HandshakeManager::DoHandshake(grpc_endpoint* endpoint,
|
|
256
256
|
void grpc_handshake_manager_add(grpc_handshake_manager* mgr,
|
257
257
|
grpc_handshaker* handshaker) {
|
258
258
|
// This is a transition method to aid the API change for handshakers.
|
259
|
-
|
260
|
-
|
259
|
+
grpc_core::RefCountedPtr<grpc_core::Handshaker> refd_hs(
|
260
|
+
static_cast<grpc_core::Handshaker*>(handshaker));
|
261
261
|
mgr->Add(refd_hs);
|
262
262
|
}
|
@@ -55,7 +55,7 @@ grpc_channel_args* grpc_channel_args_set_channel_default_compression_algorithm(
|
|
55
55
|
GPR_ASSERT(algorithm < GRPC_COMPRESS_ALGORITHMS_COUNT);
|
56
56
|
grpc_arg tmp;
|
57
57
|
tmp.type = GRPC_ARG_INTEGER;
|
58
|
-
tmp.key = (
|
58
|
+
tmp.key = const_cast<char*>(GRPC_COMPRESSION_CHANNEL_DEFAULT_ALGORITHM);
|
59
59
|
tmp.value.integer = algorithm;
|
60
60
|
return grpc_channel_args_copy_and_add(a, &tmp, 1);
|
61
61
|
}
|
@@ -108,7 +108,8 @@ grpc_channel_args* grpc_channel_args_compression_algorithm_set_state(
|
|
108
108
|
/* create a new arg */
|
109
109
|
grpc_arg tmp;
|
110
110
|
tmp.type = GRPC_ARG_INTEGER;
|
111
|
-
tmp.key =
|
111
|
+
tmp.key =
|
112
|
+
const_cast<char*>(GRPC_COMPRESSION_CHANNEL_ENABLED_ALGORITHMS_BITSET);
|
112
113
|
/* all enabled by default */
|
113
114
|
tmp.value.integer = (1u << GRPC_COMPRESS_ALGORITHMS_COUNT) - 1;
|
114
115
|
if (state != 0) {
|
data/src/core/lib/debug/stats.h
CHANGED
@@ -61,10 +61,10 @@ void grpc_stats_diff(const grpc_stats_data* b, const grpc_stats_data* a,
|
|
61
61
|
std::string grpc_stats_data_as_json(const grpc_stats_data* data);
|
62
62
|
int grpc_stats_histo_find_bucket_slow(int value, const int* table,
|
63
63
|
int table_size);
|
64
|
-
double grpc_stats_histo_percentile(const grpc_stats_data*
|
64
|
+
double grpc_stats_histo_percentile(const grpc_stats_data* stats,
|
65
65
|
grpc_stats_histograms histogram,
|
66
66
|
double percentile);
|
67
|
-
size_t grpc_stats_histo_count(const grpc_stats_data*
|
67
|
+
size_t grpc_stats_histo_count(const grpc_stats_data* stats,
|
68
68
|
grpc_stats_histograms histogram);
|
69
69
|
|
70
70
|
#endif
|
@@ -397,43 +397,43 @@ typedef enum {
|
|
397
397
|
GRPC_STATS_INC_COUNTER(GRPC_STATS_COUNTER_CQ_EV_QUEUE_TRANSIENT_POP_FAILURES)
|
398
398
|
#define GRPC_STATS_INC_CALL_INITIAL_SIZE(value) \
|
399
399
|
grpc_stats_inc_call_initial_size((int)(value))
|
400
|
-
void grpc_stats_inc_call_initial_size(int
|
400
|
+
void grpc_stats_inc_call_initial_size(int value);
|
401
401
|
#define GRPC_STATS_INC_POLL_EVENTS_RETURNED(value) \
|
402
402
|
grpc_stats_inc_poll_events_returned((int)(value))
|
403
|
-
void grpc_stats_inc_poll_events_returned(int
|
403
|
+
void grpc_stats_inc_poll_events_returned(int value);
|
404
404
|
#define GRPC_STATS_INC_TCP_WRITE_SIZE(value) \
|
405
405
|
grpc_stats_inc_tcp_write_size((int)(value))
|
406
|
-
void grpc_stats_inc_tcp_write_size(int
|
406
|
+
void grpc_stats_inc_tcp_write_size(int value);
|
407
407
|
#define GRPC_STATS_INC_TCP_WRITE_IOV_SIZE(value) \
|
408
408
|
grpc_stats_inc_tcp_write_iov_size((int)(value))
|
409
|
-
void grpc_stats_inc_tcp_write_iov_size(int
|
409
|
+
void grpc_stats_inc_tcp_write_iov_size(int value);
|
410
410
|
#define GRPC_STATS_INC_TCP_READ_SIZE(value) \
|
411
411
|
grpc_stats_inc_tcp_read_size((int)(value))
|
412
|
-
void grpc_stats_inc_tcp_read_size(int
|
412
|
+
void grpc_stats_inc_tcp_read_size(int value);
|
413
413
|
#define GRPC_STATS_INC_TCP_READ_OFFER(value) \
|
414
414
|
grpc_stats_inc_tcp_read_offer((int)(value))
|
415
|
-
void grpc_stats_inc_tcp_read_offer(int
|
415
|
+
void grpc_stats_inc_tcp_read_offer(int value);
|
416
416
|
#define GRPC_STATS_INC_TCP_READ_OFFER_IOV_SIZE(value) \
|
417
417
|
grpc_stats_inc_tcp_read_offer_iov_size((int)(value))
|
418
|
-
void grpc_stats_inc_tcp_read_offer_iov_size(int
|
418
|
+
void grpc_stats_inc_tcp_read_offer_iov_size(int value);
|
419
419
|
#define GRPC_STATS_INC_HTTP2_SEND_MESSAGE_SIZE(value) \
|
420
420
|
grpc_stats_inc_http2_send_message_size((int)(value))
|
421
|
-
void grpc_stats_inc_http2_send_message_size(int
|
421
|
+
void grpc_stats_inc_http2_send_message_size(int value);
|
422
422
|
#define GRPC_STATS_INC_HTTP2_SEND_INITIAL_METADATA_PER_WRITE(value) \
|
423
423
|
grpc_stats_inc_http2_send_initial_metadata_per_write((int)(value))
|
424
|
-
void grpc_stats_inc_http2_send_initial_metadata_per_write(int
|
424
|
+
void grpc_stats_inc_http2_send_initial_metadata_per_write(int value);
|
425
425
|
#define GRPC_STATS_INC_HTTP2_SEND_MESSAGE_PER_WRITE(value) \
|
426
426
|
grpc_stats_inc_http2_send_message_per_write((int)(value))
|
427
|
-
void grpc_stats_inc_http2_send_message_per_write(int
|
427
|
+
void grpc_stats_inc_http2_send_message_per_write(int value);
|
428
428
|
#define GRPC_STATS_INC_HTTP2_SEND_TRAILING_METADATA_PER_WRITE(value) \
|
429
429
|
grpc_stats_inc_http2_send_trailing_metadata_per_write((int)(value))
|
430
|
-
void grpc_stats_inc_http2_send_trailing_metadata_per_write(int
|
430
|
+
void grpc_stats_inc_http2_send_trailing_metadata_per_write(int value);
|
431
431
|
#define GRPC_STATS_INC_HTTP2_SEND_FLOWCTL_PER_WRITE(value) \
|
432
432
|
grpc_stats_inc_http2_send_flowctl_per_write((int)(value))
|
433
|
-
void grpc_stats_inc_http2_send_flowctl_per_write(int
|
433
|
+
void grpc_stats_inc_http2_send_flowctl_per_write(int value);
|
434
434
|
#define GRPC_STATS_INC_SERVER_CQS_CHECKED(value) \
|
435
435
|
grpc_stats_inc_server_cqs_checked((int)(value))
|
436
|
-
void grpc_stats_inc_server_cqs_checked(int
|
436
|
+
void grpc_stats_inc_server_cqs_checked(int value);
|
437
437
|
#else
|
438
438
|
#define GRPC_STATS_INC_CLIENT_CALLS_CREATED()
|
439
439
|
#define GRPC_STATS_INC_SERVER_CALLS_CREATED()
|
data/src/core/lib/gpr/alloc.cc
CHANGED
@@ -66,9 +66,10 @@ void* gpr_malloc_aligned(size_t size, size_t alignment) {
|
|
66
66
|
GPR_ASSERT(((alignment - 1) & alignment) == 0); // Must be power of 2.
|
67
67
|
size_t extra = alignment - 1 + sizeof(void*);
|
68
68
|
void* p = gpr_malloc(size + extra);
|
69
|
-
void** ret =
|
69
|
+
void** ret = reinterpret_cast<void**>(
|
70
|
+
(reinterpret_cast<uintptr_t>(p) + extra) & ~(alignment - 1));
|
70
71
|
ret[-1] = p;
|
71
|
-
return
|
72
|
+
return ret;
|
72
73
|
}
|
73
74
|
|
74
75
|
void gpr_free_aligned(void* ptr) { gpr_free((static_cast<void**>(ptr))[-1]); }
|
data/src/core/lib/gpr/log.cc
CHANGED
@@ -30,10 +30,17 @@
|
|
30
30
|
|
31
31
|
GPR_GLOBAL_CONFIG_DEFINE_STRING(grpc_verbosity, "ERROR",
|
32
32
|
"Default gRPC logging verbosity")
|
33
|
+
GPR_GLOBAL_CONFIG_DEFINE_STRING(grpc_stacktrace_minloglevel, "",
|
34
|
+
"Messages logged at the same or higher level "
|
35
|
+
"than this will print stacktrace")
|
36
|
+
|
37
|
+
static constexpr gpr_atm GPR_LOG_SEVERITY_UNSET = GPR_LOG_SEVERITY_ERROR + 10;
|
38
|
+
static constexpr gpr_atm GPR_LOG_SEVERITY_NONE = GPR_LOG_SEVERITY_ERROR + 11;
|
33
39
|
|
34
40
|
void gpr_default_log(gpr_log_func_args* args);
|
35
|
-
static gpr_atm g_log_func = (
|
36
|
-
static gpr_atm g_min_severity_to_print =
|
41
|
+
static gpr_atm g_log_func = reinterpret_cast<gpr_atm>(gpr_default_log);
|
42
|
+
static gpr_atm g_min_severity_to_print = GPR_LOG_SEVERITY_UNSET;
|
43
|
+
static gpr_atm g_min_severity_to_print_stacktrace = GPR_LOG_SEVERITY_UNSET;
|
37
44
|
|
38
45
|
const char* gpr_log_severity_string(gpr_log_severity severity) {
|
39
46
|
switch (severity) {
|
@@ -54,6 +61,13 @@ int gpr_should_log(gpr_log_severity severity) {
|
|
54
61
|
: 0;
|
55
62
|
}
|
56
63
|
|
64
|
+
int gpr_should_log_stacktrace(gpr_log_severity severity) {
|
65
|
+
return static_cast<gpr_atm>(severity) >=
|
66
|
+
gpr_atm_no_barrier_load(&g_min_severity_to_print_stacktrace)
|
67
|
+
? 1
|
68
|
+
: 0;
|
69
|
+
}
|
70
|
+
|
57
71
|
void gpr_log_message(const char* file, int line, gpr_log_severity severity,
|
58
72
|
const char* message) {
|
59
73
|
if (gpr_should_log(severity) == 0) {
|
@@ -66,7 +80,7 @@ void gpr_log_message(const char* file, int line, gpr_log_severity severity,
|
|
66
80
|
lfargs.line = line;
|
67
81
|
lfargs.severity = severity;
|
68
82
|
lfargs.message = message;
|
69
|
-
(
|
83
|
+
reinterpret_cast<gpr_log_func>(gpr_atm_no_barrier_load(&g_log_func))(&lfargs);
|
70
84
|
}
|
71
85
|
|
72
86
|
void gpr_set_log_verbosity(gpr_log_severity min_severity_to_print) {
|
@@ -74,23 +88,46 @@ void gpr_set_log_verbosity(gpr_log_severity min_severity_to_print) {
|
|
74
88
|
(gpr_atm)min_severity_to_print);
|
75
89
|
}
|
76
90
|
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
}
|
91
|
+
static gpr_atm parse_log_severity(const char* str, gpr_atm error_value) {
|
92
|
+
if (gpr_stricmp(str, "DEBUG") == 0) {
|
93
|
+
return GPR_LOG_SEVERITY_DEBUG;
|
94
|
+
} else if (gpr_stricmp(str, "INFO") == 0) {
|
95
|
+
return GPR_LOG_SEVERITY_INFO;
|
96
|
+
} else if (gpr_stricmp(str, "ERROR") == 0) {
|
97
|
+
return GPR_LOG_SEVERITY_ERROR;
|
98
|
+
} else if (gpr_stricmp(str, "NONE") == 0) {
|
99
|
+
return GPR_LOG_SEVERITY_NONE;
|
100
|
+
} else {
|
101
|
+
return error_value;
|
89
102
|
}
|
103
|
+
}
|
104
|
+
|
105
|
+
void gpr_log_verbosity_init() {
|
106
|
+
// init verbosity when it hasn't been set
|
90
107
|
if ((gpr_atm_no_barrier_load(&g_min_severity_to_print)) ==
|
91
|
-
|
108
|
+
GPR_LOG_SEVERITY_UNSET) {
|
109
|
+
grpc_core::UniquePtr<char> verbosity =
|
110
|
+
GPR_GLOBAL_CONFIG_GET(grpc_verbosity);
|
111
|
+
gpr_atm min_severity_to_print = GPR_LOG_SEVERITY_ERROR;
|
112
|
+
if (strlen(verbosity.get()) > 0) {
|
113
|
+
min_severity_to_print =
|
114
|
+
parse_log_severity(verbosity.get(), min_severity_to_print);
|
115
|
+
}
|
92
116
|
gpr_atm_no_barrier_store(&g_min_severity_to_print, min_severity_to_print);
|
93
117
|
}
|
118
|
+
// init stacktrace_minloglevel when it hasn't been set
|
119
|
+
if ((gpr_atm_no_barrier_load(&g_min_severity_to_print_stacktrace)) ==
|
120
|
+
GPR_LOG_SEVERITY_UNSET) {
|
121
|
+
grpc_core::UniquePtr<char> stacktrace_minloglevel =
|
122
|
+
GPR_GLOBAL_CONFIG_GET(grpc_stacktrace_minloglevel);
|
123
|
+
gpr_atm min_severity_to_print_stacktrace = GPR_LOG_SEVERITY_NONE;
|
124
|
+
if (strlen(stacktrace_minloglevel.get()) > 0) {
|
125
|
+
min_severity_to_print_stacktrace = parse_log_severity(
|
126
|
+
stacktrace_minloglevel.get(), min_severity_to_print_stacktrace);
|
127
|
+
}
|
128
|
+
gpr_atm_no_barrier_store(&g_min_severity_to_print_stacktrace,
|
129
|
+
min_severity_to_print_stacktrace);
|
130
|
+
}
|
94
131
|
}
|
95
132
|
|
96
133
|
void gpr_set_log_function(gpr_log_func f) {
|