Merge branch 'chan3+1' into chan3+1.5

pull/35797/head
Craig Tiller 10 months ago
commit 53077db9e1
  1. 14
      BUILD
  2. 100
      CMakeLists.txt
  3. 104
      Makefile
  4. 102
      Package.swift
  5. 1
      bazel/experiments.bzl
  6. 208
      build_autogenerated.yaml
  7. 75
      config.m4
  8. 75
      config.w32
  9. 2
      examples/cpp/csm/Dockerfile.client
  10. 24
      examples/cpp/csm/README.md
  11. 118
      examples/cpp/csm/csm_greeter_client.cc
  12. 47
      examples/cpp/otel/BUILD
  13. 45
      examples/cpp/otel/README.md
  14. 138
      examples/cpp/otel/greeter_callback_client.cc
  15. 110
      examples/cpp/otel/greeter_callback_server.cc
  16. 100
      gRPC-C++.podspec
  17. 152
      gRPC-Core.podspec
  18. 102
      grpc.gemspec
  19. 96
      grpc.gyp
  20. 102
      package.xml
  21. 97
      src/core/BUILD
  22. 2
      src/core/ext/filters/backend_metrics/backend_metric_filter.cc
  23. 2
      src/core/ext/filters/client_channel/backend_metric.h
  24. 6
      src/core/ext/filters/client_channel/client_channel.cc
  25. 4
      src/core/ext/filters/client_channel/client_channel.h
  26. 2
      src/core/ext/filters/client_channel/client_channel_internal.h
  27. 2
      src/core/ext/filters/client_channel/client_channel_service_config.cc
  28. 2
      src/core/ext/filters/client_channel/client_channel_service_config.h
  29. 2
      src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.cc
  30. 2
      src/core/ext/filters/client_channel/resolver/dns/event_engine/event_engine_client_channel_resolver.cc
  31. 2
      src/core/ext/filters/client_channel/resolver/xds/xds_dependency_manager.cc
  32. 2
      src/core/ext/filters/client_channel/resolver/xds/xds_resolver.cc
  33. 2
      src/core/ext/filters/client_channel/subchannel_interface_internal.h
  34. 2
      src/core/ext/xds/xds_cluster.cc
  35. 2
      src/core/ext/xds/xds_cluster.h
  36. 2
      src/core/ext/xds/xds_lb_policy_registry.cc
  37. 2
      src/core/ext/xds/xds_route_config.cc
  38. 2
      src/core/lib/config/core_configuration.h
  39. 15
      src/core/lib/experiments/experiments.cc
  40. 8
      src/core/lib/experiments/experiments.h
  41. 6
      src/core/lib/experiments/experiments.yaml
  42. 2
      src/core/lib/experiments/rollouts.yaml
  43. 63
      src/core/lib/promise/observable.h
  44. 4
      src/core/lib/security/credentials/google_default/google_default_credentials.cc
  45. 2
      src/core/lib/security/credentials/xds/xds_credentials.cc
  46. 2
      src/core/lib/security/security_connector/fake/fake_security_connector.cc
  47. 1
      src/core/lib/surface/channel_init.cc
  48. 0
      src/core/load_balancing/.clang-format
  49. 2
      src/core/load_balancing/address_filtering.cc
  50. 6
      src/core/load_balancing/address_filtering.h
  51. 6
      src/core/load_balancing/backend_metric_data.h
  52. 8
      src/core/load_balancing/child_policy_handler.cc
  53. 8
      src/core/load_balancing/child_policy_handler.h
  54. 10
      src/core/load_balancing/delegating_helper.h
  55. 10
      src/core/load_balancing/endpoint_list.cc
  56. 10
      src/core/load_balancing/endpoint_list.h
  57. 4
      src/core/load_balancing/grpclb/client_load_reporting_filter.cc
  58. 6
      src/core/load_balancing/grpclb/client_load_reporting_filter.h
  59. 22
      src/core/load_balancing/grpclb/grpclb.cc
  60. 6
      src/core/load_balancing/grpclb/grpclb.h
  61. 2
      src/core/load_balancing/grpclb/grpclb_balancer_addresses.cc
  62. 6
      src/core/load_balancing/grpclb/grpclb_balancer_addresses.h
  63. 2
      src/core/load_balancing/grpclb/grpclb_client_stats.cc
  64. 6
      src/core/load_balancing/grpclb/grpclb_client_stats.h
  65. 2
      src/core/load_balancing/grpclb/load_balancer_api.cc
  66. 8
      src/core/load_balancing/grpclb/load_balancer_api.h
  67. 4
      src/core/load_balancing/health_check_client.cc
  68. 8
      src/core/load_balancing/health_check_client.h
  69. 8
      src/core/load_balancing/health_check_client_internal.h
  70. 2
      src/core/load_balancing/lb_policy.cc
  71. 10
      src/core/load_balancing/lb_policy.h
  72. 8
      src/core/load_balancing/lb_policy_factory.h
  73. 4
      src/core/load_balancing/lb_policy_registry.cc
  74. 10
      src/core/load_balancing/lb_policy_registry.h
  75. 4
      src/core/load_balancing/oob_backend_metric.cc
  76. 10
      src/core/load_balancing/oob_backend_metric.h
  77. 10
      src/core/load_balancing/oob_backend_metric_internal.h
  78. 16
      src/core/load_balancing/outlier_detection/outlier_detection.cc
  79. 6
      src/core/load_balancing/outlier_detection/outlier_detection.h
  80. 10
      src/core/load_balancing/pick_first/pick_first.cc
  81. 6
      src/core/load_balancing/pick_first/pick_first.h
  82. 12
      src/core/load_balancing/priority/priority.cc
  83. 12
      src/core/load_balancing/ring_hash/ring_hash.cc
  84. 6
      src/core/load_balancing/ring_hash/ring_hash.h
  85. 10
      src/core/load_balancing/rls/rls.cc
  86. 10
      src/core/load_balancing/round_robin/round_robin.cc
  87. 6
      src/core/load_balancing/subchannel_interface.h
  88. 12
      src/core/load_balancing/subchannel_list.h
  89. 2
      src/core/load_balancing/weighted_round_robin/static_stride_scheduler.cc
  90. 6
      src/core/load_balancing/weighted_round_robin/static_stride_scheduler.h
  91. 16
      src/core/load_balancing/weighted_round_robin/weighted_round_robin.cc
  92. 12
      src/core/load_balancing/weighted_target/weighted_target.cc
  93. 14
      src/core/load_balancing/xds/cds.cc
  94. 6
      src/core/load_balancing/xds/xds_channel_args.h
  95. 16
      src/core/load_balancing/xds/xds_cluster_impl.cc
  96. 10
      src/core/load_balancing/xds/xds_cluster_manager.cc
  97. 14
      src/core/load_balancing/xds/xds_override_host.cc
  98. 8
      src/core/load_balancing/xds/xds_override_host.h
  99. 10
      src/core/load_balancing/xds/xds_wrr_locality.cc
  100. 9
      src/cpp/ext/csm/csm_observability.cc
  101. Some files were not shown because too many files have changed in this diff Show More

14
BUILD

@ -3014,8 +3014,6 @@ grpc_cc_library(
"//src/core:ext/filters/client_channel/dynamic_filters.cc",
"//src/core:ext/filters/client_channel/global_subchannel_pool.cc",
"//src/core:ext/filters/client_channel/http_proxy_mapper.cc",
"//src/core:ext/filters/client_channel/lb_policy/child_policy_handler.cc",
"//src/core:ext/filters/client_channel/lb_policy/oob_backend_metric.cc",
"//src/core:ext/filters/client_channel/local_subchannel_pool.cc",
"//src/core:ext/filters/client_channel/retry_filter.cc",
"//src/core:ext/filters/client_channel/retry_filter_legacy_call_data.cc",
@ -3025,6 +3023,8 @@ grpc_cc_library(
"//src/core:ext/filters/client_channel/subchannel.cc",
"//src/core:ext/filters/client_channel/subchannel_pool_interface.cc",
"//src/core:ext/filters/client_channel/subchannel_stream_client.cc",
"//src/core:load_balancing/child_policy_handler.cc",
"//src/core:load_balancing/oob_backend_metric.cc",
],
hdrs = [
"//src/core:ext/filters/client_channel/backend_metric.h",
@ -3039,9 +3039,6 @@ grpc_cc_library(
"//src/core:ext/filters/client_channel/dynamic_filters.h",
"//src/core:ext/filters/client_channel/global_subchannel_pool.h",
"//src/core:ext/filters/client_channel/http_proxy_mapper.h",
"//src/core:ext/filters/client_channel/lb_policy/child_policy_handler.h",
"//src/core:ext/filters/client_channel/lb_policy/oob_backend_metric.h",
"//src/core:ext/filters/client_channel/lb_policy/oob_backend_metric_internal.h",
"//src/core:ext/filters/client_channel/local_subchannel_pool.h",
"//src/core:ext/filters/client_channel/retry_filter.h",
"//src/core:ext/filters/client_channel/retry_filter_legacy_call_data.h",
@ -3051,6 +3048,9 @@ grpc_cc_library(
"//src/core:ext/filters/client_channel/subchannel_interface_internal.h",
"//src/core:ext/filters/client_channel/subchannel_pool_interface.h",
"//src/core:ext/filters/client_channel/subchannel_stream_client.h",
"//src/core:load_balancing/child_policy_handler.h",
"//src/core:load_balancing/oob_backend_metric.h",
"//src/core:load_balancing/oob_backend_metric_internal.h",
],
external_deps = [
"absl/base:core_headers",
@ -3646,10 +3646,10 @@ grpc_cc_library(
grpc_cc_library(
name = "grpc_grpclb_balancer_addresses",
srcs = [
"//src/core:ext/filters/client_channel/lb_policy/grpclb/grpclb_balancer_addresses.cc",
"//src/core:load_balancing/grpclb/grpclb_balancer_addresses.cc",
],
hdrs = [
"//src/core:ext/filters/client_channel/lb_policy/grpclb/grpclb_balancer_addresses.h",
"//src/core:load_balancing/grpclb/grpclb_balancer_addresses.h",
],
language = "c++",
visibility = ["@grpc:grpclb"],

100
CMakeLists.txt generated

@ -1794,30 +1794,6 @@ add_library(grpc
src/core/ext/filters/client_channel/dynamic_filters.cc
src/core/ext/filters/client_channel/global_subchannel_pool.cc
src/core/ext/filters/client_channel/http_proxy_mapper.cc
src/core/ext/filters/client_channel/lb_policy/address_filtering.cc
src/core/ext/filters/client_channel/lb_policy/child_policy_handler.cc
src/core/ext/filters/client_channel/lb_policy/endpoint_list.cc
src/core/ext/filters/client_channel/lb_policy/grpclb/client_load_reporting_filter.cc
src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.cc
src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_balancer_addresses.cc
src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_client_stats.cc
src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.cc
src/core/ext/filters/client_channel/lb_policy/health_check_client.cc
src/core/ext/filters/client_channel/lb_policy/oob_backend_metric.cc
src/core/ext/filters/client_channel/lb_policy/outlier_detection/outlier_detection.cc
src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.cc
src/core/ext/filters/client_channel/lb_policy/priority/priority.cc
src/core/ext/filters/client_channel/lb_policy/ring_hash/ring_hash.cc
src/core/ext/filters/client_channel/lb_policy/rls/rls.cc
src/core/ext/filters/client_channel/lb_policy/round_robin/round_robin.cc
src/core/ext/filters/client_channel/lb_policy/weighted_round_robin/static_stride_scheduler.cc
src/core/ext/filters/client_channel/lb_policy/weighted_round_robin/weighted_round_robin.cc
src/core/ext/filters/client_channel/lb_policy/weighted_target/weighted_target.cc
src/core/ext/filters/client_channel/lb_policy/xds/cds.cc
src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_impl.cc
src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_manager.cc
src/core/ext/filters/client_channel/lb_policy/xds/xds_override_host.cc
src/core/ext/filters/client_channel/lb_policy/xds/xds_wrr_locality.cc
src/core/ext/filters/client_channel/local_subchannel_pool.cc
src/core/ext/filters/client_channel/resolver/binder/binder_resolver.cc
src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.cc
@ -2412,8 +2388,6 @@ add_library(grpc
src/core/lib/json/json_reader.cc
src/core/lib/json/json_util.cc
src/core/lib/json/json_writer.cc
src/core/lib/load_balancing/lb_policy.cc
src/core/lib/load_balancing/lb_policy_registry.cc
src/core/lib/matchers/matchers.cc
src/core/lib/promise/activity.cc
src/core/lib/promise/party.cc
@ -2546,6 +2520,32 @@ add_library(grpc
src/core/lib/transport/transport.cc
src/core/lib/transport/transport_op_string.cc
src/core/lib/uri/uri_parser.cc
src/core/load_balancing/address_filtering.cc
src/core/load_balancing/child_policy_handler.cc
src/core/load_balancing/endpoint_list.cc
src/core/load_balancing/grpclb/client_load_reporting_filter.cc
src/core/load_balancing/grpclb/grpclb.cc
src/core/load_balancing/grpclb/grpclb_balancer_addresses.cc
src/core/load_balancing/grpclb/grpclb_client_stats.cc
src/core/load_balancing/grpclb/load_balancer_api.cc
src/core/load_balancing/health_check_client.cc
src/core/load_balancing/lb_policy.cc
src/core/load_balancing/lb_policy_registry.cc
src/core/load_balancing/oob_backend_metric.cc
src/core/load_balancing/outlier_detection/outlier_detection.cc
src/core/load_balancing/pick_first/pick_first.cc
src/core/load_balancing/priority/priority.cc
src/core/load_balancing/ring_hash/ring_hash.cc
src/core/load_balancing/rls/rls.cc
src/core/load_balancing/round_robin/round_robin.cc
src/core/load_balancing/weighted_round_robin/static_stride_scheduler.cc
src/core/load_balancing/weighted_round_robin/weighted_round_robin.cc
src/core/load_balancing/weighted_target/weighted_target.cc
src/core/load_balancing/xds/cds.cc
src/core/load_balancing/xds/xds_cluster_impl.cc
src/core/load_balancing/xds/xds_cluster_manager.cc
src/core/load_balancing/xds/xds_override_host.cc
src/core/load_balancing/xds/xds_wrr_locality.cc
src/core/plugin_registry/grpc_plugin_registry.cc
src/core/plugin_registry/grpc_plugin_registry_extra.cc
src/core/tsi/alts/crypt/aes_gcm.cc
@ -2892,24 +2892,6 @@ add_library(grpc_unsecure
src/core/ext/filters/client_channel/dynamic_filters.cc
src/core/ext/filters/client_channel/global_subchannel_pool.cc
src/core/ext/filters/client_channel/http_proxy_mapper.cc
src/core/ext/filters/client_channel/lb_policy/address_filtering.cc
src/core/ext/filters/client_channel/lb_policy/child_policy_handler.cc
src/core/ext/filters/client_channel/lb_policy/endpoint_list.cc
src/core/ext/filters/client_channel/lb_policy/grpclb/client_load_reporting_filter.cc
src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.cc
src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_balancer_addresses.cc
src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_client_stats.cc
src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.cc
src/core/ext/filters/client_channel/lb_policy/health_check_client.cc
src/core/ext/filters/client_channel/lb_policy/oob_backend_metric.cc
src/core/ext/filters/client_channel/lb_policy/outlier_detection/outlier_detection.cc
src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.cc
src/core/ext/filters/client_channel/lb_policy/priority/priority.cc
src/core/ext/filters/client_channel/lb_policy/rls/rls.cc
src/core/ext/filters/client_channel/lb_policy/round_robin/round_robin.cc
src/core/ext/filters/client_channel/lb_policy/weighted_round_robin/static_stride_scheduler.cc
src/core/ext/filters/client_channel/lb_policy/weighted_round_robin/weighted_round_robin.cc
src/core/ext/filters/client_channel/lb_policy/weighted_target/weighted_target.cc
src/core/ext/filters/client_channel/local_subchannel_pool.cc
src/core/ext/filters/client_channel/resolver/binder/binder_resolver.cc
src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.cc
@ -3165,8 +3147,6 @@ add_library(grpc_unsecure
src/core/lib/json/json_object_loader.cc
src/core/lib/json/json_reader.cc
src/core/lib/json/json_writer.cc
src/core/lib/load_balancing/lb_policy.cc
src/core/lib/load_balancing/lb_policy_registry.cc
src/core/lib/promise/activity.cc
src/core/lib/promise/party.cc
src/core/lib/promise/sleep.cc
@ -3264,6 +3244,26 @@ add_library(grpc_unsecure
src/core/lib/transport/transport.cc
src/core/lib/transport/transport_op_string.cc
src/core/lib/uri/uri_parser.cc
src/core/load_balancing/address_filtering.cc
src/core/load_balancing/child_policy_handler.cc
src/core/load_balancing/endpoint_list.cc
src/core/load_balancing/grpclb/client_load_reporting_filter.cc
src/core/load_balancing/grpclb/grpclb.cc
src/core/load_balancing/grpclb/grpclb_balancer_addresses.cc
src/core/load_balancing/grpclb/grpclb_client_stats.cc
src/core/load_balancing/grpclb/load_balancer_api.cc
src/core/load_balancing/health_check_client.cc
src/core/load_balancing/lb_policy.cc
src/core/load_balancing/lb_policy_registry.cc
src/core/load_balancing/oob_backend_metric.cc
src/core/load_balancing/outlier_detection/outlier_detection.cc
src/core/load_balancing/pick_first/pick_first.cc
src/core/load_balancing/priority/priority.cc
src/core/load_balancing/rls/rls.cc
src/core/load_balancing/round_robin/round_robin.cc
src/core/load_balancing/weighted_round_robin/static_stride_scheduler.cc
src/core/load_balancing/weighted_round_robin/weighted_round_robin.cc
src/core/load_balancing/weighted_target/weighted_target.cc
src/core/plugin_registry/grpc_plugin_registry.cc
src/core/plugin_registry/grpc_plugin_registry_noextra.cc
src/core/tsi/alts/handshaker/transport_security_common_api.cc
@ -5255,8 +5255,6 @@ add_library(grpc_authorization_provider
src/core/lib/iomgr/wakeup_fd_posix.cc
src/core/lib/json/json_reader.cc
src/core/lib/json/json_writer.cc
src/core/lib/load_balancing/lb_policy.cc
src/core/lib/load_balancing/lb_policy_registry.cc
src/core/lib/matchers/matchers.cc
src/core/lib/promise/activity.cc
src/core/lib/promise/party.cc
@ -5352,6 +5350,8 @@ add_library(grpc_authorization_provider
src/core/lib/transport/transport.cc
src/core/lib/transport/transport_op_string.cc
src/core/lib/uri/uri_parser.cc
src/core/load_balancing/lb_policy.cc
src/core/load_balancing/lb_policy_registry.cc
src/core/tsi/alts/handshaker/transport_security_common_api.cc
src/core/tsi/transport_security.cc
src/core/tsi/transport_security_grpc.cc
@ -5804,7 +5804,7 @@ if(gRPC_BUILD_TESTS)
if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_POSIX)
add_executable(static_stride_scheduler_benchmark
src/core/ext/filters/client_channel/lb_policy/weighted_round_robin/static_stride_scheduler.cc
src/core/load_balancing/weighted_round_robin/static_stride_scheduler.cc
test/core/client_channel/lb_policy/static_stride_scheduler_benchmark.cc
)
if(WIN32 AND MSVC)
@ -27472,7 +27472,7 @@ endif()
if(gRPC_BUILD_TESTS)
add_executable(static_stride_scheduler_test
src/core/ext/filters/client_channel/lb_policy/weighted_round_robin/static_stride_scheduler.cc
src/core/load_balancing/weighted_round_robin/static_stride_scheduler.cc
test/core/client_channel/lb_policy/static_stride_scheduler_test.cc
)
if(WIN32 AND MSVC)

104
Makefile generated

@ -976,30 +976,6 @@ LIBGRPC_SRC = \
src/core/ext/filters/client_channel/dynamic_filters.cc \
src/core/ext/filters/client_channel/global_subchannel_pool.cc \
src/core/ext/filters/client_channel/http_proxy_mapper.cc \
src/core/ext/filters/client_channel/lb_policy/address_filtering.cc \
src/core/ext/filters/client_channel/lb_policy/child_policy_handler.cc \
src/core/ext/filters/client_channel/lb_policy/endpoint_list.cc \
src/core/ext/filters/client_channel/lb_policy/grpclb/client_load_reporting_filter.cc \
src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.cc \
src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_balancer_addresses.cc \
src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_client_stats.cc \
src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.cc \
src/core/ext/filters/client_channel/lb_policy/health_check_client.cc \
src/core/ext/filters/client_channel/lb_policy/oob_backend_metric.cc \
src/core/ext/filters/client_channel/lb_policy/outlier_detection/outlier_detection.cc \
src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.cc \
src/core/ext/filters/client_channel/lb_policy/priority/priority.cc \
src/core/ext/filters/client_channel/lb_policy/ring_hash/ring_hash.cc \
src/core/ext/filters/client_channel/lb_policy/rls/rls.cc \
src/core/ext/filters/client_channel/lb_policy/round_robin/round_robin.cc \
src/core/ext/filters/client_channel/lb_policy/weighted_round_robin/static_stride_scheduler.cc \
src/core/ext/filters/client_channel/lb_policy/weighted_round_robin/weighted_round_robin.cc \
src/core/ext/filters/client_channel/lb_policy/weighted_target/weighted_target.cc \
src/core/ext/filters/client_channel/lb_policy/xds/cds.cc \
src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_impl.cc \
src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_manager.cc \
src/core/ext/filters/client_channel/lb_policy/xds/xds_override_host.cc \
src/core/ext/filters/client_channel/lb_policy/xds/xds_wrr_locality.cc \
src/core/ext/filters/client_channel/local_subchannel_pool.cc \
src/core/ext/filters/client_channel/resolver/binder/binder_resolver.cc \
src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.cc \
@ -1594,8 +1570,6 @@ LIBGRPC_SRC = \
src/core/lib/json/json_reader.cc \
src/core/lib/json/json_util.cc \
src/core/lib/json/json_writer.cc \
src/core/lib/load_balancing/lb_policy.cc \
src/core/lib/load_balancing/lb_policy_registry.cc \
src/core/lib/matchers/matchers.cc \
src/core/lib/promise/activity.cc \
src/core/lib/promise/party.cc \
@ -1728,6 +1702,32 @@ LIBGRPC_SRC = \
src/core/lib/transport/transport.cc \
src/core/lib/transport/transport_op_string.cc \
src/core/lib/uri/uri_parser.cc \
src/core/load_balancing/address_filtering.cc \
src/core/load_balancing/child_policy_handler.cc \
src/core/load_balancing/endpoint_list.cc \
src/core/load_balancing/grpclb/client_load_reporting_filter.cc \
src/core/load_balancing/grpclb/grpclb.cc \
src/core/load_balancing/grpclb/grpclb_balancer_addresses.cc \
src/core/load_balancing/grpclb/grpclb_client_stats.cc \
src/core/load_balancing/grpclb/load_balancer_api.cc \
src/core/load_balancing/health_check_client.cc \
src/core/load_balancing/lb_policy.cc \
src/core/load_balancing/lb_policy_registry.cc \
src/core/load_balancing/oob_backend_metric.cc \
src/core/load_balancing/outlier_detection/outlier_detection.cc \
src/core/load_balancing/pick_first/pick_first.cc \
src/core/load_balancing/priority/priority.cc \
src/core/load_balancing/ring_hash/ring_hash.cc \
src/core/load_balancing/rls/rls.cc \
src/core/load_balancing/round_robin/round_robin.cc \
src/core/load_balancing/weighted_round_robin/static_stride_scheduler.cc \
src/core/load_balancing/weighted_round_robin/weighted_round_robin.cc \
src/core/load_balancing/weighted_target/weighted_target.cc \
src/core/load_balancing/xds/cds.cc \
src/core/load_balancing/xds/xds_cluster_impl.cc \
src/core/load_balancing/xds/xds_cluster_manager.cc \
src/core/load_balancing/xds/xds_override_host.cc \
src/core/load_balancing/xds/xds_wrr_locality.cc \
src/core/plugin_registry/grpc_plugin_registry.cc \
src/core/plugin_registry/grpc_plugin_registry_extra.cc \
src/core/tsi/alts/crypt/aes_gcm.cc \
@ -1908,24 +1908,6 @@ LIBGRPC_UNSECURE_SRC = \
src/core/ext/filters/client_channel/dynamic_filters.cc \
src/core/ext/filters/client_channel/global_subchannel_pool.cc \
src/core/ext/filters/client_channel/http_proxy_mapper.cc \
src/core/ext/filters/client_channel/lb_policy/address_filtering.cc \
src/core/ext/filters/client_channel/lb_policy/child_policy_handler.cc \
src/core/ext/filters/client_channel/lb_policy/endpoint_list.cc \
src/core/ext/filters/client_channel/lb_policy/grpclb/client_load_reporting_filter.cc \
src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.cc \
src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_balancer_addresses.cc \
src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_client_stats.cc \
src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.cc \
src/core/ext/filters/client_channel/lb_policy/health_check_client.cc \
src/core/ext/filters/client_channel/lb_policy/oob_backend_metric.cc \
src/core/ext/filters/client_channel/lb_policy/outlier_detection/outlier_detection.cc \
src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.cc \
src/core/ext/filters/client_channel/lb_policy/priority/priority.cc \
src/core/ext/filters/client_channel/lb_policy/rls/rls.cc \
src/core/ext/filters/client_channel/lb_policy/round_robin/round_robin.cc \
src/core/ext/filters/client_channel/lb_policy/weighted_round_robin/static_stride_scheduler.cc \
src/core/ext/filters/client_channel/lb_policy/weighted_round_robin/weighted_round_robin.cc \
src/core/ext/filters/client_channel/lb_policy/weighted_target/weighted_target.cc \
src/core/ext/filters/client_channel/local_subchannel_pool.cc \
src/core/ext/filters/client_channel/resolver/binder/binder_resolver.cc \
src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.cc \
@ -2181,8 +2163,6 @@ LIBGRPC_UNSECURE_SRC = \
src/core/lib/json/json_object_loader.cc \
src/core/lib/json/json_reader.cc \
src/core/lib/json/json_writer.cc \
src/core/lib/load_balancing/lb_policy.cc \
src/core/lib/load_balancing/lb_policy_registry.cc \
src/core/lib/promise/activity.cc \
src/core/lib/promise/party.cc \
src/core/lib/promise/sleep.cc \
@ -2280,6 +2260,26 @@ LIBGRPC_UNSECURE_SRC = \
src/core/lib/transport/transport.cc \
src/core/lib/transport/transport_op_string.cc \
src/core/lib/uri/uri_parser.cc \
src/core/load_balancing/address_filtering.cc \
src/core/load_balancing/child_policy_handler.cc \
src/core/load_balancing/endpoint_list.cc \
src/core/load_balancing/grpclb/client_load_reporting_filter.cc \
src/core/load_balancing/grpclb/grpclb.cc \
src/core/load_balancing/grpclb/grpclb_balancer_addresses.cc \
src/core/load_balancing/grpclb/grpclb_client_stats.cc \
src/core/load_balancing/grpclb/load_balancer_api.cc \
src/core/load_balancing/health_check_client.cc \
src/core/load_balancing/lb_policy.cc \
src/core/load_balancing/lb_policy_registry.cc \
src/core/load_balancing/oob_backend_metric.cc \
src/core/load_balancing/outlier_detection/outlier_detection.cc \
src/core/load_balancing/pick_first/pick_first.cc \
src/core/load_balancing/priority/priority.cc \
src/core/load_balancing/rls/rls.cc \
src/core/load_balancing/round_robin/round_robin.cc \
src/core/load_balancing/weighted_round_robin/static_stride_scheduler.cc \
src/core/load_balancing/weighted_round_robin/weighted_round_robin.cc \
src/core/load_balancing/weighted_target/weighted_target.cc \
src/core/plugin_registry/grpc_plugin_registry.cc \
src/core/plugin_registry/grpc_plugin_registry_noextra.cc \
src/core/tsi/alts/handshaker/transport_security_common_api.cc \
@ -3422,12 +3422,6 @@ ifneq ($(OPENSSL_DEP),)
# This is to ensure the embedded OpenSSL is built beforehand, properly
# installing headers to their final destination on the drive. We need this
# otherwise parallel compilation will fail if a source is compiled first.
src/core/ext/filters/client_channel/lb_policy/ring_hash/ring_hash.cc: $(OPENSSL_DEP)
src/core/ext/filters/client_channel/lb_policy/xds/cds.cc: $(OPENSSL_DEP)
src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_impl.cc: $(OPENSSL_DEP)
src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_manager.cc: $(OPENSSL_DEP)
src/core/ext/filters/client_channel/lb_policy/xds/xds_override_host.cc: $(OPENSSL_DEP)
src/core/ext/filters/client_channel/lb_policy/xds/xds_wrr_locality.cc: $(OPENSSL_DEP)
src/core/ext/filters/client_channel/resolver/google_c2p/google_c2p_resolver.cc: $(OPENSSL_DEP)
src/core/ext/filters/client_channel/resolver/xds/xds_dependency_manager.cc: $(OPENSSL_DEP)
src/core/ext/filters/client_channel/resolver/xds/xds_resolver.cc: $(OPENSSL_DEP)
@ -3802,6 +3796,12 @@ src/core/lib/security/security_connector/local/local_security_connector.cc: $(OP
src/core/lib/security/security_connector/ssl/ssl_security_connector.cc: $(OPENSSL_DEP)
src/core/lib/security/security_connector/ssl_utils.cc: $(OPENSSL_DEP)
src/core/lib/security/security_connector/tls/tls_security_connector.cc: $(OPENSSL_DEP)
src/core/load_balancing/ring_hash/ring_hash.cc: $(OPENSSL_DEP)
src/core/load_balancing/xds/cds.cc: $(OPENSSL_DEP)
src/core/load_balancing/xds/xds_cluster_impl.cc: $(OPENSSL_DEP)
src/core/load_balancing/xds/xds_cluster_manager.cc: $(OPENSSL_DEP)
src/core/load_balancing/xds/xds_override_host.cc: $(OPENSSL_DEP)
src/core/load_balancing/xds/xds_wrr_locality.cc: $(OPENSSL_DEP)
src/core/plugin_registry/grpc_plugin_registry_extra.cc: $(OPENSSL_DEP)
src/core/tsi/alts/crypt/aes_gcm.cc: $(OPENSSL_DEP)
src/core/tsi/alts/crypt/gsec.cc: $(OPENSSL_DEP)

102
Package.swift generated

@ -149,50 +149,6 @@ let package = Package(
"src/core/ext/filters/client_channel/global_subchannel_pool.h",
"src/core/ext/filters/client_channel/http_proxy_mapper.cc",
"src/core/ext/filters/client_channel/http_proxy_mapper.h",
"src/core/ext/filters/client_channel/lb_policy/address_filtering.cc",
"src/core/ext/filters/client_channel/lb_policy/address_filtering.h",
"src/core/ext/filters/client_channel/lb_policy/backend_metric_data.h",
"src/core/ext/filters/client_channel/lb_policy/child_policy_handler.cc",
"src/core/ext/filters/client_channel/lb_policy/child_policy_handler.h",
"src/core/ext/filters/client_channel/lb_policy/endpoint_list.cc",
"src/core/ext/filters/client_channel/lb_policy/endpoint_list.h",
"src/core/ext/filters/client_channel/lb_policy/grpclb/client_load_reporting_filter.cc",
"src/core/ext/filters/client_channel/lb_policy/grpclb/client_load_reporting_filter.h",
"src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.cc",
"src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.h",
"src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_balancer_addresses.cc",
"src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_balancer_addresses.h",
"src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_client_stats.cc",
"src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_client_stats.h",
"src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.cc",
"src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.h",
"src/core/ext/filters/client_channel/lb_policy/health_check_client.cc",
"src/core/ext/filters/client_channel/lb_policy/health_check_client.h",
"src/core/ext/filters/client_channel/lb_policy/health_check_client_internal.h",
"src/core/ext/filters/client_channel/lb_policy/oob_backend_metric.cc",
"src/core/ext/filters/client_channel/lb_policy/oob_backend_metric.h",
"src/core/ext/filters/client_channel/lb_policy/oob_backend_metric_internal.h",
"src/core/ext/filters/client_channel/lb_policy/outlier_detection/outlier_detection.cc",
"src/core/ext/filters/client_channel/lb_policy/outlier_detection/outlier_detection.h",
"src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.cc",
"src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.h",
"src/core/ext/filters/client_channel/lb_policy/priority/priority.cc",
"src/core/ext/filters/client_channel/lb_policy/ring_hash/ring_hash.cc",
"src/core/ext/filters/client_channel/lb_policy/ring_hash/ring_hash.h",
"src/core/ext/filters/client_channel/lb_policy/rls/rls.cc",
"src/core/ext/filters/client_channel/lb_policy/round_robin/round_robin.cc",
"src/core/ext/filters/client_channel/lb_policy/subchannel_list.h",
"src/core/ext/filters/client_channel/lb_policy/weighted_round_robin/static_stride_scheduler.cc",
"src/core/ext/filters/client_channel/lb_policy/weighted_round_robin/static_stride_scheduler.h",
"src/core/ext/filters/client_channel/lb_policy/weighted_round_robin/weighted_round_robin.cc",
"src/core/ext/filters/client_channel/lb_policy/weighted_target/weighted_target.cc",
"src/core/ext/filters/client_channel/lb_policy/xds/cds.cc",
"src/core/ext/filters/client_channel/lb_policy/xds/xds_channel_args.h",
"src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_impl.cc",
"src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_manager.cc",
"src/core/ext/filters/client_channel/lb_policy/xds/xds_override_host.cc",
"src/core/ext/filters/client_channel/lb_policy/xds/xds_override_host.h",
"src/core/ext/filters/client_channel/lb_policy/xds/xds_wrr_locality.cc",
"src/core/ext/filters/client_channel/local_subchannel_pool.cc",
"src/core/ext/filters/client_channel/local_subchannel_pool.h",
"src/core/ext/filters/client_channel/resolver/binder/binder_resolver.cc",
@ -1645,13 +1601,6 @@ let package = Package(
"src/core/lib/json/json_util.h",
"src/core/lib/json/json_writer.cc",
"src/core/lib/json/json_writer.h",
"src/core/lib/load_balancing/delegating_helper.h",
"src/core/lib/load_balancing/lb_policy.cc",
"src/core/lib/load_balancing/lb_policy.h",
"src/core/lib/load_balancing/lb_policy_factory.h",
"src/core/lib/load_balancing/lb_policy_registry.cc",
"src/core/lib/load_balancing/lb_policy_registry.h",
"src/core/lib/load_balancing/subchannel_interface.h",
"src/core/lib/matchers/matchers.cc",
"src/core/lib/matchers/matchers.h",
"src/core/lib/promise/activity.cc",
@ -1944,6 +1893,57 @@ let package = Package(
"src/core/lib/transport/transport_op_string.cc",
"src/core/lib/uri/uri_parser.cc",
"src/core/lib/uri/uri_parser.h",
"src/core/load_balancing/address_filtering.cc",
"src/core/load_balancing/address_filtering.h",
"src/core/load_balancing/backend_metric_data.h",
"src/core/load_balancing/child_policy_handler.cc",
"src/core/load_balancing/child_policy_handler.h",
"src/core/load_balancing/delegating_helper.h",
"src/core/load_balancing/endpoint_list.cc",
"src/core/load_balancing/endpoint_list.h",
"src/core/load_balancing/grpclb/client_load_reporting_filter.cc",
"src/core/load_balancing/grpclb/client_load_reporting_filter.h",
"src/core/load_balancing/grpclb/grpclb.cc",
"src/core/load_balancing/grpclb/grpclb.h",
"src/core/load_balancing/grpclb/grpclb_balancer_addresses.cc",
"src/core/load_balancing/grpclb/grpclb_balancer_addresses.h",
"src/core/load_balancing/grpclb/grpclb_client_stats.cc",
"src/core/load_balancing/grpclb/grpclb_client_stats.h",
"src/core/load_balancing/grpclb/load_balancer_api.cc",
"src/core/load_balancing/grpclb/load_balancer_api.h",
"src/core/load_balancing/health_check_client.cc",
"src/core/load_balancing/health_check_client.h",
"src/core/load_balancing/health_check_client_internal.h",
"src/core/load_balancing/lb_policy.cc",
"src/core/load_balancing/lb_policy.h",
"src/core/load_balancing/lb_policy_factory.h",
"src/core/load_balancing/lb_policy_registry.cc",
"src/core/load_balancing/lb_policy_registry.h",
"src/core/load_balancing/oob_backend_metric.cc",
"src/core/load_balancing/oob_backend_metric.h",
"src/core/load_balancing/oob_backend_metric_internal.h",
"src/core/load_balancing/outlier_detection/outlier_detection.cc",
"src/core/load_balancing/outlier_detection/outlier_detection.h",
"src/core/load_balancing/pick_first/pick_first.cc",
"src/core/load_balancing/pick_first/pick_first.h",
"src/core/load_balancing/priority/priority.cc",
"src/core/load_balancing/ring_hash/ring_hash.cc",
"src/core/load_balancing/ring_hash/ring_hash.h",
"src/core/load_balancing/rls/rls.cc",
"src/core/load_balancing/round_robin/round_robin.cc",
"src/core/load_balancing/subchannel_interface.h",
"src/core/load_balancing/subchannel_list.h",
"src/core/load_balancing/weighted_round_robin/static_stride_scheduler.cc",
"src/core/load_balancing/weighted_round_robin/static_stride_scheduler.h",
"src/core/load_balancing/weighted_round_robin/weighted_round_robin.cc",
"src/core/load_balancing/weighted_target/weighted_target.cc",
"src/core/load_balancing/xds/cds.cc",
"src/core/load_balancing/xds/xds_channel_args.h",
"src/core/load_balancing/xds/xds_cluster_impl.cc",
"src/core/load_balancing/xds/xds_cluster_manager.cc",
"src/core/load_balancing/xds/xds_override_host.cc",
"src/core/load_balancing/xds/xds_override_host.h",
"src/core/load_balancing/xds/xds_wrr_locality.cc",
"src/core/plugin_registry/grpc_plugin_registry.cc",
"src/core/plugin_registry/grpc_plugin_registry_extra.cc",
"src/core/tsi/alts/crypt/aes_gcm.cc",

@ -38,7 +38,6 @@ EXPERIMENT_ENABLES = {
"promise_based_server_call": "promise_based_server_call",
"registered_method_lookup_in_transport": "registered_method_lookup_in_transport",
"promise_based_inproc_transport": "promise_based_client_call,promise_based_inproc_transport,promise_based_server_call,registered_method_lookup_in_transport",
"registered_methods_map": "registered_methods_map",
"rfc_max_concurrent_streams": "rfc_max_concurrent_streams",
"round_robin_delegate_to_pick_first": "round_robin_delegate_to_pick_first",
"rstpit": "rstpit",

@ -234,26 +234,6 @@ libs:
- src/core/ext/filters/client_channel/dynamic_filters.h
- src/core/ext/filters/client_channel/global_subchannel_pool.h
- src/core/ext/filters/client_channel/http_proxy_mapper.h
- src/core/ext/filters/client_channel/lb_policy/address_filtering.h
- src/core/ext/filters/client_channel/lb_policy/backend_metric_data.h
- src/core/ext/filters/client_channel/lb_policy/child_policy_handler.h
- src/core/ext/filters/client_channel/lb_policy/endpoint_list.h
- src/core/ext/filters/client_channel/lb_policy/grpclb/client_load_reporting_filter.h
- src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.h
- src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_balancer_addresses.h
- src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_client_stats.h
- src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.h
- src/core/ext/filters/client_channel/lb_policy/health_check_client.h
- src/core/ext/filters/client_channel/lb_policy/health_check_client_internal.h
- src/core/ext/filters/client_channel/lb_policy/oob_backend_metric.h
- src/core/ext/filters/client_channel/lb_policy/oob_backend_metric_internal.h
- src/core/ext/filters/client_channel/lb_policy/outlier_detection/outlier_detection.h
- src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.h
- src/core/ext/filters/client_channel/lb_policy/ring_hash/ring_hash.h
- src/core/ext/filters/client_channel/lb_policy/subchannel_list.h
- src/core/ext/filters/client_channel/lb_policy/weighted_round_robin/static_stride_scheduler.h
- src/core/ext/filters/client_channel/lb_policy/xds/xds_channel_args.h
- src/core/ext/filters/client_channel/lb_policy/xds/xds_override_host.h
- src/core/ext/filters/client_channel/local_subchannel_pool.h
- src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.h
- src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver.h
@ -1041,11 +1021,6 @@ libs:
- src/core/lib/json/json_reader.h
- src/core/lib/json/json_util.h
- src/core/lib/json/json_writer.h
- src/core/lib/load_balancing/delegating_helper.h
- src/core/lib/load_balancing/lb_policy.h
- src/core/lib/load_balancing/lb_policy_factory.h
- src/core/lib/load_balancing/lb_policy_registry.h
- src/core/lib/load_balancing/subchannel_interface.h
- src/core/lib/matchers/matchers.h
- src/core/lib/promise/activity.h
- src/core/lib/promise/all_ok.h
@ -1202,6 +1177,31 @@ libs:
- src/core/lib/transport/transport.h
- src/core/lib/transport/transport_fwd.h
- src/core/lib/uri/uri_parser.h
- src/core/load_balancing/address_filtering.h
- src/core/load_balancing/backend_metric_data.h
- src/core/load_balancing/child_policy_handler.h
- src/core/load_balancing/delegating_helper.h
- src/core/load_balancing/endpoint_list.h
- src/core/load_balancing/grpclb/client_load_reporting_filter.h
- src/core/load_balancing/grpclb/grpclb.h
- src/core/load_balancing/grpclb/grpclb_balancer_addresses.h
- src/core/load_balancing/grpclb/grpclb_client_stats.h
- src/core/load_balancing/grpclb/load_balancer_api.h
- src/core/load_balancing/health_check_client.h
- src/core/load_balancing/health_check_client_internal.h
- src/core/load_balancing/lb_policy.h
- src/core/load_balancing/lb_policy_factory.h
- src/core/load_balancing/lb_policy_registry.h
- src/core/load_balancing/oob_backend_metric.h
- src/core/load_balancing/oob_backend_metric_internal.h
- src/core/load_balancing/outlier_detection/outlier_detection.h
- src/core/load_balancing/pick_first/pick_first.h
- src/core/load_balancing/ring_hash/ring_hash.h
- src/core/load_balancing/subchannel_interface.h
- src/core/load_balancing/subchannel_list.h
- src/core/load_balancing/weighted_round_robin/static_stride_scheduler.h
- src/core/load_balancing/xds/xds_channel_args.h
- src/core/load_balancing/xds/xds_override_host.h
- src/core/tsi/alts/crypt/gsec.h
- src/core/tsi/alts/frame_protector/alts_counter.h
- src/core/tsi/alts/frame_protector/alts_crypter.h
@ -1251,30 +1251,6 @@ libs:
- src/core/ext/filters/client_channel/dynamic_filters.cc
- src/core/ext/filters/client_channel/global_subchannel_pool.cc
- src/core/ext/filters/client_channel/http_proxy_mapper.cc
- src/core/ext/filters/client_channel/lb_policy/address_filtering.cc
- src/core/ext/filters/client_channel/lb_policy/child_policy_handler.cc
- src/core/ext/filters/client_channel/lb_policy/endpoint_list.cc
- src/core/ext/filters/client_channel/lb_policy/grpclb/client_load_reporting_filter.cc
- src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.cc
- src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_balancer_addresses.cc
- src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_client_stats.cc
- src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.cc
- src/core/ext/filters/client_channel/lb_policy/health_check_client.cc
- src/core/ext/filters/client_channel/lb_policy/oob_backend_metric.cc
- src/core/ext/filters/client_channel/lb_policy/outlier_detection/outlier_detection.cc
- src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.cc
- src/core/ext/filters/client_channel/lb_policy/priority/priority.cc
- src/core/ext/filters/client_channel/lb_policy/ring_hash/ring_hash.cc
- src/core/ext/filters/client_channel/lb_policy/rls/rls.cc
- src/core/ext/filters/client_channel/lb_policy/round_robin/round_robin.cc
- src/core/ext/filters/client_channel/lb_policy/weighted_round_robin/static_stride_scheduler.cc
- src/core/ext/filters/client_channel/lb_policy/weighted_round_robin/weighted_round_robin.cc
- src/core/ext/filters/client_channel/lb_policy/weighted_target/weighted_target.cc
- src/core/ext/filters/client_channel/lb_policy/xds/cds.cc
- src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_impl.cc
- src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_manager.cc
- src/core/ext/filters/client_channel/lb_policy/xds/xds_override_host.cc
- src/core/ext/filters/client_channel/lb_policy/xds/xds_wrr_locality.cc
- src/core/ext/filters/client_channel/local_subchannel_pool.cc
- src/core/ext/filters/client_channel/resolver/binder/binder_resolver.cc
- src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.cc
@ -1869,8 +1845,6 @@ libs:
- src/core/lib/json/json_reader.cc
- src/core/lib/json/json_util.cc
- src/core/lib/json/json_writer.cc
- src/core/lib/load_balancing/lb_policy.cc
- src/core/lib/load_balancing/lb_policy_registry.cc
- src/core/lib/matchers/matchers.cc
- src/core/lib/promise/activity.cc
- src/core/lib/promise/party.cc
@ -2003,6 +1977,32 @@ libs:
- src/core/lib/transport/transport.cc
- src/core/lib/transport/transport_op_string.cc
- src/core/lib/uri/uri_parser.cc
- src/core/load_balancing/address_filtering.cc
- src/core/load_balancing/child_policy_handler.cc
- src/core/load_balancing/endpoint_list.cc
- src/core/load_balancing/grpclb/client_load_reporting_filter.cc
- src/core/load_balancing/grpclb/grpclb.cc
- src/core/load_balancing/grpclb/grpclb_balancer_addresses.cc
- src/core/load_balancing/grpclb/grpclb_client_stats.cc
- src/core/load_balancing/grpclb/load_balancer_api.cc
- src/core/load_balancing/health_check_client.cc
- src/core/load_balancing/lb_policy.cc
- src/core/load_balancing/lb_policy_registry.cc
- src/core/load_balancing/oob_backend_metric.cc
- src/core/load_balancing/outlier_detection/outlier_detection.cc
- src/core/load_balancing/pick_first/pick_first.cc
- src/core/load_balancing/priority/priority.cc
- src/core/load_balancing/ring_hash/ring_hash.cc
- src/core/load_balancing/rls/rls.cc
- src/core/load_balancing/round_robin/round_robin.cc
- src/core/load_balancing/weighted_round_robin/static_stride_scheduler.cc
- src/core/load_balancing/weighted_round_robin/weighted_round_robin.cc
- src/core/load_balancing/weighted_target/weighted_target.cc
- src/core/load_balancing/xds/cds.cc
- src/core/load_balancing/xds/xds_cluster_impl.cc
- src/core/load_balancing/xds/xds_cluster_manager.cc
- src/core/load_balancing/xds/xds_override_host.cc
- src/core/load_balancing/xds/xds_wrr_locality.cc
- src/core/plugin_registry/grpc_plugin_registry.cc
- src/core/plugin_registry/grpc_plugin_registry_extra.cc
- src/core/tsi/alts/crypt/aes_gcm.cc
@ -2213,23 +2213,6 @@ libs:
- src/core/ext/filters/client_channel/dynamic_filters.h
- src/core/ext/filters/client_channel/global_subchannel_pool.h
- src/core/ext/filters/client_channel/http_proxy_mapper.h
- src/core/ext/filters/client_channel/lb_policy/address_filtering.h
- src/core/ext/filters/client_channel/lb_policy/backend_metric_data.h
- src/core/ext/filters/client_channel/lb_policy/child_policy_handler.h
- src/core/ext/filters/client_channel/lb_policy/endpoint_list.h
- src/core/ext/filters/client_channel/lb_policy/grpclb/client_load_reporting_filter.h
- src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.h
- src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_balancer_addresses.h
- src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_client_stats.h
- src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.h
- src/core/ext/filters/client_channel/lb_policy/health_check_client.h
- src/core/ext/filters/client_channel/lb_policy/health_check_client_internal.h
- src/core/ext/filters/client_channel/lb_policy/oob_backend_metric.h
- src/core/ext/filters/client_channel/lb_policy/oob_backend_metric_internal.h
- src/core/ext/filters/client_channel/lb_policy/outlier_detection/outlier_detection.h
- src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.h
- src/core/ext/filters/client_channel/lb_policy/subchannel_list.h
- src/core/ext/filters/client_channel/lb_policy/weighted_round_robin/static_stride_scheduler.h
- src/core/ext/filters/client_channel/local_subchannel_pool.h
- src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.h
- src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver.h
@ -2528,11 +2511,6 @@ libs:
- src/core/lib/json/json_object_loader.h
- src/core/lib/json/json_reader.h
- src/core/lib/json/json_writer.h
- src/core/lib/load_balancing/delegating_helper.h
- src/core/lib/load_balancing/lb_policy.h
- src/core/lib/load_balancing/lb_policy_factory.h
- src/core/lib/load_balancing/lb_policy_registry.h
- src/core/lib/load_balancing/subchannel_interface.h
- src/core/lib/promise/activity.h
- src/core/lib/promise/all_ok.h
- src/core/lib/promise/arena_promise.h
@ -2657,6 +2635,28 @@ libs:
- src/core/lib/transport/transport.h
- src/core/lib/transport/transport_fwd.h
- src/core/lib/uri/uri_parser.h
- src/core/load_balancing/address_filtering.h
- src/core/load_balancing/backend_metric_data.h
- src/core/load_balancing/child_policy_handler.h
- src/core/load_balancing/delegating_helper.h
- src/core/load_balancing/endpoint_list.h
- src/core/load_balancing/grpclb/client_load_reporting_filter.h
- src/core/load_balancing/grpclb/grpclb.h
- src/core/load_balancing/grpclb/grpclb_balancer_addresses.h
- src/core/load_balancing/grpclb/grpclb_client_stats.h
- src/core/load_balancing/grpclb/load_balancer_api.h
- src/core/load_balancing/health_check_client.h
- src/core/load_balancing/health_check_client_internal.h
- src/core/load_balancing/lb_policy.h
- src/core/load_balancing/lb_policy_factory.h
- src/core/load_balancing/lb_policy_registry.h
- src/core/load_balancing/oob_backend_metric.h
- src/core/load_balancing/oob_backend_metric_internal.h
- src/core/load_balancing/outlier_detection/outlier_detection.h
- src/core/load_balancing/pick_first/pick_first.h
- src/core/load_balancing/subchannel_interface.h
- src/core/load_balancing/subchannel_list.h
- src/core/load_balancing/weighted_round_robin/static_stride_scheduler.h
- src/core/tsi/alts/handshaker/transport_security_common_api.h
- src/core/tsi/fake_transport_security.h
- src/core/tsi/local_transport_security.h
@ -2702,24 +2702,6 @@ libs:
- src/core/ext/filters/client_channel/dynamic_filters.cc
- src/core/ext/filters/client_channel/global_subchannel_pool.cc
- src/core/ext/filters/client_channel/http_proxy_mapper.cc
- src/core/ext/filters/client_channel/lb_policy/address_filtering.cc
- src/core/ext/filters/client_channel/lb_policy/child_policy_handler.cc
- src/core/ext/filters/client_channel/lb_policy/endpoint_list.cc
- src/core/ext/filters/client_channel/lb_policy/grpclb/client_load_reporting_filter.cc
- src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.cc
- src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_balancer_addresses.cc
- src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_client_stats.cc
- src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.cc
- src/core/ext/filters/client_channel/lb_policy/health_check_client.cc
- src/core/ext/filters/client_channel/lb_policy/oob_backend_metric.cc
- src/core/ext/filters/client_channel/lb_policy/outlier_detection/outlier_detection.cc
- src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.cc
- src/core/ext/filters/client_channel/lb_policy/priority/priority.cc
- src/core/ext/filters/client_channel/lb_policy/rls/rls.cc
- src/core/ext/filters/client_channel/lb_policy/round_robin/round_robin.cc
- src/core/ext/filters/client_channel/lb_policy/weighted_round_robin/static_stride_scheduler.cc
- src/core/ext/filters/client_channel/lb_policy/weighted_round_robin/weighted_round_robin.cc
- src/core/ext/filters/client_channel/lb_policy/weighted_target/weighted_target.cc
- src/core/ext/filters/client_channel/local_subchannel_pool.cc
- src/core/ext/filters/client_channel/resolver/binder/binder_resolver.cc
- src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.cc
@ -2975,8 +2957,6 @@ libs:
- src/core/lib/json/json_object_loader.cc
- src/core/lib/json/json_reader.cc
- src/core/lib/json/json_writer.cc
- src/core/lib/load_balancing/lb_policy.cc
- src/core/lib/load_balancing/lb_policy_registry.cc
- src/core/lib/promise/activity.cc
- src/core/lib/promise/party.cc
- src/core/lib/promise/sleep.cc
@ -3074,6 +3054,26 @@ libs:
- src/core/lib/transport/transport.cc
- src/core/lib/transport/transport_op_string.cc
- src/core/lib/uri/uri_parser.cc
- src/core/load_balancing/address_filtering.cc
- src/core/load_balancing/child_policy_handler.cc
- src/core/load_balancing/endpoint_list.cc
- src/core/load_balancing/grpclb/client_load_reporting_filter.cc
- src/core/load_balancing/grpclb/grpclb.cc
- src/core/load_balancing/grpclb/grpclb_balancer_addresses.cc
- src/core/load_balancing/grpclb/grpclb_client_stats.cc
- src/core/load_balancing/grpclb/load_balancer_api.cc
- src/core/load_balancing/health_check_client.cc
- src/core/load_balancing/lb_policy.cc
- src/core/load_balancing/lb_policy_registry.cc
- src/core/load_balancing/oob_backend_metric.cc
- src/core/load_balancing/outlier_detection/outlier_detection.cc
- src/core/load_balancing/pick_first/pick_first.cc
- src/core/load_balancing/priority/priority.cc
- src/core/load_balancing/rls/rls.cc
- src/core/load_balancing/round_robin/round_robin.cc
- src/core/load_balancing/weighted_round_robin/static_stride_scheduler.cc
- src/core/load_balancing/weighted_round_robin/weighted_round_robin.cc
- src/core/load_balancing/weighted_target/weighted_target.cc
- src/core/plugin_registry/grpc_plugin_registry.cc
- src/core/plugin_registry/grpc_plugin_registry_noextra.cc
- src/core/tsi/alts/handshaker/transport_security_common_api.cc
@ -4370,7 +4370,6 @@ libs:
- include/grpc/support/time.h
- include/grpc/support/workaround_list.h
headers:
- src/core/ext/filters/client_channel/lb_policy/backend_metric_data.h
- src/core/ext/upb-gen/google/protobuf/any.upb.h
- src/core/ext/upb-gen/google/protobuf/any.upb_minitable.h
- src/core/ext/upb-gen/google/protobuf/descriptor.upb.h
@ -4575,10 +4574,6 @@ libs:
- src/core/lib/json/json_args.h
- src/core/lib/json/json_reader.h
- src/core/lib/json/json_writer.h
- src/core/lib/load_balancing/lb_policy.h
- src/core/lib/load_balancing/lb_policy_factory.h
- src/core/lib/load_balancing/lb_policy_registry.h
- src/core/lib/load_balancing/subchannel_interface.h
- src/core/lib/matchers/matchers.h
- src/core/lib/promise/activity.h
- src/core/lib/promise/all_ok.h
@ -4702,6 +4697,11 @@ libs:
- src/core/lib/transport/transport.h
- src/core/lib/transport/transport_fwd.h
- src/core/lib/uri/uri_parser.h
- src/core/load_balancing/backend_metric_data.h
- src/core/load_balancing/lb_policy.h
- src/core/load_balancing/lb_policy_factory.h
- src/core/load_balancing/lb_policy_registry.h
- src/core/load_balancing/subchannel_interface.h
- src/core/tsi/alts/handshaker/transport_security_common_api.h
- src/core/tsi/transport_security.h
- src/core/tsi/transport_security_grpc.h
@ -4899,8 +4899,6 @@ libs:
- src/core/lib/iomgr/wakeup_fd_posix.cc
- src/core/lib/json/json_reader.cc
- src/core/lib/json/json_writer.cc
- src/core/lib/load_balancing/lb_policy.cc
- src/core/lib/load_balancing/lb_policy_registry.cc
- src/core/lib/matchers/matchers.cc
- src/core/lib/promise/activity.cc
- src/core/lib/promise/party.cc
@ -4996,6 +4994,8 @@ libs:
- src/core/lib/transport/transport.cc
- src/core/lib/transport/transport_op_string.cc
- src/core/lib/uri/uri_parser.cc
- src/core/load_balancing/lb_policy.cc
- src/core/load_balancing/lb_policy_registry.cc
- src/core/tsi/alts/handshaker/transport_security_common_api.cc
- src/core/tsi/transport_security.cc
- src/core/tsi/transport_security_grpc.cc
@ -5146,9 +5146,9 @@ targets:
build: test
language: c
headers:
- src/core/ext/filters/client_channel/lb_policy/weighted_round_robin/static_stride_scheduler.h
- src/core/load_balancing/weighted_round_robin/static_stride_scheduler.h
src:
- src/core/ext/filters/client_channel/lb_policy/weighted_round_robin/static_stride_scheduler.cc
- src/core/load_balancing/weighted_round_robin/static_stride_scheduler.cc
- test/core/client_channel/lb_policy/static_stride_scheduler_benchmark.cc
deps:
- absl/algorithm:container
@ -15988,9 +15988,9 @@ targets:
build: test
language: c++
headers:
- src/core/ext/filters/client_channel/lb_policy/weighted_round_robin/static_stride_scheduler.h
- src/core/load_balancing/weighted_round_robin/static_stride_scheduler.h
src:
- src/core/ext/filters/client_channel/lb_policy/weighted_round_robin/static_stride_scheduler.cc
- src/core/load_balancing/weighted_round_robin/static_stride_scheduler.cc
- test/core/client_channel/lb_policy/static_stride_scheduler_test.cc
deps:
- gtest

75
config.m4 generated

@ -58,30 +58,6 @@ if test "$PHP_GRPC" != "no"; then
src/core/ext/filters/client_channel/dynamic_filters.cc \
src/core/ext/filters/client_channel/global_subchannel_pool.cc \
src/core/ext/filters/client_channel/http_proxy_mapper.cc \
src/core/ext/filters/client_channel/lb_policy/address_filtering.cc \
src/core/ext/filters/client_channel/lb_policy/child_policy_handler.cc \
src/core/ext/filters/client_channel/lb_policy/endpoint_list.cc \
src/core/ext/filters/client_channel/lb_policy/grpclb/client_load_reporting_filter.cc \
src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.cc \
src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_balancer_addresses.cc \
src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_client_stats.cc \
src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.cc \
src/core/ext/filters/client_channel/lb_policy/health_check_client.cc \
src/core/ext/filters/client_channel/lb_policy/oob_backend_metric.cc \
src/core/ext/filters/client_channel/lb_policy/outlier_detection/outlier_detection.cc \
src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.cc \
src/core/ext/filters/client_channel/lb_policy/priority/priority.cc \
src/core/ext/filters/client_channel/lb_policy/ring_hash/ring_hash.cc \
src/core/ext/filters/client_channel/lb_policy/rls/rls.cc \
src/core/ext/filters/client_channel/lb_policy/round_robin/round_robin.cc \
src/core/ext/filters/client_channel/lb_policy/weighted_round_robin/static_stride_scheduler.cc \
src/core/ext/filters/client_channel/lb_policy/weighted_round_robin/weighted_round_robin.cc \
src/core/ext/filters/client_channel/lb_policy/weighted_target/weighted_target.cc \
src/core/ext/filters/client_channel/lb_policy/xds/cds.cc \
src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_impl.cc \
src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_manager.cc \
src/core/ext/filters/client_channel/lb_policy/xds/xds_override_host.cc \
src/core/ext/filters/client_channel/lb_policy/xds/xds_wrr_locality.cc \
src/core/ext/filters/client_channel/local_subchannel_pool.cc \
src/core/ext/filters/client_channel/resolver/binder/binder_resolver.cc \
src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.cc \
@ -722,8 +698,6 @@ if test "$PHP_GRPC" != "no"; then
src/core/lib/json/json_reader.cc \
src/core/lib/json/json_util.cc \
src/core/lib/json/json_writer.cc \
src/core/lib/load_balancing/lb_policy.cc \
src/core/lib/load_balancing/lb_policy_registry.cc \
src/core/lib/matchers/matchers.cc \
src/core/lib/promise/activity.cc \
src/core/lib/promise/party.cc \
@ -856,6 +830,32 @@ if test "$PHP_GRPC" != "no"; then
src/core/lib/transport/transport.cc \
src/core/lib/transport/transport_op_string.cc \
src/core/lib/uri/uri_parser.cc \
src/core/load_balancing/address_filtering.cc \
src/core/load_balancing/child_policy_handler.cc \
src/core/load_balancing/endpoint_list.cc \
src/core/load_balancing/grpclb/client_load_reporting_filter.cc \
src/core/load_balancing/grpclb/grpclb.cc \
src/core/load_balancing/grpclb/grpclb_balancer_addresses.cc \
src/core/load_balancing/grpclb/grpclb_client_stats.cc \
src/core/load_balancing/grpclb/load_balancer_api.cc \
src/core/load_balancing/health_check_client.cc \
src/core/load_balancing/lb_policy.cc \
src/core/load_balancing/lb_policy_registry.cc \
src/core/load_balancing/oob_backend_metric.cc \
src/core/load_balancing/outlier_detection/outlier_detection.cc \
src/core/load_balancing/pick_first/pick_first.cc \
src/core/load_balancing/priority/priority.cc \
src/core/load_balancing/ring_hash/ring_hash.cc \
src/core/load_balancing/rls/rls.cc \
src/core/load_balancing/round_robin/round_robin.cc \
src/core/load_balancing/weighted_round_robin/static_stride_scheduler.cc \
src/core/load_balancing/weighted_round_robin/weighted_round_robin.cc \
src/core/load_balancing/weighted_target/weighted_target.cc \
src/core/load_balancing/xds/cds.cc \
src/core/load_balancing/xds/xds_cluster_impl.cc \
src/core/load_balancing/xds/xds_cluster_manager.cc \
src/core/load_balancing/xds/xds_override_host.cc \
src/core/load_balancing/xds/xds_wrr_locality.cc \
src/core/plugin_registry/grpc_plugin_registry.cc \
src/core/plugin_registry/grpc_plugin_registry_extra.cc \
src/core/tsi/alts/crypt/aes_gcm.cc \
@ -1374,17 +1374,6 @@ if test "$PHP_GRPC" != "no"; then
PHP_ADD_BUILD_DIR($ext_builddir/src/core/ext/filters/census)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/ext/filters/channel_idle)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/ext/filters/client_channel)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/ext/filters/client_channel/lb_policy)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/ext/filters/client_channel/lb_policy/grpclb)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/ext/filters/client_channel/lb_policy/outlier_detection)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/ext/filters/client_channel/lb_policy/pick_first)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/ext/filters/client_channel/lb_policy/priority)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/ext/filters/client_channel/lb_policy/ring_hash)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/ext/filters/client_channel/lb_policy/rls)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/ext/filters/client_channel/lb_policy/round_robin)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/ext/filters/client_channel/lb_policy/weighted_round_robin)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/ext/filters/client_channel/lb_policy/weighted_target)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/ext/filters/client_channel/lb_policy/xds)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/ext/filters/client_channel/resolver)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/ext/filters/client_channel/resolver/binder)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/ext/filters/client_channel/resolver/dns)
@ -1544,7 +1533,6 @@ if test "$PHP_GRPC" != "no"; then
PHP_ADD_BUILD_DIR($ext_builddir/src/core/lib/iomgr)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/lib/iomgr/event_engine_shims)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/lib/json)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/lib/load_balancing)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/lib/matchers)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/lib/promise)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/lib/resolver)
@ -1581,6 +1569,17 @@ if test "$PHP_GRPC" != "no"; then
PHP_ADD_BUILD_DIR($ext_builddir/src/core/lib/surface)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/lib/transport)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/lib/uri)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/load_balancing)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/load_balancing/grpclb)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/load_balancing/outlier_detection)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/load_balancing/pick_first)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/load_balancing/priority)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/load_balancing/ring_hash)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/load_balancing/rls)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/load_balancing/round_robin)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/load_balancing/weighted_round_robin)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/load_balancing/weighted_target)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/load_balancing/xds)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/plugin_registry)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/tsi)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/tsi/alts/crypt)

75
config.w32 generated

@ -23,30 +23,6 @@ if (PHP_GRPC != "no") {
"src\\core\\ext\\filters\\client_channel\\dynamic_filters.cc " +
"src\\core\\ext\\filters\\client_channel\\global_subchannel_pool.cc " +
"src\\core\\ext\\filters\\client_channel\\http_proxy_mapper.cc " +
"src\\core\\ext\\filters\\client_channel\\lb_policy\\address_filtering.cc " +
"src\\core\\ext\\filters\\client_channel\\lb_policy\\child_policy_handler.cc " +
"src\\core\\ext\\filters\\client_channel\\lb_policy\\endpoint_list.cc " +
"src\\core\\ext\\filters\\client_channel\\lb_policy\\grpclb\\client_load_reporting_filter.cc " +
"src\\core\\ext\\filters\\client_channel\\lb_policy\\grpclb\\grpclb.cc " +
"src\\core\\ext\\filters\\client_channel\\lb_policy\\grpclb\\grpclb_balancer_addresses.cc " +
"src\\core\\ext\\filters\\client_channel\\lb_policy\\grpclb\\grpclb_client_stats.cc " +
"src\\core\\ext\\filters\\client_channel\\lb_policy\\grpclb\\load_balancer_api.cc " +
"src\\core\\ext\\filters\\client_channel\\lb_policy\\health_check_client.cc " +
"src\\core\\ext\\filters\\client_channel\\lb_policy\\oob_backend_metric.cc " +
"src\\core\\ext\\filters\\client_channel\\lb_policy\\outlier_detection\\outlier_detection.cc " +
"src\\core\\ext\\filters\\client_channel\\lb_policy\\pick_first\\pick_first.cc " +
"src\\core\\ext\\filters\\client_channel\\lb_policy\\priority\\priority.cc " +
"src\\core\\ext\\filters\\client_channel\\lb_policy\\ring_hash\\ring_hash.cc " +
"src\\core\\ext\\filters\\client_channel\\lb_policy\\rls\\rls.cc " +
"src\\core\\ext\\filters\\client_channel\\lb_policy\\round_robin\\round_robin.cc " +
"src\\core\\ext\\filters\\client_channel\\lb_policy\\weighted_round_robin\\static_stride_scheduler.cc " +
"src\\core\\ext\\filters\\client_channel\\lb_policy\\weighted_round_robin\\weighted_round_robin.cc " +
"src\\core\\ext\\filters\\client_channel\\lb_policy\\weighted_target\\weighted_target.cc " +
"src\\core\\ext\\filters\\client_channel\\lb_policy\\xds\\cds.cc " +
"src\\core\\ext\\filters\\client_channel\\lb_policy\\xds\\xds_cluster_impl.cc " +
"src\\core\\ext\\filters\\client_channel\\lb_policy\\xds\\xds_cluster_manager.cc " +
"src\\core\\ext\\filters\\client_channel\\lb_policy\\xds\\xds_override_host.cc " +
"src\\core\\ext\\filters\\client_channel\\lb_policy\\xds\\xds_wrr_locality.cc " +
"src\\core\\ext\\filters\\client_channel\\local_subchannel_pool.cc " +
"src\\core\\ext\\filters\\client_channel\\resolver\\binder\\binder_resolver.cc " +
"src\\core\\ext\\filters\\client_channel\\resolver\\dns\\c_ares\\dns_resolver_ares.cc " +
@ -687,8 +663,6 @@ if (PHP_GRPC != "no") {
"src\\core\\lib\\json\\json_reader.cc " +
"src\\core\\lib\\json\\json_util.cc " +
"src\\core\\lib\\json\\json_writer.cc " +
"src\\core\\lib\\load_balancing\\lb_policy.cc " +
"src\\core\\lib\\load_balancing\\lb_policy_registry.cc " +
"src\\core\\lib\\matchers\\matchers.cc " +
"src\\core\\lib\\promise\\activity.cc " +
"src\\core\\lib\\promise\\party.cc " +
@ -821,6 +795,32 @@ if (PHP_GRPC != "no") {
"src\\core\\lib\\transport\\transport.cc " +
"src\\core\\lib\\transport\\transport_op_string.cc " +
"src\\core\\lib\\uri\\uri_parser.cc " +
"src\\core\\load_balancing\\address_filtering.cc " +
"src\\core\\load_balancing\\child_policy_handler.cc " +
"src\\core\\load_balancing\\endpoint_list.cc " +
"src\\core\\load_balancing\\grpclb\\client_load_reporting_filter.cc " +
"src\\core\\load_balancing\\grpclb\\grpclb.cc " +
"src\\core\\load_balancing\\grpclb\\grpclb_balancer_addresses.cc " +
"src\\core\\load_balancing\\grpclb\\grpclb_client_stats.cc " +
"src\\core\\load_balancing\\grpclb\\load_balancer_api.cc " +
"src\\core\\load_balancing\\health_check_client.cc " +
"src\\core\\load_balancing\\lb_policy.cc " +
"src\\core\\load_balancing\\lb_policy_registry.cc " +
"src\\core\\load_balancing\\oob_backend_metric.cc " +
"src\\core\\load_balancing\\outlier_detection\\outlier_detection.cc " +
"src\\core\\load_balancing\\pick_first\\pick_first.cc " +
"src\\core\\load_balancing\\priority\\priority.cc " +
"src\\core\\load_balancing\\ring_hash\\ring_hash.cc " +
"src\\core\\load_balancing\\rls\\rls.cc " +
"src\\core\\load_balancing\\round_robin\\round_robin.cc " +
"src\\core\\load_balancing\\weighted_round_robin\\static_stride_scheduler.cc " +
"src\\core\\load_balancing\\weighted_round_robin\\weighted_round_robin.cc " +
"src\\core\\load_balancing\\weighted_target\\weighted_target.cc " +
"src\\core\\load_balancing\\xds\\cds.cc " +
"src\\core\\load_balancing\\xds\\xds_cluster_impl.cc " +
"src\\core\\load_balancing\\xds\\xds_cluster_manager.cc " +
"src\\core\\load_balancing\\xds\\xds_override_host.cc " +
"src\\core\\load_balancing\\xds\\xds_wrr_locality.cc " +
"src\\core\\plugin_registry\\grpc_plugin_registry.cc " +
"src\\core\\plugin_registry\\grpc_plugin_registry_extra.cc " +
"src\\core\\tsi\\alts\\crypt\\aes_gcm.cc " +
@ -1368,17 +1368,6 @@ if (PHP_GRPC != "no") {
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\filters\\census");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\filters\\channel_idle");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\filters\\client_channel");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\filters\\client_channel\\lb_policy");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\filters\\client_channel\\lb_policy\\grpclb");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\filters\\client_channel\\lb_policy\\outlier_detection");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\filters\\client_channel\\lb_policy\\pick_first");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\filters\\client_channel\\lb_policy\\priority");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\filters\\client_channel\\lb_policy\\ring_hash");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\filters\\client_channel\\lb_policy\\rls");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\filters\\client_channel\\lb_policy\\round_robin");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\filters\\client_channel\\lb_policy\\weighted_round_robin");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\filters\\client_channel\\lb_policy\\weighted_target");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\filters\\client_channel\\lb_policy\\xds");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\filters\\client_channel\\resolver");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\filters\\client_channel\\resolver\\binder");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\filters\\client_channel\\resolver\\dns");
@ -1681,7 +1670,6 @@ if (PHP_GRPC != "no") {
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\lib\\iomgr");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\lib\\iomgr\\event_engine_shims");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\lib\\json");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\lib\\load_balancing");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\lib\\matchers");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\lib\\promise");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\lib\\resolver");
@ -1719,6 +1707,17 @@ if (PHP_GRPC != "no") {
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\lib\\surface");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\lib\\transport");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\lib\\uri");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\load_balancing");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\load_balancing\\grpclb");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\load_balancing\\outlier_detection");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\load_balancing\\pick_first");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\load_balancing\\priority");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\load_balancing\\ring_hash");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\load_balancing\\rls");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\load_balancing\\round_robin");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\load_balancing\\weighted_round_robin");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\load_balancing\\weighted_target");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\load_balancing\\xds");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\plugin_registry");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\tsi");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\tsi\\alts");

@ -22,7 +22,7 @@ RUN ln -s /usr/bin/python3 /usr/bin/python
RUN mkdir /artifacts
COPY . .
RUN OVERRIDE_BAZEL_VERSION=5.4.0 tools/bazel build //examples/cpp/csm:csm_greeter_client
RUN tools/bazel build //examples/cpp/csm:csm_greeter_client
RUN cp -rL /workdir/bazel-bin/examples/cpp/csm/csm_greeter_client /artifacts/
FROM python:3.9-slim-bookworm

@ -6,6 +6,30 @@ This CSM example builds on the [Hello World Example](https://github.com/grpc/grp
The client takes the following command-line arguments -
* target - By default, the client tries to connect to the xDS "xds:///helloworld:50051" and gRPC would use xDS to resolve this target and connect to the server backend. This can be overriden to change the target.
* cookie_name - session affinity cookie name. Defaults to "GSSA"
* delay_s - delay (in seconds) between the RPCs. Default value is 5
The server takes the following command-line arguments -
* port - Port on which the Hello World service is run. Defaults to 50051.
## Building
From the gRPC workspace folder:
Client:
```
docker build -f examples/cpp/csm/Dockerfile.client
```
Server:
```
docker build -f examples/cpp/csm/Dockerfile.server
```
To push to a registry, add a tag to the image either by adding a `-t` flag to `docker build` command above or run:
```
docker image tag ${sha from build command above} ${tag}
```
And then push the tagged image using `docker push`

@ -16,16 +16,20 @@
*
*/
#include <sys/types.h>
#include <chrono>
#include <condition_variable>
#include <iostream>
#include <memory>
#include <mutex>
#include <optional>
#include <string>
#include "absl/flags/flag.h"
#include "absl/flags/parse.h"
#include "absl/strings/str_join.h"
#include "absl/strings/str_split.h"
#include "absl/types/optional.h"
#include "opentelemetry/exporters/prometheus/exporter_factory.h"
#include "opentelemetry/exporters/prometheus/exporter_options.h"
#include "opentelemetry/sdk/metrics/meter_provider.h"
@ -41,6 +45,8 @@
#endif
ABSL_FLAG(std::string, target, "xds:///helloworld:50051", "Target string");
ABSL_FLAG(std::string, cookie_name, "GSSA", "Cookie name");
ABSL_FLAG(uint, delay_s, 5, "Delay between requests");
using grpc::Channel;
using grpc::ClientContext;
@ -49,15 +55,13 @@ using helloworld::Greeter;
using helloworld::HelloReply;
using helloworld::HelloRequest;
namespace {
struct Cookie {
std::string name;
std::string value;
std::set<std::string> attributes;
std::pair<std::string, std::string> Header() const {
return std::make_pair("cookie", absl::StrFormat("%s=%s", name, value));
}
template <typename Sink>
friend void AbslStringify(Sink& sink, const Cookie& cookie) {
absl::Format(&sink, "(Cookie: %s, value: %s, attributes: {%s})",
@ -66,9 +70,7 @@ struct Cookie {
}
};
class GreeterClient {
protected:
static Cookie ParseCookie(absl::string_view header) {
Cookie ParseCookie(absl::string_view header) {
Cookie cookie;
std::pair<absl::string_view, absl::string_view> name_value =
absl::StrSplit(header, absl::MaxSplits('=', 1));
@ -82,33 +84,31 @@ class GreeterClient {
return cookie;
}
static std::vector<Cookie> GetCookies(
const std::multimap<grpc::string_ref, grpc::string_ref>&
server_initial_metadata,
std::vector<Cookie> GetCookies(
const std::multimap<grpc::string_ref, grpc::string_ref>& initial_metadata,
absl::string_view cookie_name) {
std::vector<Cookie> values;
auto pair = server_initial_metadata.equal_range("set-cookie");
auto pair = initial_metadata.equal_range("set-cookie");
for (auto it = pair.first; it != pair.second; ++it) {
gpr_log(GPR_INFO, "set-cookie header: %s", it->second.data());
const auto cookie = ParseCookie(it->second.data());
if (cookie.name == cookie_name) {
values.emplace_back(cookie);
values.emplace_back(std::move(cookie));
}
}
return values;
}
class GreeterClient {
public:
GreeterClient(std::shared_ptr<Channel> channel)
: stub_(Greeter::NewStub(channel)) {}
GreeterClient(std::shared_ptr<Channel> channel, absl::string_view cookie_name)
: stub_(Greeter::NewStub(channel)), cookie_name_(cookie_name) {}
// Assembles the client's payload, sends it and presents the response back
// from the server.
std::string SayHello(const std::string& user, Cookie* cookieFromServer,
const Cookie* cookieToServer) {
void SayHello() {
// Data we are sending to the server.
HelloRequest request;
request.set_name(user);
request.set_name("world");
// Container for the data we expect from the server.
HelloReply reply;
@ -120,59 +120,45 @@ class GreeterClient {
// The actual RPC.
std::mutex mu;
std::condition_variable cv;
bool done = false;
Status status;
if (cookieToServer != NULL) {
std::pair<std::string, std::string> cookieHeader =
cookieToServer->Header();
context.AddMetadata(cookieHeader.first, cookieHeader.second);
absl::optional<Status> status;
// Set the cookie header if we already got a cookie from the server
if (cookie_from_server_.has_value()) {
context.AddMetadata("cookie",
absl::StrFormat("%s=%s", cookie_from_server_->name,
cookie_from_server_->value));
}
stub_->async()->SayHello(&context, &request, &reply,
[&mu, &cv, &done, &status](Status s) {
status = std::move(s);
std::unique_lock<std::mutex> lock(mu);
stub_->async()->SayHello(&context, &request, &reply, [&](Status s) {
std::lock_guard<std::mutex> lock(mu);
done = true;
status = std::move(s);
cv.notify_one();
});
std::unique_lock<std::mutex> lock(mu);
while (!done) {
while (!status.has_value()) {
cv.wait(lock);
}
// Act upon its status.
if (status.ok()) {
if (cookieFromServer != NULL) {
if (!status->ok()) {
std::cout << "RPC failed" << status->error_code() << ": "
<< status->error_message() << std::endl;
return;
}
const std::multimap<grpc::string_ref, grpc::string_ref>&
server_initial_metadata = context.GetServerInitialMetadata();
// Update a cookie after a successful request
std::vector<Cookie> cookies =
GetCookies(server_initial_metadata, "GSSA");
GetCookies(server_initial_metadata, cookie_name_);
if (!cookies.empty()) {
*cookieFromServer = cookies.front();
}
}
return reply.message();
} else {
std::cout << status.error_code() << ": " << status.error_message()
<< std::endl;
return "RPC failed";
cookie_from_server_.emplace(std::move(cookies.front()));
}
std::cout << "Greeter received: " << reply.message() << std::endl;
}
private:
std::unique_ptr<Greeter::Stub> stub_;
std::string cookie_name_;
absl::optional<Cookie> cookie_from_server_;
};
static void sayHello(GreeterClient& greeter, Cookie* cookieFromServer,
const Cookie* cookieToServer) {
std::string user("world");
std::string reply = greeter.SayHello(user, cookieFromServer, cookieToServer);
std::cout << "Greeter received: " << reply << std::endl;
std::this_thread::sleep_for(std::chrono::seconds(5));
}
int main(int argc, char** argv) {
absl::ParseCommandLine(argc, argv);
absl::StatusOr<grpc::experimental::CsmObservability> InitializeObservability() {
opentelemetry::exporter::metrics::PrometheusExporterOptions opts;
// default was "localhost:9464" which causes connection issue across GKE pods
opts.url = "0.0.0.0:9464";
@ -181,21 +167,29 @@ int main(int argc, char** argv) {
auto meter_provider =
std::make_shared<opentelemetry::sdk::metrics::MeterProvider>();
meter_provider->AddMetricReader(std::move(prometheus_exporter));
auto observability = grpc::experimental::CsmObservabilityBuilder()
return grpc::experimental::CsmObservabilityBuilder()
.SetMeterProvider(std::move(meter_provider))
.BuildAndRegister();
}
} // namespace
int main(int argc, char** argv) {
absl::ParseCommandLine(argc, argv);
// Setup the observability
auto observability = InitializeObservability();
if (!observability.ok()) {
std::cerr << "CsmObservability::Init() failed: "
<< observability.status().ToString() << std::endl;
return static_cast<int>(observability.status().code());
}
GreeterClient greeter(grpc::CreateChannel(
absl::GetFlag(FLAGS_target), grpc::InsecureChannelCredentials()));
Cookie session_cookie;
sayHello(greeter, &session_cookie, NULL);
GreeterClient greeter(grpc::CreateChannel(absl::GetFlag(FLAGS_target),
grpc::InsecureChannelCredentials()),
absl::GetFlag(FLAGS_cookie_name));
while (true) {
sayHello(greeter, NULL, &session_cookie);
greeter.SayHello();
std::this_thread::sleep_for(
std::chrono::seconds(absl::GetFlag(FLAGS_delay_s)));
}
return 0;
}

@ -0,0 +1,47 @@
# Copyright 2023 the gRPC authors.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
licenses(["notice"])
cc_binary(
name = "greeter_callback_client",
srcs = ["greeter_callback_client.cc"],
defines = ["BAZEL_BUILD"],
deps = [
"//:grpc++",
"//:grpcpp_otel_plugin",
"//examples/protos:helloworld_cc_grpc",
"@com_google_absl//absl/flags:flag",
"@com_google_absl//absl/flags:parse",
"@io_opentelemetry_cpp//exporters/prometheus:prometheus_exporter",
"@io_opentelemetry_cpp//sdk/src/metrics",
],
)
cc_binary(
name = "greeter_callback_server",
srcs = ["greeter_callback_server.cc"],
defines = ["BAZEL_BUILD"],
deps = [
"//:grpc++",
"//:grpc++_reflection",
"//:grpcpp_otel_plugin",
"//examples/protos:helloworld_cc_grpc",
"@com_google_absl//absl/flags:flag",
"@com_google_absl//absl/flags:parse",
"@com_google_absl//absl/strings:str_format",
"@io_opentelemetry_cpp//exporters/prometheus:prometheus_exporter",
"@io_opentelemetry_cpp//sdk/src/metrics",
],
)

@ -0,0 +1,45 @@
# gRPC C++ OpenTelemetry Example
The opentelemetry example builds on the
[Hello World Example](https://github.com/grpc/grpc/tree/master/examples/cpp/helloworld)
and changes the gRPC client and server to show a sample way of configuring the
gRPC OpenTelemetry plugin with a prometheus exporter.
For more information on the gRPC OpenTelemetry plugin, please refer to - *
[A66: OpenTelemetry Metrics](https://github.com/grpc/proposal/blob/master/A66-otel-stats.md)
* [https://opentelemetry.io/]()
## Running the example
To run the server -
```
$ tools/bazel run examples/cpp/otel:greeter_callback_server
```
To run the client -
```
$ tools/bazel run examples/cpp/otel:greeter_callback_client
```
The client continuously sends an RPC to the server every second.
To make sure that the server and client metrics are being exported properly, in
a separate terminal, run the following -
```
$ curl localhost:9464/metrics
```
```
$ curl localhost:9465/metrics
```
> ***NOTE:*** If the prometheus endpoint configured is overridden, please update
> the target in the above curl command.
You can find a complete set of instructions for building gRPC and running the
Hello World app in the [C++ Quick Start][].
[C++ Quick Start]: https://grpc.io/docs/languages/cpp/quickstart

@ -0,0 +1,138 @@
/*
*
* Copyright 2021 gRPC authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
*/
#include <condition_variable>
#include <iostream>
#include <memory>
#include <mutex>
#include <string>
#include <thread>
#include "absl/flags/flag.h"
#include "absl/flags/parse.h"
#include "opentelemetry/exporters/prometheus/exporter_factory.h"
#include "opentelemetry/exporters/prometheus/exporter_options.h"
#include "opentelemetry/sdk/metrics/meter_provider.h"
#include <grpcpp/ext/otel_plugin.h>
#include <grpcpp/grpcpp.h>
#ifdef BAZEL_BUILD
#include "examples/protos/helloworld.grpc.pb.h"
#else
#include "helloworld.grpc.pb.h"
#endif
ABSL_FLAG(std::string, target, "localhost:50051", "Server address");
ABSL_FLAG(std::string, prometheus_endpoint, "localhost:9465",
"Prometheus exporter endpoint");
using grpc::Channel;
using grpc::ClientContext;
using grpc::Status;
using helloworld::Greeter;
using helloworld::HelloReply;
using helloworld::HelloRequest;
class GreeterClient {
public:
GreeterClient(std::shared_ptr<Channel> channel)
: stub_(Greeter::NewStub(channel)) {}
// Assembles the client's payload, sends it and presents the response back
// from the server.
std::string SayHello(const std::string& user) {
// Data we are sending to the server.
HelloRequest request;
request.set_name(user);
// Container for the data we expect from the server.
HelloReply reply;
// Context for the client. It could be used to convey extra information to
// the server and/or tweak certain RPC behaviors.
ClientContext context;
// The actual RPC.
std::mutex mu;
std::condition_variable cv;
bool done = false;
Status status;
stub_->async()->SayHello(&context, &request, &reply,
[&mu, &cv, &done, &status](Status s) {
status = std::move(s);
std::lock_guard<std::mutex> lock(mu);
done = true;
cv.notify_one();
});
std::unique_lock<std::mutex> lock(mu);
while (!done) {
cv.wait(lock);
}
// Act upon its status.
if (status.ok()) {
return reply.message();
} else {
std::cout << status.error_code() << ": " << status.error_message()
<< std::endl;
return "RPC failed";
}
}
private:
std::unique_ptr<Greeter::Stub> stub_;
};
int main(int argc, char** argv) {
absl::ParseCommandLine(argc, argv);
// Register a global gRPC OpenTelemetry plugin configured with a prometheus
// exporter.
opentelemetry::exporter::metrics::PrometheusExporterOptions opts;
opts.url = absl::GetFlag(FLAGS_prometheus_endpoint);
auto prometheus_exporter =
opentelemetry::exporter::metrics::PrometheusExporterFactory::Create(opts);
auto meter_provider =
std::make_shared<opentelemetry::sdk::metrics::MeterProvider>();
meter_provider->AddMetricReader(std::move(prometheus_exporter));
auto status = grpc::OpenTelemetryPluginBuilder()
.SetMeterProvider(std::move(meter_provider))
.BuildAndRegisterGlobal();
if (!status.ok()) {
std::cerr << "Failed to register gRPC OpenTelemetry Plugin: "
<< status.ToString() << std::endl;
return static_cast<int>(status.code());
}
// Instantiate the client. It requires a channel, out of which the actual RPCs
// are created. This channel models a connection to an endpoint specified by
// the argument "--target=" which is the only expected argument.
std::string target_str = absl::GetFlag(FLAGS_target);
grpc::ChannelArguments args;
// Continuously send RPCs every second.
while (true) {
GreeterClient greeter(grpc::CreateCustomChannel(
target_str, grpc::InsecureChannelCredentials(), args));
std::string user("world");
std::string reply = greeter.SayHello(user);
std::cout << "Greeter received: " << reply << std::endl;
std::this_thread::sleep_for(std::chrono::seconds(1));
}
return 0;
}

@ -0,0 +1,110 @@
/*
*
* Copyright 2021 gRPC authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
*/
#include <iostream>
#include <memory>
#include <string>
#include "absl/flags/flag.h"
#include "absl/flags/parse.h"
#include "absl/strings/str_format.h"
#include "opentelemetry/exporters/prometheus/exporter_factory.h"
#include "opentelemetry/exporters/prometheus/exporter_options.h"
#include "opentelemetry/sdk/metrics/meter_provider.h"
#include <grpcpp/ext/otel_plugin.h>
#include <grpcpp/ext/proto_server_reflection_plugin.h>
#include <grpcpp/grpcpp.h>
#include <grpcpp/health_check_service_interface.h>
#ifdef BAZEL_BUILD
#include "examples/protos/helloworld.grpc.pb.h"
#else
#include "helloworld.grpc.pb.h"
#endif
ABSL_FLAG(uint16_t, port, 50051, "Server port for the service");
ABSL_FLAG(std::string, prometheus_endpoint, "localhost:9464",
"Prometheus exporter endpoint");
using grpc::CallbackServerContext;
using grpc::Server;
using grpc::ServerBuilder;
using grpc::ServerUnaryReactor;
using grpc::Status;
using helloworld::Greeter;
using helloworld::HelloReply;
using helloworld::HelloRequest;
// Logic and data behind the server's behavior.
class GreeterServiceImpl final : public Greeter::CallbackService {
ServerUnaryReactor* SayHello(CallbackServerContext* context,
const HelloRequest* request,
HelloReply* reply) override {
std::string prefix("Hello ");
reply->set_message(prefix + request->name());
ServerUnaryReactor* reactor = context->DefaultReactor();
reactor->Finish(Status::OK);
return reactor;
}
};
void RunServer(uint16_t port) {
std::string server_address = absl::StrFormat("0.0.0.0:%d", port);
GreeterServiceImpl service;
grpc::EnableDefaultHealthCheckService(true);
grpc::reflection::InitProtoReflectionServerBuilderPlugin();
ServerBuilder builder;
// Listen on the given address without any authentication mechanism.
builder.AddListeningPort(server_address, grpc::InsecureServerCredentials());
// Register "service" as the instance through which we'll communicate with
// clients. In this case it corresponds to an *synchronous* service.
builder.RegisterService(&service);
// Finally assemble the server.
std::unique_ptr<Server> server(builder.BuildAndStart());
std::cout << "Server listening on " << server_address << std::endl;
// Wait for the server to shutdown. Note that some other thread must be
// responsible for shutting down the server for this call to ever return.
server->Wait();
}
int main(int argc, char** argv) {
absl::ParseCommandLine(argc, argv);
// Register a global gRPC OpenTelemetry plugin configured with a prometheus
// exporter.
opentelemetry::exporter::metrics::PrometheusExporterOptions opts;
opts.url = absl::GetFlag(FLAGS_prometheus_endpoint);
auto prometheus_exporter =
opentelemetry::exporter::metrics::PrometheusExporterFactory::Create(opts);
auto meter_provider =
std::make_shared<opentelemetry::sdk::metrics::MeterProvider>();
meter_provider->AddMetricReader(std::move(prometheus_exporter));
auto status = grpc::OpenTelemetryPluginBuilder()
.SetMeterProvider(std::move(meter_provider))
.BuildAndRegisterGlobal();
if (!status.ok()) {
std::cerr << "Failed to register gRPC OpenTelemetry Plugin: "
<< status.ToString() << std::endl;
return static_cast<int>(status.code());
}
RunServer(absl::GetFlag(FLAGS_port));
return 0;
}

100
gRPC-C++.podspec generated

@ -274,26 +274,6 @@ Pod::Spec.new do |s|
'src/core/ext/filters/client_channel/dynamic_filters.h',
'src/core/ext/filters/client_channel/global_subchannel_pool.h',
'src/core/ext/filters/client_channel/http_proxy_mapper.h',
'src/core/ext/filters/client_channel/lb_policy/address_filtering.h',
'src/core/ext/filters/client_channel/lb_policy/backend_metric_data.h',
'src/core/ext/filters/client_channel/lb_policy/child_policy_handler.h',
'src/core/ext/filters/client_channel/lb_policy/endpoint_list.h',
'src/core/ext/filters/client_channel/lb_policy/grpclb/client_load_reporting_filter.h',
'src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.h',
'src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_balancer_addresses.h',
'src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_client_stats.h',
'src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.h',
'src/core/ext/filters/client_channel/lb_policy/health_check_client.h',
'src/core/ext/filters/client_channel/lb_policy/health_check_client_internal.h',
'src/core/ext/filters/client_channel/lb_policy/oob_backend_metric.h',
'src/core/ext/filters/client_channel/lb_policy/oob_backend_metric_internal.h',
'src/core/ext/filters/client_channel/lb_policy/outlier_detection/outlier_detection.h',
'src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.h',
'src/core/ext/filters/client_channel/lb_policy/ring_hash/ring_hash.h',
'src/core/ext/filters/client_channel/lb_policy/subchannel_list.h',
'src/core/ext/filters/client_channel/lb_policy/weighted_round_robin/static_stride_scheduler.h',
'src/core/ext/filters/client_channel/lb_policy/xds/xds_channel_args.h',
'src/core/ext/filters/client_channel/lb_policy/xds/xds_override_host.h',
'src/core/ext/filters/client_channel/local_subchannel_pool.h',
'src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.h',
'src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver.h',
@ -1145,11 +1125,6 @@ Pod::Spec.new do |s|
'src/core/lib/json/json_reader.h',
'src/core/lib/json/json_util.h',
'src/core/lib/json/json_writer.h',
'src/core/lib/load_balancing/delegating_helper.h',
'src/core/lib/load_balancing/lb_policy.h',
'src/core/lib/load_balancing/lb_policy_factory.h',
'src/core/lib/load_balancing/lb_policy_registry.h',
'src/core/lib/load_balancing/subchannel_interface.h',
'src/core/lib/matchers/matchers.h',
'src/core/lib/promise/activity.h',
'src/core/lib/promise/all_ok.h',
@ -1306,6 +1281,31 @@ Pod::Spec.new do |s|
'src/core/lib/transport/transport.h',
'src/core/lib/transport/transport_fwd.h',
'src/core/lib/uri/uri_parser.h',
'src/core/load_balancing/address_filtering.h',
'src/core/load_balancing/backend_metric_data.h',
'src/core/load_balancing/child_policy_handler.h',
'src/core/load_balancing/delegating_helper.h',
'src/core/load_balancing/endpoint_list.h',
'src/core/load_balancing/grpclb/client_load_reporting_filter.h',
'src/core/load_balancing/grpclb/grpclb.h',
'src/core/load_balancing/grpclb/grpclb_balancer_addresses.h',
'src/core/load_balancing/grpclb/grpclb_client_stats.h',
'src/core/load_balancing/grpclb/load_balancer_api.h',
'src/core/load_balancing/health_check_client.h',
'src/core/load_balancing/health_check_client_internal.h',
'src/core/load_balancing/lb_policy.h',
'src/core/load_balancing/lb_policy_factory.h',
'src/core/load_balancing/lb_policy_registry.h',
'src/core/load_balancing/oob_backend_metric.h',
'src/core/load_balancing/oob_backend_metric_internal.h',
'src/core/load_balancing/outlier_detection/outlier_detection.h',
'src/core/load_balancing/pick_first/pick_first.h',
'src/core/load_balancing/ring_hash/ring_hash.h',
'src/core/load_balancing/subchannel_interface.h',
'src/core/load_balancing/subchannel_list.h',
'src/core/load_balancing/weighted_round_robin/static_stride_scheduler.h',
'src/core/load_balancing/xds/xds_channel_args.h',
'src/core/load_balancing/xds/xds_override_host.h',
'src/core/tsi/alts/crypt/gsec.h',
'src/core/tsi/alts/frame_protector/alts_counter.h',
'src/core/tsi/alts/frame_protector/alts_crypter.h',
@ -1549,26 +1549,6 @@ Pod::Spec.new do |s|
'src/core/ext/filters/client_channel/dynamic_filters.h',
'src/core/ext/filters/client_channel/global_subchannel_pool.h',
'src/core/ext/filters/client_channel/http_proxy_mapper.h',
'src/core/ext/filters/client_channel/lb_policy/address_filtering.h',
'src/core/ext/filters/client_channel/lb_policy/backend_metric_data.h',
'src/core/ext/filters/client_channel/lb_policy/child_policy_handler.h',
'src/core/ext/filters/client_channel/lb_policy/endpoint_list.h',
'src/core/ext/filters/client_channel/lb_policy/grpclb/client_load_reporting_filter.h',
'src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.h',
'src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_balancer_addresses.h',
'src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_client_stats.h',
'src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.h',
'src/core/ext/filters/client_channel/lb_policy/health_check_client.h',
'src/core/ext/filters/client_channel/lb_policy/health_check_client_internal.h',
'src/core/ext/filters/client_channel/lb_policy/oob_backend_metric.h',
'src/core/ext/filters/client_channel/lb_policy/oob_backend_metric_internal.h',
'src/core/ext/filters/client_channel/lb_policy/outlier_detection/outlier_detection.h',
'src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.h',
'src/core/ext/filters/client_channel/lb_policy/ring_hash/ring_hash.h',
'src/core/ext/filters/client_channel/lb_policy/subchannel_list.h',
'src/core/ext/filters/client_channel/lb_policy/weighted_round_robin/static_stride_scheduler.h',
'src/core/ext/filters/client_channel/lb_policy/xds/xds_channel_args.h',
'src/core/ext/filters/client_channel/lb_policy/xds/xds_override_host.h',
'src/core/ext/filters/client_channel/local_subchannel_pool.h',
'src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.h',
'src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver.h',
@ -2402,11 +2382,6 @@ Pod::Spec.new do |s|
'src/core/lib/json/json_reader.h',
'src/core/lib/json/json_util.h',
'src/core/lib/json/json_writer.h',
'src/core/lib/load_balancing/delegating_helper.h',
'src/core/lib/load_balancing/lb_policy.h',
'src/core/lib/load_balancing/lb_policy_factory.h',
'src/core/lib/load_balancing/lb_policy_registry.h',
'src/core/lib/load_balancing/subchannel_interface.h',
'src/core/lib/matchers/matchers.h',
'src/core/lib/promise/activity.h',
'src/core/lib/promise/all_ok.h',
@ -2563,6 +2538,31 @@ Pod::Spec.new do |s|
'src/core/lib/transport/transport.h',
'src/core/lib/transport/transport_fwd.h',
'src/core/lib/uri/uri_parser.h',
'src/core/load_balancing/address_filtering.h',
'src/core/load_balancing/backend_metric_data.h',
'src/core/load_balancing/child_policy_handler.h',
'src/core/load_balancing/delegating_helper.h',
'src/core/load_balancing/endpoint_list.h',
'src/core/load_balancing/grpclb/client_load_reporting_filter.h',
'src/core/load_balancing/grpclb/grpclb.h',
'src/core/load_balancing/grpclb/grpclb_balancer_addresses.h',
'src/core/load_balancing/grpclb/grpclb_client_stats.h',
'src/core/load_balancing/grpclb/load_balancer_api.h',
'src/core/load_balancing/health_check_client.h',
'src/core/load_balancing/health_check_client_internal.h',
'src/core/load_balancing/lb_policy.h',
'src/core/load_balancing/lb_policy_factory.h',
'src/core/load_balancing/lb_policy_registry.h',
'src/core/load_balancing/oob_backend_metric.h',
'src/core/load_balancing/oob_backend_metric_internal.h',
'src/core/load_balancing/outlier_detection/outlier_detection.h',
'src/core/load_balancing/pick_first/pick_first.h',
'src/core/load_balancing/ring_hash/ring_hash.h',
'src/core/load_balancing/subchannel_interface.h',
'src/core/load_balancing/subchannel_list.h',
'src/core/load_balancing/weighted_round_robin/static_stride_scheduler.h',
'src/core/load_balancing/xds/xds_channel_args.h',
'src/core/load_balancing/xds/xds_override_host.h',
'src/core/tsi/alts/crypt/gsec.h',
'src/core/tsi/alts/frame_protector/alts_counter.h',
'src/core/tsi/alts/frame_protector/alts_crypter.h',

152
gRPC-Core.podspec generated

@ -262,50 +262,6 @@ Pod::Spec.new do |s|
'src/core/ext/filters/client_channel/global_subchannel_pool.h',
'src/core/ext/filters/client_channel/http_proxy_mapper.cc',
'src/core/ext/filters/client_channel/http_proxy_mapper.h',
'src/core/ext/filters/client_channel/lb_policy/address_filtering.cc',
'src/core/ext/filters/client_channel/lb_policy/address_filtering.h',
'src/core/ext/filters/client_channel/lb_policy/backend_metric_data.h',
'src/core/ext/filters/client_channel/lb_policy/child_policy_handler.cc',
'src/core/ext/filters/client_channel/lb_policy/child_policy_handler.h',
'src/core/ext/filters/client_channel/lb_policy/endpoint_list.cc',
'src/core/ext/filters/client_channel/lb_policy/endpoint_list.h',
'src/core/ext/filters/client_channel/lb_policy/grpclb/client_load_reporting_filter.cc',
'src/core/ext/filters/client_channel/lb_policy/grpclb/client_load_reporting_filter.h',
'src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.cc',
'src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.h',
'src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_balancer_addresses.cc',
'src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_balancer_addresses.h',
'src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_client_stats.cc',
'src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_client_stats.h',
'src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.cc',
'src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.h',
'src/core/ext/filters/client_channel/lb_policy/health_check_client.cc',
'src/core/ext/filters/client_channel/lb_policy/health_check_client.h',
'src/core/ext/filters/client_channel/lb_policy/health_check_client_internal.h',
'src/core/ext/filters/client_channel/lb_policy/oob_backend_metric.cc',
'src/core/ext/filters/client_channel/lb_policy/oob_backend_metric.h',
'src/core/ext/filters/client_channel/lb_policy/oob_backend_metric_internal.h',
'src/core/ext/filters/client_channel/lb_policy/outlier_detection/outlier_detection.cc',
'src/core/ext/filters/client_channel/lb_policy/outlier_detection/outlier_detection.h',
'src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.cc',
'src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.h',
'src/core/ext/filters/client_channel/lb_policy/priority/priority.cc',
'src/core/ext/filters/client_channel/lb_policy/ring_hash/ring_hash.cc',
'src/core/ext/filters/client_channel/lb_policy/ring_hash/ring_hash.h',
'src/core/ext/filters/client_channel/lb_policy/rls/rls.cc',
'src/core/ext/filters/client_channel/lb_policy/round_robin/round_robin.cc',
'src/core/ext/filters/client_channel/lb_policy/subchannel_list.h',
'src/core/ext/filters/client_channel/lb_policy/weighted_round_robin/static_stride_scheduler.cc',
'src/core/ext/filters/client_channel/lb_policy/weighted_round_robin/static_stride_scheduler.h',
'src/core/ext/filters/client_channel/lb_policy/weighted_round_robin/weighted_round_robin.cc',
'src/core/ext/filters/client_channel/lb_policy/weighted_target/weighted_target.cc',
'src/core/ext/filters/client_channel/lb_policy/xds/cds.cc',
'src/core/ext/filters/client_channel/lb_policy/xds/xds_channel_args.h',
'src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_impl.cc',
'src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_manager.cc',
'src/core/ext/filters/client_channel/lb_policy/xds/xds_override_host.cc',
'src/core/ext/filters/client_channel/lb_policy/xds/xds_override_host.h',
'src/core/ext/filters/client_channel/lb_policy/xds/xds_wrr_locality.cc',
'src/core/ext/filters/client_channel/local_subchannel_pool.cc',
'src/core/ext/filters/client_channel/local_subchannel_pool.h',
'src/core/ext/filters/client_channel/resolver/binder/binder_resolver.cc',
@ -1758,13 +1714,6 @@ Pod::Spec.new do |s|
'src/core/lib/json/json_util.h',
'src/core/lib/json/json_writer.cc',
'src/core/lib/json/json_writer.h',
'src/core/lib/load_balancing/delegating_helper.h',
'src/core/lib/load_balancing/lb_policy.cc',
'src/core/lib/load_balancing/lb_policy.h',
'src/core/lib/load_balancing/lb_policy_factory.h',
'src/core/lib/load_balancing/lb_policy_registry.cc',
'src/core/lib/load_balancing/lb_policy_registry.h',
'src/core/lib/load_balancing/subchannel_interface.h',
'src/core/lib/matchers/matchers.cc',
'src/core/lib/matchers/matchers.h',
'src/core/lib/promise/activity.cc',
@ -2053,6 +2002,57 @@ Pod::Spec.new do |s|
'src/core/lib/transport/transport_op_string.cc',
'src/core/lib/uri/uri_parser.cc',
'src/core/lib/uri/uri_parser.h',
'src/core/load_balancing/address_filtering.cc',
'src/core/load_balancing/address_filtering.h',
'src/core/load_balancing/backend_metric_data.h',
'src/core/load_balancing/child_policy_handler.cc',
'src/core/load_balancing/child_policy_handler.h',
'src/core/load_balancing/delegating_helper.h',
'src/core/load_balancing/endpoint_list.cc',
'src/core/load_balancing/endpoint_list.h',
'src/core/load_balancing/grpclb/client_load_reporting_filter.cc',
'src/core/load_balancing/grpclb/client_load_reporting_filter.h',
'src/core/load_balancing/grpclb/grpclb.cc',
'src/core/load_balancing/grpclb/grpclb.h',
'src/core/load_balancing/grpclb/grpclb_balancer_addresses.cc',
'src/core/load_balancing/grpclb/grpclb_balancer_addresses.h',
'src/core/load_balancing/grpclb/grpclb_client_stats.cc',
'src/core/load_balancing/grpclb/grpclb_client_stats.h',
'src/core/load_balancing/grpclb/load_balancer_api.cc',
'src/core/load_balancing/grpclb/load_balancer_api.h',
'src/core/load_balancing/health_check_client.cc',
'src/core/load_balancing/health_check_client.h',
'src/core/load_balancing/health_check_client_internal.h',
'src/core/load_balancing/lb_policy.cc',
'src/core/load_balancing/lb_policy.h',
'src/core/load_balancing/lb_policy_factory.h',
'src/core/load_balancing/lb_policy_registry.cc',
'src/core/load_balancing/lb_policy_registry.h',
'src/core/load_balancing/oob_backend_metric.cc',
'src/core/load_balancing/oob_backend_metric.h',
'src/core/load_balancing/oob_backend_metric_internal.h',
'src/core/load_balancing/outlier_detection/outlier_detection.cc',
'src/core/load_balancing/outlier_detection/outlier_detection.h',
'src/core/load_balancing/pick_first/pick_first.cc',
'src/core/load_balancing/pick_first/pick_first.h',
'src/core/load_balancing/priority/priority.cc',
'src/core/load_balancing/ring_hash/ring_hash.cc',
'src/core/load_balancing/ring_hash/ring_hash.h',
'src/core/load_balancing/rls/rls.cc',
'src/core/load_balancing/round_robin/round_robin.cc',
'src/core/load_balancing/subchannel_interface.h',
'src/core/load_balancing/subchannel_list.h',
'src/core/load_balancing/weighted_round_robin/static_stride_scheduler.cc',
'src/core/load_balancing/weighted_round_robin/static_stride_scheduler.h',
'src/core/load_balancing/weighted_round_robin/weighted_round_robin.cc',
'src/core/load_balancing/weighted_target/weighted_target.cc',
'src/core/load_balancing/xds/cds.cc',
'src/core/load_balancing/xds/xds_channel_args.h',
'src/core/load_balancing/xds/xds_cluster_impl.cc',
'src/core/load_balancing/xds/xds_cluster_manager.cc',
'src/core/load_balancing/xds/xds_override_host.cc',
'src/core/load_balancing/xds/xds_override_host.h',
'src/core/load_balancing/xds/xds_wrr_locality.cc',
'src/core/plugin_registry/grpc_plugin_registry.cc',
'src/core/plugin_registry/grpc_plugin_registry_extra.cc',
'src/core/tsi/alts/crypt/aes_gcm.cc',
@ -2350,26 +2350,6 @@ Pod::Spec.new do |s|
'src/core/ext/filters/client_channel/dynamic_filters.h',
'src/core/ext/filters/client_channel/global_subchannel_pool.h',
'src/core/ext/filters/client_channel/http_proxy_mapper.h',
'src/core/ext/filters/client_channel/lb_policy/address_filtering.h',
'src/core/ext/filters/client_channel/lb_policy/backend_metric_data.h',
'src/core/ext/filters/client_channel/lb_policy/child_policy_handler.h',
'src/core/ext/filters/client_channel/lb_policy/endpoint_list.h',
'src/core/ext/filters/client_channel/lb_policy/grpclb/client_load_reporting_filter.h',
'src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.h',
'src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_balancer_addresses.h',
'src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_client_stats.h',
'src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.h',
'src/core/ext/filters/client_channel/lb_policy/health_check_client.h',
'src/core/ext/filters/client_channel/lb_policy/health_check_client_internal.h',
'src/core/ext/filters/client_channel/lb_policy/oob_backend_metric.h',
'src/core/ext/filters/client_channel/lb_policy/oob_backend_metric_internal.h',
'src/core/ext/filters/client_channel/lb_policy/outlier_detection/outlier_detection.h',
'src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.h',
'src/core/ext/filters/client_channel/lb_policy/ring_hash/ring_hash.h',
'src/core/ext/filters/client_channel/lb_policy/subchannel_list.h',
'src/core/ext/filters/client_channel/lb_policy/weighted_round_robin/static_stride_scheduler.h',
'src/core/ext/filters/client_channel/lb_policy/xds/xds_channel_args.h',
'src/core/ext/filters/client_channel/lb_policy/xds/xds_override_host.h',
'src/core/ext/filters/client_channel/local_subchannel_pool.h',
'src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.h',
'src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver.h',
@ -3182,11 +3162,6 @@ Pod::Spec.new do |s|
'src/core/lib/json/json_reader.h',
'src/core/lib/json/json_util.h',
'src/core/lib/json/json_writer.h',
'src/core/lib/load_balancing/delegating_helper.h',
'src/core/lib/load_balancing/lb_policy.h',
'src/core/lib/load_balancing/lb_policy_factory.h',
'src/core/lib/load_balancing/lb_policy_registry.h',
'src/core/lib/load_balancing/subchannel_interface.h',
'src/core/lib/matchers/matchers.h',
'src/core/lib/promise/activity.h',
'src/core/lib/promise/all_ok.h',
@ -3343,6 +3318,31 @@ Pod::Spec.new do |s|
'src/core/lib/transport/transport.h',
'src/core/lib/transport/transport_fwd.h',
'src/core/lib/uri/uri_parser.h',
'src/core/load_balancing/address_filtering.h',
'src/core/load_balancing/backend_metric_data.h',
'src/core/load_balancing/child_policy_handler.h',
'src/core/load_balancing/delegating_helper.h',
'src/core/load_balancing/endpoint_list.h',
'src/core/load_balancing/grpclb/client_load_reporting_filter.h',
'src/core/load_balancing/grpclb/grpclb.h',
'src/core/load_balancing/grpclb/grpclb_balancer_addresses.h',
'src/core/load_balancing/grpclb/grpclb_client_stats.h',
'src/core/load_balancing/grpclb/load_balancer_api.h',
'src/core/load_balancing/health_check_client.h',
'src/core/load_balancing/health_check_client_internal.h',
'src/core/load_balancing/lb_policy.h',
'src/core/load_balancing/lb_policy_factory.h',
'src/core/load_balancing/lb_policy_registry.h',
'src/core/load_balancing/oob_backend_metric.h',
'src/core/load_balancing/oob_backend_metric_internal.h',
'src/core/load_balancing/outlier_detection/outlier_detection.h',
'src/core/load_balancing/pick_first/pick_first.h',
'src/core/load_balancing/ring_hash/ring_hash.h',
'src/core/load_balancing/subchannel_interface.h',
'src/core/load_balancing/subchannel_list.h',
'src/core/load_balancing/weighted_round_robin/static_stride_scheduler.h',
'src/core/load_balancing/xds/xds_channel_args.h',
'src/core/load_balancing/xds/xds_override_host.h',
'src/core/tsi/alts/crypt/gsec.h',
'src/core/tsi/alts/frame_protector/alts_counter.h',
'src/core/tsi/alts/frame_protector/alts_crypter.h',

102
grpc.gemspec generated

@ -155,50 +155,6 @@ Gem::Specification.new do |s|
s.files += %w( src/core/ext/filters/client_channel/global_subchannel_pool.h )
s.files += %w( src/core/ext/filters/client_channel/http_proxy_mapper.cc )
s.files += %w( src/core/ext/filters/client_channel/http_proxy_mapper.h )
s.files += %w( src/core/ext/filters/client_channel/lb_policy/address_filtering.cc )
s.files += %w( src/core/ext/filters/client_channel/lb_policy/address_filtering.h )
s.files += %w( src/core/ext/filters/client_channel/lb_policy/backend_metric_data.h )
s.files += %w( src/core/ext/filters/client_channel/lb_policy/child_policy_handler.cc )
s.files += %w( src/core/ext/filters/client_channel/lb_policy/child_policy_handler.h )
s.files += %w( src/core/ext/filters/client_channel/lb_policy/endpoint_list.cc )
s.files += %w( src/core/ext/filters/client_channel/lb_policy/endpoint_list.h )
s.files += %w( src/core/ext/filters/client_channel/lb_policy/grpclb/client_load_reporting_filter.cc )
s.files += %w( src/core/ext/filters/client_channel/lb_policy/grpclb/client_load_reporting_filter.h )
s.files += %w( src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.cc )
s.files += %w( src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.h )
s.files += %w( src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_balancer_addresses.cc )
s.files += %w( src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_balancer_addresses.h )
s.files += %w( src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_client_stats.cc )
s.files += %w( src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_client_stats.h )
s.files += %w( src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.cc )
s.files += %w( src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.h )
s.files += %w( src/core/ext/filters/client_channel/lb_policy/health_check_client.cc )
s.files += %w( src/core/ext/filters/client_channel/lb_policy/health_check_client.h )
s.files += %w( src/core/ext/filters/client_channel/lb_policy/health_check_client_internal.h )
s.files += %w( src/core/ext/filters/client_channel/lb_policy/oob_backend_metric.cc )
s.files += %w( src/core/ext/filters/client_channel/lb_policy/oob_backend_metric.h )
s.files += %w( src/core/ext/filters/client_channel/lb_policy/oob_backend_metric_internal.h )
s.files += %w( src/core/ext/filters/client_channel/lb_policy/outlier_detection/outlier_detection.cc )
s.files += %w( src/core/ext/filters/client_channel/lb_policy/outlier_detection/outlier_detection.h )
s.files += %w( src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.cc )
s.files += %w( src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.h )
s.files += %w( src/core/ext/filters/client_channel/lb_policy/priority/priority.cc )
s.files += %w( src/core/ext/filters/client_channel/lb_policy/ring_hash/ring_hash.cc )
s.files += %w( src/core/ext/filters/client_channel/lb_policy/ring_hash/ring_hash.h )
s.files += %w( src/core/ext/filters/client_channel/lb_policy/rls/rls.cc )
s.files += %w( src/core/ext/filters/client_channel/lb_policy/round_robin/round_robin.cc )
s.files += %w( src/core/ext/filters/client_channel/lb_policy/subchannel_list.h )
s.files += %w( src/core/ext/filters/client_channel/lb_policy/weighted_round_robin/static_stride_scheduler.cc )
s.files += %w( src/core/ext/filters/client_channel/lb_policy/weighted_round_robin/static_stride_scheduler.h )
s.files += %w( src/core/ext/filters/client_channel/lb_policy/weighted_round_robin/weighted_round_robin.cc )
s.files += %w( src/core/ext/filters/client_channel/lb_policy/weighted_target/weighted_target.cc )
s.files += %w( src/core/ext/filters/client_channel/lb_policy/xds/cds.cc )
s.files += %w( src/core/ext/filters/client_channel/lb_policy/xds/xds_channel_args.h )
s.files += %w( src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_impl.cc )
s.files += %w( src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_manager.cc )
s.files += %w( src/core/ext/filters/client_channel/lb_policy/xds/xds_override_host.cc )
s.files += %w( src/core/ext/filters/client_channel/lb_policy/xds/xds_override_host.h )
s.files += %w( src/core/ext/filters/client_channel/lb_policy/xds/xds_wrr_locality.cc )
s.files += %w( src/core/ext/filters/client_channel/local_subchannel_pool.cc )
s.files += %w( src/core/ext/filters/client_channel/local_subchannel_pool.h )
s.files += %w( src/core/ext/filters/client_channel/resolver/binder/binder_resolver.cc )
@ -1651,13 +1607,6 @@ Gem::Specification.new do |s|
s.files += %w( src/core/lib/json/json_util.h )
s.files += %w( src/core/lib/json/json_writer.cc )
s.files += %w( src/core/lib/json/json_writer.h )
s.files += %w( src/core/lib/load_balancing/delegating_helper.h )
s.files += %w( src/core/lib/load_balancing/lb_policy.cc )
s.files += %w( src/core/lib/load_balancing/lb_policy.h )
s.files += %w( src/core/lib/load_balancing/lb_policy_factory.h )
s.files += %w( src/core/lib/load_balancing/lb_policy_registry.cc )
s.files += %w( src/core/lib/load_balancing/lb_policy_registry.h )
s.files += %w( src/core/lib/load_balancing/subchannel_interface.h )
s.files += %w( src/core/lib/matchers/matchers.cc )
s.files += %w( src/core/lib/matchers/matchers.h )
s.files += %w( src/core/lib/promise/activity.cc )
@ -1946,6 +1895,57 @@ Gem::Specification.new do |s|
s.files += %w( src/core/lib/transport/transport_op_string.cc )
s.files += %w( src/core/lib/uri/uri_parser.cc )
s.files += %w( src/core/lib/uri/uri_parser.h )
s.files += %w( src/core/load_balancing/address_filtering.cc )
s.files += %w( src/core/load_balancing/address_filtering.h )
s.files += %w( src/core/load_balancing/backend_metric_data.h )
s.files += %w( src/core/load_balancing/child_policy_handler.cc )
s.files += %w( src/core/load_balancing/child_policy_handler.h )
s.files += %w( src/core/load_balancing/delegating_helper.h )
s.files += %w( src/core/load_balancing/endpoint_list.cc )
s.files += %w( src/core/load_balancing/endpoint_list.h )
s.files += %w( src/core/load_balancing/grpclb/client_load_reporting_filter.cc )
s.files += %w( src/core/load_balancing/grpclb/client_load_reporting_filter.h )
s.files += %w( src/core/load_balancing/grpclb/grpclb.cc )
s.files += %w( src/core/load_balancing/grpclb/grpclb.h )
s.files += %w( src/core/load_balancing/grpclb/grpclb_balancer_addresses.cc )
s.files += %w( src/core/load_balancing/grpclb/grpclb_balancer_addresses.h )
s.files += %w( src/core/load_balancing/grpclb/grpclb_client_stats.cc )
s.files += %w( src/core/load_balancing/grpclb/grpclb_client_stats.h )
s.files += %w( src/core/load_balancing/grpclb/load_balancer_api.cc )
s.files += %w( src/core/load_balancing/grpclb/load_balancer_api.h )
s.files += %w( src/core/load_balancing/health_check_client.cc )
s.files += %w( src/core/load_balancing/health_check_client.h )
s.files += %w( src/core/load_balancing/health_check_client_internal.h )
s.files += %w( src/core/load_balancing/lb_policy.cc )
s.files += %w( src/core/load_balancing/lb_policy.h )
s.files += %w( src/core/load_balancing/lb_policy_factory.h )
s.files += %w( src/core/load_balancing/lb_policy_registry.cc )
s.files += %w( src/core/load_balancing/lb_policy_registry.h )
s.files += %w( src/core/load_balancing/oob_backend_metric.cc )
s.files += %w( src/core/load_balancing/oob_backend_metric.h )
s.files += %w( src/core/load_balancing/oob_backend_metric_internal.h )
s.files += %w( src/core/load_balancing/outlier_detection/outlier_detection.cc )
s.files += %w( src/core/load_balancing/outlier_detection/outlier_detection.h )
s.files += %w( src/core/load_balancing/pick_first/pick_first.cc )
s.files += %w( src/core/load_balancing/pick_first/pick_first.h )
s.files += %w( src/core/load_balancing/priority/priority.cc )
s.files += %w( src/core/load_balancing/ring_hash/ring_hash.cc )
s.files += %w( src/core/load_balancing/ring_hash/ring_hash.h )
s.files += %w( src/core/load_balancing/rls/rls.cc )
s.files += %w( src/core/load_balancing/round_robin/round_robin.cc )
s.files += %w( src/core/load_balancing/subchannel_interface.h )
s.files += %w( src/core/load_balancing/subchannel_list.h )
s.files += %w( src/core/load_balancing/weighted_round_robin/static_stride_scheduler.cc )
s.files += %w( src/core/load_balancing/weighted_round_robin/static_stride_scheduler.h )
s.files += %w( src/core/load_balancing/weighted_round_robin/weighted_round_robin.cc )
s.files += %w( src/core/load_balancing/weighted_target/weighted_target.cc )
s.files += %w( src/core/load_balancing/xds/cds.cc )
s.files += %w( src/core/load_balancing/xds/xds_channel_args.h )
s.files += %w( src/core/load_balancing/xds/xds_cluster_impl.cc )
s.files += %w( src/core/load_balancing/xds/xds_cluster_manager.cc )
s.files += %w( src/core/load_balancing/xds/xds_override_host.cc )
s.files += %w( src/core/load_balancing/xds/xds_override_host.h )
s.files += %w( src/core/load_balancing/xds/xds_wrr_locality.cc )
s.files += %w( src/core/plugin_registry/grpc_plugin_registry.cc )
s.files += %w( src/core/plugin_registry/grpc_plugin_registry_extra.cc )
s.files += %w( src/core/tsi/alts/crypt/aes_gcm.cc )

96
grpc.gyp generated

@ -290,30 +290,6 @@
'src/core/ext/filters/client_channel/dynamic_filters.cc',
'src/core/ext/filters/client_channel/global_subchannel_pool.cc',
'src/core/ext/filters/client_channel/http_proxy_mapper.cc',
'src/core/ext/filters/client_channel/lb_policy/address_filtering.cc',
'src/core/ext/filters/client_channel/lb_policy/child_policy_handler.cc',
'src/core/ext/filters/client_channel/lb_policy/endpoint_list.cc',
'src/core/ext/filters/client_channel/lb_policy/grpclb/client_load_reporting_filter.cc',
'src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.cc',
'src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_balancer_addresses.cc',
'src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_client_stats.cc',
'src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.cc',
'src/core/ext/filters/client_channel/lb_policy/health_check_client.cc',
'src/core/ext/filters/client_channel/lb_policy/oob_backend_metric.cc',
'src/core/ext/filters/client_channel/lb_policy/outlier_detection/outlier_detection.cc',
'src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.cc',
'src/core/ext/filters/client_channel/lb_policy/priority/priority.cc',
'src/core/ext/filters/client_channel/lb_policy/ring_hash/ring_hash.cc',
'src/core/ext/filters/client_channel/lb_policy/rls/rls.cc',
'src/core/ext/filters/client_channel/lb_policy/round_robin/round_robin.cc',
'src/core/ext/filters/client_channel/lb_policy/weighted_round_robin/static_stride_scheduler.cc',
'src/core/ext/filters/client_channel/lb_policy/weighted_round_robin/weighted_round_robin.cc',
'src/core/ext/filters/client_channel/lb_policy/weighted_target/weighted_target.cc',
'src/core/ext/filters/client_channel/lb_policy/xds/cds.cc',
'src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_impl.cc',
'src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_manager.cc',
'src/core/ext/filters/client_channel/lb_policy/xds/xds_override_host.cc',
'src/core/ext/filters/client_channel/lb_policy/xds/xds_wrr_locality.cc',
'src/core/ext/filters/client_channel/local_subchannel_pool.cc',
'src/core/ext/filters/client_channel/resolver/binder/binder_resolver.cc',
'src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.cc',
@ -908,8 +884,6 @@
'src/core/lib/json/json_reader.cc',
'src/core/lib/json/json_util.cc',
'src/core/lib/json/json_writer.cc',
'src/core/lib/load_balancing/lb_policy.cc',
'src/core/lib/load_balancing/lb_policy_registry.cc',
'src/core/lib/matchers/matchers.cc',
'src/core/lib/promise/activity.cc',
'src/core/lib/promise/party.cc',
@ -1042,6 +1016,32 @@
'src/core/lib/transport/transport.cc',
'src/core/lib/transport/transport_op_string.cc',
'src/core/lib/uri/uri_parser.cc',
'src/core/load_balancing/address_filtering.cc',
'src/core/load_balancing/child_policy_handler.cc',
'src/core/load_balancing/endpoint_list.cc',
'src/core/load_balancing/grpclb/client_load_reporting_filter.cc',
'src/core/load_balancing/grpclb/grpclb.cc',
'src/core/load_balancing/grpclb/grpclb_balancer_addresses.cc',
'src/core/load_balancing/grpclb/grpclb_client_stats.cc',
'src/core/load_balancing/grpclb/load_balancer_api.cc',
'src/core/load_balancing/health_check_client.cc',
'src/core/load_balancing/lb_policy.cc',
'src/core/load_balancing/lb_policy_registry.cc',
'src/core/load_balancing/oob_backend_metric.cc',
'src/core/load_balancing/outlier_detection/outlier_detection.cc',
'src/core/load_balancing/pick_first/pick_first.cc',
'src/core/load_balancing/priority/priority.cc',
'src/core/load_balancing/ring_hash/ring_hash.cc',
'src/core/load_balancing/rls/rls.cc',
'src/core/load_balancing/round_robin/round_robin.cc',
'src/core/load_balancing/weighted_round_robin/static_stride_scheduler.cc',
'src/core/load_balancing/weighted_round_robin/weighted_round_robin.cc',
'src/core/load_balancing/weighted_target/weighted_target.cc',
'src/core/load_balancing/xds/cds.cc',
'src/core/load_balancing/xds/xds_cluster_impl.cc',
'src/core/load_balancing/xds/xds_cluster_manager.cc',
'src/core/load_balancing/xds/xds_override_host.cc',
'src/core/load_balancing/xds/xds_wrr_locality.cc',
'src/core/plugin_registry/grpc_plugin_registry.cc',
'src/core/plugin_registry/grpc_plugin_registry_extra.cc',
'src/core/tsi/alts/crypt/aes_gcm.cc',
@ -1162,24 +1162,6 @@
'src/core/ext/filters/client_channel/dynamic_filters.cc',
'src/core/ext/filters/client_channel/global_subchannel_pool.cc',
'src/core/ext/filters/client_channel/http_proxy_mapper.cc',
'src/core/ext/filters/client_channel/lb_policy/address_filtering.cc',
'src/core/ext/filters/client_channel/lb_policy/child_policy_handler.cc',
'src/core/ext/filters/client_channel/lb_policy/endpoint_list.cc',
'src/core/ext/filters/client_channel/lb_policy/grpclb/client_load_reporting_filter.cc',
'src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.cc',
'src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_balancer_addresses.cc',
'src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_client_stats.cc',
'src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.cc',
'src/core/ext/filters/client_channel/lb_policy/health_check_client.cc',
'src/core/ext/filters/client_channel/lb_policy/oob_backend_metric.cc',
'src/core/ext/filters/client_channel/lb_policy/outlier_detection/outlier_detection.cc',
'src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.cc',
'src/core/ext/filters/client_channel/lb_policy/priority/priority.cc',
'src/core/ext/filters/client_channel/lb_policy/rls/rls.cc',
'src/core/ext/filters/client_channel/lb_policy/round_robin/round_robin.cc',
'src/core/ext/filters/client_channel/lb_policy/weighted_round_robin/static_stride_scheduler.cc',
'src/core/ext/filters/client_channel/lb_policy/weighted_round_robin/weighted_round_robin.cc',
'src/core/ext/filters/client_channel/lb_policy/weighted_target/weighted_target.cc',
'src/core/ext/filters/client_channel/local_subchannel_pool.cc',
'src/core/ext/filters/client_channel/resolver/binder/binder_resolver.cc',
'src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.cc',
@ -1435,8 +1417,6 @@
'src/core/lib/json/json_object_loader.cc',
'src/core/lib/json/json_reader.cc',
'src/core/lib/json/json_writer.cc',
'src/core/lib/load_balancing/lb_policy.cc',
'src/core/lib/load_balancing/lb_policy_registry.cc',
'src/core/lib/promise/activity.cc',
'src/core/lib/promise/party.cc',
'src/core/lib/promise/sleep.cc',
@ -1534,6 +1514,26 @@
'src/core/lib/transport/transport.cc',
'src/core/lib/transport/transport_op_string.cc',
'src/core/lib/uri/uri_parser.cc',
'src/core/load_balancing/address_filtering.cc',
'src/core/load_balancing/child_policy_handler.cc',
'src/core/load_balancing/endpoint_list.cc',
'src/core/load_balancing/grpclb/client_load_reporting_filter.cc',
'src/core/load_balancing/grpclb/grpclb.cc',
'src/core/load_balancing/grpclb/grpclb_balancer_addresses.cc',
'src/core/load_balancing/grpclb/grpclb_client_stats.cc',
'src/core/load_balancing/grpclb/load_balancer_api.cc',
'src/core/load_balancing/health_check_client.cc',
'src/core/load_balancing/lb_policy.cc',
'src/core/load_balancing/lb_policy_registry.cc',
'src/core/load_balancing/oob_backend_metric.cc',
'src/core/load_balancing/outlier_detection/outlier_detection.cc',
'src/core/load_balancing/pick_first/pick_first.cc',
'src/core/load_balancing/priority/priority.cc',
'src/core/load_balancing/rls/rls.cc',
'src/core/load_balancing/round_robin/round_robin.cc',
'src/core/load_balancing/weighted_round_robin/static_stride_scheduler.cc',
'src/core/load_balancing/weighted_round_robin/weighted_round_robin.cc',
'src/core/load_balancing/weighted_target/weighted_target.cc',
'src/core/plugin_registry/grpc_plugin_registry.cc',
'src/core/plugin_registry/grpc_plugin_registry_noextra.cc',
'src/core/tsi/alts/handshaker/transport_security_common_api.cc',
@ -2207,8 +2207,6 @@
'src/core/lib/iomgr/wakeup_fd_posix.cc',
'src/core/lib/json/json_reader.cc',
'src/core/lib/json/json_writer.cc',
'src/core/lib/load_balancing/lb_policy.cc',
'src/core/lib/load_balancing/lb_policy_registry.cc',
'src/core/lib/matchers/matchers.cc',
'src/core/lib/promise/activity.cc',
'src/core/lib/promise/party.cc',
@ -2304,6 +2302,8 @@
'src/core/lib/transport/transport.cc',
'src/core/lib/transport/transport_op_string.cc',
'src/core/lib/uri/uri_parser.cc',
'src/core/load_balancing/lb_policy.cc',
'src/core/load_balancing/lb_policy_registry.cc',
'src/core/tsi/alts/handshaker/transport_security_common_api.cc',
'src/core/tsi/transport_security.cc',
'src/core/tsi/transport_security_grpc.cc',

102
package.xml generated

@ -137,50 +137,6 @@
<file baseinstalldir="/" name="src/core/ext/filters/client_channel/global_subchannel_pool.h" role="src" />
<file baseinstalldir="/" name="src/core/ext/filters/client_channel/http_proxy_mapper.cc" role="src" />
<file baseinstalldir="/" name="src/core/ext/filters/client_channel/http_proxy_mapper.h" role="src" />
<file baseinstalldir="/" name="src/core/ext/filters/client_channel/lb_policy/address_filtering.cc" role="src" />
<file baseinstalldir="/" name="src/core/ext/filters/client_channel/lb_policy/address_filtering.h" role="src" />
<file baseinstalldir="/" name="src/core/ext/filters/client_channel/lb_policy/backend_metric_data.h" role="src" />
<file baseinstalldir="/" name="src/core/ext/filters/client_channel/lb_policy/child_policy_handler.cc" role="src" />
<file baseinstalldir="/" name="src/core/ext/filters/client_channel/lb_policy/child_policy_handler.h" role="src" />
<file baseinstalldir="/" name="src/core/ext/filters/client_channel/lb_policy/endpoint_list.cc" role="src" />
<file baseinstalldir="/" name="src/core/ext/filters/client_channel/lb_policy/endpoint_list.h" role="src" />
<file baseinstalldir="/" name="src/core/ext/filters/client_channel/lb_policy/grpclb/client_load_reporting_filter.cc" role="src" />
<file baseinstalldir="/" name="src/core/ext/filters/client_channel/lb_policy/grpclb/client_load_reporting_filter.h" role="src" />
<file baseinstalldir="/" name="src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.cc" role="src" />
<file baseinstalldir="/" name="src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.h" role="src" />
<file baseinstalldir="/" name="src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_balancer_addresses.cc" role="src" />
<file baseinstalldir="/" name="src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_balancer_addresses.h" role="src" />
<file baseinstalldir="/" name="src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_client_stats.cc" role="src" />
<file baseinstalldir="/" name="src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_client_stats.h" role="src" />
<file baseinstalldir="/" name="src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.cc" role="src" />
<file baseinstalldir="/" name="src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.h" role="src" />
<file baseinstalldir="/" name="src/core/ext/filters/client_channel/lb_policy/health_check_client.cc" role="src" />
<file baseinstalldir="/" name="src/core/ext/filters/client_channel/lb_policy/health_check_client.h" role="src" />
<file baseinstalldir="/" name="src/core/ext/filters/client_channel/lb_policy/health_check_client_internal.h" role="src" />
<file baseinstalldir="/" name="src/core/ext/filters/client_channel/lb_policy/oob_backend_metric.cc" role="src" />
<file baseinstalldir="/" name="src/core/ext/filters/client_channel/lb_policy/oob_backend_metric.h" role="src" />
<file baseinstalldir="/" name="src/core/ext/filters/client_channel/lb_policy/oob_backend_metric_internal.h" role="src" />
<file baseinstalldir="/" name="src/core/ext/filters/client_channel/lb_policy/outlier_detection/outlier_detection.cc" role="src" />
<file baseinstalldir="/" name="src/core/ext/filters/client_channel/lb_policy/outlier_detection/outlier_detection.h" role="src" />
<file baseinstalldir="/" name="src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.cc" role="src" />
<file baseinstalldir="/" name="src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.h" role="src" />
<file baseinstalldir="/" name="src/core/ext/filters/client_channel/lb_policy/priority/priority.cc" role="src" />
<file baseinstalldir="/" name="src/core/ext/filters/client_channel/lb_policy/ring_hash/ring_hash.cc" role="src" />
<file baseinstalldir="/" name="src/core/ext/filters/client_channel/lb_policy/ring_hash/ring_hash.h" role="src" />
<file baseinstalldir="/" name="src/core/ext/filters/client_channel/lb_policy/rls/rls.cc" role="src" />
<file baseinstalldir="/" name="src/core/ext/filters/client_channel/lb_policy/round_robin/round_robin.cc" role="src" />
<file baseinstalldir="/" name="src/core/ext/filters/client_channel/lb_policy/subchannel_list.h" role="src" />
<file baseinstalldir="/" name="src/core/ext/filters/client_channel/lb_policy/weighted_round_robin/static_stride_scheduler.cc" role="src" />
<file baseinstalldir="/" name="src/core/ext/filters/client_channel/lb_policy/weighted_round_robin/static_stride_scheduler.h" role="src" />
<file baseinstalldir="/" name="src/core/ext/filters/client_channel/lb_policy/weighted_round_robin/weighted_round_robin.cc" role="src" />
<file baseinstalldir="/" name="src/core/ext/filters/client_channel/lb_policy/weighted_target/weighted_target.cc" role="src" />
<file baseinstalldir="/" name="src/core/ext/filters/client_channel/lb_policy/xds/cds.cc" role="src" />
<file baseinstalldir="/" name="src/core/ext/filters/client_channel/lb_policy/xds/xds_channel_args.h" role="src" />
<file baseinstalldir="/" name="src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_impl.cc" role="src" />
<file baseinstalldir="/" name="src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_manager.cc" role="src" />
<file baseinstalldir="/" name="src/core/ext/filters/client_channel/lb_policy/xds/xds_override_host.cc" role="src" />
<file baseinstalldir="/" name="src/core/ext/filters/client_channel/lb_policy/xds/xds_override_host.h" role="src" />
<file baseinstalldir="/" name="src/core/ext/filters/client_channel/lb_policy/xds/xds_wrr_locality.cc" role="src" />
<file baseinstalldir="/" name="src/core/ext/filters/client_channel/local_subchannel_pool.cc" role="src" />
<file baseinstalldir="/" name="src/core/ext/filters/client_channel/local_subchannel_pool.h" role="src" />
<file baseinstalldir="/" name="src/core/ext/filters/client_channel/resolver/binder/binder_resolver.cc" role="src" />
@ -1633,13 +1589,6 @@
<file baseinstalldir="/" name="src/core/lib/json/json_util.h" role="src" />
<file baseinstalldir="/" name="src/core/lib/json/json_writer.cc" role="src" />
<file baseinstalldir="/" name="src/core/lib/json/json_writer.h" role="src" />
<file baseinstalldir="/" name="src/core/lib/load_balancing/delegating_helper.h" role="src" />
<file baseinstalldir="/" name="src/core/lib/load_balancing/lb_policy.cc" role="src" />
<file baseinstalldir="/" name="src/core/lib/load_balancing/lb_policy.h" role="src" />
<file baseinstalldir="/" name="src/core/lib/load_balancing/lb_policy_factory.h" role="src" />
<file baseinstalldir="/" name="src/core/lib/load_balancing/lb_policy_registry.cc" role="src" />
<file baseinstalldir="/" name="src/core/lib/load_balancing/lb_policy_registry.h" role="src" />
<file baseinstalldir="/" name="src/core/lib/load_balancing/subchannel_interface.h" role="src" />
<file baseinstalldir="/" name="src/core/lib/matchers/matchers.cc" role="src" />
<file baseinstalldir="/" name="src/core/lib/matchers/matchers.h" role="src" />
<file baseinstalldir="/" name="src/core/lib/promise/activity.cc" role="src" />
@ -1928,6 +1877,57 @@
<file baseinstalldir="/" name="src/core/lib/transport/transport_op_string.cc" role="src" />
<file baseinstalldir="/" name="src/core/lib/uri/uri_parser.cc" role="src" />
<file baseinstalldir="/" name="src/core/lib/uri/uri_parser.h" role="src" />
<file baseinstalldir="/" name="src/core/load_balancing/address_filtering.cc" role="src" />
<file baseinstalldir="/" name="src/core/load_balancing/address_filtering.h" role="src" />
<file baseinstalldir="/" name="src/core/load_balancing/backend_metric_data.h" role="src" />
<file baseinstalldir="/" name="src/core/load_balancing/child_policy_handler.cc" role="src" />
<file baseinstalldir="/" name="src/core/load_balancing/child_policy_handler.h" role="src" />
<file baseinstalldir="/" name="src/core/load_balancing/delegating_helper.h" role="src" />
<file baseinstalldir="/" name="src/core/load_balancing/endpoint_list.cc" role="src" />
<file baseinstalldir="/" name="src/core/load_balancing/endpoint_list.h" role="src" />
<file baseinstalldir="/" name="src/core/load_balancing/grpclb/client_load_reporting_filter.cc" role="src" />
<file baseinstalldir="/" name="src/core/load_balancing/grpclb/client_load_reporting_filter.h" role="src" />
<file baseinstalldir="/" name="src/core/load_balancing/grpclb/grpclb.cc" role="src" />
<file baseinstalldir="/" name="src/core/load_balancing/grpclb/grpclb.h" role="src" />
<file baseinstalldir="/" name="src/core/load_balancing/grpclb/grpclb_balancer_addresses.cc" role="src" />
<file baseinstalldir="/" name="src/core/load_balancing/grpclb/grpclb_balancer_addresses.h" role="src" />
<file baseinstalldir="/" name="src/core/load_balancing/grpclb/grpclb_client_stats.cc" role="src" />
<file baseinstalldir="/" name="src/core/load_balancing/grpclb/grpclb_client_stats.h" role="src" />
<file baseinstalldir="/" name="src/core/load_balancing/grpclb/load_balancer_api.cc" role="src" />
<file baseinstalldir="/" name="src/core/load_balancing/grpclb/load_balancer_api.h" role="src" />
<file baseinstalldir="/" name="src/core/load_balancing/health_check_client.cc" role="src" />
<file baseinstalldir="/" name="src/core/load_balancing/health_check_client.h" role="src" />
<file baseinstalldir="/" name="src/core/load_balancing/health_check_client_internal.h" role="src" />
<file baseinstalldir="/" name="src/core/load_balancing/lb_policy.cc" role="src" />
<file baseinstalldir="/" name="src/core/load_balancing/lb_policy.h" role="src" />
<file baseinstalldir="/" name="src/core/load_balancing/lb_policy_factory.h" role="src" />
<file baseinstalldir="/" name="src/core/load_balancing/lb_policy_registry.cc" role="src" />
<file baseinstalldir="/" name="src/core/load_balancing/lb_policy_registry.h" role="src" />
<file baseinstalldir="/" name="src/core/load_balancing/oob_backend_metric.cc" role="src" />
<file baseinstalldir="/" name="src/core/load_balancing/oob_backend_metric.h" role="src" />
<file baseinstalldir="/" name="src/core/load_balancing/oob_backend_metric_internal.h" role="src" />
<file baseinstalldir="/" name="src/core/load_balancing/outlier_detection/outlier_detection.cc" role="src" />
<file baseinstalldir="/" name="src/core/load_balancing/outlier_detection/outlier_detection.h" role="src" />
<file baseinstalldir="/" name="src/core/load_balancing/pick_first/pick_first.cc" role="src" />
<file baseinstalldir="/" name="src/core/load_balancing/pick_first/pick_first.h" role="src" />
<file baseinstalldir="/" name="src/core/load_balancing/priority/priority.cc" role="src" />
<file baseinstalldir="/" name="src/core/load_balancing/ring_hash/ring_hash.cc" role="src" />
<file baseinstalldir="/" name="src/core/load_balancing/ring_hash/ring_hash.h" role="src" />
<file baseinstalldir="/" name="src/core/load_balancing/rls/rls.cc" role="src" />
<file baseinstalldir="/" name="src/core/load_balancing/round_robin/round_robin.cc" role="src" />
<file baseinstalldir="/" name="src/core/load_balancing/subchannel_interface.h" role="src" />
<file baseinstalldir="/" name="src/core/load_balancing/subchannel_list.h" role="src" />
<file baseinstalldir="/" name="src/core/load_balancing/weighted_round_robin/static_stride_scheduler.cc" role="src" />
<file baseinstalldir="/" name="src/core/load_balancing/weighted_round_robin/static_stride_scheduler.h" role="src" />
<file baseinstalldir="/" name="src/core/load_balancing/weighted_round_robin/weighted_round_robin.cc" role="src" />
<file baseinstalldir="/" name="src/core/load_balancing/weighted_target/weighted_target.cc" role="src" />
<file baseinstalldir="/" name="src/core/load_balancing/xds/cds.cc" role="src" />
<file baseinstalldir="/" name="src/core/load_balancing/xds/xds_channel_args.h" role="src" />
<file baseinstalldir="/" name="src/core/load_balancing/xds/xds_cluster_impl.cc" role="src" />
<file baseinstalldir="/" name="src/core/load_balancing/xds/xds_cluster_manager.cc" role="src" />
<file baseinstalldir="/" name="src/core/load_balancing/xds/xds_override_host.cc" role="src" />
<file baseinstalldir="/" name="src/core/load_balancing/xds/xds_override_host.h" role="src" />
<file baseinstalldir="/" name="src/core/load_balancing/xds/xds_wrr_locality.cc" role="src" />
<file baseinstalldir="/" name="src/core/plugin_registry/grpc_plugin_registry.cc" role="src" />
<file baseinstalldir="/" name="src/core/plugin_registry/grpc_plugin_registry_extra.cc" role="src" />
<file baseinstalldir="/" name="src/core/tsi/alts/crypt/aes_gcm.cc" role="src" />

@ -1068,7 +1068,10 @@ grpc_cc_library(
hdrs = [
"lib/promise/observable.h",
],
external_deps = ["absl/container:flat_hash_set"],
external_deps = [
"absl/container:flat_hash_set",
"absl/functional:any_invocable",
],
language = "c++",
deps = [
"activity",
@ -2972,8 +2975,8 @@ grpc_cc_library(
grpc_cc_library(
name = "lb_policy",
srcs = ["lib/load_balancing/lb_policy.cc"],
hdrs = ["lib/load_balancing/lb_policy.h"],
srcs = ["load_balancing/lb_policy.cc"],
hdrs = ["load_balancing/lb_policy.h"],
external_deps = [
"absl/base:core_headers",
"absl/status",
@ -3008,7 +3011,7 @@ grpc_cc_library(
grpc_cc_library(
name = "lb_policy_factory",
hdrs = ["lib/load_balancing/lb_policy_factory.h"],
hdrs = ["load_balancing/lb_policy_factory.h"],
external_deps = [
"absl/status:statusor",
"absl/strings",
@ -3024,8 +3027,8 @@ grpc_cc_library(
grpc_cc_library(
name = "lb_policy_registry",
srcs = ["lib/load_balancing/lb_policy_registry.cc"],
hdrs = ["lib/load_balancing/lb_policy_registry.h"],
srcs = ["load_balancing/lb_policy_registry.cc"],
hdrs = ["load_balancing/lb_policy_registry.h"],
external_deps = [
"absl/status",
"absl/status:statusor",
@ -3044,7 +3047,7 @@ grpc_cc_library(
grpc_cc_library(
name = "subchannel_interface",
hdrs = ["lib/load_balancing/subchannel_interface.h"],
hdrs = ["load_balancing/subchannel_interface.h"],
external_deps = ["absl/status"],
deps = [
"dual_ref_counted",
@ -3057,7 +3060,7 @@ grpc_cc_library(
grpc_cc_library(
name = "delegating_helper",
hdrs = ["lib/load_balancing/delegating_helper.h"],
hdrs = ["load_balancing/delegating_helper.h"],
external_deps = [
"absl/status",
"absl/strings",
@ -3327,9 +3330,9 @@ grpc_cc_library(
"lib/security/security_connector/fake/fake_security_connector.cc",
],
hdrs = [
"ext/filters/client_channel/lb_policy/grpclb/grpclb.h",
"lib/security/credentials/fake/fake_credentials.h",
"lib/security/security_connector/fake/fake_security_connector.h",
"load_balancing/grpclb/grpclb.h",
],
external_deps = [
"absl/status",
@ -3507,8 +3510,8 @@ grpc_cc_library(
"lib/security/credentials/google_default/google_default_credentials.cc",
],
hdrs = [
"ext/filters/client_channel/lb_policy/grpclb/grpclb.h",
"lib/security/credentials/google_default/google_default_credentials.h",
"load_balancing/grpclb/grpclb.h",
],
external_deps = [
"absl/status:statusor",
@ -4273,16 +4276,16 @@ grpc_cc_library(
grpc_cc_library(
name = "grpc_lb_policy_grpclb",
srcs = [
"ext/filters/client_channel/lb_policy/grpclb/client_load_reporting_filter.cc",
"ext/filters/client_channel/lb_policy/grpclb/grpclb.cc",
"ext/filters/client_channel/lb_policy/grpclb/grpclb_client_stats.cc",
"ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.cc",
"load_balancing/grpclb/client_load_reporting_filter.cc",
"load_balancing/grpclb/grpclb.cc",
"load_balancing/grpclb/grpclb_client_stats.cc",
"load_balancing/grpclb/load_balancer_api.cc",
],
hdrs = [
"ext/filters/client_channel/lb_policy/grpclb/client_load_reporting_filter.h",
"ext/filters/client_channel/lb_policy/grpclb/grpclb.h",
"ext/filters/client_channel/lb_policy/grpclb/grpclb_client_stats.h",
"ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.h",
"load_balancing/grpclb/client_load_reporting_filter.h",
"load_balancing/grpclb/grpclb.h",
"load_balancing/grpclb/grpclb_client_stats.h",
"load_balancing/grpclb/load_balancer_api.h",
],
external_deps = [
"absl/base:core_headers",
@ -4374,7 +4377,7 @@ grpc_cc_library(
grpc_cc_library(
name = "grpc_backend_metric_data",
hdrs = [
"ext/filters/client_channel/lb_policy/backend_metric_data.h",
"load_balancing/backend_metric_data.h",
],
external_deps = ["absl/strings"],
language = "c++",
@ -4392,7 +4395,7 @@ grpc_cc_library(
grpc_cc_library(
name = "grpc_lb_policy_rls",
srcs = [
"ext/filters/client_channel/lb_policy/rls/rls.cc",
"load_balancing/rls/rls.cc",
],
external_deps = [
"absl/base:core_headers",
@ -4768,7 +4771,7 @@ grpc_cc_library(
grpc_cc_library(
name = "grpc_lb_policy_cds",
srcs = [
"ext/filters/client_channel/lb_policy/xds/cds.cc",
"load_balancing/xds/cds.cc",
],
external_deps = [
"absl/status",
@ -4814,7 +4817,7 @@ grpc_cc_library(
grpc_cc_library(
name = "grpc_lb_xds_channel_args",
hdrs = [
"ext/filters/client_channel/lb_policy/xds/xds_channel_args.h",
"load_balancing/xds/xds_channel_args.h",
],
language = "c++",
deps = [
@ -4826,7 +4829,7 @@ grpc_cc_library(
grpc_cc_library(
name = "grpc_lb_policy_xds_cluster_impl",
srcs = [
"ext/filters/client_channel/lb_policy/xds/xds_cluster_impl.cc",
"load_balancing/xds/xds_cluster_impl.cc",
],
external_deps = [
"absl/base:core_headers",
@ -4872,7 +4875,7 @@ grpc_cc_library(
grpc_cc_library(
name = "grpc_lb_policy_xds_cluster_manager",
srcs = [
"ext/filters/client_channel/lb_policy/xds/xds_cluster_manager.cc",
"load_balancing/xds/xds_cluster_manager.cc",
],
external_deps = [
"absl/status",
@ -4913,7 +4916,7 @@ grpc_cc_library(
grpc_cc_library(
name = "grpc_lb_policy_xds_wrr_locality",
srcs = [
"ext/filters/client_channel/lb_policy/xds/xds_wrr_locality.cc",
"load_balancing/xds/xds_wrr_locality.cc",
],
external_deps = [
"absl/status",
@ -4950,10 +4953,10 @@ grpc_cc_library(
grpc_cc_library(
name = "grpc_lb_address_filtering",
srcs = [
"ext/filters/client_channel/lb_policy/address_filtering.cc",
"load_balancing/address_filtering.cc",
],
hdrs = [
"ext/filters/client_channel/lb_policy/address_filtering.h",
"load_balancing/address_filtering.h",
],
external_deps = [
"absl/functional:function_ref",
@ -4975,11 +4978,11 @@ grpc_cc_library(
grpc_cc_library(
name = "health_check_client",
srcs = [
"ext/filters/client_channel/lb_policy/health_check_client.cc",
"load_balancing/health_check_client.cc",
],
hdrs = [
"ext/filters/client_channel/lb_policy/health_check_client.h",
"ext/filters/client_channel/lb_policy/health_check_client_internal.h",
"load_balancing/health_check_client.h",
"load_balancing/health_check_client_internal.h",
],
external_deps = [
"absl/base:core_headers",
@ -5020,7 +5023,7 @@ grpc_cc_library(
grpc_cc_library(
name = "grpc_lb_subchannel_list",
hdrs = [
"ext/filters/client_channel/lb_policy/subchannel_list.h",
"load_balancing/subchannel_list.h",
],
external_deps = [
"absl/status",
@ -5049,10 +5052,10 @@ grpc_cc_library(
grpc_cc_library(
name = "lb_endpoint_list",
srcs = [
"ext/filters/client_channel/lb_policy/endpoint_list.cc",
"load_balancing/endpoint_list.cc",
],
hdrs = [
"ext/filters/client_channel/lb_policy/endpoint_list.h",
"load_balancing/endpoint_list.h",
],
external_deps = [
"absl/functional:function_ref",
@ -5085,10 +5088,10 @@ grpc_cc_library(
grpc_cc_library(
name = "grpc_lb_policy_pick_first",
srcs = [
"ext/filters/client_channel/lb_policy/pick_first/pick_first.cc",
"load_balancing/pick_first/pick_first.cc",
],
hdrs = [
"ext/filters/client_channel/lb_policy/pick_first/pick_first.h",
"load_balancing/pick_first/pick_first.h",
],
external_deps = [
"absl/algorithm:container",
@ -5200,10 +5203,10 @@ grpc_cc_library(
grpc_cc_library(
name = "grpc_lb_policy_ring_hash",
srcs = [
"ext/filters/client_channel/lb_policy/ring_hash/ring_hash.cc",
"load_balancing/ring_hash/ring_hash.cc",
],
hdrs = [
"ext/filters/client_channel/lb_policy/ring_hash/ring_hash.h",
"load_balancing/ring_hash/ring_hash.h",
],
external_deps = [
"absl/base:core_headers",
@ -5253,7 +5256,7 @@ grpc_cc_library(
grpc_cc_library(
name = "grpc_lb_policy_round_robin",
srcs = [
"ext/filters/client_channel/lb_policy/round_robin/round_robin.cc",
"load_balancing/round_robin/round_robin.cc",
],
external_deps = [
"absl/meta:type_traits",
@ -5290,10 +5293,10 @@ grpc_cc_library(
grpc_cc_library(
name = "static_stride_scheduler",
srcs = [
"ext/filters/client_channel/lb_policy/weighted_round_robin/static_stride_scheduler.cc",
"load_balancing/weighted_round_robin/static_stride_scheduler.cc",
],
hdrs = [
"ext/filters/client_channel/lb_policy/weighted_round_robin/static_stride_scheduler.h",
"load_balancing/weighted_round_robin/static_stride_scheduler.h",
],
external_deps = [
"absl/functional:any_invocable",
@ -5307,7 +5310,7 @@ grpc_cc_library(
grpc_cc_library(
name = "grpc_lb_policy_weighted_round_robin",
srcs = [
"ext/filters/client_channel/lb_policy/weighted_round_robin/weighted_round_robin.cc",
"load_balancing/weighted_round_robin/weighted_round_robin.cc",
],
external_deps = [
"absl/base:core_headers",
@ -5359,7 +5362,7 @@ grpc_cc_library(
grpc_cc_library(
name = "grpc_outlier_detection_header",
hdrs = [
"ext/filters/client_channel/lb_policy/outlier_detection/outlier_detection.h",
"load_balancing/outlier_detection/outlier_detection.h",
],
external_deps = ["absl/types:optional"],
language = "c++",
@ -5376,7 +5379,7 @@ grpc_cc_library(
grpc_cc_library(
name = "grpc_lb_policy_outlier_detection",
srcs = [
"ext/filters/client_channel/lb_policy/outlier_detection/outlier_detection.cc",
"load_balancing/outlier_detection/outlier_detection.cc",
],
external_deps = [
"absl/base:core_headers",
@ -5424,7 +5427,7 @@ grpc_cc_library(
grpc_cc_library(
name = "grpc_lb_policy_priority",
srcs = [
"ext/filters/client_channel/lb_policy/priority/priority.cc",
"load_balancing/priority/priority.cc",
],
external_deps = [
"absl/status",
@ -5466,7 +5469,7 @@ grpc_cc_library(
grpc_cc_library(
name = "grpc_lb_policy_weighted_target",
srcs = [
"ext/filters/client_channel/lb_policy/weighted_target/weighted_target.cc",
"load_balancing/weighted_target/weighted_target.cc",
],
external_deps = [
"absl/base:core_headers",
@ -5509,10 +5512,10 @@ grpc_cc_library(
grpc_cc_library(
name = "grpc_lb_policy_xds_override_host",
srcs = [
"ext/filters/client_channel/lb_policy/xds/xds_override_host.cc",
"load_balancing/xds/xds_override_host.cc",
],
hdrs = [
"ext/filters/client_channel/lb_policy/xds/xds_override_host.h",
"load_balancing/xds/xds_override_host.h",
],
external_deps = [
"absl/base:core_headers",

@ -32,7 +32,6 @@
#include <grpc/impl/channel_arg_names.h>
#include <grpc/support/log.h>
#include "src/core/ext/filters/client_channel/lb_policy/backend_metric_data.h"
#include "src/core/lib/channel/channel_stack.h"
#include "src/core/lib/channel/context.h"
#include "src/core/lib/config/core_configuration.h"
@ -43,6 +42,7 @@
#include "src/core/lib/slice/slice.h"
#include "src/core/lib/surface/channel_stack_type.h"
#include "src/core/lib/transport/metadata_batch.h"
#include "src/core/load_balancing/backend_metric_data.h"
namespace grpc_core {

@ -23,7 +23,7 @@
#include "absl/strings/string_view.h"
#include "src/core/ext/filters/client_channel/lb_policy/backend_metric_data.h"
#include "src/core/load_balancing/backend_metric_data.h"
namespace grpc_core {

@ -57,7 +57,6 @@
#include "src/core/ext/filters/client_channel/config_selector.h"
#include "src/core/ext/filters/client_channel/dynamic_filters.h"
#include "src/core/ext/filters/client_channel/global_subchannel_pool.h"
#include "src/core/ext/filters/client_channel/lb_policy/child_policy_handler.h"
#include "src/core/ext/filters/client_channel/local_subchannel_pool.h"
#include "src/core/ext/filters/client_channel/retry_filter.h"
#include "src/core/ext/filters/client_channel/subchannel.h"
@ -84,8 +83,6 @@
#include "src/core/lib/iomgr/pollset_set.h"
#include "src/core/lib/iomgr/resolved_address.h"
#include "src/core/lib/json/json.h"
#include "src/core/lib/load_balancing/lb_policy_registry.h"
#include "src/core/lib/load_balancing/subchannel_interface.h"
#include "src/core/lib/promise/cancel_callback.h"
#include "src/core/lib/promise/context.h"
#include "src/core/lib/promise/latch.h"
@ -106,6 +103,9 @@
#include "src/core/lib/transport/connectivity_state.h"
#include "src/core/lib/transport/error_utils.h"
#include "src/core/lib/transport/metadata_batch.h"
#include "src/core/load_balancing/child_policy_handler.h"
#include "src/core/load_balancing/lb_policy_registry.h"
#include "src/core/load_balancing/subchannel_interface.h"
//
// Client channel filter

@ -40,7 +40,6 @@
#include "src/core/ext/filters/client_channel/client_channel_factory.h"
#include "src/core/ext/filters/client_channel/config_selector.h"
#include "src/core/ext/filters/client_channel/dynamic_filters.h"
#include "src/core/ext/filters/client_channel/lb_policy/backend_metric_data.h"
#include "src/core/ext/filters/client_channel/subchannel.h"
#include "src/core/ext/filters/client_channel/subchannel_pool_interface.h"
#include "src/core/lib/channel/call_tracer.h"
@ -61,7 +60,6 @@
#include "src/core/lib/iomgr/error.h"
#include "src/core/lib/iomgr/iomgr_fwd.h"
#include "src/core/lib/iomgr/polling_entity.h"
#include "src/core/lib/load_balancing/lb_policy.h"
#include "src/core/lib/promise/activity.h"
#include "src/core/lib/promise/arena_promise.h"
#include "src/core/lib/resolver/resolver.h"
@ -72,6 +70,8 @@
#include "src/core/lib/transport/connectivity_state.h"
#include "src/core/lib/transport/metadata_batch.h"
#include "src/core/lib/transport/transport.h"
#include "src/core/load_balancing/backend_metric_data.h"
#include "src/core/load_balancing/lb_policy.h"
//
// Client channel filter

@ -28,9 +28,9 @@
#include "src/core/lib/channel/call_tracer.h"
#include "src/core/lib/channel/context.h"
#include "src/core/lib/gprpp/unique_type_name.h"
#include "src/core/lib/load_balancing/lb_policy.h"
#include "src/core/lib/resource_quota/arena.h"
#include "src/core/lib/service_config/service_config_call_data.h"
#include "src/core/load_balancing/lb_policy.h"
//
// This file contains internal interfaces used to allow various plugins

@ -27,7 +27,7 @@
#include "absl/strings/str_cat.h"
#include "absl/types/optional.h"
#include "src/core/lib/load_balancing/lb_policy_registry.h"
#include "src/core/load_balancing/lb_policy_registry.h"
// As per the retry design, we do not allow more than 5 retry attempts.
#define MAX_MAX_RETRY_ATTEMPTS 5

@ -35,8 +35,8 @@
#include "src/core/lib/json/json.h"
#include "src/core/lib/json/json_args.h"
#include "src/core/lib/json/json_object_loader.h"
#include "src/core/lib/load_balancing/lb_policy.h"
#include "src/core/lib/service_config/service_config_parser.h"
#include "src/core/load_balancing/lb_policy.h"
namespace grpc_core {
namespace internal {

@ -62,7 +62,6 @@
#include "absl/strings/str_cat.h"
#include "src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_balancer_addresses.h"
#include "src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.h"
#include "src/core/ext/filters/client_channel/resolver/polling_resolver.h"
#include "src/core/lib/backoff/backoff.h"
@ -72,6 +71,7 @@
#include "src/core/lib/resolver/endpoint_addresses.h"
#include "src/core/lib/service_config/service_config_impl.h"
#include "src/core/lib/transport/error_utils.h"
#include "src/core/load_balancing/grpclb/grpclb_balancer_addresses.h"
#define GRPC_DNS_INITIAL_CONNECT_BACKOFF_SECONDS 1
#define GRPC_DNS_RECONNECT_BACKOFF_MULTIPLIER 1.6

@ -38,7 +38,6 @@
#include <grpc/impl/channel_arg_names.h>
#include <grpc/support/log.h>
#include "src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_balancer_addresses.h"
#include "src/core/ext/filters/client_channel/resolver/dns/event_engine/service_config_helper.h"
#include "src/core/ext/filters/client_channel/resolver/polling_resolver.h"
#include "src/core/lib/backoff/backoff.h"
@ -57,6 +56,7 @@
#include "src/core/lib/resolver/resolver_factory.h"
#include "src/core/lib/service_config/service_config.h"
#include "src/core/lib/service_config/service_config_impl.h"
#include "src/core/load_balancing/grpclb/grpclb_balancer_addresses.h"
// IWYU pragma: no_include <ratio>

@ -20,12 +20,12 @@
#include "absl/strings/str_join.h"
#include "src/core/ext/filters/client_channel/lb_policy/xds/xds_channel_args.h"
#include "src/core/ext/filters/client_channel/resolver/fake/fake_resolver.h"
#include "src/core/ext/filters/client_channel/resolver/xds/xds_resolver_trace.h"
#include "src/core/ext/xds/xds_routing.h"
#include "src/core/lib/config/core_configuration.h"
#include "src/core/lib/gprpp/match.h"
#include "src/core/load_balancing/xds/xds_channel_args.h"
namespace grpc_core {

@ -50,7 +50,6 @@
#include "src/core/ext/filters/client_channel/client_channel_internal.h"
#include "src/core/ext/filters/client_channel/config_selector.h"
#include "src/core/ext/filters/client_channel/lb_policy/ring_hash/ring_hash.h"
#include "src/core/ext/filters/client_channel/resolver/xds/xds_dependency_manager.h"
#include "src/core/ext/filters/client_channel/resolver/xds/xds_resolver_attributes.h"
#include "src/core/ext/filters/client_channel/resolver/xds/xds_resolver_trace.h"
@ -93,6 +92,7 @@
#include "src/core/lib/transport/metadata_batch.h"
#include "src/core/lib/transport/transport.h"
#include "src/core/lib/uri/uri_parser.h"
#include "src/core/load_balancing/ring_hash/ring_hash.h"
namespace grpc_core {

@ -21,7 +21,7 @@
#include "src/core/ext/filters/client_channel/subchannel.h"
#include "src/core/lib/gprpp/unique_type_name.h"
#include "src/core/lib/load_balancing/subchannel_interface.h"
#include "src/core/load_balancing/subchannel_interface.h"
namespace grpc_core {

@ -69,8 +69,8 @@
#include "src/core/lib/gprpp/time.h"
#include "src/core/lib/gprpp/validation_errors.h"
#include "src/core/lib/json/json_writer.h"
#include "src/core/lib/load_balancing/lb_policy_registry.h"
#include "src/core/lib/matchers/matchers.h"
#include "src/core/load_balancing/lb_policy_registry.h"
namespace grpc_core {

@ -36,7 +36,6 @@
#include <grpc/support/json.h>
#include "src/core/ext/filters/client_channel/lb_policy/outlier_detection/outlier_detection.h"
#include "src/core/ext/xds/xds_bootstrap.h"
#include "src/core/ext/xds/xds_bootstrap_grpc.h"
#include "src/core/ext/xds/xds_client.h"
@ -45,6 +44,7 @@
#include "src/core/ext/xds/xds_resource_type.h"
#include "src/core/ext/xds/xds_resource_type_impl.h"
#include "src/core/lib/json/json.h"
#include "src/core/load_balancing/outlier_detection/outlier_detection.h"
namespace grpc_core {

@ -40,7 +40,7 @@
#include "src/core/lib/config/core_configuration.h"
#include "src/core/lib/gprpp/time.h"
#include "src/core/lib/gprpp/validation_errors.h"
#include "src/core/lib/load_balancing/lb_policy_registry.h"
#include "src/core/load_balancing/lb_policy_registry.h"
namespace grpc_core {

@ -74,8 +74,8 @@
#include "src/core/lib/gprpp/time.h"
#include "src/core/lib/json/json.h"
#include "src/core/lib/json/json_writer.h"
#include "src/core/lib/load_balancing/lb_policy_registry.h"
#include "src/core/lib/matchers/matchers.h"
#include "src/core/load_balancing/lb_policy_registry.h"
namespace grpc_core {

@ -25,13 +25,13 @@
#include "src/core/lib/channel/channel_args_preconditioning.h"
#include "src/core/lib/handshaker/proxy_mapper_registry.h"
#include "src/core/lib/load_balancing/lb_policy_registry.h"
#include "src/core/lib/resolver/resolver_registry.h"
#include "src/core/lib/security/certificate_provider/certificate_provider_registry.h"
#include "src/core/lib/security/credentials/channel_creds_registry.h"
#include "src/core/lib/service_config/service_config_parser.h"
#include "src/core/lib/surface/channel_init.h"
#include "src/core/lib/transport/handshaker_registry.h"
#include "src/core/load_balancing/lb_policy_registry.h"
namespace grpc_core {

@ -107,9 +107,6 @@ const uint8_t required_experiments_promise_based_inproc_transport[] = {
static_cast<uint8_t>(grpc_core::kExperimentIdPromiseBasedServerCall),
static_cast<uint8_t>(
grpc_core::kExperimentIdRegisteredMethodLookupInTransport)};
const char* const description_registered_methods_map =
"Use absl::flat_hash_map for registered methods.";
const char* const additional_constraints_registered_methods_map = "{}";
const char* const description_rfc_max_concurrent_streams =
"If set, enable rfc-compliant behavior (cancellation) in the advent that "
"max concurrent streams are exceeded in chttp2. See "
@ -238,8 +235,6 @@ const ExperimentMetadata g_experiment_metadata[] = {
description_promise_based_inproc_transport,
additional_constraints_promise_based_inproc_transport,
required_experiments_promise_based_inproc_transport, 3, false, false},
{"registered_methods_map", description_registered_methods_map,
additional_constraints_registered_methods_map, nullptr, 0, false, true},
{"rfc_max_concurrent_streams", description_rfc_max_concurrent_streams,
additional_constraints_rfc_max_concurrent_streams, nullptr, 0, false,
true},
@ -375,9 +370,6 @@ const uint8_t required_experiments_promise_based_inproc_transport[] = {
static_cast<uint8_t>(grpc_core::kExperimentIdPromiseBasedServerCall),
static_cast<uint8_t>(
grpc_core::kExperimentIdRegisteredMethodLookupInTransport)};
const char* const description_registered_methods_map =
"Use absl::flat_hash_map for registered methods.";
const char* const additional_constraints_registered_methods_map = "{}";
const char* const description_rfc_max_concurrent_streams =
"If set, enable rfc-compliant behavior (cancellation) in the advent that "
"max concurrent streams are exceeded in chttp2. See "
@ -506,8 +498,6 @@ const ExperimentMetadata g_experiment_metadata[] = {
description_promise_based_inproc_transport,
additional_constraints_promise_based_inproc_transport,
required_experiments_promise_based_inproc_transport, 3, false, false},
{"registered_methods_map", description_registered_methods_map,
additional_constraints_registered_methods_map, nullptr, 0, false, true},
{"rfc_max_concurrent_streams", description_rfc_max_concurrent_streams,
additional_constraints_rfc_max_concurrent_streams, nullptr, 0, false,
true},
@ -643,9 +633,6 @@ const uint8_t required_experiments_promise_based_inproc_transport[] = {
static_cast<uint8_t>(grpc_core::kExperimentIdPromiseBasedServerCall),
static_cast<uint8_t>(
grpc_core::kExperimentIdRegisteredMethodLookupInTransport)};
const char* const description_registered_methods_map =
"Use absl::flat_hash_map for registered methods.";
const char* const additional_constraints_registered_methods_map = "{}";
const char* const description_rfc_max_concurrent_streams =
"If set, enable rfc-compliant behavior (cancellation) in the advent that "
"max concurrent streams are exceeded in chttp2. See "
@ -774,8 +761,6 @@ const ExperimentMetadata g_experiment_metadata[] = {
description_promise_based_inproc_transport,
additional_constraints_promise_based_inproc_transport,
required_experiments_promise_based_inproc_transport, 3, false, false},
{"registered_methods_map", description_registered_methods_map,
additional_constraints_registered_methods_map, nullptr, 0, false, true},
{"rfc_max_concurrent_streams", description_rfc_max_concurrent_streams,
additional_constraints_rfc_max_concurrent_streams, nullptr, 0, false,
true},

@ -93,7 +93,6 @@ inline bool IsPromiseBasedServerCallEnabled() { return false; }
#define GRPC_EXPERIMENT_IS_INCLUDED_REGISTERED_METHOD_LOOKUP_IN_TRANSPORT
inline bool IsRegisteredMethodLookupInTransportEnabled() { return true; }
inline bool IsPromiseBasedInprocTransportEnabled() { return false; }
inline bool IsRegisteredMethodsMapEnabled() { return false; }
inline bool IsRfcMaxConcurrentStreamsEnabled() { return false; }
#define GRPC_EXPERIMENT_IS_INCLUDED_ROUND_ROBIN_DELEGATE_TO_PICK_FIRST
inline bool IsRoundRobinDelegateToPickFirstEnabled() { return true; }
@ -156,7 +155,6 @@ inline bool IsPromiseBasedServerCallEnabled() { return false; }
#define GRPC_EXPERIMENT_IS_INCLUDED_REGISTERED_METHOD_LOOKUP_IN_TRANSPORT
inline bool IsRegisteredMethodLookupInTransportEnabled() { return true; }
inline bool IsPromiseBasedInprocTransportEnabled() { return false; }
inline bool IsRegisteredMethodsMapEnabled() { return false; }
inline bool IsRfcMaxConcurrentStreamsEnabled() { return false; }
#define GRPC_EXPERIMENT_IS_INCLUDED_ROUND_ROBIN_DELEGATE_TO_PICK_FIRST
inline bool IsRoundRobinDelegateToPickFirstEnabled() { return true; }
@ -220,7 +218,6 @@ inline bool IsPromiseBasedServerCallEnabled() { return false; }
#define GRPC_EXPERIMENT_IS_INCLUDED_REGISTERED_METHOD_LOOKUP_IN_TRANSPORT
inline bool IsRegisteredMethodLookupInTransportEnabled() { return true; }
inline bool IsPromiseBasedInprocTransportEnabled() { return false; }
inline bool IsRegisteredMethodsMapEnabled() { return false; }
inline bool IsRfcMaxConcurrentStreamsEnabled() { return false; }
#define GRPC_EXPERIMENT_IS_INCLUDED_ROUND_ROBIN_DELEGATE_TO_PICK_FIRST
inline bool IsRoundRobinDelegateToPickFirstEnabled() { return true; }
@ -269,7 +266,6 @@ enum ExperimentIds {
kExperimentIdPromiseBasedServerCall,
kExperimentIdRegisteredMethodLookupInTransport,
kExperimentIdPromiseBasedInprocTransport,
kExperimentIdRegisteredMethodsMap,
kExperimentIdRfcMaxConcurrentStreams,
kExperimentIdRoundRobinDelegateToPickFirst,
kExperimentIdRstpit,
@ -374,10 +370,6 @@ inline bool IsRegisteredMethodLookupInTransportEnabled() {
inline bool IsPromiseBasedInprocTransportEnabled() {
return IsExperimentEnabled(kExperimentIdPromiseBasedInprocTransport);
}
#define GRPC_EXPERIMENT_IS_INCLUDED_REGISTERED_METHODS_MAP
inline bool IsRegisteredMethodsMapEnabled() {
return IsExperimentEnabled(kExperimentIdRegisteredMethodsMap);
}
#define GRPC_EXPERIMENT_IS_INCLUDED_RFC_MAX_CONCURRENT_STREAMS
inline bool IsRfcMaxConcurrentStreamsEnabled() {
return IsExperimentEnabled(kExperimentIdRfcMaxConcurrentStreams);

@ -183,12 +183,6 @@
expiry: 2024/03/31
owner: yashkt@google.com
test_tags: ["surface_registered_method_lookup"]
- name: registered_methods_map
description:
Use absl::flat_hash_map for registered methods.
expiry: 2024/01/31
owner: alishananda@google.com
test_tags: []
- name: rfc_max_concurrent_streams
description:
If set, enable rfc-compliant behavior (cancellation) in the advent that

@ -94,8 +94,6 @@
default: false
- name: registered_method_lookup_in_transport
default: true
- name: registered_methods_map
default: false
- name: rfc_max_concurrent_streams
default: false
- name: round_robin_delegate_to_pick_first

@ -18,6 +18,7 @@
#include <grpc/support/port_platform.h>
#include "absl/container/flat_hash_set.h"
#include "absl/functional/any_invocable.h"
#include "src/core/lib/gprpp/sync.h"
#include "src/core/lib/promise/activity.h"
@ -37,7 +38,13 @@ class Observable {
void Set(T value) { state_->Set(std::move(value)); }
// Returns a promise that resolves to a T when the value becomes != current.
auto Next(T current) { return Observer(state_, std::move(current)); }
auto Next(T current) { return ObserverIfChanged(state_, std::move(current)); }
// Same as Next(), except it resolves only once is_acceptable returns
// true for the new value.
auto NextWhen(absl::AnyInvocable<bool(const T&)> is_acceptable) {
return ObserverWhen(state_, std::move(is_acceptable));
}
private:
// Forward declaration so we can form pointers to Observer in State.
@ -92,13 +99,13 @@ class Observable {
T value_ ABSL_GUARDED_BY(mu_);
};
// Observer is a promise that resolves to a T when the value becomes !=
// current.
// A promise that resolves to a T when ShouldReturn() returns true.
// Subclasses must implement ShouldReturn().
class Observer {
public:
Observer(RefCountedPtr<State> state, T current)
: state_(std::move(state)), current_(std::move(current)) {}
~Observer() {
explicit Observer(RefCountedPtr<State> state) : state_(std::move(state)) {}
virtual ~Observer() {
// If we saw a pending at all then we *may* be in the set of observers.
// If not we're definitely not and we can avoid taking the lock at all.
if (!saw_pending_) return;
@ -109,8 +116,7 @@ class Observable {
Observer(const Observer&) = delete;
Observer& operator=(const Observer&) = delete;
Observer(Observer&& other) noexcept
: state_(std::move(other.state_)), current_(std::move(other.current_)) {
Observer(Observer&& other) noexcept : state_(std::move(other.state_)) {
GPR_ASSERT(other.waker_.is_unwakeable());
GPR_ASSERT(!other.saw_pending_);
}
@ -118,10 +124,12 @@ class Observable {
void Wakeup() { waker_.WakeupAsync(); }
virtual bool ShouldReturn(const T& current) = 0;
Poll<T> operator()() {
MutexLock lock(state_->mu());
// Check if the value has changed yet.
if (current_ != state_->current()) {
if (ShouldReturn(state_->current())) {
if (saw_pending_ && !waker_.is_unwakeable()) state_->Remove(this);
return state_->current();
}
@ -133,11 +141,46 @@ class Observable {
private:
RefCountedPtr<State> state_;
T current_;
Waker waker_;
bool saw_pending_ = false;
};
// An observer that resolves to a T when the value becomes != current.
class ObserverIfChanged : public Observer {
public:
ObserverIfChanged(RefCountedPtr<State> state, T current)
: Observer(std::move(state)), current_(std::move(current)) {}
ObserverIfChanged(ObserverIfChanged&& other) noexcept
: Observer(std::move(other)), current_(std::move(other.current_)) {}
bool ShouldReturn(const T& current) override { return current_ != current; }
private:
T current_;
};
// A promise that resolves to a T when is_acceptable returns true for
// the current value.
class ObserverWhen : public Observer {
public:
ObserverWhen(RefCountedPtr<State> state,
absl::AnyInvocable<bool(const T&)> is_acceptable)
: Observer(std::move(state)),
is_acceptable_(std::move(is_acceptable)) {}
ObserverWhen(ObserverWhen&& other) noexcept
: Observer(std::move(other)),
is_acceptable_(std::move(other.is_acceptable_)) {}
bool ShouldReturn(const T& current) override {
return is_acceptable_(current);
}
private:
absl::AnyInvocable<bool(const T&)> is_acceptable_;
};
RefCountedPtr<State> state_;
};

@ -38,8 +38,6 @@
#include <grpc/support/log.h>
#include <grpc/support/sync.h>
#include "src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.h"
#include "src/core/ext/filters/client_channel/lb_policy/xds/xds_channel_args.h"
#include "src/core/lib/channel/channel_args.h"
#include "src/core/lib/debug/trace.h"
#include "src/core/lib/gprpp/env.h"
@ -70,6 +68,8 @@
#include "src/core/lib/surface/api_trace.h"
#include "src/core/lib/transport/error_utils.h"
#include "src/core/lib/uri/uri_parser.h"
#include "src/core/load_balancing/grpclb/grpclb.h"
#include "src/core/load_balancing/xds/xds_channel_args.h"
using grpc_core::Json;

@ -26,7 +26,6 @@
#include <grpc/impl/channel_arg_names.h>
#include <grpc/support/log.h>
#include "src/core/ext/filters/client_channel/lb_policy/xds/xds_channel_args.h"
#include "src/core/ext/xds/xds_certificate_provider.h"
#include "src/core/lib/channel/channel_args.h"
#include "src/core/lib/gpr/useful.h"
@ -34,6 +33,7 @@
#include "src/core/lib/security/credentials/tls/grpc_tls_credentials_options.h"
#include "src/core/lib/security/credentials/tls/tls_credentials.h"
#include "src/core/lib/security/credentials/tls/tls_utils.h"
#include "src/core/load_balancing/xds/xds_channel_args.h"
namespace grpc_core {

@ -38,7 +38,6 @@
#include <grpc/support/log.h>
#include <grpc/support/string_util.h>
#include "src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.h"
#include "src/core/lib/channel/channel_args.h"
#include "src/core/lib/gpr/string.h"
#include "src/core/lib/gpr/useful.h"
@ -58,6 +57,7 @@
#include "src/core/lib/security/credentials/fake/fake_credentials.h"
#include "src/core/lib/security/transport/security_handshaker.h"
#include "src/core/lib/transport/handshaker.h"
#include "src/core/load_balancing/grpclb/grpclb.h"
#include "src/core/tsi/fake_transport_security.h"
#include "src/core/tsi/transport_security_interface.h"

@ -440,6 +440,7 @@ absl::StatusOr<ChannelInit::StackSegment> ChannelInit::CreateStackSegment(
for (size_t j = 0; j < i; j++) {
filters[j].vtable->destroy(p + filters[j].offset);
}
gpr_free_aligned(p);
return r;
}
}

@ -16,7 +16,7 @@
#include <grpc/support/port_platform.h>
#include "src/core/ext/filters/client_channel/lb_policy/address_filtering.h"
#include "src/core/load_balancing/address_filtering.h"
#include <stddef.h>

@ -14,8 +14,8 @@
// limitations under the License.
//
#ifndef GRPC_SRC_CORE_EXT_FILTERS_CLIENT_CHANNEL_LB_POLICY_ADDRESS_FILTERING_H
#define GRPC_SRC_CORE_EXT_FILTERS_CLIENT_CHANNEL_LB_POLICY_ADDRESS_FILTERING_H
#ifndef GRPC_SRC_CORE_LOAD_BALANCING_ADDRESS_FILTERING_H
#define GRPC_SRC_CORE_LOAD_BALANCING_ADDRESS_FILTERING_H
#include <grpc/support/port_platform.h>
@ -115,4 +115,4 @@ absl::StatusOr<HierarchicalAddressMap> MakeHierarchicalAddressMap(
} // namespace grpc_core
#endif // GRPC_SRC_CORE_EXT_FILTERS_CLIENT_CHANNEL_LB_POLICY_ADDRESS_FILTERING_H
#endif // GRPC_SRC_CORE_LOAD_BALANCING_ADDRESS_FILTERING_H

@ -14,8 +14,8 @@
// limitations under the License.
//
#ifndef GRPC_SRC_CORE_EXT_FILTERS_CLIENT_CHANNEL_LB_POLICY_BACKEND_METRIC_DATA_H
#define GRPC_SRC_CORE_EXT_FILTERS_CLIENT_CHANNEL_LB_POLICY_BACKEND_METRIC_DATA_H
#ifndef GRPC_SRC_CORE_LOAD_BALANCING_BACKEND_METRIC_DATA_H
#define GRPC_SRC_CORE_LOAD_BALANCING_BACKEND_METRIC_DATA_H
#include <grpc/support/port_platform.h>
@ -54,4 +54,4 @@ struct BackendMetricData {
} // namespace grpc_core
#endif // GRPC_SRC_CORE_EXT_FILTERS_CLIENT_CHANNEL_LB_POLICY_BACKEND_METRIC_DATA_H
#endif // GRPC_SRC_CORE_LOAD_BALANCING_BACKEND_METRIC_DATA_H

@ -16,7 +16,7 @@
#include <grpc/support/port_platform.h>
#include "src/core/ext/filters/client_channel/lb_policy/child_policy_handler.h"
#include "src/core/load_balancing/child_policy_handler.h"
#include <memory>
#include <string>
@ -33,9 +33,9 @@
#include "src/core/lib/gprpp/debug_location.h"
#include "src/core/lib/iomgr/pollset_set.h"
#include "src/core/lib/iomgr/resolved_address.h"
#include "src/core/lib/load_balancing/delegating_helper.h"
#include "src/core/lib/load_balancing/lb_policy_registry.h"
#include "src/core/lib/load_balancing/subchannel_interface.h"
#include "src/core/load_balancing/delegating_helper.h"
#include "src/core/load_balancing/lb_policy_registry.h"
#include "src/core/load_balancing/subchannel_interface.h"
#include "src/core/lib/transport/connectivity_state.h"
namespace grpc_core {

@ -14,8 +14,8 @@
// limitations under the License.
//
#ifndef GRPC_SRC_CORE_EXT_FILTERS_CLIENT_CHANNEL_LB_POLICY_CHILD_POLICY_HANDLER_H
#define GRPC_SRC_CORE_EXT_FILTERS_CLIENT_CHANNEL_LB_POLICY_CHILD_POLICY_HANDLER_H
#ifndef GRPC_SRC_CORE_LOAD_BALANCING_CHILD_POLICY_HANDLER_H
#define GRPC_SRC_CORE_LOAD_BALANCING_CHILD_POLICY_HANDLER_H
#include <grpc/support/port_platform.h>
#include <utility>
@ -27,7 +27,7 @@
#include "src/core/lib/debug/trace.h"
#include "src/core/lib/gprpp/orphanable.h"
#include "src/core/lib/gprpp/ref_counted_ptr.h"
#include "src/core/lib/load_balancing/lb_policy.h"
#include "src/core/load_balancing/lb_policy.h"
namespace grpc_core {
@ -85,4 +85,4 @@ class ChildPolicyHandler : public LoadBalancingPolicy {
} // namespace grpc_core
#endif // GRPC_SRC_CORE_EXT_FILTERS_CLIENT_CHANNEL_LB_POLICY_CHILD_POLICY_HANDLER_H
#endif // GRPC_SRC_CORE_LOAD_BALANCING_CHILD_POLICY_HANDLER_H

@ -14,8 +14,8 @@
// limitations under the License.
//
#ifndef GRPC_SRC_CORE_LIB_LOAD_BALANCING_DELEGATING_HELPER_H
#define GRPC_SRC_CORE_LIB_LOAD_BALANCING_DELEGATING_HELPER_H
#ifndef GRPC_SRC_CORE_LOAD_BALANCING_DELEGATING_HELPER_H
#define GRPC_SRC_CORE_LOAD_BALANCING_DELEGATING_HELPER_H
#include <grpc/support/port_platform.h>
@ -32,8 +32,8 @@
#include "src/core/lib/gprpp/debug_location.h"
#include "src/core/lib/gprpp/ref_counted_ptr.h"
#include "src/core/lib/iomgr/resolved_address.h"
#include "src/core/lib/load_balancing/lb_policy.h"
#include "src/core/lib/load_balancing/subchannel_interface.h"
#include "src/core/load_balancing/lb_policy.h"
#include "src/core/load_balancing/subchannel_interface.h"
#include "src/core/lib/security/credentials/credentials.h"
namespace grpc_core {
@ -113,4 +113,4 @@ class LoadBalancingPolicy::ParentOwningDelegatingChannelControlHelper
} // namespace grpc_core
#endif // GRPC_SRC_CORE_LIB_LOAD_BALANCING_DELEGATING_HELPER_H
#endif // GRPC_SRC_CORE_LOAD_BALANCING_DELEGATING_HELPER_H

@ -16,7 +16,7 @@
#include <grpc/support/port_platform.h>
#include "src/core/ext/filters/client_channel/lb_policy/endpoint_list.h"
#include "src/core/load_balancing/endpoint_list.h"
#include <stdlib.h>
@ -32,7 +32,7 @@
#include <grpc/support/json.h>
#include <grpc/support/log.h>
#include "src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.h"
#include "src/core/load_balancing/pick_first/pick_first.h"
#include "src/core/lib/channel/channel_args.h"
#include "src/core/lib/config/core_configuration.h"
#include "src/core/lib/gprpp/debug_location.h"
@ -40,9 +40,9 @@
#include "src/core/lib/gprpp/ref_counted_ptr.h"
#include "src/core/lib/iomgr/pollset_set.h"
#include "src/core/lib/json/json.h"
#include "src/core/lib/load_balancing/delegating_helper.h"
#include "src/core/lib/load_balancing/lb_policy.h"
#include "src/core/lib/load_balancing/lb_policy_registry.h"
#include "src/core/load_balancing/delegating_helper.h"
#include "src/core/load_balancing/lb_policy.h"
#include "src/core/load_balancing/lb_policy_registry.h"
#include "src/core/lib/resolver/endpoint_addresses.h"
namespace grpc_core {

@ -14,8 +14,8 @@
// limitations under the License.
//
#ifndef GRPC_SRC_CORE_EXT_FILTERS_CLIENT_CHANNEL_LB_POLICY_ENDPOINT_LIST_H
#define GRPC_SRC_CORE_EXT_FILTERS_CLIENT_CHANNEL_LB_POLICY_ENDPOINT_LIST_H
#ifndef GRPC_SRC_CORE_LOAD_BALANCING_ENDPOINT_LIST_H
#define GRPC_SRC_CORE_LOAD_BALANCING_ENDPOINT_LIST_H
#include <grpc/support/port_platform.h>
@ -37,8 +37,8 @@
#include "src/core/lib/gprpp/ref_counted_ptr.h"
#include "src/core/lib/gprpp/work_serializer.h"
#include "src/core/lib/iomgr/resolved_address.h"
#include "src/core/lib/load_balancing/lb_policy.h"
#include "src/core/lib/load_balancing/subchannel_interface.h"
#include "src/core/load_balancing/lb_policy.h"
#include "src/core/load_balancing/subchannel_interface.h"
#include "src/core/lib/resolver/endpoint_addresses.h"
namespace grpc_core {
@ -217,4 +217,4 @@ class EndpointList : public InternallyRefCounted<EndpointList> {
} // namespace grpc_core
#endif // GRPC_SRC_CORE_EXT_FILTERS_CLIENT_CHANNEL_LB_POLICY_ENDPOINT_LIST_H
#endif // GRPC_SRC_CORE_LOAD_BALANCING_ENDPOINT_LIST_H

@ -18,7 +18,7 @@
#include <grpc/support/port_platform.h>
#include "src/core/ext/filters/client_channel/lb_policy/grpclb/client_load_reporting_filter.h"
#include "src/core/load_balancing/grpclb/client_load_reporting_filter.h"
#include <functional>
#include <memory>
@ -27,7 +27,7 @@
#include "absl/types/optional.h"
#include "src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_client_stats.h"
#include "src/core/load_balancing/grpclb/grpclb_client_stats.h"
#include "src/core/lib/channel/channel_stack.h"
#include "src/core/lib/gprpp/ref_counted_ptr.h"
#include "src/core/lib/promise/context.h"

@ -16,8 +16,8 @@
//
//
#ifndef GRPC_SRC_CORE_EXT_FILTERS_CLIENT_CHANNEL_LB_POLICY_GRPCLB_CLIENT_LOAD_REPORTING_FILTER_H
#define GRPC_SRC_CORE_EXT_FILTERS_CLIENT_CHANNEL_LB_POLICY_GRPCLB_CLIENT_LOAD_REPORTING_FILTER_H
#ifndef GRPC_SRC_CORE_LOAD_BALANCING_GRPCLB_CLIENT_LOAD_REPORTING_FILTER_H
#define GRPC_SRC_CORE_LOAD_BALANCING_GRPCLB_CLIENT_LOAD_REPORTING_FILTER_H
#include <grpc/support/port_platform.h>
@ -43,4 +43,4 @@ class ClientLoadReportingFilter : public ChannelFilter {
};
} // namespace grpc_core
#endif // GRPC_SRC_CORE_EXT_FILTERS_CLIENT_CHANNEL_LB_POLICY_GRPCLB_CLIENT_LOAD_REPORTING_FILTER_H
#endif // GRPC_SRC_CORE_LOAD_BALANCING_GRPCLB_CLIENT_LOAD_REPORTING_FILTER_H

@ -51,7 +51,7 @@
#include <grpc/support/port_platform.h>
#include "src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.h"
#include "src/core/load_balancing/grpclb/grpclb.h"
#include <grpc/event_engine/event_engine.h>
#include <grpc/impl/channel_arg_names.h>
@ -94,11 +94,11 @@
#include <grpc/support/log.h>
#include "src/core/ext/filters/client_channel/client_channel.h"
#include "src/core/ext/filters/client_channel/lb_policy/child_policy_handler.h"
#include "src/core/ext/filters/client_channel/lb_policy/grpclb/client_load_reporting_filter.h"
#include "src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_balancer_addresses.h"
#include "src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_client_stats.h"
#include "src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.h"
#include "src/core/load_balancing/child_policy_handler.h"
#include "src/core/load_balancing/grpclb/client_load_reporting_filter.h"
#include "src/core/load_balancing/grpclb/grpclb_balancer_addresses.h"
#include "src/core/load_balancing/grpclb/grpclb_client_stats.h"
#include "src/core/load_balancing/grpclb/load_balancer_api.h"
#include "src/core/ext/filters/client_channel/resolver/fake/fake_resolver.h"
#include "src/core/lib/address_utils/sockaddr_utils.h"
#include "src/core/lib/backoff/backoff.h"
@ -128,11 +128,11 @@
#include "src/core/lib/json/json.h"
#include "src/core/lib/json/json_args.h"
#include "src/core/lib/json/json_object_loader.h"
#include "src/core/lib/load_balancing/delegating_helper.h"
#include "src/core/lib/load_balancing/lb_policy.h"
#include "src/core/lib/load_balancing/lb_policy_factory.h"
#include "src/core/lib/load_balancing/lb_policy_registry.h"
#include "src/core/lib/load_balancing/subchannel_interface.h"
#include "src/core/load_balancing/delegating_helper.h"
#include "src/core/load_balancing/lb_policy.h"
#include "src/core/load_balancing/lb_policy_factory.h"
#include "src/core/load_balancing/lb_policy_registry.h"
#include "src/core/load_balancing/subchannel_interface.h"
#include "src/core/lib/resolver/endpoint_addresses.h"
#include "src/core/lib/resolver/resolver.h"
#include "src/core/lib/security/credentials/credentials.h"

@ -16,8 +16,8 @@
//
//
#ifndef GRPC_SRC_CORE_EXT_FILTERS_CLIENT_CHANNEL_LB_POLICY_GRPCLB_GRPCLB_H
#define GRPC_SRC_CORE_EXT_FILTERS_CLIENT_CHANNEL_LB_POLICY_GRPCLB_GRPCLB_H
#ifndef GRPC_SRC_CORE_LOAD_BALANCING_GRPCLB_GRPCLB_H
#define GRPC_SRC_CORE_LOAD_BALANCING_GRPCLB_GRPCLB_H
#include <grpc/support/port_platform.h>
@ -36,4 +36,4 @@
#define GRPC_ARG_GRPCLB_SUBCHANNEL_CACHE_INTERVAL_MS \
"grpc.internal.grpclb_subchannel_cache_interval_ms"
#endif // GRPC_SRC_CORE_EXT_FILTERS_CLIENT_CHANNEL_LB_POLICY_GRPCLB_GRPCLB_H
#endif // GRPC_SRC_CORE_LOAD_BALANCING_GRPCLB_GRPCLB_H

@ -16,7 +16,7 @@
#include <grpc/support/port_platform.h>
#include "src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_balancer_addresses.h"
#include "src/core/load_balancing/grpclb/grpclb_balancer_addresses.h"
#include <stddef.h>

@ -14,8 +14,8 @@
// limitations under the License.
//
#ifndef GRPC_SRC_CORE_EXT_FILTERS_CLIENT_CHANNEL_LB_POLICY_GRPCLB_GRPCLB_BALANCER_ADDRESSES_H
#define GRPC_SRC_CORE_EXT_FILTERS_CLIENT_CHANNEL_LB_POLICY_GRPCLB_GRPCLB_BALANCER_ADDRESSES_H
#ifndef GRPC_SRC_CORE_LOAD_BALANCING_GRPCLB_GRPCLB_BALANCER_ADDRESSES_H
#define GRPC_SRC_CORE_LOAD_BALANCING_GRPCLB_GRPCLB_BALANCER_ADDRESSES_H
#include <grpc/support/port_platform.h>
@ -36,4 +36,4 @@ const EndpointAddressesList* FindGrpclbBalancerAddressesInChannelArgs(
} // namespace grpc_core
#endif // GRPC_SRC_CORE_EXT_FILTERS_CLIENT_CHANNEL_LB_POLICY_GRPCLB_GRPCLB_BALANCER_ADDRESSES_H
#endif // GRPC_SRC_CORE_LOAD_BALANCING_GRPCLB_GRPCLB_BALANCER_ADDRESSES_H

@ -18,7 +18,7 @@
#include <grpc/support/port_platform.h>
#include "src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_client_stats.h"
#include "src/core/load_balancing/grpclb/grpclb_client_stats.h"
#include <string.h>

@ -16,8 +16,8 @@
//
//
#ifndef GRPC_SRC_CORE_EXT_FILTERS_CLIENT_CHANNEL_LB_POLICY_GRPCLB_GRPCLB_CLIENT_STATS_H
#define GRPC_SRC_CORE_EXT_FILTERS_CLIENT_CHANNEL_LB_POLICY_GRPCLB_GRPCLB_CLIENT_STATS_H
#ifndef GRPC_SRC_CORE_LOAD_BALANCING_GRPCLB_GRPCLB_CLIENT_STATS_H
#define GRPC_SRC_CORE_LOAD_BALANCING_GRPCLB_GRPCLB_CLIENT_STATS_H
#include <grpc/support/port_platform.h>
@ -78,4 +78,4 @@ class GrpcLbClientStats : public RefCounted<GrpcLbClientStats> {
} // namespace grpc_core
#endif // GRPC_SRC_CORE_EXT_FILTERS_CLIENT_CHANNEL_LB_POLICY_GRPCLB_GRPCLB_CLIENT_STATS_H
#endif // GRPC_SRC_CORE_LOAD_BALANCING_GRPCLB_GRPCLB_CLIENT_STATS_H

@ -18,7 +18,7 @@
#include <grpc/support/port_platform.h>
#include "src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.h"
#include "src/core/load_balancing/grpclb/load_balancer_api.h"
#include <string.h>

@ -16,8 +16,8 @@
//
//
#ifndef GRPC_SRC_CORE_EXT_FILTERS_CLIENT_CHANNEL_LB_POLICY_GRPCLB_LOAD_BALANCER_API_H
#define GRPC_SRC_CORE_EXT_FILTERS_CLIENT_CHANNEL_LB_POLICY_GRPCLB_LOAD_BALANCER_API_H
#ifndef GRPC_SRC_CORE_LOAD_BALANCING_GRPCLB_LOAD_BALANCER_API_H
#define GRPC_SRC_CORE_LOAD_BALANCING_GRPCLB_LOAD_BALANCER_API_H
#include <grpc/support/port_platform.h>
#include <stdint.h>
@ -29,7 +29,7 @@
#include <grpc/slice.h>
#include "src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_client_stats.h"
#include "src/core/load_balancing/grpclb/grpclb_client_stats.h"
#include "src/core/lib/gprpp/time.h"
#define GRPC_GRPCLB_SERVICE_NAME_MAX_LENGTH 128
@ -74,4 +74,4 @@ bool GrpcLbResponseParse(const grpc_slice& serialized_response,
} // namespace grpc_core
#endif // GRPC_SRC_CORE_EXT_FILTERS_CLIENT_CHANNEL_LB_POLICY_GRPCLB_LOAD_BALANCER_API_H
#endif // GRPC_SRC_CORE_LOAD_BALANCING_GRPCLB_LOAD_BALANCER_API_H

@ -42,7 +42,7 @@
#include "src/core/ext/filters/client_channel/client_channel_channelz.h"
#include "src/core/ext/filters/client_channel/client_channel_internal.h"
#include "src/core/ext/filters/client_channel/lb_policy/health_check_client_internal.h"
#include "src/core/load_balancing/health_check_client_internal.h"
#include "src/core/ext/filters/client_channel/subchannel.h"
#include "src/core/ext/filters/client_channel/subchannel_stream_client.h"
#include "src/core/lib/address_utils/sockaddr_utils.h"
@ -59,7 +59,7 @@
#include "src/core/lib/iomgr/exec_ctx.h"
#include "src/core/lib/iomgr/iomgr_fwd.h"
#include "src/core/lib/iomgr/pollset_set.h"
#include "src/core/lib/load_balancing/subchannel_interface.h"
#include "src/core/load_balancing/subchannel_interface.h"
#include "src/core/lib/slice/slice.h"
#include "src/core/lib/transport/connectivity_state.h"
#include "src/proto/grpc/health/v1/health.upb.h"

@ -14,8 +14,8 @@
// limitations under the License.
//
#ifndef GRPC_SRC_CORE_EXT_FILTERS_CLIENT_CHANNEL_LB_POLICY_HEALTH_CHECK_CLIENT_H
#define GRPC_SRC_CORE_EXT_FILTERS_CLIENT_CHANNEL_LB_POLICY_HEALTH_CHECK_CLIENT_H
#ifndef GRPC_SRC_CORE_LOAD_BALANCING_HEALTH_CHECK_CLIENT_H
#define GRPC_SRC_CORE_LOAD_BALANCING_HEALTH_CHECK_CLIENT_H
#include <grpc/support/port_platform.h>
@ -23,7 +23,7 @@
#include "src/core/lib/channel/channel_args.h"
#include "src/core/lib/gprpp/work_serializer.h"
#include "src/core/lib/load_balancing/subchannel_interface.h"
#include "src/core/load_balancing/subchannel_interface.h"
namespace grpc_core {
@ -49,4 +49,4 @@ MakeHealthCheckWatcher(
} // namespace grpc_core
#endif // GRPC_SRC_CORE_EXT_FILTERS_CLIENT_CHANNEL_LB_POLICY_HEALTH_CHECK_CLIENT_H
#endif // GRPC_SRC_CORE_LOAD_BALANCING_HEALTH_CHECK_CLIENT_H

@ -14,8 +14,8 @@
// limitations under the License.
//
#ifndef GRPC_SRC_CORE_EXT_FILTERS_CLIENT_CHANNEL_LB_POLICY_HEALTH_CHECK_CLIENT_INTERNAL_H
#define GRPC_SRC_CORE_EXT_FILTERS_CLIENT_CHANNEL_LB_POLICY_HEALTH_CHECK_CLIENT_INTERNAL_H
#ifndef GRPC_SRC_CORE_LOAD_BALANCING_HEALTH_CHECK_CLIENT_INTERNAL_H
#define GRPC_SRC_CORE_LOAD_BALANCING_HEALTH_CHECK_CLIENT_INTERNAL_H
#include <grpc/support/port_platform.h>
@ -42,7 +42,7 @@
#include "src/core/lib/gprpp/work_serializer.h"
#include "src/core/lib/iomgr/iomgr_fwd.h"
#include "src/core/lib/iomgr/pollset_set.h"
#include "src/core/lib/load_balancing/subchannel_interface.h"
#include "src/core/load_balancing/subchannel_interface.h"
namespace grpc_core {
@ -201,4 +201,4 @@ class HealthWatcher : public InternalSubchannelDataWatcherInterface {
} // namespace grpc_core
#endif // GRPC_SRC_CORE_EXT_FILTERS_CLIENT_CHANNEL_LB_POLICY_HEALTH_CHECK_CLIENT_INTERNAL_H
#endif // GRPC_SRC_CORE_LOAD_BALANCING_HEALTH_CHECK_CLIENT_INTERNAL_H

@ -18,7 +18,7 @@
#include <grpc/support/port_platform.h>
#include "src/core/lib/load_balancing/lb_policy.h"
#include "src/core/load_balancing/lb_policy.h"
#include "src/core/lib/iomgr/closure.h"
#include "src/core/lib/iomgr/error.h"

@ -14,8 +14,8 @@
// limitations under the License.
//
#ifndef GRPC_SRC_CORE_LIB_LOAD_BALANCING_LB_POLICY_H
#define GRPC_SRC_CORE_LIB_LOAD_BALANCING_LB_POLICY_H
#ifndef GRPC_SRC_CORE_LOAD_BALANCING_LB_POLICY_H
#define GRPC_SRC_CORE_LOAD_BALANCING_LB_POLICY_H
#include <grpc/support/port_platform.h>
@ -38,7 +38,7 @@
#include <grpc/grpc.h>
#include <grpc/impl/connectivity_state.h>
#include "src/core/ext/filters/client_channel/lb_policy/backend_metric_data.h"
#include "src/core/load_balancing/backend_metric_data.h"
#include "src/core/lib/channel/channel_args.h"
#include "src/core/lib/debug/trace.h"
#include "src/core/lib/gprpp/debug_location.h"
@ -50,7 +50,7 @@
#include "src/core/lib/gprpp/work_serializer.h"
#include "src/core/lib/iomgr/iomgr_fwd.h"
#include "src/core/lib/iomgr/resolved_address.h"
#include "src/core/lib/load_balancing/subchannel_interface.h"
#include "src/core/load_balancing/subchannel_interface.h"
#include "src/core/lib/resolver/endpoint_addresses.h"
namespace grpc_core {
@ -478,4 +478,4 @@ class LoadBalancingPolicy : public InternallyRefCounted<LoadBalancingPolicy> {
} // namespace grpc_core
#endif // GRPC_SRC_CORE_LIB_LOAD_BALANCING_LB_POLICY_H
#endif // GRPC_SRC_CORE_LOAD_BALANCING_LB_POLICY_H

@ -14,8 +14,8 @@
// limitations under the License.
//
#ifndef GRPC_SRC_CORE_LIB_LOAD_BALANCING_LB_POLICY_FACTORY_H
#define GRPC_SRC_CORE_LIB_LOAD_BALANCING_LB_POLICY_FACTORY_H
#ifndef GRPC_SRC_CORE_LOAD_BALANCING_LB_POLICY_FACTORY_H
#define GRPC_SRC_CORE_LOAD_BALANCING_LB_POLICY_FACTORY_H
#include <grpc/support/port_platform.h>
@ -25,7 +25,7 @@
#include "src/core/lib/gprpp/orphanable.h"
#include "src/core/lib/gprpp/ref_counted_ptr.h"
#include "src/core/lib/json/json.h"
#include "src/core/lib/load_balancing/lb_policy.h"
#include "src/core/load_balancing/lb_policy.h"
namespace grpc_core {
@ -46,4 +46,4 @@ class LoadBalancingPolicyFactory {
} // namespace grpc_core
#endif // GRPC_SRC_CORE_LIB_LOAD_BALANCING_LB_POLICY_FACTORY_H
#endif // GRPC_SRC_CORE_LOAD_BALANCING_LB_POLICY_FACTORY_H

@ -16,7 +16,7 @@
#include <grpc/support/port_platform.h>
#include "src/core/lib/load_balancing/lb_policy_registry.h"
#include "src/core/load_balancing/lb_policy_registry.h"
#include <algorithm>
#include <map>
@ -33,7 +33,7 @@
#include <grpc/support/json.h>
#include <grpc/support/log.h>
#include "src/core/lib/load_balancing/lb_policy.h"
#include "src/core/load_balancing/lb_policy.h"
namespace grpc_core {

@ -14,8 +14,8 @@
// limitations under the License.
//
#ifndef GRPC_SRC_CORE_LIB_LOAD_BALANCING_LB_POLICY_REGISTRY_H
#define GRPC_SRC_CORE_LIB_LOAD_BALANCING_LB_POLICY_REGISTRY_H
#ifndef GRPC_SRC_CORE_LOAD_BALANCING_LB_POLICY_REGISTRY_H
#define GRPC_SRC_CORE_LOAD_BALANCING_LB_POLICY_REGISTRY_H
#include <grpc/support/port_platform.h>
@ -28,8 +28,8 @@
#include "src/core/lib/gprpp/orphanable.h"
#include "src/core/lib/gprpp/ref_counted_ptr.h"
#include "src/core/lib/json/json.h"
#include "src/core/lib/load_balancing/lb_policy.h"
#include "src/core/lib/load_balancing/lb_policy_factory.h"
#include "src/core/load_balancing/lb_policy.h"
#include "src/core/load_balancing/lb_policy_factory.h"
namespace grpc_core {
@ -79,4 +79,4 @@ class LoadBalancingPolicyRegistry {
} // namespace grpc_core
#endif // GRPC_SRC_CORE_LIB_LOAD_BALANCING_LB_POLICY_REGISTRY_H
#endif // GRPC_SRC_CORE_LOAD_BALANCING_LB_POLICY_REGISTRY_H

@ -16,7 +16,7 @@
#include <grpc/support/port_platform.h>
#include "src/core/ext/filters/client_channel/lb_policy/oob_backend_metric.h"
#include "src/core/load_balancing/oob_backend_metric.h"
#include <string.h>
@ -40,7 +40,7 @@
#include "src/core/ext/filters/client_channel/backend_metric.h"
#include "src/core/ext/filters/client_channel/client_channel_channelz.h"
#include "src/core/ext/filters/client_channel/lb_policy/oob_backend_metric_internal.h"
#include "src/core/load_balancing/oob_backend_metric_internal.h"
#include "src/core/ext/filters/client_channel/subchannel.h"
#include "src/core/ext/filters/client_channel/subchannel_stream_client.h"
#include "src/core/lib/channel/channel_trace.h"

@ -14,16 +14,16 @@
// limitations under the License.
//
#ifndef GRPC_SRC_CORE_EXT_FILTERS_CLIENT_CHANNEL_LB_POLICY_OOB_BACKEND_METRIC_H
#define GRPC_SRC_CORE_EXT_FILTERS_CLIENT_CHANNEL_LB_POLICY_OOB_BACKEND_METRIC_H
#ifndef GRPC_SRC_CORE_LOAD_BALANCING_OOB_BACKEND_METRIC_H
#define GRPC_SRC_CORE_LOAD_BALANCING_OOB_BACKEND_METRIC_H
#include <grpc/support/port_platform.h>
#include <memory>
#include "src/core/ext/filters/client_channel/lb_policy/backend_metric_data.h"
#include "src/core/load_balancing/backend_metric_data.h"
#include "src/core/lib/gprpp/time.h"
#include "src/core/lib/load_balancing/subchannel_interface.h"
#include "src/core/load_balancing/subchannel_interface.h"
namespace grpc_core {
@ -54,4 +54,4 @@ MakeOobBackendMetricWatcher(Duration report_interval,
} // namespace grpc_core
#endif // GRPC_SRC_CORE_EXT_FILTERS_CLIENT_CHANNEL_LB_POLICY_OOB_BACKEND_METRIC_H
#endif // GRPC_SRC_CORE_LOAD_BALANCING_OOB_BACKEND_METRIC_H

@ -14,8 +14,8 @@
// limitations under the License.
//
#ifndef GRPC_SRC_CORE_EXT_FILTERS_CLIENT_CHANNEL_LB_POLICY_OOB_BACKEND_METRIC_INTERNAL_H
#define GRPC_SRC_CORE_EXT_FILTERS_CLIENT_CHANNEL_LB_POLICY_OOB_BACKEND_METRIC_INTERNAL_H
#ifndef GRPC_SRC_CORE_LOAD_BALANCING_OOB_BACKEND_METRIC_INTERNAL_H
#define GRPC_SRC_CORE_LOAD_BALANCING_OOB_BACKEND_METRIC_INTERNAL_H
#include <grpc/support/port_platform.h>
@ -28,8 +28,8 @@
#include <grpc/impl/connectivity_state.h>
#include "src/core/ext/filters/client_channel/lb_policy/backend_metric_data.h"
#include "src/core/ext/filters/client_channel/lb_policy/oob_backend_metric.h"
#include "src/core/load_balancing/backend_metric_data.h"
#include "src/core/load_balancing/oob_backend_metric.h"
#include "src/core/ext/filters/client_channel/subchannel.h"
#include "src/core/ext/filters/client_channel/subchannel_interface_internal.h"
#include "src/core/ext/filters/client_channel/subchannel_stream_client.h"
@ -116,4 +116,4 @@ class OrcaWatcher : public InternalSubchannelDataWatcherInterface {
} // namespace grpc_core
#endif // GRPC_SRC_CORE_EXT_FILTERS_CLIENT_CHANNEL_LB_POLICY_OOB_BACKEND_METRIC_INTERNAL_H
#endif // GRPC_SRC_CORE_LOAD_BALANCING_OOB_BACKEND_METRIC_INTERNAL_H

@ -16,7 +16,7 @@
#include <grpc/support/port_platform.h>
#include "src/core/ext/filters/client_channel/lb_policy/outlier_detection/outlier_detection.h"
#include "src/core/load_balancing/outlier_detection/outlier_detection.h"
#include <inttypes.h>
#include <stddef.h>
@ -44,8 +44,8 @@
#include <grpc/impl/connectivity_state.h>
#include <grpc/support/log.h>
#include "src/core/ext/filters/client_channel/lb_policy/child_policy_handler.h"
#include "src/core/ext/filters/client_channel/lb_policy/health_check_client_internal.h"
#include "src/core/load_balancing/child_policy_handler.h"
#include "src/core/load_balancing/health_check_client_internal.h"
#include "src/core/ext/filters/client_channel/subchannel_interface_internal.h"
#include "src/core/lib/address_utils/sockaddr_utils.h"
#include "src/core/lib/channel/channel_args.h"
@ -65,11 +65,11 @@
#include "src/core/lib/iomgr/pollset_set.h"
#include "src/core/lib/iomgr/resolved_address.h"
#include "src/core/lib/json/json.h"
#include "src/core/lib/load_balancing/delegating_helper.h"
#include "src/core/lib/load_balancing/lb_policy.h"
#include "src/core/lib/load_balancing/lb_policy_factory.h"
#include "src/core/lib/load_balancing/lb_policy_registry.h"
#include "src/core/lib/load_balancing/subchannel_interface.h"
#include "src/core/load_balancing/delegating_helper.h"
#include "src/core/load_balancing/lb_policy.h"
#include "src/core/load_balancing/lb_policy_factory.h"
#include "src/core/load_balancing/lb_policy_registry.h"
#include "src/core/load_balancing/subchannel_interface.h"
#include "src/core/lib/resolver/endpoint_addresses.h"
#include "src/core/lib/transport/connectivity_state.h"

@ -14,8 +14,8 @@
// limitations under the License.
//
#ifndef GRPC_SRC_CORE_EXT_FILTERS_CLIENT_CHANNEL_LB_POLICY_OUTLIER_DETECTION_OUTLIER_DETECTION_H
#define GRPC_SRC_CORE_EXT_FILTERS_CLIENT_CHANNEL_LB_POLICY_OUTLIER_DETECTION_OUTLIER_DETECTION_H
#ifndef GRPC_SRC_CORE_LOAD_BALANCING_OUTLIER_DETECTION_OUTLIER_DETECTION_H
#define GRPC_SRC_CORE_LOAD_BALANCING_OUTLIER_DETECTION_OUTLIER_DETECTION_H
#include <grpc/support/port_platform.h>
@ -91,4 +91,4 @@ struct OutlierDetectionConfig {
} // namespace grpc_core
#endif // GRPC_SRC_CORE_EXT_FILTERS_CLIENT_CHANNEL_LB_POLICY_OUTLIER_DETECTION_OUTLIER_DETECTION_H
#endif // GRPC_SRC_CORE_LOAD_BALANCING_OUTLIER_DETECTION_OUTLIER_DETECTION_H

@ -16,7 +16,7 @@
#include <grpc/support/port_platform.h>
#include "src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.h"
#include "src/core/load_balancing/pick_first/pick_first.h"
#include <inttypes.h>
#include <string.h>
@ -41,7 +41,7 @@
#include <grpc/impl/connectivity_state.h>
#include <grpc/support/log.h>
#include "src/core/ext/filters/client_channel/lb_policy/health_check_client.h"
#include "src/core/load_balancing/health_check_client.h"
#include "src/core/lib/address_utils/sockaddr_utils.h"
#include "src/core/lib/channel/channel_args.h"
#include "src/core/lib/config/core_configuration.h"
@ -60,9 +60,9 @@
#include "src/core/lib/json/json.h"
#include "src/core/lib/json/json_args.h"
#include "src/core/lib/json/json_object_loader.h"
#include "src/core/lib/load_balancing/lb_policy.h"
#include "src/core/lib/load_balancing/lb_policy_factory.h"
#include "src/core/lib/load_balancing/subchannel_interface.h"
#include "src/core/load_balancing/lb_policy.h"
#include "src/core/load_balancing/lb_policy_factory.h"
#include "src/core/load_balancing/subchannel_interface.h"
#include "src/core/lib/resolver/endpoint_addresses.h"
#include "src/core/lib/transport/connectivity_state.h"

@ -14,8 +14,8 @@
// limitations under the License.
//
#ifndef GRPC_SRC_CORE_EXT_FILTERS_CLIENT_CHANNEL_LB_POLICY_PICK_FIRST_PICK_FIRST_H
#define GRPC_SRC_CORE_EXT_FILTERS_CLIENT_CHANNEL_LB_POLICY_PICK_FIRST_PICK_FIRST_H
#ifndef GRPC_SRC_CORE_LOAD_BALANCING_PICK_FIRST_PICK_FIRST_H
#define GRPC_SRC_CORE_LOAD_BALANCING_PICK_FIRST_PICK_FIRST_H
#include <grpc/support/port_platform.h>
@ -33,4 +33,4 @@
#define GRPC_ARG_INTERNAL_PICK_FIRST_OMIT_STATUS_MESSAGE_PREFIX \
GRPC_ARG_NO_SUBCHANNEL_PREFIX "pick_first_omit_status_message_prefix"
#endif // GRPC_SRC_CORE_EXT_FILTERS_CLIENT_CHANNEL_LB_POLICY_PICK_FIRST_PICK_FIRST_H
#endif // GRPC_SRC_CORE_LOAD_BALANCING_PICK_FIRST_PICK_FIRST_H

@ -39,8 +39,8 @@
#include <grpc/impl/connectivity_state.h>
#include <grpc/support/log.h>
#include "src/core/ext/filters/client_channel/lb_policy/address_filtering.h"
#include "src/core/ext/filters/client_channel/lb_policy/child_policy_handler.h"
#include "src/core/load_balancing/address_filtering.h"
#include "src/core/load_balancing/child_policy_handler.h"
#include "src/core/lib/channel/channel_args.h"
#include "src/core/lib/config/core_configuration.h"
#include "src/core/lib/debug/trace.h"
@ -56,10 +56,10 @@
#include "src/core/lib/json/json.h"
#include "src/core/lib/json/json_args.h"
#include "src/core/lib/json/json_object_loader.h"
#include "src/core/lib/load_balancing/delegating_helper.h"
#include "src/core/lib/load_balancing/lb_policy.h"
#include "src/core/lib/load_balancing/lb_policy_factory.h"
#include "src/core/lib/load_balancing/lb_policy_registry.h"
#include "src/core/load_balancing/delegating_helper.h"
#include "src/core/load_balancing/lb_policy.h"
#include "src/core/load_balancing/lb_policy_factory.h"
#include "src/core/load_balancing/lb_policy_registry.h"
#include "src/core/lib/resolver/endpoint_addresses.h"
#include "src/core/lib/transport/connectivity_state.h"

@ -16,7 +16,7 @@
#include <grpc/support/port_platform.h>
#include "src/core/ext/filters/client_channel/lb_policy/ring_hash/ring_hash.h"
#include "src/core/load_balancing/ring_hash/ring_hash.h"
#include <inttypes.h>
#include <stdlib.h>
@ -43,7 +43,7 @@
#include <grpc/support/log.h>
#include "src/core/ext/filters/client_channel/client_channel_internal.h"
#include "src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.h"
#include "src/core/load_balancing/pick_first/pick_first.h"
#include "src/core/lib/address_utils/sockaddr_utils.h"
#include "src/core/lib/channel/channel_args.h"
#include "src/core/lib/config/core_configuration.h"
@ -62,10 +62,10 @@
#include "src/core/lib/iomgr/pollset_set.h"
#include "src/core/lib/iomgr/resolved_address.h"
#include "src/core/lib/json/json.h"
#include "src/core/lib/load_balancing/delegating_helper.h"
#include "src/core/lib/load_balancing/lb_policy.h"
#include "src/core/lib/load_balancing/lb_policy_factory.h"
#include "src/core/lib/load_balancing/lb_policy_registry.h"
#include "src/core/load_balancing/delegating_helper.h"
#include "src/core/load_balancing/lb_policy.h"
#include "src/core/load_balancing/lb_policy_factory.h"
#include "src/core/load_balancing/lb_policy_registry.h"
#include "src/core/lib/resolver/endpoint_addresses.h"
#include "src/core/lib/transport/connectivity_state.h"

@ -14,8 +14,8 @@
// limitations under the License.
//
#ifndef GRPC_SRC_CORE_EXT_FILTERS_CLIENT_CHANNEL_LB_POLICY_RING_HASH_RING_HASH_H
#define GRPC_SRC_CORE_EXT_FILTERS_CLIENT_CHANNEL_LB_POLICY_RING_HASH_RING_HASH_H
#ifndef GRPC_SRC_CORE_LOAD_BALANCING_RING_HASH_RING_HASH_H
#define GRPC_SRC_CORE_LOAD_BALANCING_RING_HASH_RING_HASH_H
#include <grpc/support/port_platform.h>
@ -59,4 +59,4 @@ struct RingHashConfig {
} // namespace grpc_core
#endif // GRPC_SRC_CORE_EXT_FILTERS_CLIENT_CHANNEL_LB_POLICY_RING_HASH_RING_HASH_H
#endif // GRPC_SRC_CORE_LOAD_BALANCING_RING_HASH_RING_HASH_H

@ -64,7 +64,7 @@
#include <grpc/support/log.h>
#include "src/core/ext/filters/client_channel/client_channel.h"
#include "src/core/ext/filters/client_channel/lb_policy/child_policy_handler.h"
#include "src/core/load_balancing/child_policy_handler.h"
#include "src/core/lib/backoff/backoff.h"
#include "src/core/lib/channel/channel_args.h"
#include "src/core/lib/channel/channelz.h"
@ -87,10 +87,10 @@
#include "src/core/lib/json/json_args.h"
#include "src/core/lib/json/json_object_loader.h"
#include "src/core/lib/json/json_writer.h"
#include "src/core/lib/load_balancing/delegating_helper.h"
#include "src/core/lib/load_balancing/lb_policy.h"
#include "src/core/lib/load_balancing/lb_policy_factory.h"
#include "src/core/lib/load_balancing/lb_policy_registry.h"
#include "src/core/load_balancing/delegating_helper.h"
#include "src/core/load_balancing/lb_policy.h"
#include "src/core/load_balancing/lb_policy_factory.h"
#include "src/core/load_balancing/lb_policy_registry.h"
#include "src/core/lib/resolver/endpoint_addresses.h"
#include "src/core/lib/resolver/resolver_registry.h"
#include "src/core/lib/security/credentials/fake/fake_credentials.h"

@ -37,8 +37,8 @@
#include <grpc/impl/connectivity_state.h>
#include <grpc/support/log.h>
#include "src/core/ext/filters/client_channel/lb_policy/endpoint_list.h"
#include "src/core/ext/filters/client_channel/lb_policy/subchannel_list.h"
#include "src/core/load_balancing/endpoint_list.h"
#include "src/core/load_balancing/subchannel_list.h"
#include "src/core/lib/channel/channel_args.h"
#include "src/core/lib/config/core_configuration.h"
#include "src/core/lib/debug/trace.h"
@ -48,9 +48,9 @@
#include "src/core/lib/gprpp/ref_counted_ptr.h"
#include "src/core/lib/gprpp/work_serializer.h"
#include "src/core/lib/json/json.h"
#include "src/core/lib/load_balancing/lb_policy.h"
#include "src/core/lib/load_balancing/lb_policy_factory.h"
#include "src/core/lib/load_balancing/subchannel_interface.h"
#include "src/core/load_balancing/lb_policy.h"
#include "src/core/load_balancing/lb_policy_factory.h"
#include "src/core/load_balancing/subchannel_interface.h"
#include "src/core/lib/resolver/endpoint_addresses.h"
#include "src/core/lib/resolver/server_address.h"
#include "src/core/lib/transport/connectivity_state.h"

@ -14,8 +14,8 @@
// limitations under the License.
//
#ifndef GRPC_SRC_CORE_LIB_LOAD_BALANCING_SUBCHANNEL_INTERFACE_H
#define GRPC_SRC_CORE_LIB_LOAD_BALANCING_SUBCHANNEL_INTERFACE_H
#ifndef GRPC_SRC_CORE_LOAD_BALANCING_SUBCHANNEL_INTERFACE_H
#define GRPC_SRC_CORE_LOAD_BALANCING_SUBCHANNEL_INTERFACE_H
#include <grpc/support/port_platform.h>
@ -138,4 +138,4 @@ class DelegatingSubchannel : public SubchannelInterface {
} // namespace grpc_core
#endif // GRPC_SRC_CORE_LIB_LOAD_BALANCING_SUBCHANNEL_INTERFACE_H
#endif // GRPC_SRC_CORE_LOAD_BALANCING_SUBCHANNEL_INTERFACE_H

@ -14,8 +14,8 @@
// limitations under the License.
//
#ifndef GRPC_SRC_CORE_EXT_FILTERS_CLIENT_CHANNEL_LB_POLICY_SUBCHANNEL_LIST_H
#define GRPC_SRC_CORE_EXT_FILTERS_CLIENT_CHANNEL_LB_POLICY_SUBCHANNEL_LIST_H
#ifndef GRPC_SRC_CORE_LOAD_BALANCING_SUBCHANNEL_LIST_H
#define GRPC_SRC_CORE_LOAD_BALANCING_SUBCHANNEL_LIST_H
#include <grpc/support/port_platform.h>
@ -32,7 +32,7 @@
#include <grpc/impl/connectivity_state.h>
#include <grpc/support/log.h>
#include "src/core/ext/filters/client_channel/lb_policy/health_check_client.h"
#include "src/core/load_balancing/health_check_client.h"
#include "src/core/lib/channel/channel_args.h"
#include "src/core/lib/gprpp/debug_location.h"
#include "src/core/lib/gprpp/dual_ref_counted.h"
@ -40,8 +40,8 @@
#include "src/core/lib/gprpp/ref_counted_ptr.h"
#include "src/core/lib/gprpp/work_serializer.h"
#include "src/core/lib/iomgr/iomgr_fwd.h"
#include "src/core/lib/load_balancing/lb_policy.h"
#include "src/core/lib/load_balancing/subchannel_interface.h"
#include "src/core/load_balancing/lb_policy.h"
#include "src/core/load_balancing/subchannel_interface.h"
#include "src/core/lib/resolver/endpoint_addresses.h"
#include "src/core/lib/resolver/server_address.h"
#include "src/core/lib/transport/connectivity_state.h"
@ -452,4 +452,4 @@ bool SubchannelList<SubchannelListType,
} // namespace grpc_core
#endif // GRPC_SRC_CORE_EXT_FILTERS_CLIENT_CHANNEL_LB_POLICY_SUBCHANNEL_LIST_H
#endif // GRPC_SRC_CORE_LOAD_BALANCING_SUBCHANNEL_LIST_H

@ -16,7 +16,7 @@
#include <grpc/support/port_platform.h>
#include "src/core/ext/filters/client_channel/lb_policy/weighted_round_robin/static_stride_scheduler.h"
#include "src/core/load_balancing/weighted_round_robin/static_stride_scheduler.h"
#include <algorithm>
#include <cmath>

@ -14,8 +14,8 @@
// limitations under the License.
//
#ifndef GRPC_SRC_CORE_EXT_FILTERS_CLIENT_CHANNEL_LB_POLICY_WEIGHTED_ROUND_ROBIN_STATIC_STRIDE_SCHEDULER_H
#define GRPC_SRC_CORE_EXT_FILTERS_CLIENT_CHANNEL_LB_POLICY_WEIGHTED_ROUND_ROBIN_STATIC_STRIDE_SCHEDULER_H
#ifndef GRPC_SRC_CORE_LOAD_BALANCING_WEIGHTED_ROUND_ROBIN_STATIC_STRIDE_SCHEDULER_H
#define GRPC_SRC_CORE_LOAD_BALANCING_WEIGHTED_ROUND_ROBIN_STATIC_STRIDE_SCHEDULER_H
#include <grpc/support/port_platform.h>
@ -68,4 +68,4 @@ class StaticStrideScheduler {
} // namespace grpc_core
#endif // GRPC_SRC_CORE_EXT_FILTERS_CLIENT_CHANNEL_LB_POLICY_WEIGHTED_ROUND_ROBIN_STATIC_STRIDE_SCHEDULER_H
#endif // GRPC_SRC_CORE_LOAD_BALANCING_WEIGHTED_ROUND_ROBIN_STATIC_STRIDE_SCHEDULER_H

@ -46,11 +46,11 @@
#include <grpc/impl/connectivity_state.h>
#include <grpc/support/log.h>
#include "src/core/ext/filters/client_channel/lb_policy/backend_metric_data.h"
#include "src/core/ext/filters/client_channel/lb_policy/endpoint_list.h"
#include "src/core/ext/filters/client_channel/lb_policy/oob_backend_metric.h"
#include "src/core/ext/filters/client_channel/lb_policy/subchannel_list.h"
#include "src/core/ext/filters/client_channel/lb_policy/weighted_round_robin/static_stride_scheduler.h"
#include "src/core/load_balancing/backend_metric_data.h"
#include "src/core/load_balancing/endpoint_list.h"
#include "src/core/load_balancing/oob_backend_metric.h"
#include "src/core/load_balancing/subchannel_list.h"
#include "src/core/load_balancing/weighted_round_robin/static_stride_scheduler.h"
#include "src/core/lib/address_utils/sockaddr_utils.h"
#include "src/core/lib/channel/channel_args.h"
#include "src/core/lib/config/core_configuration.h"
@ -71,9 +71,9 @@
#include "src/core/lib/json/json.h"
#include "src/core/lib/json/json_args.h"
#include "src/core/lib/json/json_object_loader.h"
#include "src/core/lib/load_balancing/lb_policy.h"
#include "src/core/lib/load_balancing/lb_policy_factory.h"
#include "src/core/lib/load_balancing/subchannel_interface.h"
#include "src/core/load_balancing/lb_policy.h"
#include "src/core/load_balancing/lb_policy_factory.h"
#include "src/core/load_balancing/subchannel_interface.h"
#include "src/core/lib/resolver/endpoint_addresses.h"
#include "src/core/lib/resolver/server_address.h"
#include "src/core/lib/transport/connectivity_state.h"

@ -40,8 +40,8 @@
#include <grpc/impl/connectivity_state.h>
#include <grpc/support/log.h>
#include "src/core/ext/filters/client_channel/lb_policy/address_filtering.h"
#include "src/core/ext/filters/client_channel/lb_policy/child_policy_handler.h"
#include "src/core/load_balancing/address_filtering.h"
#include "src/core/load_balancing/child_policy_handler.h"
#include "src/core/lib/channel/channel_args.h"
#include "src/core/lib/config/core_configuration.h"
#include "src/core/lib/debug/trace.h"
@ -57,10 +57,10 @@
#include "src/core/lib/json/json.h"
#include "src/core/lib/json/json_args.h"
#include "src/core/lib/json/json_object_loader.h"
#include "src/core/lib/load_balancing/delegating_helper.h"
#include "src/core/lib/load_balancing/lb_policy.h"
#include "src/core/lib/load_balancing/lb_policy_factory.h"
#include "src/core/lib/load_balancing/lb_policy_registry.h"
#include "src/core/load_balancing/delegating_helper.h"
#include "src/core/load_balancing/lb_policy.h"
#include "src/core/load_balancing/lb_policy_factory.h"
#include "src/core/load_balancing/lb_policy_registry.h"
#include "src/core/lib/resolver/endpoint_addresses.h"
#include "src/core/lib/transport/connectivity_state.h"

@ -37,9 +37,9 @@
#include <grpc/support/json.h>
#include <grpc/support/log.h>
#include "src/core/ext/filters/client_channel/lb_policy/address_filtering.h"
#include "src/core/ext/filters/client_channel/lb_policy/outlier_detection/outlier_detection.h"
#include "src/core/ext/filters/client_channel/lb_policy/xds/xds_channel_args.h"
#include "src/core/load_balancing/address_filtering.h"
#include "src/core/load_balancing/outlier_detection/outlier_detection.h"
#include "src/core/load_balancing/xds/xds_channel_args.h"
#include "src/core/ext/filters/client_channel/resolver/xds/xds_dependency_manager.h"
#include "src/core/ext/xds/xds_cluster.h"
#include "src/core/ext/xds/xds_common_types.h"
@ -60,10 +60,10 @@
#include "src/core/lib/json/json_args.h"
#include "src/core/lib/json/json_object_loader.h"
#include "src/core/lib/json/json_writer.h"
#include "src/core/lib/load_balancing/delegating_helper.h"
#include "src/core/lib/load_balancing/lb_policy.h"
#include "src/core/lib/load_balancing/lb_policy_factory.h"
#include "src/core/lib/load_balancing/lb_policy_registry.h"
#include "src/core/load_balancing/delegating_helper.h"
#include "src/core/load_balancing/lb_policy.h"
#include "src/core/load_balancing/lb_policy_factory.h"
#include "src/core/load_balancing/lb_policy_registry.h"
namespace grpc_core {

@ -14,8 +14,8 @@
// limitations under the License.
//
#ifndef GRPC_SRC_CORE_EXT_FILTERS_CLIENT_CHANNEL_LB_POLICY_XDS_XDS_CHANNEL_ARGS_H
#define GRPC_SRC_CORE_EXT_FILTERS_CLIENT_CHANNEL_LB_POLICY_XDS_XDS_CHANNEL_ARGS_H
#ifndef GRPC_SRC_CORE_LOAD_BALANCING_XDS_XDS_CHANNEL_ARGS_H
#define GRPC_SRC_CORE_LOAD_BALANCING_XDS_XDS_CHANNEL_ARGS_H
#include <grpc/support/port_platform.h>
@ -34,4 +34,4 @@
#define GRPC_ARG_XDS_LOCALITY_WEIGHT \
GRPC_ARG_NO_SUBCHANNEL_PREFIX "xds_locality_weight"
#endif // GRPC_SRC_CORE_EXT_FILTERS_CLIENT_CHANNEL_LB_POLICY_XDS_XDS_CHANNEL_ARGS_H
#endif // GRPC_SRC_CORE_LOAD_BALANCING_XDS_XDS_CHANNEL_ARGS_H

@ -38,9 +38,9 @@
#include <grpc/support/log.h>
#include "src/core/ext/filters/client_channel/client_channel_internal.h"
#include "src/core/ext/filters/client_channel/lb_policy/backend_metric_data.h"
#include "src/core/ext/filters/client_channel/lb_policy/child_policy_handler.h"
#include "src/core/ext/filters/client_channel/lb_policy/xds/xds_channel_args.h"
#include "src/core/load_balancing/backend_metric_data.h"
#include "src/core/load_balancing/child_policy_handler.h"
#include "src/core/load_balancing/xds/xds_channel_args.h"
#include "src/core/ext/filters/client_channel/resolver/xds/xds_dependency_manager.h"
#include "src/core/ext/xds/xds_bootstrap.h"
#include "src/core/ext/xds/xds_bootstrap_grpc.h"
@ -62,11 +62,11 @@
#include "src/core/lib/json/json.h"
#include "src/core/lib/json/json_args.h"
#include "src/core/lib/json/json_object_loader.h"
#include "src/core/lib/load_balancing/delegating_helper.h"
#include "src/core/lib/load_balancing/lb_policy.h"
#include "src/core/lib/load_balancing/lb_policy_factory.h"
#include "src/core/lib/load_balancing/lb_policy_registry.h"
#include "src/core/lib/load_balancing/subchannel_interface.h"
#include "src/core/load_balancing/delegating_helper.h"
#include "src/core/load_balancing/lb_policy.h"
#include "src/core/load_balancing/lb_policy_factory.h"
#include "src/core/load_balancing/lb_policy_registry.h"
#include "src/core/load_balancing/subchannel_interface.h"
#include "src/core/lib/resolver/endpoint_addresses.h"
#include "src/core/lib/security/credentials/xds/xds_credentials.h"
#include "src/core/lib/transport/connectivity_state.h"

@ -39,7 +39,7 @@
#include <grpc/support/log.h>
#include "src/core/ext/filters/client_channel/client_channel_internal.h"
#include "src/core/ext/filters/client_channel/lb_policy/child_policy_handler.h"
#include "src/core/load_balancing/child_policy_handler.h"
#include "src/core/ext/filters/client_channel/resolver/xds/xds_resolver_attributes.h"
#include "src/core/lib/channel/channel_args.h"
#include "src/core/lib/config/core_configuration.h"
@ -55,10 +55,10 @@
#include "src/core/lib/json/json.h"
#include "src/core/lib/json/json_args.h"
#include "src/core/lib/json/json_object_loader.h"
#include "src/core/lib/load_balancing/delegating_helper.h"
#include "src/core/lib/load_balancing/lb_policy.h"
#include "src/core/lib/load_balancing/lb_policy_factory.h"
#include "src/core/lib/load_balancing/lb_policy_registry.h"
#include "src/core/load_balancing/delegating_helper.h"
#include "src/core/load_balancing/lb_policy.h"
#include "src/core/load_balancing/lb_policy_factory.h"
#include "src/core/load_balancing/lb_policy_registry.h"
#include "src/core/lib/resolver/endpoint_addresses.h"
#include "src/core/lib/transport/connectivity_state.h"

@ -16,7 +16,7 @@
#include <grpc/support/port_platform.h>
#include "src/core/ext/filters/client_channel/lb_policy/xds/xds_override_host.h"
#include "src/core/load_balancing/xds/xds_override_host.h"
#include <stddef.h>
@ -48,7 +48,7 @@
#include <grpc/support/log.h>
#include "src/core/ext/filters/client_channel/client_channel_internal.h"
#include "src/core/ext/filters/client_channel/lb_policy/child_policy_handler.h"
#include "src/core/load_balancing/child_policy_handler.h"
#include "src/core/ext/filters/client_channel/resolver/xds/xds_dependency_manager.h"
#include "src/core/ext/filters/stateful_session/stateful_session_filter.h"
#include "src/core/ext/xds/xds_health_status.h"
@ -75,11 +75,11 @@
#include "src/core/lib/json/json.h"
#include "src/core/lib/json/json_args.h"
#include "src/core/lib/json/json_object_loader.h"
#include "src/core/lib/load_balancing/delegating_helper.h"
#include "src/core/lib/load_balancing/lb_policy.h"
#include "src/core/lib/load_balancing/lb_policy_factory.h"
#include "src/core/lib/load_balancing/lb_policy_registry.h"
#include "src/core/lib/load_balancing/subchannel_interface.h"
#include "src/core/load_balancing/delegating_helper.h"
#include "src/core/load_balancing/lb_policy.h"
#include "src/core/load_balancing/lb_policy_factory.h"
#include "src/core/load_balancing/lb_policy_registry.h"
#include "src/core/load_balancing/subchannel_interface.h"
#include "src/core/lib/resolver/endpoint_addresses.h"
#include "src/core/lib/transport/connectivity_state.h"

@ -14,8 +14,8 @@
// limitations under the License.
//
#ifndef GRPC_SRC_CORE_EXT_FILTERS_CLIENT_CHANNEL_LB_POLICY_XDS_XDS_OVERRIDE_HOST_H
#define GRPC_SRC_CORE_EXT_FILTERS_CLIENT_CHANNEL_LB_POLICY_XDS_XDS_OVERRIDE_HOST_H
#ifndef GRPC_SRC_CORE_LOAD_BALANCING_XDS_XDS_OVERRIDE_HOST_H
#define GRPC_SRC_CORE_LOAD_BALANCING_XDS_XDS_OVERRIDE_HOST_H
#include <grpc/support/port_platform.h>
@ -26,7 +26,7 @@
#include "src/core/lib/json/json.h"
#include "src/core/lib/json/json_args.h"
#include "src/core/lib/json/json_object_loader.h"
#include "src/core/lib/load_balancing/lb_policy.h"
#include "src/core/load_balancing/lb_policy.h"
namespace grpc_core {
@ -60,4 +60,4 @@ class XdsOverrideHostLbConfig : public LoadBalancingPolicy::Config {
};
} // namespace grpc_core
#endif // GRPC_SRC_CORE_EXT_FILTERS_CLIENT_CHANNEL_LB_POLICY_XDS_XDS_OVERRIDE_HOST_H
#endif // GRPC_SRC_CORE_LOAD_BALANCING_XDS_XDS_OVERRIDE_HOST_H

@ -32,7 +32,7 @@
#include <grpc/support/json.h>
#include <grpc/support/log.h>
#include "src/core/ext/filters/client_channel/lb_policy/xds/xds_channel_args.h"
#include "src/core/load_balancing/xds/xds_channel_args.h"
#include "src/core/ext/xds/xds_client_stats.h"
#include "src/core/lib/channel/channel_args.h"
#include "src/core/lib/config/core_configuration.h"
@ -46,10 +46,10 @@
#include "src/core/lib/json/json_args.h"
#include "src/core/lib/json/json_object_loader.h"
#include "src/core/lib/json/json_writer.h"
#include "src/core/lib/load_balancing/delegating_helper.h"
#include "src/core/lib/load_balancing/lb_policy.h"
#include "src/core/lib/load_balancing/lb_policy_factory.h"
#include "src/core/lib/load_balancing/lb_policy_registry.h"
#include "src/core/load_balancing/delegating_helper.h"
#include "src/core/load_balancing/lb_policy.h"
#include "src/core/load_balancing/lb_policy_factory.h"
#include "src/core/load_balancing/lb_policy_registry.h"
#include "src/core/lib/resolver/endpoint_addresses.h"
namespace grpc_core {

@ -130,13 +130,8 @@ CsmObservabilityBuilder::SetGenericMethodAttributeFilter(
}
absl::StatusOr<CsmObservability> CsmObservabilityBuilder::BuildAndRegister() {
builder_->SetServerSelector(internal::CsmServerSelector);
builder_->SetTargetSelector(internal::CsmChannelTargetSelector);
builder_->SetLabelsInjector(
std::make_unique<internal::ServiceMeshLabelsInjector>(
google::cloud::otel::MakeResourceDetector()
->Detect()
.GetAttributes()));
builder_->AddPluginOption(
std::make_unique<grpc::internal::CsmOpenTelemetryPluginOption>());
auto status = builder_->BuildAndRegisterGlobal();
if (!status.ok()) {
return status;

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save