grpc 1.31.1 → 1.32.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 +595 -15723
- data/include/grpc/grpc_security.h +31 -14
- data/include/grpc/impl/codegen/README.md +22 -0
- data/include/grpc/impl/codegen/port_platform.h +6 -1
- data/src/core/ext/filters/client_channel/backup_poller.cc +3 -2
- data/src/core/ext/filters/client_channel/client_channel.cc +64 -20
- data/src/core/ext/filters/client_channel/client_channel.h +1 -1
- data/src/core/ext/filters/client_channel/client_channel_channelz.h +0 -3
- data/src/core/ext/filters/client_channel/health/health_check_client.cc +6 -1
- data/src/core/ext/filters/client_channel/http_connect_handshaker.cc +2 -3
- data/src/core/ext/filters/client_channel/lb_policy.h +2 -0
- data/src/core/ext/filters/client_channel/lb_policy/child_policy_handler.cc +6 -4
- data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.cc +20 -13
- data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_balancer_addresses.cc +0 -13
- data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_balancer_addresses.h +0 -3
- data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_channel_secure.cc +1 -37
- data/src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.cc +19 -13
- data/src/core/ext/filters/client_channel/lb_policy/priority/priority.cc +29 -10
- data/src/core/ext/filters/client_channel/lb_policy/round_robin/round_robin.cc +5 -4
- data/src/core/ext/filters/client_channel/lb_policy/weighted_target/weighted_target.cc +20 -9
- data/src/core/ext/filters/client_channel/lb_policy/xds/cds.cc +18 -12
- data/src/core/ext/filters/client_channel/lb_policy/xds/eds.cc +22 -14
- data/src/core/ext/filters/client_channel/lb_policy/xds/lrs.cc +18 -9
- data/src/core/ext/filters/client_channel/lb_policy/xds/xds_routing.cc +54 -56
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.cc +3 -3
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper_libuv.cc +1 -1
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper_windows.cc +1 -1
- data/src/core/ext/filters/client_channel/resolver/fake/fake_resolver.cc +1 -1
- data/src/core/ext/filters/client_channel/resolver/sockaddr/sockaddr_resolver.cc +1 -1
- data/src/core/ext/filters/client_channel/resolver/xds/xds_resolver.cc +363 -14
- data/src/core/ext/filters/client_channel/resolver_result_parsing.h +0 -1
- data/src/core/ext/filters/client_channel/resolving_lb_policy.cc +5 -4
- data/src/core/ext/filters/client_channel/server_address.cc +40 -7
- data/src/core/ext/filters/client_channel/server_address.h +42 -4
- data/src/core/ext/filters/client_channel/subchannel.cc +64 -23
- data/src/core/ext/filters/client_channel/subchannel.h +16 -4
- data/src/core/ext/filters/max_age/max_age_filter.cc +2 -1
- data/src/core/ext/transport/chttp2/client/chttp2_connector.cc +87 -31
- data/src/core/ext/transport/chttp2/client/chttp2_connector.h +18 -1
- data/src/core/ext/transport/chttp2/client/secure/secure_channel_create.cc +10 -35
- data/src/core/ext/transport/chttp2/server/chttp2_server.cc +19 -25
- data/src/core/ext/transport/chttp2/server/chttp2_server.h +2 -1
- data/src/core/ext/transport/chttp2/server/insecure/server_chttp2.cc +2 -2
- data/src/core/ext/transport/chttp2/server/insecure/server_chttp2_posix.cc +6 -6
- data/src/core/ext/transport/chttp2/server/secure/server_secure_chttp2.cc +3 -2
- data/src/core/ext/transport/chttp2/transport/chttp2_transport.cc +239 -277
- data/src/core/ext/transport/chttp2/transport/flow_control.cc +1 -1
- data/src/core/ext/transport/chttp2/transport/frame_settings.cc +2 -2
- data/src/core/ext/transport/chttp2/transport/internal.h +5 -1
- data/src/core/ext/transport/chttp2/transport/parsing.cc +1 -28
- data/src/core/ext/transport/chttp2/transport/writing.cc +6 -5
- data/src/core/ext/transport/inproc/inproc_transport.cc +12 -12
- data/src/core/ext/upb-generated/envoy/config/accesslog/v3/accesslog.upb.c +224 -0
- data/src/core/ext/upb-generated/envoy/config/accesslog/v3/accesslog.upb.h +700 -0
- data/src/core/ext/upb-generated/envoy/config/cluster/v3/circuit_breaker.upb.c +74 -0
- data/src/core/ext/upb-generated/envoy/config/cluster/v3/circuit_breaker.upb.h +226 -0
- data/src/core/ext/upb-generated/envoy/config/cluster/v3/cluster.upb.c +380 -0
- data/src/core/ext/upb-generated/envoy/config/cluster/v3/cluster.upb.h +1378 -0
- data/src/core/ext/upb-generated/envoy/{api/v2/cluster → config/cluster/v3}/filter.upb.c +8 -8
- data/src/core/ext/upb-generated/envoy/config/cluster/v3/filter.upb.h +69 -0
- data/src/core/ext/upb-generated/envoy/{api/v2/cluster → config/cluster/v3}/outlier_detection.upb.c +8 -8
- data/src/core/ext/upb-generated/envoy/config/cluster/v3/outlier_detection.upb.h +323 -0
- data/src/core/ext/upb-generated/envoy/config/core/v3/address.upb.c +112 -0
- data/src/core/ext/upb-generated/envoy/config/core/v3/address.upb.h +334 -0
- data/src/core/ext/upb-generated/envoy/{api/v2/core → config/core/v3}/backoff.upb.c +8 -8
- data/src/core/ext/upb-generated/envoy/config/core/v3/backoff.upb.h +79 -0
- data/src/core/ext/upb-generated/envoy/config/core/v3/base.upb.c +309 -0
- data/src/core/ext/upb-generated/envoy/config/core/v3/base.upb.h +869 -0
- data/src/core/ext/upb-generated/envoy/config/core/v3/config_source.upb.c +96 -0
- data/src/core/ext/upb-generated/envoy/config/core/v3/config_source.upb.h +328 -0
- data/src/core/ext/upb-generated/envoy/config/core/v3/event_service_config.upb.c +34 -0
- data/src/core/ext/upb-generated/envoy/config/core/v3/event_service_config.upb.h +71 -0
- data/src/core/ext/upb-generated/envoy/config/core/v3/grpc_service.upb.c +195 -0
- data/src/core/ext/upb-generated/envoy/config/core/v3/grpc_service.upb.h +634 -0
- data/src/core/ext/upb-generated/envoy/config/core/v3/health_check.upb.c +170 -0
- data/src/core/ext/upb-generated/envoy/config/core/v3/health_check.upb.h +684 -0
- data/src/core/ext/upb-generated/envoy/{api/v2/core → config/core/v3}/http_uri.upb.c +8 -8
- data/src/core/ext/upb-generated/envoy/config/core/v3/http_uri.upb.h +80 -0
- data/src/core/ext/upb-generated/envoy/config/core/v3/protocol.upb.c +152 -0
- data/src/core/ext/upb-generated/envoy/config/core/v3/protocol.upb.h +536 -0
- data/src/core/ext/upb-generated/envoy/config/core/v3/proxy_protocol.upb.c +28 -0
- data/src/core/ext/upb-generated/envoy/config/core/v3/proxy_protocol.upb.h +58 -0
- data/src/core/ext/upb-generated/envoy/{api/v2/core → config/core/v3}/socket_option.upb.c +6 -6
- data/src/core/ext/upb-generated/envoy/config/core/v3/socket_option.upb.h +88 -0
- data/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint.upb.c +91 -0
- data/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint.upb.h +220 -0
- data/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint_components.upb.c +91 -0
- data/src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint_components.upb.h +273 -0
- data/src/core/ext/upb-generated/envoy/config/endpoint/v3/load_report.upb.c +112 -0
- data/src/core/ext/upb-generated/envoy/config/endpoint/v3/load_report.upb.h +332 -0
- data/src/core/ext/upb-generated/envoy/config/listener/{v2 → v3}/api_listener.upb.c +8 -8
- data/src/core/ext/upb-generated/envoy/config/listener/v3/api_listener.upb.h +65 -0
- data/src/core/ext/upb-generated/envoy/config/listener/v3/listener.upb.c +108 -0
- data/src/core/ext/upb-generated/envoy/config/listener/v3/listener.upb.h +401 -0
- data/src/core/ext/upb-generated/envoy/config/listener/v3/listener_components.upb.c +138 -0
- data/src/core/ext/upb-generated/envoy/config/listener/v3/listener_components.upb.h +490 -0
- data/src/core/ext/upb-generated/envoy/config/listener/v3/udp_listener_config.upb.c +41 -0
- data/src/core/ext/upb-generated/envoy/config/listener/v3/udp_listener_config.upb.h +94 -0
- data/src/core/ext/upb-generated/envoy/config/rbac/v3/rbac.upb.c +174 -0
- data/src/core/ext/upb-generated/envoy/config/rbac/v3/rbac.upb.h +599 -0
- data/src/core/ext/upb-generated/envoy/config/route/v3/route.upb.c +63 -0
- data/src/core/ext/upb-generated/envoy/config/route/v3/route.upb.h +204 -0
- data/src/core/ext/upb-generated/envoy/config/route/v3/route_components.upb.c +773 -0
- data/src/core/ext/upb-generated/envoy/config/route/v3/route_components.upb.h +2855 -0
- data/src/core/ext/upb-generated/envoy/config/route/v3/scoped_route.upb.c +59 -0
- data/src/core/ext/upb-generated/envoy/config/route/v3/scoped_route.upb.h +135 -0
- data/src/core/ext/upb-generated/envoy/config/trace/v3/http_tracer.upb.c +50 -0
- data/src/core/ext/upb-generated/envoy/config/trace/v3/http_tracer.upb.h +108 -0
- data/src/core/ext/upb-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.c +312 -0
- data/src/core/ext/upb-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.h +1125 -0
- data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/cert.upb.c +20 -0
- data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/cert.upb.h +34 -0
- data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/common.upb.c +111 -0
- data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/common.upb.h +401 -0
- data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/secret.upb.c +72 -0
- data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/secret.upb.h +198 -0
- data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/tls.upb.c +105 -0
- data/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/tls.upb.h +388 -0
- data/src/core/ext/upb-generated/envoy/{api/v2 → service/cluster/v3}/cds.upb.c +5 -6
- data/src/core/ext/upb-generated/envoy/service/cluster/v3/cds.upb.h +49 -0
- data/src/core/ext/upb-generated/envoy/service/discovery/{v2 → v3}/ads.upb.c +5 -4
- data/src/core/ext/upb-generated/envoy/service/discovery/v3/ads.upb.h +49 -0
- data/src/core/ext/upb-generated/envoy/service/discovery/v3/discovery.upb.c +129 -0
- data/src/core/ext/upb-generated/envoy/service/discovery/v3/discovery.upb.h +386 -0
- data/src/core/ext/upb-generated/envoy/{api/v2 → service/endpoint/v3}/eds.upb.c +5 -6
- data/src/core/ext/upb-generated/envoy/service/endpoint/v3/eds.upb.h +49 -0
- data/src/core/ext/upb-generated/envoy/{api/v2 → service/listener/v3}/lds.upb.c +5 -6
- data/src/core/ext/upb-generated/envoy/service/listener/v3/lds.upb.h +49 -0
- data/src/core/ext/upb-generated/envoy/service/load_stats/v3/lrs.upb.c +55 -0
- data/src/core/ext/upb-generated/envoy/service/load_stats/v3/lrs.upb.h +136 -0
- data/src/core/ext/upb-generated/envoy/{api/v2 → service/route/v3}/rds.upb.c +5 -6
- data/src/core/ext/upb-generated/envoy/service/route/v3/rds.upb.h +49 -0
- data/src/core/ext/upb-generated/envoy/{api/v2 → service/route/v3}/srds.upb.c +5 -6
- data/src/core/ext/upb-generated/envoy/service/route/v3/srds.upb.h +49 -0
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/metadata.upb.c +47 -0
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/metadata.upb.h +114 -0
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/number.upb.c +35 -0
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/number.upb.h +77 -0
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/path.upb.c +34 -0
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/path.upb.h +71 -0
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/regex.upb.c +64 -0
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/regex.upb.h +145 -0
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/string.upb.c +53 -0
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/string.upb.h +127 -0
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/value.upb.c +63 -0
- data/src/core/ext/upb-generated/envoy/type/matcher/v3/value.upb.h +188 -0
- data/src/core/ext/upb-generated/envoy/type/metadata/v3/metadata.upb.c +88 -0
- data/src/core/ext/upb-generated/envoy/type/metadata/v3/metadata.upb.h +258 -0
- data/src/core/ext/upb-generated/envoy/type/tracing/v3/custom_tag.upb.c +90 -0
- data/src/core/ext/upb-generated/envoy/type/tracing/v3/custom_tag.upb.h +250 -0
- data/src/core/ext/upb-generated/envoy/type/{http.upb.c → v3/http.upb.c} +2 -2
- data/src/core/ext/upb-generated/envoy/type/{http.upb.h → v3/http.upb.h} +8 -8
- data/src/core/ext/upb-generated/envoy/type/{percent.upb.c → v3/percent.upb.c} +9 -8
- data/src/core/ext/upb-generated/envoy/type/v3/percent.upb.h +86 -0
- data/src/core/ext/upb-generated/envoy/type/{range.upb.c → v3/range.upb.c} +12 -11
- data/src/core/ext/upb-generated/envoy/type/v3/range.upb.h +111 -0
- data/src/core/ext/upb-generated/envoy/type/{semantic_version.upb.c → v3/semantic_version.upb.c} +6 -5
- data/src/core/ext/upb-generated/envoy/type/v3/semantic_version.upb.h +61 -0
- data/src/core/ext/upb-generated/google/api/expr/v1alpha1/syntax.upb.c +234 -0
- data/src/core/ext/upb-generated/google/api/expr/v1alpha1/syntax.upb.h +759 -0
- data/src/core/ext/upb-generated/google/protobuf/descriptor.upb.c +36 -36
- data/src/core/ext/upb-generated/google/protobuf/struct.upb.h +1 -1
- data/src/core/ext/upb-generated/udpa/annotations/versioning.upb.c +27 -0
- data/src/core/ext/upb-generated/udpa/annotations/versioning.upb.h +53 -0
- data/src/core/ext/upb-generated/validate/validate.upb.c +11 -11
- data/src/core/ext/upb-generated/validate/validate.upb.h +1 -1
- data/src/core/ext/{filters/client_channel/xds → xds}/xds_api.cc +1045 -767
- data/src/core/ext/{filters/client_channel/xds → xds}/xds_api.h +114 -99
- data/src/core/ext/{filters/client_channel/xds → xds}/xds_bootstrap.cc +44 -2
- data/src/core/ext/{filters/client_channel/xds → xds}/xds_bootstrap.h +8 -3
- data/src/core/ext/{filters/client_channel/xds → xds}/xds_channel.h +4 -4
- data/src/core/ext/{filters/client_channel/xds → xds}/xds_channel_args.h +3 -3
- data/src/core/ext/{filters/client_channel/xds → xds}/xds_channel_secure.cc +2 -5
- data/src/core/ext/{filters/client_channel/xds → xds}/xds_client.cc +85 -417
- data/src/core/ext/{filters/client_channel/xds → xds}/xds_client.h +12 -45
- data/src/core/ext/{filters/client_channel/xds → xds}/xds_client_stats.cc +2 -2
- data/src/core/ext/{filters/client_channel/xds → xds}/xds_client_stats.h +3 -3
- data/src/core/lib/channel/channelz.cc +14 -15
- data/src/core/lib/channel/channelz.h +1 -1
- data/src/core/lib/channel/channelz_registry.cc +3 -1
- data/src/core/lib/gpr/sync_posix.cc +2 -8
- data/src/core/lib/iomgr/endpoint.cc +5 -1
- data/src/core/lib/iomgr/endpoint.h +7 -3
- data/src/core/lib/iomgr/endpoint_cfstream.cc +32 -11
- data/src/core/lib/iomgr/ev_posix.cc +0 -2
- data/src/core/lib/iomgr/iomgr.cc +0 -10
- data/src/core/lib/iomgr/iomgr.h +0 -10
- data/src/core/{ext/filters/client_channel → lib/iomgr}/parse_address.cc +1 -1
- data/src/core/{ext/filters/client_channel → lib/iomgr}/parse_address.h +3 -3
- data/src/core/lib/iomgr/sockaddr_utils.cc +2 -1
- data/src/core/lib/iomgr/sockaddr_utils.h +2 -1
- data/src/core/lib/iomgr/tcp_custom.cc +32 -16
- data/src/core/lib/iomgr/tcp_posix.cc +31 -13
- data/src/core/lib/iomgr/tcp_windows.cc +26 -10
- data/src/core/lib/security/authorization/authorization_engine.cc +177 -0
- data/src/core/lib/security/authorization/authorization_engine.h +84 -0
- data/src/core/lib/security/authorization/evaluate_args.cc +153 -0
- data/src/core/lib/security/authorization/evaluate_args.h +59 -0
- data/src/core/lib/security/authorization/mock_cel/activation.h +57 -0
- data/src/core/lib/security/authorization/mock_cel/cel_expr_builder_factory.h +42 -0
- data/src/core/lib/security/authorization/mock_cel/cel_expression.h +68 -0
- data/src/core/lib/security/authorization/mock_cel/cel_value.h +93 -0
- data/src/core/lib/security/authorization/mock_cel/evaluator_core.h +67 -0
- data/src/core/lib/security/authorization/mock_cel/flat_expr_builder.h +56 -0
- data/src/core/lib/security/authorization/mock_cel/statusor.h +50 -0
- data/src/core/lib/security/credentials/google_default/google_default_credentials.cc +56 -38
- data/src/core/lib/security/security_connector/fake/fake_security_connector.cc +1 -2
- data/src/core/lib/security/transport/secure_endpoint.cc +7 -1
- data/src/core/lib/surface/call.cc +12 -12
- data/src/core/lib/surface/call.h +2 -1
- data/src/core/lib/surface/channel.cc +28 -20
- data/src/core/lib/surface/channel.h +12 -2
- data/src/core/lib/surface/completion_queue.cc +10 -272
- data/src/core/lib/surface/completion_queue.h +0 -8
- data/src/core/lib/surface/init.cc +1 -3
- data/src/core/lib/surface/server.cc +1066 -1244
- data/src/core/lib/surface/server.h +363 -87
- data/src/core/lib/surface/version.cc +2 -2
- data/src/core/lib/transport/authority_override.cc +38 -0
- data/src/core/lib/transport/authority_override.h +32 -0
- data/src/core/lib/transport/connectivity_state.cc +18 -13
- data/src/core/lib/transport/connectivity_state.h +18 -6
- data/src/core/lib/transport/error_utils.cc +13 -0
- data/src/core/lib/transport/error_utils.h +6 -0
- data/src/core/lib/transport/static_metadata.cc +295 -276
- data/src/core/lib/transport/static_metadata.h +80 -73
- data/src/core/lib/transport/transport.h +7 -0
- data/src/core/lib/uri/uri_parser.cc +23 -21
- data/src/core/lib/uri/uri_parser.h +3 -1
- data/src/core/tsi/alts/handshaker/alts_tsi_handshaker.cc +22 -0
- data/src/core/tsi/ssl_transport_security.cc +3 -9
- data/src/ruby/ext/grpc/rb_channel_credentials.c +9 -0
- data/src/ruby/ext/grpc/rb_grpc_imports.generated.c +2 -2
- data/src/ruby/ext/grpc/rb_grpc_imports.generated.h +4 -4
- data/src/ruby/lib/grpc/version.rb +1 -1
- data/src/ruby/spec/channel_credentials_spec.rb +10 -0
- data/src/ruby/spec/generic/active_call_spec.rb +19 -8
- data/third_party/abseil-cpp/absl/algorithm/container.h +1727 -0
- data/third_party/abseil-cpp/absl/base/internal/direct_mmap.h +161 -0
- data/third_party/abseil-cpp/absl/base/internal/exponential_biased.cc +93 -0
- data/third_party/abseil-cpp/absl/base/internal/exponential_biased.h +130 -0
- data/third_party/abseil-cpp/absl/base/internal/low_level_alloc.cc +620 -0
- data/third_party/abseil-cpp/absl/base/internal/low_level_alloc.h +126 -0
- data/third_party/abseil-cpp/absl/container/fixed_array.h +515 -0
- data/third_party/abseil-cpp/absl/container/flat_hash_set.h +503 -0
- data/third_party/abseil-cpp/absl/container/internal/common.h +202 -0
- data/third_party/abseil-cpp/absl/container/internal/container_memory.h +440 -0
- data/third_party/abseil-cpp/absl/container/internal/hash_function_defaults.h +146 -0
- data/third_party/abseil-cpp/absl/container/internal/hash_policy_traits.h +191 -0
- data/third_party/abseil-cpp/absl/container/internal/hashtable_debug_hooks.h +85 -0
- data/third_party/abseil-cpp/absl/container/internal/hashtablez_sampler.cc +269 -0
- data/third_party/abseil-cpp/absl/container/internal/hashtablez_sampler.h +297 -0
- data/third_party/abseil-cpp/absl/container/internal/hashtablez_sampler_force_weak_definition.cc +30 -0
- data/third_party/abseil-cpp/absl/container/internal/have_sse.h +49 -0
- data/third_party/abseil-cpp/absl/container/internal/layout.h +741 -0
- data/third_party/abseil-cpp/absl/container/internal/raw_hash_set.cc +48 -0
- data/third_party/abseil-cpp/absl/container/internal/raw_hash_set.h +1882 -0
- data/third_party/abseil-cpp/absl/debugging/internal/address_is_readable.cc +138 -0
- data/third_party/abseil-cpp/absl/debugging/internal/address_is_readable.h +32 -0
- data/third_party/abseil-cpp/absl/debugging/internal/demangle.cc +1895 -0
- data/third_party/abseil-cpp/absl/debugging/internal/demangle.h +71 -0
- data/third_party/abseil-cpp/absl/debugging/internal/elf_mem_image.cc +382 -0
- data/third_party/abseil-cpp/absl/debugging/internal/elf_mem_image.h +134 -0
- data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_aarch64-inl.inc +192 -0
- data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_arm-inl.inc +125 -0
- data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_config.h +70 -0
- data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_generic-inl.inc +99 -0
- data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_powerpc-inl.inc +248 -0
- data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_unimplemented-inl.inc +24 -0
- data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_win32-inl.inc +85 -0
- data/third_party/abseil-cpp/absl/debugging/internal/stacktrace_x86-inl.inc +346 -0
- data/third_party/abseil-cpp/absl/debugging/internal/symbolize.h +128 -0
- data/third_party/abseil-cpp/absl/debugging/internal/vdso_support.cc +194 -0
- data/third_party/abseil-cpp/absl/debugging/internal/vdso_support.h +158 -0
- data/third_party/abseil-cpp/absl/debugging/stacktrace.cc +140 -0
- data/third_party/abseil-cpp/absl/debugging/stacktrace.h +231 -0
- data/third_party/abseil-cpp/absl/debugging/symbolize.cc +25 -0
- data/third_party/abseil-cpp/absl/debugging/symbolize.h +99 -0
- data/third_party/abseil-cpp/absl/debugging/symbolize_elf.inc +1480 -0
- data/third_party/abseil-cpp/absl/debugging/symbolize_unimplemented.inc +40 -0
- data/third_party/abseil-cpp/absl/debugging/symbolize_win32.inc +81 -0
- data/third_party/abseil-cpp/absl/functional/function_ref.h +139 -0
- data/third_party/abseil-cpp/absl/functional/internal/function_ref.h +106 -0
- data/third_party/abseil-cpp/absl/hash/hash.h +324 -0
- data/third_party/abseil-cpp/absl/hash/internal/city.cc +346 -0
- data/third_party/abseil-cpp/absl/hash/internal/city.h +96 -0
- data/third_party/abseil-cpp/absl/hash/internal/hash.cc +55 -0
- data/third_party/abseil-cpp/absl/hash/internal/hash.h +988 -0
- data/third_party/abseil-cpp/absl/status/status.cc +447 -0
- data/third_party/abseil-cpp/absl/status/status.h +428 -0
- data/third_party/abseil-cpp/absl/status/status_payload_printer.cc +43 -0
- data/third_party/abseil-cpp/absl/status/status_payload_printer.h +51 -0
- data/third_party/abseil-cpp/absl/strings/cord.cc +2019 -0
- data/third_party/abseil-cpp/absl/strings/cord.h +1121 -0
- data/third_party/abseil-cpp/absl/strings/internal/cord_internal.h +151 -0
- data/third_party/abseil-cpp/absl/synchronization/barrier.cc +52 -0
- data/third_party/abseil-cpp/absl/synchronization/barrier.h +79 -0
- data/third_party/abseil-cpp/absl/synchronization/blocking_counter.cc +57 -0
- data/third_party/abseil-cpp/absl/synchronization/blocking_counter.h +99 -0
- data/third_party/abseil-cpp/absl/synchronization/internal/create_thread_identity.cc +140 -0
- data/third_party/abseil-cpp/absl/synchronization/internal/create_thread_identity.h +60 -0
- data/third_party/abseil-cpp/absl/synchronization/internal/graphcycles.cc +697 -0
- data/third_party/abseil-cpp/absl/synchronization/internal/graphcycles.h +141 -0
- data/third_party/abseil-cpp/absl/synchronization/internal/kernel_timeout.h +155 -0
- data/third_party/abseil-cpp/absl/synchronization/internal/mutex_nonprod.inc +261 -0
- data/third_party/abseil-cpp/absl/synchronization/internal/per_thread_sem.cc +106 -0
- data/third_party/abseil-cpp/absl/synchronization/internal/per_thread_sem.h +115 -0
- data/third_party/abseil-cpp/absl/synchronization/internal/waiter.cc +484 -0
- data/third_party/abseil-cpp/absl/synchronization/internal/waiter.h +159 -0
- data/third_party/abseil-cpp/absl/synchronization/mutex.cc +2728 -0
- data/third_party/abseil-cpp/absl/synchronization/mutex.h +1056 -0
- data/third_party/abseil-cpp/absl/synchronization/notification.cc +78 -0
- data/third_party/abseil-cpp/absl/synchronization/notification.h +123 -0
- data/third_party/abseil-cpp/absl/types/bad_variant_access.cc +64 -0
- data/third_party/abseil-cpp/absl/types/bad_variant_access.h +82 -0
- data/third_party/abseil-cpp/absl/types/internal/variant.h +1646 -0
- data/third_party/abseil-cpp/absl/types/variant.h +861 -0
- data/third_party/boringssl-with-bazel/err_data.c +263 -257
- data/third_party/boringssl-with-bazel/src/crypto/evp/evp_asn1.c +16 -0
- data/third_party/boringssl-with-bazel/src/crypto/hpke/hpke.c +456 -0
- data/third_party/boringssl-with-bazel/src/crypto/hpke/internal.h +192 -0
- data/third_party/boringssl-with-bazel/src/crypto/x509/x_sig.c +20 -0
- data/third_party/boringssl-with-bazel/src/include/openssl/arm_arch.h +52 -0
- data/third_party/boringssl-with-bazel/src/include/openssl/base.h +1 -1
- data/third_party/boringssl-with-bazel/src/include/openssl/ssl.h +39 -7
- data/third_party/boringssl-with-bazel/src/include/openssl/tls1.h +2 -3
- data/third_party/boringssl-with-bazel/src/include/openssl/x509.h +11 -0
- data/third_party/boringssl-with-bazel/src/ssl/internal.h +4 -0
- data/third_party/boringssl-with-bazel/src/ssl/ssl_cert.cc +3 -6
- data/third_party/boringssl-with-bazel/src/ssl/ssl_lib.cc +10 -0
- data/third_party/boringssl-with-bazel/src/ssl/t1_lib.cc +34 -9
- data/third_party/boringssl-with-bazel/src/ssl/tls13_server.cc +5 -0
- data/third_party/boringssl-with-bazel/src/ssl/tls_record.cc +5 -3
- data/third_party/upb/upb/decode.c +64 -15
- data/third_party/upb/upb/encode.c +2 -2
- data/third_party/upb/upb/msg.h +2 -2
- data/third_party/upb/upb/port_def.inc +1 -1
- data/third_party/upb/upb/table.c +0 -11
- data/third_party/upb/upb/table.int.h +0 -9
- data/third_party/upb/upb/upb.c +16 -14
- data/third_party/upb/upb/upb.h +26 -0
- data/third_party/upb/upb/upb.hpp +2 -0
- metadata +257 -155
- data/src/core/ext/upb-generated/envoy/api/v2/auth/cert.upb.c +0 -21
- data/src/core/ext/upb-generated/envoy/api/v2/auth/cert.upb.h +0 -34
- data/src/core/ext/upb-generated/envoy/api/v2/auth/common.upb.c +0 -114
- data/src/core/ext/upb-generated/envoy/api/v2/auth/common.upb.h +0 -429
- data/src/core/ext/upb-generated/envoy/api/v2/auth/secret.upb.c +0 -72
- data/src/core/ext/upb-generated/envoy/api/v2/auth/secret.upb.h +0 -198
- data/src/core/ext/upb-generated/envoy/api/v2/auth/tls.upb.c +0 -105
- data/src/core/ext/upb-generated/envoy/api/v2/auth/tls.upb.h +0 -388
- data/src/core/ext/upb-generated/envoy/api/v2/cds.upb.h +0 -52
- data/src/core/ext/upb-generated/envoy/api/v2/cluster.upb.c +0 -403
- data/src/core/ext/upb-generated/envoy/api/v2/cluster.upb.h +0 -1453
- data/src/core/ext/upb-generated/envoy/api/v2/cluster/circuit_breaker.upb.c +0 -74
- data/src/core/ext/upb-generated/envoy/api/v2/cluster/circuit_breaker.upb.h +0 -226
- data/src/core/ext/upb-generated/envoy/api/v2/cluster/filter.upb.h +0 -69
- data/src/core/ext/upb-generated/envoy/api/v2/cluster/outlier_detection.upb.h +0 -323
- data/src/core/ext/upb-generated/envoy/api/v2/core/address.upb.c +0 -112
- data/src/core/ext/upb-generated/envoy/api/v2/core/address.upb.h +0 -334
- data/src/core/ext/upb-generated/envoy/api/v2/core/backoff.upb.h +0 -79
- data/src/core/ext/upb-generated/envoy/api/v2/core/base.upb.c +0 -313
- data/src/core/ext/upb-generated/envoy/api/v2/core/base.upb.h +0 -891
- data/src/core/ext/upb-generated/envoy/api/v2/core/config_source.upb.c +0 -96
- data/src/core/ext/upb-generated/envoy/api/v2/core/config_source.upb.h +0 -328
- data/src/core/ext/upb-generated/envoy/api/v2/core/event_service_config.upb.c +0 -34
- data/src/core/ext/upb-generated/envoy/api/v2/core/event_service_config.upb.h +0 -71
- data/src/core/ext/upb-generated/envoy/api/v2/core/grpc_service.upb.c +0 -197
- data/src/core/ext/upb-generated/envoy/api/v2/core/grpc_service.upb.h +0 -649
- data/src/core/ext/upb-generated/envoy/api/v2/core/health_check.upb.c +0 -172
- data/src/core/ext/upb-generated/envoy/api/v2/core/health_check.upb.h +0 -693
- data/src/core/ext/upb-generated/envoy/api/v2/core/http_uri.upb.h +0 -80
- data/src/core/ext/upb-generated/envoy/api/v2/core/protocol.upb.c +0 -152
- data/src/core/ext/upb-generated/envoy/api/v2/core/protocol.upb.h +0 -536
- data/src/core/ext/upb-generated/envoy/api/v2/core/socket_option.upb.h +0 -88
- data/src/core/ext/upb-generated/envoy/api/v2/discovery.upb.c +0 -129
- data/src/core/ext/upb-generated/envoy/api/v2/discovery.upb.h +0 -386
- data/src/core/ext/upb-generated/envoy/api/v2/eds.upb.h +0 -52
- data/src/core/ext/upb-generated/envoy/api/v2/endpoint.upb.c +0 -92
- data/src/core/ext/upb-generated/envoy/api/v2/endpoint.upb.h +0 -224
- data/src/core/ext/upb-generated/envoy/api/v2/endpoint/endpoint.upb.c +0 -18
- data/src/core/ext/upb-generated/envoy/api/v2/endpoint/endpoint.upb.h +0 -32
- data/src/core/ext/upb-generated/envoy/api/v2/endpoint/endpoint_components.upb.c +0 -91
- data/src/core/ext/upb-generated/envoy/api/v2/endpoint/endpoint_components.upb.h +0 -273
- data/src/core/ext/upb-generated/envoy/api/v2/endpoint/load_report.upb.c +0 -112
- data/src/core/ext/upb-generated/envoy/api/v2/endpoint/load_report.upb.h +0 -332
- data/src/core/ext/upb-generated/envoy/api/v2/lds.upb.h +0 -52
- data/src/core/ext/upb-generated/envoy/api/v2/listener.upb.c +0 -109
- data/src/core/ext/upb-generated/envoy/api/v2/listener.upb.h +0 -415
- data/src/core/ext/upb-generated/envoy/api/v2/listener/listener.upb.c +0 -18
- data/src/core/ext/upb-generated/envoy/api/v2/listener/listener.upb.h +0 -32
- data/src/core/ext/upb-generated/envoy/api/v2/listener/listener_components.upb.c +0 -145
- data/src/core/ext/upb-generated/envoy/api/v2/listener/listener_components.upb.h +0 -538
- data/src/core/ext/upb-generated/envoy/api/v2/listener/udp_listener_config.upb.c +0 -43
- data/src/core/ext/upb-generated/envoy/api/v2/listener/udp_listener_config.upb.h +0 -111
- data/src/core/ext/upb-generated/envoy/api/v2/rds.upb.h +0 -52
- data/src/core/ext/upb-generated/envoy/api/v2/route.upb.c +0 -63
- data/src/core/ext/upb-generated/envoy/api/v2/route.upb.h +0 -204
- data/src/core/ext/upb-generated/envoy/api/v2/route/route.upb.c +0 -18
- data/src/core/ext/upb-generated/envoy/api/v2/route/route.upb.h +0 -32
- data/src/core/ext/upb-generated/envoy/api/v2/route/route_components.upb.c +0 -815
- data/src/core/ext/upb-generated/envoy/api/v2/route/route_components.upb.h +0 -2984
- data/src/core/ext/upb-generated/envoy/api/v2/scoped_route.upb.c +0 -59
- data/src/core/ext/upb-generated/envoy/api/v2/scoped_route.upb.h +0 -135
- data/src/core/ext/upb-generated/envoy/api/v2/srds.upb.h +0 -52
- data/src/core/ext/upb-generated/envoy/config/filter/accesslog/v2/accesslog.upb.c +0 -228
- data/src/core/ext/upb-generated/envoy/config/filter/accesslog/v2/accesslog.upb.h +0 -732
- data/src/core/ext/upb-generated/envoy/config/filter/network/http_connection_manager/v2/http_connection_manager.upb.c +0 -316
- data/src/core/ext/upb-generated/envoy/config/filter/network/http_connection_manager/v2/http_connection_manager.upb.h +0 -1167
- data/src/core/ext/upb-generated/envoy/config/listener/v2/api_listener.upb.h +0 -65
- data/src/core/ext/upb-generated/envoy/config/trace/v2/http_tracer.upb.c +0 -51
- data/src/core/ext/upb-generated/envoy/config/trace/v2/http_tracer.upb.h +0 -125
- data/src/core/ext/upb-generated/envoy/service/discovery/v2/ads.upb.h +0 -49
- data/src/core/ext/upb-generated/envoy/service/load_stats/v2/lrs.upb.c +0 -54
- data/src/core/ext/upb-generated/envoy/service/load_stats/v2/lrs.upb.h +0 -136
- data/src/core/ext/upb-generated/envoy/type/matcher/regex.upb.c +0 -63
- data/src/core/ext/upb-generated/envoy/type/matcher/regex.upb.h +0 -145
- data/src/core/ext/upb-generated/envoy/type/matcher/string.upb.c +0 -53
- data/src/core/ext/upb-generated/envoy/type/matcher/string.upb.h +0 -133
- data/src/core/ext/upb-generated/envoy/type/metadata/v2/metadata.upb.c +0 -88
- data/src/core/ext/upb-generated/envoy/type/metadata/v2/metadata.upb.h +0 -258
- data/src/core/ext/upb-generated/envoy/type/percent.upb.h +0 -86
- data/src/core/ext/upb-generated/envoy/type/range.upb.h +0 -111
- data/src/core/ext/upb-generated/envoy/type/semantic_version.upb.h +0 -61
- data/src/core/ext/upb-generated/envoy/type/tracing/v2/custom_tag.upb.c +0 -89
- data/src/core/ext/upb-generated/envoy/type/tracing/v2/custom_tag.upb.h +0 -250
- data/src/core/lib/security/transport/target_authority_table.cc +0 -75
- data/src/core/lib/security/transport/target_authority_table.h +0 -40
- data/src/core/lib/slice/slice_hash_table.h +0 -199
- data/src/core/lib/slice/slice_weak_hash_table.h +0 -102
@@ -14,8 +14,8 @@
|
|
14
14
|
// limitations under the License.
|
15
15
|
//
|
16
16
|
|
17
|
-
#ifndef
|
18
|
-
#define
|
17
|
+
#ifndef GRPC_CORE_EXT_XDS_XDS_CLIENT_H
|
18
|
+
#define GRPC_CORE_EXT_XDS_XDS_CLIENT_H
|
19
19
|
|
20
20
|
#include <grpc/support/port_platform.h>
|
21
21
|
|
@@ -24,10 +24,9 @@
|
|
24
24
|
#include "absl/strings/string_view.h"
|
25
25
|
#include "absl/types/optional.h"
|
26
26
|
|
27
|
-
#include "src/core/ext/
|
28
|
-
#include "src/core/ext/
|
29
|
-
#include "src/core/ext/
|
30
|
-
#include "src/core/ext/filters/client_channel/xds/xds_client_stats.h"
|
27
|
+
#include "src/core/ext/xds/xds_api.h"
|
28
|
+
#include "src/core/ext/xds/xds_bootstrap.h"
|
29
|
+
#include "src/core/ext/xds/xds_client_stats.h"
|
31
30
|
#include "src/core/lib/gprpp/map.h"
|
32
31
|
#include "src/core/lib/gprpp/memory.h"
|
33
32
|
#include "src/core/lib/gprpp/orphanable.h"
|
@@ -41,13 +40,12 @@ extern TraceFlag xds_client_trace;
|
|
41
40
|
|
42
41
|
class XdsClient : public InternallyRefCounted<XdsClient> {
|
43
42
|
public:
|
44
|
-
//
|
45
|
-
class
|
43
|
+
// Listener data watcher interface. Implemented by callers.
|
44
|
+
class ListenerWatcherInterface {
|
46
45
|
public:
|
47
|
-
virtual ~
|
46
|
+
virtual ~ListenerWatcherInterface() = default;
|
48
47
|
|
49
|
-
virtual void
|
50
|
-
RefCountedPtr<ServiceConfig> service_config) = 0;
|
48
|
+
virtual void OnListenerChanged(std::vector<XdsApi::Route> routes) = 0;
|
51
49
|
|
52
50
|
virtual void OnError(grpc_error* error) = 0;
|
53
51
|
|
@@ -82,7 +80,7 @@ class XdsClient : public InternallyRefCounted<XdsClient> {
|
|
82
80
|
// an error initializing the client.
|
83
81
|
XdsClient(std::shared_ptr<WorkSerializer> work_serializer,
|
84
82
|
grpc_pollset_set* interested_parties, absl::string_view server_name,
|
85
|
-
std::unique_ptr<
|
83
|
+
std::unique_ptr<ListenerWatcherInterface> watcher,
|
86
84
|
const grpc_channel_args& channel_args, grpc_error** error);
|
87
85
|
~XdsClient();
|
88
86
|
|
@@ -234,20 +232,6 @@ class XdsClient : public InternallyRefCounted<XdsClient> {
|
|
234
232
|
// Sends an error notification to all watchers.
|
235
233
|
void NotifyOnError(grpc_error* error);
|
236
234
|
|
237
|
-
// Returns the weighted_clusters action name to use from
|
238
|
-
// weighted_cluster_index_map_ for a WeightedClusters route action.
|
239
|
-
std::string WeightedClustersActionName(
|
240
|
-
const std::vector<XdsApi::RdsUpdate::RdsRoute::ClusterWeight>&
|
241
|
-
weighted_clusters);
|
242
|
-
|
243
|
-
// Updates weighted_cluster_index_map_ that will
|
244
|
-
// determine the names of the WeightedCluster actions for the current update.
|
245
|
-
void UpdateWeightedClusterIndexMap(const XdsApi::RdsUpdate& rds_update);
|
246
|
-
|
247
|
-
// Create the service config generated by the RdsUpdate.
|
248
|
-
grpc_error* CreateServiceConfig(const XdsApi::RdsUpdate& rds_update,
|
249
|
-
RefCountedPtr<ServiceConfig>* service_config);
|
250
|
-
|
251
235
|
XdsApi::ClusterLoadReportMap BuildLoadReportSnapshot(
|
252
236
|
bool send_all_clusters, const std::set<std::string>& clusters);
|
253
237
|
|
@@ -267,8 +251,7 @@ class XdsClient : public InternallyRefCounted<XdsClient> {
|
|
267
251
|
XdsApi api_;
|
268
252
|
|
269
253
|
const std::string server_name_;
|
270
|
-
|
271
|
-
std::unique_ptr<ServiceConfigWatcherInterface> service_config_watcher_;
|
254
|
+
std::unique_ptr<ListenerWatcherInterface> listener_watcher_;
|
272
255
|
|
273
256
|
// The channel for communicating with the xds server.
|
274
257
|
OrphanablePtr<ChannelState> chand_;
|
@@ -285,25 +268,9 @@ class XdsClient : public InternallyRefCounted<XdsClient> {
|
|
285
268
|
LoadReportState>
|
286
269
|
load_report_map_;
|
287
270
|
|
288
|
-
// 2-level map to store WeightedCluster action names.
|
289
|
-
// Top level map is keyed by cluster names without weight like a_b_c; bottom
|
290
|
-
// level map is keyed by cluster names + weights like a10_b50_c40.
|
291
|
-
struct ClusterNamesInfo {
|
292
|
-
uint64_t next_index = 0;
|
293
|
-
std::map<std::string /*cluster names + weights*/,
|
294
|
-
uint64_t /*policy index number*/>
|
295
|
-
cluster_weights_map;
|
296
|
-
};
|
297
|
-
using WeightedClusterIndexMap =
|
298
|
-
std::map<std::string /*cluster names*/, ClusterNamesInfo>;
|
299
|
-
|
300
|
-
// Cache of action names for WeightedCluster targets in the current
|
301
|
-
// service config.
|
302
|
-
WeightedClusterIndexMap weighted_cluster_index_map_;
|
303
|
-
|
304
271
|
bool shutting_down_ = false;
|
305
272
|
};
|
306
273
|
|
307
274
|
} // namespace grpc_core
|
308
275
|
|
309
|
-
#endif /*
|
276
|
+
#endif /* GRPC_CORE_EXT_XDS_XDS_CLIENT_H */
|
@@ -18,14 +18,14 @@
|
|
18
18
|
|
19
19
|
#include <grpc/support/port_platform.h>
|
20
20
|
|
21
|
-
#include "src/core/ext/
|
21
|
+
#include "src/core/ext/xds/xds_client_stats.h"
|
22
22
|
|
23
23
|
#include <string.h>
|
24
24
|
|
25
25
|
#include <grpc/support/atm.h>
|
26
26
|
#include <grpc/support/string_util.h>
|
27
27
|
|
28
|
-
#include "src/core/ext/
|
28
|
+
#include "src/core/ext/xds/xds_client.h"
|
29
29
|
|
30
30
|
namespace grpc_core {
|
31
31
|
|
@@ -16,8 +16,8 @@
|
|
16
16
|
*
|
17
17
|
*/
|
18
18
|
|
19
|
-
#ifndef
|
20
|
-
#define
|
19
|
+
#ifndef GRPC_CORE_EXT_XDS_XDS_CLIENT_STATS_H
|
20
|
+
#define GRPC_CORE_EXT_XDS_XDS_CLIENT_STATS_H
|
21
21
|
|
22
22
|
#include <grpc/support/port_platform.h>
|
23
23
|
|
@@ -208,4 +208,4 @@ class XdsClusterLocalityStats : public RefCounted<XdsClusterLocalityStats> {
|
|
208
208
|
|
209
209
|
} // namespace grpc_core
|
210
210
|
|
211
|
-
#endif /*
|
211
|
+
#endif /* GRPC_CORE_EXT_XDS_XDS_CLIENT_STATS_H */
|
@@ -283,7 +283,7 @@ void ChannelNode::RemoveChildSubchannel(intptr_t child_uuid) {
|
|
283
283
|
// ServerNode
|
284
284
|
//
|
285
285
|
|
286
|
-
ServerNode::ServerNode(
|
286
|
+
ServerNode::ServerNode(size_t channel_tracer_max_nodes)
|
287
287
|
: BaseNode(EntityType::kServer, ""), trace_(channel_tracer_max_nodes) {}
|
288
288
|
|
289
289
|
ServerNode::~ServerNode() {}
|
@@ -310,27 +310,26 @@ void ServerNode::RemoveChildListenSocket(intptr_t child_uuid) {
|
|
310
310
|
|
311
311
|
std::string ServerNode::RenderServerSockets(intptr_t start_socket_id,
|
312
312
|
intptr_t max_results) {
|
313
|
+
GPR_ASSERT(start_socket_id >= 0);
|
314
|
+
GPR_ASSERT(max_results >= 0);
|
313
315
|
// If user does not set max_results, we choose 500.
|
314
316
|
size_t pagination_limit = max_results == 0 ? 500 : max_results;
|
315
317
|
Json::Object object;
|
316
318
|
{
|
317
319
|
MutexLock lock(&child_mu_);
|
318
320
|
size_t sockets_rendered = 0;
|
319
|
-
|
320
|
-
|
321
|
-
|
322
|
-
|
323
|
-
|
324
|
-
|
325
|
-
|
326
|
-
|
327
|
-
|
328
|
-
{"name", it->second->name()},
|
329
|
-
});
|
330
|
-
}
|
331
|
-
object["socketRef"] = std::move(array);
|
321
|
+
// Create list of socket refs.
|
322
|
+
Json::Array array;
|
323
|
+
auto it = child_sockets_.lower_bound(start_socket_id);
|
324
|
+
for (; it != child_sockets_.end() && sockets_rendered < pagination_limit;
|
325
|
+
++it, ++sockets_rendered) {
|
326
|
+
array.emplace_back(Json::Object{
|
327
|
+
{"socketId", std::to_string(it->first)},
|
328
|
+
{"name", it->second->name()},
|
329
|
+
});
|
332
330
|
}
|
333
|
-
|
331
|
+
object["socketRef"] = std::move(array);
|
332
|
+
if (it == child_sockets_.end()) object["end"] = true;
|
334
333
|
}
|
335
334
|
Json json = std::move(object);
|
336
335
|
return json.Dump();
|
@@ -238,7 +238,7 @@ class ChannelNode : public BaseNode {
|
|
238
238
|
// Handles channelz bookkeeping for servers
|
239
239
|
class ServerNode : public BaseNode {
|
240
240
|
public:
|
241
|
-
ServerNode(
|
241
|
+
explicit ServerNode(size_t channel_tracer_max_nodes);
|
242
242
|
|
243
243
|
~ServerNode() override;
|
244
244
|
|
@@ -208,10 +208,12 @@ char* grpc_channelz_get_server(intptr_t server_id) {
|
|
208
208
|
char* grpc_channelz_get_server_sockets(intptr_t server_id,
|
209
209
|
intptr_t start_socket_id,
|
210
210
|
intptr_t max_results) {
|
211
|
+
// Validate inputs before handing them of to the renderer.
|
211
212
|
grpc_core::RefCountedPtr<grpc_core::channelz::BaseNode> base_node =
|
212
213
|
grpc_core::channelz::ChannelzRegistry::Get(server_id);
|
213
214
|
if (base_node == nullptr ||
|
214
|
-
base_node->type() != grpc_core::channelz::BaseNode::EntityType::kServer
|
215
|
+
base_node->type() != grpc_core::channelz::BaseNode::EntityType::kServer ||
|
216
|
+
start_socket_id < 0 || max_results < 0) {
|
215
217
|
return nullptr;
|
216
218
|
}
|
217
219
|
// This cast is ok since we have just checked to make sure base_node is
|
@@ -116,10 +116,6 @@ void gpr_cv_destroy(gpr_cv* cv) {
|
|
116
116
|
#endif
|
117
117
|
}
|
118
118
|
|
119
|
-
#define gpr_convert_clock_type_debug(t, clock_type, now1, now2, add_result, \
|
120
|
-
sub_result) \
|
121
|
-
gpr_convert_clock_type((t), (clock_type))
|
122
|
-
|
123
119
|
int gpr_cv_wait(gpr_cv* cv, gpr_mu* mu, gpr_timespec abs_deadline) {
|
124
120
|
int err = 0;
|
125
121
|
if (gpr_time_cmp(abs_deadline, gpr_inf_future(abs_deadline.clock_type)) ==
|
@@ -132,11 +128,9 @@ int gpr_cv_wait(gpr_cv* cv, gpr_mu* mu, gpr_timespec abs_deadline) {
|
|
132
128
|
} else {
|
133
129
|
struct timespec abs_deadline_ts;
|
134
130
|
#if GPR_LINUX
|
135
|
-
abs_deadline =
|
136
|
-
abs_deadline, GPR_CLOCK_MONOTONIC, now1, now2, add_result, sub_result);
|
131
|
+
abs_deadline = gpr_convert_clock_type(abs_deadline, GPR_CLOCK_MONOTONIC);
|
137
132
|
#else
|
138
|
-
abs_deadline =
|
139
|
-
abs_deadline, GPR_CLOCK_REALTIME, now1, now2, add_result, sub_result);
|
133
|
+
abs_deadline = gpr_convert_clock_type(abs_deadline, GPR_CLOCK_REALTIME);
|
140
134
|
#endif // GPR_LINUX
|
141
135
|
abs_deadline_ts.tv_sec = static_cast<time_t>(abs_deadline.tv_sec);
|
142
136
|
abs_deadline_ts.tv_nsec = abs_deadline.tv_nsec;
|
@@ -52,10 +52,14 @@ void grpc_endpoint_shutdown(grpc_endpoint* ep, grpc_error* why) {
|
|
52
52
|
|
53
53
|
void grpc_endpoint_destroy(grpc_endpoint* ep) { ep->vtable->destroy(ep); }
|
54
54
|
|
55
|
-
|
55
|
+
absl::string_view grpc_endpoint_get_peer(grpc_endpoint* ep) {
|
56
56
|
return ep->vtable->get_peer(ep);
|
57
57
|
}
|
58
58
|
|
59
|
+
absl::string_view grpc_endpoint_get_local_address(grpc_endpoint* ep) {
|
60
|
+
return ep->vtable->get_local_address(ep);
|
61
|
+
}
|
62
|
+
|
59
63
|
int grpc_endpoint_get_fd(grpc_endpoint* ep) { return ep->vtable->get_fd(ep); }
|
60
64
|
|
61
65
|
grpc_resource_user* grpc_endpoint_get_resource_user(grpc_endpoint* ep) {
|
@@ -21,6 +21,8 @@
|
|
21
21
|
|
22
22
|
#include <grpc/support/port_platform.h>
|
23
23
|
|
24
|
+
#include "absl/strings/string_view.h"
|
25
|
+
|
24
26
|
#include <grpc/slice.h>
|
25
27
|
#include <grpc/slice_buffer.h>
|
26
28
|
#include <grpc/support/time.h>
|
@@ -33,7 +35,6 @@
|
|
33
35
|
|
34
36
|
typedef struct grpc_endpoint grpc_endpoint;
|
35
37
|
typedef struct grpc_endpoint_vtable grpc_endpoint_vtable;
|
36
|
-
class Timestamps;
|
37
38
|
|
38
39
|
struct grpc_endpoint_vtable {
|
39
40
|
void (*read)(grpc_endpoint* ep, grpc_slice_buffer* slices, grpc_closure* cb,
|
@@ -46,7 +47,8 @@ struct grpc_endpoint_vtable {
|
|
46
47
|
void (*shutdown)(grpc_endpoint* ep, grpc_error* why);
|
47
48
|
void (*destroy)(grpc_endpoint* ep);
|
48
49
|
grpc_resource_user* (*get_resource_user)(grpc_endpoint* ep);
|
49
|
-
|
50
|
+
absl::string_view (*get_peer)(grpc_endpoint* ep);
|
51
|
+
absl::string_view (*get_local_address)(grpc_endpoint* ep);
|
50
52
|
int (*get_fd)(grpc_endpoint* ep);
|
51
53
|
bool (*can_track_err)(grpc_endpoint* ep);
|
52
54
|
};
|
@@ -59,7 +61,9 @@ struct grpc_endpoint_vtable {
|
|
59
61
|
void grpc_endpoint_read(grpc_endpoint* ep, grpc_slice_buffer* slices,
|
60
62
|
grpc_closure* cb, bool urgent);
|
61
63
|
|
62
|
-
|
64
|
+
absl::string_view grpc_endpoint_get_peer(grpc_endpoint* ep);
|
65
|
+
|
66
|
+
absl::string_view grpc_endpoint_get_local_address(grpc_endpoint* ep);
|
63
67
|
|
64
68
|
/* Get the file descriptor used by \a ep. Return -1 if \a ep is not using an fd.
|
65
69
|
*/
|
@@ -34,6 +34,8 @@
|
|
34
34
|
#include "src/core/lib/iomgr/closure.h"
|
35
35
|
#include "src/core/lib/iomgr/endpoint.h"
|
36
36
|
#include "src/core/lib/iomgr/error_cfstream.h"
|
37
|
+
#include "src/core/lib/iomgr/sockaddr.h"
|
38
|
+
#include "src/core/lib/iomgr/sockaddr_utils.h"
|
37
39
|
#include "src/core/lib/slice/slice_internal.h"
|
38
40
|
#include "src/core/lib/slice/slice_string_helpers.h"
|
39
41
|
|
@@ -55,7 +57,8 @@ struct CFStreamEndpoint {
|
|
55
57
|
grpc_closure read_action;
|
56
58
|
grpc_closure write_action;
|
57
59
|
|
58
|
-
|
60
|
+
std::string peer_string;
|
61
|
+
std::string local_address;
|
59
62
|
grpc_resource_user* resource_user;
|
60
63
|
grpc_resource_user_slice_allocator slice_allocator;
|
61
64
|
};
|
@@ -64,8 +67,7 @@ static void CFStreamFree(CFStreamEndpoint* ep) {
|
|
64
67
|
CFRelease(ep->read_stream);
|
65
68
|
CFRelease(ep->write_stream);
|
66
69
|
CFSTREAM_HANDLE_UNREF(ep->stream_sync, "free");
|
67
|
-
|
68
|
-
gpr_free(ep);
|
70
|
+
delete ep;
|
69
71
|
}
|
70
72
|
|
71
73
|
#ifndef NDEBUG
|
@@ -110,7 +112,7 @@ static grpc_error* CFStreamAnnotateError(grpc_error* src_error,
|
|
110
112
|
grpc_error_set_int(src_error, GRPC_ERROR_INT_GRPC_STATUS,
|
111
113
|
GRPC_STATUS_UNAVAILABLE),
|
112
114
|
GRPC_ERROR_STR_TARGET_ADDRESS,
|
113
|
-
grpc_slice_from_copied_string(ep->peer_string));
|
115
|
+
grpc_slice_from_copied_string(ep->peer_string.c_str()));
|
114
116
|
}
|
115
117
|
|
116
118
|
static void CallReadCb(CFStreamEndpoint* ep, grpc_error* error) {
|
@@ -124,7 +126,8 @@ static void CallReadCb(CFStreamEndpoint* ep, grpc_error* error) {
|
|
124
126
|
for (i = 0; i < ep->read_slices->count; i++) {
|
125
127
|
char* dump = grpc_dump_slice(ep->read_slices->slices[i],
|
126
128
|
GPR_DUMP_HEX | GPR_DUMP_ASCII);
|
127
|
-
gpr_log(GPR_DEBUG, "READ %p (peer=%s): %s", ep, ep->peer_string,
|
129
|
+
gpr_log(GPR_DEBUG, "READ %p (peer=%s): %s", ep, ep->peer_string.c_str(),
|
130
|
+
dump);
|
128
131
|
gpr_free(dump);
|
129
132
|
}
|
130
133
|
}
|
@@ -230,7 +233,8 @@ static void WriteAction(void* arg, grpc_error* error) {
|
|
230
233
|
if (grpc_tcp_trace.enabled()) {
|
231
234
|
grpc_slice trace_slice = grpc_slice_sub(slice, 0, write_size);
|
232
235
|
char* dump = grpc_dump_slice(trace_slice, GPR_DUMP_HEX | GPR_DUMP_ASCII);
|
233
|
-
gpr_log(GPR_DEBUG, "WRITE %p (peer=%s): %s", ep, ep->peer_string,
|
236
|
+
gpr_log(GPR_DEBUG, "WRITE %p (peer=%s): %s", ep, ep->peer_string.c_str(),
|
237
|
+
dump);
|
234
238
|
gpr_free(dump);
|
235
239
|
grpc_slice_unref_internal(trace_slice);
|
236
240
|
}
|
@@ -309,9 +313,14 @@ grpc_resource_user* CFStreamGetResourceUser(grpc_endpoint* ep) {
|
|
309
313
|
return ep_impl->resource_user;
|
310
314
|
}
|
311
315
|
|
312
|
-
|
316
|
+
absl::string_view CFStreamGetPeer(grpc_endpoint* ep) {
|
313
317
|
CFStreamEndpoint* ep_impl = reinterpret_cast<CFStreamEndpoint*>(ep);
|
314
|
-
return
|
318
|
+
return ep_impl->peer_string;
|
319
|
+
}
|
320
|
+
|
321
|
+
absl::string_view CFStreamGetLocalAddress(grpc_endpoint* ep) {
|
322
|
+
CFStreamEndpoint* ep_impl = reinterpret_cast<CFStreamEndpoint*>(ep);
|
323
|
+
return ep_impl->local_address;
|
315
324
|
}
|
316
325
|
|
317
326
|
int CFStreamGetFD(grpc_endpoint* ep) { return 0; }
|
@@ -332,6 +341,7 @@ static const grpc_endpoint_vtable vtable = {CFStreamRead,
|
|
332
341
|
CFStreamDestroy,
|
333
342
|
CFStreamGetResourceUser,
|
334
343
|
CFStreamGetPeer,
|
344
|
+
CFStreamGetLocalAddress,
|
335
345
|
CFStreamGetFD,
|
336
346
|
CFStreamCanTrackErr};
|
337
347
|
|
@@ -339,8 +349,7 @@ grpc_endpoint* grpc_cfstream_endpoint_create(
|
|
339
349
|
CFReadStreamRef read_stream, CFWriteStreamRef write_stream,
|
340
350
|
const char* peer_string, grpc_resource_quota* resource_quota,
|
341
351
|
CFStreamHandle* stream_sync) {
|
342
|
-
CFStreamEndpoint* ep_impl =
|
343
|
-
static_cast<CFStreamEndpoint*>(gpr_malloc(sizeof(CFStreamEndpoint)));
|
352
|
+
CFStreamEndpoint* ep_impl = new CFStreamEndpoint;
|
344
353
|
if (grpc_tcp_trace.enabled()) {
|
345
354
|
gpr_log(GPR_DEBUG,
|
346
355
|
"CFStream endpoint:%p create readStream:%p writeStream: %p",
|
@@ -355,7 +364,19 @@ grpc_endpoint* grpc_cfstream_endpoint_create(
|
|
355
364
|
ep_impl->stream_sync = stream_sync;
|
356
365
|
CFSTREAM_HANDLE_REF(ep_impl->stream_sync, "endpoint create");
|
357
366
|
|
358
|
-
ep_impl->peer_string =
|
367
|
+
ep_impl->peer_string = peer_string;
|
368
|
+
const int* native_handle =
|
369
|
+
reinterpret_cast<const int*>(CFReadStreamCopyProperty(
|
370
|
+
ep_impl->read_stream, kCFStreamPropertySocketNativeHandle));
|
371
|
+
grpc_resolved_address resolved_local_addr;
|
372
|
+
resolved_local_addr.len = sizeof(resolved_local_addr.addr);
|
373
|
+
if (getsockname(*native_handle,
|
374
|
+
reinterpret_cast<sockaddr*>(resolved_local_addr.addr),
|
375
|
+
&resolved_local_addr.len) < 0) {
|
376
|
+
ep_impl->local_address = "";
|
377
|
+
} else {
|
378
|
+
ep_impl->local_address = grpc_sockaddr_to_uri(&resolved_local_addr);
|
379
|
+
}
|
359
380
|
ep_impl->read_cb = nil;
|
360
381
|
ep_impl->write_cb = nil;
|
361
382
|
ep_impl->read_slices = nil;
|
@@ -37,7 +37,6 @@
|
|
37
37
|
#include "src/core/lib/iomgr/ev_epollex_linux.h"
|
38
38
|
#include "src/core/lib/iomgr/ev_poll_posix.h"
|
39
39
|
#include "src/core/lib/iomgr/internal_errqueue.h"
|
40
|
-
#include "src/core/lib/iomgr/iomgr.h"
|
41
40
|
|
42
41
|
GPR_GLOBAL_CONFIG_DEFINE_STRING(
|
43
42
|
grpc_poll_strategy, "all",
|
@@ -108,7 +107,6 @@ const grpc_event_engine_vtable* init_non_polling(bool explicit_request) {
|
|
108
107
|
auto ret = grpc_init_poll_posix(explicit_request);
|
109
108
|
real_poll_function = grpc_poll_function;
|
110
109
|
grpc_poll_function = dummy_poll;
|
111
|
-
grpc_iomgr_mark_non_polling_internal();
|
112
110
|
|
113
111
|
return ret;
|
114
112
|
}
|
data/src/core/lib/iomgr/iomgr.cc
CHANGED
@@ -31,7 +31,6 @@
|
|
31
31
|
|
32
32
|
#include "src/core/lib/gpr/string.h"
|
33
33
|
#include "src/core/lib/gpr/useful.h"
|
34
|
-
#include "src/core/lib/gprpp/atomic.h"
|
35
34
|
#include "src/core/lib/gprpp/global_config.h"
|
36
35
|
#include "src/core/lib/gprpp/thd.h"
|
37
36
|
#include "src/core/lib/iomgr/buffer_list.h"
|
@@ -51,7 +50,6 @@ static gpr_cv g_rcv;
|
|
51
50
|
static int g_shutdown;
|
52
51
|
static grpc_iomgr_object g_root_object;
|
53
52
|
static bool g_grpc_abort_on_leaks;
|
54
|
-
static grpc_core::Atomic<bool> g_iomgr_non_polling{false};
|
55
53
|
|
56
54
|
void grpc_iomgr_init() {
|
57
55
|
grpc_core::ExecCtx exec_ctx;
|
@@ -194,11 +192,3 @@ void grpc_iomgr_unregister_object(grpc_iomgr_object* obj) {
|
|
194
192
|
}
|
195
193
|
|
196
194
|
bool grpc_iomgr_abort_on_leaks(void) { return g_grpc_abort_on_leaks; }
|
197
|
-
|
198
|
-
bool grpc_iomgr_non_polling() {
|
199
|
-
return g_iomgr_non_polling.Load(grpc_core::MemoryOrder::SEQ_CST);
|
200
|
-
}
|
201
|
-
|
202
|
-
void grpc_iomgr_mark_non_polling_internal() {
|
203
|
-
g_iomgr_non_polling.Store(true, grpc_core::MemoryOrder::SEQ_CST);
|
204
|
-
}
|