Merge branch 'master' into keepalivethrottling

reviewable/pr23313/r6
Yash Tibrewal 5 years ago
commit a1b2a982d4
  1. 2
      .github/ISSUE_TEMPLATE/bug_report.md
  2. 2
      .github/ISSUE_TEMPLATE/cleanup_request.md
  3. 2
      .github/ISSUE_TEMPLATE/feature_request.md
  4. 2
      .github/ISSUE_TEMPLATE/question.md
  5. 2
      .github/change_repo_manager.sh
  6. 2
      .github/pull_request_template.md
  7. 246
      BUILD
  8. 221
      BUILD.gn
  9. 467
      CMakeLists.txt
  10. 669
      Makefile
  11. 8
      bazel/grpc_deps.bzl
  12. 9
      bazel/python_rules.bzl
  13. 2
      bazel/test/python_test_repo/BUILD
  14. 3
      bazel/test/python_test_repo/WORKSPACE
  15. 165
      bazel/test/python_test_repo/namespaced/upper/example/BUILD
  16. 35
      bazel/test/python_test_repo/namespaced/upper/example/import_no_strip_test.py
  17. 35
      bazel/test/python_test_repo/namespaced/upper/example/import_strip_test.py
  18. 27
      bazel/test/python_test_repo/namespaced/upper/example/namespaced_dependency.proto
  19. 38
      bazel/test/python_test_repo/namespaced/upper/example/namespaced_example.proto
  20. 35
      bazel/test/python_test_repo/namespaced/upper/example/no_import_no_strip_test.py
  21. 35
      bazel/test/python_test_repo/namespaced/upper/example/no_import_strip_test.py
  22. 497
      build_autogenerated.yaml
  23. 5
      build_handwritten.yaml
  24. 3
      cmake/re2.cmake
  25. 155
      config.m4
  26. 175
      config.w32
  27. 3
      doc/g_stands_for.md
  28. 5
      doc/grpc_xds_features.md
  29. 4
      doc/xds-test-descriptions.md
  30. 227
      gRPC-C++.podspec
  31. 329
      gRPC-Core.podspec
  32. 2
      gRPC-ProtoRPC.podspec
  33. 2
      gRPC-RxLibrary.podspec
  34. 2
      gRPC.podspec
  35. 283
      grpc.gemspec
  36. 215
      grpc.gyp
  37. 7
      include/grpc/impl/codegen/port_platform.h
  38. 67
      include/grpcpp/create_channel.h
  39. 78
      include/grpcpp/create_channel_impl.h
  40. 13
      include/grpcpp/impl/codegen/client_context_impl.h
  41. 4
      include/grpcpp/impl/codegen/server_interface.h
  42. 356
      include/grpcpp/security/credentials.h
  43. 356
      include/grpcpp/security/credentials_impl.h
  44. 5
      include/grpcpp/security/cronet_credentials.h
  45. 75
      include/grpcpp/security/server_credentials.h
  46. 89
      include/grpcpp/security/server_credentials_impl.h
  47. 4
      include/grpcpp/security/tls_credentials_options.h
  48. 8
      include/grpcpp/server_builder.h
  49. 8
      include/grpcpp/server_builder_impl.h
  50. 5
      include/grpcpp/support/channel_arguments_impl.h
  51. 24
      include/grpcpp/support/error_details.h
  52. 48
      include/grpcpp/support/error_details_impl.h
  53. 240
      package.xml
  54. 6
      setup.py
  55. 67
      src/boringssl/gen_build_yaml.py
  56. 2
      src/core/ext/filters/client_channel/client_channel.h
  57. 5
      src/core/ext/filters/client_channel/http_connect_handshaker.cc
  58. 1
      src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.cc
  59. 13
      src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_balancer_addresses.cc
  60. 3
      src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_balancer_addresses.h
  61. 38
      src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_channel_secure.cc
  62. 7
      src/core/ext/filters/client_channel/lb_policy/weighted_target/weighted_target.cc
  63. 9
      src/core/ext/filters/client_channel/lb_policy/xds/xds_routing.cc
  64. 4
      src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.cc
  65. 1
      src/core/ext/filters/client_channel/resolver_result_parsing.h
  66. 47
      src/core/ext/filters/client_channel/server_address.cc
  67. 46
      src/core/ext/filters/client_channel/server_address.h
  68. 2
      src/core/ext/filters/client_channel/subchannel.h
  69. 1089
      src/core/ext/filters/client_channel/xds/xds_api.cc
  70. 29
      src/core/ext/filters/client_channel/xds/xds_api.h
  71. 44
      src/core/ext/filters/client_channel/xds/xds_bootstrap.cc
  72. 5
      src/core/ext/filters/client_channel/xds/xds_bootstrap.h
  73. 1
      src/core/ext/filters/client_channel/xds/xds_channel_secure.cc
  74. 85
      src/core/ext/filters/client_channel/xds/xds_client.cc
  75. 117
      src/core/ext/transport/chttp2/client/chttp2_connector.cc
  76. 19
      src/core/ext/transport/chttp2/client/chttp2_connector.h
  77. 45
      src/core/ext/transport/chttp2/client/secure/secure_channel_create.cc
  78. 44
      src/core/ext/transport/chttp2/server/chttp2_server.cc
  79. 3
      src/core/ext/transport/chttp2/server/chttp2_server.h
  80. 4
      src/core/ext/transport/chttp2/server/insecure/server_chttp2.cc
  81. 12
      src/core/ext/transport/chttp2/server/insecure/server_chttp2_posix.cc
  82. 5
      src/core/ext/transport/chttp2/server/secure/server_secure_chttp2.cc
  83. 353
      src/core/ext/transport/chttp2/transport/chttp2_transport.cc
  84. 2
      src/core/ext/transport/chttp2/transport/flow_control.cc
  85. 4
      src/core/ext/transport/chttp2/transport/frame_settings.cc
  86. 2
      src/core/ext/transport/chttp2/transport/internal.h
  87. 11
      src/core/ext/transport/chttp2/transport/writing.cc
  88. 6
      src/core/ext/transport/inproc/inproc_transport.cc
  89. 21
      src/core/ext/upb-generated/envoy/api/v2/auth/cert.upb.c
  90. 34
      src/core/ext/upb-generated/envoy/api/v2/auth/cert.upb.h
  91. 114
      src/core/ext/upb-generated/envoy/api/v2/auth/common.upb.c
  92. 429
      src/core/ext/upb-generated/envoy/api/v2/auth/common.upb.h
  93. 72
      src/core/ext/upb-generated/envoy/api/v2/auth/secret.upb.c
  94. 198
      src/core/ext/upb-generated/envoy/api/v2/auth/secret.upb.h
  95. 105
      src/core/ext/upb-generated/envoy/api/v2/auth/tls.upb.c
  96. 388
      src/core/ext/upb-generated/envoy/api/v2/auth/tls.upb.h
  97. 52
      src/core/ext/upb-generated/envoy/api/v2/cds.upb.h
  98. 403
      src/core/ext/upb-generated/envoy/api/v2/cluster.upb.c
  99. 1453
      src/core/ext/upb-generated/envoy/api/v2/cluster.upb.h
  100. 74
      src/core/ext/upb-generated/envoy/api/v2/cluster/circuit_breaker.upb.c
  101. Some files were not shown because too many files have changed in this diff Show More

@ -2,7 +2,7 @@
name: Report a bug
about: Create a report to help us improve
labels: kind/bug, priority/P2
assignees: donnadionne
assignees: nicolasnoble
---

@ -2,7 +2,7 @@
name: Request a cleanup
about: Suggest a cleanup in our repository
labels: kind/internal cleanup, priority/P2
assignees: donnadionne
assignees: nicolasnoble
---

@ -2,7 +2,7 @@
name: Request a feature
about: Suggest an idea for this project
labels: kind/enhancement, priority/P2
assignees: donnadionne
assignees: nicolasnoble
---

@ -2,7 +2,7 @@
name: Ask a question
about: Ask a question
labels: kind/question, priority/P3
assignees: donnadionne
assignees: nicolasnoble
---

@ -32,4 +32,4 @@ done
sed -i -E "s/^@([a-zA-Z0-9-]+)/@$1/" $BASE_PATH/pull_request_template.md
echo "Done"
echo "Done"

@ -8,4 +8,4 @@ If you know who should review your pull request, please remove the mentioning be
-->
@donnadionne
@nicolasnoble

246
BUILD

@ -74,12 +74,12 @@ config_setting(
python_config_settings()
# This should be updated along with build.yaml
g_stands_for = "galore"
# This should be updated along with build_handwritten.yaml
g_stands_for = "giggle"
core_version = "10.0.0"
core_version = "11.0.0"
version = "1.31.0-dev"
version = "1.32.0-dev"
GPR_PUBLIC_HDRS = [
"include/grpc/support/alloc.h",
@ -225,7 +225,6 @@ GRPCXX_PUBLIC_HDRS = [
"include/grpcpp/completion_queue.h",
"include/grpcpp/completion_queue_impl.h",
"include/grpcpp/create_channel.h",
"include/grpcpp/create_channel_impl.h",
"include/grpcpp/create_channel_posix.h",
"include/grpcpp/ext/health_check_service_server_builder_option.h",
"include/grpcpp/generic/async_generic_service.h",
@ -251,9 +250,7 @@ GRPCXX_PUBLIC_HDRS = [
"include/grpcpp/security/auth_context.h",
"include/grpcpp/security/auth_metadata_processor.h",
"include/grpcpp/security/credentials.h",
"include/grpcpp/security/credentials_impl.h",
"include/grpcpp/security/server_credentials.h",
"include/grpcpp/security/server_credentials_impl.h",
"include/grpcpp/security/tls_credentials_options.h",
"include/grpcpp/server.h",
"include/grpcpp/server_impl.h",
@ -410,7 +407,6 @@ grpc_cc_library(
hdrs = [
"include/grpc++/support/error_details.h",
"include/grpcpp/support/error_details.h",
"include/grpcpp/support/error_details_impl.h",
],
language = "c++",
standalone = True,
@ -553,9 +549,11 @@ grpc_cc_library(
"src/core/lib/profiling/timers.h",
],
external_deps = [
"absl/base",
"absl/memory",
"absl/strings",
"absl/strings:str_format",
"absl/synchronization",
"absl/time:time",
],
language = "c++",
@ -798,6 +796,7 @@ grpc_cc_library(
"src/core/lib/surface/server.cc",
"src/core/lib/surface/validate_metadata.cc",
"src/core/lib/surface/version.cc",
"src/core/lib/transport/authority_override.cc",
"src/core/lib/transport/bdp_estimator.cc",
"src/core/lib/transport/byte_stream.cc",
"src/core/lib/transport/connectivity_state.cc",
@ -919,11 +918,9 @@ grpc_cc_library(
"src/core/lib/json/json.h",
"src/core/lib/slice/b64.h",
"src/core/lib/slice/percent_encoding.h",
"src/core/lib/slice/slice_hash_table.h",
"src/core/lib/slice/slice_internal.h",
"src/core/lib/slice/slice_string_helpers.h",
"src/core/lib/slice/slice_utils.h",
"src/core/lib/slice/slice_weak_hash_table.h",
"src/core/lib/surface/api_trace.h",
"src/core/lib/surface/call.h",
"src/core/lib/surface/call_test_only.h",
@ -937,6 +934,7 @@ grpc_cc_library(
"src/core/lib/surface/lame_client.h",
"src/core/lib/surface/server.h",
"src/core/lib/surface/validate_metadata.h",
"src/core/lib/transport/authority_override.h",
"src/core/lib/transport/bdp_estimator.h",
"src/core/lib/transport/byte_stream.h",
"src/core/lib/transport/connectivity_state.h",
@ -1807,7 +1805,6 @@ grpc_cc_library(
"src/core/lib/security/transport/secure_endpoint.cc",
"src/core/lib/security/transport/security_handshaker.cc",
"src/core/lib/security/transport/server_auth_filter.cc",
"src/core/lib/security/transport/target_authority_table.cc",
"src/core/lib/security/transport/tsi_error.cc",
"src/core/lib/security/util/json_util.cc",
"src/core/lib/surface/init_secure.cc",
@ -1844,7 +1841,6 @@ grpc_cc_library(
"src/core/lib/security/transport/auth_filters.h",
"src/core/lib/security/transport/secure_endpoint.h",
"src/core/lib/security/transport/security_handshaker.h",
"src/core/lib/security/transport/target_authority_table.h",
"src/core/lib/security/transport/tsi_error.h",
"src/core/lib/security/util/json_util.h",
],
@ -1858,6 +1854,22 @@ grpc_cc_library(
],
)
grpc_cc_library(
name = "grpc_authorization_engine",
srcs = [
"src/core/lib/security/authorization/authorization_engine.cc",
],
hdrs = [
"src/core/lib/security/authorization/authorization_engine.h",
],
language = "c++",
deps = [
"envoy_ads_upb",
"google_api_upb",
"grpc_base",
],
)
grpc_cc_library(
name = "grpc_transport_chttp2",
srcs = [
@ -2498,72 +2510,68 @@ grpc_cc_library(
grpc_cc_library(
name = "envoy_ads_upb",
srcs = [
"src/core/ext/upb-generated/envoy/api/v2/auth/cert.upb.c",
"src/core/ext/upb-generated/envoy/api/v2/auth/common.upb.c",
"src/core/ext/upb-generated/envoy/api/v2/auth/secret.upb.c",
"src/core/ext/upb-generated/envoy/api/v2/auth/tls.upb.c",
"src/core/ext/upb-generated/envoy/api/v2/cds.upb.c",
"src/core/ext/upb-generated/envoy/api/v2/cluster.upb.c",
"src/core/ext/upb-generated/envoy/api/v2/cluster/circuit_breaker.upb.c",
"src/core/ext/upb-generated/envoy/api/v2/cluster/filter.upb.c",
"src/core/ext/upb-generated/envoy/api/v2/cluster/outlier_detection.upb.c",
"src/core/ext/upb-generated/envoy/api/v2/discovery.upb.c",
"src/core/ext/upb-generated/envoy/api/v2/eds.upb.c",
"src/core/ext/upb-generated/envoy/api/v2/endpoint.upb.c",
"src/core/ext/upb-generated/envoy/api/v2/endpoint/endpoint.upb.c",
"src/core/ext/upb-generated/envoy/api/v2/endpoint/endpoint_components.upb.c",
"src/core/ext/upb-generated/envoy/api/v2/endpoint/load_report.upb.c",
"src/core/ext/upb-generated/envoy/api/v2/lds.upb.c",
"src/core/ext/upb-generated/envoy/api/v2/listener.upb.c",
"src/core/ext/upb-generated/envoy/api/v2/listener/listener.upb.c",
"src/core/ext/upb-generated/envoy/api/v2/listener/listener_components.upb.c",
"src/core/ext/upb-generated/envoy/api/v2/listener/udp_listener_config.upb.c",
"src/core/ext/upb-generated/envoy/api/v2/rds.upb.c",
"src/core/ext/upb-generated/envoy/api/v2/route.upb.c",
"src/core/ext/upb-generated/envoy/api/v2/route/route.upb.c",
"src/core/ext/upb-generated/envoy/api/v2/route/route_components.upb.c",
"src/core/ext/upb-generated/envoy/api/v2/scoped_route.upb.c",
"src/core/ext/upb-generated/envoy/api/v2/srds.upb.c",
"src/core/ext/upb-generated/envoy/config/filter/accesslog/v2/accesslog.upb.c",
"src/core/ext/upb-generated/envoy/config/filter/network/http_connection_manager/v2/http_connection_manager.upb.c",
"src/core/ext/upb-generated/envoy/config/listener/v2/api_listener.upb.c",
"src/core/ext/upb-generated/envoy/config/trace/v2/http_tracer.upb.c",
"src/core/ext/upb-generated/envoy/service/discovery/v2/ads.upb.c",
"src/core/ext/upb-generated/envoy/service/load_stats/v2/lrs.upb.c",
"src/core/ext/upb-generated/envoy/config/accesslog/v3/accesslog.upb.c",
"src/core/ext/upb-generated/envoy/config/cluster/v3/circuit_breaker.upb.c",
"src/core/ext/upb-generated/envoy/config/cluster/v3/cluster.upb.c",
"src/core/ext/upb-generated/envoy/config/cluster/v3/filter.upb.c",
"src/core/ext/upb-generated/envoy/config/cluster/v3/outlier_detection.upb.c",
"src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint.upb.c",
"src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint_components.upb.c",
"src/core/ext/upb-generated/envoy/config/endpoint/v3/load_report.upb.c",
"src/core/ext/upb-generated/envoy/config/listener/v3/api_listener.upb.c",
"src/core/ext/upb-generated/envoy/config/listener/v3/listener.upb.c",
"src/core/ext/upb-generated/envoy/config/listener/v3/listener_components.upb.c",
"src/core/ext/upb-generated/envoy/config/listener/v3/udp_listener_config.upb.c",
"src/core/ext/upb-generated/envoy/config/rbac/v3/rbac.upb.c",
"src/core/ext/upb-generated/envoy/config/route/v3/route.upb.c",
"src/core/ext/upb-generated/envoy/config/route/v3/route_components.upb.c",
"src/core/ext/upb-generated/envoy/config/route/v3/scoped_route.upb.c",
"src/core/ext/upb-generated/envoy/config/trace/v3/http_tracer.upb.c",
"src/core/ext/upb-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.c",
"src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/cert.upb.c",
"src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/common.upb.c",
"src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/secret.upb.c",
"src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/tls.upb.c",
"src/core/ext/upb-generated/envoy/service/cluster/v3/cds.upb.c",
"src/core/ext/upb-generated/envoy/service/discovery/v3/ads.upb.c",
"src/core/ext/upb-generated/envoy/service/discovery/v3/discovery.upb.c",
"src/core/ext/upb-generated/envoy/service/endpoint/v3/eds.upb.c",
"src/core/ext/upb-generated/envoy/service/listener/v3/lds.upb.c",
"src/core/ext/upb-generated/envoy/service/load_stats/v3/lrs.upb.c",
"src/core/ext/upb-generated/envoy/service/route/v3/rds.upb.c",
"src/core/ext/upb-generated/envoy/service/route/v3/srds.upb.c",
],
hdrs = [
"src/core/ext/upb-generated/envoy/api/v2/auth/cert.upb.h",
"src/core/ext/upb-generated/envoy/api/v2/auth/common.upb.h",
"src/core/ext/upb-generated/envoy/api/v2/auth/secret.upb.h",
"src/core/ext/upb-generated/envoy/api/v2/auth/tls.upb.h",
"src/core/ext/upb-generated/envoy/api/v2/cds.upb.h",
"src/core/ext/upb-generated/envoy/api/v2/cluster.upb.h",
"src/core/ext/upb-generated/envoy/api/v2/cluster/circuit_breaker.upb.h",
"src/core/ext/upb-generated/envoy/api/v2/cluster/filter.upb.h",
"src/core/ext/upb-generated/envoy/api/v2/cluster/outlier_detection.upb.h",
"src/core/ext/upb-generated/envoy/api/v2/discovery.upb.h",
"src/core/ext/upb-generated/envoy/api/v2/eds.upb.h",
"src/core/ext/upb-generated/envoy/api/v2/endpoint.upb.h",
"src/core/ext/upb-generated/envoy/api/v2/endpoint/endpoint.upb.h",
"src/core/ext/upb-generated/envoy/api/v2/endpoint/endpoint_components.upb.h",
"src/core/ext/upb-generated/envoy/api/v2/endpoint/load_report.upb.h",
"src/core/ext/upb-generated/envoy/api/v2/lds.upb.h",
"src/core/ext/upb-generated/envoy/api/v2/listener.upb.h",
"src/core/ext/upb-generated/envoy/api/v2/listener/listener.upb.h",
"src/core/ext/upb-generated/envoy/api/v2/listener/listener_components.upb.h",
"src/core/ext/upb-generated/envoy/api/v2/listener/udp_listener_config.upb.h",
"src/core/ext/upb-generated/envoy/api/v2/rds.upb.h",
"src/core/ext/upb-generated/envoy/api/v2/route.upb.h",
"src/core/ext/upb-generated/envoy/api/v2/route/route.upb.h",
"src/core/ext/upb-generated/envoy/api/v2/route/route_components.upb.h",
"src/core/ext/upb-generated/envoy/api/v2/scoped_route.upb.h",
"src/core/ext/upb-generated/envoy/api/v2/srds.upb.h",
"src/core/ext/upb-generated/envoy/config/filter/accesslog/v2/accesslog.upb.h",
"src/core/ext/upb-generated/envoy/config/filter/network/http_connection_manager/v2/http_connection_manager.upb.h",
"src/core/ext/upb-generated/envoy/config/listener/v2/api_listener.upb.h",
"src/core/ext/upb-generated/envoy/config/trace/v2/http_tracer.upb.h",
"src/core/ext/upb-generated/envoy/service/discovery/v2/ads.upb.h",
"src/core/ext/upb-generated/envoy/service/load_stats/v2/lrs.upb.h",
"src/core/ext/upb-generated/envoy/config/accesslog/v3/accesslog.upb.h",
"src/core/ext/upb-generated/envoy/config/cluster/v3/circuit_breaker.upb.h",
"src/core/ext/upb-generated/envoy/config/cluster/v3/cluster.upb.h",
"src/core/ext/upb-generated/envoy/config/cluster/v3/filter.upb.h",
"src/core/ext/upb-generated/envoy/config/cluster/v3/outlier_detection.upb.h",
"src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint.upb.h",
"src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint_components.upb.h",
"src/core/ext/upb-generated/envoy/config/endpoint/v3/load_report.upb.h",
"src/core/ext/upb-generated/envoy/config/listener/v3/api_listener.upb.h",
"src/core/ext/upb-generated/envoy/config/listener/v3/listener.upb.h",
"src/core/ext/upb-generated/envoy/config/listener/v3/listener_components.upb.h",
"src/core/ext/upb-generated/envoy/config/listener/v3/udp_listener_config.upb.h",
"src/core/ext/upb-generated/envoy/config/rbac/v3/rbac.upb.h",
"src/core/ext/upb-generated/envoy/config/route/v3/route.upb.h",
"src/core/ext/upb-generated/envoy/config/route/v3/route_components.upb.h",
"src/core/ext/upb-generated/envoy/config/route/v3/scoped_route.upb.h",
"src/core/ext/upb-generated/envoy/config/trace/v3/http_tracer.upb.h",
"src/core/ext/upb-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.h",
"src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/cert.upb.h",
"src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/common.upb.h",
"src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/secret.upb.h",
"src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/tls.upb.h",
"src/core/ext/upb-generated/envoy/service/cluster/v3/cds.upb.h",
"src/core/ext/upb-generated/envoy/service/discovery/v3/ads.upb.h",
"src/core/ext/upb-generated/envoy/service/discovery/v3/discovery.upb.h",
"src/core/ext/upb-generated/envoy/service/endpoint/v3/eds.upb.h",
"src/core/ext/upb-generated/envoy/service/listener/v3/lds.upb.h",
"src/core/ext/upb-generated/envoy/service/load_stats/v3/lrs.upb.h",
"src/core/ext/upb-generated/envoy/service/route/v3/rds.upb.h",
"src/core/ext/upb-generated/envoy/service/route/v3/srds.upb.h",
],
external_deps = [
"upb_lib",
@ -2601,28 +2609,30 @@ grpc_cc_library(
grpc_cc_library(
name = "envoy_core_upb",
srcs = [
"src/core/ext/upb-generated/envoy/api/v2/core/address.upb.c",
"src/core/ext/upb-generated/envoy/api/v2/core/backoff.upb.c",
"src/core/ext/upb-generated/envoy/api/v2/core/base.upb.c",
"src/core/ext/upb-generated/envoy/api/v2/core/config_source.upb.c",
"src/core/ext/upb-generated/envoy/api/v2/core/event_service_config.upb.c",
"src/core/ext/upb-generated/envoy/api/v2/core/grpc_service.upb.c",
"src/core/ext/upb-generated/envoy/api/v2/core/health_check.upb.c",
"src/core/ext/upb-generated/envoy/api/v2/core/http_uri.upb.c",
"src/core/ext/upb-generated/envoy/api/v2/core/protocol.upb.c",
"src/core/ext/upb-generated/envoy/api/v2/core/socket_option.upb.c",
"src/core/ext/upb-generated/envoy/config/core/v3/address.upb.c",
"src/core/ext/upb-generated/envoy/config/core/v3/backoff.upb.c",
"src/core/ext/upb-generated/envoy/config/core/v3/base.upb.c",
"src/core/ext/upb-generated/envoy/config/core/v3/config_source.upb.c",
"src/core/ext/upb-generated/envoy/config/core/v3/event_service_config.upb.c",
"src/core/ext/upb-generated/envoy/config/core/v3/grpc_service.upb.c",
"src/core/ext/upb-generated/envoy/config/core/v3/health_check.upb.c",
"src/core/ext/upb-generated/envoy/config/core/v3/http_uri.upb.c",
"src/core/ext/upb-generated/envoy/config/core/v3/protocol.upb.c",
"src/core/ext/upb-generated/envoy/config/core/v3/proxy_protocol.upb.c",
"src/core/ext/upb-generated/envoy/config/core/v3/socket_option.upb.c",
],
hdrs = [
"src/core/ext/upb-generated/envoy/api/v2/core/address.upb.h",
"src/core/ext/upb-generated/envoy/api/v2/core/backoff.upb.h",
"src/core/ext/upb-generated/envoy/api/v2/core/base.upb.h",
"src/core/ext/upb-generated/envoy/api/v2/core/config_source.upb.h",
"src/core/ext/upb-generated/envoy/api/v2/core/event_service_config.upb.h",
"src/core/ext/upb-generated/envoy/api/v2/core/grpc_service.upb.h",
"src/core/ext/upb-generated/envoy/api/v2/core/health_check.upb.h",
"src/core/ext/upb-generated/envoy/api/v2/core/http_uri.upb.h",
"src/core/ext/upb-generated/envoy/api/v2/core/protocol.upb.h",
"src/core/ext/upb-generated/envoy/api/v2/core/socket_option.upb.h",
"src/core/ext/upb-generated/envoy/config/core/v3/address.upb.h",
"src/core/ext/upb-generated/envoy/config/core/v3/backoff.upb.h",
"src/core/ext/upb-generated/envoy/config/core/v3/base.upb.h",
"src/core/ext/upb-generated/envoy/config/core/v3/config_source.upb.h",
"src/core/ext/upb-generated/envoy/config/core/v3/event_service_config.upb.h",
"src/core/ext/upb-generated/envoy/config/core/v3/grpc_service.upb.h",
"src/core/ext/upb-generated/envoy/config/core/v3/health_check.upb.h",
"src/core/ext/upb-generated/envoy/config/core/v3/http_uri.upb.h",
"src/core/ext/upb-generated/envoy/config/core/v3/protocol.upb.h",
"src/core/ext/upb-generated/envoy/config/core/v3/proxy_protocol.upb.h",
"src/core/ext/upb-generated/envoy/config/core/v3/socket_option.upb.h",
],
external_deps = [
"upb_lib",
@ -2640,24 +2650,32 @@ grpc_cc_library(
grpc_cc_library(
name = "envoy_type_upb",
srcs = [
"src/core/ext/upb-generated/envoy/type/http.upb.c",
"src/core/ext/upb-generated/envoy/type/matcher/regex.upb.c",
"src/core/ext/upb-generated/envoy/type/matcher/string.upb.c",
"src/core/ext/upb-generated/envoy/type/metadata/v2/metadata.upb.c",
"src/core/ext/upb-generated/envoy/type/percent.upb.c",
"src/core/ext/upb-generated/envoy/type/range.upb.c",
"src/core/ext/upb-generated/envoy/type/semantic_version.upb.c",
"src/core/ext/upb-generated/envoy/type/tracing/v2/custom_tag.upb.c",
"src/core/ext/upb-generated/envoy/type/matcher/v3/metadata.upb.c",
"src/core/ext/upb-generated/envoy/type/matcher/v3/number.upb.c",
"src/core/ext/upb-generated/envoy/type/matcher/v3/path.upb.c",
"src/core/ext/upb-generated/envoy/type/matcher/v3/regex.upb.c",
"src/core/ext/upb-generated/envoy/type/matcher/v3/string.upb.c",
"src/core/ext/upb-generated/envoy/type/matcher/v3/value.upb.c",
"src/core/ext/upb-generated/envoy/type/metadata/v3/metadata.upb.c",
"src/core/ext/upb-generated/envoy/type/tracing/v3/custom_tag.upb.c",
"src/core/ext/upb-generated/envoy/type/v3/http.upb.c",
"src/core/ext/upb-generated/envoy/type/v3/percent.upb.c",
"src/core/ext/upb-generated/envoy/type/v3/range.upb.c",
"src/core/ext/upb-generated/envoy/type/v3/semantic_version.upb.c",
],
hdrs = [
"src/core/ext/upb-generated/envoy/type/http.upb.h",
"src/core/ext/upb-generated/envoy/type/matcher/regex.upb.h",
"src/core/ext/upb-generated/envoy/type/matcher/string.upb.h",
"src/core/ext/upb-generated/envoy/type/metadata/v2/metadata.upb.h",
"src/core/ext/upb-generated/envoy/type/percent.upb.h",
"src/core/ext/upb-generated/envoy/type/range.upb.h",
"src/core/ext/upb-generated/envoy/type/semantic_version.upb.h",
"src/core/ext/upb-generated/envoy/type/tracing/v2/custom_tag.upb.h",
"src/core/ext/upb-generated/envoy/type/matcher/v3/metadata.upb.h",
"src/core/ext/upb-generated/envoy/type/matcher/v3/number.upb.h",
"src/core/ext/upb-generated/envoy/type/matcher/v3/path.upb.h",
"src/core/ext/upb-generated/envoy/type/matcher/v3/regex.upb.h",
"src/core/ext/upb-generated/envoy/type/matcher/v3/string.upb.h",
"src/core/ext/upb-generated/envoy/type/matcher/v3/value.upb.h",
"src/core/ext/upb-generated/envoy/type/metadata/v3/metadata.upb.h",
"src/core/ext/upb-generated/envoy/type/tracing/v3/custom_tag.upb.h",
"src/core/ext/upb-generated/envoy/type/v3/http.upb.h",
"src/core/ext/upb-generated/envoy/type/v3/percent.upb.h",
"src/core/ext/upb-generated/envoy/type/v3/range.upb.h",
"src/core/ext/upb-generated/envoy/type/v3/semantic_version.upb.h",
],
external_deps = [
"upb_lib",
@ -2719,11 +2737,13 @@ grpc_cc_library(
"src/core/ext/upb-generated/udpa/annotations/migrate.upb.c",
"src/core/ext/upb-generated/udpa/annotations/sensitive.upb.c",
"src/core/ext/upb-generated/udpa/annotations/status.upb.c",
"src/core/ext/upb-generated/udpa/annotations/versioning.upb.c",
],
hdrs = [
"src/core/ext/upb-generated/udpa/annotations/migrate.upb.h",
"src/core/ext/upb-generated/udpa/annotations/sensitive.upb.h",
"src/core/ext/upb-generated/udpa/annotations/status.upb.h",
"src/core/ext/upb-generated/udpa/annotations/versioning.upb.h",
],
external_deps = [
"upb_lib",
@ -2759,6 +2779,7 @@ grpc_cc_library(
name = "google_api_upb",
srcs = [
"src/core/ext/upb-generated/google/api/annotations.upb.c",
"src/core/ext/upb-generated/google/api/expr/v1alpha1/syntax.upb.c",
"src/core/ext/upb-generated/google/api/http.upb.c",
"src/core/ext/upb-generated/google/protobuf/any.upb.c",
"src/core/ext/upb-generated/google/protobuf/descriptor.upb.c",
@ -2771,6 +2792,7 @@ grpc_cc_library(
],
hdrs = [
"src/core/ext/upb-generated/google/api/annotations.upb.h",
"src/core/ext/upb-generated/google/api/expr/v1alpha1/syntax.upb.h",
"src/core/ext/upb-generated/google/api/http.upb.h",
"src/core/ext/upb-generated/google/protobuf/any.upb.h",
"src/core/ext/upb-generated/google/protobuf/descriptor.upb.h",

@ -170,9 +170,11 @@ config("grpc_config") {
]
deps = [
":absl/time:time",
":absl/synchronization:synchronization",
":absl/strings:strings",
":absl/strings:str_format",
":absl/memory:memory",
":absl/base:base",
]
public_configs = [
@ -401,110 +403,118 @@ config("grpc_config") {
"src/core/ext/upb-generated/envoy/annotations/deprecation.upb.h",
"src/core/ext/upb-generated/envoy/annotations/resource.upb.c",
"src/core/ext/upb-generated/envoy/annotations/resource.upb.h",
"src/core/ext/upb-generated/envoy/api/v2/auth/cert.upb.c",
"src/core/ext/upb-generated/envoy/api/v2/auth/cert.upb.h",
"src/core/ext/upb-generated/envoy/api/v2/auth/common.upb.c",
"src/core/ext/upb-generated/envoy/api/v2/auth/common.upb.h",
"src/core/ext/upb-generated/envoy/api/v2/auth/secret.upb.c",
"src/core/ext/upb-generated/envoy/api/v2/auth/secret.upb.h",
"src/core/ext/upb-generated/envoy/api/v2/auth/tls.upb.c",
"src/core/ext/upb-generated/envoy/api/v2/auth/tls.upb.h",
"src/core/ext/upb-generated/envoy/api/v2/cds.upb.c",
"src/core/ext/upb-generated/envoy/api/v2/cds.upb.h",
"src/core/ext/upb-generated/envoy/api/v2/cluster.upb.c",
"src/core/ext/upb-generated/envoy/api/v2/cluster.upb.h",
"src/core/ext/upb-generated/envoy/api/v2/cluster/circuit_breaker.upb.c",
"src/core/ext/upb-generated/envoy/api/v2/cluster/circuit_breaker.upb.h",
"src/core/ext/upb-generated/envoy/api/v2/cluster/filter.upb.c",
"src/core/ext/upb-generated/envoy/api/v2/cluster/filter.upb.h",
"src/core/ext/upb-generated/envoy/api/v2/cluster/outlier_detection.upb.c",
"src/core/ext/upb-generated/envoy/api/v2/cluster/outlier_detection.upb.h",
"src/core/ext/upb-generated/envoy/api/v2/core/address.upb.c",
"src/core/ext/upb-generated/envoy/api/v2/core/address.upb.h",
"src/core/ext/upb-generated/envoy/api/v2/core/backoff.upb.c",
"src/core/ext/upb-generated/envoy/api/v2/core/backoff.upb.h",
"src/core/ext/upb-generated/envoy/api/v2/core/base.upb.c",
"src/core/ext/upb-generated/envoy/api/v2/core/base.upb.h",
"src/core/ext/upb-generated/envoy/api/v2/core/config_source.upb.c",
"src/core/ext/upb-generated/envoy/api/v2/core/config_source.upb.h",
"src/core/ext/upb-generated/envoy/api/v2/core/event_service_config.upb.c",
"src/core/ext/upb-generated/envoy/api/v2/core/event_service_config.upb.h",
"src/core/ext/upb-generated/envoy/api/v2/core/grpc_service.upb.c",
"src/core/ext/upb-generated/envoy/api/v2/core/grpc_service.upb.h",
"src/core/ext/upb-generated/envoy/api/v2/core/health_check.upb.c",
"src/core/ext/upb-generated/envoy/api/v2/core/health_check.upb.h",
"src/core/ext/upb-generated/envoy/api/v2/core/http_uri.upb.c",
"src/core/ext/upb-generated/envoy/api/v2/core/http_uri.upb.h",
"src/core/ext/upb-generated/envoy/api/v2/core/protocol.upb.c",
"src/core/ext/upb-generated/envoy/api/v2/core/protocol.upb.h",
"src/core/ext/upb-generated/envoy/api/v2/core/socket_option.upb.c",
"src/core/ext/upb-generated/envoy/api/v2/core/socket_option.upb.h",
"src/core/ext/upb-generated/envoy/api/v2/discovery.upb.c",
"src/core/ext/upb-generated/envoy/api/v2/discovery.upb.h",
"src/core/ext/upb-generated/envoy/api/v2/eds.upb.c",
"src/core/ext/upb-generated/envoy/api/v2/eds.upb.h",
"src/core/ext/upb-generated/envoy/api/v2/endpoint.upb.c",
"src/core/ext/upb-generated/envoy/api/v2/endpoint.upb.h",
"src/core/ext/upb-generated/envoy/api/v2/endpoint/endpoint.upb.c",
"src/core/ext/upb-generated/envoy/api/v2/endpoint/endpoint.upb.h",
"src/core/ext/upb-generated/envoy/api/v2/endpoint/endpoint_components.upb.c",
"src/core/ext/upb-generated/envoy/api/v2/endpoint/endpoint_components.upb.h",
"src/core/ext/upb-generated/envoy/api/v2/endpoint/load_report.upb.c",
"src/core/ext/upb-generated/envoy/api/v2/endpoint/load_report.upb.h",
"src/core/ext/upb-generated/envoy/api/v2/lds.upb.c",
"src/core/ext/upb-generated/envoy/api/v2/lds.upb.h",
"src/core/ext/upb-generated/envoy/api/v2/listener.upb.c",
"src/core/ext/upb-generated/envoy/api/v2/listener.upb.h",
"src/core/ext/upb-generated/envoy/api/v2/listener/listener.upb.c",
"src/core/ext/upb-generated/envoy/api/v2/listener/listener.upb.h",
"src/core/ext/upb-generated/envoy/api/v2/listener/listener_components.upb.c",
"src/core/ext/upb-generated/envoy/api/v2/listener/listener_components.upb.h",
"src/core/ext/upb-generated/envoy/api/v2/listener/udp_listener_config.upb.c",
"src/core/ext/upb-generated/envoy/api/v2/listener/udp_listener_config.upb.h",
"src/core/ext/upb-generated/envoy/api/v2/rds.upb.c",
"src/core/ext/upb-generated/envoy/api/v2/rds.upb.h",
"src/core/ext/upb-generated/envoy/api/v2/route.upb.c",
"src/core/ext/upb-generated/envoy/api/v2/route.upb.h",
"src/core/ext/upb-generated/envoy/api/v2/route/route.upb.c",
"src/core/ext/upb-generated/envoy/api/v2/route/route.upb.h",
"src/core/ext/upb-generated/envoy/api/v2/route/route_components.upb.c",
"src/core/ext/upb-generated/envoy/api/v2/route/route_components.upb.h",
"src/core/ext/upb-generated/envoy/api/v2/scoped_route.upb.c",
"src/core/ext/upb-generated/envoy/api/v2/scoped_route.upb.h",
"src/core/ext/upb-generated/envoy/api/v2/srds.upb.c",
"src/core/ext/upb-generated/envoy/api/v2/srds.upb.h",
"src/core/ext/upb-generated/envoy/config/filter/accesslog/v2/accesslog.upb.c",
"src/core/ext/upb-generated/envoy/config/filter/accesslog/v2/accesslog.upb.h",
"src/core/ext/upb-generated/envoy/config/filter/network/http_connection_manager/v2/http_connection_manager.upb.c",
"src/core/ext/upb-generated/envoy/config/filter/network/http_connection_manager/v2/http_connection_manager.upb.h",
"src/core/ext/upb-generated/envoy/config/listener/v2/api_listener.upb.c",
"src/core/ext/upb-generated/envoy/config/listener/v2/api_listener.upb.h",
"src/core/ext/upb-generated/envoy/config/trace/v2/http_tracer.upb.c",
"src/core/ext/upb-generated/envoy/config/trace/v2/http_tracer.upb.h",
"src/core/ext/upb-generated/envoy/service/discovery/v2/ads.upb.c",
"src/core/ext/upb-generated/envoy/service/discovery/v2/ads.upb.h",
"src/core/ext/upb-generated/envoy/service/load_stats/v2/lrs.upb.c",
"src/core/ext/upb-generated/envoy/service/load_stats/v2/lrs.upb.h",
"src/core/ext/upb-generated/envoy/type/http.upb.c",
"src/core/ext/upb-generated/envoy/type/http.upb.h",
"src/core/ext/upb-generated/envoy/type/matcher/regex.upb.c",
"src/core/ext/upb-generated/envoy/type/matcher/regex.upb.h",
"src/core/ext/upb-generated/envoy/type/matcher/string.upb.c",
"src/core/ext/upb-generated/envoy/type/matcher/string.upb.h",
"src/core/ext/upb-generated/envoy/type/metadata/v2/metadata.upb.c",
"src/core/ext/upb-generated/envoy/type/metadata/v2/metadata.upb.h",
"src/core/ext/upb-generated/envoy/type/percent.upb.c",
"src/core/ext/upb-generated/envoy/type/percent.upb.h",
"src/core/ext/upb-generated/envoy/type/range.upb.c",
"src/core/ext/upb-generated/envoy/type/range.upb.h",
"src/core/ext/upb-generated/envoy/type/semantic_version.upb.c",
"src/core/ext/upb-generated/envoy/type/semantic_version.upb.h",
"src/core/ext/upb-generated/envoy/type/tracing/v2/custom_tag.upb.c",
"src/core/ext/upb-generated/envoy/type/tracing/v2/custom_tag.upb.h",
"src/core/ext/upb-generated/envoy/config/accesslog/v3/accesslog.upb.c",
"src/core/ext/upb-generated/envoy/config/accesslog/v3/accesslog.upb.h",
"src/core/ext/upb-generated/envoy/config/cluster/v3/circuit_breaker.upb.c",
"src/core/ext/upb-generated/envoy/config/cluster/v3/circuit_breaker.upb.h",
"src/core/ext/upb-generated/envoy/config/cluster/v3/cluster.upb.c",
"src/core/ext/upb-generated/envoy/config/cluster/v3/cluster.upb.h",
"src/core/ext/upb-generated/envoy/config/cluster/v3/filter.upb.c",
"src/core/ext/upb-generated/envoy/config/cluster/v3/filter.upb.h",
"src/core/ext/upb-generated/envoy/config/cluster/v3/outlier_detection.upb.c",
"src/core/ext/upb-generated/envoy/config/cluster/v3/outlier_detection.upb.h",
"src/core/ext/upb-generated/envoy/config/core/v3/address.upb.c",
"src/core/ext/upb-generated/envoy/config/core/v3/address.upb.h",
"src/core/ext/upb-generated/envoy/config/core/v3/backoff.upb.c",
"src/core/ext/upb-generated/envoy/config/core/v3/backoff.upb.h",
"src/core/ext/upb-generated/envoy/config/core/v3/base.upb.c",
"src/core/ext/upb-generated/envoy/config/core/v3/base.upb.h",
"src/core/ext/upb-generated/envoy/config/core/v3/config_source.upb.c",
"src/core/ext/upb-generated/envoy/config/core/v3/config_source.upb.h",
"src/core/ext/upb-generated/envoy/config/core/v3/event_service_config.upb.c",
"src/core/ext/upb-generated/envoy/config/core/v3/event_service_config.upb.h",
"src/core/ext/upb-generated/envoy/config/core/v3/grpc_service.upb.c",
"src/core/ext/upb-generated/envoy/config/core/v3/grpc_service.upb.h",
"src/core/ext/upb-generated/envoy/config/core/v3/health_check.upb.c",
"src/core/ext/upb-generated/envoy/config/core/v3/health_check.upb.h",
"src/core/ext/upb-generated/envoy/config/core/v3/http_uri.upb.c",
"src/core/ext/upb-generated/envoy/config/core/v3/http_uri.upb.h",
"src/core/ext/upb-generated/envoy/config/core/v3/protocol.upb.c",
"src/core/ext/upb-generated/envoy/config/core/v3/protocol.upb.h",
"src/core/ext/upb-generated/envoy/config/core/v3/proxy_protocol.upb.c",
"src/core/ext/upb-generated/envoy/config/core/v3/proxy_protocol.upb.h",
"src/core/ext/upb-generated/envoy/config/core/v3/socket_option.upb.c",
"src/core/ext/upb-generated/envoy/config/core/v3/socket_option.upb.h",
"src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint.upb.c",
"src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint.upb.h",
"src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint_components.upb.c",
"src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint_components.upb.h",
"src/core/ext/upb-generated/envoy/config/endpoint/v3/load_report.upb.c",
"src/core/ext/upb-generated/envoy/config/endpoint/v3/load_report.upb.h",
"src/core/ext/upb-generated/envoy/config/listener/v3/api_listener.upb.c",
"src/core/ext/upb-generated/envoy/config/listener/v3/api_listener.upb.h",
"src/core/ext/upb-generated/envoy/config/listener/v3/listener.upb.c",
"src/core/ext/upb-generated/envoy/config/listener/v3/listener.upb.h",
"src/core/ext/upb-generated/envoy/config/listener/v3/listener_components.upb.c",
"src/core/ext/upb-generated/envoy/config/listener/v3/listener_components.upb.h",
"src/core/ext/upb-generated/envoy/config/listener/v3/udp_listener_config.upb.c",
"src/core/ext/upb-generated/envoy/config/listener/v3/udp_listener_config.upb.h",
"src/core/ext/upb-generated/envoy/config/rbac/v3/rbac.upb.c",
"src/core/ext/upb-generated/envoy/config/rbac/v3/rbac.upb.h",
"src/core/ext/upb-generated/envoy/config/route/v3/route.upb.c",
"src/core/ext/upb-generated/envoy/config/route/v3/route.upb.h",
"src/core/ext/upb-generated/envoy/config/route/v3/route_components.upb.c",
"src/core/ext/upb-generated/envoy/config/route/v3/route_components.upb.h",
"src/core/ext/upb-generated/envoy/config/route/v3/scoped_route.upb.c",
"src/core/ext/upb-generated/envoy/config/route/v3/scoped_route.upb.h",
"src/core/ext/upb-generated/envoy/config/trace/v3/http_tracer.upb.c",
"src/core/ext/upb-generated/envoy/config/trace/v3/http_tracer.upb.h",
"src/core/ext/upb-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.c",
"src/core/ext/upb-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.h",
"src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/cert.upb.c",
"src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/cert.upb.h",
"src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/common.upb.c",
"src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/common.upb.h",
"src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/secret.upb.c",
"src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/secret.upb.h",
"src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/tls.upb.c",
"src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/tls.upb.h",
"src/core/ext/upb-generated/envoy/service/cluster/v3/cds.upb.c",
"src/core/ext/upb-generated/envoy/service/cluster/v3/cds.upb.h",
"src/core/ext/upb-generated/envoy/service/discovery/v3/ads.upb.c",
"src/core/ext/upb-generated/envoy/service/discovery/v3/ads.upb.h",
"src/core/ext/upb-generated/envoy/service/discovery/v3/discovery.upb.c",
"src/core/ext/upb-generated/envoy/service/discovery/v3/discovery.upb.h",
"src/core/ext/upb-generated/envoy/service/endpoint/v3/eds.upb.c",
"src/core/ext/upb-generated/envoy/service/endpoint/v3/eds.upb.h",
"src/core/ext/upb-generated/envoy/service/listener/v3/lds.upb.c",
"src/core/ext/upb-generated/envoy/service/listener/v3/lds.upb.h",
"src/core/ext/upb-generated/envoy/service/load_stats/v3/lrs.upb.c",
"src/core/ext/upb-generated/envoy/service/load_stats/v3/lrs.upb.h",
"src/core/ext/upb-generated/envoy/service/route/v3/rds.upb.c",
"src/core/ext/upb-generated/envoy/service/route/v3/rds.upb.h",
"src/core/ext/upb-generated/envoy/service/route/v3/srds.upb.c",
"src/core/ext/upb-generated/envoy/service/route/v3/srds.upb.h",
"src/core/ext/upb-generated/envoy/type/matcher/v3/metadata.upb.c",
"src/core/ext/upb-generated/envoy/type/matcher/v3/metadata.upb.h",
"src/core/ext/upb-generated/envoy/type/matcher/v3/number.upb.c",
"src/core/ext/upb-generated/envoy/type/matcher/v3/number.upb.h",
"src/core/ext/upb-generated/envoy/type/matcher/v3/path.upb.c",
"src/core/ext/upb-generated/envoy/type/matcher/v3/path.upb.h",
"src/core/ext/upb-generated/envoy/type/matcher/v3/regex.upb.c",
"src/core/ext/upb-generated/envoy/type/matcher/v3/regex.upb.h",
"src/core/ext/upb-generated/envoy/type/matcher/v3/string.upb.c",
"src/core/ext/upb-generated/envoy/type/matcher/v3/string.upb.h",
"src/core/ext/upb-generated/envoy/type/matcher/v3/value.upb.c",
"src/core/ext/upb-generated/envoy/type/matcher/v3/value.upb.h",
"src/core/ext/upb-generated/envoy/type/metadata/v3/metadata.upb.c",
"src/core/ext/upb-generated/envoy/type/metadata/v3/metadata.upb.h",
"src/core/ext/upb-generated/envoy/type/tracing/v3/custom_tag.upb.c",
"src/core/ext/upb-generated/envoy/type/tracing/v3/custom_tag.upb.h",
"src/core/ext/upb-generated/envoy/type/v3/http.upb.c",
"src/core/ext/upb-generated/envoy/type/v3/http.upb.h",
"src/core/ext/upb-generated/envoy/type/v3/percent.upb.c",
"src/core/ext/upb-generated/envoy/type/v3/percent.upb.h",
"src/core/ext/upb-generated/envoy/type/v3/range.upb.c",
"src/core/ext/upb-generated/envoy/type/v3/range.upb.h",
"src/core/ext/upb-generated/envoy/type/v3/semantic_version.upb.c",
"src/core/ext/upb-generated/envoy/type/v3/semantic_version.upb.h",
"src/core/ext/upb-generated/gogoproto/gogo.upb.c",
"src/core/ext/upb-generated/gogoproto/gogo.upb.h",
"src/core/ext/upb-generated/google/api/annotations.upb.c",
"src/core/ext/upb-generated/google/api/annotations.upb.h",
"src/core/ext/upb-generated/google/api/expr/v1alpha1/syntax.upb.c",
"src/core/ext/upb-generated/google/api/expr/v1alpha1/syntax.upb.h",
"src/core/ext/upb-generated/google/api/http.upb.c",
"src/core/ext/upb-generated/google/api/http.upb.h",
"src/core/ext/upb-generated/google/protobuf/any.upb.c",
@ -539,6 +549,8 @@ config("grpc_config") {
"src/core/ext/upb-generated/udpa/annotations/sensitive.upb.h",
"src/core/ext/upb-generated/udpa/annotations/status.upb.c",
"src/core/ext/upb-generated/udpa/annotations/status.upb.h",
"src/core/ext/upb-generated/udpa/annotations/versioning.upb.c",
"src/core/ext/upb-generated/udpa/annotations/versioning.upb.h",
"src/core/ext/upb-generated/udpa/data/orca/v1/orca_load_report.upb.c",
"src/core/ext/upb-generated/udpa/data/orca/v1/orca_load_report.upb.h",
"src/core/ext/upb-generated/validate/validate.upb.c",
@ -846,8 +858,6 @@ config("grpc_config") {
"src/core/lib/security/transport/security_handshaker.cc",
"src/core/lib/security/transport/security_handshaker.h",
"src/core/lib/security/transport/server_auth_filter.cc",
"src/core/lib/security/transport/target_authority_table.cc",
"src/core/lib/security/transport/target_authority_table.h",
"src/core/lib/security/transport/tsi_error.cc",
"src/core/lib/security/transport/tsi_error.h",
"src/core/lib/security/util/json_util.cc",
@ -858,13 +868,11 @@ config("grpc_config") {
"src/core/lib/slice/percent_encoding.h",
"src/core/lib/slice/slice.cc",
"src/core/lib/slice/slice_buffer.cc",
"src/core/lib/slice/slice_hash_table.h",
"src/core/lib/slice/slice_intern.cc",
"src/core/lib/slice/slice_internal.h",
"src/core/lib/slice/slice_string_helpers.cc",
"src/core/lib/slice/slice_string_helpers.h",
"src/core/lib/slice/slice_utils.h",
"src/core/lib/slice/slice_weak_hash_table.h",
"src/core/lib/surface/api_trace.cc",
"src/core/lib/surface/api_trace.h",
"src/core/lib/surface/byte_buffer.cc",
@ -898,6 +906,8 @@ config("grpc_config") {
"src/core/lib/surface/validate_metadata.cc",
"src/core/lib/surface/validate_metadata.h",
"src/core/lib/surface/version.cc",
"src/core/lib/transport/authority_override.cc",
"src/core/lib/transport/authority_override.h",
"src/core/lib/transport/bdp_estimator.cc",
"src/core/lib/transport/bdp_estimator.h",
"src/core/lib/transport/byte_stream.cc",
@ -1095,7 +1105,6 @@ config("grpc_config") {
"include/grpcpp/completion_queue.h",
"include/grpcpp/completion_queue_impl.h",
"include/grpcpp/create_channel.h",
"include/grpcpp/create_channel_impl.h",
"include/grpcpp/create_channel_posix.h",
"include/grpcpp/ext/health_check_service_server_builder_option.h",
"include/grpcpp/generic/async_generic_service.h",
@ -1179,9 +1188,7 @@ config("grpc_config") {
"include/grpcpp/security/auth_context.h",
"include/grpcpp/security/auth_metadata_processor.h",
"include/grpcpp/security/credentials.h",
"include/grpcpp/security/credentials_impl.h",
"include/grpcpp/security/server_credentials.h",
"include/grpcpp/security/server_credentials_impl.h",
"include/grpcpp/security/tls_credentials_options.h",
"include/grpcpp/server.h",
"include/grpcpp/server_builder.h",

@ -25,12 +25,12 @@
cmake_minimum_required(VERSION 3.5.1)
set(PACKAGE_NAME "grpc")
set(PACKAGE_VERSION "1.31.0-dev")
set(PACKAGE_VERSION "1.32.0-dev")
set(gRPC_CORE_VERSION "11.0.0")
set(gRPC_CORE_SOVERSION "11")
set(gRPC_CPP_VERSION "1.31.0-dev")
set(gRPC_CPP_VERSION "1.32.0-dev")
set(gRPC_CPP_SOVERSION "1")
set(gRPC_CSHARP_VERSION "2.31.0-dev")
set(gRPC_CSHARP_VERSION "2.32.0-dev")
set(gRPC_CSHARP_SOVERSION "2")
set(PACKAGE_STRING "${PACKAGE_NAME} ${PACKAGE_VERSION}")
set(PACKAGE_TARNAME "${PACKAGE_NAME}-${PACKAGE_VERSION}")
@ -120,9 +120,11 @@ set(gRPC_ABSL_USED_TARGETS
absl_errno_saver
absl_fixed_array
absl_function_ref
absl_graphcycles_internal
absl_inlined_vector
absl_inlined_vector_internal
absl_int128
absl_kernel_timeout_internal
absl_log_severity
absl_malloc_internal
absl_memory
@ -137,6 +139,7 @@ set(gRPC_ABSL_USED_TARGETS
absl_strings
absl_strings_internal
absl_symbolize
absl_synchronization
absl_throw_delegate
absl_time
absl_time_zone
@ -433,6 +436,51 @@ protobuf_generate_grpc_cpp(
protobuf_generate_grpc_cpp(
src/proto/grpc/testing/xds/orca_load_report_for_test.proto
)
protobuf_generate_grpc_cpp(
src/proto/grpc/testing/xds/v3/address.proto
)
protobuf_generate_grpc_cpp(
src/proto/grpc/testing/xds/v3/ads.proto
)
protobuf_generate_grpc_cpp(
src/proto/grpc/testing/xds/v3/base.proto
)
protobuf_generate_grpc_cpp(
src/proto/grpc/testing/xds/v3/cluster.proto
)
protobuf_generate_grpc_cpp(
src/proto/grpc/testing/xds/v3/config_source.proto
)
protobuf_generate_grpc_cpp(
src/proto/grpc/testing/xds/v3/discovery.proto
)
protobuf_generate_grpc_cpp(
src/proto/grpc/testing/xds/v3/endpoint.proto
)
protobuf_generate_grpc_cpp(
src/proto/grpc/testing/xds/v3/http_connection_manager.proto
)
protobuf_generate_grpc_cpp(
src/proto/grpc/testing/xds/v3/listener.proto
)
protobuf_generate_grpc_cpp(
src/proto/grpc/testing/xds/v3/load_report.proto
)
protobuf_generate_grpc_cpp(
src/proto/grpc/testing/xds/v3/lrs.proto
)
protobuf_generate_grpc_cpp(
src/proto/grpc/testing/xds/v3/percent.proto
)
protobuf_generate_grpc_cpp(
src/proto/grpc/testing/xds/v3/range.proto
)
protobuf_generate_grpc_cpp(
src/proto/grpc/testing/xds/v3/regex.proto
)
protobuf_generate_grpc_cpp(
src/proto/grpc/testing/xds/v3/route.proto
)
protobuf_generate_grpc_cpp(
test/core/tsi/alts/fake_handshaker/handshaker.proto
)
@ -648,6 +696,7 @@ if(gRPC_BUILD_TESTS)
add_dependencies(buildtests_cxx alts_util_test)
add_dependencies(buildtests_cxx async_end2end_test)
add_dependencies(buildtests_cxx auth_property_iterator_test)
add_dependencies(buildtests_cxx authorization_engine_test)
add_dependencies(buildtests_cxx backoff_test)
add_dependencies(buildtests_cxx bad_streaming_id_bad_client_test)
add_dependencies(buildtests_cxx badreq_bad_client_test)
@ -818,8 +867,6 @@ if(gRPC_BUILD_TESTS)
add_dependencies(buildtests_cxx settings_timeout_test)
add_dependencies(buildtests_cxx shutdown_test)
add_dependencies(buildtests_cxx simple_request_bad_client_test)
add_dependencies(buildtests_cxx slice_hash_table_test)
add_dependencies(buildtests_cxx slice_weak_hash_table_test)
add_dependencies(buildtests_cxx static_metadata_test)
add_dependencies(buildtests_cxx stats_test)
add_dependencies(buildtests_cxx status_metadata_test)
@ -1268,9 +1315,11 @@ target_include_directories(gpr
target_link_libraries(gpr
${_gRPC_ALLTARGETS_LIBRARIES}
absl::time
absl::synchronization
absl::strings
absl::str_format
absl::memory
absl::base
)
if(_gRPC_PLATFORM_ANDROID)
target_link_libraries(gpr
@ -1454,58 +1503,62 @@ add_library(grpc
src/core/ext/transport/inproc/inproc_transport.cc
src/core/ext/upb-generated/envoy/annotations/deprecation.upb.c
src/core/ext/upb-generated/envoy/annotations/resource.upb.c
src/core/ext/upb-generated/envoy/api/v2/auth/cert.upb.c
src/core/ext/upb-generated/envoy/api/v2/auth/common.upb.c
src/core/ext/upb-generated/envoy/api/v2/auth/secret.upb.c
src/core/ext/upb-generated/envoy/api/v2/auth/tls.upb.c
src/core/ext/upb-generated/envoy/api/v2/cds.upb.c
src/core/ext/upb-generated/envoy/api/v2/cluster.upb.c
src/core/ext/upb-generated/envoy/api/v2/cluster/circuit_breaker.upb.c
src/core/ext/upb-generated/envoy/api/v2/cluster/filter.upb.c
src/core/ext/upb-generated/envoy/api/v2/cluster/outlier_detection.upb.c
src/core/ext/upb-generated/envoy/api/v2/core/address.upb.c
src/core/ext/upb-generated/envoy/api/v2/core/backoff.upb.c
src/core/ext/upb-generated/envoy/api/v2/core/base.upb.c
src/core/ext/upb-generated/envoy/api/v2/core/config_source.upb.c
src/core/ext/upb-generated/envoy/api/v2/core/event_service_config.upb.c
src/core/ext/upb-generated/envoy/api/v2/core/grpc_service.upb.c
src/core/ext/upb-generated/envoy/api/v2/core/health_check.upb.c
src/core/ext/upb-generated/envoy/api/v2/core/http_uri.upb.c
src/core/ext/upb-generated/envoy/api/v2/core/protocol.upb.c
src/core/ext/upb-generated/envoy/api/v2/core/socket_option.upb.c
src/core/ext/upb-generated/envoy/api/v2/discovery.upb.c
src/core/ext/upb-generated/envoy/api/v2/eds.upb.c
src/core/ext/upb-generated/envoy/api/v2/endpoint.upb.c
src/core/ext/upb-generated/envoy/api/v2/endpoint/endpoint.upb.c
src/core/ext/upb-generated/envoy/api/v2/endpoint/endpoint_components.upb.c
src/core/ext/upb-generated/envoy/api/v2/endpoint/load_report.upb.c
src/core/ext/upb-generated/envoy/api/v2/lds.upb.c
src/core/ext/upb-generated/envoy/api/v2/listener.upb.c
src/core/ext/upb-generated/envoy/api/v2/listener/listener.upb.c
src/core/ext/upb-generated/envoy/api/v2/listener/listener_components.upb.c
src/core/ext/upb-generated/envoy/api/v2/listener/udp_listener_config.upb.c
src/core/ext/upb-generated/envoy/api/v2/rds.upb.c
src/core/ext/upb-generated/envoy/api/v2/route.upb.c
src/core/ext/upb-generated/envoy/api/v2/route/route.upb.c
src/core/ext/upb-generated/envoy/api/v2/route/route_components.upb.c
src/core/ext/upb-generated/envoy/api/v2/scoped_route.upb.c
src/core/ext/upb-generated/envoy/api/v2/srds.upb.c
src/core/ext/upb-generated/envoy/config/filter/accesslog/v2/accesslog.upb.c
src/core/ext/upb-generated/envoy/config/filter/network/http_connection_manager/v2/http_connection_manager.upb.c
src/core/ext/upb-generated/envoy/config/listener/v2/api_listener.upb.c
src/core/ext/upb-generated/envoy/config/trace/v2/http_tracer.upb.c
src/core/ext/upb-generated/envoy/service/discovery/v2/ads.upb.c
src/core/ext/upb-generated/envoy/service/load_stats/v2/lrs.upb.c
src/core/ext/upb-generated/envoy/type/http.upb.c
src/core/ext/upb-generated/envoy/type/matcher/regex.upb.c
src/core/ext/upb-generated/envoy/type/matcher/string.upb.c
src/core/ext/upb-generated/envoy/type/metadata/v2/metadata.upb.c
src/core/ext/upb-generated/envoy/type/percent.upb.c
src/core/ext/upb-generated/envoy/type/range.upb.c
src/core/ext/upb-generated/envoy/type/semantic_version.upb.c
src/core/ext/upb-generated/envoy/type/tracing/v2/custom_tag.upb.c
src/core/ext/upb-generated/envoy/config/accesslog/v3/accesslog.upb.c
src/core/ext/upb-generated/envoy/config/cluster/v3/circuit_breaker.upb.c
src/core/ext/upb-generated/envoy/config/cluster/v3/cluster.upb.c
src/core/ext/upb-generated/envoy/config/cluster/v3/filter.upb.c
src/core/ext/upb-generated/envoy/config/cluster/v3/outlier_detection.upb.c
src/core/ext/upb-generated/envoy/config/core/v3/address.upb.c
src/core/ext/upb-generated/envoy/config/core/v3/backoff.upb.c
src/core/ext/upb-generated/envoy/config/core/v3/base.upb.c
src/core/ext/upb-generated/envoy/config/core/v3/config_source.upb.c
src/core/ext/upb-generated/envoy/config/core/v3/event_service_config.upb.c
src/core/ext/upb-generated/envoy/config/core/v3/grpc_service.upb.c
src/core/ext/upb-generated/envoy/config/core/v3/health_check.upb.c
src/core/ext/upb-generated/envoy/config/core/v3/http_uri.upb.c
src/core/ext/upb-generated/envoy/config/core/v3/protocol.upb.c
src/core/ext/upb-generated/envoy/config/core/v3/proxy_protocol.upb.c
src/core/ext/upb-generated/envoy/config/core/v3/socket_option.upb.c
src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint.upb.c
src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint_components.upb.c
src/core/ext/upb-generated/envoy/config/endpoint/v3/load_report.upb.c
src/core/ext/upb-generated/envoy/config/listener/v3/api_listener.upb.c
src/core/ext/upb-generated/envoy/config/listener/v3/listener.upb.c
src/core/ext/upb-generated/envoy/config/listener/v3/listener_components.upb.c
src/core/ext/upb-generated/envoy/config/listener/v3/udp_listener_config.upb.c
src/core/ext/upb-generated/envoy/config/rbac/v3/rbac.upb.c
src/core/ext/upb-generated/envoy/config/route/v3/route.upb.c
src/core/ext/upb-generated/envoy/config/route/v3/route_components.upb.c
src/core/ext/upb-generated/envoy/config/route/v3/scoped_route.upb.c
src/core/ext/upb-generated/envoy/config/trace/v3/http_tracer.upb.c
src/core/ext/upb-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.c
src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/cert.upb.c
src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/common.upb.c
src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/secret.upb.c
src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/tls.upb.c
src/core/ext/upb-generated/envoy/service/cluster/v3/cds.upb.c
src/core/ext/upb-generated/envoy/service/discovery/v3/ads.upb.c
src/core/ext/upb-generated/envoy/service/discovery/v3/discovery.upb.c
src/core/ext/upb-generated/envoy/service/endpoint/v3/eds.upb.c
src/core/ext/upb-generated/envoy/service/listener/v3/lds.upb.c
src/core/ext/upb-generated/envoy/service/load_stats/v3/lrs.upb.c
src/core/ext/upb-generated/envoy/service/route/v3/rds.upb.c
src/core/ext/upb-generated/envoy/service/route/v3/srds.upb.c
src/core/ext/upb-generated/envoy/type/matcher/v3/metadata.upb.c
src/core/ext/upb-generated/envoy/type/matcher/v3/number.upb.c
src/core/ext/upb-generated/envoy/type/matcher/v3/path.upb.c
src/core/ext/upb-generated/envoy/type/matcher/v3/regex.upb.c
src/core/ext/upb-generated/envoy/type/matcher/v3/string.upb.c
src/core/ext/upb-generated/envoy/type/matcher/v3/value.upb.c
src/core/ext/upb-generated/envoy/type/metadata/v3/metadata.upb.c
src/core/ext/upb-generated/envoy/type/tracing/v3/custom_tag.upb.c
src/core/ext/upb-generated/envoy/type/v3/http.upb.c
src/core/ext/upb-generated/envoy/type/v3/percent.upb.c
src/core/ext/upb-generated/envoy/type/v3/range.upb.c
src/core/ext/upb-generated/envoy/type/v3/semantic_version.upb.c
src/core/ext/upb-generated/gogoproto/gogo.upb.c
src/core/ext/upb-generated/google/api/annotations.upb.c
src/core/ext/upb-generated/google/api/expr/v1alpha1/syntax.upb.c
src/core/ext/upb-generated/google/api/http.upb.c
src/core/ext/upb-generated/google/protobuf/any.upb.c
src/core/ext/upb-generated/google/protobuf/descriptor.upb.c
@ -1523,6 +1576,7 @@ add_library(grpc
src/core/ext/upb-generated/udpa/annotations/migrate.upb.c
src/core/ext/upb-generated/udpa/annotations/sensitive.upb.c
src/core/ext/upb-generated/udpa/annotations/status.upb.c
src/core/ext/upb-generated/udpa/annotations/versioning.upb.c
src/core/ext/upb-generated/udpa/data/orca/v1/orca_load_report.upb.c
src/core/ext/upb-generated/validate/validate.upb.c
src/core/lib/avl/avl.cc
@ -1687,7 +1741,6 @@ add_library(grpc
src/core/lib/security/transport/secure_endpoint.cc
src/core/lib/security/transport/security_handshaker.cc
src/core/lib/security/transport/server_auth_filter.cc
src/core/lib/security/transport/target_authority_table.cc
src/core/lib/security/transport/tsi_error.cc
src/core/lib/security/util/json_util.cc
src/core/lib/slice/b64.cc
@ -1716,6 +1769,7 @@ add_library(grpc
src/core/lib/surface/server.cc
src/core/lib/surface/validate_metadata.cc
src/core/lib/surface/version.cc
src/core/lib/transport/authority_override.cc
src/core/lib/transport/bdp_estimator.cc
src/core/lib/transport/byte_stream.cc
src/core/lib/transport/connectivity_state.cc
@ -2131,58 +2185,62 @@ add_library(grpc_unsecure
src/core/ext/transport/inproc/inproc_transport.cc
src/core/ext/upb-generated/envoy/annotations/deprecation.upb.c
src/core/ext/upb-generated/envoy/annotations/resource.upb.c
src/core/ext/upb-generated/envoy/api/v2/auth/cert.upb.c
src/core/ext/upb-generated/envoy/api/v2/auth/common.upb.c
src/core/ext/upb-generated/envoy/api/v2/auth/secret.upb.c
src/core/ext/upb-generated/envoy/api/v2/auth/tls.upb.c
src/core/ext/upb-generated/envoy/api/v2/cds.upb.c
src/core/ext/upb-generated/envoy/api/v2/cluster.upb.c
src/core/ext/upb-generated/envoy/api/v2/cluster/circuit_breaker.upb.c
src/core/ext/upb-generated/envoy/api/v2/cluster/filter.upb.c
src/core/ext/upb-generated/envoy/api/v2/cluster/outlier_detection.upb.c
src/core/ext/upb-generated/envoy/api/v2/core/address.upb.c
src/core/ext/upb-generated/envoy/api/v2/core/backoff.upb.c
src/core/ext/upb-generated/envoy/api/v2/core/base.upb.c
src/core/ext/upb-generated/envoy/api/v2/core/config_source.upb.c
src/core/ext/upb-generated/envoy/api/v2/core/event_service_config.upb.c
src/core/ext/upb-generated/envoy/api/v2/core/grpc_service.upb.c
src/core/ext/upb-generated/envoy/api/v2/core/health_check.upb.c
src/core/ext/upb-generated/envoy/api/v2/core/http_uri.upb.c
src/core/ext/upb-generated/envoy/api/v2/core/protocol.upb.c
src/core/ext/upb-generated/envoy/api/v2/core/socket_option.upb.c
src/core/ext/upb-generated/envoy/api/v2/discovery.upb.c
src/core/ext/upb-generated/envoy/api/v2/eds.upb.c
src/core/ext/upb-generated/envoy/api/v2/endpoint.upb.c
src/core/ext/upb-generated/envoy/api/v2/endpoint/endpoint.upb.c
src/core/ext/upb-generated/envoy/api/v2/endpoint/endpoint_components.upb.c
src/core/ext/upb-generated/envoy/api/v2/endpoint/load_report.upb.c
src/core/ext/upb-generated/envoy/api/v2/lds.upb.c
src/core/ext/upb-generated/envoy/api/v2/listener.upb.c
src/core/ext/upb-generated/envoy/api/v2/listener/listener.upb.c
src/core/ext/upb-generated/envoy/api/v2/listener/listener_components.upb.c
src/core/ext/upb-generated/envoy/api/v2/listener/udp_listener_config.upb.c
src/core/ext/upb-generated/envoy/api/v2/rds.upb.c
src/core/ext/upb-generated/envoy/api/v2/route.upb.c
src/core/ext/upb-generated/envoy/api/v2/route/route.upb.c
src/core/ext/upb-generated/envoy/api/v2/route/route_components.upb.c
src/core/ext/upb-generated/envoy/api/v2/scoped_route.upb.c
src/core/ext/upb-generated/envoy/api/v2/srds.upb.c
src/core/ext/upb-generated/envoy/config/filter/accesslog/v2/accesslog.upb.c
src/core/ext/upb-generated/envoy/config/filter/network/http_connection_manager/v2/http_connection_manager.upb.c
src/core/ext/upb-generated/envoy/config/listener/v2/api_listener.upb.c
src/core/ext/upb-generated/envoy/config/trace/v2/http_tracer.upb.c
src/core/ext/upb-generated/envoy/service/discovery/v2/ads.upb.c
src/core/ext/upb-generated/envoy/service/load_stats/v2/lrs.upb.c
src/core/ext/upb-generated/envoy/type/http.upb.c
src/core/ext/upb-generated/envoy/type/matcher/regex.upb.c
src/core/ext/upb-generated/envoy/type/matcher/string.upb.c
src/core/ext/upb-generated/envoy/type/metadata/v2/metadata.upb.c
src/core/ext/upb-generated/envoy/type/percent.upb.c
src/core/ext/upb-generated/envoy/type/range.upb.c
src/core/ext/upb-generated/envoy/type/semantic_version.upb.c
src/core/ext/upb-generated/envoy/type/tracing/v2/custom_tag.upb.c
src/core/ext/upb-generated/envoy/config/accesslog/v3/accesslog.upb.c
src/core/ext/upb-generated/envoy/config/cluster/v3/circuit_breaker.upb.c
src/core/ext/upb-generated/envoy/config/cluster/v3/cluster.upb.c
src/core/ext/upb-generated/envoy/config/cluster/v3/filter.upb.c
src/core/ext/upb-generated/envoy/config/cluster/v3/outlier_detection.upb.c
src/core/ext/upb-generated/envoy/config/core/v3/address.upb.c
src/core/ext/upb-generated/envoy/config/core/v3/backoff.upb.c
src/core/ext/upb-generated/envoy/config/core/v3/base.upb.c
src/core/ext/upb-generated/envoy/config/core/v3/config_source.upb.c
src/core/ext/upb-generated/envoy/config/core/v3/event_service_config.upb.c
src/core/ext/upb-generated/envoy/config/core/v3/grpc_service.upb.c
src/core/ext/upb-generated/envoy/config/core/v3/health_check.upb.c
src/core/ext/upb-generated/envoy/config/core/v3/http_uri.upb.c
src/core/ext/upb-generated/envoy/config/core/v3/protocol.upb.c
src/core/ext/upb-generated/envoy/config/core/v3/proxy_protocol.upb.c
src/core/ext/upb-generated/envoy/config/core/v3/socket_option.upb.c
src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint.upb.c
src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint_components.upb.c
src/core/ext/upb-generated/envoy/config/endpoint/v3/load_report.upb.c
src/core/ext/upb-generated/envoy/config/listener/v3/api_listener.upb.c
src/core/ext/upb-generated/envoy/config/listener/v3/listener.upb.c
src/core/ext/upb-generated/envoy/config/listener/v3/listener_components.upb.c
src/core/ext/upb-generated/envoy/config/listener/v3/udp_listener_config.upb.c
src/core/ext/upb-generated/envoy/config/rbac/v3/rbac.upb.c
src/core/ext/upb-generated/envoy/config/route/v3/route.upb.c
src/core/ext/upb-generated/envoy/config/route/v3/route_components.upb.c
src/core/ext/upb-generated/envoy/config/route/v3/scoped_route.upb.c
src/core/ext/upb-generated/envoy/config/trace/v3/http_tracer.upb.c
src/core/ext/upb-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.c
src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/cert.upb.c
src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/common.upb.c
src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/secret.upb.c
src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/tls.upb.c
src/core/ext/upb-generated/envoy/service/cluster/v3/cds.upb.c
src/core/ext/upb-generated/envoy/service/discovery/v3/ads.upb.c
src/core/ext/upb-generated/envoy/service/discovery/v3/discovery.upb.c
src/core/ext/upb-generated/envoy/service/endpoint/v3/eds.upb.c
src/core/ext/upb-generated/envoy/service/listener/v3/lds.upb.c
src/core/ext/upb-generated/envoy/service/load_stats/v3/lrs.upb.c
src/core/ext/upb-generated/envoy/service/route/v3/rds.upb.c
src/core/ext/upb-generated/envoy/service/route/v3/srds.upb.c
src/core/ext/upb-generated/envoy/type/matcher/v3/metadata.upb.c
src/core/ext/upb-generated/envoy/type/matcher/v3/number.upb.c
src/core/ext/upb-generated/envoy/type/matcher/v3/path.upb.c
src/core/ext/upb-generated/envoy/type/matcher/v3/regex.upb.c
src/core/ext/upb-generated/envoy/type/matcher/v3/string.upb.c
src/core/ext/upb-generated/envoy/type/matcher/v3/value.upb.c
src/core/ext/upb-generated/envoy/type/metadata/v3/metadata.upb.c
src/core/ext/upb-generated/envoy/type/tracing/v3/custom_tag.upb.c
src/core/ext/upb-generated/envoy/type/v3/http.upb.c
src/core/ext/upb-generated/envoy/type/v3/percent.upb.c
src/core/ext/upb-generated/envoy/type/v3/range.upb.c
src/core/ext/upb-generated/envoy/type/v3/semantic_version.upb.c
src/core/ext/upb-generated/gogoproto/gogo.upb.c
src/core/ext/upb-generated/google/api/annotations.upb.c
src/core/ext/upb-generated/google/api/expr/v1alpha1/syntax.upb.c
src/core/ext/upb-generated/google/api/http.upb.c
src/core/ext/upb-generated/google/protobuf/any.upb.c
src/core/ext/upb-generated/google/protobuf/descriptor.upb.c
@ -2197,6 +2255,7 @@ add_library(grpc_unsecure
src/core/ext/upb-generated/udpa/annotations/migrate.upb.c
src/core/ext/upb-generated/udpa/annotations/sensitive.upb.c
src/core/ext/upb-generated/udpa/annotations/status.upb.c
src/core/ext/upb-generated/udpa/annotations/versioning.upb.c
src/core/ext/upb-generated/udpa/data/orca/v1/orca_load_report.upb.c
src/core/ext/upb-generated/validate/validate.upb.c
src/core/lib/avl/avl.cc
@ -2347,6 +2406,7 @@ add_library(grpc_unsecure
src/core/lib/surface/server.cc
src/core/lib/surface/validate_metadata.cc
src/core/lib/surface/version.cc
src/core/lib/transport/authority_override.cc
src/core/lib/transport/bdp_estimator.cc
src/core/lib/transport/byte_stream.cc
src/core/lib/transport/connectivity_state.cc
@ -2689,7 +2749,6 @@ foreach(_hdr
include/grpcpp/completion_queue.h
include/grpcpp/completion_queue_impl.h
include/grpcpp/create_channel.h
include/grpcpp/create_channel_impl.h
include/grpcpp/create_channel_posix.h
include/grpcpp/ext/health_check_service_server_builder_option.h
include/grpcpp/generic/async_generic_service.h
@ -2773,9 +2832,7 @@ foreach(_hdr
include/grpcpp/security/auth_context.h
include/grpcpp/security/auth_metadata_processor.h
include/grpcpp/security/credentials.h
include/grpcpp/security/credentials_impl.h
include/grpcpp/security/server_credentials.h
include/grpcpp/security/server_credentials_impl.h
include/grpcpp/security/tls_credentials_options.h
include/grpcpp/server.h
include/grpcpp/server_builder.h
@ -2945,7 +3002,6 @@ target_link_libraries(grpc++_error_details
foreach(_hdr
include/grpc++/support/error_details.h
include/grpcpp/support/error_details.h
include/grpcpp/support/error_details_impl.h
)
string(REPLACE "include/" "" _path ${_hdr})
get_filename_component(_path ${_path} PATH)
@ -3383,7 +3439,6 @@ foreach(_hdr
include/grpcpp/completion_queue.h
include/grpcpp/completion_queue_impl.h
include/grpcpp/create_channel.h
include/grpcpp/create_channel_impl.h
include/grpcpp/create_channel_posix.h
include/grpcpp/ext/health_check_service_server_builder_option.h
include/grpcpp/generic/async_generic_service.h
@ -3467,9 +3522,7 @@ foreach(_hdr
include/grpcpp/security/auth_context.h
include/grpcpp/security/auth_metadata_processor.h
include/grpcpp/security/credentials.h
include/grpcpp/security/credentials_impl.h
include/grpcpp/security/server_credentials.h
include/grpcpp/security/server_credentials_impl.h
include/grpcpp/security/tls_credentials_options.h
include/grpcpp/server.h
include/grpcpp/server_builder.h
@ -8361,6 +8414,46 @@ target_link_libraries(auth_property_iterator_test
)
endif()
if(gRPC_BUILD_TESTS)
add_executable(authorization_engine_test
src/core/lib/security/authorization/authorization_engine.cc
test/core/security/authorization_engine_test.cc
third_party/googletest/googletest/src/gtest-all.cc
third_party/googletest/googlemock/src/gmock-all.cc
)
target_include_directories(authorization_engine_test
PRIVATE
${CMAKE_CURRENT_SOURCE_DIR}
${CMAKE_CURRENT_SOURCE_DIR}/include
${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
${_gRPC_RE2_INCLUDE_DIR}
${_gRPC_SSL_INCLUDE_DIR}
${_gRPC_UPB_GENERATED_DIR}
${_gRPC_UPB_GRPC_GENERATED_DIR}
${_gRPC_UPB_INCLUDE_DIR}
${_gRPC_ZLIB_INCLUDE_DIR}
third_party/googletest/googletest/include
third_party/googletest/googletest
third_party/googletest/googlemock/include
third_party/googletest/googlemock
${_gRPC_PROTO_GENS_DIR}
)
target_link_libraries(authorization_engine_test
${_gRPC_PROTOBUF_LIBRARIES}
${_gRPC_ALLTARGETS_LIBRARIES}
grpc_test_util
grpc
gpr
address_sorting
upb
${_gRPC_GFLAGS_LIBRARIES}
)
endif()
if(gRPC_BUILD_TESTS)
@ -13772,84 +13865,6 @@ target_link_libraries(simple_request_bad_client_test
)
endif()
if(gRPC_BUILD_TESTS)
add_executable(slice_hash_table_test
test/core/slice/slice_hash_table_test.cc
third_party/googletest/googletest/src/gtest-all.cc
third_party/googletest/googlemock/src/gmock-all.cc
)
target_include_directories(slice_hash_table_test
PRIVATE
${CMAKE_CURRENT_SOURCE_DIR}
${CMAKE_CURRENT_SOURCE_DIR}/include
${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
${_gRPC_RE2_INCLUDE_DIR}
${_gRPC_SSL_INCLUDE_DIR}
${_gRPC_UPB_GENERATED_DIR}
${_gRPC_UPB_GRPC_GENERATED_DIR}
${_gRPC_UPB_INCLUDE_DIR}
${_gRPC_ZLIB_INCLUDE_DIR}
third_party/googletest/googletest/include
third_party/googletest/googletest
third_party/googletest/googlemock/include
third_party/googletest/googlemock
${_gRPC_PROTO_GENS_DIR}
)
target_link_libraries(slice_hash_table_test
${_gRPC_PROTOBUF_LIBRARIES}
${_gRPC_ALLTARGETS_LIBRARIES}
grpc_test_util
grpc
gpr
address_sorting
upb
${_gRPC_GFLAGS_LIBRARIES}
)
endif()
if(gRPC_BUILD_TESTS)
add_executable(slice_weak_hash_table_test
test/core/slice/slice_weak_hash_table_test.cc
third_party/googletest/googletest/src/gtest-all.cc
third_party/googletest/googlemock/src/gmock-all.cc
)
target_include_directories(slice_weak_hash_table_test
PRIVATE
${CMAKE_CURRENT_SOURCE_DIR}
${CMAKE_CURRENT_SOURCE_DIR}/include
${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
${_gRPC_RE2_INCLUDE_DIR}
${_gRPC_SSL_INCLUDE_DIR}
${_gRPC_UPB_GENERATED_DIR}
${_gRPC_UPB_GRPC_GENERATED_DIR}
${_gRPC_UPB_INCLUDE_DIR}
${_gRPC_ZLIB_INCLUDE_DIR}
third_party/googletest/googletest/include
third_party/googletest/googletest
third_party/googletest/googlemock/include
third_party/googletest/googlemock
${_gRPC_PROTO_GENS_DIR}
)
target_link_libraries(slice_weak_hash_table_test
${_gRPC_PROTOBUF_LIBRARIES}
${_gRPC_ALLTARGETS_LIBRARIES}
grpc_test_util
grpc
gpr
address_sorting
upb
${_gRPC_GFLAGS_LIBRARIES}
)
endif()
if(gRPC_BUILD_TESTS)
@ -14810,6 +14825,66 @@ if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/lrs_for_test.grpc.pb.cc
${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/lrs_for_test.pb.h
${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/lrs_for_test.grpc.pb.h
${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/address.pb.cc
${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/address.grpc.pb.cc
${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/address.pb.h
${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/address.grpc.pb.h
${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/ads.pb.cc
${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/ads.grpc.pb.cc
${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/ads.pb.h
${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/ads.grpc.pb.h
${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/base.pb.cc
${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/base.grpc.pb.cc
${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/base.pb.h
${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/base.grpc.pb.h
${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/cluster.pb.cc
${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/cluster.grpc.pb.cc
${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/cluster.pb.h
${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/cluster.grpc.pb.h
${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/config_source.pb.cc
${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/config_source.grpc.pb.cc
${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/config_source.pb.h
${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/config_source.grpc.pb.h
${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/discovery.pb.cc
${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/discovery.grpc.pb.cc
${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/discovery.pb.h
${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/discovery.grpc.pb.h
${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/endpoint.pb.cc
${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/endpoint.grpc.pb.cc
${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/endpoint.pb.h
${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/endpoint.grpc.pb.h
${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/http_connection_manager.pb.cc
${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/http_connection_manager.grpc.pb.cc
${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/http_connection_manager.pb.h
${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/http_connection_manager.grpc.pb.h
${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/listener.pb.cc
${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/listener.grpc.pb.cc
${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/listener.pb.h
${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/listener.grpc.pb.h
${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/load_report.pb.cc
${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/load_report.grpc.pb.cc
${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/load_report.pb.h
${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/load_report.grpc.pb.h
${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/lrs.pb.cc
${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/lrs.grpc.pb.cc
${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/lrs.pb.h
${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/lrs.grpc.pb.h
${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/percent.pb.cc
${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/percent.grpc.pb.cc
${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/percent.pb.h
${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/percent.grpc.pb.h
${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/range.pb.cc
${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/range.grpc.pb.cc
${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/range.pb.h
${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/range.grpc.pb.h
${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/regex.pb.cc
${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/regex.grpc.pb.cc
${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/regex.pb.h
${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/regex.grpc.pb.h
${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/route.pb.cc
${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/route.grpc.pb.cc
${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/route.pb.h
${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/xds/v3/route.grpc.pb.h
test/cpp/end2end/test_service_impl.cc
test/cpp/end2end/xds_end2end_test.cc
third_party/googletest/googletest/src/gtest-all.cc
@ -15547,7 +15622,7 @@ generate_pkgconfig(
"gRPC platform support library"
"${gRPC_CORE_VERSION}"
""
"-lgpr -labsl_str_format_internal -labsl_time -labsl_time_zone -labsl_civil_time -labsl_strings -labsl_strings_internal -labsl_throw_delegate -labsl_int128 -labsl_base -labsl_spinlock_wait -labsl_raw_logging_internal -labsl_log_severity -labsl_dynamic_annotations"
"-lgpr -labsl_str_format_internal -labsl_synchronization -labsl_graphcycles_internal -labsl_symbolize -labsl_demangle_internal -labsl_stacktrace -labsl_debugging_internal -labsl_malloc_internal -labsl_time -labsl_time_zone -labsl_civil_time -labsl_strings -labsl_strings_internal -labsl_throw_delegate -labsl_int128 -labsl_base -labsl_spinlock_wait -labsl_raw_logging_internal -labsl_log_severity -labsl_dynamic_annotations"
""
"gpr.pc")
@ -15557,7 +15632,7 @@ generate_pkgconfig(
"high performance general RPC framework"
"${gRPC_CORE_VERSION}"
"gpr openssl"
"-lgrpc -laddress_sorting -lre2 -lupb -lcares -lz -labsl_status -labsl_cord -labsl_symbolize -labsl_demangle_internal -labsl_malloc_internal -labsl_stacktrace -labsl_debugging_internal -labsl_bad_optional_access -labsl_str_format_internal -labsl_time -labsl_time_zone -labsl_civil_time -labsl_strings -labsl_strings_internal -labsl_throw_delegate -labsl_int128 -labsl_base -labsl_spinlock_wait -labsl_raw_logging_internal -labsl_log_severity -labsl_dynamic_annotations"
"-lgrpc -laddress_sorting -lre2 -lupb -lcares -lz -labsl_status -labsl_cord -labsl_bad_optional_access -labsl_str_format_internal -labsl_synchronization -labsl_graphcycles_internal -labsl_symbolize -labsl_demangle_internal -labsl_stacktrace -labsl_debugging_internal -labsl_malloc_internal -labsl_time -labsl_time_zone -labsl_civil_time -labsl_strings -labsl_strings_internal -labsl_throw_delegate -labsl_int128 -labsl_base -labsl_spinlock_wait -labsl_raw_logging_internal -labsl_log_severity -labsl_dynamic_annotations"
""
"grpc.pc")
@ -15567,7 +15642,7 @@ generate_pkgconfig(
"high performance general RPC framework without SSL"
"${gRPC_CORE_VERSION}"
"gpr"
"-lgrpc_unsecure -labsl_status -labsl_cord -labsl_symbolize -labsl_demangle_internal -labsl_malloc_internal -labsl_stacktrace -labsl_debugging_internal -labsl_bad_optional_access -labsl_str_format_internal -labsl_time -labsl_time_zone -labsl_civil_time -labsl_strings -labsl_strings_internal -labsl_throw_delegate -labsl_int128 -labsl_base -labsl_spinlock_wait -labsl_raw_logging_internal -labsl_log_severity -labsl_dynamic_annotations"
"-lgrpc_unsecure -labsl_status -labsl_cord -labsl_bad_optional_access -labsl_str_format_internal -labsl_synchronization -labsl_graphcycles_internal -labsl_symbolize -labsl_demangle_internal -labsl_stacktrace -labsl_debugging_internal -labsl_malloc_internal -labsl_time -labsl_time_zone -labsl_civil_time -labsl_strings -labsl_strings_internal -labsl_throw_delegate -labsl_int128 -labsl_base -labsl_spinlock_wait -labsl_raw_logging_internal -labsl_log_severity -labsl_dynamic_annotations"
""
"grpc_unsecure.pc")
@ -15577,7 +15652,7 @@ generate_pkgconfig(
"C++ wrapper for gRPC"
"${gRPC_CPP_VERSION}"
"grpc"
"-lgrpc++ -labsl_status -labsl_cord -labsl_symbolize -labsl_demangle_internal -labsl_malloc_internal -labsl_stacktrace -labsl_debugging_internal -labsl_bad_optional_access -labsl_str_format_internal -labsl_time -labsl_time_zone -labsl_civil_time -labsl_strings -labsl_strings_internal -labsl_throw_delegate -labsl_int128 -labsl_base -labsl_spinlock_wait -labsl_raw_logging_internal -labsl_log_severity -labsl_dynamic_annotations"
"-lgrpc++ -labsl_status -labsl_cord -labsl_bad_optional_access -labsl_str_format_internal -labsl_synchronization -labsl_graphcycles_internal -labsl_symbolize -labsl_demangle_internal -labsl_stacktrace -labsl_debugging_internal -labsl_malloc_internal -labsl_time -labsl_time_zone -labsl_civil_time -labsl_strings -labsl_strings_internal -labsl_throw_delegate -labsl_int128 -labsl_base -labsl_spinlock_wait -labsl_raw_logging_internal -labsl_log_severity -labsl_dynamic_annotations"
""
"grpc++.pc")
@ -15587,6 +15662,6 @@ generate_pkgconfig(
"C++ wrapper for gRPC without SSL"
"${gRPC_CPP_VERSION}"
"grpc_unsecure"
"-lgrpc++_unsecure -labsl_status -labsl_cord -labsl_symbolize -labsl_demangle_internal -labsl_malloc_internal -labsl_stacktrace -labsl_debugging_internal -labsl_bad_optional_access -labsl_str_format_internal -labsl_time -labsl_time_zone -labsl_civil_time -labsl_strings -labsl_strings_internal -labsl_throw_delegate -labsl_int128 -labsl_base -labsl_spinlock_wait -labsl_raw_logging_internal -labsl_log_severity -labsl_dynamic_annotations"
"-lgrpc++_unsecure -labsl_status -labsl_cord -labsl_bad_optional_access -labsl_str_format_internal -labsl_synchronization -labsl_graphcycles_internal -labsl_symbolize -labsl_demangle_internal -labsl_stacktrace -labsl_debugging_internal -labsl_malloc_internal -labsl_time -labsl_time_zone -labsl_civil_time -labsl_strings -labsl_strings_internal -labsl_throw_delegate -labsl_int128 -labsl_base -labsl_spinlock_wait -labsl_raw_logging_internal -labsl_log_severity -labsl_dynamic_annotations"
""
"grpc++_unsecure.pc")

@ -450,8 +450,8 @@ Q = @
endif
CORE_VERSION = 11.0.0
CPP_VERSION = 1.31.0-dev
CSHARP_VERSION = 2.31.0-dev
CPP_VERSION = 1.32.0-dev
CSHARP_VERSION = 2.32.0-dev
CPPFLAGS_NO_ARCH += $(addprefix -I, $(INCLUDES)) $(addprefix -D, $(DEFINES))
CPPFLAGS += $(CPPFLAGS_NO_ARCH) $(ARCH_FLAGS)
@ -1148,6 +1148,7 @@ alts_credentials_fuzzer: $(BINDIR)/$(CONFIG)/alts_credentials_fuzzer
alts_util_test: $(BINDIR)/$(CONFIG)/alts_util_test
async_end2end_test: $(BINDIR)/$(CONFIG)/async_end2end_test
auth_property_iterator_test: $(BINDIR)/$(CONFIG)/auth_property_iterator_test
authorization_engine_test: $(BINDIR)/$(CONFIG)/authorization_engine_test
backoff_test: $(BINDIR)/$(CONFIG)/backoff_test
bad_streaming_id_bad_client_test: $(BINDIR)/$(CONFIG)/bad_streaming_id_bad_client_test
badreq_bad_client_test: $(BINDIR)/$(CONFIG)/badreq_bad_client_test
@ -1273,8 +1274,6 @@ service_config_test: $(BINDIR)/$(CONFIG)/service_config_test
settings_timeout_test: $(BINDIR)/$(CONFIG)/settings_timeout_test
shutdown_test: $(BINDIR)/$(CONFIG)/shutdown_test
simple_request_bad_client_test: $(BINDIR)/$(CONFIG)/simple_request_bad_client_test
slice_hash_table_test: $(BINDIR)/$(CONFIG)/slice_hash_table_test
slice_weak_hash_table_test: $(BINDIR)/$(CONFIG)/slice_weak_hash_table_test
ssl_server_fuzzer: $(BINDIR)/$(CONFIG)/ssl_server_fuzzer
static_metadata_test: $(BINDIR)/$(CONFIG)/static_metadata_test
stats_test: $(BINDIR)/$(CONFIG)/stats_test
@ -1527,6 +1526,7 @@ buildtests_cxx: privatelibs_cxx \
$(BINDIR)/$(CONFIG)/alts_util_test \
$(BINDIR)/$(CONFIG)/async_end2end_test \
$(BINDIR)/$(CONFIG)/auth_property_iterator_test \
$(BINDIR)/$(CONFIG)/authorization_engine_test \
$(BINDIR)/$(CONFIG)/backoff_test \
$(BINDIR)/$(CONFIG)/bad_streaming_id_bad_client_test \
$(BINDIR)/$(CONFIG)/badreq_bad_client_test \
@ -1635,8 +1635,6 @@ buildtests_cxx: privatelibs_cxx \
$(BINDIR)/$(CONFIG)/settings_timeout_test \
$(BINDIR)/$(CONFIG)/shutdown_test \
$(BINDIR)/$(CONFIG)/simple_request_bad_client_test \
$(BINDIR)/$(CONFIG)/slice_hash_table_test \
$(BINDIR)/$(CONFIG)/slice_weak_hash_table_test \
$(BINDIR)/$(CONFIG)/static_metadata_test \
$(BINDIR)/$(CONFIG)/stats_test \
$(BINDIR)/$(CONFIG)/status_metadata_test \
@ -1686,6 +1684,7 @@ buildtests_cxx: privatelibs_cxx \
$(BINDIR)/$(CONFIG)/alts_util_test \
$(BINDIR)/$(CONFIG)/async_end2end_test \
$(BINDIR)/$(CONFIG)/auth_property_iterator_test \
$(BINDIR)/$(CONFIG)/authorization_engine_test \
$(BINDIR)/$(CONFIG)/backoff_test \
$(BINDIR)/$(CONFIG)/bad_streaming_id_bad_client_test \
$(BINDIR)/$(CONFIG)/badreq_bad_client_test \
@ -1794,8 +1793,6 @@ buildtests_cxx: privatelibs_cxx \
$(BINDIR)/$(CONFIG)/settings_timeout_test \
$(BINDIR)/$(CONFIG)/shutdown_test \
$(BINDIR)/$(CONFIG)/simple_request_bad_client_test \
$(BINDIR)/$(CONFIG)/slice_hash_table_test \
$(BINDIR)/$(CONFIG)/slice_weak_hash_table_test \
$(BINDIR)/$(CONFIG)/static_metadata_test \
$(BINDIR)/$(CONFIG)/stats_test \
$(BINDIR)/$(CONFIG)/status_metadata_test \
@ -2130,6 +2127,8 @@ test_cxx: buildtests_cxx
$(Q) $(BINDIR)/$(CONFIG)/async_end2end_test || ( echo test async_end2end_test failed ; exit 1 )
$(E) "[RUN] Testing auth_property_iterator_test"
$(Q) $(BINDIR)/$(CONFIG)/auth_property_iterator_test || ( echo test auth_property_iterator_test failed ; exit 1 )
$(E) "[RUN] Testing authorization_engine_test"
$(Q) $(BINDIR)/$(CONFIG)/authorization_engine_test || ( echo test authorization_engine_test failed ; exit 1 )
$(E) "[RUN] Testing backoff_test"
$(Q) $(BINDIR)/$(CONFIG)/backoff_test || ( echo test backoff_test failed ; exit 1 )
$(E) "[RUN] Testing bad_streaming_id_bad_client_test"
@ -2314,10 +2313,6 @@ test_cxx: buildtests_cxx
$(Q) $(BINDIR)/$(CONFIG)/shutdown_test || ( echo test shutdown_test failed ; exit 1 )
$(E) "[RUN] Testing simple_request_bad_client_test"
$(Q) $(BINDIR)/$(CONFIG)/simple_request_bad_client_test || ( echo test simple_request_bad_client_test failed ; exit 1 )
$(E) "[RUN] Testing slice_hash_table_test"
$(Q) $(BINDIR)/$(CONFIG)/slice_hash_table_test || ( echo test slice_hash_table_test failed ; exit 1 )
$(E) "[RUN] Testing slice_weak_hash_table_test"
$(Q) $(BINDIR)/$(CONFIG)/slice_weak_hash_table_test || ( echo test slice_weak_hash_table_test failed ; exit 1 )
$(E) "[RUN] Testing static_metadata_test"
$(Q) $(BINDIR)/$(CONFIG)/static_metadata_test || ( echo test static_metadata_test failed ; exit 1 )
$(E) "[RUN] Testing stats_test"
@ -2892,6 +2887,246 @@ $(GENDIR)/src/proto/grpc/testing/xds/orca_load_report_for_test.grpc.pb.cc: src/p
$(Q) $(PROTOC) -Ithird_party/protobuf/src -I. --grpc_out=$(GENDIR) --plugin=protoc-gen-grpc=$(PROTOC_PLUGINS_DIR)/grpc_cpp_plugin$(EXECUTABLE_SUFFIX) $<
endif
ifeq ($(NO_PROTOC),true)
$(GENDIR)/src/proto/grpc/testing/xds/v3/address.pb.cc: protoc_dep_error
$(GENDIR)/src/proto/grpc/testing/xds/v3/address.grpc.pb.cc: protoc_dep_error
else
$(GENDIR)/src/proto/grpc/testing/xds/v3/address.pb.cc: src/proto/grpc/testing/xds/v3/address.proto $(PROTOBUF_DEP) $(PROTOC_PLUGINS)
$(E) "[PROTOC] Generating protobuf CC file from $<"
$(Q) mkdir -p `dirname $@`
$(Q) $(PROTOC) -Ithird_party/protobuf/src -I. --cpp_out=$(GENDIR) $<
$(GENDIR)/src/proto/grpc/testing/xds/v3/address.grpc.pb.cc: src/proto/grpc/testing/xds/v3/address.proto $(GENDIR)/src/proto/grpc/testing/xds/v3/address.pb.cc $(PROTOBUF_DEP) $(PROTOC_PLUGINS)
$(E) "[GRPC] Generating gRPC's protobuf service CC file from $<"
$(Q) mkdir -p `dirname $@`
$(Q) $(PROTOC) -Ithird_party/protobuf/src -I. --grpc_out=$(GENDIR) --plugin=protoc-gen-grpc=$(PROTOC_PLUGINS_DIR)/grpc_cpp_plugin$(EXECUTABLE_SUFFIX) $<
endif
ifeq ($(NO_PROTOC),true)
$(GENDIR)/src/proto/grpc/testing/xds/v3/ads.pb.cc: protoc_dep_error
$(GENDIR)/src/proto/grpc/testing/xds/v3/ads.grpc.pb.cc: protoc_dep_error
else
$(GENDIR)/src/proto/grpc/testing/xds/v3/ads.pb.cc: src/proto/grpc/testing/xds/v3/ads.proto $(PROTOBUF_DEP) $(PROTOC_PLUGINS) $(GENDIR)/src/proto/grpc/testing/xds/v3/discovery.pb.cc
$(E) "[PROTOC] Generating protobuf CC file from $<"
$(Q) mkdir -p `dirname $@`
$(Q) $(PROTOC) -Ithird_party/protobuf/src -I. --cpp_out=$(GENDIR) $<
$(GENDIR)/src/proto/grpc/testing/xds/v3/ads.grpc.pb.cc: src/proto/grpc/testing/xds/v3/ads.proto $(GENDIR)/src/proto/grpc/testing/xds/v3/ads.pb.cc $(PROTOBUF_DEP) $(PROTOC_PLUGINS) $(GENDIR)/src/proto/grpc/testing/xds/v3/discovery.pb.cc $(GENDIR)/src/proto/grpc/testing/xds/v3/discovery.grpc.pb.cc
$(E) "[GRPC] Generating gRPC's protobuf service CC file from $<"
$(Q) mkdir -p `dirname $@`
$(Q) $(PROTOC) -Ithird_party/protobuf/src -I. --grpc_out=$(GENDIR) --plugin=protoc-gen-grpc=$(PROTOC_PLUGINS_DIR)/grpc_cpp_plugin$(EXECUTABLE_SUFFIX) $<
endif
ifeq ($(NO_PROTOC),true)
$(GENDIR)/src/proto/grpc/testing/xds/v3/base.pb.cc: protoc_dep_error
$(GENDIR)/src/proto/grpc/testing/xds/v3/base.grpc.pb.cc: protoc_dep_error
else
$(GENDIR)/src/proto/grpc/testing/xds/v3/base.pb.cc: src/proto/grpc/testing/xds/v3/base.proto $(PROTOBUF_DEP) $(PROTOC_PLUGINS) $(GENDIR)/src/proto/grpc/testing/xds/v3/percent.pb.cc
$(E) "[PROTOC] Generating protobuf CC file from $<"
$(Q) mkdir -p `dirname $@`
$(Q) $(PROTOC) -Ithird_party/protobuf/src -I. --cpp_out=$(GENDIR) $<
$(GENDIR)/src/proto/grpc/testing/xds/v3/base.grpc.pb.cc: src/proto/grpc/testing/xds/v3/base.proto $(GENDIR)/src/proto/grpc/testing/xds/v3/base.pb.cc $(PROTOBUF_DEP) $(PROTOC_PLUGINS) $(GENDIR)/src/proto/grpc/testing/xds/v3/percent.pb.cc $(GENDIR)/src/proto/grpc/testing/xds/v3/percent.grpc.pb.cc
$(E) "[GRPC] Generating gRPC's protobuf service CC file from $<"
$(Q) mkdir -p `dirname $@`
$(Q) $(PROTOC) -Ithird_party/protobuf/src -I. --grpc_out=$(GENDIR) --plugin=protoc-gen-grpc=$(PROTOC_PLUGINS_DIR)/grpc_cpp_plugin$(EXECUTABLE_SUFFIX) $<
endif
ifeq ($(NO_PROTOC),true)
$(GENDIR)/src/proto/grpc/testing/xds/v3/cluster.pb.cc: protoc_dep_error
$(GENDIR)/src/proto/grpc/testing/xds/v3/cluster.grpc.pb.cc: protoc_dep_error
else
$(GENDIR)/src/proto/grpc/testing/xds/v3/cluster.pb.cc: src/proto/grpc/testing/xds/v3/cluster.proto $(PROTOBUF_DEP) $(PROTOC_PLUGINS) $(GENDIR)/src/proto/grpc/testing/xds/v3/config_source.pb.cc
$(E) "[PROTOC] Generating protobuf CC file from $<"
$(Q) mkdir -p `dirname $@`
$(Q) $(PROTOC) -Ithird_party/protobuf/src -I. --cpp_out=$(GENDIR) $<
$(GENDIR)/src/proto/grpc/testing/xds/v3/cluster.grpc.pb.cc: src/proto/grpc/testing/xds/v3/cluster.proto $(GENDIR)/src/proto/grpc/testing/xds/v3/cluster.pb.cc $(PROTOBUF_DEP) $(PROTOC_PLUGINS) $(GENDIR)/src/proto/grpc/testing/xds/v3/config_source.pb.cc $(GENDIR)/src/proto/grpc/testing/xds/v3/config_source.grpc.pb.cc
$(E) "[GRPC] Generating gRPC's protobuf service CC file from $<"
$(Q) mkdir -p `dirname $@`
$(Q) $(PROTOC) -Ithird_party/protobuf/src -I. --grpc_out=$(GENDIR) --plugin=protoc-gen-grpc=$(PROTOC_PLUGINS_DIR)/grpc_cpp_plugin$(EXECUTABLE_SUFFIX) $<
endif
ifeq ($(NO_PROTOC),true)
$(GENDIR)/src/proto/grpc/testing/xds/v3/config_source.pb.cc: protoc_dep_error
$(GENDIR)/src/proto/grpc/testing/xds/v3/config_source.grpc.pb.cc: protoc_dep_error
else
$(GENDIR)/src/proto/grpc/testing/xds/v3/config_source.pb.cc: src/proto/grpc/testing/xds/v3/config_source.proto $(PROTOBUF_DEP) $(PROTOC_PLUGINS)
$(E) "[PROTOC] Generating protobuf CC file from $<"
$(Q) mkdir -p `dirname $@`
$(Q) $(PROTOC) -Ithird_party/protobuf/src -I. --cpp_out=$(GENDIR) $<
$(GENDIR)/src/proto/grpc/testing/xds/v3/config_source.grpc.pb.cc: src/proto/grpc/testing/xds/v3/config_source.proto $(GENDIR)/src/proto/grpc/testing/xds/v3/config_source.pb.cc $(PROTOBUF_DEP) $(PROTOC_PLUGINS)
$(E) "[GRPC] Generating gRPC's protobuf service CC file from $<"
$(Q) mkdir -p `dirname $@`
$(Q) $(PROTOC) -Ithird_party/protobuf/src -I. --grpc_out=$(GENDIR) --plugin=protoc-gen-grpc=$(PROTOC_PLUGINS_DIR)/grpc_cpp_plugin$(EXECUTABLE_SUFFIX) $<
endif
ifeq ($(NO_PROTOC),true)
$(GENDIR)/src/proto/grpc/testing/xds/v3/discovery.pb.cc: protoc_dep_error
$(GENDIR)/src/proto/grpc/testing/xds/v3/discovery.grpc.pb.cc: protoc_dep_error
else
$(GENDIR)/src/proto/grpc/testing/xds/v3/discovery.pb.cc: src/proto/grpc/testing/xds/v3/discovery.proto $(PROTOBUF_DEP) $(PROTOC_PLUGINS) $(GENDIR)/src/proto/grpc/testing/xds/v3/base.pb.cc
$(E) "[PROTOC] Generating protobuf CC file from $<"
$(Q) mkdir -p `dirname $@`
$(Q) $(PROTOC) -Ithird_party/protobuf/src -I. --cpp_out=$(GENDIR) $<
$(GENDIR)/src/proto/grpc/testing/xds/v3/discovery.grpc.pb.cc: src/proto/grpc/testing/xds/v3/discovery.proto $(GENDIR)/src/proto/grpc/testing/xds/v3/discovery.pb.cc $(PROTOBUF_DEP) $(PROTOC_PLUGINS) $(GENDIR)/src/proto/grpc/testing/xds/v3/base.pb.cc $(GENDIR)/src/proto/grpc/testing/xds/v3/base.grpc.pb.cc
$(E) "[GRPC] Generating gRPC's protobuf service CC file from $<"
$(Q) mkdir -p `dirname $@`
$(Q) $(PROTOC) -Ithird_party/protobuf/src -I. --grpc_out=$(GENDIR) --plugin=protoc-gen-grpc=$(PROTOC_PLUGINS_DIR)/grpc_cpp_plugin$(EXECUTABLE_SUFFIX) $<
endif
ifeq ($(NO_PROTOC),true)
$(GENDIR)/src/proto/grpc/testing/xds/v3/endpoint.pb.cc: protoc_dep_error
$(GENDIR)/src/proto/grpc/testing/xds/v3/endpoint.grpc.pb.cc: protoc_dep_error
else
$(GENDIR)/src/proto/grpc/testing/xds/v3/endpoint.pb.cc: src/proto/grpc/testing/xds/v3/endpoint.proto $(PROTOBUF_DEP) $(PROTOC_PLUGINS) $(GENDIR)/src/proto/grpc/testing/xds/v3/address.pb.cc $(GENDIR)/src/proto/grpc/testing/xds/v3/base.pb.cc $(GENDIR)/src/proto/grpc/testing/xds/v3/percent.pb.cc
$(E) "[PROTOC] Generating protobuf CC file from $<"
$(Q) mkdir -p `dirname $@`
$(Q) $(PROTOC) -Ithird_party/protobuf/src -I. --cpp_out=$(GENDIR) $<
$(GENDIR)/src/proto/grpc/testing/xds/v3/endpoint.grpc.pb.cc: src/proto/grpc/testing/xds/v3/endpoint.proto $(GENDIR)/src/proto/grpc/testing/xds/v3/endpoint.pb.cc $(PROTOBUF_DEP) $(PROTOC_PLUGINS) $(GENDIR)/src/proto/grpc/testing/xds/v3/address.pb.cc $(GENDIR)/src/proto/grpc/testing/xds/v3/address.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/xds/v3/base.pb.cc $(GENDIR)/src/proto/grpc/testing/xds/v3/base.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/xds/v3/percent.pb.cc $(GENDIR)/src/proto/grpc/testing/xds/v3/percent.grpc.pb.cc
$(E) "[GRPC] Generating gRPC's protobuf service CC file from $<"
$(Q) mkdir -p `dirname $@`
$(Q) $(PROTOC) -Ithird_party/protobuf/src -I. --grpc_out=$(GENDIR) --plugin=protoc-gen-grpc=$(PROTOC_PLUGINS_DIR)/grpc_cpp_plugin$(EXECUTABLE_SUFFIX) $<
endif
ifeq ($(NO_PROTOC),true)
$(GENDIR)/src/proto/grpc/testing/xds/v3/http_connection_manager.pb.cc: protoc_dep_error
$(GENDIR)/src/proto/grpc/testing/xds/v3/http_connection_manager.grpc.pb.cc: protoc_dep_error
else
$(GENDIR)/src/proto/grpc/testing/xds/v3/http_connection_manager.pb.cc: src/proto/grpc/testing/xds/v3/http_connection_manager.proto $(PROTOBUF_DEP) $(PROTOC_PLUGINS) $(GENDIR)/src/proto/grpc/testing/xds/v3/config_source.pb.cc $(GENDIR)/src/proto/grpc/testing/xds/v3/route.pb.cc
$(E) "[PROTOC] Generating protobuf CC file from $<"
$(Q) mkdir -p `dirname $@`
$(Q) $(PROTOC) -Ithird_party/protobuf/src -I. --cpp_out=$(GENDIR) $<
$(GENDIR)/src/proto/grpc/testing/xds/v3/http_connection_manager.grpc.pb.cc: src/proto/grpc/testing/xds/v3/http_connection_manager.proto $(GENDIR)/src/proto/grpc/testing/xds/v3/http_connection_manager.pb.cc $(PROTOBUF_DEP) $(PROTOC_PLUGINS) $(GENDIR)/src/proto/grpc/testing/xds/v3/config_source.pb.cc $(GENDIR)/src/proto/grpc/testing/xds/v3/config_source.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/xds/v3/route.pb.cc $(GENDIR)/src/proto/grpc/testing/xds/v3/route.grpc.pb.cc
$(E) "[GRPC] Generating gRPC's protobuf service CC file from $<"
$(Q) mkdir -p `dirname $@`
$(Q) $(PROTOC) -Ithird_party/protobuf/src -I. --grpc_out=$(GENDIR) --plugin=protoc-gen-grpc=$(PROTOC_PLUGINS_DIR)/grpc_cpp_plugin$(EXECUTABLE_SUFFIX) $<
endif
ifeq ($(NO_PROTOC),true)
$(GENDIR)/src/proto/grpc/testing/xds/v3/listener.pb.cc: protoc_dep_error
$(GENDIR)/src/proto/grpc/testing/xds/v3/listener.grpc.pb.cc: protoc_dep_error
else
$(GENDIR)/src/proto/grpc/testing/xds/v3/listener.pb.cc: src/proto/grpc/testing/xds/v3/listener.proto $(PROTOBUF_DEP) $(PROTOC_PLUGINS)
$(E) "[PROTOC] Generating protobuf CC file from $<"
$(Q) mkdir -p `dirname $@`
$(Q) $(PROTOC) -Ithird_party/protobuf/src -I. --cpp_out=$(GENDIR) $<
$(GENDIR)/src/proto/grpc/testing/xds/v3/listener.grpc.pb.cc: src/proto/grpc/testing/xds/v3/listener.proto $(GENDIR)/src/proto/grpc/testing/xds/v3/listener.pb.cc $(PROTOBUF_DEP) $(PROTOC_PLUGINS)
$(E) "[GRPC] Generating gRPC's protobuf service CC file from $<"
$(Q) mkdir -p `dirname $@`
$(Q) $(PROTOC) -Ithird_party/protobuf/src -I. --grpc_out=$(GENDIR) --plugin=protoc-gen-grpc=$(PROTOC_PLUGINS_DIR)/grpc_cpp_plugin$(EXECUTABLE_SUFFIX) $<
endif
ifeq ($(NO_PROTOC),true)
$(GENDIR)/src/proto/grpc/testing/xds/v3/load_report.pb.cc: protoc_dep_error
$(GENDIR)/src/proto/grpc/testing/xds/v3/load_report.grpc.pb.cc: protoc_dep_error
else
$(GENDIR)/src/proto/grpc/testing/xds/v3/load_report.pb.cc: src/proto/grpc/testing/xds/v3/load_report.proto $(PROTOBUF_DEP) $(PROTOC_PLUGINS) $(GENDIR)/src/proto/grpc/testing/xds/v3/address.pb.cc $(GENDIR)/src/proto/grpc/testing/xds/v3/base.pb.cc
$(E) "[PROTOC] Generating protobuf CC file from $<"
$(Q) mkdir -p `dirname $@`
$(Q) $(PROTOC) -Ithird_party/protobuf/src -I. --cpp_out=$(GENDIR) $<
$(GENDIR)/src/proto/grpc/testing/xds/v3/load_report.grpc.pb.cc: src/proto/grpc/testing/xds/v3/load_report.proto $(GENDIR)/src/proto/grpc/testing/xds/v3/load_report.pb.cc $(PROTOBUF_DEP) $(PROTOC_PLUGINS) $(GENDIR)/src/proto/grpc/testing/xds/v3/address.pb.cc $(GENDIR)/src/proto/grpc/testing/xds/v3/address.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/xds/v3/base.pb.cc $(GENDIR)/src/proto/grpc/testing/xds/v3/base.grpc.pb.cc
$(E) "[GRPC] Generating gRPC's protobuf service CC file from $<"
$(Q) mkdir -p `dirname $@`
$(Q) $(PROTOC) -Ithird_party/protobuf/src -I. --grpc_out=$(GENDIR) --plugin=protoc-gen-grpc=$(PROTOC_PLUGINS_DIR)/grpc_cpp_plugin$(EXECUTABLE_SUFFIX) $<
endif
ifeq ($(NO_PROTOC),true)
$(GENDIR)/src/proto/grpc/testing/xds/v3/lrs.pb.cc: protoc_dep_error
$(GENDIR)/src/proto/grpc/testing/xds/v3/lrs.grpc.pb.cc: protoc_dep_error
else
$(GENDIR)/src/proto/grpc/testing/xds/v3/lrs.pb.cc: src/proto/grpc/testing/xds/v3/lrs.proto $(PROTOBUF_DEP) $(PROTOC_PLUGINS) $(GENDIR)/src/proto/grpc/testing/xds/v3/base.pb.cc $(GENDIR)/src/proto/grpc/testing/xds/v3/load_report.pb.cc
$(E) "[PROTOC] Generating protobuf CC file from $<"
$(Q) mkdir -p `dirname $@`
$(Q) $(PROTOC) -Ithird_party/protobuf/src -I. --cpp_out=$(GENDIR) $<
$(GENDIR)/src/proto/grpc/testing/xds/v3/lrs.grpc.pb.cc: src/proto/grpc/testing/xds/v3/lrs.proto $(GENDIR)/src/proto/grpc/testing/xds/v3/lrs.pb.cc $(PROTOBUF_DEP) $(PROTOC_PLUGINS) $(GENDIR)/src/proto/grpc/testing/xds/v3/base.pb.cc $(GENDIR)/src/proto/grpc/testing/xds/v3/base.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/xds/v3/load_report.pb.cc $(GENDIR)/src/proto/grpc/testing/xds/v3/load_report.grpc.pb.cc
$(E) "[GRPC] Generating gRPC's protobuf service CC file from $<"
$(Q) mkdir -p `dirname $@`
$(Q) $(PROTOC) -Ithird_party/protobuf/src -I. --grpc_out=$(GENDIR) --plugin=protoc-gen-grpc=$(PROTOC_PLUGINS_DIR)/grpc_cpp_plugin$(EXECUTABLE_SUFFIX) $<
endif
ifeq ($(NO_PROTOC),true)
$(GENDIR)/src/proto/grpc/testing/xds/v3/percent.pb.cc: protoc_dep_error
$(GENDIR)/src/proto/grpc/testing/xds/v3/percent.grpc.pb.cc: protoc_dep_error
else
$(GENDIR)/src/proto/grpc/testing/xds/v3/percent.pb.cc: src/proto/grpc/testing/xds/v3/percent.proto $(PROTOBUF_DEP) $(PROTOC_PLUGINS)
$(E) "[PROTOC] Generating protobuf CC file from $<"
$(Q) mkdir -p `dirname $@`
$(Q) $(PROTOC) -Ithird_party/protobuf/src -I. --cpp_out=$(GENDIR) $<
$(GENDIR)/src/proto/grpc/testing/xds/v3/percent.grpc.pb.cc: src/proto/grpc/testing/xds/v3/percent.proto $(GENDIR)/src/proto/grpc/testing/xds/v3/percent.pb.cc $(PROTOBUF_DEP) $(PROTOC_PLUGINS)
$(E) "[GRPC] Generating gRPC's protobuf service CC file from $<"
$(Q) mkdir -p `dirname $@`
$(Q) $(PROTOC) -Ithird_party/protobuf/src -I. --grpc_out=$(GENDIR) --plugin=protoc-gen-grpc=$(PROTOC_PLUGINS_DIR)/grpc_cpp_plugin$(EXECUTABLE_SUFFIX) $<
endif
ifeq ($(NO_PROTOC),true)
$(GENDIR)/src/proto/grpc/testing/xds/v3/range.pb.cc: protoc_dep_error
$(GENDIR)/src/proto/grpc/testing/xds/v3/range.grpc.pb.cc: protoc_dep_error
else
$(GENDIR)/src/proto/grpc/testing/xds/v3/range.pb.cc: src/proto/grpc/testing/xds/v3/range.proto $(PROTOBUF_DEP) $(PROTOC_PLUGINS)
$(E) "[PROTOC] Generating protobuf CC file from $<"
$(Q) mkdir -p `dirname $@`
$(Q) $(PROTOC) -Ithird_party/protobuf/src -I. --cpp_out=$(GENDIR) $<
$(GENDIR)/src/proto/grpc/testing/xds/v3/range.grpc.pb.cc: src/proto/grpc/testing/xds/v3/range.proto $(GENDIR)/src/proto/grpc/testing/xds/v3/range.pb.cc $(PROTOBUF_DEP) $(PROTOC_PLUGINS)
$(E) "[GRPC] Generating gRPC's protobuf service CC file from $<"
$(Q) mkdir -p `dirname $@`
$(Q) $(PROTOC) -Ithird_party/protobuf/src -I. --grpc_out=$(GENDIR) --plugin=protoc-gen-grpc=$(PROTOC_PLUGINS_DIR)/grpc_cpp_plugin$(EXECUTABLE_SUFFIX) $<
endif
ifeq ($(NO_PROTOC),true)
$(GENDIR)/src/proto/grpc/testing/xds/v3/regex.pb.cc: protoc_dep_error
$(GENDIR)/src/proto/grpc/testing/xds/v3/regex.grpc.pb.cc: protoc_dep_error
else
$(GENDIR)/src/proto/grpc/testing/xds/v3/regex.pb.cc: src/proto/grpc/testing/xds/v3/regex.proto $(PROTOBUF_DEP) $(PROTOC_PLUGINS)
$(E) "[PROTOC] Generating protobuf CC file from $<"
$(Q) mkdir -p `dirname $@`
$(Q) $(PROTOC) -Ithird_party/protobuf/src -I. --cpp_out=$(GENDIR) $<
$(GENDIR)/src/proto/grpc/testing/xds/v3/regex.grpc.pb.cc: src/proto/grpc/testing/xds/v3/regex.proto $(GENDIR)/src/proto/grpc/testing/xds/v3/regex.pb.cc $(PROTOBUF_DEP) $(PROTOC_PLUGINS)
$(E) "[GRPC] Generating gRPC's protobuf service CC file from $<"
$(Q) mkdir -p `dirname $@`
$(Q) $(PROTOC) -Ithird_party/protobuf/src -I. --grpc_out=$(GENDIR) --plugin=protoc-gen-grpc=$(PROTOC_PLUGINS_DIR)/grpc_cpp_plugin$(EXECUTABLE_SUFFIX) $<
endif
ifeq ($(NO_PROTOC),true)
$(GENDIR)/src/proto/grpc/testing/xds/v3/route.pb.cc: protoc_dep_error
$(GENDIR)/src/proto/grpc/testing/xds/v3/route.grpc.pb.cc: protoc_dep_error
else
$(GENDIR)/src/proto/grpc/testing/xds/v3/route.pb.cc: src/proto/grpc/testing/xds/v3/route.proto $(PROTOBUF_DEP) $(PROTOC_PLUGINS) $(GENDIR)/src/proto/grpc/testing/xds/v3/base.pb.cc $(GENDIR)/src/proto/grpc/testing/xds/v3/regex.pb.cc $(GENDIR)/src/proto/grpc/testing/xds/v3/percent.pb.cc $(GENDIR)/src/proto/grpc/testing/xds/v3/range.pb.cc
$(E) "[PROTOC] Generating protobuf CC file from $<"
$(Q) mkdir -p `dirname $@`
$(Q) $(PROTOC) -Ithird_party/protobuf/src -I. --cpp_out=$(GENDIR) $<
$(GENDIR)/src/proto/grpc/testing/xds/v3/route.grpc.pb.cc: src/proto/grpc/testing/xds/v3/route.proto $(GENDIR)/src/proto/grpc/testing/xds/v3/route.pb.cc $(PROTOBUF_DEP) $(PROTOC_PLUGINS) $(GENDIR)/src/proto/grpc/testing/xds/v3/base.pb.cc $(GENDIR)/src/proto/grpc/testing/xds/v3/base.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/xds/v3/regex.pb.cc $(GENDIR)/src/proto/grpc/testing/xds/v3/regex.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/xds/v3/percent.pb.cc $(GENDIR)/src/proto/grpc/testing/xds/v3/percent.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/xds/v3/range.pb.cc $(GENDIR)/src/proto/grpc/testing/xds/v3/range.grpc.pb.cc
$(E) "[GRPC] Generating gRPC's protobuf service CC file from $<"
$(Q) mkdir -p `dirname $@`
$(Q) $(PROTOC) -Ithird_party/protobuf/src -I. --grpc_out=$(GENDIR) --plugin=protoc-gen-grpc=$(PROTOC_PLUGINS_DIR)/grpc_cpp_plugin$(EXECUTABLE_SUFFIX) $<
endif
ifeq ($(NO_PROTOC),true)
$(GENDIR)/test/core/tsi/alts/fake_handshaker/handshaker.pb.cc: protoc_dep_error
$(GENDIR)/test/core/tsi/alts/fake_handshaker/handshaker.grpc.pb.cc: protoc_dep_error
@ -3513,58 +3748,62 @@ LIBGRPC_SRC = \
src/core/ext/transport/inproc/inproc_transport.cc \
src/core/ext/upb-generated/envoy/annotations/deprecation.upb.c \
src/core/ext/upb-generated/envoy/annotations/resource.upb.c \
src/core/ext/upb-generated/envoy/api/v2/auth/cert.upb.c \
src/core/ext/upb-generated/envoy/api/v2/auth/common.upb.c \
src/core/ext/upb-generated/envoy/api/v2/auth/secret.upb.c \
src/core/ext/upb-generated/envoy/api/v2/auth/tls.upb.c \
src/core/ext/upb-generated/envoy/api/v2/cds.upb.c \
src/core/ext/upb-generated/envoy/api/v2/cluster.upb.c \
src/core/ext/upb-generated/envoy/api/v2/cluster/circuit_breaker.upb.c \
src/core/ext/upb-generated/envoy/api/v2/cluster/filter.upb.c \
src/core/ext/upb-generated/envoy/api/v2/cluster/outlier_detection.upb.c \
src/core/ext/upb-generated/envoy/api/v2/core/address.upb.c \
src/core/ext/upb-generated/envoy/api/v2/core/backoff.upb.c \
src/core/ext/upb-generated/envoy/api/v2/core/base.upb.c \
src/core/ext/upb-generated/envoy/api/v2/core/config_source.upb.c \
src/core/ext/upb-generated/envoy/api/v2/core/event_service_config.upb.c \
src/core/ext/upb-generated/envoy/api/v2/core/grpc_service.upb.c \
src/core/ext/upb-generated/envoy/api/v2/core/health_check.upb.c \
src/core/ext/upb-generated/envoy/api/v2/core/http_uri.upb.c \
src/core/ext/upb-generated/envoy/api/v2/core/protocol.upb.c \
src/core/ext/upb-generated/envoy/api/v2/core/socket_option.upb.c \
src/core/ext/upb-generated/envoy/api/v2/discovery.upb.c \
src/core/ext/upb-generated/envoy/api/v2/eds.upb.c \
src/core/ext/upb-generated/envoy/api/v2/endpoint.upb.c \
src/core/ext/upb-generated/envoy/api/v2/endpoint/endpoint.upb.c \
src/core/ext/upb-generated/envoy/api/v2/endpoint/endpoint_components.upb.c \
src/core/ext/upb-generated/envoy/api/v2/endpoint/load_report.upb.c \
src/core/ext/upb-generated/envoy/api/v2/lds.upb.c \
src/core/ext/upb-generated/envoy/api/v2/listener.upb.c \
src/core/ext/upb-generated/envoy/api/v2/listener/listener.upb.c \
src/core/ext/upb-generated/envoy/api/v2/listener/listener_components.upb.c \
src/core/ext/upb-generated/envoy/api/v2/listener/udp_listener_config.upb.c \
src/core/ext/upb-generated/envoy/api/v2/rds.upb.c \
src/core/ext/upb-generated/envoy/api/v2/route.upb.c \
src/core/ext/upb-generated/envoy/api/v2/route/route.upb.c \
src/core/ext/upb-generated/envoy/api/v2/route/route_components.upb.c \
src/core/ext/upb-generated/envoy/api/v2/scoped_route.upb.c \
src/core/ext/upb-generated/envoy/api/v2/srds.upb.c \
src/core/ext/upb-generated/envoy/config/filter/accesslog/v2/accesslog.upb.c \
src/core/ext/upb-generated/envoy/config/filter/network/http_connection_manager/v2/http_connection_manager.upb.c \
src/core/ext/upb-generated/envoy/config/listener/v2/api_listener.upb.c \
src/core/ext/upb-generated/envoy/config/trace/v2/http_tracer.upb.c \
src/core/ext/upb-generated/envoy/service/discovery/v2/ads.upb.c \
src/core/ext/upb-generated/envoy/service/load_stats/v2/lrs.upb.c \
src/core/ext/upb-generated/envoy/type/http.upb.c \
src/core/ext/upb-generated/envoy/type/matcher/regex.upb.c \
src/core/ext/upb-generated/envoy/type/matcher/string.upb.c \
src/core/ext/upb-generated/envoy/type/metadata/v2/metadata.upb.c \
src/core/ext/upb-generated/envoy/type/percent.upb.c \
src/core/ext/upb-generated/envoy/type/range.upb.c \
src/core/ext/upb-generated/envoy/type/semantic_version.upb.c \
src/core/ext/upb-generated/envoy/type/tracing/v2/custom_tag.upb.c \
src/core/ext/upb-generated/envoy/config/accesslog/v3/accesslog.upb.c \
src/core/ext/upb-generated/envoy/config/cluster/v3/circuit_breaker.upb.c \
src/core/ext/upb-generated/envoy/config/cluster/v3/cluster.upb.c \
src/core/ext/upb-generated/envoy/config/cluster/v3/filter.upb.c \
src/core/ext/upb-generated/envoy/config/cluster/v3/outlier_detection.upb.c \
src/core/ext/upb-generated/envoy/config/core/v3/address.upb.c \
src/core/ext/upb-generated/envoy/config/core/v3/backoff.upb.c \
src/core/ext/upb-generated/envoy/config/core/v3/base.upb.c \
src/core/ext/upb-generated/envoy/config/core/v3/config_source.upb.c \
src/core/ext/upb-generated/envoy/config/core/v3/event_service_config.upb.c \
src/core/ext/upb-generated/envoy/config/core/v3/grpc_service.upb.c \
src/core/ext/upb-generated/envoy/config/core/v3/health_check.upb.c \
src/core/ext/upb-generated/envoy/config/core/v3/http_uri.upb.c \
src/core/ext/upb-generated/envoy/config/core/v3/protocol.upb.c \
src/core/ext/upb-generated/envoy/config/core/v3/proxy_protocol.upb.c \
src/core/ext/upb-generated/envoy/config/core/v3/socket_option.upb.c \
src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint.upb.c \
src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint_components.upb.c \
src/core/ext/upb-generated/envoy/config/endpoint/v3/load_report.upb.c \
src/core/ext/upb-generated/envoy/config/listener/v3/api_listener.upb.c \
src/core/ext/upb-generated/envoy/config/listener/v3/listener.upb.c \
src/core/ext/upb-generated/envoy/config/listener/v3/listener_components.upb.c \
src/core/ext/upb-generated/envoy/config/listener/v3/udp_listener_config.upb.c \
src/core/ext/upb-generated/envoy/config/rbac/v3/rbac.upb.c \
src/core/ext/upb-generated/envoy/config/route/v3/route.upb.c \
src/core/ext/upb-generated/envoy/config/route/v3/route_components.upb.c \
src/core/ext/upb-generated/envoy/config/route/v3/scoped_route.upb.c \
src/core/ext/upb-generated/envoy/config/trace/v3/http_tracer.upb.c \
src/core/ext/upb-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.c \
src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/cert.upb.c \
src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/common.upb.c \
src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/secret.upb.c \
src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/tls.upb.c \
src/core/ext/upb-generated/envoy/service/cluster/v3/cds.upb.c \
src/core/ext/upb-generated/envoy/service/discovery/v3/ads.upb.c \
src/core/ext/upb-generated/envoy/service/discovery/v3/discovery.upb.c \
src/core/ext/upb-generated/envoy/service/endpoint/v3/eds.upb.c \
src/core/ext/upb-generated/envoy/service/listener/v3/lds.upb.c \
src/core/ext/upb-generated/envoy/service/load_stats/v3/lrs.upb.c \
src/core/ext/upb-generated/envoy/service/route/v3/rds.upb.c \
src/core/ext/upb-generated/envoy/service/route/v3/srds.upb.c \
src/core/ext/upb-generated/envoy/type/matcher/v3/metadata.upb.c \
src/core/ext/upb-generated/envoy/type/matcher/v3/number.upb.c \
src/core/ext/upb-generated/envoy/type/matcher/v3/path.upb.c \
src/core/ext/upb-generated/envoy/type/matcher/v3/regex.upb.c \
src/core/ext/upb-generated/envoy/type/matcher/v3/string.upb.c \
src/core/ext/upb-generated/envoy/type/matcher/v3/value.upb.c \
src/core/ext/upb-generated/envoy/type/metadata/v3/metadata.upb.c \
src/core/ext/upb-generated/envoy/type/tracing/v3/custom_tag.upb.c \
src/core/ext/upb-generated/envoy/type/v3/http.upb.c \
src/core/ext/upb-generated/envoy/type/v3/percent.upb.c \
src/core/ext/upb-generated/envoy/type/v3/range.upb.c \
src/core/ext/upb-generated/envoy/type/v3/semantic_version.upb.c \
src/core/ext/upb-generated/gogoproto/gogo.upb.c \
src/core/ext/upb-generated/google/api/annotations.upb.c \
src/core/ext/upb-generated/google/api/expr/v1alpha1/syntax.upb.c \
src/core/ext/upb-generated/google/api/http.upb.c \
src/core/ext/upb-generated/google/protobuf/any.upb.c \
src/core/ext/upb-generated/google/protobuf/descriptor.upb.c \
@ -3582,6 +3821,7 @@ LIBGRPC_SRC = \
src/core/ext/upb-generated/udpa/annotations/migrate.upb.c \
src/core/ext/upb-generated/udpa/annotations/sensitive.upb.c \
src/core/ext/upb-generated/udpa/annotations/status.upb.c \
src/core/ext/upb-generated/udpa/annotations/versioning.upb.c \
src/core/ext/upb-generated/udpa/data/orca/v1/orca_load_report.upb.c \
src/core/ext/upb-generated/validate/validate.upb.c \
src/core/lib/avl/avl.cc \
@ -3746,7 +3986,6 @@ LIBGRPC_SRC = \
src/core/lib/security/transport/secure_endpoint.cc \
src/core/lib/security/transport/security_handshaker.cc \
src/core/lib/security/transport/server_auth_filter.cc \
src/core/lib/security/transport/target_authority_table.cc \
src/core/lib/security/transport/tsi_error.cc \
src/core/lib/security/util/json_util.cc \
src/core/lib/slice/b64.cc \
@ -3775,6 +4014,7 @@ LIBGRPC_SRC = \
src/core/lib/surface/server.cc \
src/core/lib/surface/validate_metadata.cc \
src/core/lib/surface/version.cc \
src/core/lib/transport/authority_override.cc \
src/core/lib/transport/bdp_estimator.cc \
src/core/lib/transport/byte_stream.cc \
src/core/lib/transport/connectivity_state.cc \
@ -4158,58 +4398,62 @@ LIBGRPC_UNSECURE_SRC = \
src/core/ext/transport/inproc/inproc_transport.cc \
src/core/ext/upb-generated/envoy/annotations/deprecation.upb.c \
src/core/ext/upb-generated/envoy/annotations/resource.upb.c \
src/core/ext/upb-generated/envoy/api/v2/auth/cert.upb.c \
src/core/ext/upb-generated/envoy/api/v2/auth/common.upb.c \
src/core/ext/upb-generated/envoy/api/v2/auth/secret.upb.c \
src/core/ext/upb-generated/envoy/api/v2/auth/tls.upb.c \
src/core/ext/upb-generated/envoy/api/v2/cds.upb.c \
src/core/ext/upb-generated/envoy/api/v2/cluster.upb.c \
src/core/ext/upb-generated/envoy/api/v2/cluster/circuit_breaker.upb.c \
src/core/ext/upb-generated/envoy/api/v2/cluster/filter.upb.c \
src/core/ext/upb-generated/envoy/api/v2/cluster/outlier_detection.upb.c \
src/core/ext/upb-generated/envoy/api/v2/core/address.upb.c \
src/core/ext/upb-generated/envoy/api/v2/core/backoff.upb.c \
src/core/ext/upb-generated/envoy/api/v2/core/base.upb.c \
src/core/ext/upb-generated/envoy/api/v2/core/config_source.upb.c \
src/core/ext/upb-generated/envoy/api/v2/core/event_service_config.upb.c \
src/core/ext/upb-generated/envoy/api/v2/core/grpc_service.upb.c \
src/core/ext/upb-generated/envoy/api/v2/core/health_check.upb.c \
src/core/ext/upb-generated/envoy/api/v2/core/http_uri.upb.c \
src/core/ext/upb-generated/envoy/api/v2/core/protocol.upb.c \
src/core/ext/upb-generated/envoy/api/v2/core/socket_option.upb.c \
src/core/ext/upb-generated/envoy/api/v2/discovery.upb.c \
src/core/ext/upb-generated/envoy/api/v2/eds.upb.c \
src/core/ext/upb-generated/envoy/api/v2/endpoint.upb.c \
src/core/ext/upb-generated/envoy/api/v2/endpoint/endpoint.upb.c \
src/core/ext/upb-generated/envoy/api/v2/endpoint/endpoint_components.upb.c \
src/core/ext/upb-generated/envoy/api/v2/endpoint/load_report.upb.c \
src/core/ext/upb-generated/envoy/api/v2/lds.upb.c \
src/core/ext/upb-generated/envoy/api/v2/listener.upb.c \
src/core/ext/upb-generated/envoy/api/v2/listener/listener.upb.c \
src/core/ext/upb-generated/envoy/api/v2/listener/listener_components.upb.c \
src/core/ext/upb-generated/envoy/api/v2/listener/udp_listener_config.upb.c \
src/core/ext/upb-generated/envoy/api/v2/rds.upb.c \
src/core/ext/upb-generated/envoy/api/v2/route.upb.c \
src/core/ext/upb-generated/envoy/api/v2/route/route.upb.c \
src/core/ext/upb-generated/envoy/api/v2/route/route_components.upb.c \
src/core/ext/upb-generated/envoy/api/v2/scoped_route.upb.c \
src/core/ext/upb-generated/envoy/api/v2/srds.upb.c \
src/core/ext/upb-generated/envoy/config/filter/accesslog/v2/accesslog.upb.c \
src/core/ext/upb-generated/envoy/config/filter/network/http_connection_manager/v2/http_connection_manager.upb.c \
src/core/ext/upb-generated/envoy/config/listener/v2/api_listener.upb.c \
src/core/ext/upb-generated/envoy/config/trace/v2/http_tracer.upb.c \
src/core/ext/upb-generated/envoy/service/discovery/v2/ads.upb.c \
src/core/ext/upb-generated/envoy/service/load_stats/v2/lrs.upb.c \
src/core/ext/upb-generated/envoy/type/http.upb.c \
src/core/ext/upb-generated/envoy/type/matcher/regex.upb.c \
src/core/ext/upb-generated/envoy/type/matcher/string.upb.c \
src/core/ext/upb-generated/envoy/type/metadata/v2/metadata.upb.c \
src/core/ext/upb-generated/envoy/type/percent.upb.c \
src/core/ext/upb-generated/envoy/type/range.upb.c \
src/core/ext/upb-generated/envoy/type/semantic_version.upb.c \
src/core/ext/upb-generated/envoy/type/tracing/v2/custom_tag.upb.c \
src/core/ext/upb-generated/envoy/config/accesslog/v3/accesslog.upb.c \
src/core/ext/upb-generated/envoy/config/cluster/v3/circuit_breaker.upb.c \
src/core/ext/upb-generated/envoy/config/cluster/v3/cluster.upb.c \
src/core/ext/upb-generated/envoy/config/cluster/v3/filter.upb.c \
src/core/ext/upb-generated/envoy/config/cluster/v3/outlier_detection.upb.c \
src/core/ext/upb-generated/envoy/config/core/v3/address.upb.c \
src/core/ext/upb-generated/envoy/config/core/v3/backoff.upb.c \
src/core/ext/upb-generated/envoy/config/core/v3/base.upb.c \
src/core/ext/upb-generated/envoy/config/core/v3/config_source.upb.c \
src/core/ext/upb-generated/envoy/config/core/v3/event_service_config.upb.c \
src/core/ext/upb-generated/envoy/config/core/v3/grpc_service.upb.c \
src/core/ext/upb-generated/envoy/config/core/v3/health_check.upb.c \
src/core/ext/upb-generated/envoy/config/core/v3/http_uri.upb.c \
src/core/ext/upb-generated/envoy/config/core/v3/protocol.upb.c \
src/core/ext/upb-generated/envoy/config/core/v3/proxy_protocol.upb.c \
src/core/ext/upb-generated/envoy/config/core/v3/socket_option.upb.c \
src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint.upb.c \
src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint_components.upb.c \
src/core/ext/upb-generated/envoy/config/endpoint/v3/load_report.upb.c \
src/core/ext/upb-generated/envoy/config/listener/v3/api_listener.upb.c \
src/core/ext/upb-generated/envoy/config/listener/v3/listener.upb.c \
src/core/ext/upb-generated/envoy/config/listener/v3/listener_components.upb.c \
src/core/ext/upb-generated/envoy/config/listener/v3/udp_listener_config.upb.c \
src/core/ext/upb-generated/envoy/config/rbac/v3/rbac.upb.c \
src/core/ext/upb-generated/envoy/config/route/v3/route.upb.c \
src/core/ext/upb-generated/envoy/config/route/v3/route_components.upb.c \
src/core/ext/upb-generated/envoy/config/route/v3/scoped_route.upb.c \
src/core/ext/upb-generated/envoy/config/trace/v3/http_tracer.upb.c \
src/core/ext/upb-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.c \
src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/cert.upb.c \
src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/common.upb.c \
src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/secret.upb.c \
src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/tls.upb.c \
src/core/ext/upb-generated/envoy/service/cluster/v3/cds.upb.c \
src/core/ext/upb-generated/envoy/service/discovery/v3/ads.upb.c \
src/core/ext/upb-generated/envoy/service/discovery/v3/discovery.upb.c \
src/core/ext/upb-generated/envoy/service/endpoint/v3/eds.upb.c \
src/core/ext/upb-generated/envoy/service/listener/v3/lds.upb.c \
src/core/ext/upb-generated/envoy/service/load_stats/v3/lrs.upb.c \
src/core/ext/upb-generated/envoy/service/route/v3/rds.upb.c \
src/core/ext/upb-generated/envoy/service/route/v3/srds.upb.c \
src/core/ext/upb-generated/envoy/type/matcher/v3/metadata.upb.c \
src/core/ext/upb-generated/envoy/type/matcher/v3/number.upb.c \
src/core/ext/upb-generated/envoy/type/matcher/v3/path.upb.c \
src/core/ext/upb-generated/envoy/type/matcher/v3/regex.upb.c \
src/core/ext/upb-generated/envoy/type/matcher/v3/string.upb.c \
src/core/ext/upb-generated/envoy/type/matcher/v3/value.upb.c \
src/core/ext/upb-generated/envoy/type/metadata/v3/metadata.upb.c \
src/core/ext/upb-generated/envoy/type/tracing/v3/custom_tag.upb.c \
src/core/ext/upb-generated/envoy/type/v3/http.upb.c \
src/core/ext/upb-generated/envoy/type/v3/percent.upb.c \
src/core/ext/upb-generated/envoy/type/v3/range.upb.c \
src/core/ext/upb-generated/envoy/type/v3/semantic_version.upb.c \
src/core/ext/upb-generated/gogoproto/gogo.upb.c \
src/core/ext/upb-generated/google/api/annotations.upb.c \
src/core/ext/upb-generated/google/api/expr/v1alpha1/syntax.upb.c \
src/core/ext/upb-generated/google/api/http.upb.c \
src/core/ext/upb-generated/google/protobuf/any.upb.c \
src/core/ext/upb-generated/google/protobuf/descriptor.upb.c \
@ -4224,6 +4468,7 @@ LIBGRPC_UNSECURE_SRC = \
src/core/ext/upb-generated/udpa/annotations/migrate.upb.c \
src/core/ext/upb-generated/udpa/annotations/sensitive.upb.c \
src/core/ext/upb-generated/udpa/annotations/status.upb.c \
src/core/ext/upb-generated/udpa/annotations/versioning.upb.c \
src/core/ext/upb-generated/udpa/data/orca/v1/orca_load_report.upb.c \
src/core/ext/upb-generated/validate/validate.upb.c \
src/core/lib/avl/avl.cc \
@ -4374,6 +4619,7 @@ LIBGRPC_UNSECURE_SRC = \
src/core/lib/surface/server.cc \
src/core/lib/surface/validate_metadata.cc \
src/core/lib/surface/version.cc \
src/core/lib/transport/authority_override.cc \
src/core/lib/transport/bdp_estimator.cc \
src/core/lib/transport/byte_stream.cc \
src/core/lib/transport/connectivity_state.cc \
@ -4631,7 +4877,6 @@ PUBLIC_HEADERS_CXX += \
include/grpcpp/completion_queue.h \
include/grpcpp/completion_queue_impl.h \
include/grpcpp/create_channel.h \
include/grpcpp/create_channel_impl.h \
include/grpcpp/create_channel_posix.h \
include/grpcpp/ext/health_check_service_server_builder_option.h \
include/grpcpp/generic/async_generic_service.h \
@ -4715,9 +4960,7 @@ PUBLIC_HEADERS_CXX += \
include/grpcpp/security/auth_context.h \
include/grpcpp/security/auth_metadata_processor.h \
include/grpcpp/security/credentials.h \
include/grpcpp/security/credentials_impl.h \
include/grpcpp/security/server_credentials.h \
include/grpcpp/security/server_credentials_impl.h \
include/grpcpp/security/tls_credentials_options.h \
include/grpcpp/server.h \
include/grpcpp/server_builder.h \
@ -4894,7 +5137,6 @@ LIBGRPC++_ERROR_DETAILS_SRC = \
PUBLIC_HEADERS_CXX += \
include/grpc++/support/error_details.h \
include/grpcpp/support/error_details.h \
include/grpcpp/support/error_details_impl.h \
LIBGRPC++_ERROR_DETAILS_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(LIBGRPC++_ERROR_DETAILS_SRC))))
@ -5323,7 +5565,6 @@ PUBLIC_HEADERS_CXX += \
include/grpcpp/completion_queue.h \
include/grpcpp/completion_queue_impl.h \
include/grpcpp/create_channel.h \
include/grpcpp/create_channel_impl.h \
include/grpcpp/create_channel_posix.h \
include/grpcpp/ext/health_check_service_server_builder_option.h \
include/grpcpp/generic/async_generic_service.h \
@ -5407,9 +5648,7 @@ PUBLIC_HEADERS_CXX += \
include/grpcpp/security/auth_context.h \
include/grpcpp/security/auth_metadata_processor.h \
include/grpcpp/security/credentials.h \
include/grpcpp/security/credentials_impl.h \
include/grpcpp/security/server_credentials.h \
include/grpcpp/security/server_credentials_impl.h \
include/grpcpp/security/tls_credentials_options.h \
include/grpcpp/server.h \
include/grpcpp/server_builder.h \
@ -6277,6 +6516,14 @@ LIBGRPC_ABSEIL_SRC = \
third_party/abseil-cpp/absl/strings/str_split.cc \
third_party/abseil-cpp/absl/strings/string_view.cc \
third_party/abseil-cpp/absl/strings/substitute.cc \
third_party/abseil-cpp/absl/synchronization/barrier.cc \
third_party/abseil-cpp/absl/synchronization/blocking_counter.cc \
third_party/abseil-cpp/absl/synchronization/internal/create_thread_identity.cc \
third_party/abseil-cpp/absl/synchronization/internal/graphcycles.cc \
third_party/abseil-cpp/absl/synchronization/internal/per_thread_sem.cc \
third_party/abseil-cpp/absl/synchronization/internal/waiter.cc \
third_party/abseil-cpp/absl/synchronization/mutex.cc \
third_party/abseil-cpp/absl/synchronization/notification.cc \
third_party/abseil-cpp/absl/time/civil_time.cc \
third_party/abseil-cpp/absl/time/clock.cc \
third_party/abseil-cpp/absl/time/duration.cc \
@ -11413,6 +11660,52 @@ endif
endif
AUTHORIZATION_ENGINE_TEST_SRC = \
src/core/lib/security/authorization/authorization_engine.cc \
test/core/security/authorization_engine_test.cc \
AUTHORIZATION_ENGINE_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(AUTHORIZATION_ENGINE_TEST_SRC))))
ifeq ($(NO_SECURE),true)
# You can't build secure targets if you don't have OpenSSL.
$(BINDIR)/$(CONFIG)/authorization_engine_test: openssl_dep_error
else
ifeq ($(NO_PROTOBUF),true)
# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.12.0+.
$(BINDIR)/$(CONFIG)/authorization_engine_test: protobuf_dep_error
else
$(BINDIR)/$(CONFIG)/authorization_engine_test: $(PROTOBUF_DEP) $(AUTHORIZATION_ENGINE_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LIBDIR)/$(CONFIG)/libaddress_sorting.a $(LIBDIR)/$(CONFIG)/libupb.a
$(E) "[LD] Linking $@"
$(Q) mkdir -p `dirname $@`
$(Q) $(LDXX) $(LDFLAGS) $(AUTHORIZATION_ENGINE_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LIBDIR)/$(CONFIG)/libaddress_sorting.a $(LIBDIR)/$(CONFIG)/libupb.a $(LDLIBSXX) $(LDLIBS_PROTOBUF) $(LDLIBS) $(LDLIBS_SECURE) $(GTEST_LIB) -o $(BINDIR)/$(CONFIG)/authorization_engine_test
endif
endif
$(OBJDIR)/$(CONFIG)/src/core/lib/security/authorization/authorization_engine.o: $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LIBDIR)/$(CONFIG)/libaddress_sorting.a $(LIBDIR)/$(CONFIG)/libupb.a
$(OBJDIR)/$(CONFIG)/test/core/security/authorization_engine_test.o: $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LIBDIR)/$(CONFIG)/libaddress_sorting.a $(LIBDIR)/$(CONFIG)/libupb.a
deps_authorization_engine_test: $(AUTHORIZATION_ENGINE_TEST_OBJS:.o=.dep)
ifneq ($(NO_SECURE),true)
ifneq ($(NO_DEPS),true)
-include $(AUTHORIZATION_ENGINE_TEST_OBJS:.o=.dep)
endif
endif
BACKOFF_TEST_SRC = \
test/core/backoff/backoff_test.cc \
@ -17631,92 +17924,6 @@ endif
endif
SLICE_HASH_TABLE_TEST_SRC = \
test/core/slice/slice_hash_table_test.cc \
SLICE_HASH_TABLE_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(SLICE_HASH_TABLE_TEST_SRC))))
ifeq ($(NO_SECURE),true)
# You can't build secure targets if you don't have OpenSSL.
$(BINDIR)/$(CONFIG)/slice_hash_table_test: openssl_dep_error
else
ifeq ($(NO_PROTOBUF),true)
# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.12.0+.
$(BINDIR)/$(CONFIG)/slice_hash_table_test: protobuf_dep_error
else
$(BINDIR)/$(CONFIG)/slice_hash_table_test: $(PROTOBUF_DEP) $(SLICE_HASH_TABLE_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LIBDIR)/$(CONFIG)/libaddress_sorting.a $(LIBDIR)/$(CONFIG)/libupb.a
$(E) "[LD] Linking $@"
$(Q) mkdir -p `dirname $@`
$(Q) $(LDXX) $(LDFLAGS) $(SLICE_HASH_TABLE_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LIBDIR)/$(CONFIG)/libaddress_sorting.a $(LIBDIR)/$(CONFIG)/libupb.a $(LDLIBSXX) $(LDLIBS_PROTOBUF) $(LDLIBS) $(LDLIBS_SECURE) $(GTEST_LIB) -o $(BINDIR)/$(CONFIG)/slice_hash_table_test
endif
endif
$(OBJDIR)/$(CONFIG)/test/core/slice/slice_hash_table_test.o: $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LIBDIR)/$(CONFIG)/libaddress_sorting.a $(LIBDIR)/$(CONFIG)/libupb.a
deps_slice_hash_table_test: $(SLICE_HASH_TABLE_TEST_OBJS:.o=.dep)
ifneq ($(NO_SECURE),true)
ifneq ($(NO_DEPS),true)
-include $(SLICE_HASH_TABLE_TEST_OBJS:.o=.dep)
endif
endif
SLICE_WEAK_HASH_TABLE_TEST_SRC = \
test/core/slice/slice_weak_hash_table_test.cc \
SLICE_WEAK_HASH_TABLE_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(SLICE_WEAK_HASH_TABLE_TEST_SRC))))
ifeq ($(NO_SECURE),true)
# You can't build secure targets if you don't have OpenSSL.
$(BINDIR)/$(CONFIG)/slice_weak_hash_table_test: openssl_dep_error
else
ifeq ($(NO_PROTOBUF),true)
# You can't build the protoc plugins or protobuf-enabled targets if you don't have protobuf 3.12.0+.
$(BINDIR)/$(CONFIG)/slice_weak_hash_table_test: protobuf_dep_error
else
$(BINDIR)/$(CONFIG)/slice_weak_hash_table_test: $(PROTOBUF_DEP) $(SLICE_WEAK_HASH_TABLE_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LIBDIR)/$(CONFIG)/libaddress_sorting.a $(LIBDIR)/$(CONFIG)/libupb.a
$(E) "[LD] Linking $@"
$(Q) mkdir -p `dirname $@`
$(Q) $(LDXX) $(LDFLAGS) $(SLICE_WEAK_HASH_TABLE_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LIBDIR)/$(CONFIG)/libaddress_sorting.a $(LIBDIR)/$(CONFIG)/libupb.a $(LDLIBSXX) $(LDLIBS_PROTOBUF) $(LDLIBS) $(LDLIBS_SECURE) $(GTEST_LIB) -o $(BINDIR)/$(CONFIG)/slice_weak_hash_table_test
endif
endif
$(OBJDIR)/$(CONFIG)/test/core/slice/slice_weak_hash_table_test.o: $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LIBDIR)/$(CONFIG)/libaddress_sorting.a $(LIBDIR)/$(CONFIG)/libupb.a
deps_slice_weak_hash_table_test: $(SLICE_WEAK_HASH_TABLE_TEST_OBJS:.o=.dep)
ifneq ($(NO_SECURE),true)
ifneq ($(NO_DEPS),true)
-include $(SLICE_WEAK_HASH_TABLE_TEST_OBJS:.o=.dep)
endif
endif
SSL_SERVER_FUZZER_SRC = \
test/core/security/ssl_server_fuzzer.cc \
test/core/util/fuzzer_corpus_test.cc \
@ -18856,6 +19063,21 @@ XDS_END2END_TEST_SRC = \
$(GENDIR)/src/proto/grpc/testing/xds/eds_for_test.pb.cc $(GENDIR)/src/proto/grpc/testing/xds/eds_for_test.grpc.pb.cc \
$(GENDIR)/src/proto/grpc/testing/xds/lds_rds_for_test.pb.cc $(GENDIR)/src/proto/grpc/testing/xds/lds_rds_for_test.grpc.pb.cc \
$(GENDIR)/src/proto/grpc/testing/xds/lrs_for_test.pb.cc $(GENDIR)/src/proto/grpc/testing/xds/lrs_for_test.grpc.pb.cc \
$(GENDIR)/src/proto/grpc/testing/xds/v3/address.pb.cc $(GENDIR)/src/proto/grpc/testing/xds/v3/address.grpc.pb.cc \
$(GENDIR)/src/proto/grpc/testing/xds/v3/ads.pb.cc $(GENDIR)/src/proto/grpc/testing/xds/v3/ads.grpc.pb.cc \
$(GENDIR)/src/proto/grpc/testing/xds/v3/base.pb.cc $(GENDIR)/src/proto/grpc/testing/xds/v3/base.grpc.pb.cc \
$(GENDIR)/src/proto/grpc/testing/xds/v3/cluster.pb.cc $(GENDIR)/src/proto/grpc/testing/xds/v3/cluster.grpc.pb.cc \
$(GENDIR)/src/proto/grpc/testing/xds/v3/config_source.pb.cc $(GENDIR)/src/proto/grpc/testing/xds/v3/config_source.grpc.pb.cc \
$(GENDIR)/src/proto/grpc/testing/xds/v3/discovery.pb.cc $(GENDIR)/src/proto/grpc/testing/xds/v3/discovery.grpc.pb.cc \
$(GENDIR)/src/proto/grpc/testing/xds/v3/endpoint.pb.cc $(GENDIR)/src/proto/grpc/testing/xds/v3/endpoint.grpc.pb.cc \
$(GENDIR)/src/proto/grpc/testing/xds/v3/http_connection_manager.pb.cc $(GENDIR)/src/proto/grpc/testing/xds/v3/http_connection_manager.grpc.pb.cc \
$(GENDIR)/src/proto/grpc/testing/xds/v3/listener.pb.cc $(GENDIR)/src/proto/grpc/testing/xds/v3/listener.grpc.pb.cc \
$(GENDIR)/src/proto/grpc/testing/xds/v3/load_report.pb.cc $(GENDIR)/src/proto/grpc/testing/xds/v3/load_report.grpc.pb.cc \
$(GENDIR)/src/proto/grpc/testing/xds/v3/lrs.pb.cc $(GENDIR)/src/proto/grpc/testing/xds/v3/lrs.grpc.pb.cc \
$(GENDIR)/src/proto/grpc/testing/xds/v3/percent.pb.cc $(GENDIR)/src/proto/grpc/testing/xds/v3/percent.grpc.pb.cc \
$(GENDIR)/src/proto/grpc/testing/xds/v3/range.pb.cc $(GENDIR)/src/proto/grpc/testing/xds/v3/range.grpc.pb.cc \
$(GENDIR)/src/proto/grpc/testing/xds/v3/regex.pb.cc $(GENDIR)/src/proto/grpc/testing/xds/v3/regex.grpc.pb.cc \
$(GENDIR)/src/proto/grpc/testing/xds/v3/route.pb.cc $(GENDIR)/src/proto/grpc/testing/xds/v3/route.grpc.pb.cc \
test/cpp/end2end/test_service_impl.cc \
test/cpp/end2end/xds_end2end_test.cc \
@ -18906,6 +19128,36 @@ $(OBJDIR)/$(CONFIG)/src/proto/grpc/testing/xds/lds_rds_for_test.o: $(LIBDIR)/$(
$(OBJDIR)/$(CONFIG)/src/proto/grpc/testing/xds/lrs_for_test.o: $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LIBDIR)/$(CONFIG)/libaddress_sorting.a $(LIBDIR)/$(CONFIG)/libupb.a
$(OBJDIR)/$(CONFIG)/src/proto/grpc/testing/xds/v3/address.o: $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LIBDIR)/$(CONFIG)/libaddress_sorting.a $(LIBDIR)/$(CONFIG)/libupb.a
$(OBJDIR)/$(CONFIG)/src/proto/grpc/testing/xds/v3/ads.o: $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LIBDIR)/$(CONFIG)/libaddress_sorting.a $(LIBDIR)/$(CONFIG)/libupb.a
$(OBJDIR)/$(CONFIG)/src/proto/grpc/testing/xds/v3/base.o: $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LIBDIR)/$(CONFIG)/libaddress_sorting.a $(LIBDIR)/$(CONFIG)/libupb.a
$(OBJDIR)/$(CONFIG)/src/proto/grpc/testing/xds/v3/cluster.o: $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LIBDIR)/$(CONFIG)/libaddress_sorting.a $(LIBDIR)/$(CONFIG)/libupb.a
$(OBJDIR)/$(CONFIG)/src/proto/grpc/testing/xds/v3/config_source.o: $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LIBDIR)/$(CONFIG)/libaddress_sorting.a $(LIBDIR)/$(CONFIG)/libupb.a
$(OBJDIR)/$(CONFIG)/src/proto/grpc/testing/xds/v3/discovery.o: $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LIBDIR)/$(CONFIG)/libaddress_sorting.a $(LIBDIR)/$(CONFIG)/libupb.a
$(OBJDIR)/$(CONFIG)/src/proto/grpc/testing/xds/v3/endpoint.o: $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LIBDIR)/$(CONFIG)/libaddress_sorting.a $(LIBDIR)/$(CONFIG)/libupb.a
$(OBJDIR)/$(CONFIG)/src/proto/grpc/testing/xds/v3/http_connection_manager.o: $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LIBDIR)/$(CONFIG)/libaddress_sorting.a $(LIBDIR)/$(CONFIG)/libupb.a
$(OBJDIR)/$(CONFIG)/src/proto/grpc/testing/xds/v3/listener.o: $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LIBDIR)/$(CONFIG)/libaddress_sorting.a $(LIBDIR)/$(CONFIG)/libupb.a
$(OBJDIR)/$(CONFIG)/src/proto/grpc/testing/xds/v3/load_report.o: $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LIBDIR)/$(CONFIG)/libaddress_sorting.a $(LIBDIR)/$(CONFIG)/libupb.a
$(OBJDIR)/$(CONFIG)/src/proto/grpc/testing/xds/v3/lrs.o: $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LIBDIR)/$(CONFIG)/libaddress_sorting.a $(LIBDIR)/$(CONFIG)/libupb.a
$(OBJDIR)/$(CONFIG)/src/proto/grpc/testing/xds/v3/percent.o: $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LIBDIR)/$(CONFIG)/libaddress_sorting.a $(LIBDIR)/$(CONFIG)/libupb.a
$(OBJDIR)/$(CONFIG)/src/proto/grpc/testing/xds/v3/range.o: $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LIBDIR)/$(CONFIG)/libaddress_sorting.a $(LIBDIR)/$(CONFIG)/libupb.a
$(OBJDIR)/$(CONFIG)/src/proto/grpc/testing/xds/v3/regex.o: $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LIBDIR)/$(CONFIG)/libaddress_sorting.a $(LIBDIR)/$(CONFIG)/libupb.a
$(OBJDIR)/$(CONFIG)/src/proto/grpc/testing/xds/v3/route.o: $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LIBDIR)/$(CONFIG)/libaddress_sorting.a $(LIBDIR)/$(CONFIG)/libupb.a
$(OBJDIR)/$(CONFIG)/test/cpp/end2end/test_service_impl.o: $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LIBDIR)/$(CONFIG)/libaddress_sorting.a $(LIBDIR)/$(CONFIG)/libupb.a
$(OBJDIR)/$(CONFIG)/test/cpp/end2end/xds_end2end_test.o: $(LIBDIR)/$(CONFIG)/libgrpc++_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc++.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LIBDIR)/$(CONFIG)/libaddress_sorting.a $(LIBDIR)/$(CONFIG)/libupb.a
@ -18917,8 +19169,8 @@ ifneq ($(NO_DEPS),true)
-include $(XDS_END2END_TEST_OBJS:.o=.dep)
endif
endif
$(OBJDIR)/$(CONFIG)/test/cpp/end2end/test_service_impl.o: $(GENDIR)/src/proto/grpc/testing/duplicate/echo_duplicate.pb.cc $(GENDIR)/src/proto/grpc/testing/duplicate/echo_duplicate.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/echo.pb.cc $(GENDIR)/src/proto/grpc/testing/echo.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/echo_messages.pb.cc $(GENDIR)/src/proto/grpc/testing/echo_messages.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/simple_messages.pb.cc $(GENDIR)/src/proto/grpc/testing/simple_messages.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/xds/ads_for_test.pb.cc $(GENDIR)/src/proto/grpc/testing/xds/ads_for_test.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/xds/cds_for_test.pb.cc $(GENDIR)/src/proto/grpc/testing/xds/cds_for_test.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/xds/eds_for_test.pb.cc $(GENDIR)/src/proto/grpc/testing/xds/eds_for_test.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/xds/lds_rds_for_test.pb.cc $(GENDIR)/src/proto/grpc/testing/xds/lds_rds_for_test.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/xds/lrs_for_test.pb.cc $(GENDIR)/src/proto/grpc/testing/xds/lrs_for_test.grpc.pb.cc
$(OBJDIR)/$(CONFIG)/test/cpp/end2end/xds_end2end_test.o: $(GENDIR)/src/proto/grpc/testing/duplicate/echo_duplicate.pb.cc $(GENDIR)/src/proto/grpc/testing/duplicate/echo_duplicate.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/echo.pb.cc $(GENDIR)/src/proto/grpc/testing/echo.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/echo_messages.pb.cc $(GENDIR)/src/proto/grpc/testing/echo_messages.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/simple_messages.pb.cc $(GENDIR)/src/proto/grpc/testing/simple_messages.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/xds/ads_for_test.pb.cc $(GENDIR)/src/proto/grpc/testing/xds/ads_for_test.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/xds/cds_for_test.pb.cc $(GENDIR)/src/proto/grpc/testing/xds/cds_for_test.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/xds/eds_for_test.pb.cc $(GENDIR)/src/proto/grpc/testing/xds/eds_for_test.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/xds/lds_rds_for_test.pb.cc $(GENDIR)/src/proto/grpc/testing/xds/lds_rds_for_test.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/xds/lrs_for_test.pb.cc $(GENDIR)/src/proto/grpc/testing/xds/lrs_for_test.grpc.pb.cc
$(OBJDIR)/$(CONFIG)/test/cpp/end2end/test_service_impl.o: $(GENDIR)/src/proto/grpc/testing/duplicate/echo_duplicate.pb.cc $(GENDIR)/src/proto/grpc/testing/duplicate/echo_duplicate.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/echo.pb.cc $(GENDIR)/src/proto/grpc/testing/echo.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/echo_messages.pb.cc $(GENDIR)/src/proto/grpc/testing/echo_messages.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/simple_messages.pb.cc $(GENDIR)/src/proto/grpc/testing/simple_messages.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/xds/ads_for_test.pb.cc $(GENDIR)/src/proto/grpc/testing/xds/ads_for_test.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/xds/cds_for_test.pb.cc $(GENDIR)/src/proto/grpc/testing/xds/cds_for_test.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/xds/eds_for_test.pb.cc $(GENDIR)/src/proto/grpc/testing/xds/eds_for_test.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/xds/lds_rds_for_test.pb.cc $(GENDIR)/src/proto/grpc/testing/xds/lds_rds_for_test.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/xds/lrs_for_test.pb.cc $(GENDIR)/src/proto/grpc/testing/xds/lrs_for_test.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/xds/v3/address.pb.cc $(GENDIR)/src/proto/grpc/testing/xds/v3/address.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/xds/v3/ads.pb.cc $(GENDIR)/src/proto/grpc/testing/xds/v3/ads.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/xds/v3/base.pb.cc $(GENDIR)/src/proto/grpc/testing/xds/v3/base.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/xds/v3/cluster.pb.cc $(GENDIR)/src/proto/grpc/testing/xds/v3/cluster.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/xds/v3/config_source.pb.cc $(GENDIR)/src/proto/grpc/testing/xds/v3/config_source.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/xds/v3/discovery.pb.cc $(GENDIR)/src/proto/grpc/testing/xds/v3/discovery.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/xds/v3/endpoint.pb.cc $(GENDIR)/src/proto/grpc/testing/xds/v3/endpoint.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/xds/v3/http_connection_manager.pb.cc $(GENDIR)/src/proto/grpc/testing/xds/v3/http_connection_manager.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/xds/v3/listener.pb.cc $(GENDIR)/src/proto/grpc/testing/xds/v3/listener.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/xds/v3/load_report.pb.cc $(GENDIR)/src/proto/grpc/testing/xds/v3/load_report.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/xds/v3/lrs.pb.cc $(GENDIR)/src/proto/grpc/testing/xds/v3/lrs.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/xds/v3/percent.pb.cc $(GENDIR)/src/proto/grpc/testing/xds/v3/percent.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/xds/v3/range.pb.cc $(GENDIR)/src/proto/grpc/testing/xds/v3/range.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/xds/v3/regex.pb.cc $(GENDIR)/src/proto/grpc/testing/xds/v3/regex.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/xds/v3/route.pb.cc $(GENDIR)/src/proto/grpc/testing/xds/v3/route.grpc.pb.cc
$(OBJDIR)/$(CONFIG)/test/cpp/end2end/xds_end2end_test.o: $(GENDIR)/src/proto/grpc/testing/duplicate/echo_duplicate.pb.cc $(GENDIR)/src/proto/grpc/testing/duplicate/echo_duplicate.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/echo.pb.cc $(GENDIR)/src/proto/grpc/testing/echo.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/echo_messages.pb.cc $(GENDIR)/src/proto/grpc/testing/echo_messages.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/simple_messages.pb.cc $(GENDIR)/src/proto/grpc/testing/simple_messages.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/xds/ads_for_test.pb.cc $(GENDIR)/src/proto/grpc/testing/xds/ads_for_test.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/xds/cds_for_test.pb.cc $(GENDIR)/src/proto/grpc/testing/xds/cds_for_test.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/xds/eds_for_test.pb.cc $(GENDIR)/src/proto/grpc/testing/xds/eds_for_test.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/xds/lds_rds_for_test.pb.cc $(GENDIR)/src/proto/grpc/testing/xds/lds_rds_for_test.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/xds/lrs_for_test.pb.cc $(GENDIR)/src/proto/grpc/testing/xds/lrs_for_test.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/xds/v3/address.pb.cc $(GENDIR)/src/proto/grpc/testing/xds/v3/address.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/xds/v3/ads.pb.cc $(GENDIR)/src/proto/grpc/testing/xds/v3/ads.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/xds/v3/base.pb.cc $(GENDIR)/src/proto/grpc/testing/xds/v3/base.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/xds/v3/cluster.pb.cc $(GENDIR)/src/proto/grpc/testing/xds/v3/cluster.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/xds/v3/config_source.pb.cc $(GENDIR)/src/proto/grpc/testing/xds/v3/config_source.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/xds/v3/discovery.pb.cc $(GENDIR)/src/proto/grpc/testing/xds/v3/discovery.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/xds/v3/endpoint.pb.cc $(GENDIR)/src/proto/grpc/testing/xds/v3/endpoint.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/xds/v3/http_connection_manager.pb.cc $(GENDIR)/src/proto/grpc/testing/xds/v3/http_connection_manager.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/xds/v3/listener.pb.cc $(GENDIR)/src/proto/grpc/testing/xds/v3/listener.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/xds/v3/load_report.pb.cc $(GENDIR)/src/proto/grpc/testing/xds/v3/load_report.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/xds/v3/lrs.pb.cc $(GENDIR)/src/proto/grpc/testing/xds/v3/lrs.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/xds/v3/percent.pb.cc $(GENDIR)/src/proto/grpc/testing/xds/v3/percent.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/xds/v3/range.pb.cc $(GENDIR)/src/proto/grpc/testing/xds/v3/range.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/xds/v3/regex.pb.cc $(GENDIR)/src/proto/grpc/testing/xds/v3/regex.grpc.pb.cc $(GENDIR)/src/proto/grpc/testing/xds/v3/route.pb.cc $(GENDIR)/src/proto/grpc/testing/xds/v3/route.grpc.pb.cc
XDS_INTEROP_CLIENT_SRC = \
@ -19958,7 +20210,6 @@ src/core/lib/security/transport/client_auth_filter.cc: $(OPENSSL_DEP)
src/core/lib/security/transport/secure_endpoint.cc: $(OPENSSL_DEP)
src/core/lib/security/transport/security_handshaker.cc: $(OPENSSL_DEP)
src/core/lib/security/transport/server_auth_filter.cc: $(OPENSSL_DEP)
src/core/lib/security/transport/target_authority_table.cc: $(OPENSSL_DEP)
src/core/lib/security/transport/tsi_error.cc: $(OPENSSL_DEP)
src/core/lib/security/util/json_util.cc: $(OPENSSL_DEP)
src/core/lib/surface/init_secure.cc: $(OPENSSL_DEP)

@ -283,11 +283,11 @@ def grpc_deps():
if "upb" not in native.existing_rules():
http_archive(
name = "upb",
sha256 = "79f7de61203c4ee5e4fcb2f17c5f3338119d6eb94aca8bce05332d2c1cfee108",
strip_prefix = "upb-92e63da73328d01b417cf26c2de7b0a27a0f83af",
sha256 = "7992217989f3156f8109931c1fc6db3434b7414957cb82371552377beaeb9d6c",
strip_prefix = "upb-382d5afc60e05470c23e8de19b19fc5ad231e732",
urls = [
"https://storage.googleapis.com/grpc-bazel-mirror/github.com/protocolbuffers/upb/archive/92e63da73328d01b417cf26c2de7b0a27a0f83af.tar.gz",
"https://github.com/protocolbuffers/upb/archive/92e63da73328d01b417cf26c2de7b0a27a0f83af.tar.gz",
"https://storage.googleapis.com/grpc-bazel-mirror/github.com/protocolbuffers/upb/archive/382d5afc60e05470c23e8de19b19fc5ad231e732.tar.gz",
"https://github.com/protocolbuffers/upb/archive/382d5afc60e05470c23e8de19b19fc5ad231e732.tar.gz",
],
)

@ -53,7 +53,7 @@ def _generate_py_impl(context):
imports = []
if out_dir.import_path:
imports.append("__main__/%s" % out_dir.import_path)
imports.append("%s/%s/%s" % (context.workspace_name, context.label.package, out_dir.import_path))
return [
DefaultInfo(files = depset(direct = out_files)),
@ -164,15 +164,12 @@ def _generate_pb2_grpc_src_impl(context):
mnemonic = "ProtocInvocation",
)
imports = []
if out_dir.import_path:
imports.append("__main__/%s" % out_dir.import_path)
return [
DefaultInfo(files = depset(direct = out_files)),
PyInfo(
transitive_sources = depset(),
imports = depset(direct = imports),
# Imports are already configured by the generated py impl
imports = depset(),
),
]

@ -69,6 +69,8 @@ py2and3_test(
# Test compatibility of py_proto_library and py_grpc_library rules with
# proto_library targets as deps when the latter use import_prefix and/or
# strip_import_prefix arguments
#
# See namespaced/upper/example for more encompassing tests.
proto_library(
name = "helloworld_moved_proto",
srcs = ["helloworld.proto"],

@ -3,6 +3,9 @@ local_repository(
path = "../../..",
)
# Ensure rules don't rely on __main__ naming convention.
workspace(name = "python_test_repo")
load("@com_github_grpc_grpc//bazel:grpc_deps.bzl", "grpc_deps")
grpc_deps()

@ -0,0 +1,165 @@
# gRPC Bazel BUILD file.
#
# Copyright 2020 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.
load("@rules_proto//proto:defs.bzl", "proto_library")
load(
"@com_github_grpc_grpc//bazel:python_rules.bzl",
"py2and3_test",
"py_grpc_library",
"py_proto_library",
)
_IMPORT_PREFIX = "foo/bar"
_STRIP_PREFIX = "/%s" % package_name()
proto_library(
name = "import_no_strip_proto",
srcs = ["namespaced_example.proto"],
import_prefix = _IMPORT_PREFIX,
strip_import_prefix = None,
)
proto_library(
name = "import_strip_proto",
srcs = ["namespaced_example.proto"],
import_prefix = _IMPORT_PREFIX,
strip_import_prefix = _STRIP_PREFIX,
)
proto_library(
name = "no_import_no_strip_proto",
srcs = ["namespaced_example.proto"],
import_prefix = None,
strip_import_prefix = None,
)
proto_library(
name = "no_import_strip_proto",
srcs = ["namespaced_example.proto"],
import_prefix = None,
strip_import_prefix = _STRIP_PREFIX,
)
py_proto_library(
name = "import_no_strip_py_pb2",
deps = ["import_no_strip_proto"],
)
py_grpc_library(
name = "import_no_strip_py_pb2_grpc",
srcs = ["import_no_strip_proto"],
deps = ["import_no_strip_py_pb2"],
)
py_proto_library(
name = "import_strip_py_pb2",
deps = ["import_strip_proto"],
)
py_grpc_library(
name = "import_strip_py_pb2_grpc",
srcs = ["import_strip_proto"],
deps = ["import_strip_py_pb2"],
)
py_proto_library(
name = "no_import_no_strip_py_pb2",
deps = ["no_import_no_strip_proto"],
)
py_grpc_library(
name = "no_import_no_strip_py_pb2_grpc",
srcs = ["no_import_no_strip_proto"],
deps = ["no_import_no_strip_py_pb2"],
)
py_proto_library(
name = "no_import_strip_py_pb2",
deps = ["no_import_strip_proto"],
)
py_grpc_library(
name = "no_import_strip_py_pb2_grpc",
srcs = ["no_import_strip_proto"],
deps = ["no_import_strip_py_pb2"],
)
#################
# Namespace Tests
#################
# Most examples with protos have all proto packages rooted at the workspace root. i.e. google/api has
# a directory structure:
# - WORKSPACE
# - /google
# - /api
# - files.proto
#
# But if you can't anchor the protos at the root, you have to use strip and import prefixes. This results
# in the following directory layout for python, which needs to properly be added to the imports.
#
# No Import or Strip (Can't compile if there are any proto dependencies)
# bazel-out/darwin-fastbuild/bin/namespaced/upper/example/namespaced_example_pb2.py
#
# No import Prefix (Can't compile if there are any proto dependencies)
# bazel-out/darwin-fastbuild/bin/namespaced/upper/example/_virtual_imports/namespaced_example_proto/namespaced_example_pb2.py
#
# No strip prefix (Can't compile if there are any proto dependencies)
# bazel-out/darwin-fastbuild/bin/namespaced/upper/example/_virtual_imports/namespaced_example_proto/upper/example/namespaced/upper/example/namespaced_example_pb2.py
#
# Both Import and Strip
# bazel-out/darwin-fastbuild/bin/namespaced/upper/example/_virtual_imports/namespaced_example_proto/upper/example/namespaced_example_pb2.py
py2and3_test(
"import_no_strip_test",
srcs = ["import_no_strip_test.py"],
main = "import_no_strip_test.py",
deps = [
":import_no_strip_py_pb2",
":import_no_strip_py_pb2_grpc",
],
)
py2and3_test(
"import_strip_test",
srcs = ["import_strip_test.py"],
main = "import_strip_test.py",
deps = [
":import_strip_py_pb2",
":import_strip_py_pb2_grpc",
],
)
py2and3_test(
"no_import_no_strip_test",
srcs = ["no_import_no_strip_test.py"],
main = "no_import_no_strip_test.py",
deps = [
":no_import_no_strip_py_pb2",
":no_import_no_strip_py_pb2_grpc",
],
)
py2and3_test(
"no_import_strip_test",
srcs = ["no_import_strip_test.py"],
main = "no_import_strip_test.py",
deps = [
":no_import_strip_py_pb2",
":no_import_strip_py_pb2_grpc",
],
)

@ -0,0 +1,35 @@
# Copyright 2020 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.
import logging
import unittest
class ImportTest(unittest.TestCase):
def test_import(self):
from foo.bar.namespaced.upper.example.namespaced_example_pb2 import NamespacedExample
namespaced_example = NamespacedExample()
namespaced_example.value = "hello"
# Dummy assert, important part is namespaced example was imported.
self.assertEqual(namespaced_example.value, "hello")
def test_grpc(self):
from foo.bar.namespaced.upper.example.namespaced_example_pb2_grpc import NamespacedServiceStub
# No error from import
self.assertEqual(1, 1)
if __name__ == '__main__':
logging.basicConfig()
unittest.main()

@ -0,0 +1,35 @@
# Copyright 2020 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.
import logging
import unittest
class ImportTest(unittest.TestCase):
def test_import(self):
from foo.bar.namespaced_example_pb2 import NamespacedExample
namespaced_example = NamespacedExample()
namespaced_example.value = "hello"
# Dummy assert, important part is namespaced example was imported.
self.assertEqual(namespaced_example.value, "hello")
def test_grpc(self):
from foo.bar.namespaced_example_pb2_grpc import NamespacedServiceStub
# No error from import
self.assertEqual(1, 1)
if __name__ == '__main__':
logging.basicConfig()
unittest.main()

@ -0,0 +1,27 @@
// Copyright 2020 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.
syntax = "proto3";
option java_multiple_files = true;
option java_package = "io.grpc.examples.namespaced";
option java_outer_classname = "NamespacedDependencyProtos";
option objc_class_prefix = "NEP";
package upper.example;
message NamespacedDependency {
int32 value = 1;
}

@ -0,0 +1,38 @@
// Copyright 2020 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.
syntax = "proto3";
option java_multiple_files = true;
option java_package = "io.grpc.examples.namespaced";
option java_outer_classname = "NamespacedExampleProtos";
option objc_class_prefix = "NEP";
package upper.example;
// TODO: dependencies are still broken
// Need to do something like this: https://packaging.python.org/guides/packaging-namespace-packages/
// import "upper/example/namespaced_dependency.proto";
message NamespacedExample {
string value = 1;
// TODO: dependencies are still broken
// NamespacedDependency dependency = 2;
}
service NamespacedService {
rpc SayHello (NamespacedExample) returns (NamespacedExample) {}
}

@ -0,0 +1,35 @@
# Copyright 2020 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.
import logging
import unittest
class ImportTest(unittest.TestCase):
def test_import(self):
from namespaced.upper.example.namespaced_example_pb2 import NamespacedExample
namespaced_example = NamespacedExample()
namespaced_example.value = "hello"
# Dummy assert, important part is namespaced example was imported.
self.assertEqual(namespaced_example.value, "hello")
def test_grpc(self):
from namespaced.upper.example.namespaced_example_pb2_grpc import NamespacedServiceStub
# No error from import
self.assertEqual(1, 1)
if __name__ == '__main__':
logging.basicConfig()
unittest.main()

@ -0,0 +1,35 @@
# Copyright 2020 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.
import logging
import unittest
class ImportTest(unittest.TestCase):
def test_import(self):
from namespaced_example_pb2 import NamespacedExample
namespaced_example = NamespacedExample()
namespaced_example.value = "hello"
# Dummy assert, important part is namespaced example was imported.
self.assertEqual(namespaced_example.value, "hello")
def test_grpc(self):
from namespaced_example_pb2_grpc import NamespacedServiceStub
# No error from import
self.assertEqual(1, 1)
if __name__ == '__main__':
logging.basicConfig()
unittest.main()

@ -349,9 +349,11 @@ libs:
- src/core/lib/profiling/stap_timers.cc
deps:
- absl/time:time
- absl/synchronization:synchronization
- absl/strings:strings
- absl/strings:str_format
- absl/memory:memory
- absl/base:base
secure: false
- name: grpc
build: all
@ -461,58 +463,62 @@ libs:
- src/core/ext/transport/inproc/inproc_transport.h
- src/core/ext/upb-generated/envoy/annotations/deprecation.upb.h
- src/core/ext/upb-generated/envoy/annotations/resource.upb.h
- src/core/ext/upb-generated/envoy/api/v2/auth/cert.upb.h
- src/core/ext/upb-generated/envoy/api/v2/auth/common.upb.h
- src/core/ext/upb-generated/envoy/api/v2/auth/secret.upb.h
- src/core/ext/upb-generated/envoy/api/v2/auth/tls.upb.h
- src/core/ext/upb-generated/envoy/api/v2/cds.upb.h
- src/core/ext/upb-generated/envoy/api/v2/cluster.upb.h
- src/core/ext/upb-generated/envoy/api/v2/cluster/circuit_breaker.upb.h
- src/core/ext/upb-generated/envoy/api/v2/cluster/filter.upb.h
- src/core/ext/upb-generated/envoy/api/v2/cluster/outlier_detection.upb.h
- src/core/ext/upb-generated/envoy/api/v2/core/address.upb.h
- src/core/ext/upb-generated/envoy/api/v2/core/backoff.upb.h
- src/core/ext/upb-generated/envoy/api/v2/core/base.upb.h
- src/core/ext/upb-generated/envoy/api/v2/core/config_source.upb.h
- src/core/ext/upb-generated/envoy/api/v2/core/event_service_config.upb.h
- src/core/ext/upb-generated/envoy/api/v2/core/grpc_service.upb.h
- src/core/ext/upb-generated/envoy/api/v2/core/health_check.upb.h
- src/core/ext/upb-generated/envoy/api/v2/core/http_uri.upb.h
- src/core/ext/upb-generated/envoy/api/v2/core/protocol.upb.h
- src/core/ext/upb-generated/envoy/api/v2/core/socket_option.upb.h
- src/core/ext/upb-generated/envoy/api/v2/discovery.upb.h
- src/core/ext/upb-generated/envoy/api/v2/eds.upb.h
- src/core/ext/upb-generated/envoy/api/v2/endpoint.upb.h
- src/core/ext/upb-generated/envoy/api/v2/endpoint/endpoint.upb.h
- src/core/ext/upb-generated/envoy/api/v2/endpoint/endpoint_components.upb.h
- src/core/ext/upb-generated/envoy/api/v2/endpoint/load_report.upb.h
- src/core/ext/upb-generated/envoy/api/v2/lds.upb.h
- src/core/ext/upb-generated/envoy/api/v2/listener.upb.h
- src/core/ext/upb-generated/envoy/api/v2/listener/listener.upb.h
- src/core/ext/upb-generated/envoy/api/v2/listener/listener_components.upb.h
- src/core/ext/upb-generated/envoy/api/v2/listener/udp_listener_config.upb.h
- src/core/ext/upb-generated/envoy/api/v2/rds.upb.h
- src/core/ext/upb-generated/envoy/api/v2/route.upb.h
- src/core/ext/upb-generated/envoy/api/v2/route/route.upb.h
- src/core/ext/upb-generated/envoy/api/v2/route/route_components.upb.h
- src/core/ext/upb-generated/envoy/api/v2/scoped_route.upb.h
- src/core/ext/upb-generated/envoy/api/v2/srds.upb.h
- src/core/ext/upb-generated/envoy/config/filter/accesslog/v2/accesslog.upb.h
- src/core/ext/upb-generated/envoy/config/filter/network/http_connection_manager/v2/http_connection_manager.upb.h
- src/core/ext/upb-generated/envoy/config/listener/v2/api_listener.upb.h
- src/core/ext/upb-generated/envoy/config/trace/v2/http_tracer.upb.h
- src/core/ext/upb-generated/envoy/service/discovery/v2/ads.upb.h
- src/core/ext/upb-generated/envoy/service/load_stats/v2/lrs.upb.h
- src/core/ext/upb-generated/envoy/type/http.upb.h
- src/core/ext/upb-generated/envoy/type/matcher/regex.upb.h
- src/core/ext/upb-generated/envoy/type/matcher/string.upb.h
- src/core/ext/upb-generated/envoy/type/metadata/v2/metadata.upb.h
- src/core/ext/upb-generated/envoy/type/percent.upb.h
- src/core/ext/upb-generated/envoy/type/range.upb.h
- src/core/ext/upb-generated/envoy/type/semantic_version.upb.h
- src/core/ext/upb-generated/envoy/type/tracing/v2/custom_tag.upb.h
- src/core/ext/upb-generated/envoy/config/accesslog/v3/accesslog.upb.h
- src/core/ext/upb-generated/envoy/config/cluster/v3/circuit_breaker.upb.h
- src/core/ext/upb-generated/envoy/config/cluster/v3/cluster.upb.h
- src/core/ext/upb-generated/envoy/config/cluster/v3/filter.upb.h
- src/core/ext/upb-generated/envoy/config/cluster/v3/outlier_detection.upb.h
- src/core/ext/upb-generated/envoy/config/core/v3/address.upb.h
- src/core/ext/upb-generated/envoy/config/core/v3/backoff.upb.h
- src/core/ext/upb-generated/envoy/config/core/v3/base.upb.h
- src/core/ext/upb-generated/envoy/config/core/v3/config_source.upb.h
- src/core/ext/upb-generated/envoy/config/core/v3/event_service_config.upb.h
- src/core/ext/upb-generated/envoy/config/core/v3/grpc_service.upb.h
- src/core/ext/upb-generated/envoy/config/core/v3/health_check.upb.h
- src/core/ext/upb-generated/envoy/config/core/v3/http_uri.upb.h
- src/core/ext/upb-generated/envoy/config/core/v3/protocol.upb.h
- src/core/ext/upb-generated/envoy/config/core/v3/proxy_protocol.upb.h
- src/core/ext/upb-generated/envoy/config/core/v3/socket_option.upb.h
- src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint.upb.h
- src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint_components.upb.h
- src/core/ext/upb-generated/envoy/config/endpoint/v3/load_report.upb.h
- src/core/ext/upb-generated/envoy/config/listener/v3/api_listener.upb.h
- src/core/ext/upb-generated/envoy/config/listener/v3/listener.upb.h
- src/core/ext/upb-generated/envoy/config/listener/v3/listener_components.upb.h
- src/core/ext/upb-generated/envoy/config/listener/v3/udp_listener_config.upb.h
- src/core/ext/upb-generated/envoy/config/rbac/v3/rbac.upb.h
- src/core/ext/upb-generated/envoy/config/route/v3/route.upb.h
- src/core/ext/upb-generated/envoy/config/route/v3/route_components.upb.h
- src/core/ext/upb-generated/envoy/config/route/v3/scoped_route.upb.h
- src/core/ext/upb-generated/envoy/config/trace/v3/http_tracer.upb.h
- src/core/ext/upb-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.h
- src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/cert.upb.h
- src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/common.upb.h
- src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/secret.upb.h
- src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/tls.upb.h
- src/core/ext/upb-generated/envoy/service/cluster/v3/cds.upb.h
- src/core/ext/upb-generated/envoy/service/discovery/v3/ads.upb.h
- src/core/ext/upb-generated/envoy/service/discovery/v3/discovery.upb.h
- src/core/ext/upb-generated/envoy/service/endpoint/v3/eds.upb.h
- src/core/ext/upb-generated/envoy/service/listener/v3/lds.upb.h
- src/core/ext/upb-generated/envoy/service/load_stats/v3/lrs.upb.h
- src/core/ext/upb-generated/envoy/service/route/v3/rds.upb.h
- src/core/ext/upb-generated/envoy/service/route/v3/srds.upb.h
- src/core/ext/upb-generated/envoy/type/matcher/v3/metadata.upb.h
- src/core/ext/upb-generated/envoy/type/matcher/v3/number.upb.h
- src/core/ext/upb-generated/envoy/type/matcher/v3/path.upb.h
- src/core/ext/upb-generated/envoy/type/matcher/v3/regex.upb.h
- src/core/ext/upb-generated/envoy/type/matcher/v3/string.upb.h
- src/core/ext/upb-generated/envoy/type/matcher/v3/value.upb.h
- src/core/ext/upb-generated/envoy/type/metadata/v3/metadata.upb.h
- src/core/ext/upb-generated/envoy/type/tracing/v3/custom_tag.upb.h
- src/core/ext/upb-generated/envoy/type/v3/http.upb.h
- src/core/ext/upb-generated/envoy/type/v3/percent.upb.h
- src/core/ext/upb-generated/envoy/type/v3/range.upb.h
- src/core/ext/upb-generated/envoy/type/v3/semantic_version.upb.h
- src/core/ext/upb-generated/gogoproto/gogo.upb.h
- src/core/ext/upb-generated/google/api/annotations.upb.h
- src/core/ext/upb-generated/google/api/expr/v1alpha1/syntax.upb.h
- src/core/ext/upb-generated/google/api/http.upb.h
- src/core/ext/upb-generated/google/protobuf/any.upb.h
- src/core/ext/upb-generated/google/protobuf/descriptor.upb.h
@ -530,6 +536,7 @@ libs:
- src/core/ext/upb-generated/udpa/annotations/migrate.upb.h
- src/core/ext/upb-generated/udpa/annotations/sensitive.upb.h
- src/core/ext/upb-generated/udpa/annotations/status.upb.h
- src/core/ext/upb-generated/udpa/annotations/versioning.upb.h
- src/core/ext/upb-generated/udpa/data/orca/v1/orca_load_report.upb.h
- src/core/ext/upb-generated/validate/validate.upb.h
- src/core/lib/avl/avl.h
@ -673,16 +680,13 @@ libs:
- src/core/lib/security/transport/auth_filters.h
- src/core/lib/security/transport/secure_endpoint.h
- src/core/lib/security/transport/security_handshaker.h
- src/core/lib/security/transport/target_authority_table.h
- src/core/lib/security/transport/tsi_error.h
- src/core/lib/security/util/json_util.h
- src/core/lib/slice/b64.h
- src/core/lib/slice/percent_encoding.h
- src/core/lib/slice/slice_hash_table.h
- src/core/lib/slice/slice_internal.h
- src/core/lib/slice/slice_string_helpers.h
- src/core/lib/slice/slice_utils.h
- src/core/lib/slice/slice_weak_hash_table.h
- src/core/lib/surface/api_trace.h
- src/core/lib/surface/call.h
- src/core/lib/surface/call_test_only.h
@ -696,6 +700,7 @@ libs:
- src/core/lib/surface/lame_client.h
- src/core/lib/surface/server.h
- src/core/lib/surface/validate_metadata.h
- src/core/lib/transport/authority_override.h
- src/core/lib/transport/bdp_estimator.h
- src/core/lib/transport/byte_stream.h
- src/core/lib/transport/connectivity_state.h
@ -853,58 +858,62 @@ libs:
- src/core/ext/transport/inproc/inproc_transport.cc
- src/core/ext/upb-generated/envoy/annotations/deprecation.upb.c
- src/core/ext/upb-generated/envoy/annotations/resource.upb.c
- src/core/ext/upb-generated/envoy/api/v2/auth/cert.upb.c
- src/core/ext/upb-generated/envoy/api/v2/auth/common.upb.c
- src/core/ext/upb-generated/envoy/api/v2/auth/secret.upb.c
- src/core/ext/upb-generated/envoy/api/v2/auth/tls.upb.c
- src/core/ext/upb-generated/envoy/api/v2/cds.upb.c
- src/core/ext/upb-generated/envoy/api/v2/cluster.upb.c
- src/core/ext/upb-generated/envoy/api/v2/cluster/circuit_breaker.upb.c
- src/core/ext/upb-generated/envoy/api/v2/cluster/filter.upb.c
- src/core/ext/upb-generated/envoy/api/v2/cluster/outlier_detection.upb.c
- src/core/ext/upb-generated/envoy/api/v2/core/address.upb.c
- src/core/ext/upb-generated/envoy/api/v2/core/backoff.upb.c
- src/core/ext/upb-generated/envoy/api/v2/core/base.upb.c
- src/core/ext/upb-generated/envoy/api/v2/core/config_source.upb.c
- src/core/ext/upb-generated/envoy/api/v2/core/event_service_config.upb.c
- src/core/ext/upb-generated/envoy/api/v2/core/grpc_service.upb.c
- src/core/ext/upb-generated/envoy/api/v2/core/health_check.upb.c
- src/core/ext/upb-generated/envoy/api/v2/core/http_uri.upb.c
- src/core/ext/upb-generated/envoy/api/v2/core/protocol.upb.c
- src/core/ext/upb-generated/envoy/api/v2/core/socket_option.upb.c
- src/core/ext/upb-generated/envoy/api/v2/discovery.upb.c
- src/core/ext/upb-generated/envoy/api/v2/eds.upb.c
- src/core/ext/upb-generated/envoy/api/v2/endpoint.upb.c
- src/core/ext/upb-generated/envoy/api/v2/endpoint/endpoint.upb.c
- src/core/ext/upb-generated/envoy/api/v2/endpoint/endpoint_components.upb.c
- src/core/ext/upb-generated/envoy/api/v2/endpoint/load_report.upb.c
- src/core/ext/upb-generated/envoy/api/v2/lds.upb.c
- src/core/ext/upb-generated/envoy/api/v2/listener.upb.c
- src/core/ext/upb-generated/envoy/api/v2/listener/listener.upb.c
- src/core/ext/upb-generated/envoy/api/v2/listener/listener_components.upb.c
- src/core/ext/upb-generated/envoy/api/v2/listener/udp_listener_config.upb.c
- src/core/ext/upb-generated/envoy/api/v2/rds.upb.c
- src/core/ext/upb-generated/envoy/api/v2/route.upb.c
- src/core/ext/upb-generated/envoy/api/v2/route/route.upb.c
- src/core/ext/upb-generated/envoy/api/v2/route/route_components.upb.c
- src/core/ext/upb-generated/envoy/api/v2/scoped_route.upb.c
- src/core/ext/upb-generated/envoy/api/v2/srds.upb.c
- src/core/ext/upb-generated/envoy/config/filter/accesslog/v2/accesslog.upb.c
- src/core/ext/upb-generated/envoy/config/filter/network/http_connection_manager/v2/http_connection_manager.upb.c
- src/core/ext/upb-generated/envoy/config/listener/v2/api_listener.upb.c
- src/core/ext/upb-generated/envoy/config/trace/v2/http_tracer.upb.c
- src/core/ext/upb-generated/envoy/service/discovery/v2/ads.upb.c
- src/core/ext/upb-generated/envoy/service/load_stats/v2/lrs.upb.c
- src/core/ext/upb-generated/envoy/type/http.upb.c
- src/core/ext/upb-generated/envoy/type/matcher/regex.upb.c
- src/core/ext/upb-generated/envoy/type/matcher/string.upb.c
- src/core/ext/upb-generated/envoy/type/metadata/v2/metadata.upb.c
- src/core/ext/upb-generated/envoy/type/percent.upb.c
- src/core/ext/upb-generated/envoy/type/range.upb.c
- src/core/ext/upb-generated/envoy/type/semantic_version.upb.c
- src/core/ext/upb-generated/envoy/type/tracing/v2/custom_tag.upb.c
- src/core/ext/upb-generated/envoy/config/accesslog/v3/accesslog.upb.c
- src/core/ext/upb-generated/envoy/config/cluster/v3/circuit_breaker.upb.c
- src/core/ext/upb-generated/envoy/config/cluster/v3/cluster.upb.c
- src/core/ext/upb-generated/envoy/config/cluster/v3/filter.upb.c
- src/core/ext/upb-generated/envoy/config/cluster/v3/outlier_detection.upb.c
- src/core/ext/upb-generated/envoy/config/core/v3/address.upb.c
- src/core/ext/upb-generated/envoy/config/core/v3/backoff.upb.c
- src/core/ext/upb-generated/envoy/config/core/v3/base.upb.c
- src/core/ext/upb-generated/envoy/config/core/v3/config_source.upb.c
- src/core/ext/upb-generated/envoy/config/core/v3/event_service_config.upb.c
- src/core/ext/upb-generated/envoy/config/core/v3/grpc_service.upb.c
- src/core/ext/upb-generated/envoy/config/core/v3/health_check.upb.c
- src/core/ext/upb-generated/envoy/config/core/v3/http_uri.upb.c
- src/core/ext/upb-generated/envoy/config/core/v3/protocol.upb.c
- src/core/ext/upb-generated/envoy/config/core/v3/proxy_protocol.upb.c
- src/core/ext/upb-generated/envoy/config/core/v3/socket_option.upb.c
- src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint.upb.c
- src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint_components.upb.c
- src/core/ext/upb-generated/envoy/config/endpoint/v3/load_report.upb.c
- src/core/ext/upb-generated/envoy/config/listener/v3/api_listener.upb.c
- src/core/ext/upb-generated/envoy/config/listener/v3/listener.upb.c
- src/core/ext/upb-generated/envoy/config/listener/v3/listener_components.upb.c
- src/core/ext/upb-generated/envoy/config/listener/v3/udp_listener_config.upb.c
- src/core/ext/upb-generated/envoy/config/rbac/v3/rbac.upb.c
- src/core/ext/upb-generated/envoy/config/route/v3/route.upb.c
- src/core/ext/upb-generated/envoy/config/route/v3/route_components.upb.c
- src/core/ext/upb-generated/envoy/config/route/v3/scoped_route.upb.c
- src/core/ext/upb-generated/envoy/config/trace/v3/http_tracer.upb.c
- src/core/ext/upb-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.c
- src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/cert.upb.c
- src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/common.upb.c
- src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/secret.upb.c
- src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/tls.upb.c
- src/core/ext/upb-generated/envoy/service/cluster/v3/cds.upb.c
- src/core/ext/upb-generated/envoy/service/discovery/v3/ads.upb.c
- src/core/ext/upb-generated/envoy/service/discovery/v3/discovery.upb.c
- src/core/ext/upb-generated/envoy/service/endpoint/v3/eds.upb.c
- src/core/ext/upb-generated/envoy/service/listener/v3/lds.upb.c
- src/core/ext/upb-generated/envoy/service/load_stats/v3/lrs.upb.c
- src/core/ext/upb-generated/envoy/service/route/v3/rds.upb.c
- src/core/ext/upb-generated/envoy/service/route/v3/srds.upb.c
- src/core/ext/upb-generated/envoy/type/matcher/v3/metadata.upb.c
- src/core/ext/upb-generated/envoy/type/matcher/v3/number.upb.c
- src/core/ext/upb-generated/envoy/type/matcher/v3/path.upb.c
- src/core/ext/upb-generated/envoy/type/matcher/v3/regex.upb.c
- src/core/ext/upb-generated/envoy/type/matcher/v3/string.upb.c
- src/core/ext/upb-generated/envoy/type/matcher/v3/value.upb.c
- src/core/ext/upb-generated/envoy/type/metadata/v3/metadata.upb.c
- src/core/ext/upb-generated/envoy/type/tracing/v3/custom_tag.upb.c
- src/core/ext/upb-generated/envoy/type/v3/http.upb.c
- src/core/ext/upb-generated/envoy/type/v3/percent.upb.c
- src/core/ext/upb-generated/envoy/type/v3/range.upb.c
- src/core/ext/upb-generated/envoy/type/v3/semantic_version.upb.c
- src/core/ext/upb-generated/gogoproto/gogo.upb.c
- src/core/ext/upb-generated/google/api/annotations.upb.c
- src/core/ext/upb-generated/google/api/expr/v1alpha1/syntax.upb.c
- src/core/ext/upb-generated/google/api/http.upb.c
- src/core/ext/upb-generated/google/protobuf/any.upb.c
- src/core/ext/upb-generated/google/protobuf/descriptor.upb.c
@ -922,6 +931,7 @@ libs:
- src/core/ext/upb-generated/udpa/annotations/migrate.upb.c
- src/core/ext/upb-generated/udpa/annotations/sensitive.upb.c
- src/core/ext/upb-generated/udpa/annotations/status.upb.c
- src/core/ext/upb-generated/udpa/annotations/versioning.upb.c
- src/core/ext/upb-generated/udpa/data/orca/v1/orca_load_report.upb.c
- src/core/ext/upb-generated/validate/validate.upb.c
- src/core/lib/avl/avl.cc
@ -1086,7 +1096,6 @@ libs:
- src/core/lib/security/transport/secure_endpoint.cc
- src/core/lib/security/transport/security_handshaker.cc
- src/core/lib/security/transport/server_auth_filter.cc
- src/core/lib/security/transport/target_authority_table.cc
- src/core/lib/security/transport/tsi_error.cc
- src/core/lib/security/util/json_util.cc
- src/core/lib/slice/b64.cc
@ -1115,6 +1124,7 @@ libs:
- src/core/lib/surface/server.cc
- src/core/lib/surface/validate_metadata.cc
- src/core/lib/surface/version.cc
- src/core/lib/transport/authority_override.cc
- src/core/lib/transport/bdp_estimator.cc
- src/core/lib/transport/byte_stream.cc
- src/core/lib/transport/connectivity_state.cc
@ -1390,58 +1400,62 @@ libs:
- src/core/ext/transport/inproc/inproc_transport.h
- src/core/ext/upb-generated/envoy/annotations/deprecation.upb.h
- src/core/ext/upb-generated/envoy/annotations/resource.upb.h
- src/core/ext/upb-generated/envoy/api/v2/auth/cert.upb.h
- src/core/ext/upb-generated/envoy/api/v2/auth/common.upb.h
- src/core/ext/upb-generated/envoy/api/v2/auth/secret.upb.h
- src/core/ext/upb-generated/envoy/api/v2/auth/tls.upb.h
- src/core/ext/upb-generated/envoy/api/v2/cds.upb.h
- src/core/ext/upb-generated/envoy/api/v2/cluster.upb.h
- src/core/ext/upb-generated/envoy/api/v2/cluster/circuit_breaker.upb.h
- src/core/ext/upb-generated/envoy/api/v2/cluster/filter.upb.h
- src/core/ext/upb-generated/envoy/api/v2/cluster/outlier_detection.upb.h
- src/core/ext/upb-generated/envoy/api/v2/core/address.upb.h
- src/core/ext/upb-generated/envoy/api/v2/core/backoff.upb.h
- src/core/ext/upb-generated/envoy/api/v2/core/base.upb.h
- src/core/ext/upb-generated/envoy/api/v2/core/config_source.upb.h
- src/core/ext/upb-generated/envoy/api/v2/core/event_service_config.upb.h
- src/core/ext/upb-generated/envoy/api/v2/core/grpc_service.upb.h
- src/core/ext/upb-generated/envoy/api/v2/core/health_check.upb.h
- src/core/ext/upb-generated/envoy/api/v2/core/http_uri.upb.h
- src/core/ext/upb-generated/envoy/api/v2/core/protocol.upb.h
- src/core/ext/upb-generated/envoy/api/v2/core/socket_option.upb.h
- src/core/ext/upb-generated/envoy/api/v2/discovery.upb.h
- src/core/ext/upb-generated/envoy/api/v2/eds.upb.h
- src/core/ext/upb-generated/envoy/api/v2/endpoint.upb.h
- src/core/ext/upb-generated/envoy/api/v2/endpoint/endpoint.upb.h
- src/core/ext/upb-generated/envoy/api/v2/endpoint/endpoint_components.upb.h
- src/core/ext/upb-generated/envoy/api/v2/endpoint/load_report.upb.h
- src/core/ext/upb-generated/envoy/api/v2/lds.upb.h
- src/core/ext/upb-generated/envoy/api/v2/listener.upb.h
- src/core/ext/upb-generated/envoy/api/v2/listener/listener.upb.h
- src/core/ext/upb-generated/envoy/api/v2/listener/listener_components.upb.h
- src/core/ext/upb-generated/envoy/api/v2/listener/udp_listener_config.upb.h
- src/core/ext/upb-generated/envoy/api/v2/rds.upb.h
- src/core/ext/upb-generated/envoy/api/v2/route.upb.h
- src/core/ext/upb-generated/envoy/api/v2/route/route.upb.h
- src/core/ext/upb-generated/envoy/api/v2/route/route_components.upb.h
- src/core/ext/upb-generated/envoy/api/v2/scoped_route.upb.h
- src/core/ext/upb-generated/envoy/api/v2/srds.upb.h
- src/core/ext/upb-generated/envoy/config/filter/accesslog/v2/accesslog.upb.h
- src/core/ext/upb-generated/envoy/config/filter/network/http_connection_manager/v2/http_connection_manager.upb.h
- src/core/ext/upb-generated/envoy/config/listener/v2/api_listener.upb.h
- src/core/ext/upb-generated/envoy/config/trace/v2/http_tracer.upb.h
- src/core/ext/upb-generated/envoy/service/discovery/v2/ads.upb.h
- src/core/ext/upb-generated/envoy/service/load_stats/v2/lrs.upb.h
- src/core/ext/upb-generated/envoy/type/http.upb.h
- src/core/ext/upb-generated/envoy/type/matcher/regex.upb.h
- src/core/ext/upb-generated/envoy/type/matcher/string.upb.h
- src/core/ext/upb-generated/envoy/type/metadata/v2/metadata.upb.h
- src/core/ext/upb-generated/envoy/type/percent.upb.h
- src/core/ext/upb-generated/envoy/type/range.upb.h
- src/core/ext/upb-generated/envoy/type/semantic_version.upb.h
- src/core/ext/upb-generated/envoy/type/tracing/v2/custom_tag.upb.h
- src/core/ext/upb-generated/envoy/config/accesslog/v3/accesslog.upb.h
- src/core/ext/upb-generated/envoy/config/cluster/v3/circuit_breaker.upb.h
- src/core/ext/upb-generated/envoy/config/cluster/v3/cluster.upb.h
- src/core/ext/upb-generated/envoy/config/cluster/v3/filter.upb.h
- src/core/ext/upb-generated/envoy/config/cluster/v3/outlier_detection.upb.h
- src/core/ext/upb-generated/envoy/config/core/v3/address.upb.h
- src/core/ext/upb-generated/envoy/config/core/v3/backoff.upb.h
- src/core/ext/upb-generated/envoy/config/core/v3/base.upb.h
- src/core/ext/upb-generated/envoy/config/core/v3/config_source.upb.h
- src/core/ext/upb-generated/envoy/config/core/v3/event_service_config.upb.h
- src/core/ext/upb-generated/envoy/config/core/v3/grpc_service.upb.h
- src/core/ext/upb-generated/envoy/config/core/v3/health_check.upb.h
- src/core/ext/upb-generated/envoy/config/core/v3/http_uri.upb.h
- src/core/ext/upb-generated/envoy/config/core/v3/protocol.upb.h
- src/core/ext/upb-generated/envoy/config/core/v3/proxy_protocol.upb.h
- src/core/ext/upb-generated/envoy/config/core/v3/socket_option.upb.h
- src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint.upb.h
- src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint_components.upb.h
- src/core/ext/upb-generated/envoy/config/endpoint/v3/load_report.upb.h
- src/core/ext/upb-generated/envoy/config/listener/v3/api_listener.upb.h
- src/core/ext/upb-generated/envoy/config/listener/v3/listener.upb.h
- src/core/ext/upb-generated/envoy/config/listener/v3/listener_components.upb.h
- src/core/ext/upb-generated/envoy/config/listener/v3/udp_listener_config.upb.h
- src/core/ext/upb-generated/envoy/config/rbac/v3/rbac.upb.h
- src/core/ext/upb-generated/envoy/config/route/v3/route.upb.h
- src/core/ext/upb-generated/envoy/config/route/v3/route_components.upb.h
- src/core/ext/upb-generated/envoy/config/route/v3/scoped_route.upb.h
- src/core/ext/upb-generated/envoy/config/trace/v3/http_tracer.upb.h
- src/core/ext/upb-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.h
- src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/cert.upb.h
- src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/common.upb.h
- src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/secret.upb.h
- src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/tls.upb.h
- src/core/ext/upb-generated/envoy/service/cluster/v3/cds.upb.h
- src/core/ext/upb-generated/envoy/service/discovery/v3/ads.upb.h
- src/core/ext/upb-generated/envoy/service/discovery/v3/discovery.upb.h
- src/core/ext/upb-generated/envoy/service/endpoint/v3/eds.upb.h
- src/core/ext/upb-generated/envoy/service/listener/v3/lds.upb.h
- src/core/ext/upb-generated/envoy/service/load_stats/v3/lrs.upb.h
- src/core/ext/upb-generated/envoy/service/route/v3/rds.upb.h
- src/core/ext/upb-generated/envoy/service/route/v3/srds.upb.h
- src/core/ext/upb-generated/envoy/type/matcher/v3/metadata.upb.h
- src/core/ext/upb-generated/envoy/type/matcher/v3/number.upb.h
- src/core/ext/upb-generated/envoy/type/matcher/v3/path.upb.h
- src/core/ext/upb-generated/envoy/type/matcher/v3/regex.upb.h
- src/core/ext/upb-generated/envoy/type/matcher/v3/string.upb.h
- src/core/ext/upb-generated/envoy/type/matcher/v3/value.upb.h
- src/core/ext/upb-generated/envoy/type/metadata/v3/metadata.upb.h
- src/core/ext/upb-generated/envoy/type/tracing/v3/custom_tag.upb.h
- src/core/ext/upb-generated/envoy/type/v3/http.upb.h
- src/core/ext/upb-generated/envoy/type/v3/percent.upb.h
- src/core/ext/upb-generated/envoy/type/v3/range.upb.h
- src/core/ext/upb-generated/envoy/type/v3/semantic_version.upb.h
- src/core/ext/upb-generated/gogoproto/gogo.upb.h
- src/core/ext/upb-generated/google/api/annotations.upb.h
- src/core/ext/upb-generated/google/api/expr/v1alpha1/syntax.upb.h
- src/core/ext/upb-generated/google/api/http.upb.h
- src/core/ext/upb-generated/google/protobuf/any.upb.h
- src/core/ext/upb-generated/google/protobuf/descriptor.upb.h
@ -1456,6 +1470,7 @@ libs:
- src/core/ext/upb-generated/udpa/annotations/migrate.upb.h
- src/core/ext/upb-generated/udpa/annotations/sensitive.upb.h
- src/core/ext/upb-generated/udpa/annotations/status.upb.h
- src/core/ext/upb-generated/udpa/annotations/versioning.upb.h
- src/core/ext/upb-generated/udpa/data/orca/v1/orca_load_report.upb.h
- src/core/ext/upb-generated/validate/validate.upb.h
- src/core/lib/avl/avl.h
@ -1570,11 +1585,9 @@ libs:
- src/core/lib/json/json.h
- src/core/lib/slice/b64.h
- src/core/lib/slice/percent_encoding.h
- src/core/lib/slice/slice_hash_table.h
- src/core/lib/slice/slice_internal.h
- src/core/lib/slice/slice_string_helpers.h
- src/core/lib/slice/slice_utils.h
- src/core/lib/slice/slice_weak_hash_table.h
- src/core/lib/surface/api_trace.h
- src/core/lib/surface/call.h
- src/core/lib/surface/call_test_only.h
@ -1588,6 +1601,7 @@ libs:
- src/core/lib/surface/lame_client.h
- src/core/lib/surface/server.h
- src/core/lib/surface/validate_metadata.h
- src/core/lib/transport/authority_override.h
- src/core/lib/transport/bdp_estimator.h
- src/core/lib/transport/byte_stream.h
- src/core/lib/transport/connectivity_state.h
@ -1716,58 +1730,62 @@ libs:
- src/core/ext/transport/inproc/inproc_transport.cc
- src/core/ext/upb-generated/envoy/annotations/deprecation.upb.c
- src/core/ext/upb-generated/envoy/annotations/resource.upb.c
- src/core/ext/upb-generated/envoy/api/v2/auth/cert.upb.c
- src/core/ext/upb-generated/envoy/api/v2/auth/common.upb.c
- src/core/ext/upb-generated/envoy/api/v2/auth/secret.upb.c
- src/core/ext/upb-generated/envoy/api/v2/auth/tls.upb.c
- src/core/ext/upb-generated/envoy/api/v2/cds.upb.c
- src/core/ext/upb-generated/envoy/api/v2/cluster.upb.c
- src/core/ext/upb-generated/envoy/api/v2/cluster/circuit_breaker.upb.c
- src/core/ext/upb-generated/envoy/api/v2/cluster/filter.upb.c
- src/core/ext/upb-generated/envoy/api/v2/cluster/outlier_detection.upb.c
- src/core/ext/upb-generated/envoy/api/v2/core/address.upb.c
- src/core/ext/upb-generated/envoy/api/v2/core/backoff.upb.c
- src/core/ext/upb-generated/envoy/api/v2/core/base.upb.c
- src/core/ext/upb-generated/envoy/api/v2/core/config_source.upb.c
- src/core/ext/upb-generated/envoy/api/v2/core/event_service_config.upb.c
- src/core/ext/upb-generated/envoy/api/v2/core/grpc_service.upb.c
- src/core/ext/upb-generated/envoy/api/v2/core/health_check.upb.c
- src/core/ext/upb-generated/envoy/api/v2/core/http_uri.upb.c
- src/core/ext/upb-generated/envoy/api/v2/core/protocol.upb.c
- src/core/ext/upb-generated/envoy/api/v2/core/socket_option.upb.c
- src/core/ext/upb-generated/envoy/api/v2/discovery.upb.c
- src/core/ext/upb-generated/envoy/api/v2/eds.upb.c
- src/core/ext/upb-generated/envoy/api/v2/endpoint.upb.c
- src/core/ext/upb-generated/envoy/api/v2/endpoint/endpoint.upb.c
- src/core/ext/upb-generated/envoy/api/v2/endpoint/endpoint_components.upb.c
- src/core/ext/upb-generated/envoy/api/v2/endpoint/load_report.upb.c
- src/core/ext/upb-generated/envoy/api/v2/lds.upb.c
- src/core/ext/upb-generated/envoy/api/v2/listener.upb.c
- src/core/ext/upb-generated/envoy/api/v2/listener/listener.upb.c
- src/core/ext/upb-generated/envoy/api/v2/listener/listener_components.upb.c
- src/core/ext/upb-generated/envoy/api/v2/listener/udp_listener_config.upb.c
- src/core/ext/upb-generated/envoy/api/v2/rds.upb.c
- src/core/ext/upb-generated/envoy/api/v2/route.upb.c
- src/core/ext/upb-generated/envoy/api/v2/route/route.upb.c
- src/core/ext/upb-generated/envoy/api/v2/route/route_components.upb.c
- src/core/ext/upb-generated/envoy/api/v2/scoped_route.upb.c
- src/core/ext/upb-generated/envoy/api/v2/srds.upb.c
- src/core/ext/upb-generated/envoy/config/filter/accesslog/v2/accesslog.upb.c
- src/core/ext/upb-generated/envoy/config/filter/network/http_connection_manager/v2/http_connection_manager.upb.c
- src/core/ext/upb-generated/envoy/config/listener/v2/api_listener.upb.c
- src/core/ext/upb-generated/envoy/config/trace/v2/http_tracer.upb.c
- src/core/ext/upb-generated/envoy/service/discovery/v2/ads.upb.c
- src/core/ext/upb-generated/envoy/service/load_stats/v2/lrs.upb.c
- src/core/ext/upb-generated/envoy/type/http.upb.c
- src/core/ext/upb-generated/envoy/type/matcher/regex.upb.c
- src/core/ext/upb-generated/envoy/type/matcher/string.upb.c
- src/core/ext/upb-generated/envoy/type/metadata/v2/metadata.upb.c
- src/core/ext/upb-generated/envoy/type/percent.upb.c
- src/core/ext/upb-generated/envoy/type/range.upb.c
- src/core/ext/upb-generated/envoy/type/semantic_version.upb.c
- src/core/ext/upb-generated/envoy/type/tracing/v2/custom_tag.upb.c
- src/core/ext/upb-generated/envoy/config/accesslog/v3/accesslog.upb.c
- src/core/ext/upb-generated/envoy/config/cluster/v3/circuit_breaker.upb.c
- src/core/ext/upb-generated/envoy/config/cluster/v3/cluster.upb.c
- src/core/ext/upb-generated/envoy/config/cluster/v3/filter.upb.c
- src/core/ext/upb-generated/envoy/config/cluster/v3/outlier_detection.upb.c
- src/core/ext/upb-generated/envoy/config/core/v3/address.upb.c
- src/core/ext/upb-generated/envoy/config/core/v3/backoff.upb.c
- src/core/ext/upb-generated/envoy/config/core/v3/base.upb.c
- src/core/ext/upb-generated/envoy/config/core/v3/config_source.upb.c
- src/core/ext/upb-generated/envoy/config/core/v3/event_service_config.upb.c
- src/core/ext/upb-generated/envoy/config/core/v3/grpc_service.upb.c
- src/core/ext/upb-generated/envoy/config/core/v3/health_check.upb.c
- src/core/ext/upb-generated/envoy/config/core/v3/http_uri.upb.c
- src/core/ext/upb-generated/envoy/config/core/v3/protocol.upb.c
- src/core/ext/upb-generated/envoy/config/core/v3/proxy_protocol.upb.c
- src/core/ext/upb-generated/envoy/config/core/v3/socket_option.upb.c
- src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint.upb.c
- src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint_components.upb.c
- src/core/ext/upb-generated/envoy/config/endpoint/v3/load_report.upb.c
- src/core/ext/upb-generated/envoy/config/listener/v3/api_listener.upb.c
- src/core/ext/upb-generated/envoy/config/listener/v3/listener.upb.c
- src/core/ext/upb-generated/envoy/config/listener/v3/listener_components.upb.c
- src/core/ext/upb-generated/envoy/config/listener/v3/udp_listener_config.upb.c
- src/core/ext/upb-generated/envoy/config/rbac/v3/rbac.upb.c
- src/core/ext/upb-generated/envoy/config/route/v3/route.upb.c
- src/core/ext/upb-generated/envoy/config/route/v3/route_components.upb.c
- src/core/ext/upb-generated/envoy/config/route/v3/scoped_route.upb.c
- src/core/ext/upb-generated/envoy/config/trace/v3/http_tracer.upb.c
- src/core/ext/upb-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.c
- src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/cert.upb.c
- src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/common.upb.c
- src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/secret.upb.c
- src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/tls.upb.c
- src/core/ext/upb-generated/envoy/service/cluster/v3/cds.upb.c
- src/core/ext/upb-generated/envoy/service/discovery/v3/ads.upb.c
- src/core/ext/upb-generated/envoy/service/discovery/v3/discovery.upb.c
- src/core/ext/upb-generated/envoy/service/endpoint/v3/eds.upb.c
- src/core/ext/upb-generated/envoy/service/listener/v3/lds.upb.c
- src/core/ext/upb-generated/envoy/service/load_stats/v3/lrs.upb.c
- src/core/ext/upb-generated/envoy/service/route/v3/rds.upb.c
- src/core/ext/upb-generated/envoy/service/route/v3/srds.upb.c
- src/core/ext/upb-generated/envoy/type/matcher/v3/metadata.upb.c
- src/core/ext/upb-generated/envoy/type/matcher/v3/number.upb.c
- src/core/ext/upb-generated/envoy/type/matcher/v3/path.upb.c
- src/core/ext/upb-generated/envoy/type/matcher/v3/regex.upb.c
- src/core/ext/upb-generated/envoy/type/matcher/v3/string.upb.c
- src/core/ext/upb-generated/envoy/type/matcher/v3/value.upb.c
- src/core/ext/upb-generated/envoy/type/metadata/v3/metadata.upb.c
- src/core/ext/upb-generated/envoy/type/tracing/v3/custom_tag.upb.c
- src/core/ext/upb-generated/envoy/type/v3/http.upb.c
- src/core/ext/upb-generated/envoy/type/v3/percent.upb.c
- src/core/ext/upb-generated/envoy/type/v3/range.upb.c
- src/core/ext/upb-generated/envoy/type/v3/semantic_version.upb.c
- src/core/ext/upb-generated/gogoproto/gogo.upb.c
- src/core/ext/upb-generated/google/api/annotations.upb.c
- src/core/ext/upb-generated/google/api/expr/v1alpha1/syntax.upb.c
- src/core/ext/upb-generated/google/api/http.upb.c
- src/core/ext/upb-generated/google/protobuf/any.upb.c
- src/core/ext/upb-generated/google/protobuf/descriptor.upb.c
@ -1782,6 +1800,7 @@ libs:
- src/core/ext/upb-generated/udpa/annotations/migrate.upb.c
- src/core/ext/upb-generated/udpa/annotations/sensitive.upb.c
- src/core/ext/upb-generated/udpa/annotations/status.upb.c
- src/core/ext/upb-generated/udpa/annotations/versioning.upb.c
- src/core/ext/upb-generated/udpa/data/orca/v1/orca_load_report.upb.c
- src/core/ext/upb-generated/validate/validate.upb.c
- src/core/lib/avl/avl.cc
@ -1932,6 +1951,7 @@ libs:
- src/core/lib/surface/server.cc
- src/core/lib/surface/validate_metadata.cc
- src/core/lib/surface/version.cc
- src/core/lib/transport/authority_override.cc
- src/core/lib/transport/bdp_estimator.cc
- src/core/lib/transport/byte_stream.cc
- src/core/lib/transport/connectivity_state.cc
@ -2072,7 +2092,6 @@ libs:
- include/grpcpp/completion_queue.h
- include/grpcpp/completion_queue_impl.h
- include/grpcpp/create_channel.h
- include/grpcpp/create_channel_impl.h
- include/grpcpp/create_channel_posix.h
- include/grpcpp/ext/health_check_service_server_builder_option.h
- include/grpcpp/generic/async_generic_service.h
@ -2156,9 +2175,7 @@ libs:
- include/grpcpp/security/auth_context.h
- include/grpcpp/security/auth_metadata_processor.h
- include/grpcpp/security/credentials.h
- include/grpcpp/security/credentials_impl.h
- include/grpcpp/security/server_credentials.h
- include/grpcpp/security/server_credentials_impl.h
- include/grpcpp/security/tls_credentials_options.h
- include/grpcpp/server.h
- include/grpcpp/server_builder.h
@ -2283,7 +2300,6 @@ libs:
public_headers:
- include/grpc++/support/error_details.h
- include/grpcpp/support/error_details.h
- include/grpcpp/support/error_details_impl.h
headers: []
src:
- src/proto/grpc/status/status.proto
@ -2458,7 +2474,6 @@ libs:
- include/grpcpp/completion_queue.h
- include/grpcpp/completion_queue_impl.h
- include/grpcpp/create_channel.h
- include/grpcpp/create_channel_impl.h
- include/grpcpp/create_channel_posix.h
- include/grpcpp/ext/health_check_service_server_builder_option.h
- include/grpcpp/generic/async_generic_service.h
@ -2542,9 +2557,7 @@ libs:
- include/grpcpp/security/auth_context.h
- include/grpcpp/security/auth_metadata_processor.h
- include/grpcpp/security/credentials.h
- include/grpcpp/security/credentials_impl.h
- include/grpcpp/security/server_credentials.h
- include/grpcpp/security/server_credentials_impl.h
- include/grpcpp/security/tls_credentials_options.h
- include/grpcpp/server.h
- include/grpcpp/server_builder.h
@ -4760,6 +4773,21 @@ targets:
- address_sorting
- upb
uses_polling: false
- name: authorization_engine_test
gtest: true
build: test
language: c++
headers:
- src/core/lib/security/authorization/authorization_engine.h
src:
- src/core/lib/security/authorization/authorization_engine.cc
- test/core/security/authorization_engine_test.cc
deps:
- grpc_test_util
- grpc
- gpr
- address_sorting
- upb
- name: backoff_test
gtest: true
build: test
@ -7125,34 +7153,6 @@ targets:
- gpr
- address_sorting
- upb
- name: slice_hash_table_test
gtest: true
build: test
language: c++
headers: []
src:
- test/core/slice/slice_hash_table_test.cc
deps:
- grpc_test_util
- grpc
- gpr
- address_sorting
- upb
uses_polling: false
- name: slice_weak_hash_table_test
gtest: true
build: test
language: c++
headers: []
src:
- test/core/slice/slice_weak_hash_table_test.cc
deps:
- grpc_test_util
- grpc
- gpr
- address_sorting
- upb
uses_polling: false
- name: ssl_server_fuzzer
build: fuzzer
language: c++
@ -7587,6 +7587,21 @@ targets:
- src/proto/grpc/testing/xds/eds_for_test.proto
- src/proto/grpc/testing/xds/lds_rds_for_test.proto
- src/proto/grpc/testing/xds/lrs_for_test.proto
- src/proto/grpc/testing/xds/v3/address.proto
- src/proto/grpc/testing/xds/v3/ads.proto
- src/proto/grpc/testing/xds/v3/base.proto
- src/proto/grpc/testing/xds/v3/cluster.proto
- src/proto/grpc/testing/xds/v3/config_source.proto
- src/proto/grpc/testing/xds/v3/discovery.proto
- src/proto/grpc/testing/xds/v3/endpoint.proto
- src/proto/grpc/testing/xds/v3/http_connection_manager.proto
- src/proto/grpc/testing/xds/v3/listener.proto
- src/proto/grpc/testing/xds/v3/load_report.proto
- src/proto/grpc/testing/xds/v3/lrs.proto
- src/proto/grpc/testing/xds/v3/percent.proto
- src/proto/grpc/testing/xds/v3/range.proto
- src/proto/grpc/testing/xds/v3/regex.proto
- src/proto/grpc/testing/xds/v3/route.proto
- test/cpp/end2end/test_service_impl.cc
- test/cpp/end2end/xds_end2end_test.cc
deps:

@ -14,8 +14,8 @@ settings:
'#10': See the expand_version.py for all the quirks here
core_version: 11.0.0
csharp_major_version: 2
g_stands_for: galore
version: 1.31.0-dev
g_stands_for: giggle
version: 1.32.0-dev
targets:
- name: check_epollexclusive
build: tool
@ -264,4 +264,5 @@ ruby_gem:
- address_sorting
- ares
- boringssl
- re2
- z

@ -21,6 +21,9 @@ if(gRPC_RE2_PROVIDER STREQUAL "module")
set(RE2_ROOT_DIR ${CMAKE_CURRENT_SOURCE_DIR}/third_party/re2)
endif()
if(EXISTS "${RE2_ROOT_DIR}/CMakeLists.txt")
# Explicitly disable BUILD_TESTING to avoid re2's CMakeLists.txt triggering https://github.com/grpc/grpc/issues/23586
option(BUILD_TESTING "re2.cmake explicitly disabled CTest's BUILD_TESTING option." OFF)
include_directories("${RE2_ROOT_DIR}")
add_subdirectory(${RE2_ROOT_DIR} third_party/re2)

@ -152,58 +152,62 @@ if test "$PHP_GRPC" != "no"; then
src/core/ext/transport/inproc/inproc_transport.cc \
src/core/ext/upb-generated/envoy/annotations/deprecation.upb.c \
src/core/ext/upb-generated/envoy/annotations/resource.upb.c \
src/core/ext/upb-generated/envoy/api/v2/auth/cert.upb.c \
src/core/ext/upb-generated/envoy/api/v2/auth/common.upb.c \
src/core/ext/upb-generated/envoy/api/v2/auth/secret.upb.c \
src/core/ext/upb-generated/envoy/api/v2/auth/tls.upb.c \
src/core/ext/upb-generated/envoy/api/v2/cds.upb.c \
src/core/ext/upb-generated/envoy/api/v2/cluster.upb.c \
src/core/ext/upb-generated/envoy/api/v2/cluster/circuit_breaker.upb.c \
src/core/ext/upb-generated/envoy/api/v2/cluster/filter.upb.c \
src/core/ext/upb-generated/envoy/api/v2/cluster/outlier_detection.upb.c \
src/core/ext/upb-generated/envoy/api/v2/core/address.upb.c \
src/core/ext/upb-generated/envoy/api/v2/core/backoff.upb.c \
src/core/ext/upb-generated/envoy/api/v2/core/base.upb.c \
src/core/ext/upb-generated/envoy/api/v2/core/config_source.upb.c \
src/core/ext/upb-generated/envoy/api/v2/core/event_service_config.upb.c \
src/core/ext/upb-generated/envoy/api/v2/core/grpc_service.upb.c \
src/core/ext/upb-generated/envoy/api/v2/core/health_check.upb.c \
src/core/ext/upb-generated/envoy/api/v2/core/http_uri.upb.c \
src/core/ext/upb-generated/envoy/api/v2/core/protocol.upb.c \
src/core/ext/upb-generated/envoy/api/v2/core/socket_option.upb.c \
src/core/ext/upb-generated/envoy/api/v2/discovery.upb.c \
src/core/ext/upb-generated/envoy/api/v2/eds.upb.c \
src/core/ext/upb-generated/envoy/api/v2/endpoint.upb.c \
src/core/ext/upb-generated/envoy/api/v2/endpoint/endpoint.upb.c \
src/core/ext/upb-generated/envoy/api/v2/endpoint/endpoint_components.upb.c \
src/core/ext/upb-generated/envoy/api/v2/endpoint/load_report.upb.c \
src/core/ext/upb-generated/envoy/api/v2/lds.upb.c \
src/core/ext/upb-generated/envoy/api/v2/listener.upb.c \
src/core/ext/upb-generated/envoy/api/v2/listener/listener.upb.c \
src/core/ext/upb-generated/envoy/api/v2/listener/listener_components.upb.c \
src/core/ext/upb-generated/envoy/api/v2/listener/udp_listener_config.upb.c \
src/core/ext/upb-generated/envoy/api/v2/rds.upb.c \
src/core/ext/upb-generated/envoy/api/v2/route.upb.c \
src/core/ext/upb-generated/envoy/api/v2/route/route.upb.c \
src/core/ext/upb-generated/envoy/api/v2/route/route_components.upb.c \
src/core/ext/upb-generated/envoy/api/v2/scoped_route.upb.c \
src/core/ext/upb-generated/envoy/api/v2/srds.upb.c \
src/core/ext/upb-generated/envoy/config/filter/accesslog/v2/accesslog.upb.c \
src/core/ext/upb-generated/envoy/config/filter/network/http_connection_manager/v2/http_connection_manager.upb.c \
src/core/ext/upb-generated/envoy/config/listener/v2/api_listener.upb.c \
src/core/ext/upb-generated/envoy/config/trace/v2/http_tracer.upb.c \
src/core/ext/upb-generated/envoy/service/discovery/v2/ads.upb.c \
src/core/ext/upb-generated/envoy/service/load_stats/v2/lrs.upb.c \
src/core/ext/upb-generated/envoy/type/http.upb.c \
src/core/ext/upb-generated/envoy/type/matcher/regex.upb.c \
src/core/ext/upb-generated/envoy/type/matcher/string.upb.c \
src/core/ext/upb-generated/envoy/type/metadata/v2/metadata.upb.c \
src/core/ext/upb-generated/envoy/type/percent.upb.c \
src/core/ext/upb-generated/envoy/type/range.upb.c \
src/core/ext/upb-generated/envoy/type/semantic_version.upb.c \
src/core/ext/upb-generated/envoy/type/tracing/v2/custom_tag.upb.c \
src/core/ext/upb-generated/envoy/config/accesslog/v3/accesslog.upb.c \
src/core/ext/upb-generated/envoy/config/cluster/v3/circuit_breaker.upb.c \
src/core/ext/upb-generated/envoy/config/cluster/v3/cluster.upb.c \
src/core/ext/upb-generated/envoy/config/cluster/v3/filter.upb.c \
src/core/ext/upb-generated/envoy/config/cluster/v3/outlier_detection.upb.c \
src/core/ext/upb-generated/envoy/config/core/v3/address.upb.c \
src/core/ext/upb-generated/envoy/config/core/v3/backoff.upb.c \
src/core/ext/upb-generated/envoy/config/core/v3/base.upb.c \
src/core/ext/upb-generated/envoy/config/core/v3/config_source.upb.c \
src/core/ext/upb-generated/envoy/config/core/v3/event_service_config.upb.c \
src/core/ext/upb-generated/envoy/config/core/v3/grpc_service.upb.c \
src/core/ext/upb-generated/envoy/config/core/v3/health_check.upb.c \
src/core/ext/upb-generated/envoy/config/core/v3/http_uri.upb.c \
src/core/ext/upb-generated/envoy/config/core/v3/protocol.upb.c \
src/core/ext/upb-generated/envoy/config/core/v3/proxy_protocol.upb.c \
src/core/ext/upb-generated/envoy/config/core/v3/socket_option.upb.c \
src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint.upb.c \
src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint_components.upb.c \
src/core/ext/upb-generated/envoy/config/endpoint/v3/load_report.upb.c \
src/core/ext/upb-generated/envoy/config/listener/v3/api_listener.upb.c \
src/core/ext/upb-generated/envoy/config/listener/v3/listener.upb.c \
src/core/ext/upb-generated/envoy/config/listener/v3/listener_components.upb.c \
src/core/ext/upb-generated/envoy/config/listener/v3/udp_listener_config.upb.c \
src/core/ext/upb-generated/envoy/config/rbac/v3/rbac.upb.c \
src/core/ext/upb-generated/envoy/config/route/v3/route.upb.c \
src/core/ext/upb-generated/envoy/config/route/v3/route_components.upb.c \
src/core/ext/upb-generated/envoy/config/route/v3/scoped_route.upb.c \
src/core/ext/upb-generated/envoy/config/trace/v3/http_tracer.upb.c \
src/core/ext/upb-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.c \
src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/cert.upb.c \
src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/common.upb.c \
src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/secret.upb.c \
src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/tls.upb.c \
src/core/ext/upb-generated/envoy/service/cluster/v3/cds.upb.c \
src/core/ext/upb-generated/envoy/service/discovery/v3/ads.upb.c \
src/core/ext/upb-generated/envoy/service/discovery/v3/discovery.upb.c \
src/core/ext/upb-generated/envoy/service/endpoint/v3/eds.upb.c \
src/core/ext/upb-generated/envoy/service/listener/v3/lds.upb.c \
src/core/ext/upb-generated/envoy/service/load_stats/v3/lrs.upb.c \
src/core/ext/upb-generated/envoy/service/route/v3/rds.upb.c \
src/core/ext/upb-generated/envoy/service/route/v3/srds.upb.c \
src/core/ext/upb-generated/envoy/type/matcher/v3/metadata.upb.c \
src/core/ext/upb-generated/envoy/type/matcher/v3/number.upb.c \
src/core/ext/upb-generated/envoy/type/matcher/v3/path.upb.c \
src/core/ext/upb-generated/envoy/type/matcher/v3/regex.upb.c \
src/core/ext/upb-generated/envoy/type/matcher/v3/string.upb.c \
src/core/ext/upb-generated/envoy/type/matcher/v3/value.upb.c \
src/core/ext/upb-generated/envoy/type/metadata/v3/metadata.upb.c \
src/core/ext/upb-generated/envoy/type/tracing/v3/custom_tag.upb.c \
src/core/ext/upb-generated/envoy/type/v3/http.upb.c \
src/core/ext/upb-generated/envoy/type/v3/percent.upb.c \
src/core/ext/upb-generated/envoy/type/v3/range.upb.c \
src/core/ext/upb-generated/envoy/type/v3/semantic_version.upb.c \
src/core/ext/upb-generated/gogoproto/gogo.upb.c \
src/core/ext/upb-generated/google/api/annotations.upb.c \
src/core/ext/upb-generated/google/api/expr/v1alpha1/syntax.upb.c \
src/core/ext/upb-generated/google/api/http.upb.c \
src/core/ext/upb-generated/google/protobuf/any.upb.c \
src/core/ext/upb-generated/google/protobuf/descriptor.upb.c \
@ -221,6 +225,7 @@ if test "$PHP_GRPC" != "no"; then
src/core/ext/upb-generated/udpa/annotations/migrate.upb.c \
src/core/ext/upb-generated/udpa/annotations/sensitive.upb.c \
src/core/ext/upb-generated/udpa/annotations/status.upb.c \
src/core/ext/upb-generated/udpa/annotations/versioning.upb.c \
src/core/ext/upb-generated/udpa/data/orca/v1/orca_load_report.upb.c \
src/core/ext/upb-generated/validate/validate.upb.c \
src/core/lib/avl/avl.cc \
@ -426,7 +431,6 @@ if test "$PHP_GRPC" != "no"; then
src/core/lib/security/transport/secure_endpoint.cc \
src/core/lib/security/transport/security_handshaker.cc \
src/core/lib/security/transport/server_auth_filter.cc \
src/core/lib/security/transport/target_authority_table.cc \
src/core/lib/security/transport/tsi_error.cc \
src/core/lib/security/util/json_util.cc \
src/core/lib/slice/b64.cc \
@ -455,6 +459,7 @@ if test "$PHP_GRPC" != "no"; then
src/core/lib/surface/server.cc \
src/core/lib/surface/validate_metadata.cc \
src/core/lib/surface/version.cc \
src/core/lib/transport/authority_override.cc \
src/core/lib/transport/bdp_estimator.cc \
src/core/lib/transport/byte_stream.cc \
src/core/lib/transport/connectivity_state.cc \
@ -550,6 +555,14 @@ if test "$PHP_GRPC" != "no"; then
third_party/abseil-cpp/absl/strings/str_split.cc \
third_party/abseil-cpp/absl/strings/string_view.cc \
third_party/abseil-cpp/absl/strings/substitute.cc \
third_party/abseil-cpp/absl/synchronization/barrier.cc \
third_party/abseil-cpp/absl/synchronization/blocking_counter.cc \
third_party/abseil-cpp/absl/synchronization/internal/create_thread_identity.cc \
third_party/abseil-cpp/absl/synchronization/internal/graphcycles.cc \
third_party/abseil-cpp/absl/synchronization/internal/per_thread_sem.cc \
third_party/abseil-cpp/absl/synchronization/internal/waiter.cc \
third_party/abseil-cpp/absl/synchronization/mutex.cc \
third_party/abseil-cpp/absl/synchronization/notification.cc \
third_party/abseil-cpp/absl/time/civil_time.cc \
third_party/abseil-cpp/absl/time/clock.cc \
third_party/abseil-cpp/absl/time/duration.cc \
@ -906,25 +919,29 @@ if test "$PHP_GRPC" != "no"; then
PHP_ADD_BUILD_DIR($ext_builddir/src/core/ext/transport/chttp2/transport)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/ext/transport/inproc)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/ext/upb-generated/envoy/annotations)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/ext/upb-generated/envoy/api/v2)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/ext/upb-generated/envoy/api/v2/auth)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/ext/upb-generated/envoy/api/v2/cluster)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/ext/upb-generated/envoy/api/v2/core)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/ext/upb-generated/envoy/api/v2/endpoint)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/ext/upb-generated/envoy/api/v2/listener)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/ext/upb-generated/envoy/api/v2/route)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/ext/upb-generated/envoy/config/filter/accesslog/v2)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/ext/upb-generated/envoy/config/filter/network/http_connection_manager/v2)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/ext/upb-generated/envoy/config/listener/v2)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/ext/upb-generated/envoy/config/trace/v2)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/ext/upb-generated/envoy/service/discovery/v2)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/ext/upb-generated/envoy/service/load_stats/v2)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/ext/upb-generated/envoy/type)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/ext/upb-generated/envoy/type/matcher)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/ext/upb-generated/envoy/type/metadata/v2)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/ext/upb-generated/envoy/type/tracing/v2)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/ext/upb-generated/envoy/config/accesslog/v3)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/ext/upb-generated/envoy/config/cluster/v3)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/ext/upb-generated/envoy/config/core/v3)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/ext/upb-generated/envoy/config/endpoint/v3)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/ext/upb-generated/envoy/config/listener/v3)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/ext/upb-generated/envoy/config/rbac/v3)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/ext/upb-generated/envoy/config/route/v3)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/ext/upb-generated/envoy/config/trace/v3)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/ext/upb-generated/envoy/extensions/filters/network/http_connection_manager/v3)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/ext/upb-generated/envoy/service/cluster/v3)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/ext/upb-generated/envoy/service/discovery/v3)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/ext/upb-generated/envoy/service/endpoint/v3)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/ext/upb-generated/envoy/service/listener/v3)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/ext/upb-generated/envoy/service/load_stats/v3)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/ext/upb-generated/envoy/service/route/v3)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/ext/upb-generated/envoy/type/matcher/v3)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/ext/upb-generated/envoy/type/metadata/v3)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/ext/upb-generated/envoy/type/tracing/v3)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/ext/upb-generated/envoy/type/v3)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/ext/upb-generated/gogoproto)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/ext/upb-generated/google/api)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/ext/upb-generated/google/api/expr/v1alpha1)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/ext/upb-generated/google/protobuf)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/ext/upb-generated/google/rpc)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/ext/upb-generated/src/proto/grpc/gcp)
@ -988,6 +1005,8 @@ if test "$PHP_GRPC" != "no"; then
PHP_ADD_BUILD_DIR($ext_builddir/third_party/abseil-cpp/absl/strings)
PHP_ADD_BUILD_DIR($ext_builddir/third_party/abseil-cpp/absl/strings/internal)
PHP_ADD_BUILD_DIR($ext_builddir/third_party/abseil-cpp/absl/strings/internal/str_format)
PHP_ADD_BUILD_DIR($ext_builddir/third_party/abseil-cpp/absl/synchronization)
PHP_ADD_BUILD_DIR($ext_builddir/third_party/abseil-cpp/absl/synchronization/internal)
PHP_ADD_BUILD_DIR($ext_builddir/third_party/abseil-cpp/absl/time)
PHP_ADD_BUILD_DIR($ext_builddir/third_party/abseil-cpp/absl/time/internal/cctz/src)
PHP_ADD_BUILD_DIR($ext_builddir/third_party/abseil-cpp/absl/types)

@ -120,58 +120,62 @@ if (PHP_GRPC != "no") {
"src\\core\\ext\\transport\\inproc\\inproc_transport.cc " +
"src\\core\\ext\\upb-generated\\envoy\\annotations\\deprecation.upb.c " +
"src\\core\\ext\\upb-generated\\envoy\\annotations\\resource.upb.c " +
"src\\core\\ext\\upb-generated\\envoy\\api\\v2\\auth\\cert.upb.c " +
"src\\core\\ext\\upb-generated\\envoy\\api\\v2\\auth\\common.upb.c " +
"src\\core\\ext\\upb-generated\\envoy\\api\\v2\\auth\\secret.upb.c " +
"src\\core\\ext\\upb-generated\\envoy\\api\\v2\\auth\\tls.upb.c " +
"src\\core\\ext\\upb-generated\\envoy\\api\\v2\\cds.upb.c " +
"src\\core\\ext\\upb-generated\\envoy\\api\\v2\\cluster.upb.c " +
"src\\core\\ext\\upb-generated\\envoy\\api\\v2\\cluster\\circuit_breaker.upb.c " +
"src\\core\\ext\\upb-generated\\envoy\\api\\v2\\cluster\\filter.upb.c " +
"src\\core\\ext\\upb-generated\\envoy\\api\\v2\\cluster\\outlier_detection.upb.c " +
"src\\core\\ext\\upb-generated\\envoy\\api\\v2\\core\\address.upb.c " +
"src\\core\\ext\\upb-generated\\envoy\\api\\v2\\core\\backoff.upb.c " +
"src\\core\\ext\\upb-generated\\envoy\\api\\v2\\core\\base.upb.c " +
"src\\core\\ext\\upb-generated\\envoy\\api\\v2\\core\\config_source.upb.c " +
"src\\core\\ext\\upb-generated\\envoy\\api\\v2\\core\\event_service_config.upb.c " +
"src\\core\\ext\\upb-generated\\envoy\\api\\v2\\core\\grpc_service.upb.c " +
"src\\core\\ext\\upb-generated\\envoy\\api\\v2\\core\\health_check.upb.c " +
"src\\core\\ext\\upb-generated\\envoy\\api\\v2\\core\\http_uri.upb.c " +
"src\\core\\ext\\upb-generated\\envoy\\api\\v2\\core\\protocol.upb.c " +
"src\\core\\ext\\upb-generated\\envoy\\api\\v2\\core\\socket_option.upb.c " +
"src\\core\\ext\\upb-generated\\envoy\\api\\v2\\discovery.upb.c " +
"src\\core\\ext\\upb-generated\\envoy\\api\\v2\\eds.upb.c " +
"src\\core\\ext\\upb-generated\\envoy\\api\\v2\\endpoint.upb.c " +
"src\\core\\ext\\upb-generated\\envoy\\api\\v2\\endpoint\\endpoint.upb.c " +
"src\\core\\ext\\upb-generated\\envoy\\api\\v2\\endpoint\\endpoint_components.upb.c " +
"src\\core\\ext\\upb-generated\\envoy\\api\\v2\\endpoint\\load_report.upb.c " +
"src\\core\\ext\\upb-generated\\envoy\\api\\v2\\lds.upb.c " +
"src\\core\\ext\\upb-generated\\envoy\\api\\v2\\listener.upb.c " +
"src\\core\\ext\\upb-generated\\envoy\\api\\v2\\listener\\listener.upb.c " +
"src\\core\\ext\\upb-generated\\envoy\\api\\v2\\listener\\listener_components.upb.c " +
"src\\core\\ext\\upb-generated\\envoy\\api\\v2\\listener\\udp_listener_config.upb.c " +
"src\\core\\ext\\upb-generated\\envoy\\api\\v2\\rds.upb.c " +
"src\\core\\ext\\upb-generated\\envoy\\api\\v2\\route.upb.c " +
"src\\core\\ext\\upb-generated\\envoy\\api\\v2\\route\\route.upb.c " +
"src\\core\\ext\\upb-generated\\envoy\\api\\v2\\route\\route_components.upb.c " +
"src\\core\\ext\\upb-generated\\envoy\\api\\v2\\scoped_route.upb.c " +
"src\\core\\ext\\upb-generated\\envoy\\api\\v2\\srds.upb.c " +
"src\\core\\ext\\upb-generated\\envoy\\config\\filter\\accesslog\\v2\\accesslog.upb.c " +
"src\\core\\ext\\upb-generated\\envoy\\config\\filter\\network\\http_connection_manager\\v2\\http_connection_manager.upb.c " +
"src\\core\\ext\\upb-generated\\envoy\\config\\listener\\v2\\api_listener.upb.c " +
"src\\core\\ext\\upb-generated\\envoy\\config\\trace\\v2\\http_tracer.upb.c " +
"src\\core\\ext\\upb-generated\\envoy\\service\\discovery\\v2\\ads.upb.c " +
"src\\core\\ext\\upb-generated\\envoy\\service\\load_stats\\v2\\lrs.upb.c " +
"src\\core\\ext\\upb-generated\\envoy\\type\\http.upb.c " +
"src\\core\\ext\\upb-generated\\envoy\\type\\matcher\\regex.upb.c " +
"src\\core\\ext\\upb-generated\\envoy\\type\\matcher\\string.upb.c " +
"src\\core\\ext\\upb-generated\\envoy\\type\\metadata\\v2\\metadata.upb.c " +
"src\\core\\ext\\upb-generated\\envoy\\type\\percent.upb.c " +
"src\\core\\ext\\upb-generated\\envoy\\type\\range.upb.c " +
"src\\core\\ext\\upb-generated\\envoy\\type\\semantic_version.upb.c " +
"src\\core\\ext\\upb-generated\\envoy\\type\\tracing\\v2\\custom_tag.upb.c " +
"src\\core\\ext\\upb-generated\\envoy\\config\\accesslog\\v3\\accesslog.upb.c " +
"src\\core\\ext\\upb-generated\\envoy\\config\\cluster\\v3\\circuit_breaker.upb.c " +
"src\\core\\ext\\upb-generated\\envoy\\config\\cluster\\v3\\cluster.upb.c " +
"src\\core\\ext\\upb-generated\\envoy\\config\\cluster\\v3\\filter.upb.c " +
"src\\core\\ext\\upb-generated\\envoy\\config\\cluster\\v3\\outlier_detection.upb.c " +
"src\\core\\ext\\upb-generated\\envoy\\config\\core\\v3\\address.upb.c " +
"src\\core\\ext\\upb-generated\\envoy\\config\\core\\v3\\backoff.upb.c " +
"src\\core\\ext\\upb-generated\\envoy\\config\\core\\v3\\base.upb.c " +
"src\\core\\ext\\upb-generated\\envoy\\config\\core\\v3\\config_source.upb.c " +
"src\\core\\ext\\upb-generated\\envoy\\config\\core\\v3\\event_service_config.upb.c " +
"src\\core\\ext\\upb-generated\\envoy\\config\\core\\v3\\grpc_service.upb.c " +
"src\\core\\ext\\upb-generated\\envoy\\config\\core\\v3\\health_check.upb.c " +
"src\\core\\ext\\upb-generated\\envoy\\config\\core\\v3\\http_uri.upb.c " +
"src\\core\\ext\\upb-generated\\envoy\\config\\core\\v3\\protocol.upb.c " +
"src\\core\\ext\\upb-generated\\envoy\\config\\core\\v3\\proxy_protocol.upb.c " +
"src\\core\\ext\\upb-generated\\envoy\\config\\core\\v3\\socket_option.upb.c " +
"src\\core\\ext\\upb-generated\\envoy\\config\\endpoint\\v3\\endpoint.upb.c " +
"src\\core\\ext\\upb-generated\\envoy\\config\\endpoint\\v3\\endpoint_components.upb.c " +
"src\\core\\ext\\upb-generated\\envoy\\config\\endpoint\\v3\\load_report.upb.c " +
"src\\core\\ext\\upb-generated\\envoy\\config\\listener\\v3\\api_listener.upb.c " +
"src\\core\\ext\\upb-generated\\envoy\\config\\listener\\v3\\listener.upb.c " +
"src\\core\\ext\\upb-generated\\envoy\\config\\listener\\v3\\listener_components.upb.c " +
"src\\core\\ext\\upb-generated\\envoy\\config\\listener\\v3\\udp_listener_config.upb.c " +
"src\\core\\ext\\upb-generated\\envoy\\config\\rbac\\v3\\rbac.upb.c " +
"src\\core\\ext\\upb-generated\\envoy\\config\\route\\v3\\route.upb.c " +
"src\\core\\ext\\upb-generated\\envoy\\config\\route\\v3\\route_components.upb.c " +
"src\\core\\ext\\upb-generated\\envoy\\config\\route\\v3\\scoped_route.upb.c " +
"src\\core\\ext\\upb-generated\\envoy\\config\\trace\\v3\\http_tracer.upb.c " +
"src\\core\\ext\\upb-generated\\envoy\\extensions\\filters\\network\\http_connection_manager\\v3\\http_connection_manager.upb.c " +
"src\\core\\ext\\upb-generated\\envoy\\extensions\\transport_sockets\\tls\\v3\\cert.upb.c " +
"src\\core\\ext\\upb-generated\\envoy\\extensions\\transport_sockets\\tls\\v3\\common.upb.c " +
"src\\core\\ext\\upb-generated\\envoy\\extensions\\transport_sockets\\tls\\v3\\secret.upb.c " +
"src\\core\\ext\\upb-generated\\envoy\\extensions\\transport_sockets\\tls\\v3\\tls.upb.c " +
"src\\core\\ext\\upb-generated\\envoy\\service\\cluster\\v3\\cds.upb.c " +
"src\\core\\ext\\upb-generated\\envoy\\service\\discovery\\v3\\ads.upb.c " +
"src\\core\\ext\\upb-generated\\envoy\\service\\discovery\\v3\\discovery.upb.c " +
"src\\core\\ext\\upb-generated\\envoy\\service\\endpoint\\v3\\eds.upb.c " +
"src\\core\\ext\\upb-generated\\envoy\\service\\listener\\v3\\lds.upb.c " +
"src\\core\\ext\\upb-generated\\envoy\\service\\load_stats\\v3\\lrs.upb.c " +
"src\\core\\ext\\upb-generated\\envoy\\service\\route\\v3\\rds.upb.c " +
"src\\core\\ext\\upb-generated\\envoy\\service\\route\\v3\\srds.upb.c " +
"src\\core\\ext\\upb-generated\\envoy\\type\\matcher\\v3\\metadata.upb.c " +
"src\\core\\ext\\upb-generated\\envoy\\type\\matcher\\v3\\number.upb.c " +
"src\\core\\ext\\upb-generated\\envoy\\type\\matcher\\v3\\path.upb.c " +
"src\\core\\ext\\upb-generated\\envoy\\type\\matcher\\v3\\regex.upb.c " +
"src\\core\\ext\\upb-generated\\envoy\\type\\matcher\\v3\\string.upb.c " +
"src\\core\\ext\\upb-generated\\envoy\\type\\matcher\\v3\\value.upb.c " +
"src\\core\\ext\\upb-generated\\envoy\\type\\metadata\\v3\\metadata.upb.c " +
"src\\core\\ext\\upb-generated\\envoy\\type\\tracing\\v3\\custom_tag.upb.c " +
"src\\core\\ext\\upb-generated\\envoy\\type\\v3\\http.upb.c " +
"src\\core\\ext\\upb-generated\\envoy\\type\\v3\\percent.upb.c " +
"src\\core\\ext\\upb-generated\\envoy\\type\\v3\\range.upb.c " +
"src\\core\\ext\\upb-generated\\envoy\\type\\v3\\semantic_version.upb.c " +
"src\\core\\ext\\upb-generated\\gogoproto\\gogo.upb.c " +
"src\\core\\ext\\upb-generated\\google\\api\\annotations.upb.c " +
"src\\core\\ext\\upb-generated\\google\\api\\expr\\v1alpha1\\syntax.upb.c " +
"src\\core\\ext\\upb-generated\\google\\api\\http.upb.c " +
"src\\core\\ext\\upb-generated\\google\\protobuf\\any.upb.c " +
"src\\core\\ext\\upb-generated\\google\\protobuf\\descriptor.upb.c " +
@ -189,6 +193,7 @@ if (PHP_GRPC != "no") {
"src\\core\\ext\\upb-generated\\udpa\\annotations\\migrate.upb.c " +
"src\\core\\ext\\upb-generated\\udpa\\annotations\\sensitive.upb.c " +
"src\\core\\ext\\upb-generated\\udpa\\annotations\\status.upb.c " +
"src\\core\\ext\\upb-generated\\udpa\\annotations\\versioning.upb.c " +
"src\\core\\ext\\upb-generated\\udpa\\data\\orca\\v1\\orca_load_report.upb.c " +
"src\\core\\ext\\upb-generated\\validate\\validate.upb.c " +
"src\\core\\lib\\avl\\avl.cc " +
@ -394,7 +399,6 @@ if (PHP_GRPC != "no") {
"src\\core\\lib\\security\\transport\\secure_endpoint.cc " +
"src\\core\\lib\\security\\transport\\security_handshaker.cc " +
"src\\core\\lib\\security\\transport\\server_auth_filter.cc " +
"src\\core\\lib\\security\\transport\\target_authority_table.cc " +
"src\\core\\lib\\security\\transport\\tsi_error.cc " +
"src\\core\\lib\\security\\util\\json_util.cc " +
"src\\core\\lib\\slice\\b64.cc " +
@ -423,6 +427,7 @@ if (PHP_GRPC != "no") {
"src\\core\\lib\\surface\\server.cc " +
"src\\core\\lib\\surface\\validate_metadata.cc " +
"src\\core\\lib\\surface\\version.cc " +
"src\\core\\lib\\transport\\authority_override.cc " +
"src\\core\\lib\\transport\\bdp_estimator.cc " +
"src\\core\\lib\\transport\\byte_stream.cc " +
"src\\core\\lib\\transport\\connectivity_state.cc " +
@ -518,6 +523,14 @@ if (PHP_GRPC != "no") {
"third_party\\abseil-cpp\\absl\\strings\\str_split.cc " +
"third_party\\abseil-cpp\\absl\\strings\\string_view.cc " +
"third_party\\abseil-cpp\\absl\\strings\\substitute.cc " +
"third_party\\abseil-cpp\\absl\\synchronization\\barrier.cc " +
"third_party\\abseil-cpp\\absl\\synchronization\\blocking_counter.cc " +
"third_party\\abseil-cpp\\absl\\synchronization\\internal\\create_thread_identity.cc " +
"third_party\\abseil-cpp\\absl\\synchronization\\internal\\graphcycles.cc " +
"third_party\\abseil-cpp\\absl\\synchronization\\internal\\per_thread_sem.cc " +
"third_party\\abseil-cpp\\absl\\synchronization\\internal\\waiter.cc " +
"third_party\\abseil-cpp\\absl\\synchronization\\mutex.cc " +
"third_party\\abseil-cpp\\absl\\synchronization\\notification.cc " +
"third_party\\abseil-cpp\\absl\\time\\civil_time.cc " +
"third_party\\abseil-cpp\\absl\\time\\clock.cc " +
"third_party\\abseil-cpp\\absl\\time\\duration.cc " +
@ -911,39 +924,57 @@ if (PHP_GRPC != "no") {
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\upb-generated");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\upb-generated\\envoy");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\upb-generated\\envoy\\annotations");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\upb-generated\\envoy\\api");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\upb-generated\\envoy\\api\\v2");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\upb-generated\\envoy\\api\\v2\\auth");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\upb-generated\\envoy\\api\\v2\\cluster");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\upb-generated\\envoy\\api\\v2\\core");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\upb-generated\\envoy\\api\\v2\\endpoint");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\upb-generated\\envoy\\api\\v2\\listener");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\upb-generated\\envoy\\api\\v2\\route");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\upb-generated\\envoy\\config");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\upb-generated\\envoy\\config\\filter");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\upb-generated\\envoy\\config\\filter\\accesslog");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\upb-generated\\envoy\\config\\filter\\accesslog\\v2");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\upb-generated\\envoy\\config\\filter\\network");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\upb-generated\\envoy\\config\\filter\\network\\http_connection_manager");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\upb-generated\\envoy\\config\\filter\\network\\http_connection_manager\\v2");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\upb-generated\\envoy\\config\\accesslog");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\upb-generated\\envoy\\config\\accesslog\\v3");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\upb-generated\\envoy\\config\\cluster");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\upb-generated\\envoy\\config\\cluster\\v3");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\upb-generated\\envoy\\config\\core");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\upb-generated\\envoy\\config\\core\\v3");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\upb-generated\\envoy\\config\\endpoint");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\upb-generated\\envoy\\config\\endpoint\\v3");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\upb-generated\\envoy\\config\\listener");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\upb-generated\\envoy\\config\\listener\\v2");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\upb-generated\\envoy\\config\\listener\\v3");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\upb-generated\\envoy\\config\\rbac");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\upb-generated\\envoy\\config\\rbac\\v3");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\upb-generated\\envoy\\config\\route");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\upb-generated\\envoy\\config\\route\\v3");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\upb-generated\\envoy\\config\\trace");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\upb-generated\\envoy\\config\\trace\\v2");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\upb-generated\\envoy\\config\\trace\\v3");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\upb-generated\\envoy\\extensions");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\upb-generated\\envoy\\extensions\\filters");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\upb-generated\\envoy\\extensions\\filters\\network");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\upb-generated\\envoy\\extensions\\filters\\network\\http_connection_manager");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\upb-generated\\envoy\\extensions\\filters\\network\\http_connection_manager\\v3");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\upb-generated\\envoy\\extensions\\transport_sockets");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\upb-generated\\envoy\\extensions\\transport_sockets\\tls");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\upb-generated\\envoy\\extensions\\transport_sockets\\tls\\v3");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\upb-generated\\envoy\\service");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\upb-generated\\envoy\\service\\cluster");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\upb-generated\\envoy\\service\\cluster\\v3");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\upb-generated\\envoy\\service\\discovery");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\upb-generated\\envoy\\service\\discovery\\v2");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\upb-generated\\envoy\\service\\discovery\\v3");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\upb-generated\\envoy\\service\\endpoint");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\upb-generated\\envoy\\service\\endpoint\\v3");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\upb-generated\\envoy\\service\\listener");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\upb-generated\\envoy\\service\\listener\\v3");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\upb-generated\\envoy\\service\\load_stats");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\upb-generated\\envoy\\service\\load_stats\\v2");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\upb-generated\\envoy\\service\\load_stats\\v3");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\upb-generated\\envoy\\service\\route");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\upb-generated\\envoy\\service\\route\\v3");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\upb-generated\\envoy\\type");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\upb-generated\\envoy\\type\\matcher");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\upb-generated\\envoy\\type\\matcher\\v3");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\upb-generated\\envoy\\type\\metadata");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\upb-generated\\envoy\\type\\metadata\\v2");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\upb-generated\\envoy\\type\\metadata\\v3");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\upb-generated\\envoy\\type\\tracing");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\upb-generated\\envoy\\type\\tracing\\v2");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\upb-generated\\envoy\\type\\tracing\\v3");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\upb-generated\\envoy\\type\\v3");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\upb-generated\\gogoproto");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\upb-generated\\google");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\upb-generated\\google\\api");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\upb-generated\\google\\api\\expr");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\upb-generated\\google\\api\\expr\\v1alpha1");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\upb-generated\\google\\protobuf");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\upb-generated\\google\\rpc");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\upb-generated\\src");
@ -1024,6 +1055,8 @@ if (PHP_GRPC != "no") {
FSO.CreateFolder(base_dir+"\\ext\\grpc\\third_party\\abseil-cpp\\absl\\strings");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\third_party\\abseil-cpp\\absl\\strings\\internal");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\third_party\\abseil-cpp\\absl\\strings\\internal\\str_format");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\third_party\\abseil-cpp\\absl\\synchronization");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\third_party\\abseil-cpp\\absl\\synchronization\\internal");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\third_party\\abseil-cpp\\absl\\time");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\third_party\\abseil-cpp\\absl\\time\\internal");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\third_party\\abseil-cpp\\absl\\time\\internal\\cctz");

@ -30,4 +30,5 @@
- 1.28 'g' stands for ['galactic'](https://github.com/grpc/grpc/tree/v1.28.x)
- 1.29 'g' stands for ['gringotts'](https://github.com/grpc/grpc/tree/v1.29.x)
- 1.30 'g' stands for ['gradius'](https://github.com/grpc/grpc/tree/v1.30.x)
- 1.31 'g' stands for ['galore'](https://github.com/grpc/grpc/tree/master)
- 1.31 'g' stands for ['galore'](https://github.com/grpc/grpc/tree/v1.31.x)
- 1.32 'g' stands for ['giggle'](https://github.com/grpc/grpc/tree/master)

@ -36,5 +36,6 @@ to authenticate with the xDS server.
Features | gRFCs | [C++, Python,<br> Ruby, PHP, C#](https://github.com/grpc/grpc/releases) | [Java](https://github.com/grpc/grpc-java/releases) | [Go](https://github.com/grpc/grpc-go/releases)
---------|--------|--------------|------|------
**xDS Infrastructure in gRPC client channel:**<br>LDS->RDS->CDS->EDS flow,<br>ADS stream, | [A27](https://github.com/grpc/proposal/blob/master/A27-xds-global-load-balancing.md) | v1.30.0 | v1.30.0 | v1.30.0 |
**Load Balancing:**<br>Virtual host matching,<br>Only default path ("" or "/") matching,<br>Priority-based weighted round-robin locality picking,<br>Round-robin endpoint picking within locality,<br>Cluster route action,<br>Client-side Load reporting via [LRS](https://github.com/envoyproxy/data-plane-api/blob/master/envoy/service/load_stats/v2/lrs.proto)| [A27](https://github.com/grpc/proposal/blob/master/A27-xds-global-load-balancing.md) | v1.30.0 | v1.30.0 | v1.30.0 |
**xDS Infrastructure in gRPC client channel:**<ul><li>LDS->RDS->CDS->EDS flow</li><li>ADS stream</li></ul> | [A27](https://github.com/grpc/proposal/blob/master/A27-xds-global-load-balancing.md) | v1.30.0 | v1.30.0 | v1.30.0 |
**Load Balancing:**<ul><li>[Virtual host](https://www.envoyproxy.io/docs/envoy/latest/api-v2/api/v2/route/route_components.proto#route-virtualhost) domains matching</li><li>Only default path ("" or "/") matching</li><li>Priority-based weighted round-robin locality picking</li><li>Round-robin endpoint picking within locality</li><li>[Cluster](https://www.envoyproxy.io/docs/envoy/latest/api-v2/api/v2/route/route_components.proto#envoy-api-msg-route-routeaction) route action</li><li>Client-side Load reporting via [LRS](https://github.com/envoyproxy/data-plane-api/blob/master/envoy/service/load_stats/v2/lrs.proto)</li></ul> | [A27](https://github.com/grpc/proposal/blob/master/A27-xds-global-load-balancing.md) | v1.30.0 | v1.30.0 | v1.30.0 |
Request matching based on:<ul><li>[Path](https://www.envoyproxy.io/docs/envoy/latest/api-v2/api/v2/route/route_components.proto#route-routematch) (prefix, full path and safe regex)</li><li>[Headers](https://www.envoyproxy.io/docs/envoy/latest/api-v2/api/v2/route/route_components.proto#route-headermatcher)</li></ul>Request routing to multiple clusters based on [weights](https://www.envoyproxy.io/docs/envoy/latest/api-v2/api/v2/route/route_components.proto#route-weightedcluster) | [A28](https://github.com/grpc/proposal/blob/master/A28-xds-traffic-splitting-and-routing.md) | v1.31.0 | v1.31.0 | v1.31.0 |

@ -27,7 +27,9 @@ Clients should accept these arguments:
* --fail_on_failed_rpcs=BOOL
* If true, the client should exit with a non-zero return code if any RPCs
fail. Default is false.
fail after at least one RPC has succeeded, indicating a valid xDS config
was received. This accounts for any startup-related delays in receiving
an initial config from the load balancer. Default is false.
* --num_channels=CHANNELS
* The number of channels to create to the server.
* --qps=QPS

@ -22,7 +22,7 @@
Pod::Spec.new do |s|
s.name = 'gRPC-C++'
# TODO (mxyan): use version that match gRPC version when pod is stabilized
version = '1.31.0-dev'
version = '1.32.0-dev'
s.version = version
s.summary = 'gRPC C++ library'
s.homepage = 'https://grpc.io'
@ -84,7 +84,6 @@ Pod::Spec.new do |s|
'include/grpcpp/completion_queue.h',
'include/grpcpp/completion_queue_impl.h',
'include/grpcpp/create_channel.h',
'include/grpcpp/create_channel_impl.h',
'include/grpcpp/create_channel_posix.h',
'include/grpcpp/ext/health_check_service_server_builder_option.h',
'include/grpcpp/generic/async_generic_service.h',
@ -164,9 +163,7 @@ Pod::Spec.new do |s|
'include/grpcpp/security/auth_context.h',
'include/grpcpp/security/auth_metadata_processor.h',
'include/grpcpp/security/credentials.h',
'include/grpcpp/security/credentials_impl.h',
'include/grpcpp/security/server_credentials.h',
'include/grpcpp/security/server_credentials_impl.h',
'include/grpcpp/security/tls_credentials_options.h',
'include/grpcpp/server.h',
'include/grpcpp/server_builder.h',
@ -208,11 +205,13 @@ Pod::Spec.new do |s|
ss.dependency "#{s.name}/Interface", version
ss.dependency 'gRPC-Core', version
abseil_version = '1.20200225.0'
ss.dependency 'abseil/base/base', abseil_version
ss.dependency 'abseil/container/inlined_vector', abseil_version
ss.dependency 'abseil/memory/memory', abseil_version
ss.dependency 'abseil/status/status', abseil_version
ss.dependency 'abseil/strings/str_format', abseil_version
ss.dependency 'abseil/strings/strings', abseil_version
ss.dependency 'abseil/synchronization/synchronization', abseil_version
ss.dependency 'abseil/time/time', abseil_version
ss.dependency 'abseil/types/optional', abseil_version
@ -305,58 +304,62 @@ Pod::Spec.new do |s|
'src/core/ext/transport/inproc/inproc_transport.h',
'src/core/ext/upb-generated/envoy/annotations/deprecation.upb.h',
'src/core/ext/upb-generated/envoy/annotations/resource.upb.h',
'src/core/ext/upb-generated/envoy/api/v2/auth/cert.upb.h',
'src/core/ext/upb-generated/envoy/api/v2/auth/common.upb.h',
'src/core/ext/upb-generated/envoy/api/v2/auth/secret.upb.h',
'src/core/ext/upb-generated/envoy/api/v2/auth/tls.upb.h',
'src/core/ext/upb-generated/envoy/api/v2/cds.upb.h',
'src/core/ext/upb-generated/envoy/api/v2/cluster.upb.h',
'src/core/ext/upb-generated/envoy/api/v2/cluster/circuit_breaker.upb.h',
'src/core/ext/upb-generated/envoy/api/v2/cluster/filter.upb.h',
'src/core/ext/upb-generated/envoy/api/v2/cluster/outlier_detection.upb.h',
'src/core/ext/upb-generated/envoy/api/v2/core/address.upb.h',
'src/core/ext/upb-generated/envoy/api/v2/core/backoff.upb.h',
'src/core/ext/upb-generated/envoy/api/v2/core/base.upb.h',
'src/core/ext/upb-generated/envoy/api/v2/core/config_source.upb.h',
'src/core/ext/upb-generated/envoy/api/v2/core/event_service_config.upb.h',
'src/core/ext/upb-generated/envoy/api/v2/core/grpc_service.upb.h',
'src/core/ext/upb-generated/envoy/api/v2/core/health_check.upb.h',
'src/core/ext/upb-generated/envoy/api/v2/core/http_uri.upb.h',
'src/core/ext/upb-generated/envoy/api/v2/core/protocol.upb.h',
'src/core/ext/upb-generated/envoy/api/v2/core/socket_option.upb.h',
'src/core/ext/upb-generated/envoy/api/v2/discovery.upb.h',
'src/core/ext/upb-generated/envoy/api/v2/eds.upb.h',
'src/core/ext/upb-generated/envoy/api/v2/endpoint.upb.h',
'src/core/ext/upb-generated/envoy/api/v2/endpoint/endpoint.upb.h',
'src/core/ext/upb-generated/envoy/api/v2/endpoint/endpoint_components.upb.h',
'src/core/ext/upb-generated/envoy/api/v2/endpoint/load_report.upb.h',
'src/core/ext/upb-generated/envoy/api/v2/lds.upb.h',
'src/core/ext/upb-generated/envoy/api/v2/listener.upb.h',
'src/core/ext/upb-generated/envoy/api/v2/listener/listener.upb.h',
'src/core/ext/upb-generated/envoy/api/v2/listener/listener_components.upb.h',
'src/core/ext/upb-generated/envoy/api/v2/listener/udp_listener_config.upb.h',
'src/core/ext/upb-generated/envoy/api/v2/rds.upb.h',
'src/core/ext/upb-generated/envoy/api/v2/route.upb.h',
'src/core/ext/upb-generated/envoy/api/v2/route/route.upb.h',
'src/core/ext/upb-generated/envoy/api/v2/route/route_components.upb.h',
'src/core/ext/upb-generated/envoy/api/v2/scoped_route.upb.h',
'src/core/ext/upb-generated/envoy/api/v2/srds.upb.h',
'src/core/ext/upb-generated/envoy/config/filter/accesslog/v2/accesslog.upb.h',
'src/core/ext/upb-generated/envoy/config/filter/network/http_connection_manager/v2/http_connection_manager.upb.h',
'src/core/ext/upb-generated/envoy/config/listener/v2/api_listener.upb.h',
'src/core/ext/upb-generated/envoy/config/trace/v2/http_tracer.upb.h',
'src/core/ext/upb-generated/envoy/service/discovery/v2/ads.upb.h',
'src/core/ext/upb-generated/envoy/service/load_stats/v2/lrs.upb.h',
'src/core/ext/upb-generated/envoy/type/http.upb.h',
'src/core/ext/upb-generated/envoy/type/matcher/regex.upb.h',
'src/core/ext/upb-generated/envoy/type/matcher/string.upb.h',
'src/core/ext/upb-generated/envoy/type/metadata/v2/metadata.upb.h',
'src/core/ext/upb-generated/envoy/type/percent.upb.h',
'src/core/ext/upb-generated/envoy/type/range.upb.h',
'src/core/ext/upb-generated/envoy/type/semantic_version.upb.h',
'src/core/ext/upb-generated/envoy/type/tracing/v2/custom_tag.upb.h',
'src/core/ext/upb-generated/envoy/config/accesslog/v3/accesslog.upb.h',
'src/core/ext/upb-generated/envoy/config/cluster/v3/circuit_breaker.upb.h',
'src/core/ext/upb-generated/envoy/config/cluster/v3/cluster.upb.h',
'src/core/ext/upb-generated/envoy/config/cluster/v3/filter.upb.h',
'src/core/ext/upb-generated/envoy/config/cluster/v3/outlier_detection.upb.h',
'src/core/ext/upb-generated/envoy/config/core/v3/address.upb.h',
'src/core/ext/upb-generated/envoy/config/core/v3/backoff.upb.h',
'src/core/ext/upb-generated/envoy/config/core/v3/base.upb.h',
'src/core/ext/upb-generated/envoy/config/core/v3/config_source.upb.h',
'src/core/ext/upb-generated/envoy/config/core/v3/event_service_config.upb.h',
'src/core/ext/upb-generated/envoy/config/core/v3/grpc_service.upb.h',
'src/core/ext/upb-generated/envoy/config/core/v3/health_check.upb.h',
'src/core/ext/upb-generated/envoy/config/core/v3/http_uri.upb.h',
'src/core/ext/upb-generated/envoy/config/core/v3/protocol.upb.h',
'src/core/ext/upb-generated/envoy/config/core/v3/proxy_protocol.upb.h',
'src/core/ext/upb-generated/envoy/config/core/v3/socket_option.upb.h',
'src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint.upb.h',
'src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint_components.upb.h',
'src/core/ext/upb-generated/envoy/config/endpoint/v3/load_report.upb.h',
'src/core/ext/upb-generated/envoy/config/listener/v3/api_listener.upb.h',
'src/core/ext/upb-generated/envoy/config/listener/v3/listener.upb.h',
'src/core/ext/upb-generated/envoy/config/listener/v3/listener_components.upb.h',
'src/core/ext/upb-generated/envoy/config/listener/v3/udp_listener_config.upb.h',
'src/core/ext/upb-generated/envoy/config/rbac/v3/rbac.upb.h',
'src/core/ext/upb-generated/envoy/config/route/v3/route.upb.h',
'src/core/ext/upb-generated/envoy/config/route/v3/route_components.upb.h',
'src/core/ext/upb-generated/envoy/config/route/v3/scoped_route.upb.h',
'src/core/ext/upb-generated/envoy/config/trace/v3/http_tracer.upb.h',
'src/core/ext/upb-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.h',
'src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/cert.upb.h',
'src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/common.upb.h',
'src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/secret.upb.h',
'src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/tls.upb.h',
'src/core/ext/upb-generated/envoy/service/cluster/v3/cds.upb.h',
'src/core/ext/upb-generated/envoy/service/discovery/v3/ads.upb.h',
'src/core/ext/upb-generated/envoy/service/discovery/v3/discovery.upb.h',
'src/core/ext/upb-generated/envoy/service/endpoint/v3/eds.upb.h',
'src/core/ext/upb-generated/envoy/service/listener/v3/lds.upb.h',
'src/core/ext/upb-generated/envoy/service/load_stats/v3/lrs.upb.h',
'src/core/ext/upb-generated/envoy/service/route/v3/rds.upb.h',
'src/core/ext/upb-generated/envoy/service/route/v3/srds.upb.h',
'src/core/ext/upb-generated/envoy/type/matcher/v3/metadata.upb.h',
'src/core/ext/upb-generated/envoy/type/matcher/v3/number.upb.h',
'src/core/ext/upb-generated/envoy/type/matcher/v3/path.upb.h',
'src/core/ext/upb-generated/envoy/type/matcher/v3/regex.upb.h',
'src/core/ext/upb-generated/envoy/type/matcher/v3/string.upb.h',
'src/core/ext/upb-generated/envoy/type/matcher/v3/value.upb.h',
'src/core/ext/upb-generated/envoy/type/metadata/v3/metadata.upb.h',
'src/core/ext/upb-generated/envoy/type/tracing/v3/custom_tag.upb.h',
'src/core/ext/upb-generated/envoy/type/v3/http.upb.h',
'src/core/ext/upb-generated/envoy/type/v3/percent.upb.h',
'src/core/ext/upb-generated/envoy/type/v3/range.upb.h',
'src/core/ext/upb-generated/envoy/type/v3/semantic_version.upb.h',
'src/core/ext/upb-generated/gogoproto/gogo.upb.h',
'src/core/ext/upb-generated/google/api/annotations.upb.h',
'src/core/ext/upb-generated/google/api/expr/v1alpha1/syntax.upb.h',
'src/core/ext/upb-generated/google/api/http.upb.h',
'src/core/ext/upb-generated/google/protobuf/any.upb.h',
'src/core/ext/upb-generated/google/protobuf/descriptor.upb.h',
@ -374,6 +377,7 @@ Pod::Spec.new do |s|
'src/core/ext/upb-generated/udpa/annotations/migrate.upb.h',
'src/core/ext/upb-generated/udpa/annotations/sensitive.upb.h',
'src/core/ext/upb-generated/udpa/annotations/status.upb.h',
'src/core/ext/upb-generated/udpa/annotations/versioning.upb.h',
'src/core/ext/upb-generated/udpa/data/orca/v1/orca_load_report.upb.h',
'src/core/ext/upb-generated/validate/validate.upb.h',
'src/core/lib/avl/avl.h',
@ -545,16 +549,13 @@ Pod::Spec.new do |s|
'src/core/lib/security/transport/auth_filters.h',
'src/core/lib/security/transport/secure_endpoint.h',
'src/core/lib/security/transport/security_handshaker.h',
'src/core/lib/security/transport/target_authority_table.h',
'src/core/lib/security/transport/tsi_error.h',
'src/core/lib/security/util/json_util.h',
'src/core/lib/slice/b64.h',
'src/core/lib/slice/percent_encoding.h',
'src/core/lib/slice/slice_hash_table.h',
'src/core/lib/slice/slice_internal.h',
'src/core/lib/slice/slice_string_helpers.h',
'src/core/lib/slice/slice_utils.h',
'src/core/lib/slice/slice_weak_hash_table.h',
'src/core/lib/surface/api_trace.h',
'src/core/lib/surface/call.h',
'src/core/lib/surface/call_test_only.h',
@ -568,6 +569,7 @@ Pod::Spec.new do |s|
'src/core/lib/surface/lame_client.h',
'src/core/lib/surface/server.h',
'src/core/lib/surface/validate_metadata.h',
'src/core/lib/transport/authority_override.h',
'src/core/lib/transport/bdp_estimator.h',
'src/core/lib/transport/byte_stream.h',
'src/core/lib/transport/connectivity_state.h',
@ -792,58 +794,62 @@ Pod::Spec.new do |s|
'src/core/ext/transport/inproc/inproc_transport.h',
'src/core/ext/upb-generated/envoy/annotations/deprecation.upb.h',
'src/core/ext/upb-generated/envoy/annotations/resource.upb.h',
'src/core/ext/upb-generated/envoy/api/v2/auth/cert.upb.h',
'src/core/ext/upb-generated/envoy/api/v2/auth/common.upb.h',
'src/core/ext/upb-generated/envoy/api/v2/auth/secret.upb.h',
'src/core/ext/upb-generated/envoy/api/v2/auth/tls.upb.h',
'src/core/ext/upb-generated/envoy/api/v2/cds.upb.h',
'src/core/ext/upb-generated/envoy/api/v2/cluster.upb.h',
'src/core/ext/upb-generated/envoy/api/v2/cluster/circuit_breaker.upb.h',
'src/core/ext/upb-generated/envoy/api/v2/cluster/filter.upb.h',
'src/core/ext/upb-generated/envoy/api/v2/cluster/outlier_detection.upb.h',
'src/core/ext/upb-generated/envoy/api/v2/core/address.upb.h',
'src/core/ext/upb-generated/envoy/api/v2/core/backoff.upb.h',
'src/core/ext/upb-generated/envoy/api/v2/core/base.upb.h',
'src/core/ext/upb-generated/envoy/api/v2/core/config_source.upb.h',
'src/core/ext/upb-generated/envoy/api/v2/core/event_service_config.upb.h',
'src/core/ext/upb-generated/envoy/api/v2/core/grpc_service.upb.h',
'src/core/ext/upb-generated/envoy/api/v2/core/health_check.upb.h',
'src/core/ext/upb-generated/envoy/api/v2/core/http_uri.upb.h',
'src/core/ext/upb-generated/envoy/api/v2/core/protocol.upb.h',
'src/core/ext/upb-generated/envoy/api/v2/core/socket_option.upb.h',
'src/core/ext/upb-generated/envoy/api/v2/discovery.upb.h',
'src/core/ext/upb-generated/envoy/api/v2/eds.upb.h',
'src/core/ext/upb-generated/envoy/api/v2/endpoint.upb.h',
'src/core/ext/upb-generated/envoy/api/v2/endpoint/endpoint.upb.h',
'src/core/ext/upb-generated/envoy/api/v2/endpoint/endpoint_components.upb.h',
'src/core/ext/upb-generated/envoy/api/v2/endpoint/load_report.upb.h',
'src/core/ext/upb-generated/envoy/api/v2/lds.upb.h',
'src/core/ext/upb-generated/envoy/api/v2/listener.upb.h',
'src/core/ext/upb-generated/envoy/api/v2/listener/listener.upb.h',
'src/core/ext/upb-generated/envoy/api/v2/listener/listener_components.upb.h',
'src/core/ext/upb-generated/envoy/api/v2/listener/udp_listener_config.upb.h',
'src/core/ext/upb-generated/envoy/api/v2/rds.upb.h',
'src/core/ext/upb-generated/envoy/api/v2/route.upb.h',
'src/core/ext/upb-generated/envoy/api/v2/route/route.upb.h',
'src/core/ext/upb-generated/envoy/api/v2/route/route_components.upb.h',
'src/core/ext/upb-generated/envoy/api/v2/scoped_route.upb.h',
'src/core/ext/upb-generated/envoy/api/v2/srds.upb.h',
'src/core/ext/upb-generated/envoy/config/filter/accesslog/v2/accesslog.upb.h',
'src/core/ext/upb-generated/envoy/config/filter/network/http_connection_manager/v2/http_connection_manager.upb.h',
'src/core/ext/upb-generated/envoy/config/listener/v2/api_listener.upb.h',
'src/core/ext/upb-generated/envoy/config/trace/v2/http_tracer.upb.h',
'src/core/ext/upb-generated/envoy/service/discovery/v2/ads.upb.h',
'src/core/ext/upb-generated/envoy/service/load_stats/v2/lrs.upb.h',
'src/core/ext/upb-generated/envoy/type/http.upb.h',
'src/core/ext/upb-generated/envoy/type/matcher/regex.upb.h',
'src/core/ext/upb-generated/envoy/type/matcher/string.upb.h',
'src/core/ext/upb-generated/envoy/type/metadata/v2/metadata.upb.h',
'src/core/ext/upb-generated/envoy/type/percent.upb.h',
'src/core/ext/upb-generated/envoy/type/range.upb.h',
'src/core/ext/upb-generated/envoy/type/semantic_version.upb.h',
'src/core/ext/upb-generated/envoy/type/tracing/v2/custom_tag.upb.h',
'src/core/ext/upb-generated/envoy/config/accesslog/v3/accesslog.upb.h',
'src/core/ext/upb-generated/envoy/config/cluster/v3/circuit_breaker.upb.h',
'src/core/ext/upb-generated/envoy/config/cluster/v3/cluster.upb.h',
'src/core/ext/upb-generated/envoy/config/cluster/v3/filter.upb.h',
'src/core/ext/upb-generated/envoy/config/cluster/v3/outlier_detection.upb.h',
'src/core/ext/upb-generated/envoy/config/core/v3/address.upb.h',
'src/core/ext/upb-generated/envoy/config/core/v3/backoff.upb.h',
'src/core/ext/upb-generated/envoy/config/core/v3/base.upb.h',
'src/core/ext/upb-generated/envoy/config/core/v3/config_source.upb.h',
'src/core/ext/upb-generated/envoy/config/core/v3/event_service_config.upb.h',
'src/core/ext/upb-generated/envoy/config/core/v3/grpc_service.upb.h',
'src/core/ext/upb-generated/envoy/config/core/v3/health_check.upb.h',
'src/core/ext/upb-generated/envoy/config/core/v3/http_uri.upb.h',
'src/core/ext/upb-generated/envoy/config/core/v3/protocol.upb.h',
'src/core/ext/upb-generated/envoy/config/core/v3/proxy_protocol.upb.h',
'src/core/ext/upb-generated/envoy/config/core/v3/socket_option.upb.h',
'src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint.upb.h',
'src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint_components.upb.h',
'src/core/ext/upb-generated/envoy/config/endpoint/v3/load_report.upb.h',
'src/core/ext/upb-generated/envoy/config/listener/v3/api_listener.upb.h',
'src/core/ext/upb-generated/envoy/config/listener/v3/listener.upb.h',
'src/core/ext/upb-generated/envoy/config/listener/v3/listener_components.upb.h',
'src/core/ext/upb-generated/envoy/config/listener/v3/udp_listener_config.upb.h',
'src/core/ext/upb-generated/envoy/config/rbac/v3/rbac.upb.h',
'src/core/ext/upb-generated/envoy/config/route/v3/route.upb.h',
'src/core/ext/upb-generated/envoy/config/route/v3/route_components.upb.h',
'src/core/ext/upb-generated/envoy/config/route/v3/scoped_route.upb.h',
'src/core/ext/upb-generated/envoy/config/trace/v3/http_tracer.upb.h',
'src/core/ext/upb-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.h',
'src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/cert.upb.h',
'src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/common.upb.h',
'src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/secret.upb.h',
'src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/tls.upb.h',
'src/core/ext/upb-generated/envoy/service/cluster/v3/cds.upb.h',
'src/core/ext/upb-generated/envoy/service/discovery/v3/ads.upb.h',
'src/core/ext/upb-generated/envoy/service/discovery/v3/discovery.upb.h',
'src/core/ext/upb-generated/envoy/service/endpoint/v3/eds.upb.h',
'src/core/ext/upb-generated/envoy/service/listener/v3/lds.upb.h',
'src/core/ext/upb-generated/envoy/service/load_stats/v3/lrs.upb.h',
'src/core/ext/upb-generated/envoy/service/route/v3/rds.upb.h',
'src/core/ext/upb-generated/envoy/service/route/v3/srds.upb.h',
'src/core/ext/upb-generated/envoy/type/matcher/v3/metadata.upb.h',
'src/core/ext/upb-generated/envoy/type/matcher/v3/number.upb.h',
'src/core/ext/upb-generated/envoy/type/matcher/v3/path.upb.h',
'src/core/ext/upb-generated/envoy/type/matcher/v3/regex.upb.h',
'src/core/ext/upb-generated/envoy/type/matcher/v3/string.upb.h',
'src/core/ext/upb-generated/envoy/type/matcher/v3/value.upb.h',
'src/core/ext/upb-generated/envoy/type/metadata/v3/metadata.upb.h',
'src/core/ext/upb-generated/envoy/type/tracing/v3/custom_tag.upb.h',
'src/core/ext/upb-generated/envoy/type/v3/http.upb.h',
'src/core/ext/upb-generated/envoy/type/v3/percent.upb.h',
'src/core/ext/upb-generated/envoy/type/v3/range.upb.h',
'src/core/ext/upb-generated/envoy/type/v3/semantic_version.upb.h',
'src/core/ext/upb-generated/gogoproto/gogo.upb.h',
'src/core/ext/upb-generated/google/api/annotations.upb.h',
'src/core/ext/upb-generated/google/api/expr/v1alpha1/syntax.upb.h',
'src/core/ext/upb-generated/google/api/http.upb.h',
'src/core/ext/upb-generated/google/protobuf/any.upb.h',
'src/core/ext/upb-generated/google/protobuf/descriptor.upb.h',
@ -861,6 +867,7 @@ Pod::Spec.new do |s|
'src/core/ext/upb-generated/udpa/annotations/migrate.upb.h',
'src/core/ext/upb-generated/udpa/annotations/sensitive.upb.h',
'src/core/ext/upb-generated/udpa/annotations/status.upb.h',
'src/core/ext/upb-generated/udpa/annotations/versioning.upb.h',
'src/core/ext/upb-generated/udpa/data/orca/v1/orca_load_report.upb.h',
'src/core/ext/upb-generated/validate/validate.upb.h',
'src/core/lib/avl/avl.h',
@ -1032,16 +1039,13 @@ Pod::Spec.new do |s|
'src/core/lib/security/transport/auth_filters.h',
'src/core/lib/security/transport/secure_endpoint.h',
'src/core/lib/security/transport/security_handshaker.h',
'src/core/lib/security/transport/target_authority_table.h',
'src/core/lib/security/transport/tsi_error.h',
'src/core/lib/security/util/json_util.h',
'src/core/lib/slice/b64.h',
'src/core/lib/slice/percent_encoding.h',
'src/core/lib/slice/slice_hash_table.h',
'src/core/lib/slice/slice_internal.h',
'src/core/lib/slice/slice_string_helpers.h',
'src/core/lib/slice/slice_utils.h',
'src/core/lib/slice/slice_weak_hash_table.h',
'src/core/lib/surface/api_trace.h',
'src/core/lib/surface/call.h',
'src/core/lib/surface/call_test_only.h',
@ -1055,6 +1059,7 @@ Pod::Spec.new do |s|
'src/core/lib/surface/lame_client.h',
'src/core/lib/surface/server.h',
'src/core/lib/surface/validate_metadata.h',
'src/core/lib/transport/authority_override.h',
'src/core/lib/transport/bdp_estimator.h',
'src/core/lib/transport/byte_stream.h',
'src/core/lib/transport/connectivity_state.h',
@ -1174,7 +1179,7 @@ Pod::Spec.new do |s|
s.prepare_command = <<-END_OF_COMMAND
sed -E -i '' 's;#include <openssl/(.*)>;#if COCOAPODS==1\\\n #include <openssl_grpc/\\1>\\\n#else\\\n #include <openssl/\\1>\\\n#endif;g' $(find src/core -type f \\( -path '*.h' -or -path '*.cc' \\) -print | xargs grep -H -c '#include <openssl_grpc/' | grep 0$ | cut -d':' -f1)
find src/core/ src/cpp/ third_party/upb/ -type f \\( -name '*.h' -or -name '*.c' -or -name '*.cc' \\) -print0 | xargs -0 -L1 sed -E -i'.grpc_back' 's;#include "upb/(.*)";#if COCOAPODS==1\\\n #include "third_party/upb/upb/\\1"\\\n#else\\\n #include "upb/\\1"\\\n#endif;g'
find src/core/ src/cpp/ third_party/upb/ -type f \\( -name '*.h' -or -name '*.hpp' -or -name '*.c' -or -name '*.cc' \\) -print0 | xargs -0 -L1 sed -E -i'.grpc_back' 's;#include "upb/(.*)";#if COCOAPODS==1\\\n #include "third_party/upb/upb/\\1"\\\n#else\\\n #include "upb/\\1"\\\n#endif;g'
find src/core/ src/cpp/ third_party/upb/ -type f -name '*.grpc_back' -print0 | xargs -0 rm
find src/core/ src/cpp/ -type f \\( -name '*.h' -or -name '*.c' -or -name '*.cc' \\) -print0 | xargs -0 -L1 sed -E -i'.grpc_back' 's;#include "(.*).upb.h";#if COCOAPODS==1\\\n #include "src/core/ext/upb-generated/\\1.upb.h"\\\n#else\\\n #include "\\1.upb.h"\\\n#endif;g'
find src/core/ src/cpp/ -type f -name '*.grpc_back' -print0 | xargs -0 rm

@ -21,7 +21,7 @@
Pod::Spec.new do |s|
s.name = 'gRPC-Core'
version = '1.31.0-dev'
version = '1.32.0-dev'
s.version = version
s.summary = 'Core cross-platform gRPC library, written in C'
s.homepage = 'https://grpc.io'
@ -174,11 +174,13 @@ Pod::Spec.new do |s|
ss.dependency "#{s.name}/Interface", version
ss.dependency 'BoringSSL-GRPC', '0.0.11'
abseil_version = '1.20200225.0'
ss.dependency 'abseil/base/base', abseil_version
ss.dependency 'abseil/container/inlined_vector', abseil_version
ss.dependency 'abseil/memory/memory', abseil_version
ss.dependency 'abseil/status/status', abseil_version
ss.dependency 'abseil/strings/str_format', abseil_version
ss.dependency 'abseil/strings/strings', abseil_version
ss.dependency 'abseil/synchronization/synchronization', abseil_version
ss.dependency 'abseil/time/time', abseil_version
ss.dependency 'abseil/types/optional', abseil_version
ss.compiler_flags = '-DBORINGSSL_PREFIX=GRPC -Wno-unreachable-code -Wno-shorten-64-to-32'
@ -386,110 +388,118 @@ Pod::Spec.new do |s|
'src/core/ext/upb-generated/envoy/annotations/deprecation.upb.h',
'src/core/ext/upb-generated/envoy/annotations/resource.upb.c',
'src/core/ext/upb-generated/envoy/annotations/resource.upb.h',
'src/core/ext/upb-generated/envoy/api/v2/auth/cert.upb.c',
'src/core/ext/upb-generated/envoy/api/v2/auth/cert.upb.h',
'src/core/ext/upb-generated/envoy/api/v2/auth/common.upb.c',
'src/core/ext/upb-generated/envoy/api/v2/auth/common.upb.h',
'src/core/ext/upb-generated/envoy/api/v2/auth/secret.upb.c',
'src/core/ext/upb-generated/envoy/api/v2/auth/secret.upb.h',
'src/core/ext/upb-generated/envoy/api/v2/auth/tls.upb.c',
'src/core/ext/upb-generated/envoy/api/v2/auth/tls.upb.h',
'src/core/ext/upb-generated/envoy/api/v2/cds.upb.c',
'src/core/ext/upb-generated/envoy/api/v2/cds.upb.h',
'src/core/ext/upb-generated/envoy/api/v2/cluster.upb.c',
'src/core/ext/upb-generated/envoy/api/v2/cluster.upb.h',
'src/core/ext/upb-generated/envoy/api/v2/cluster/circuit_breaker.upb.c',
'src/core/ext/upb-generated/envoy/api/v2/cluster/circuit_breaker.upb.h',
'src/core/ext/upb-generated/envoy/api/v2/cluster/filter.upb.c',
'src/core/ext/upb-generated/envoy/api/v2/cluster/filter.upb.h',
'src/core/ext/upb-generated/envoy/api/v2/cluster/outlier_detection.upb.c',
'src/core/ext/upb-generated/envoy/api/v2/cluster/outlier_detection.upb.h',
'src/core/ext/upb-generated/envoy/api/v2/core/address.upb.c',
'src/core/ext/upb-generated/envoy/api/v2/core/address.upb.h',
'src/core/ext/upb-generated/envoy/api/v2/core/backoff.upb.c',
'src/core/ext/upb-generated/envoy/api/v2/core/backoff.upb.h',
'src/core/ext/upb-generated/envoy/api/v2/core/base.upb.c',
'src/core/ext/upb-generated/envoy/api/v2/core/base.upb.h',
'src/core/ext/upb-generated/envoy/api/v2/core/config_source.upb.c',
'src/core/ext/upb-generated/envoy/api/v2/core/config_source.upb.h',
'src/core/ext/upb-generated/envoy/api/v2/core/event_service_config.upb.c',
'src/core/ext/upb-generated/envoy/api/v2/core/event_service_config.upb.h',
'src/core/ext/upb-generated/envoy/api/v2/core/grpc_service.upb.c',
'src/core/ext/upb-generated/envoy/api/v2/core/grpc_service.upb.h',
'src/core/ext/upb-generated/envoy/api/v2/core/health_check.upb.c',
'src/core/ext/upb-generated/envoy/api/v2/core/health_check.upb.h',
'src/core/ext/upb-generated/envoy/api/v2/core/http_uri.upb.c',
'src/core/ext/upb-generated/envoy/api/v2/core/http_uri.upb.h',
'src/core/ext/upb-generated/envoy/api/v2/core/protocol.upb.c',
'src/core/ext/upb-generated/envoy/api/v2/core/protocol.upb.h',
'src/core/ext/upb-generated/envoy/api/v2/core/socket_option.upb.c',
'src/core/ext/upb-generated/envoy/api/v2/core/socket_option.upb.h',
'src/core/ext/upb-generated/envoy/api/v2/discovery.upb.c',
'src/core/ext/upb-generated/envoy/api/v2/discovery.upb.h',
'src/core/ext/upb-generated/envoy/api/v2/eds.upb.c',
'src/core/ext/upb-generated/envoy/api/v2/eds.upb.h',
'src/core/ext/upb-generated/envoy/api/v2/endpoint.upb.c',
'src/core/ext/upb-generated/envoy/api/v2/endpoint.upb.h',
'src/core/ext/upb-generated/envoy/api/v2/endpoint/endpoint.upb.c',
'src/core/ext/upb-generated/envoy/api/v2/endpoint/endpoint.upb.h',
'src/core/ext/upb-generated/envoy/api/v2/endpoint/endpoint_components.upb.c',
'src/core/ext/upb-generated/envoy/api/v2/endpoint/endpoint_components.upb.h',
'src/core/ext/upb-generated/envoy/api/v2/endpoint/load_report.upb.c',
'src/core/ext/upb-generated/envoy/api/v2/endpoint/load_report.upb.h',
'src/core/ext/upb-generated/envoy/api/v2/lds.upb.c',
'src/core/ext/upb-generated/envoy/api/v2/lds.upb.h',
'src/core/ext/upb-generated/envoy/api/v2/listener.upb.c',
'src/core/ext/upb-generated/envoy/api/v2/listener.upb.h',
'src/core/ext/upb-generated/envoy/api/v2/listener/listener.upb.c',
'src/core/ext/upb-generated/envoy/api/v2/listener/listener.upb.h',
'src/core/ext/upb-generated/envoy/api/v2/listener/listener_components.upb.c',
'src/core/ext/upb-generated/envoy/api/v2/listener/listener_components.upb.h',
'src/core/ext/upb-generated/envoy/api/v2/listener/udp_listener_config.upb.c',
'src/core/ext/upb-generated/envoy/api/v2/listener/udp_listener_config.upb.h',
'src/core/ext/upb-generated/envoy/api/v2/rds.upb.c',
'src/core/ext/upb-generated/envoy/api/v2/rds.upb.h',
'src/core/ext/upb-generated/envoy/api/v2/route.upb.c',
'src/core/ext/upb-generated/envoy/api/v2/route.upb.h',
'src/core/ext/upb-generated/envoy/api/v2/route/route.upb.c',
'src/core/ext/upb-generated/envoy/api/v2/route/route.upb.h',
'src/core/ext/upb-generated/envoy/api/v2/route/route_components.upb.c',
'src/core/ext/upb-generated/envoy/api/v2/route/route_components.upb.h',
'src/core/ext/upb-generated/envoy/api/v2/scoped_route.upb.c',
'src/core/ext/upb-generated/envoy/api/v2/scoped_route.upb.h',
'src/core/ext/upb-generated/envoy/api/v2/srds.upb.c',
'src/core/ext/upb-generated/envoy/api/v2/srds.upb.h',
'src/core/ext/upb-generated/envoy/config/filter/accesslog/v2/accesslog.upb.c',
'src/core/ext/upb-generated/envoy/config/filter/accesslog/v2/accesslog.upb.h',
'src/core/ext/upb-generated/envoy/config/filter/network/http_connection_manager/v2/http_connection_manager.upb.c',
'src/core/ext/upb-generated/envoy/config/filter/network/http_connection_manager/v2/http_connection_manager.upb.h',
'src/core/ext/upb-generated/envoy/config/listener/v2/api_listener.upb.c',
'src/core/ext/upb-generated/envoy/config/listener/v2/api_listener.upb.h',
'src/core/ext/upb-generated/envoy/config/trace/v2/http_tracer.upb.c',
'src/core/ext/upb-generated/envoy/config/trace/v2/http_tracer.upb.h',
'src/core/ext/upb-generated/envoy/service/discovery/v2/ads.upb.c',
'src/core/ext/upb-generated/envoy/service/discovery/v2/ads.upb.h',
'src/core/ext/upb-generated/envoy/service/load_stats/v2/lrs.upb.c',
'src/core/ext/upb-generated/envoy/service/load_stats/v2/lrs.upb.h',
'src/core/ext/upb-generated/envoy/type/http.upb.c',
'src/core/ext/upb-generated/envoy/type/http.upb.h',
'src/core/ext/upb-generated/envoy/type/matcher/regex.upb.c',
'src/core/ext/upb-generated/envoy/type/matcher/regex.upb.h',
'src/core/ext/upb-generated/envoy/type/matcher/string.upb.c',
'src/core/ext/upb-generated/envoy/type/matcher/string.upb.h',
'src/core/ext/upb-generated/envoy/type/metadata/v2/metadata.upb.c',
'src/core/ext/upb-generated/envoy/type/metadata/v2/metadata.upb.h',
'src/core/ext/upb-generated/envoy/type/percent.upb.c',
'src/core/ext/upb-generated/envoy/type/percent.upb.h',
'src/core/ext/upb-generated/envoy/type/range.upb.c',
'src/core/ext/upb-generated/envoy/type/range.upb.h',
'src/core/ext/upb-generated/envoy/type/semantic_version.upb.c',
'src/core/ext/upb-generated/envoy/type/semantic_version.upb.h',
'src/core/ext/upb-generated/envoy/type/tracing/v2/custom_tag.upb.c',
'src/core/ext/upb-generated/envoy/type/tracing/v2/custom_tag.upb.h',
'src/core/ext/upb-generated/envoy/config/accesslog/v3/accesslog.upb.c',
'src/core/ext/upb-generated/envoy/config/accesslog/v3/accesslog.upb.h',
'src/core/ext/upb-generated/envoy/config/cluster/v3/circuit_breaker.upb.c',
'src/core/ext/upb-generated/envoy/config/cluster/v3/circuit_breaker.upb.h',
'src/core/ext/upb-generated/envoy/config/cluster/v3/cluster.upb.c',
'src/core/ext/upb-generated/envoy/config/cluster/v3/cluster.upb.h',
'src/core/ext/upb-generated/envoy/config/cluster/v3/filter.upb.c',
'src/core/ext/upb-generated/envoy/config/cluster/v3/filter.upb.h',
'src/core/ext/upb-generated/envoy/config/cluster/v3/outlier_detection.upb.c',
'src/core/ext/upb-generated/envoy/config/cluster/v3/outlier_detection.upb.h',
'src/core/ext/upb-generated/envoy/config/core/v3/address.upb.c',
'src/core/ext/upb-generated/envoy/config/core/v3/address.upb.h',
'src/core/ext/upb-generated/envoy/config/core/v3/backoff.upb.c',
'src/core/ext/upb-generated/envoy/config/core/v3/backoff.upb.h',
'src/core/ext/upb-generated/envoy/config/core/v3/base.upb.c',
'src/core/ext/upb-generated/envoy/config/core/v3/base.upb.h',
'src/core/ext/upb-generated/envoy/config/core/v3/config_source.upb.c',
'src/core/ext/upb-generated/envoy/config/core/v3/config_source.upb.h',
'src/core/ext/upb-generated/envoy/config/core/v3/event_service_config.upb.c',
'src/core/ext/upb-generated/envoy/config/core/v3/event_service_config.upb.h',
'src/core/ext/upb-generated/envoy/config/core/v3/grpc_service.upb.c',
'src/core/ext/upb-generated/envoy/config/core/v3/grpc_service.upb.h',
'src/core/ext/upb-generated/envoy/config/core/v3/health_check.upb.c',
'src/core/ext/upb-generated/envoy/config/core/v3/health_check.upb.h',
'src/core/ext/upb-generated/envoy/config/core/v3/http_uri.upb.c',
'src/core/ext/upb-generated/envoy/config/core/v3/http_uri.upb.h',
'src/core/ext/upb-generated/envoy/config/core/v3/protocol.upb.c',
'src/core/ext/upb-generated/envoy/config/core/v3/protocol.upb.h',
'src/core/ext/upb-generated/envoy/config/core/v3/proxy_protocol.upb.c',
'src/core/ext/upb-generated/envoy/config/core/v3/proxy_protocol.upb.h',
'src/core/ext/upb-generated/envoy/config/core/v3/socket_option.upb.c',
'src/core/ext/upb-generated/envoy/config/core/v3/socket_option.upb.h',
'src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint.upb.c',
'src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint.upb.h',
'src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint_components.upb.c',
'src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint_components.upb.h',
'src/core/ext/upb-generated/envoy/config/endpoint/v3/load_report.upb.c',
'src/core/ext/upb-generated/envoy/config/endpoint/v3/load_report.upb.h',
'src/core/ext/upb-generated/envoy/config/listener/v3/api_listener.upb.c',
'src/core/ext/upb-generated/envoy/config/listener/v3/api_listener.upb.h',
'src/core/ext/upb-generated/envoy/config/listener/v3/listener.upb.c',
'src/core/ext/upb-generated/envoy/config/listener/v3/listener.upb.h',
'src/core/ext/upb-generated/envoy/config/listener/v3/listener_components.upb.c',
'src/core/ext/upb-generated/envoy/config/listener/v3/listener_components.upb.h',
'src/core/ext/upb-generated/envoy/config/listener/v3/udp_listener_config.upb.c',
'src/core/ext/upb-generated/envoy/config/listener/v3/udp_listener_config.upb.h',
'src/core/ext/upb-generated/envoy/config/rbac/v3/rbac.upb.c',
'src/core/ext/upb-generated/envoy/config/rbac/v3/rbac.upb.h',
'src/core/ext/upb-generated/envoy/config/route/v3/route.upb.c',
'src/core/ext/upb-generated/envoy/config/route/v3/route.upb.h',
'src/core/ext/upb-generated/envoy/config/route/v3/route_components.upb.c',
'src/core/ext/upb-generated/envoy/config/route/v3/route_components.upb.h',
'src/core/ext/upb-generated/envoy/config/route/v3/scoped_route.upb.c',
'src/core/ext/upb-generated/envoy/config/route/v3/scoped_route.upb.h',
'src/core/ext/upb-generated/envoy/config/trace/v3/http_tracer.upb.c',
'src/core/ext/upb-generated/envoy/config/trace/v3/http_tracer.upb.h',
'src/core/ext/upb-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.c',
'src/core/ext/upb-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.h',
'src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/cert.upb.c',
'src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/cert.upb.h',
'src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/common.upb.c',
'src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/common.upb.h',
'src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/secret.upb.c',
'src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/secret.upb.h',
'src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/tls.upb.c',
'src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/tls.upb.h',
'src/core/ext/upb-generated/envoy/service/cluster/v3/cds.upb.c',
'src/core/ext/upb-generated/envoy/service/cluster/v3/cds.upb.h',
'src/core/ext/upb-generated/envoy/service/discovery/v3/ads.upb.c',
'src/core/ext/upb-generated/envoy/service/discovery/v3/ads.upb.h',
'src/core/ext/upb-generated/envoy/service/discovery/v3/discovery.upb.c',
'src/core/ext/upb-generated/envoy/service/discovery/v3/discovery.upb.h',
'src/core/ext/upb-generated/envoy/service/endpoint/v3/eds.upb.c',
'src/core/ext/upb-generated/envoy/service/endpoint/v3/eds.upb.h',
'src/core/ext/upb-generated/envoy/service/listener/v3/lds.upb.c',
'src/core/ext/upb-generated/envoy/service/listener/v3/lds.upb.h',
'src/core/ext/upb-generated/envoy/service/load_stats/v3/lrs.upb.c',
'src/core/ext/upb-generated/envoy/service/load_stats/v3/lrs.upb.h',
'src/core/ext/upb-generated/envoy/service/route/v3/rds.upb.c',
'src/core/ext/upb-generated/envoy/service/route/v3/rds.upb.h',
'src/core/ext/upb-generated/envoy/service/route/v3/srds.upb.c',
'src/core/ext/upb-generated/envoy/service/route/v3/srds.upb.h',
'src/core/ext/upb-generated/envoy/type/matcher/v3/metadata.upb.c',
'src/core/ext/upb-generated/envoy/type/matcher/v3/metadata.upb.h',
'src/core/ext/upb-generated/envoy/type/matcher/v3/number.upb.c',
'src/core/ext/upb-generated/envoy/type/matcher/v3/number.upb.h',
'src/core/ext/upb-generated/envoy/type/matcher/v3/path.upb.c',
'src/core/ext/upb-generated/envoy/type/matcher/v3/path.upb.h',
'src/core/ext/upb-generated/envoy/type/matcher/v3/regex.upb.c',
'src/core/ext/upb-generated/envoy/type/matcher/v3/regex.upb.h',
'src/core/ext/upb-generated/envoy/type/matcher/v3/string.upb.c',
'src/core/ext/upb-generated/envoy/type/matcher/v3/string.upb.h',
'src/core/ext/upb-generated/envoy/type/matcher/v3/value.upb.c',
'src/core/ext/upb-generated/envoy/type/matcher/v3/value.upb.h',
'src/core/ext/upb-generated/envoy/type/metadata/v3/metadata.upb.c',
'src/core/ext/upb-generated/envoy/type/metadata/v3/metadata.upb.h',
'src/core/ext/upb-generated/envoy/type/tracing/v3/custom_tag.upb.c',
'src/core/ext/upb-generated/envoy/type/tracing/v3/custom_tag.upb.h',
'src/core/ext/upb-generated/envoy/type/v3/http.upb.c',
'src/core/ext/upb-generated/envoy/type/v3/http.upb.h',
'src/core/ext/upb-generated/envoy/type/v3/percent.upb.c',
'src/core/ext/upb-generated/envoy/type/v3/percent.upb.h',
'src/core/ext/upb-generated/envoy/type/v3/range.upb.c',
'src/core/ext/upb-generated/envoy/type/v3/range.upb.h',
'src/core/ext/upb-generated/envoy/type/v3/semantic_version.upb.c',
'src/core/ext/upb-generated/envoy/type/v3/semantic_version.upb.h',
'src/core/ext/upb-generated/gogoproto/gogo.upb.c',
'src/core/ext/upb-generated/gogoproto/gogo.upb.h',
'src/core/ext/upb-generated/google/api/annotations.upb.c',
'src/core/ext/upb-generated/google/api/annotations.upb.h',
'src/core/ext/upb-generated/google/api/expr/v1alpha1/syntax.upb.c',
'src/core/ext/upb-generated/google/api/expr/v1alpha1/syntax.upb.h',
'src/core/ext/upb-generated/google/api/http.upb.c',
'src/core/ext/upb-generated/google/api/http.upb.h',
'src/core/ext/upb-generated/google/protobuf/any.upb.c',
@ -524,6 +534,8 @@ Pod::Spec.new do |s|
'src/core/ext/upb-generated/udpa/annotations/sensitive.upb.h',
'src/core/ext/upb-generated/udpa/annotations/status.upb.c',
'src/core/ext/upb-generated/udpa/annotations/status.upb.h',
'src/core/ext/upb-generated/udpa/annotations/versioning.upb.c',
'src/core/ext/upb-generated/udpa/annotations/versioning.upb.h',
'src/core/ext/upb-generated/udpa/data/orca/v1/orca_load_report.upb.c',
'src/core/ext/upb-generated/udpa/data/orca/v1/orca_load_report.upb.h',
'src/core/ext/upb-generated/validate/validate.upb.c',
@ -900,8 +912,6 @@ Pod::Spec.new do |s|
'src/core/lib/security/transport/security_handshaker.cc',
'src/core/lib/security/transport/security_handshaker.h',
'src/core/lib/security/transport/server_auth_filter.cc',
'src/core/lib/security/transport/target_authority_table.cc',
'src/core/lib/security/transport/target_authority_table.h',
'src/core/lib/security/transport/tsi_error.cc',
'src/core/lib/security/transport/tsi_error.h',
'src/core/lib/security/util/json_util.cc',
@ -912,13 +922,11 @@ Pod::Spec.new do |s|
'src/core/lib/slice/percent_encoding.h',
'src/core/lib/slice/slice.cc',
'src/core/lib/slice/slice_buffer.cc',
'src/core/lib/slice/slice_hash_table.h',
'src/core/lib/slice/slice_intern.cc',
'src/core/lib/slice/slice_internal.h',
'src/core/lib/slice/slice_string_helpers.cc',
'src/core/lib/slice/slice_string_helpers.h',
'src/core/lib/slice/slice_utils.h',
'src/core/lib/slice/slice_weak_hash_table.h',
'src/core/lib/surface/api_trace.cc',
'src/core/lib/surface/api_trace.h',
'src/core/lib/surface/byte_buffer.cc',
@ -952,6 +960,8 @@ Pod::Spec.new do |s|
'src/core/lib/surface/validate_metadata.cc',
'src/core/lib/surface/validate_metadata.h',
'src/core/lib/surface/version.cc',
'src/core/lib/transport/authority_override.cc',
'src/core/lib/transport/authority_override.h',
'src/core/lib/transport/bdp_estimator.cc',
'src/core/lib/transport/bdp_estimator.h',
'src/core/lib/transport/byte_stream.cc',
@ -1188,58 +1198,62 @@ Pod::Spec.new do |s|
'src/core/ext/transport/inproc/inproc_transport.h',
'src/core/ext/upb-generated/envoy/annotations/deprecation.upb.h',
'src/core/ext/upb-generated/envoy/annotations/resource.upb.h',
'src/core/ext/upb-generated/envoy/api/v2/auth/cert.upb.h',
'src/core/ext/upb-generated/envoy/api/v2/auth/common.upb.h',
'src/core/ext/upb-generated/envoy/api/v2/auth/secret.upb.h',
'src/core/ext/upb-generated/envoy/api/v2/auth/tls.upb.h',
'src/core/ext/upb-generated/envoy/api/v2/cds.upb.h',
'src/core/ext/upb-generated/envoy/api/v2/cluster.upb.h',
'src/core/ext/upb-generated/envoy/api/v2/cluster/circuit_breaker.upb.h',
'src/core/ext/upb-generated/envoy/api/v2/cluster/filter.upb.h',
'src/core/ext/upb-generated/envoy/api/v2/cluster/outlier_detection.upb.h',
'src/core/ext/upb-generated/envoy/api/v2/core/address.upb.h',
'src/core/ext/upb-generated/envoy/api/v2/core/backoff.upb.h',
'src/core/ext/upb-generated/envoy/api/v2/core/base.upb.h',
'src/core/ext/upb-generated/envoy/api/v2/core/config_source.upb.h',
'src/core/ext/upb-generated/envoy/api/v2/core/event_service_config.upb.h',
'src/core/ext/upb-generated/envoy/api/v2/core/grpc_service.upb.h',
'src/core/ext/upb-generated/envoy/api/v2/core/health_check.upb.h',
'src/core/ext/upb-generated/envoy/api/v2/core/http_uri.upb.h',
'src/core/ext/upb-generated/envoy/api/v2/core/protocol.upb.h',
'src/core/ext/upb-generated/envoy/api/v2/core/socket_option.upb.h',
'src/core/ext/upb-generated/envoy/api/v2/discovery.upb.h',
'src/core/ext/upb-generated/envoy/api/v2/eds.upb.h',
'src/core/ext/upb-generated/envoy/api/v2/endpoint.upb.h',
'src/core/ext/upb-generated/envoy/api/v2/endpoint/endpoint.upb.h',
'src/core/ext/upb-generated/envoy/api/v2/endpoint/endpoint_components.upb.h',
'src/core/ext/upb-generated/envoy/api/v2/endpoint/load_report.upb.h',
'src/core/ext/upb-generated/envoy/api/v2/lds.upb.h',
'src/core/ext/upb-generated/envoy/api/v2/listener.upb.h',
'src/core/ext/upb-generated/envoy/api/v2/listener/listener.upb.h',
'src/core/ext/upb-generated/envoy/api/v2/listener/listener_components.upb.h',
'src/core/ext/upb-generated/envoy/api/v2/listener/udp_listener_config.upb.h',
'src/core/ext/upb-generated/envoy/api/v2/rds.upb.h',
'src/core/ext/upb-generated/envoy/api/v2/route.upb.h',
'src/core/ext/upb-generated/envoy/api/v2/route/route.upb.h',
'src/core/ext/upb-generated/envoy/api/v2/route/route_components.upb.h',
'src/core/ext/upb-generated/envoy/api/v2/scoped_route.upb.h',
'src/core/ext/upb-generated/envoy/api/v2/srds.upb.h',
'src/core/ext/upb-generated/envoy/config/filter/accesslog/v2/accesslog.upb.h',
'src/core/ext/upb-generated/envoy/config/filter/network/http_connection_manager/v2/http_connection_manager.upb.h',
'src/core/ext/upb-generated/envoy/config/listener/v2/api_listener.upb.h',
'src/core/ext/upb-generated/envoy/config/trace/v2/http_tracer.upb.h',
'src/core/ext/upb-generated/envoy/service/discovery/v2/ads.upb.h',
'src/core/ext/upb-generated/envoy/service/load_stats/v2/lrs.upb.h',
'src/core/ext/upb-generated/envoy/type/http.upb.h',
'src/core/ext/upb-generated/envoy/type/matcher/regex.upb.h',
'src/core/ext/upb-generated/envoy/type/matcher/string.upb.h',
'src/core/ext/upb-generated/envoy/type/metadata/v2/metadata.upb.h',
'src/core/ext/upb-generated/envoy/type/percent.upb.h',
'src/core/ext/upb-generated/envoy/type/range.upb.h',
'src/core/ext/upb-generated/envoy/type/semantic_version.upb.h',
'src/core/ext/upb-generated/envoy/type/tracing/v2/custom_tag.upb.h',
'src/core/ext/upb-generated/envoy/config/accesslog/v3/accesslog.upb.h',
'src/core/ext/upb-generated/envoy/config/cluster/v3/circuit_breaker.upb.h',
'src/core/ext/upb-generated/envoy/config/cluster/v3/cluster.upb.h',
'src/core/ext/upb-generated/envoy/config/cluster/v3/filter.upb.h',
'src/core/ext/upb-generated/envoy/config/cluster/v3/outlier_detection.upb.h',
'src/core/ext/upb-generated/envoy/config/core/v3/address.upb.h',
'src/core/ext/upb-generated/envoy/config/core/v3/backoff.upb.h',
'src/core/ext/upb-generated/envoy/config/core/v3/base.upb.h',
'src/core/ext/upb-generated/envoy/config/core/v3/config_source.upb.h',
'src/core/ext/upb-generated/envoy/config/core/v3/event_service_config.upb.h',
'src/core/ext/upb-generated/envoy/config/core/v3/grpc_service.upb.h',
'src/core/ext/upb-generated/envoy/config/core/v3/health_check.upb.h',
'src/core/ext/upb-generated/envoy/config/core/v3/http_uri.upb.h',
'src/core/ext/upb-generated/envoy/config/core/v3/protocol.upb.h',
'src/core/ext/upb-generated/envoy/config/core/v3/proxy_protocol.upb.h',
'src/core/ext/upb-generated/envoy/config/core/v3/socket_option.upb.h',
'src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint.upb.h',
'src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint_components.upb.h',
'src/core/ext/upb-generated/envoy/config/endpoint/v3/load_report.upb.h',
'src/core/ext/upb-generated/envoy/config/listener/v3/api_listener.upb.h',
'src/core/ext/upb-generated/envoy/config/listener/v3/listener.upb.h',
'src/core/ext/upb-generated/envoy/config/listener/v3/listener_components.upb.h',
'src/core/ext/upb-generated/envoy/config/listener/v3/udp_listener_config.upb.h',
'src/core/ext/upb-generated/envoy/config/rbac/v3/rbac.upb.h',
'src/core/ext/upb-generated/envoy/config/route/v3/route.upb.h',
'src/core/ext/upb-generated/envoy/config/route/v3/route_components.upb.h',
'src/core/ext/upb-generated/envoy/config/route/v3/scoped_route.upb.h',
'src/core/ext/upb-generated/envoy/config/trace/v3/http_tracer.upb.h',
'src/core/ext/upb-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.h',
'src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/cert.upb.h',
'src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/common.upb.h',
'src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/secret.upb.h',
'src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/tls.upb.h',
'src/core/ext/upb-generated/envoy/service/cluster/v3/cds.upb.h',
'src/core/ext/upb-generated/envoy/service/discovery/v3/ads.upb.h',
'src/core/ext/upb-generated/envoy/service/discovery/v3/discovery.upb.h',
'src/core/ext/upb-generated/envoy/service/endpoint/v3/eds.upb.h',
'src/core/ext/upb-generated/envoy/service/listener/v3/lds.upb.h',
'src/core/ext/upb-generated/envoy/service/load_stats/v3/lrs.upb.h',
'src/core/ext/upb-generated/envoy/service/route/v3/rds.upb.h',
'src/core/ext/upb-generated/envoy/service/route/v3/srds.upb.h',
'src/core/ext/upb-generated/envoy/type/matcher/v3/metadata.upb.h',
'src/core/ext/upb-generated/envoy/type/matcher/v3/number.upb.h',
'src/core/ext/upb-generated/envoy/type/matcher/v3/path.upb.h',
'src/core/ext/upb-generated/envoy/type/matcher/v3/regex.upb.h',
'src/core/ext/upb-generated/envoy/type/matcher/v3/string.upb.h',
'src/core/ext/upb-generated/envoy/type/matcher/v3/value.upb.h',
'src/core/ext/upb-generated/envoy/type/metadata/v3/metadata.upb.h',
'src/core/ext/upb-generated/envoy/type/tracing/v3/custom_tag.upb.h',
'src/core/ext/upb-generated/envoy/type/v3/http.upb.h',
'src/core/ext/upb-generated/envoy/type/v3/percent.upb.h',
'src/core/ext/upb-generated/envoy/type/v3/range.upb.h',
'src/core/ext/upb-generated/envoy/type/v3/semantic_version.upb.h',
'src/core/ext/upb-generated/gogoproto/gogo.upb.h',
'src/core/ext/upb-generated/google/api/annotations.upb.h',
'src/core/ext/upb-generated/google/api/expr/v1alpha1/syntax.upb.h',
'src/core/ext/upb-generated/google/api/http.upb.h',
'src/core/ext/upb-generated/google/protobuf/any.upb.h',
'src/core/ext/upb-generated/google/protobuf/descriptor.upb.h',
@ -1257,6 +1271,7 @@ Pod::Spec.new do |s|
'src/core/ext/upb-generated/udpa/annotations/migrate.upb.h',
'src/core/ext/upb-generated/udpa/annotations/sensitive.upb.h',
'src/core/ext/upb-generated/udpa/annotations/status.upb.h',
'src/core/ext/upb-generated/udpa/annotations/versioning.upb.h',
'src/core/ext/upb-generated/udpa/data/orca/v1/orca_load_report.upb.h',
'src/core/ext/upb-generated/validate/validate.upb.h',
'src/core/lib/avl/avl.h',
@ -1428,16 +1443,13 @@ Pod::Spec.new do |s|
'src/core/lib/security/transport/auth_filters.h',
'src/core/lib/security/transport/secure_endpoint.h',
'src/core/lib/security/transport/security_handshaker.h',
'src/core/lib/security/transport/target_authority_table.h',
'src/core/lib/security/transport/tsi_error.h',
'src/core/lib/security/util/json_util.h',
'src/core/lib/slice/b64.h',
'src/core/lib/slice/percent_encoding.h',
'src/core/lib/slice/slice_hash_table.h',
'src/core/lib/slice/slice_internal.h',
'src/core/lib/slice/slice_string_helpers.h',
'src/core/lib/slice/slice_utils.h',
'src/core/lib/slice/slice_weak_hash_table.h',
'src/core/lib/surface/api_trace.h',
'src/core/lib/surface/call.h',
'src/core/lib/surface/call_test_only.h',
@ -1451,6 +1463,7 @@ Pod::Spec.new do |s|
'src/core/lib/surface/lame_client.h',
'src/core/lib/surface/server.h',
'src/core/lib/surface/validate_metadata.h',
'src/core/lib/transport/authority_override.h',
'src/core/lib/transport/bdp_estimator.h',
'src/core/lib/transport/byte_stream.h',
'src/core/lib/transport/connectivity_state.h',

@ -21,7 +21,7 @@
Pod::Spec.new do |s|
s.name = 'gRPC-ProtoRPC'
version = '1.31.0-dev'
version = '1.32.0-dev'
s.version = version
s.summary = 'RPC library for Protocol Buffers, based on gRPC'
s.homepage = 'https://grpc.io'

@ -21,7 +21,7 @@
Pod::Spec.new do |s|
s.name = 'gRPC-RxLibrary'
version = '1.31.0-dev'
version = '1.32.0-dev'
s.version = version
s.summary = 'Reactive Extensions library for iOS/OSX.'
s.homepage = 'https://grpc.io'

@ -20,7 +20,7 @@
Pod::Spec.new do |s|
s.name = 'gRPC'
version = '1.31.0-dev'
version = '1.32.0-dev'
s.version = version
s.summary = 'gRPC client library for iOS/OSX'
s.homepage = 'https://grpc.io'

@ -307,110 +307,118 @@ Gem::Specification.new do |s|
s.files += %w( src/core/ext/upb-generated/envoy/annotations/deprecation.upb.h )
s.files += %w( src/core/ext/upb-generated/envoy/annotations/resource.upb.c )
s.files += %w( src/core/ext/upb-generated/envoy/annotations/resource.upb.h )
s.files += %w( src/core/ext/upb-generated/envoy/api/v2/auth/cert.upb.c )
s.files += %w( src/core/ext/upb-generated/envoy/api/v2/auth/cert.upb.h )
s.files += %w( src/core/ext/upb-generated/envoy/api/v2/auth/common.upb.c )
s.files += %w( src/core/ext/upb-generated/envoy/api/v2/auth/common.upb.h )
s.files += %w( src/core/ext/upb-generated/envoy/api/v2/auth/secret.upb.c )
s.files += %w( src/core/ext/upb-generated/envoy/api/v2/auth/secret.upb.h )
s.files += %w( src/core/ext/upb-generated/envoy/api/v2/auth/tls.upb.c )
s.files += %w( src/core/ext/upb-generated/envoy/api/v2/auth/tls.upb.h )
s.files += %w( src/core/ext/upb-generated/envoy/api/v2/cds.upb.c )
s.files += %w( src/core/ext/upb-generated/envoy/api/v2/cds.upb.h )
s.files += %w( src/core/ext/upb-generated/envoy/api/v2/cluster.upb.c )
s.files += %w( src/core/ext/upb-generated/envoy/api/v2/cluster.upb.h )
s.files += %w( src/core/ext/upb-generated/envoy/api/v2/cluster/circuit_breaker.upb.c )
s.files += %w( src/core/ext/upb-generated/envoy/api/v2/cluster/circuit_breaker.upb.h )
s.files += %w( src/core/ext/upb-generated/envoy/api/v2/cluster/filter.upb.c )
s.files += %w( src/core/ext/upb-generated/envoy/api/v2/cluster/filter.upb.h )
s.files += %w( src/core/ext/upb-generated/envoy/api/v2/cluster/outlier_detection.upb.c )
s.files += %w( src/core/ext/upb-generated/envoy/api/v2/cluster/outlier_detection.upb.h )
s.files += %w( src/core/ext/upb-generated/envoy/api/v2/core/address.upb.c )
s.files += %w( src/core/ext/upb-generated/envoy/api/v2/core/address.upb.h )
s.files += %w( src/core/ext/upb-generated/envoy/api/v2/core/backoff.upb.c )
s.files += %w( src/core/ext/upb-generated/envoy/api/v2/core/backoff.upb.h )
s.files += %w( src/core/ext/upb-generated/envoy/api/v2/core/base.upb.c )
s.files += %w( src/core/ext/upb-generated/envoy/api/v2/core/base.upb.h )
s.files += %w( src/core/ext/upb-generated/envoy/api/v2/core/config_source.upb.c )
s.files += %w( src/core/ext/upb-generated/envoy/api/v2/core/config_source.upb.h )
s.files += %w( src/core/ext/upb-generated/envoy/api/v2/core/event_service_config.upb.c )
s.files += %w( src/core/ext/upb-generated/envoy/api/v2/core/event_service_config.upb.h )
s.files += %w( src/core/ext/upb-generated/envoy/api/v2/core/grpc_service.upb.c )
s.files += %w( src/core/ext/upb-generated/envoy/api/v2/core/grpc_service.upb.h )
s.files += %w( src/core/ext/upb-generated/envoy/api/v2/core/health_check.upb.c )
s.files += %w( src/core/ext/upb-generated/envoy/api/v2/core/health_check.upb.h )
s.files += %w( src/core/ext/upb-generated/envoy/api/v2/core/http_uri.upb.c )
s.files += %w( src/core/ext/upb-generated/envoy/api/v2/core/http_uri.upb.h )
s.files += %w( src/core/ext/upb-generated/envoy/api/v2/core/protocol.upb.c )
s.files += %w( src/core/ext/upb-generated/envoy/api/v2/core/protocol.upb.h )
s.files += %w( src/core/ext/upb-generated/envoy/api/v2/core/socket_option.upb.c )
s.files += %w( src/core/ext/upb-generated/envoy/api/v2/core/socket_option.upb.h )
s.files += %w( src/core/ext/upb-generated/envoy/api/v2/discovery.upb.c )
s.files += %w( src/core/ext/upb-generated/envoy/api/v2/discovery.upb.h )
s.files += %w( src/core/ext/upb-generated/envoy/api/v2/eds.upb.c )
s.files += %w( src/core/ext/upb-generated/envoy/api/v2/eds.upb.h )
s.files += %w( src/core/ext/upb-generated/envoy/api/v2/endpoint.upb.c )
s.files += %w( src/core/ext/upb-generated/envoy/api/v2/endpoint.upb.h )
s.files += %w( src/core/ext/upb-generated/envoy/api/v2/endpoint/endpoint.upb.c )
s.files += %w( src/core/ext/upb-generated/envoy/api/v2/endpoint/endpoint.upb.h )
s.files += %w( src/core/ext/upb-generated/envoy/api/v2/endpoint/endpoint_components.upb.c )
s.files += %w( src/core/ext/upb-generated/envoy/api/v2/endpoint/endpoint_components.upb.h )
s.files += %w( src/core/ext/upb-generated/envoy/api/v2/endpoint/load_report.upb.c )
s.files += %w( src/core/ext/upb-generated/envoy/api/v2/endpoint/load_report.upb.h )
s.files += %w( src/core/ext/upb-generated/envoy/api/v2/lds.upb.c )
s.files += %w( src/core/ext/upb-generated/envoy/api/v2/lds.upb.h )
s.files += %w( src/core/ext/upb-generated/envoy/api/v2/listener.upb.c )
s.files += %w( src/core/ext/upb-generated/envoy/api/v2/listener.upb.h )
s.files += %w( src/core/ext/upb-generated/envoy/api/v2/listener/listener.upb.c )
s.files += %w( src/core/ext/upb-generated/envoy/api/v2/listener/listener.upb.h )
s.files += %w( src/core/ext/upb-generated/envoy/api/v2/listener/listener_components.upb.c )
s.files += %w( src/core/ext/upb-generated/envoy/api/v2/listener/listener_components.upb.h )
s.files += %w( src/core/ext/upb-generated/envoy/api/v2/listener/udp_listener_config.upb.c )
s.files += %w( src/core/ext/upb-generated/envoy/api/v2/listener/udp_listener_config.upb.h )
s.files += %w( src/core/ext/upb-generated/envoy/api/v2/rds.upb.c )
s.files += %w( src/core/ext/upb-generated/envoy/api/v2/rds.upb.h )
s.files += %w( src/core/ext/upb-generated/envoy/api/v2/route.upb.c )
s.files += %w( src/core/ext/upb-generated/envoy/api/v2/route.upb.h )
s.files += %w( src/core/ext/upb-generated/envoy/api/v2/route/route.upb.c )
s.files += %w( src/core/ext/upb-generated/envoy/api/v2/route/route.upb.h )
s.files += %w( src/core/ext/upb-generated/envoy/api/v2/route/route_components.upb.c )
s.files += %w( src/core/ext/upb-generated/envoy/api/v2/route/route_components.upb.h )
s.files += %w( src/core/ext/upb-generated/envoy/api/v2/scoped_route.upb.c )
s.files += %w( src/core/ext/upb-generated/envoy/api/v2/scoped_route.upb.h )
s.files += %w( src/core/ext/upb-generated/envoy/api/v2/srds.upb.c )
s.files += %w( src/core/ext/upb-generated/envoy/api/v2/srds.upb.h )
s.files += %w( src/core/ext/upb-generated/envoy/config/filter/accesslog/v2/accesslog.upb.c )
s.files += %w( src/core/ext/upb-generated/envoy/config/filter/accesslog/v2/accesslog.upb.h )
s.files += %w( src/core/ext/upb-generated/envoy/config/filter/network/http_connection_manager/v2/http_connection_manager.upb.c )
s.files += %w( src/core/ext/upb-generated/envoy/config/filter/network/http_connection_manager/v2/http_connection_manager.upb.h )
s.files += %w( src/core/ext/upb-generated/envoy/config/listener/v2/api_listener.upb.c )
s.files += %w( src/core/ext/upb-generated/envoy/config/listener/v2/api_listener.upb.h )
s.files += %w( src/core/ext/upb-generated/envoy/config/trace/v2/http_tracer.upb.c )
s.files += %w( src/core/ext/upb-generated/envoy/config/trace/v2/http_tracer.upb.h )
s.files += %w( src/core/ext/upb-generated/envoy/service/discovery/v2/ads.upb.c )
s.files += %w( src/core/ext/upb-generated/envoy/service/discovery/v2/ads.upb.h )
s.files += %w( src/core/ext/upb-generated/envoy/service/load_stats/v2/lrs.upb.c )
s.files += %w( src/core/ext/upb-generated/envoy/service/load_stats/v2/lrs.upb.h )
s.files += %w( src/core/ext/upb-generated/envoy/type/http.upb.c )
s.files += %w( src/core/ext/upb-generated/envoy/type/http.upb.h )
s.files += %w( src/core/ext/upb-generated/envoy/type/matcher/regex.upb.c )
s.files += %w( src/core/ext/upb-generated/envoy/type/matcher/regex.upb.h )
s.files += %w( src/core/ext/upb-generated/envoy/type/matcher/string.upb.c )
s.files += %w( src/core/ext/upb-generated/envoy/type/matcher/string.upb.h )
s.files += %w( src/core/ext/upb-generated/envoy/type/metadata/v2/metadata.upb.c )
s.files += %w( src/core/ext/upb-generated/envoy/type/metadata/v2/metadata.upb.h )
s.files += %w( src/core/ext/upb-generated/envoy/type/percent.upb.c )
s.files += %w( src/core/ext/upb-generated/envoy/type/percent.upb.h )
s.files += %w( src/core/ext/upb-generated/envoy/type/range.upb.c )
s.files += %w( src/core/ext/upb-generated/envoy/type/range.upb.h )
s.files += %w( src/core/ext/upb-generated/envoy/type/semantic_version.upb.c )
s.files += %w( src/core/ext/upb-generated/envoy/type/semantic_version.upb.h )
s.files += %w( src/core/ext/upb-generated/envoy/type/tracing/v2/custom_tag.upb.c )
s.files += %w( src/core/ext/upb-generated/envoy/type/tracing/v2/custom_tag.upb.h )
s.files += %w( src/core/ext/upb-generated/envoy/config/accesslog/v3/accesslog.upb.c )
s.files += %w( src/core/ext/upb-generated/envoy/config/accesslog/v3/accesslog.upb.h )
s.files += %w( src/core/ext/upb-generated/envoy/config/cluster/v3/circuit_breaker.upb.c )
s.files += %w( src/core/ext/upb-generated/envoy/config/cluster/v3/circuit_breaker.upb.h )
s.files += %w( src/core/ext/upb-generated/envoy/config/cluster/v3/cluster.upb.c )
s.files += %w( src/core/ext/upb-generated/envoy/config/cluster/v3/cluster.upb.h )
s.files += %w( src/core/ext/upb-generated/envoy/config/cluster/v3/filter.upb.c )
s.files += %w( src/core/ext/upb-generated/envoy/config/cluster/v3/filter.upb.h )
s.files += %w( src/core/ext/upb-generated/envoy/config/cluster/v3/outlier_detection.upb.c )
s.files += %w( src/core/ext/upb-generated/envoy/config/cluster/v3/outlier_detection.upb.h )
s.files += %w( src/core/ext/upb-generated/envoy/config/core/v3/address.upb.c )
s.files += %w( src/core/ext/upb-generated/envoy/config/core/v3/address.upb.h )
s.files += %w( src/core/ext/upb-generated/envoy/config/core/v3/backoff.upb.c )
s.files += %w( src/core/ext/upb-generated/envoy/config/core/v3/backoff.upb.h )
s.files += %w( src/core/ext/upb-generated/envoy/config/core/v3/base.upb.c )
s.files += %w( src/core/ext/upb-generated/envoy/config/core/v3/base.upb.h )
s.files += %w( src/core/ext/upb-generated/envoy/config/core/v3/config_source.upb.c )
s.files += %w( src/core/ext/upb-generated/envoy/config/core/v3/config_source.upb.h )
s.files += %w( src/core/ext/upb-generated/envoy/config/core/v3/event_service_config.upb.c )
s.files += %w( src/core/ext/upb-generated/envoy/config/core/v3/event_service_config.upb.h )
s.files += %w( src/core/ext/upb-generated/envoy/config/core/v3/grpc_service.upb.c )
s.files += %w( src/core/ext/upb-generated/envoy/config/core/v3/grpc_service.upb.h )
s.files += %w( src/core/ext/upb-generated/envoy/config/core/v3/health_check.upb.c )
s.files += %w( src/core/ext/upb-generated/envoy/config/core/v3/health_check.upb.h )
s.files += %w( src/core/ext/upb-generated/envoy/config/core/v3/http_uri.upb.c )
s.files += %w( src/core/ext/upb-generated/envoy/config/core/v3/http_uri.upb.h )
s.files += %w( src/core/ext/upb-generated/envoy/config/core/v3/protocol.upb.c )
s.files += %w( src/core/ext/upb-generated/envoy/config/core/v3/protocol.upb.h )
s.files += %w( src/core/ext/upb-generated/envoy/config/core/v3/proxy_protocol.upb.c )
s.files += %w( src/core/ext/upb-generated/envoy/config/core/v3/proxy_protocol.upb.h )
s.files += %w( src/core/ext/upb-generated/envoy/config/core/v3/socket_option.upb.c )
s.files += %w( src/core/ext/upb-generated/envoy/config/core/v3/socket_option.upb.h )
s.files += %w( src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint.upb.c )
s.files += %w( src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint.upb.h )
s.files += %w( src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint_components.upb.c )
s.files += %w( src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint_components.upb.h )
s.files += %w( src/core/ext/upb-generated/envoy/config/endpoint/v3/load_report.upb.c )
s.files += %w( src/core/ext/upb-generated/envoy/config/endpoint/v3/load_report.upb.h )
s.files += %w( src/core/ext/upb-generated/envoy/config/listener/v3/api_listener.upb.c )
s.files += %w( src/core/ext/upb-generated/envoy/config/listener/v3/api_listener.upb.h )
s.files += %w( src/core/ext/upb-generated/envoy/config/listener/v3/listener.upb.c )
s.files += %w( src/core/ext/upb-generated/envoy/config/listener/v3/listener.upb.h )
s.files += %w( src/core/ext/upb-generated/envoy/config/listener/v3/listener_components.upb.c )
s.files += %w( src/core/ext/upb-generated/envoy/config/listener/v3/listener_components.upb.h )
s.files += %w( src/core/ext/upb-generated/envoy/config/listener/v3/udp_listener_config.upb.c )
s.files += %w( src/core/ext/upb-generated/envoy/config/listener/v3/udp_listener_config.upb.h )
s.files += %w( src/core/ext/upb-generated/envoy/config/rbac/v3/rbac.upb.c )
s.files += %w( src/core/ext/upb-generated/envoy/config/rbac/v3/rbac.upb.h )
s.files += %w( src/core/ext/upb-generated/envoy/config/route/v3/route.upb.c )
s.files += %w( src/core/ext/upb-generated/envoy/config/route/v3/route.upb.h )
s.files += %w( src/core/ext/upb-generated/envoy/config/route/v3/route_components.upb.c )
s.files += %w( src/core/ext/upb-generated/envoy/config/route/v3/route_components.upb.h )
s.files += %w( src/core/ext/upb-generated/envoy/config/route/v3/scoped_route.upb.c )
s.files += %w( src/core/ext/upb-generated/envoy/config/route/v3/scoped_route.upb.h )
s.files += %w( src/core/ext/upb-generated/envoy/config/trace/v3/http_tracer.upb.c )
s.files += %w( src/core/ext/upb-generated/envoy/config/trace/v3/http_tracer.upb.h )
s.files += %w( src/core/ext/upb-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.c )
s.files += %w( src/core/ext/upb-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.h )
s.files += %w( src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/cert.upb.c )
s.files += %w( src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/cert.upb.h )
s.files += %w( src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/common.upb.c )
s.files += %w( src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/common.upb.h )
s.files += %w( src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/secret.upb.c )
s.files += %w( src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/secret.upb.h )
s.files += %w( src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/tls.upb.c )
s.files += %w( src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/tls.upb.h )
s.files += %w( src/core/ext/upb-generated/envoy/service/cluster/v3/cds.upb.c )
s.files += %w( src/core/ext/upb-generated/envoy/service/cluster/v3/cds.upb.h )
s.files += %w( src/core/ext/upb-generated/envoy/service/discovery/v3/ads.upb.c )
s.files += %w( src/core/ext/upb-generated/envoy/service/discovery/v3/ads.upb.h )
s.files += %w( src/core/ext/upb-generated/envoy/service/discovery/v3/discovery.upb.c )
s.files += %w( src/core/ext/upb-generated/envoy/service/discovery/v3/discovery.upb.h )
s.files += %w( src/core/ext/upb-generated/envoy/service/endpoint/v3/eds.upb.c )
s.files += %w( src/core/ext/upb-generated/envoy/service/endpoint/v3/eds.upb.h )
s.files += %w( src/core/ext/upb-generated/envoy/service/listener/v3/lds.upb.c )
s.files += %w( src/core/ext/upb-generated/envoy/service/listener/v3/lds.upb.h )
s.files += %w( src/core/ext/upb-generated/envoy/service/load_stats/v3/lrs.upb.c )
s.files += %w( src/core/ext/upb-generated/envoy/service/load_stats/v3/lrs.upb.h )
s.files += %w( src/core/ext/upb-generated/envoy/service/route/v3/rds.upb.c )
s.files += %w( src/core/ext/upb-generated/envoy/service/route/v3/rds.upb.h )
s.files += %w( src/core/ext/upb-generated/envoy/service/route/v3/srds.upb.c )
s.files += %w( src/core/ext/upb-generated/envoy/service/route/v3/srds.upb.h )
s.files += %w( src/core/ext/upb-generated/envoy/type/matcher/v3/metadata.upb.c )
s.files += %w( src/core/ext/upb-generated/envoy/type/matcher/v3/metadata.upb.h )
s.files += %w( src/core/ext/upb-generated/envoy/type/matcher/v3/number.upb.c )
s.files += %w( src/core/ext/upb-generated/envoy/type/matcher/v3/number.upb.h )
s.files += %w( src/core/ext/upb-generated/envoy/type/matcher/v3/path.upb.c )
s.files += %w( src/core/ext/upb-generated/envoy/type/matcher/v3/path.upb.h )
s.files += %w( src/core/ext/upb-generated/envoy/type/matcher/v3/regex.upb.c )
s.files += %w( src/core/ext/upb-generated/envoy/type/matcher/v3/regex.upb.h )
s.files += %w( src/core/ext/upb-generated/envoy/type/matcher/v3/string.upb.c )
s.files += %w( src/core/ext/upb-generated/envoy/type/matcher/v3/string.upb.h )
s.files += %w( src/core/ext/upb-generated/envoy/type/matcher/v3/value.upb.c )
s.files += %w( src/core/ext/upb-generated/envoy/type/matcher/v3/value.upb.h )
s.files += %w( src/core/ext/upb-generated/envoy/type/metadata/v3/metadata.upb.c )
s.files += %w( src/core/ext/upb-generated/envoy/type/metadata/v3/metadata.upb.h )
s.files += %w( src/core/ext/upb-generated/envoy/type/tracing/v3/custom_tag.upb.c )
s.files += %w( src/core/ext/upb-generated/envoy/type/tracing/v3/custom_tag.upb.h )
s.files += %w( src/core/ext/upb-generated/envoy/type/v3/http.upb.c )
s.files += %w( src/core/ext/upb-generated/envoy/type/v3/http.upb.h )
s.files += %w( src/core/ext/upb-generated/envoy/type/v3/percent.upb.c )
s.files += %w( src/core/ext/upb-generated/envoy/type/v3/percent.upb.h )
s.files += %w( src/core/ext/upb-generated/envoy/type/v3/range.upb.c )
s.files += %w( src/core/ext/upb-generated/envoy/type/v3/range.upb.h )
s.files += %w( src/core/ext/upb-generated/envoy/type/v3/semantic_version.upb.c )
s.files += %w( src/core/ext/upb-generated/envoy/type/v3/semantic_version.upb.h )
s.files += %w( src/core/ext/upb-generated/gogoproto/gogo.upb.c )
s.files += %w( src/core/ext/upb-generated/gogoproto/gogo.upb.h )
s.files += %w( src/core/ext/upb-generated/google/api/annotations.upb.c )
s.files += %w( src/core/ext/upb-generated/google/api/annotations.upb.h )
s.files += %w( src/core/ext/upb-generated/google/api/expr/v1alpha1/syntax.upb.c )
s.files += %w( src/core/ext/upb-generated/google/api/expr/v1alpha1/syntax.upb.h )
s.files += %w( src/core/ext/upb-generated/google/api/http.upb.c )
s.files += %w( src/core/ext/upb-generated/google/api/http.upb.h )
s.files += %w( src/core/ext/upb-generated/google/protobuf/any.upb.c )
@ -445,6 +453,8 @@ Gem::Specification.new do |s|
s.files += %w( src/core/ext/upb-generated/udpa/annotations/sensitive.upb.h )
s.files += %w( src/core/ext/upb-generated/udpa/annotations/status.upb.c )
s.files += %w( src/core/ext/upb-generated/udpa/annotations/status.upb.h )
s.files += %w( src/core/ext/upb-generated/udpa/annotations/versioning.upb.c )
s.files += %w( src/core/ext/upb-generated/udpa/annotations/versioning.upb.h )
s.files += %w( src/core/ext/upb-generated/udpa/data/orca/v1/orca_load_report.upb.c )
s.files += %w( src/core/ext/upb-generated/udpa/data/orca/v1/orca_load_report.upb.h )
s.files += %w( src/core/ext/upb-generated/validate/validate.upb.c )
@ -821,8 +831,6 @@ Gem::Specification.new do |s|
s.files += %w( src/core/lib/security/transport/security_handshaker.cc )
s.files += %w( src/core/lib/security/transport/security_handshaker.h )
s.files += %w( src/core/lib/security/transport/server_auth_filter.cc )
s.files += %w( src/core/lib/security/transport/target_authority_table.cc )
s.files += %w( src/core/lib/security/transport/target_authority_table.h )
s.files += %w( src/core/lib/security/transport/tsi_error.cc )
s.files += %w( src/core/lib/security/transport/tsi_error.h )
s.files += %w( src/core/lib/security/util/json_util.cc )
@ -833,13 +841,11 @@ Gem::Specification.new do |s|
s.files += %w( src/core/lib/slice/percent_encoding.h )
s.files += %w( src/core/lib/slice/slice.cc )
s.files += %w( src/core/lib/slice/slice_buffer.cc )
s.files += %w( src/core/lib/slice/slice_hash_table.h )
s.files += %w( src/core/lib/slice/slice_intern.cc )
s.files += %w( src/core/lib/slice/slice_internal.h )
s.files += %w( src/core/lib/slice/slice_string_helpers.cc )
s.files += %w( src/core/lib/slice/slice_string_helpers.h )
s.files += %w( src/core/lib/slice/slice_utils.h )
s.files += %w( src/core/lib/slice/slice_weak_hash_table.h )
s.files += %w( src/core/lib/surface/api_trace.cc )
s.files += %w( src/core/lib/surface/api_trace.h )
s.files += %w( src/core/lib/surface/byte_buffer.cc )
@ -873,6 +879,8 @@ Gem::Specification.new do |s|
s.files += %w( src/core/lib/surface/validate_metadata.cc )
s.files += %w( src/core/lib/surface/validate_metadata.h )
s.files += %w( src/core/lib/surface/version.cc )
s.files += %w( src/core/lib/transport/authority_override.cc )
s.files += %w( src/core/lib/transport/authority_override.h )
s.files += %w( src/core/lib/transport/bdp_estimator.cc )
s.files += %w( src/core/lib/transport/bdp_estimator.h )
s.files += %w( src/core/lib/transport/byte_stream.cc )
@ -1106,6 +1114,24 @@ Gem::Specification.new do |s|
s.files += %w( third_party/abseil-cpp/absl/strings/strip.h )
s.files += %w( third_party/abseil-cpp/absl/strings/substitute.cc )
s.files += %w( third_party/abseil-cpp/absl/strings/substitute.h )
s.files += %w( third_party/abseil-cpp/absl/synchronization/barrier.cc )
s.files += %w( third_party/abseil-cpp/absl/synchronization/barrier.h )
s.files += %w( third_party/abseil-cpp/absl/synchronization/blocking_counter.cc )
s.files += %w( third_party/abseil-cpp/absl/synchronization/blocking_counter.h )
s.files += %w( third_party/abseil-cpp/absl/synchronization/internal/create_thread_identity.cc )
s.files += %w( third_party/abseil-cpp/absl/synchronization/internal/create_thread_identity.h )
s.files += %w( third_party/abseil-cpp/absl/synchronization/internal/graphcycles.cc )
s.files += %w( third_party/abseil-cpp/absl/synchronization/internal/graphcycles.h )
s.files += %w( third_party/abseil-cpp/absl/synchronization/internal/kernel_timeout.h )
s.files += %w( third_party/abseil-cpp/absl/synchronization/internal/mutex_nonprod.inc )
s.files += %w( third_party/abseil-cpp/absl/synchronization/internal/per_thread_sem.cc )
s.files += %w( third_party/abseil-cpp/absl/synchronization/internal/per_thread_sem.h )
s.files += %w( third_party/abseil-cpp/absl/synchronization/internal/waiter.cc )
s.files += %w( third_party/abseil-cpp/absl/synchronization/internal/waiter.h )
s.files += %w( third_party/abseil-cpp/absl/synchronization/mutex.cc )
s.files += %w( third_party/abseil-cpp/absl/synchronization/mutex.h )
s.files += %w( third_party/abseil-cpp/absl/synchronization/notification.cc )
s.files += %w( third_party/abseil-cpp/absl/synchronization/notification.h )
s.files += %w( third_party/abseil-cpp/absl/time/civil_time.cc )
s.files += %w( third_party/abseil-cpp/absl/time/civil_time.h )
s.files += %w( third_party/abseil-cpp/absl/time/clock.cc )
@ -1692,6 +1718,55 @@ Gem::Specification.new do |s|
s.files += %w( third_party/cares/config_freebsd/ares_config.h )
s.files += %w( third_party/cares/config_linux/ares_config.h )
s.files += %w( third_party/cares/config_openbsd/ares_config.h )
s.files += %w( third_party/re2/re2/bitmap256.h )
s.files += %w( third_party/re2/re2/bitstate.cc )
s.files += %w( third_party/re2/re2/compile.cc )
s.files += %w( third_party/re2/re2/dfa.cc )
s.files += %w( third_party/re2/re2/filtered_re2.cc )
s.files += %w( third_party/re2/re2/filtered_re2.h )
s.files += %w( third_party/re2/re2/mimics_pcre.cc )
s.files += %w( third_party/re2/re2/nfa.cc )
s.files += %w( third_party/re2/re2/onepass.cc )
s.files += %w( third_party/re2/re2/parse.cc )
s.files += %w( third_party/re2/re2/perl_groups.cc )
s.files += %w( third_party/re2/re2/pod_array.h )
s.files += %w( third_party/re2/re2/prefilter.cc )
s.files += %w( third_party/re2/re2/prefilter.h )
s.files += %w( third_party/re2/re2/prefilter_tree.cc )
s.files += %w( third_party/re2/re2/prefilter_tree.h )
s.files += %w( third_party/re2/re2/prog.cc )
s.files += %w( third_party/re2/re2/prog.h )
s.files += %w( third_party/re2/re2/re2.cc )
s.files += %w( third_party/re2/re2/re2.h )
s.files += %w( third_party/re2/re2/regexp.cc )
s.files += %w( third_party/re2/re2/regexp.h )
s.files += %w( third_party/re2/re2/set.cc )
s.files += %w( third_party/re2/re2/set.h )
s.files += %w( third_party/re2/re2/simplify.cc )
s.files += %w( third_party/re2/re2/sparse_array.h )
s.files += %w( third_party/re2/re2/sparse_set.h )
s.files += %w( third_party/re2/re2/stringpiece.cc )
s.files += %w( third_party/re2/re2/stringpiece.h )
s.files += %w( third_party/re2/re2/tostring.cc )
s.files += %w( third_party/re2/re2/unicode_casefold.cc )
s.files += %w( third_party/re2/re2/unicode_casefold.h )
s.files += %w( third_party/re2/re2/unicode_groups.cc )
s.files += %w( third_party/re2/re2/unicode_groups.h )
s.files += %w( third_party/re2/re2/walker-inl.h )
s.files += %w( third_party/re2/util/benchmark.h )
s.files += %w( third_party/re2/util/flags.h )
s.files += %w( third_party/re2/util/logging.h )
s.files += %w( third_party/re2/util/malloc_counter.h )
s.files += %w( third_party/re2/util/mix.h )
s.files += %w( third_party/re2/util/mutex.h )
s.files += %w( third_party/re2/util/pcre.cc )
s.files += %w( third_party/re2/util/pcre.h )
s.files += %w( third_party/re2/util/rune.cc )
s.files += %w( third_party/re2/util/strutil.cc )
s.files += %w( third_party/re2/util/strutil.h )
s.files += %w( third_party/re2/util/test.h )
s.files += %w( third_party/re2/util/utf.h )
s.files += %w( third_party/re2/util/util.h )
s.files += %w( third_party/upb/upb/decode.c )
s.files += %w( third_party/upb/upb/decode.h )
s.files += %w( third_party/upb/upb/encode.c )

@ -375,9 +375,11 @@
'type': 'static_library',
'dependencies': [
'absl/time:time',
'absl/synchronization:synchronization',
'absl/strings:strings',
'absl/strings:str_format',
'absl/memory:memory',
'absl/base:base',
],
'sources': [
'src/core/lib/gpr/alloc.cc',
@ -550,58 +552,62 @@
'src/core/ext/transport/inproc/inproc_transport.cc',
'src/core/ext/upb-generated/envoy/annotations/deprecation.upb.c',
'src/core/ext/upb-generated/envoy/annotations/resource.upb.c',
'src/core/ext/upb-generated/envoy/api/v2/auth/cert.upb.c',
'src/core/ext/upb-generated/envoy/api/v2/auth/common.upb.c',
'src/core/ext/upb-generated/envoy/api/v2/auth/secret.upb.c',
'src/core/ext/upb-generated/envoy/api/v2/auth/tls.upb.c',
'src/core/ext/upb-generated/envoy/api/v2/cds.upb.c',
'src/core/ext/upb-generated/envoy/api/v2/cluster.upb.c',
'src/core/ext/upb-generated/envoy/api/v2/cluster/circuit_breaker.upb.c',
'src/core/ext/upb-generated/envoy/api/v2/cluster/filter.upb.c',
'src/core/ext/upb-generated/envoy/api/v2/cluster/outlier_detection.upb.c',
'src/core/ext/upb-generated/envoy/api/v2/core/address.upb.c',
'src/core/ext/upb-generated/envoy/api/v2/core/backoff.upb.c',
'src/core/ext/upb-generated/envoy/api/v2/core/base.upb.c',
'src/core/ext/upb-generated/envoy/api/v2/core/config_source.upb.c',
'src/core/ext/upb-generated/envoy/api/v2/core/event_service_config.upb.c',
'src/core/ext/upb-generated/envoy/api/v2/core/grpc_service.upb.c',
'src/core/ext/upb-generated/envoy/api/v2/core/health_check.upb.c',
'src/core/ext/upb-generated/envoy/api/v2/core/http_uri.upb.c',
'src/core/ext/upb-generated/envoy/api/v2/core/protocol.upb.c',
'src/core/ext/upb-generated/envoy/api/v2/core/socket_option.upb.c',
'src/core/ext/upb-generated/envoy/api/v2/discovery.upb.c',
'src/core/ext/upb-generated/envoy/api/v2/eds.upb.c',
'src/core/ext/upb-generated/envoy/api/v2/endpoint.upb.c',
'src/core/ext/upb-generated/envoy/api/v2/endpoint/endpoint.upb.c',
'src/core/ext/upb-generated/envoy/api/v2/endpoint/endpoint_components.upb.c',
'src/core/ext/upb-generated/envoy/api/v2/endpoint/load_report.upb.c',
'src/core/ext/upb-generated/envoy/api/v2/lds.upb.c',
'src/core/ext/upb-generated/envoy/api/v2/listener.upb.c',
'src/core/ext/upb-generated/envoy/api/v2/listener/listener.upb.c',
'src/core/ext/upb-generated/envoy/api/v2/listener/listener_components.upb.c',
'src/core/ext/upb-generated/envoy/api/v2/listener/udp_listener_config.upb.c',
'src/core/ext/upb-generated/envoy/api/v2/rds.upb.c',
'src/core/ext/upb-generated/envoy/api/v2/route.upb.c',
'src/core/ext/upb-generated/envoy/api/v2/route/route.upb.c',
'src/core/ext/upb-generated/envoy/api/v2/route/route_components.upb.c',
'src/core/ext/upb-generated/envoy/api/v2/scoped_route.upb.c',
'src/core/ext/upb-generated/envoy/api/v2/srds.upb.c',
'src/core/ext/upb-generated/envoy/config/filter/accesslog/v2/accesslog.upb.c',
'src/core/ext/upb-generated/envoy/config/filter/network/http_connection_manager/v2/http_connection_manager.upb.c',
'src/core/ext/upb-generated/envoy/config/listener/v2/api_listener.upb.c',
'src/core/ext/upb-generated/envoy/config/trace/v2/http_tracer.upb.c',
'src/core/ext/upb-generated/envoy/service/discovery/v2/ads.upb.c',
'src/core/ext/upb-generated/envoy/service/load_stats/v2/lrs.upb.c',
'src/core/ext/upb-generated/envoy/type/http.upb.c',
'src/core/ext/upb-generated/envoy/type/matcher/regex.upb.c',
'src/core/ext/upb-generated/envoy/type/matcher/string.upb.c',
'src/core/ext/upb-generated/envoy/type/metadata/v2/metadata.upb.c',
'src/core/ext/upb-generated/envoy/type/percent.upb.c',
'src/core/ext/upb-generated/envoy/type/range.upb.c',
'src/core/ext/upb-generated/envoy/type/semantic_version.upb.c',
'src/core/ext/upb-generated/envoy/type/tracing/v2/custom_tag.upb.c',
'src/core/ext/upb-generated/envoy/config/accesslog/v3/accesslog.upb.c',
'src/core/ext/upb-generated/envoy/config/cluster/v3/circuit_breaker.upb.c',
'src/core/ext/upb-generated/envoy/config/cluster/v3/cluster.upb.c',
'src/core/ext/upb-generated/envoy/config/cluster/v3/filter.upb.c',
'src/core/ext/upb-generated/envoy/config/cluster/v3/outlier_detection.upb.c',
'src/core/ext/upb-generated/envoy/config/core/v3/address.upb.c',
'src/core/ext/upb-generated/envoy/config/core/v3/backoff.upb.c',
'src/core/ext/upb-generated/envoy/config/core/v3/base.upb.c',
'src/core/ext/upb-generated/envoy/config/core/v3/config_source.upb.c',
'src/core/ext/upb-generated/envoy/config/core/v3/event_service_config.upb.c',
'src/core/ext/upb-generated/envoy/config/core/v3/grpc_service.upb.c',
'src/core/ext/upb-generated/envoy/config/core/v3/health_check.upb.c',
'src/core/ext/upb-generated/envoy/config/core/v3/http_uri.upb.c',
'src/core/ext/upb-generated/envoy/config/core/v3/protocol.upb.c',
'src/core/ext/upb-generated/envoy/config/core/v3/proxy_protocol.upb.c',
'src/core/ext/upb-generated/envoy/config/core/v3/socket_option.upb.c',
'src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint.upb.c',
'src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint_components.upb.c',
'src/core/ext/upb-generated/envoy/config/endpoint/v3/load_report.upb.c',
'src/core/ext/upb-generated/envoy/config/listener/v3/api_listener.upb.c',
'src/core/ext/upb-generated/envoy/config/listener/v3/listener.upb.c',
'src/core/ext/upb-generated/envoy/config/listener/v3/listener_components.upb.c',
'src/core/ext/upb-generated/envoy/config/listener/v3/udp_listener_config.upb.c',
'src/core/ext/upb-generated/envoy/config/rbac/v3/rbac.upb.c',
'src/core/ext/upb-generated/envoy/config/route/v3/route.upb.c',
'src/core/ext/upb-generated/envoy/config/route/v3/route_components.upb.c',
'src/core/ext/upb-generated/envoy/config/route/v3/scoped_route.upb.c',
'src/core/ext/upb-generated/envoy/config/trace/v3/http_tracer.upb.c',
'src/core/ext/upb-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.c',
'src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/cert.upb.c',
'src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/common.upb.c',
'src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/secret.upb.c',
'src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/tls.upb.c',
'src/core/ext/upb-generated/envoy/service/cluster/v3/cds.upb.c',
'src/core/ext/upb-generated/envoy/service/discovery/v3/ads.upb.c',
'src/core/ext/upb-generated/envoy/service/discovery/v3/discovery.upb.c',
'src/core/ext/upb-generated/envoy/service/endpoint/v3/eds.upb.c',
'src/core/ext/upb-generated/envoy/service/listener/v3/lds.upb.c',
'src/core/ext/upb-generated/envoy/service/load_stats/v3/lrs.upb.c',
'src/core/ext/upb-generated/envoy/service/route/v3/rds.upb.c',
'src/core/ext/upb-generated/envoy/service/route/v3/srds.upb.c',
'src/core/ext/upb-generated/envoy/type/matcher/v3/metadata.upb.c',
'src/core/ext/upb-generated/envoy/type/matcher/v3/number.upb.c',
'src/core/ext/upb-generated/envoy/type/matcher/v3/path.upb.c',
'src/core/ext/upb-generated/envoy/type/matcher/v3/regex.upb.c',
'src/core/ext/upb-generated/envoy/type/matcher/v3/string.upb.c',
'src/core/ext/upb-generated/envoy/type/matcher/v3/value.upb.c',
'src/core/ext/upb-generated/envoy/type/metadata/v3/metadata.upb.c',
'src/core/ext/upb-generated/envoy/type/tracing/v3/custom_tag.upb.c',
'src/core/ext/upb-generated/envoy/type/v3/http.upb.c',
'src/core/ext/upb-generated/envoy/type/v3/percent.upb.c',
'src/core/ext/upb-generated/envoy/type/v3/range.upb.c',
'src/core/ext/upb-generated/envoy/type/v3/semantic_version.upb.c',
'src/core/ext/upb-generated/gogoproto/gogo.upb.c',
'src/core/ext/upb-generated/google/api/annotations.upb.c',
'src/core/ext/upb-generated/google/api/expr/v1alpha1/syntax.upb.c',
'src/core/ext/upb-generated/google/api/http.upb.c',
'src/core/ext/upb-generated/google/protobuf/any.upb.c',
'src/core/ext/upb-generated/google/protobuf/descriptor.upb.c',
@ -619,6 +625,7 @@
'src/core/ext/upb-generated/udpa/annotations/migrate.upb.c',
'src/core/ext/upb-generated/udpa/annotations/sensitive.upb.c',
'src/core/ext/upb-generated/udpa/annotations/status.upb.c',
'src/core/ext/upb-generated/udpa/annotations/versioning.upb.c',
'src/core/ext/upb-generated/udpa/data/orca/v1/orca_load_report.upb.c',
'src/core/ext/upb-generated/validate/validate.upb.c',
'src/core/lib/avl/avl.cc',
@ -783,7 +790,6 @@
'src/core/lib/security/transport/secure_endpoint.cc',
'src/core/lib/security/transport/security_handshaker.cc',
'src/core/lib/security/transport/server_auth_filter.cc',
'src/core/lib/security/transport/target_authority_table.cc',
'src/core/lib/security/transport/tsi_error.cc',
'src/core/lib/security/util/json_util.cc',
'src/core/lib/slice/b64.cc',
@ -812,6 +818,7 @@
'src/core/lib/surface/server.cc',
'src/core/lib/surface/validate_metadata.cc',
'src/core/lib/surface/version.cc',
'src/core/lib/transport/authority_override.cc',
'src/core/lib/transport/bdp_estimator.cc',
'src/core/lib/transport/byte_stream.cc',
'src/core/lib/transport/connectivity_state.cc',
@ -1058,58 +1065,62 @@
'src/core/ext/transport/inproc/inproc_transport.cc',
'src/core/ext/upb-generated/envoy/annotations/deprecation.upb.c',
'src/core/ext/upb-generated/envoy/annotations/resource.upb.c',
'src/core/ext/upb-generated/envoy/api/v2/auth/cert.upb.c',
'src/core/ext/upb-generated/envoy/api/v2/auth/common.upb.c',
'src/core/ext/upb-generated/envoy/api/v2/auth/secret.upb.c',
'src/core/ext/upb-generated/envoy/api/v2/auth/tls.upb.c',
'src/core/ext/upb-generated/envoy/api/v2/cds.upb.c',
'src/core/ext/upb-generated/envoy/api/v2/cluster.upb.c',
'src/core/ext/upb-generated/envoy/api/v2/cluster/circuit_breaker.upb.c',
'src/core/ext/upb-generated/envoy/api/v2/cluster/filter.upb.c',
'src/core/ext/upb-generated/envoy/api/v2/cluster/outlier_detection.upb.c',
'src/core/ext/upb-generated/envoy/api/v2/core/address.upb.c',
'src/core/ext/upb-generated/envoy/api/v2/core/backoff.upb.c',
'src/core/ext/upb-generated/envoy/api/v2/core/base.upb.c',
'src/core/ext/upb-generated/envoy/api/v2/core/config_source.upb.c',
'src/core/ext/upb-generated/envoy/api/v2/core/event_service_config.upb.c',
'src/core/ext/upb-generated/envoy/api/v2/core/grpc_service.upb.c',
'src/core/ext/upb-generated/envoy/api/v2/core/health_check.upb.c',
'src/core/ext/upb-generated/envoy/api/v2/core/http_uri.upb.c',
'src/core/ext/upb-generated/envoy/api/v2/core/protocol.upb.c',
'src/core/ext/upb-generated/envoy/api/v2/core/socket_option.upb.c',
'src/core/ext/upb-generated/envoy/api/v2/discovery.upb.c',
'src/core/ext/upb-generated/envoy/api/v2/eds.upb.c',
'src/core/ext/upb-generated/envoy/api/v2/endpoint.upb.c',
'src/core/ext/upb-generated/envoy/api/v2/endpoint/endpoint.upb.c',
'src/core/ext/upb-generated/envoy/api/v2/endpoint/endpoint_components.upb.c',
'src/core/ext/upb-generated/envoy/api/v2/endpoint/load_report.upb.c',
'src/core/ext/upb-generated/envoy/api/v2/lds.upb.c',
'src/core/ext/upb-generated/envoy/api/v2/listener.upb.c',
'src/core/ext/upb-generated/envoy/api/v2/listener/listener.upb.c',
'src/core/ext/upb-generated/envoy/api/v2/listener/listener_components.upb.c',
'src/core/ext/upb-generated/envoy/api/v2/listener/udp_listener_config.upb.c',
'src/core/ext/upb-generated/envoy/api/v2/rds.upb.c',
'src/core/ext/upb-generated/envoy/api/v2/route.upb.c',
'src/core/ext/upb-generated/envoy/api/v2/route/route.upb.c',
'src/core/ext/upb-generated/envoy/api/v2/route/route_components.upb.c',
'src/core/ext/upb-generated/envoy/api/v2/scoped_route.upb.c',
'src/core/ext/upb-generated/envoy/api/v2/srds.upb.c',
'src/core/ext/upb-generated/envoy/config/filter/accesslog/v2/accesslog.upb.c',
'src/core/ext/upb-generated/envoy/config/filter/network/http_connection_manager/v2/http_connection_manager.upb.c',
'src/core/ext/upb-generated/envoy/config/listener/v2/api_listener.upb.c',
'src/core/ext/upb-generated/envoy/config/trace/v2/http_tracer.upb.c',
'src/core/ext/upb-generated/envoy/service/discovery/v2/ads.upb.c',
'src/core/ext/upb-generated/envoy/service/load_stats/v2/lrs.upb.c',
'src/core/ext/upb-generated/envoy/type/http.upb.c',
'src/core/ext/upb-generated/envoy/type/matcher/regex.upb.c',
'src/core/ext/upb-generated/envoy/type/matcher/string.upb.c',
'src/core/ext/upb-generated/envoy/type/metadata/v2/metadata.upb.c',
'src/core/ext/upb-generated/envoy/type/percent.upb.c',
'src/core/ext/upb-generated/envoy/type/range.upb.c',
'src/core/ext/upb-generated/envoy/type/semantic_version.upb.c',
'src/core/ext/upb-generated/envoy/type/tracing/v2/custom_tag.upb.c',
'src/core/ext/upb-generated/envoy/config/accesslog/v3/accesslog.upb.c',
'src/core/ext/upb-generated/envoy/config/cluster/v3/circuit_breaker.upb.c',
'src/core/ext/upb-generated/envoy/config/cluster/v3/cluster.upb.c',
'src/core/ext/upb-generated/envoy/config/cluster/v3/filter.upb.c',
'src/core/ext/upb-generated/envoy/config/cluster/v3/outlier_detection.upb.c',
'src/core/ext/upb-generated/envoy/config/core/v3/address.upb.c',
'src/core/ext/upb-generated/envoy/config/core/v3/backoff.upb.c',
'src/core/ext/upb-generated/envoy/config/core/v3/base.upb.c',
'src/core/ext/upb-generated/envoy/config/core/v3/config_source.upb.c',
'src/core/ext/upb-generated/envoy/config/core/v3/event_service_config.upb.c',
'src/core/ext/upb-generated/envoy/config/core/v3/grpc_service.upb.c',
'src/core/ext/upb-generated/envoy/config/core/v3/health_check.upb.c',
'src/core/ext/upb-generated/envoy/config/core/v3/http_uri.upb.c',
'src/core/ext/upb-generated/envoy/config/core/v3/protocol.upb.c',
'src/core/ext/upb-generated/envoy/config/core/v3/proxy_protocol.upb.c',
'src/core/ext/upb-generated/envoy/config/core/v3/socket_option.upb.c',
'src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint.upb.c',
'src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint_components.upb.c',
'src/core/ext/upb-generated/envoy/config/endpoint/v3/load_report.upb.c',
'src/core/ext/upb-generated/envoy/config/listener/v3/api_listener.upb.c',
'src/core/ext/upb-generated/envoy/config/listener/v3/listener.upb.c',
'src/core/ext/upb-generated/envoy/config/listener/v3/listener_components.upb.c',
'src/core/ext/upb-generated/envoy/config/listener/v3/udp_listener_config.upb.c',
'src/core/ext/upb-generated/envoy/config/rbac/v3/rbac.upb.c',
'src/core/ext/upb-generated/envoy/config/route/v3/route.upb.c',
'src/core/ext/upb-generated/envoy/config/route/v3/route_components.upb.c',
'src/core/ext/upb-generated/envoy/config/route/v3/scoped_route.upb.c',
'src/core/ext/upb-generated/envoy/config/trace/v3/http_tracer.upb.c',
'src/core/ext/upb-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.c',
'src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/cert.upb.c',
'src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/common.upb.c',
'src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/secret.upb.c',
'src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/tls.upb.c',
'src/core/ext/upb-generated/envoy/service/cluster/v3/cds.upb.c',
'src/core/ext/upb-generated/envoy/service/discovery/v3/ads.upb.c',
'src/core/ext/upb-generated/envoy/service/discovery/v3/discovery.upb.c',
'src/core/ext/upb-generated/envoy/service/endpoint/v3/eds.upb.c',
'src/core/ext/upb-generated/envoy/service/listener/v3/lds.upb.c',
'src/core/ext/upb-generated/envoy/service/load_stats/v3/lrs.upb.c',
'src/core/ext/upb-generated/envoy/service/route/v3/rds.upb.c',
'src/core/ext/upb-generated/envoy/service/route/v3/srds.upb.c',
'src/core/ext/upb-generated/envoy/type/matcher/v3/metadata.upb.c',
'src/core/ext/upb-generated/envoy/type/matcher/v3/number.upb.c',
'src/core/ext/upb-generated/envoy/type/matcher/v3/path.upb.c',
'src/core/ext/upb-generated/envoy/type/matcher/v3/regex.upb.c',
'src/core/ext/upb-generated/envoy/type/matcher/v3/string.upb.c',
'src/core/ext/upb-generated/envoy/type/matcher/v3/value.upb.c',
'src/core/ext/upb-generated/envoy/type/metadata/v3/metadata.upb.c',
'src/core/ext/upb-generated/envoy/type/tracing/v3/custom_tag.upb.c',
'src/core/ext/upb-generated/envoy/type/v3/http.upb.c',
'src/core/ext/upb-generated/envoy/type/v3/percent.upb.c',
'src/core/ext/upb-generated/envoy/type/v3/range.upb.c',
'src/core/ext/upb-generated/envoy/type/v3/semantic_version.upb.c',
'src/core/ext/upb-generated/gogoproto/gogo.upb.c',
'src/core/ext/upb-generated/google/api/annotations.upb.c',
'src/core/ext/upb-generated/google/api/expr/v1alpha1/syntax.upb.c',
'src/core/ext/upb-generated/google/api/http.upb.c',
'src/core/ext/upb-generated/google/protobuf/any.upb.c',
'src/core/ext/upb-generated/google/protobuf/descriptor.upb.c',
@ -1124,6 +1135,7 @@
'src/core/ext/upb-generated/udpa/annotations/migrate.upb.c',
'src/core/ext/upb-generated/udpa/annotations/sensitive.upb.c',
'src/core/ext/upb-generated/udpa/annotations/status.upb.c',
'src/core/ext/upb-generated/udpa/annotations/versioning.upb.c',
'src/core/ext/upb-generated/udpa/data/orca/v1/orca_load_report.upb.c',
'src/core/ext/upb-generated/validate/validate.upb.c',
'src/core/lib/avl/avl.cc',
@ -1274,6 +1286,7 @@
'src/core/lib/surface/server.cc',
'src/core/lib/surface/validate_metadata.cc',
'src/core/lib/surface/version.cc',
'src/core/lib/transport/authority_override.cc',
'src/core/lib/transport/bdp_estimator.cc',
'src/core/lib/transport/byte_stream.cc',
'src/core/lib/transport/connectivity_state.cc',

@ -31,8 +31,13 @@
* Defines GPR_ABSEIL_SYNC to use synchronization features from Abseil
*/
#ifndef GPR_ABSEIL_SYNC
/* #define GPR_ABSEIL_SYNC 1 */
#if defined(__APPLE__)
// This is disabled on Apple platforms because macos/grpc_basictests_c_cpp
// fails with this. https://github.com/grpc/grpc/issues/23661
#else
#define GPR_ABSEIL_SYNC 1
#endif
#endif // GPR_ABSEIL_SYNC
/* Get windows.h included everywhere (we need it) */
#if defined(_WIN64) || defined(WIN64) || defined(_WIN32) || defined(WIN32)

@ -1,6 +1,6 @@
/*
*
* Copyright 2019 gRPC authors.
* Copyright 2015 gRPC authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@ -19,36 +19,59 @@
#ifndef GRPCPP_CREATE_CHANNEL_H
#define GRPCPP_CREATE_CHANNEL_H
#include <grpcpp/create_channel_impl.h>
#include <memory>
#include <grpcpp/channel.h>
#include <grpcpp/impl/codegen/client_interceptor.h>
#include <grpcpp/security/credentials.h>
#include <grpcpp/support/channel_arguments.h>
#include <grpcpp/support/config.h>
namespace grpc {
/// Create a new \a Channel pointing to \a target.
///
/// \param target The URI of the endpoint to connect to.
/// \param creds Credentials to use for the created channel. If it does not
/// hold an object or is invalid, a lame channel (one on which all operations
/// fail) is returned.
std::shared_ptr<Channel> CreateChannel(
const grpc::string& target,
const std::shared_ptr<ChannelCredentials>& creds);
static inline std::shared_ptr<::grpc::Channel> CreateChannel(
const std::string& target,
const std::shared_ptr<ChannelCredentials>& creds) {
return ::grpc_impl::CreateChannelImpl(target, creds);
}
static inline std::shared_ptr<::grpc::Channel> CreateCustomChannel(
const std::string& target, const std::shared_ptr<ChannelCredentials>& creds,
const ChannelArguments& args) {
return ::grpc_impl::CreateCustomChannelImpl(target, creds, args);
}
/// Create a new \em custom \a Channel pointing to \a target.
///
/// \warning For advanced use and testing ONLY. Override default channel
/// arguments only if necessary.
///
/// \param target The URI of the endpoint to connect to.
/// \param creds Credentials to use for the created channel. If it does not
/// hold an object or is invalid, a lame channel (one on which all operations
/// fail) is returned.
/// \param args Options for channel creation.
std::shared_ptr<Channel> CreateCustomChannel(
const grpc::string& target,
const std::shared_ptr<ChannelCredentials>& creds,
const ChannelArguments& args);
namespace experimental {
static inline std::shared_ptr<::grpc::Channel>
CreateCustomChannelWithInterceptors(
const std::string& target, const std::shared_ptr<ChannelCredentials>& creds,
/// Create a new \em custom \a Channel pointing to \a target with \a
/// interceptors being invoked per call.
///
/// \warning For advanced use and testing ONLY. Override default channel
/// arguments only if necessary.
///
/// \param target The URI of the endpoint to connect to.
/// \param creds Credentials to use for the created channel. If it does not
/// hold an object or is invalid, a lame channel (one on which all operations
/// fail) is returned.
/// \param args Options for channel creation.
std::shared_ptr<Channel> CreateCustomChannelWithInterceptors(
const grpc::string& target,
const std::shared_ptr<ChannelCredentials>& creds,
const ChannelArguments& args,
std::vector<
std::unique_ptr<experimental::ClientInterceptorFactoryInterface>>
interceptor_creators) {
return ::grpc_impl::experimental::CreateCustomChannelWithInterceptors(
target, creds, args, std::move(interceptor_creators));
}
interceptor_creators);
} // namespace experimental
} // namespace grpc

@ -1,78 +0,0 @@
/*
*
* Copyright 2015 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.
*
*/
#ifndef GRPCPP_CREATE_CHANNEL_IMPL_H
#define GRPCPP_CREATE_CHANNEL_IMPL_H
#include <memory>
#include <grpcpp/channel.h>
#include <grpcpp/impl/codegen/client_interceptor.h>
#include <grpcpp/security/credentials.h>
#include <grpcpp/support/channel_arguments.h>
#include <grpcpp/support/config.h>
namespace grpc_impl {
/// Create a new \a Channel pointing to \a target.
///
/// \param target The URI of the endpoint to connect to.
/// \param creds Credentials to use for the created channel. If it does not
/// hold an object or is invalid, a lame channel (one on which all operations
/// fail) is returned.
std::shared_ptr<::grpc::Channel> CreateChannelImpl(
const std::string& target,
const std::shared_ptr<::grpc::ChannelCredentials>& creds);
/// Create a new \em custom \a Channel pointing to \a target.
///
/// \warning For advanced use and testing ONLY. Override default channel
/// arguments only if necessary.
///
/// \param target The URI of the endpoint to connect to.
/// \param creds Credentials to use for the created channel. If it does not
/// hold an object or is invalid, a lame channel (one on which all operations
/// fail) is returned.
/// \param args Options for channel creation.
std::shared_ptr<::grpc::Channel> CreateCustomChannelImpl(
const std::string& target,
const std::shared_ptr<::grpc::ChannelCredentials>& creds,
const ::grpc::ChannelArguments& args);
namespace experimental {
/// Create a new \em custom \a Channel pointing to \a target with \a
/// interceptors being invoked per call.
///
/// \warning For advanced use and testing ONLY. Override default channel
/// arguments only if necessary.
///
/// \param target The URI of the endpoint to connect to.
/// \param creds Credentials to use for the created channel. If it does not
/// hold an object or is invalid, a lame channel (one on which all operations
/// fail) is returned.
/// \param args Options for channel creation.
std::shared_ptr<::grpc::Channel> CreateCustomChannelWithInterceptors(
const std::string& target,
const std::shared_ptr<grpc::ChannelCredentials>& creds,
const ::grpc::ChannelArguments& args,
std::vector<
std::unique_ptr<grpc::experimental::ClientInterceptorFactoryInterface>>
interceptor_creators);
} // namespace experimental
} // namespace grpc_impl
#endif // GRPCPP_CREATE_CHANNEL_IMPL_H

@ -58,6 +58,7 @@ struct grpc_call;
namespace grpc {
class CallCredentials;
class ChannelInterface;
namespace internal {
@ -88,7 +89,6 @@ class ClientCallbackUnaryImpl;
class ClientContextAccessor;
} // namespace internal
class CallCredentials;
class Channel;
class CompletionQueue;
class ServerContext;
@ -318,16 +318,15 @@ class ClientContext {
///
/// It is legal to call this only before initial metadata is sent.
///
/// \see https://grpc.io/docs/guides/auth
void set_credentials(
const std::shared_ptr<grpc_impl::CallCredentials>& creds);
/// \see https://grpc.io/docs/guides/auth.html
void set_credentials(const std::shared_ptr<grpc::CallCredentials>& creds);
/// EXPERIMENTAL debugging API
///
/// Returns the credentials for the client call. This should be used only in
/// tests and for diagnostic purposes, and should not be used by application
/// logic.
std::shared_ptr<grpc_impl::CallCredentials> credentials() { return creds_; }
std::shared_ptr<grpc::CallCredentials> credentials() { return creds_; }
/// Return the compression algorithm the client call will request be used.
/// Note that the gRPC runtime may decide to ignore this request, for example,
@ -494,8 +493,8 @@ class ClientContext {
grpc_call* call_;
bool call_canceled_;
gpr_timespec deadline_;
std::string authority_;
std::shared_ptr<grpc_impl::CallCredentials> creds_;
grpc::string authority_;
std::shared_ptr<grpc::CallCredentials> creds_;
mutable std::shared_ptr<const grpc::AuthContext> auth_context_;
struct census_context* census_context_;
std::multimap<std::string, std::string> send_initial_metadata_;

@ -36,12 +36,12 @@ namespace grpc_impl {
class Channel;
class CompletionQueue;
class ServerCompletionQueue;
class ServerCredentials;
} // namespace grpc_impl
namespace grpc {
class AsyncGenericService;
class GenericServerContext;
class ServerCredentials;
class Service;
extern CoreCodegenInterface* g_core_codegen_interface;
@ -173,7 +173,7 @@ class ServerInterface : public internal::CallHook {
///
/// \warning It's an error to call this method on an already started server.
virtual int AddListeningPort(const std::string& addr,
grpc_impl::ServerCredentials* creds) = 0;
ServerCredentials* creds) = 0;
/// Start the server.
///

@ -19,123 +19,301 @@
#ifndef GRPCPP_SECURITY_CREDENTIALS_H
#define GRPCPP_SECURITY_CREDENTIALS_H
#include <grpcpp/security/credentials_impl.h>
#include <map>
#include <memory>
#include <vector>
#include <grpc/grpc_security_constants.h>
#include <grpcpp/channel.h>
#include <grpcpp/impl/codegen/client_interceptor.h>
#include <grpcpp/impl/codegen/grpc_library.h>
#include <grpcpp/security/auth_context.h>
#include <grpcpp/security/tls_credentials_options.h>
#include <grpcpp/support/channel_arguments.h>
#include <grpcpp/support/status.h>
#include <grpcpp/support/string_ref.h>
struct grpc_call;
namespace grpc {
class CallCredentials;
class SecureCallCredentials;
class SecureChannelCredentials;
class ChannelCredentials;
typedef ::grpc_impl::ChannelCredentials ChannelCredentials;
typedef ::grpc_impl::CallCredentials CallCredentials;
typedef ::grpc_impl::SslCredentialsOptions SslCredentialsOptions;
typedef ::grpc_impl::SecureCallCredentials SecureCallCredentials;
typedef ::grpc_impl::SecureChannelCredentials SecureChannelCredentials;
typedef ::grpc_impl::MetadataCredentialsPlugin MetadataCredentialsPlugin;
std::shared_ptr<Channel> CreateCustomChannel(
const grpc::string& target,
const std::shared_ptr<grpc::ChannelCredentials>& creds,
const grpc::ChannelArguments& args);
static inline std::shared_ptr<grpc_impl::ChannelCredentials>
GoogleDefaultCredentials() {
return ::grpc_impl::GoogleDefaultCredentials();
namespace experimental {
std::shared_ptr<grpc::Channel> CreateCustomChannelWithInterceptors(
const grpc::string& target,
const std::shared_ptr<grpc::ChannelCredentials>& creds,
const grpc::ChannelArguments& args,
std::vector<
std::unique_ptr<grpc::experimental::ClientInterceptorFactoryInterface>>
interceptor_creators);
}
static inline std::shared_ptr<ChannelCredentials> SslCredentials(
const SslCredentialsOptions& options) {
return ::grpc_impl::SslCredentials(options);
}
/// A channel credentials object encapsulates all the state needed by a client
/// to authenticate with a server for a given channel.
/// It can make various assertions, e.g., about the client’s identity, role
/// for all the calls on that channel.
///
/// \see https://grpc.io/docs/guides/auth.html
class ChannelCredentials : private grpc::GrpcLibraryCodegen {
public:
ChannelCredentials();
~ChannelCredentials();
static inline std::shared_ptr<grpc_impl::CallCredentials>
GoogleComputeEngineCredentials() {
return ::grpc_impl::GoogleComputeEngineCredentials();
}
protected:
friend std::shared_ptr<ChannelCredentials> CompositeChannelCredentials(
const std::shared_ptr<ChannelCredentials>& channel_creds,
const std::shared_ptr<CallCredentials>& call_creds);
/// Constant for maximum auth token lifetime.
constexpr long kMaxAuthTokenLifetimeSecs =
::grpc_impl::kMaxAuthTokenLifetimeSecs;
virtual SecureChannelCredentials* AsSecureCredentials() = 0;
static inline std::shared_ptr<grpc_impl::CallCredentials>
ServiceAccountJWTAccessCredentials(
const std::string& json_key,
long token_lifetime_seconds = grpc::kMaxAuthTokenLifetimeSecs) {
return ::grpc_impl::ServiceAccountJWTAccessCredentials(
json_key, token_lifetime_seconds);
}
private:
friend std::shared_ptr<grpc::Channel> CreateCustomChannel(
const grpc::string& target,
const std::shared_ptr<grpc::ChannelCredentials>& creds,
const grpc::ChannelArguments& args);
static inline std::shared_ptr<grpc_impl::CallCredentials>
GoogleRefreshTokenCredentials(const std::string& json_refresh_token) {
return ::grpc_impl::GoogleRefreshTokenCredentials(json_refresh_token);
}
friend std::shared_ptr<grpc::Channel>
grpc::experimental::CreateCustomChannelWithInterceptors(
const grpc::string& target,
const std::shared_ptr<grpc::ChannelCredentials>& creds,
const grpc::ChannelArguments& args,
std::vector<std::unique_ptr<
grpc::experimental::ClientInterceptorFactoryInterface>>
interceptor_creators);
static inline std::shared_ptr<grpc_impl::CallCredentials>
AccessTokenCredentials(const std::string& access_token) {
return ::grpc_impl::AccessTokenCredentials(access_token);
}
virtual std::shared_ptr<Channel> CreateChannelImpl(
const grpc::string& target, const ChannelArguments& args) = 0;
static inline std::shared_ptr<grpc_impl::CallCredentials> GoogleIAMCredentials(
const std::string& authorization_token,
const std::string& authority_selector) {
return ::grpc_impl::GoogleIAMCredentials(authorization_token,
authority_selector);
}
// This function should have been a pure virtual function, but it is
// implemented as a virtual function so that it does not break API.
virtual std::shared_ptr<Channel> CreateChannelWithInterceptors(
const grpc::string& /*target*/, const ChannelArguments& /*args*/,
std::vector<std::unique_ptr<
grpc::experimental::ClientInterceptorFactoryInterface>>
/*interceptor_creators*/) {
return nullptr;
}
};
/// A call credentials object encapsulates the state needed by a client to
/// authenticate with a server for a given call on a channel.
///
/// \see https://grpc.io/docs/guides/auth.html
class CallCredentials : private grpc::GrpcLibraryCodegen {
public:
CallCredentials();
~CallCredentials();
/// Apply this instance's credentials to \a call.
virtual bool ApplyToCall(grpc_call* call) = 0;
virtual grpc::string DebugString() {
return "CallCredentials did not provide a debug string";
}
protected:
friend std::shared_ptr<ChannelCredentials> CompositeChannelCredentials(
const std::shared_ptr<ChannelCredentials>& channel_creds,
const std::shared_ptr<CallCredentials>& call_creds);
friend std::shared_ptr<CallCredentials> CompositeCallCredentials(
const std::shared_ptr<CallCredentials>& creds1,
const std::shared_ptr<CallCredentials>& creds2);
virtual SecureCallCredentials* AsSecureCredentials() = 0;
};
/// Options used to build SslCredentials.
struct SslCredentialsOptions {
/// The buffer containing the PEM encoding of the server root certificates. If
/// this parameter is empty, the default roots will be used. The default
/// roots can be overridden using the \a GRPC_DEFAULT_SSL_ROOTS_FILE_PATH
/// environment variable pointing to a file on the file system containing the
/// roots.
grpc::string pem_root_certs;
/// The buffer containing the PEM encoding of the client's private key. This
/// parameter can be empty if the client does not have a private key.
grpc::string pem_private_key;
/// The buffer containing the PEM encoding of the client's certificate chain.
/// This parameter can be empty if the client does not have a certificate
/// chain.
grpc::string pem_cert_chain;
};
// Factories for building different types of Credentials The functions may
// return empty shared_ptr when credentials cannot be created. If a
// Credentials pointer is returned, it can still be invalid when used to create
// a channel. A lame channel will be created then and all rpcs will fail on it.
/// Builds credentials with reasonable defaults.
///
/// \warning Only use these credentials when connecting to a Google endpoint.
/// Using these credentials to connect to any other service may result in this
/// service being able to impersonate your client for requests to Google
/// services.
std::shared_ptr<ChannelCredentials> GoogleDefaultCredentials();
/// Builds SSL Credentials given SSL specific options
std::shared_ptr<ChannelCredentials> SslCredentials(
const SslCredentialsOptions& options);
/// Builds credentials for use when running in GCE
///
/// \warning Only use these credentials when connecting to a Google endpoint.
/// Using these credentials to connect to any other service may result in this
/// service being able to impersonate your client for requests to Google
/// services.
std::shared_ptr<CallCredentials> GoogleComputeEngineCredentials();
static inline std::shared_ptr<ChannelCredentials> CompositeChannelCredentials(
constexpr long kMaxAuthTokenLifetimeSecs = 3600;
/// Builds Service Account JWT Access credentials.
/// json_key is the JSON key string containing the client's private key.
/// token_lifetime_seconds is the lifetime in seconds of each Json Web Token
/// (JWT) created with this credentials. It should not exceed
/// \a kMaxAuthTokenLifetimeSecs or will be cropped to this value.
std::shared_ptr<CallCredentials> ServiceAccountJWTAccessCredentials(
const grpc::string& json_key,
long token_lifetime_seconds = kMaxAuthTokenLifetimeSecs);
/// Builds refresh token credentials.
/// json_refresh_token is the JSON string containing the refresh token along
/// with a client_id and client_secret.
///
/// \warning Only use these credentials when connecting to a Google endpoint.
/// Using these credentials to connect to any other service may result in this
/// service being able to impersonate your client for requests to Google
/// services.
std::shared_ptr<CallCredentials> GoogleRefreshTokenCredentials(
const grpc::string& json_refresh_token);
/// Builds access token credentials.
/// access_token is an oauth2 access token that was fetched using an out of band
/// mechanism.
///
/// \warning Only use these credentials when connecting to a Google endpoint.
/// Using these credentials to connect to any other service may result in this
/// service being able to impersonate your client for requests to Google
/// services.
std::shared_ptr<CallCredentials> AccessTokenCredentials(
const grpc::string& access_token);
/// Builds IAM credentials.
///
/// \warning Only use these credentials when connecting to a Google endpoint.
/// Using these credentials to connect to any other service may result in this
/// service being able to impersonate your client for requests to Google
/// services.
std::shared_ptr<CallCredentials> GoogleIAMCredentials(
const grpc::string& authorization_token,
const grpc::string& authority_selector);
/// Combines a channel credentials and a call credentials into a composite
/// channel credentials.
std::shared_ptr<ChannelCredentials> CompositeChannelCredentials(
const std::shared_ptr<ChannelCredentials>& channel_creds,
const std::shared_ptr<CallCredentials>& call_creds) {
return ::grpc_impl::CompositeChannelCredentials(channel_creds, call_creds);
}
const std::shared_ptr<CallCredentials>& call_creds);
static inline std::shared_ptr<grpc_impl::CallCredentials>
CompositeCallCredentials(const std::shared_ptr<CallCredentials>& creds1,
const std::shared_ptr<CallCredentials>& creds2) {
return ::grpc_impl::CompositeCallCredentials(creds1, creds2);
}
/// Combines two call credentials objects into a composite call credentials.
std::shared_ptr<CallCredentials> CompositeCallCredentials(
const std::shared_ptr<CallCredentials>& creds1,
const std::shared_ptr<CallCredentials>& creds2);
static inline std::shared_ptr<grpc_impl::ChannelCredentials>
InsecureChannelCredentials() {
return ::grpc_impl::InsecureChannelCredentials();
}
/// Credentials for an unencrypted, unauthenticated channel
std::shared_ptr<ChannelCredentials> InsecureChannelCredentials();
typedef ::grpc_impl::MetadataCredentialsPlugin MetadataCredentialsPlugin;
/// User defined metadata credentials.
class MetadataCredentialsPlugin {
public:
virtual ~MetadataCredentialsPlugin() {}
static inline std::shared_ptr<grpc_impl::CallCredentials>
MetadataCredentialsFromPlugin(
std::unique_ptr<MetadataCredentialsPlugin> plugin) {
return ::grpc_impl::MetadataCredentialsFromPlugin(std::move(plugin));
}
/// If this method returns true, the Process function will be scheduled in
/// a different thread from the one processing the call.
virtual bool IsBlocking() const { return true; }
/// Type of credentials this plugin is implementing.
virtual const char* GetType() const { return ""; }
/// Gets the auth metatada produced by this plugin.
/// The fully qualified method name is:
/// service_url + "/" + method_name.
/// The channel_auth_context contains (among other things), the identity of
/// the server.
virtual grpc::Status GetMetadata(
grpc::string_ref service_url, grpc::string_ref method_name,
const grpc::AuthContext& channel_auth_context,
std::multimap<grpc::string, grpc::string>* metadata) = 0;
virtual grpc::string DebugString() {
return "MetadataCredentialsPlugin did not provide a debug string";
}
};
std::shared_ptr<CallCredentials> MetadataCredentialsFromPlugin(
std::unique_ptr<MetadataCredentialsPlugin> plugin);
namespace experimental {
typedef ::grpc_impl::experimental::StsCredentialsOptions StsCredentialsOptions;
/// Options for creating STS Oauth Token Exchange credentials following the IETF
/// draft https://tools.ietf.org/html/draft-ietf-oauth-token-exchange-16.
/// Optional fields may be set to empty string. It is the responsibility of the
/// caller to ensure that the subject and actor tokens are refreshed on disk at
/// the specified paths.
struct StsCredentialsOptions {
grpc::string token_exchange_service_uri; // Required.
grpc::string resource; // Optional.
grpc::string audience; // Optional.
grpc::string scope; // Optional.
grpc::string requested_token_type; // Optional.
grpc::string subject_token_path; // Required.
grpc::string subject_token_type; // Required.
grpc::string actor_token_path; // Optional.
grpc::string actor_token_type; // Optional.
};
static inline grpc::Status StsCredentialsOptionsFromJson(
const std::string& json_string, StsCredentialsOptions* options) {
return ::grpc_impl::experimental::StsCredentialsOptionsFromJson(json_string,
options);
}
grpc::Status StsCredentialsOptionsFromJson(const std::string& json_string,
StsCredentialsOptions* options);
static inline grpc::Status StsCredentialsOptionsFromEnv(
StsCredentialsOptions* options) {
return grpc_impl::experimental::StsCredentialsOptionsFromEnv(options);
}
/// Creates STS credentials options from the $STS_CREDENTIALS environment
/// variable. This environment variable points to the path of a JSON file
/// comforming to the schema described above.
grpc::Status StsCredentialsOptionsFromEnv(StsCredentialsOptions* options);
static inline std::shared_ptr<grpc_impl::CallCredentials> StsCredentials(
const StsCredentialsOptions& options) {
return grpc_impl::experimental::StsCredentials(options);
}
std::shared_ptr<CallCredentials> StsCredentials(
const StsCredentialsOptions& options);
typedef ::grpc_impl::experimental::AltsCredentialsOptions
AltsCredentialsOptions;
std::shared_ptr<CallCredentials> MetadataCredentialsFromPlugin(
std::unique_ptr<MetadataCredentialsPlugin> plugin,
grpc_security_level min_security_level);
static inline std::shared_ptr<grpc_impl::ChannelCredentials> AltsCredentials(
const AltsCredentialsOptions& options) {
return ::grpc_impl::experimental::AltsCredentials(options);
}
/// Options used to build AltsCredentials.
struct AltsCredentialsOptions {
/// service accounts of target endpoint that will be acceptable
/// by the client. If service accounts are provided and none of them matches
/// that of the server, authentication will fail.
std::vector<grpc::string> target_service_accounts;
};
static inline std::shared_ptr<grpc_impl::ChannelCredentials> LocalCredentials(
grpc_local_connect_type type) {
return ::grpc_impl::experimental::LocalCredentials(type);
}
/// Builds ALTS Credentials given ALTS specific options
std::shared_ptr<ChannelCredentials> AltsCredentials(
const AltsCredentialsOptions& options);
static inline std::shared_ptr<grpc_impl::ChannelCredentials> TlsCredentials(
const ::grpc_impl::experimental::TlsCredentialsOptions& options) {
return ::grpc_impl::experimental::TlsCredentials(options);
}
/// Builds Local Credentials.
std::shared_ptr<ChannelCredentials> LocalCredentials(
grpc_local_connect_type type);
/// Builds TLS Credentials given TLS options.
std::shared_ptr<ChannelCredentials> TlsCredentials(
const TlsCredentialsOptions& options);
} // namespace experimental
} // namespace grpc

@ -1,356 +0,0 @@
/*
*
* Copyright 2015 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.
*
*/
#ifndef GRPCPP_SECURITY_CREDENTIALS_IMPL_H
#define GRPCPP_SECURITY_CREDENTIALS_IMPL_H
#include <map>
#include <memory>
#include <vector>
#include <grpc/grpc_security_constants.h>
#include <grpcpp/channel_impl.h>
#include <grpcpp/impl/codegen/client_interceptor.h>
#include <grpcpp/impl/codegen/grpc_library.h>
#include <grpcpp/security/auth_context.h>
#include <grpcpp/security/tls_credentials_options.h>
#include <grpcpp/support/channel_arguments_impl.h>
#include <grpcpp/support/status.h>
#include <grpcpp/support/string_ref.h>
struct grpc_call;
namespace grpc_impl {
class ChannelCredentials;
class CallCredentials;
class SecureCallCredentials;
class SecureChannelCredentials;
std::shared_ptr<Channel> CreateCustomChannelImpl(
const std::string& target, const std::shared_ptr<ChannelCredentials>& creds,
const ChannelArguments& args);
namespace experimental {
std::shared_ptr<Channel> CreateCustomChannelWithInterceptors(
const std::string& target, const std::shared_ptr<ChannelCredentials>& creds,
const ChannelArguments& args,
std::vector<
std::unique_ptr<grpc::experimental::ClientInterceptorFactoryInterface>>
interceptor_creators);
}
/// A channel credentials object encapsulates all the state needed by a client
/// to authenticate with a server for a given channel.
/// It can make various assertions, e.g., about the client’s identity, role
/// for all the calls on that channel.
///
/// \see https://grpc.io/docs/guides/auth
class ChannelCredentials : private grpc::GrpcLibraryCodegen {
public:
ChannelCredentials();
~ChannelCredentials();
protected:
friend std::shared_ptr<ChannelCredentials> CompositeChannelCredentials(
const std::shared_ptr<ChannelCredentials>& channel_creds,
const std::shared_ptr<CallCredentials>& call_creds);
virtual SecureChannelCredentials* AsSecureCredentials() = 0;
private:
friend std::shared_ptr<Channel> CreateCustomChannelImpl(
const std::string& target,
const std::shared_ptr<ChannelCredentials>& creds,
const ChannelArguments& args);
friend std::shared_ptr<Channel>
grpc_impl::experimental::CreateCustomChannelWithInterceptors(
const std::string& target,
const std::shared_ptr<ChannelCredentials>& creds,
const ChannelArguments& args,
std::vector<std::unique_ptr<
grpc::experimental::ClientInterceptorFactoryInterface>>
interceptor_creators);
virtual std::shared_ptr<Channel> CreateChannelImpl(
const std::string& target, const ChannelArguments& args) = 0;
// This function should have been a pure virtual function, but it is
// implemented as a virtual function so that it does not break API.
virtual std::shared_ptr<Channel> CreateChannelWithInterceptors(
const std::string& /*target*/, const ChannelArguments& /*args*/,
std::vector<std::unique_ptr<
grpc::experimental::ClientInterceptorFactoryInterface>>
/*interceptor_creators*/) {
return nullptr;
}
};
/// A call credentials object encapsulates the state needed by a client to
/// authenticate with a server for a given call on a channel.
///
/// \see https://grpc.io/docs/guides/auth
class CallCredentials : private grpc::GrpcLibraryCodegen {
public:
CallCredentials();
~CallCredentials();
/// Apply this instance's credentials to \a call.
virtual bool ApplyToCall(grpc_call* call) = 0;
virtual std::string DebugString() {
return "CallCredentials did not provide a debug string";
}
protected:
friend std::shared_ptr<ChannelCredentials> CompositeChannelCredentials(
const std::shared_ptr<ChannelCredentials>& channel_creds,
const std::shared_ptr<CallCredentials>& call_creds);
friend std::shared_ptr<CallCredentials> CompositeCallCredentials(
const std::shared_ptr<CallCredentials>& creds1,
const std::shared_ptr<CallCredentials>& creds2);
virtual SecureCallCredentials* AsSecureCredentials() = 0;
};
/// Options used to build SslCredentials.
struct SslCredentialsOptions {
/// The buffer containing the PEM encoding of the server root certificates. If
/// this parameter is empty, the default roots will be used. The default
/// roots can be overridden using the \a GRPC_DEFAULT_SSL_ROOTS_FILE_PATH
/// environment variable pointing to a file on the file system containing the
/// roots.
std::string pem_root_certs;
/// The buffer containing the PEM encoding of the client's private key. This
/// parameter can be empty if the client does not have a private key.
std::string pem_private_key;
/// The buffer containing the PEM encoding of the client's certificate chain.
/// This parameter can be empty if the client does not have a certificate
/// chain.
std::string pem_cert_chain;
};
// Factories for building different types of Credentials The functions may
// return empty shared_ptr when credentials cannot be created. If a
// Credentials pointer is returned, it can still be invalid when used to create
// a channel. A lame channel will be created then and all rpcs will fail on it.
/// Builds credentials with reasonable defaults.
///
/// \warning Only use these credentials when connecting to a Google endpoint.
/// Using these credentials to connect to any other service may result in this
/// service being able to impersonate your client for requests to Google
/// services.
std::shared_ptr<ChannelCredentials> GoogleDefaultCredentials();
/// Builds SSL Credentials given SSL specific options
std::shared_ptr<ChannelCredentials> SslCredentials(
const SslCredentialsOptions& options);
/// Builds credentials for use when running in GCE
///
/// \warning Only use these credentials when connecting to a Google endpoint.
/// Using these credentials to connect to any other service may result in this
/// service being able to impersonate your client for requests to Google
/// services.
std::shared_ptr<CallCredentials> GoogleComputeEngineCredentials();
constexpr long kMaxAuthTokenLifetimeSecs = 3600;
/// Builds Service Account JWT Access credentials.
/// json_key is the JSON key string containing the client's private key.
/// token_lifetime_seconds is the lifetime in seconds of each Json Web Token
/// (JWT) created with this credentials. It should not exceed
/// \a kMaxAuthTokenLifetimeSecs or will be cropped to this value.
std::shared_ptr<CallCredentials> ServiceAccountJWTAccessCredentials(
const std::string& json_key,
long token_lifetime_seconds = grpc_impl::kMaxAuthTokenLifetimeSecs);
/// Builds refresh token credentials.
/// json_refresh_token is the JSON string containing the refresh token along
/// with a client_id and client_secret.
///
/// \warning Only use these credentials when connecting to a Google endpoint.
/// Using these credentials to connect to any other service may result in this
/// service being able to impersonate your client for requests to Google
/// services.
std::shared_ptr<CallCredentials> GoogleRefreshTokenCredentials(
const std::string& json_refresh_token);
/// Builds access token credentials.
/// access_token is an oauth2 access token that was fetched using an out of band
/// mechanism.
///
/// \warning Only use these credentials when connecting to a Google endpoint.
/// Using these credentials to connect to any other service may result in this
/// service being able to impersonate your client for requests to Google
/// services.
std::shared_ptr<CallCredentials> AccessTokenCredentials(
const std::string& access_token);
/// Builds IAM credentials.
///
/// \warning Only use these credentials when connecting to a Google endpoint.
/// Using these credentials to connect to any other service may result in this
/// service being able to impersonate your client for requests to Google
/// services.
std::shared_ptr<CallCredentials> GoogleIAMCredentials(
const std::string& authorization_token,
const std::string& authority_selector);
/// Combines a channel credentials and a call credentials into a composite
/// channel credentials.
std::shared_ptr<ChannelCredentials> CompositeChannelCredentials(
const std::shared_ptr<ChannelCredentials>& channel_creds,
const std::shared_ptr<CallCredentials>& call_creds);
/// Combines two call credentials objects into a composite call credentials.
std::shared_ptr<CallCredentials> CompositeCallCredentials(
const std::shared_ptr<CallCredentials>& creds1,
const std::shared_ptr<CallCredentials>& creds2);
/// Credentials for an unencrypted, unauthenticated channel
std::shared_ptr<ChannelCredentials> InsecureChannelCredentials();
/// User defined metadata credentials.
class MetadataCredentialsPlugin {
public:
virtual ~MetadataCredentialsPlugin() {}
/// If this method returns true, the Process function will be scheduled in
/// a different thread from the one processing the call.
virtual bool IsBlocking() const { return true; }
/// Type of credentials this plugin is implementing.
virtual const char* GetType() const { return ""; }
/// Gets the auth metatada produced by this plugin.
/// The fully qualified method name is:
/// service_url + "/" + method_name.
/// The channel_auth_context contains (among other things), the identity of
/// the server.
virtual grpc::Status GetMetadata(
grpc::string_ref service_url, grpc::string_ref method_name,
const grpc::AuthContext& channel_auth_context,
std::multimap<std::string, std::string>* metadata) = 0;
virtual std::string DebugString() {
return "MetadataCredentialsPlugin did not provide a debug string";
}
};
std::shared_ptr<CallCredentials> MetadataCredentialsFromPlugin(
std::unique_ptr<MetadataCredentialsPlugin> plugin);
namespace experimental {
/// Options for creating STS Oauth Token Exchange credentials following the IETF
/// draft https://tools.ietf.org/html/draft-ietf-oauth-token-exchange-16.
/// Optional fields may be set to empty string. It is the responsibility of the
/// caller to ensure that the subject and actor tokens are refreshed on disk at
/// the specified paths.
struct StsCredentialsOptions {
std::string token_exchange_service_uri; // Required.
std::string resource; // Optional.
std::string audience; // Optional.
std::string scope; // Optional.
std::string requested_token_type; // Optional.
std::string subject_token_path; // Required.
std::string subject_token_type; // Required.
std::string actor_token_path; // Optional.
std::string actor_token_type; // Optional.
};
/// Creates STS Options from a JSON string. The JSON schema is as follows:
/// {
/// "title": "STS Credentials Config",
/// "type": "object",
/// "required": ["token_exchange_service_uri", "subject_token_path",
/// "subject_token_type"],
/// "properties": {
/// "token_exchange_service_uri": {
/// "type": "string"
/// },
/// "resource": {
/// "type": "string"
/// },
/// "audience": {
/// "type": "string"
/// },
/// "scope": {
/// "type": "string"
/// },
/// "requested_token_type": {
/// "type": "string"
/// },
/// "subject_token_path": {
/// "type": "string"
/// },
/// "subject_token_type": {
/// "type": "string"
/// },
/// "actor_token_path" : {
/// "type": "string"
/// },
/// "actor_token_type": {
/// "type": "string"
/// }
/// }
/// }
grpc::Status StsCredentialsOptionsFromJson(const std::string& json_string,
StsCredentialsOptions* options);
/// Creates STS credentials options from the $STS_CREDENTIALS environment
/// variable. This environment variable points to the path of a JSON file
/// comforming to the schema described above.
grpc::Status StsCredentialsOptionsFromEnv(StsCredentialsOptions* options);
std::shared_ptr<CallCredentials> StsCredentials(
const StsCredentialsOptions& options);
std::shared_ptr<CallCredentials> MetadataCredentialsFromPlugin(
std::unique_ptr<MetadataCredentialsPlugin> plugin,
grpc_security_level min_security_level);
/// Options used to build AltsCredentials.
struct AltsCredentialsOptions {
/// service accounts of target endpoint that will be acceptable
/// by the client. If service accounts are provided and none of them matches
/// that of the server, authentication will fail.
std::vector<std::string> target_service_accounts;
};
/// Builds ALTS Credentials given ALTS specific options
std::shared_ptr<ChannelCredentials> AltsCredentials(
const AltsCredentialsOptions& options);
/// Builds Local Credentials.
std::shared_ptr<ChannelCredentials> LocalCredentials(
grpc_local_connect_type type);
/// Builds TLS Credentials given TLS options.
std::shared_ptr<ChannelCredentials> TlsCredentials(
const TlsCredentialsOptions& options);
} // namespace experimental
} // namespace grpc_impl
#endif // GRPCPP_SECURITY_CREDENTIALS_IMPL_H

@ -23,10 +23,7 @@
namespace grpc {
static inline std::shared_ptr<grpc_impl::ChannelCredentials>
CronetChannelCredentials(void* engine) {
return ::grpc_impl::CronetChannelCredentials(engine);
}
std::shared_ptr<ChannelCredentials> CronetChannelCredentials(void* engine);
} // namespace grpc

@ -1,6 +1,6 @@
/*
*
* Copyright 2019 gRPC authors.
* Copyright 2015 gRPC authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@ -19,7 +19,15 @@
#ifndef GRPCPP_SECURITY_SERVER_CREDENTIALS_H
#define GRPCPP_SECURITY_SERVER_CREDENTIALS_H
#include <grpcpp/security/server_credentials_impl.h>
#include <memory>
#include <vector>
#include <grpc/grpc_security_constants.h>
#include <grpcpp/security/auth_metadata_processor.h>
#include <grpcpp/security/tls_credentials_options.h>
#include <grpcpp/support/config.h>
struct grpc_server;
namespace grpc_impl {
@ -27,8 +35,6 @@ class Server;
} // namespace grpc_impl
namespace grpc {
typedef ::grpc_impl::ServerCredentials ServerCredentials;
/// Options to create ServerCredentials with SSL
struct SslServerCredentialsOptions {
/// \warning Deprecated
@ -55,35 +61,54 @@ struct SslServerCredentialsOptions {
grpc_ssl_client_certificate_request_type client_certificate_request;
};
static inline std::shared_ptr<ServerCredentials> SslServerCredentials(
const SslServerCredentialsOptions& options) {
return ::grpc_impl::SslServerCredentials(options);
}
/// Wrapper around \a grpc_server_credentials, a way to authenticate a server.
class ServerCredentials {
public:
virtual ~ServerCredentials();
/// This method is not thread-safe and has to be called before the server is
/// started. The last call to this function wins.
virtual void SetAuthMetadataProcessor(
const std::shared_ptr<grpc::AuthMetadataProcessor>& processor) = 0;
private:
friend class ::grpc_impl::Server;
/// Tries to bind \a server to the given \a addr (eg, localhost:1234,
/// 192.168.1.1:31416, [::1]:27182, etc.)
///
/// \return bound port number on success, 0 on failure.
// TODO(dgq): the "port" part seems to be a misnomer.
virtual int AddPortToServer(const std::string& addr, grpc_server* server) = 0;
};
static inline std::shared_ptr<ServerCredentials> InsecureServerCredentials() {
return ::grpc_impl::InsecureServerCredentials();
}
/// Builds SSL ServerCredentials given SSL specific options
std::shared_ptr<ServerCredentials> SslServerCredentials(
const grpc::SslServerCredentialsOptions& options);
std::shared_ptr<ServerCredentials> InsecureServerCredentials();
namespace experimental {
typedef ::grpc_impl::experimental::AltsServerCredentialsOptions
AltsServerCredentialsOptions;
/// Options to create ServerCredentials with ALTS
struct AltsServerCredentialsOptions {
/// Add fields if needed.
};
/// Builds ALTS ServerCredentials given ALTS specific options
std::shared_ptr<ServerCredentials> AltsServerCredentials(
const AltsServerCredentialsOptions& options);
static inline std::shared_ptr<ServerCredentials> AltsServerCredentials(
const AltsServerCredentialsOptions& options) {
return ::grpc_impl::experimental::AltsServerCredentials(options);
}
/// Builds Local ServerCredentials.
std::shared_ptr<ServerCredentials> AltsServerCredentials(
const AltsServerCredentialsOptions& options);
static inline std::shared_ptr<ServerCredentials> LocalServerCredentials(
grpc_local_connect_type type) {
return ::grpc_impl::experimental::LocalServerCredentials(type);
}
std::shared_ptr<ServerCredentials> LocalServerCredentials(
grpc_local_connect_type type);
/// Builds TLS ServerCredentials given TLS options.
static inline std::shared_ptr<ServerCredentials> TlsServerCredentials(
const ::grpc_impl::experimental::TlsCredentialsOptions& options) {
return ::grpc_impl::experimental::TlsServerCredentials(options);
}
std::shared_ptr<ServerCredentials> TlsServerCredentials(
const experimental::TlsCredentialsOptions& options);
} // namespace experimental
} // namespace grpc

@ -1,89 +0,0 @@
/*
*
* Copyright 2015 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.
*
*/
#ifndef GRPCPP_SECURITY_SERVER_CREDENTIALS_IMPL_H
#define GRPCPP_SECURITY_SERVER_CREDENTIALS_IMPL_H
#include <memory>
#include <vector>
#include <grpc/grpc_security_constants.h>
#include <grpcpp/security/auth_metadata_processor.h>
#include <grpcpp/security/tls_credentials_options.h>
#include <grpcpp/support/config.h>
struct grpc_server;
namespace grpc {
struct SslServerCredentialsOptions;
} // namespace grpc
namespace grpc_impl {
class Server;
/// Wrapper around \a grpc_server_credentials, a way to authenticate a server.
class ServerCredentials {
public:
virtual ~ServerCredentials();
/// This method is not thread-safe and has to be called before the server is
/// started. The last call to this function wins.
virtual void SetAuthMetadataProcessor(
const std::shared_ptr<grpc::AuthMetadataProcessor>& processor) = 0;
private:
friend class ::grpc_impl::Server;
/// Tries to bind \a server to the given \a addr (eg, localhost:1234,
/// 192.168.1.1:31416, [::1]:27182, etc.)
///
/// \return bound port number on success, 0 on failure.
// TODO(dgq): the "port" part seems to be a misnomer.
virtual int AddPortToServer(const std::string& addr, grpc_server* server) = 0;
};
/// Builds SSL ServerCredentials given SSL specific options
std::shared_ptr<ServerCredentials> SslServerCredentials(
const grpc::SslServerCredentialsOptions& options);
/// Builds insecure server credentials.
std::shared_ptr<ServerCredentials> InsecureServerCredentials();
namespace experimental {
/// Options to create ServerCredentials with ALTS
struct AltsServerCredentialsOptions {
/// Add fields if needed.
};
/// Builds ALTS ServerCredentials given ALTS specific options
std::shared_ptr<ServerCredentials> AltsServerCredentials(
const AltsServerCredentialsOptions& options);
/// Builds Local ServerCredentials.
std::shared_ptr<ServerCredentials> LocalServerCredentials(
grpc_local_connect_type type);
/// Builds TLS ServerCredentials given TLS options.
std::shared_ptr<ServerCredentials> TlsServerCredentials(
const TlsCredentialsOptions& options);
} // namespace experimental
} // namespace grpc_impl
#endif // GRPCPP_SECURITY_SERVER_CREDENTIALS_IMPL_H

@ -36,7 +36,7 @@ typedef struct grpc_tls_server_authorization_check_config
grpc_tls_server_authorization_check_config;
typedef struct grpc_tls_credentials_options grpc_tls_credentials_options;
namespace grpc_impl {
namespace grpc {
namespace experimental {
/** TLS key materials config, wrapper for grpc_tls_key_materials_config. It is
@ -340,6 +340,6 @@ class TlsCredentialsOptions {
};
} // namespace experimental
} // namespace grpc_impl
} // namespace grpc
#endif // GRPCPP_SECURITY_TLS_CREDENTIALS_OPTIONS_H

@ -43,12 +43,12 @@ namespace grpc_impl {
class CompletionQueue;
class Server;
class ServerCompletionQueue;
class ServerCredentials;
} // namespace grpc_impl
namespace grpc {
class AsyncGenericService;
class ServerCredentials;
class Service;
namespace testing {
class ServerBuilderPluginTest;
@ -130,7 +130,7 @@ class ServerBuilder {
/// does not modify this pointer.
ServerBuilder& AddListeningPort(
const std::string& addr_uri,
std::shared_ptr<grpc_impl::ServerCredentials> creds,
std::shared_ptr<grpc::ServerCredentials> creds,
int* selected_port = nullptr);
/// Add a completion queue for handling asynchronous services.
@ -312,7 +312,7 @@ class ServerBuilder {
/// Experimental, to be deprecated
struct Port {
std::string addr;
std::shared_ptr<grpc_impl::ServerCredentials> creds;
std::shared_ptr<ServerCredentials> creds;
int* selected_port;
};
@ -380,7 +380,7 @@ class ServerBuilder {
/// List of completion queues added via \a AddCompletionQueue method.
std::vector<grpc_impl::ServerCompletionQueue*> cqs_;
std::shared_ptr<grpc_impl::ServerCredentials> creds_;
std::shared_ptr<grpc::ServerCredentials> creds_;
std::vector<std::unique_ptr<grpc::ServerBuilderPlugin>> plugins_;
grpc_resource_quota* resource_quota_;
grpc::AsyncGenericService* generic_service_{nullptr};

@ -43,13 +43,13 @@ namespace grpc_impl {
class CompletionQueue;
class Server;
class ServerCompletionQueue;
class ServerCredentials;
} // namespace grpc_impl
namespace grpc {
class AsyncGenericService;
class ResourceQuota;
class ServerCredentials;
class Service;
namespace testing {
class ServerBuilderPluginTest;
@ -134,7 +134,7 @@ class ServerBuilder {
/// does not modify this pointer.
ServerBuilder& AddListeningPort(
const std::string& addr_uri,
std::shared_ptr<grpc_impl::ServerCredentials> creds,
std::shared_ptr<grpc::ServerCredentials> creds,
int* selected_port = nullptr);
/// Add a completion queue for handling asynchronous services.
@ -317,7 +317,7 @@ class ServerBuilder {
/// Experimental, to be deprecated
struct Port {
std::string addr;
std::shared_ptr<grpc_impl::ServerCredentials> creds;
std::shared_ptr<grpc::ServerCredentials> creds;
int* selected_port;
};
@ -385,7 +385,7 @@ class ServerBuilder {
/// List of completion queues added via \a AddCompletionQueue method.
std::vector<grpc_impl::ServerCompletionQueue*> cqs_;
std::shared_ptr<grpc_impl::ServerCredentials> creds_;
std::shared_ptr<grpc::ServerCredentials> creds_;
std::vector<std::unique_ptr<grpc::ServerBuilderPlugin>> plugins_;
grpc_resource_quota* resource_quota_;
grpc::AsyncGenericService* generic_service_{nullptr};

@ -28,6 +28,7 @@
#include <grpcpp/support/config.h>
namespace grpc {
class SecureChannelCredentials;
namespace testing {
class ChannelArgumentsTest;
} // namespace testing
@ -35,8 +36,6 @@ class ChannelArgumentsTest;
namespace grpc_impl {
class SecureChannelCredentials;
/// Options for channel creation. The user can use generic setters to pass
/// key value pairs down to C channel creation code. For gRPC related options,
/// concrete setters are provided.
@ -126,7 +125,7 @@ class ChannelArguments {
}
private:
friend class grpc_impl::SecureChannelCredentials;
friend class grpc::SecureChannelCredentials;
friend class grpc::testing::ChannelArgumentsTest;
/// Default pointer argument operations.

@ -19,7 +19,7 @@
#ifndef GRPCPP_SUPPORT_ERROR_DETAILS_H
#define GRPCPP_SUPPORT_ERROR_DETAILS_H
#include <grpcpp/support/error_details_impl.h>
#include <grpcpp/support/status.h>
namespace google {
namespace rpc {
@ -29,15 +29,19 @@ class Status;
namespace grpc {
static inline Status ExtractErrorDetails(const Status& from,
::google::rpc::Status* to) {
return ::grpc_impl::ExtractErrorDetails(from, to);
}
static inline Status SetErrorDetails(const ::google::rpc::Status& from,
Status* to) {
return ::grpc_impl::SetErrorDetails(from, to);
}
/// Map a \a grpc::Status to a \a google::rpc::Status.
/// The given \a to object will be cleared.
/// On success, returns status with OK.
/// Returns status with \a INVALID_ARGUMENT, if failed to deserialize.
/// Returns status with \a FAILED_PRECONDITION, if \a to is nullptr.
grpc::Status ExtractErrorDetails(const grpc::Status& from,
::google::rpc::Status* to);
/// Map \a google::rpc::Status to a \a grpc::Status.
/// Returns OK on success.
/// Returns status with \a FAILED_PRECONDITION if \a to is nullptr.
grpc::Status SetErrorDetails(const ::google::rpc::Status& from,
grpc::Status* to);
} // namespace grpc

@ -1,48 +0,0 @@
/*
*
* Copyright 2017 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.
*
*/
#ifndef GRPCPP_SUPPORT_ERROR_DETAILS_IMPL_H
#define GRPCPP_SUPPORT_ERROR_DETAILS_IMPL_H
#include <grpcpp/support/status.h>
namespace google {
namespace rpc {
class Status;
} // namespace rpc
} // namespace google
namespace grpc_impl {
/// Map a \a grpc::Status to a \a google::rpc::Status.
/// The given \a to object will be cleared.
/// On success, returns status with OK.
/// Returns status with \a INVALID_ARGUMENT, if failed to deserialize.
/// Returns status with \a FAILED_PRECONDITION, if \a to is nullptr.
grpc::Status ExtractErrorDetails(const grpc::Status& from,
::google::rpc::Status* to);
/// Map \a google::rpc::Status to a \a grpc::Status.
/// Returns OK on success.
/// Returns status with \a FAILED_PRECONDITION if \a to is nullptr.
grpc::Status SetErrorDetails(const ::google::rpc::Status& from,
grpc::Status* to);
} // namespace grpc_impl
#endif // GRPCPP_SUPPORT_ERROR_DETAILS_IMPL_H

@ -13,8 +13,8 @@
<date>2019-09-24</date>
<time>16:06:07</time>
<version>
<release>1.31.0dev</release>
<api>1.31.0dev</api>
<release>1.32.0dev</release>
<api>1.32.0dev</api>
</version>
<stability>
<release>beta</release>
@ -22,7 +22,7 @@
</stability>
<license>Apache 2.0</license>
<notes>
- gRPC Core 1.31.0 update
- gRPC Core 1.32.0 update
</notes>
<contents>
<dir baseinstalldir="/" name="/">
@ -287,110 +287,118 @@
<file baseinstalldir="/" name="src/core/ext/upb-generated/envoy/annotations/deprecation.upb.h" role="src" />
<file baseinstalldir="/" name="src/core/ext/upb-generated/envoy/annotations/resource.upb.c" role="src" />
<file baseinstalldir="/" name="src/core/ext/upb-generated/envoy/annotations/resource.upb.h" role="src" />
<file baseinstalldir="/" name="src/core/ext/upb-generated/envoy/api/v2/auth/cert.upb.c" role="src" />
<file baseinstalldir="/" name="src/core/ext/upb-generated/envoy/api/v2/auth/cert.upb.h" role="src" />
<file baseinstalldir="/" name="src/core/ext/upb-generated/envoy/api/v2/auth/common.upb.c" role="src" />
<file baseinstalldir="/" name="src/core/ext/upb-generated/envoy/api/v2/auth/common.upb.h" role="src" />
<file baseinstalldir="/" name="src/core/ext/upb-generated/envoy/api/v2/auth/secret.upb.c" role="src" />
<file baseinstalldir="/" name="src/core/ext/upb-generated/envoy/api/v2/auth/secret.upb.h" role="src" />
<file baseinstalldir="/" name="src/core/ext/upb-generated/envoy/api/v2/auth/tls.upb.c" role="src" />
<file baseinstalldir="/" name="src/core/ext/upb-generated/envoy/api/v2/auth/tls.upb.h" role="src" />
<file baseinstalldir="/" name="src/core/ext/upb-generated/envoy/api/v2/cds.upb.c" role="src" />
<file baseinstalldir="/" name="src/core/ext/upb-generated/envoy/api/v2/cds.upb.h" role="src" />
<file baseinstalldir="/" name="src/core/ext/upb-generated/envoy/api/v2/cluster.upb.c" role="src" />
<file baseinstalldir="/" name="src/core/ext/upb-generated/envoy/api/v2/cluster.upb.h" role="src" />
<file baseinstalldir="/" name="src/core/ext/upb-generated/envoy/api/v2/cluster/circuit_breaker.upb.c" role="src" />
<file baseinstalldir="/" name="src/core/ext/upb-generated/envoy/api/v2/cluster/circuit_breaker.upb.h" role="src" />
<file baseinstalldir="/" name="src/core/ext/upb-generated/envoy/api/v2/cluster/filter.upb.c" role="src" />
<file baseinstalldir="/" name="src/core/ext/upb-generated/envoy/api/v2/cluster/filter.upb.h" role="src" />
<file baseinstalldir="/" name="src/core/ext/upb-generated/envoy/api/v2/cluster/outlier_detection.upb.c" role="src" />
<file baseinstalldir="/" name="src/core/ext/upb-generated/envoy/api/v2/cluster/outlier_detection.upb.h" role="src" />
<file baseinstalldir="/" name="src/core/ext/upb-generated/envoy/api/v2/core/address.upb.c" role="src" />
<file baseinstalldir="/" name="src/core/ext/upb-generated/envoy/api/v2/core/address.upb.h" role="src" />
<file baseinstalldir="/" name="src/core/ext/upb-generated/envoy/api/v2/core/backoff.upb.c" role="src" />
<file baseinstalldir="/" name="src/core/ext/upb-generated/envoy/api/v2/core/backoff.upb.h" role="src" />
<file baseinstalldir="/" name="src/core/ext/upb-generated/envoy/api/v2/core/base.upb.c" role="src" />
<file baseinstalldir="/" name="src/core/ext/upb-generated/envoy/api/v2/core/base.upb.h" role="src" />
<file baseinstalldir="/" name="src/core/ext/upb-generated/envoy/api/v2/core/config_source.upb.c" role="src" />
<file baseinstalldir="/" name="src/core/ext/upb-generated/envoy/api/v2/core/config_source.upb.h" role="src" />
<file baseinstalldir="/" name="src/core/ext/upb-generated/envoy/api/v2/core/event_service_config.upb.c" role="src" />
<file baseinstalldir="/" name="src/core/ext/upb-generated/envoy/api/v2/core/event_service_config.upb.h" role="src" />
<file baseinstalldir="/" name="src/core/ext/upb-generated/envoy/api/v2/core/grpc_service.upb.c" role="src" />
<file baseinstalldir="/" name="src/core/ext/upb-generated/envoy/api/v2/core/grpc_service.upb.h" role="src" />
<file baseinstalldir="/" name="src/core/ext/upb-generated/envoy/api/v2/core/health_check.upb.c" role="src" />
<file baseinstalldir="/" name="src/core/ext/upb-generated/envoy/api/v2/core/health_check.upb.h" role="src" />
<file baseinstalldir="/" name="src/core/ext/upb-generated/envoy/api/v2/core/http_uri.upb.c" role="src" />
<file baseinstalldir="/" name="src/core/ext/upb-generated/envoy/api/v2/core/http_uri.upb.h" role="src" />
<file baseinstalldir="/" name="src/core/ext/upb-generated/envoy/api/v2/core/protocol.upb.c" role="src" />
<file baseinstalldir="/" name="src/core/ext/upb-generated/envoy/api/v2/core/protocol.upb.h" role="src" />
<file baseinstalldir="/" name="src/core/ext/upb-generated/envoy/api/v2/core/socket_option.upb.c" role="src" />
<file baseinstalldir="/" name="src/core/ext/upb-generated/envoy/api/v2/core/socket_option.upb.h" role="src" />
<file baseinstalldir="/" name="src/core/ext/upb-generated/envoy/api/v2/discovery.upb.c" role="src" />
<file baseinstalldir="/" name="src/core/ext/upb-generated/envoy/api/v2/discovery.upb.h" role="src" />
<file baseinstalldir="/" name="src/core/ext/upb-generated/envoy/api/v2/eds.upb.c" role="src" />
<file baseinstalldir="/" name="src/core/ext/upb-generated/envoy/api/v2/eds.upb.h" role="src" />
<file baseinstalldir="/" name="src/core/ext/upb-generated/envoy/api/v2/endpoint.upb.c" role="src" />
<file baseinstalldir="/" name="src/core/ext/upb-generated/envoy/api/v2/endpoint.upb.h" role="src" />
<file baseinstalldir="/" name="src/core/ext/upb-generated/envoy/api/v2/endpoint/endpoint.upb.c" role="src" />
<file baseinstalldir="/" name="src/core/ext/upb-generated/envoy/api/v2/endpoint/endpoint.upb.h" role="src" />
<file baseinstalldir="/" name="src/core/ext/upb-generated/envoy/api/v2/endpoint/endpoint_components.upb.c" role="src" />
<file baseinstalldir="/" name="src/core/ext/upb-generated/envoy/api/v2/endpoint/endpoint_components.upb.h" role="src" />
<file baseinstalldir="/" name="src/core/ext/upb-generated/envoy/api/v2/endpoint/load_report.upb.c" role="src" />
<file baseinstalldir="/" name="src/core/ext/upb-generated/envoy/api/v2/endpoint/load_report.upb.h" role="src" />
<file baseinstalldir="/" name="src/core/ext/upb-generated/envoy/api/v2/lds.upb.c" role="src" />
<file baseinstalldir="/" name="src/core/ext/upb-generated/envoy/api/v2/lds.upb.h" role="src" />
<file baseinstalldir="/" name="src/core/ext/upb-generated/envoy/api/v2/listener.upb.c" role="src" />
<file baseinstalldir="/" name="src/core/ext/upb-generated/envoy/api/v2/listener.upb.h" role="src" />
<file baseinstalldir="/" name="src/core/ext/upb-generated/envoy/api/v2/listener/listener.upb.c" role="src" />
<file baseinstalldir="/" name="src/core/ext/upb-generated/envoy/api/v2/listener/listener.upb.h" role="src" />
<file baseinstalldir="/" name="src/core/ext/upb-generated/envoy/api/v2/listener/listener_components.upb.c" role="src" />
<file baseinstalldir="/" name="src/core/ext/upb-generated/envoy/api/v2/listener/listener_components.upb.h" role="src" />
<file baseinstalldir="/" name="src/core/ext/upb-generated/envoy/api/v2/listener/udp_listener_config.upb.c" role="src" />
<file baseinstalldir="/" name="src/core/ext/upb-generated/envoy/api/v2/listener/udp_listener_config.upb.h" role="src" />
<file baseinstalldir="/" name="src/core/ext/upb-generated/envoy/api/v2/rds.upb.c" role="src" />
<file baseinstalldir="/" name="src/core/ext/upb-generated/envoy/api/v2/rds.upb.h" role="src" />
<file baseinstalldir="/" name="src/core/ext/upb-generated/envoy/api/v2/route.upb.c" role="src" />
<file baseinstalldir="/" name="src/core/ext/upb-generated/envoy/api/v2/route.upb.h" role="src" />
<file baseinstalldir="/" name="src/core/ext/upb-generated/envoy/api/v2/route/route.upb.c" role="src" />
<file baseinstalldir="/" name="src/core/ext/upb-generated/envoy/api/v2/route/route.upb.h" role="src" />
<file baseinstalldir="/" name="src/core/ext/upb-generated/envoy/api/v2/route/route_components.upb.c" role="src" />
<file baseinstalldir="/" name="src/core/ext/upb-generated/envoy/api/v2/route/route_components.upb.h" role="src" />
<file baseinstalldir="/" name="src/core/ext/upb-generated/envoy/api/v2/scoped_route.upb.c" role="src" />
<file baseinstalldir="/" name="src/core/ext/upb-generated/envoy/api/v2/scoped_route.upb.h" role="src" />
<file baseinstalldir="/" name="src/core/ext/upb-generated/envoy/api/v2/srds.upb.c" role="src" />
<file baseinstalldir="/" name="src/core/ext/upb-generated/envoy/api/v2/srds.upb.h" role="src" />
<file baseinstalldir="/" name="src/core/ext/upb-generated/envoy/config/filter/accesslog/v2/accesslog.upb.c" role="src" />
<file baseinstalldir="/" name="src/core/ext/upb-generated/envoy/config/filter/accesslog/v2/accesslog.upb.h" role="src" />
<file baseinstalldir="/" name="src/core/ext/upb-generated/envoy/config/filter/network/http_connection_manager/v2/http_connection_manager.upb.c" role="src" />
<file baseinstalldir="/" name="src/core/ext/upb-generated/envoy/config/filter/network/http_connection_manager/v2/http_connection_manager.upb.h" role="src" />
<file baseinstalldir="/" name="src/core/ext/upb-generated/envoy/config/listener/v2/api_listener.upb.c" role="src" />
<file baseinstalldir="/" name="src/core/ext/upb-generated/envoy/config/listener/v2/api_listener.upb.h" role="src" />
<file baseinstalldir="/" name="src/core/ext/upb-generated/envoy/config/trace/v2/http_tracer.upb.c" role="src" />
<file baseinstalldir="/" name="src/core/ext/upb-generated/envoy/config/trace/v2/http_tracer.upb.h" role="src" />
<file baseinstalldir="/" name="src/core/ext/upb-generated/envoy/service/discovery/v2/ads.upb.c" role="src" />
<file baseinstalldir="/" name="src/core/ext/upb-generated/envoy/service/discovery/v2/ads.upb.h" role="src" />
<file baseinstalldir="/" name="src/core/ext/upb-generated/envoy/service/load_stats/v2/lrs.upb.c" role="src" />
<file baseinstalldir="/" name="src/core/ext/upb-generated/envoy/service/load_stats/v2/lrs.upb.h" role="src" />
<file baseinstalldir="/" name="src/core/ext/upb-generated/envoy/type/http.upb.c" role="src" />
<file baseinstalldir="/" name="src/core/ext/upb-generated/envoy/type/http.upb.h" role="src" />
<file baseinstalldir="/" name="src/core/ext/upb-generated/envoy/type/matcher/regex.upb.c" role="src" />
<file baseinstalldir="/" name="src/core/ext/upb-generated/envoy/type/matcher/regex.upb.h" role="src" />
<file baseinstalldir="/" name="src/core/ext/upb-generated/envoy/type/matcher/string.upb.c" role="src" />
<file baseinstalldir="/" name="src/core/ext/upb-generated/envoy/type/matcher/string.upb.h" role="src" />
<file baseinstalldir="/" name="src/core/ext/upb-generated/envoy/type/metadata/v2/metadata.upb.c" role="src" />
<file baseinstalldir="/" name="src/core/ext/upb-generated/envoy/type/metadata/v2/metadata.upb.h" role="src" />
<file baseinstalldir="/" name="src/core/ext/upb-generated/envoy/type/percent.upb.c" role="src" />
<file baseinstalldir="/" name="src/core/ext/upb-generated/envoy/type/percent.upb.h" role="src" />
<file baseinstalldir="/" name="src/core/ext/upb-generated/envoy/type/range.upb.c" role="src" />
<file baseinstalldir="/" name="src/core/ext/upb-generated/envoy/type/range.upb.h" role="src" />
<file baseinstalldir="/" name="src/core/ext/upb-generated/envoy/type/semantic_version.upb.c" role="src" />
<file baseinstalldir="/" name="src/core/ext/upb-generated/envoy/type/semantic_version.upb.h" role="src" />
<file baseinstalldir="/" name="src/core/ext/upb-generated/envoy/type/tracing/v2/custom_tag.upb.c" role="src" />
<file baseinstalldir="/" name="src/core/ext/upb-generated/envoy/type/tracing/v2/custom_tag.upb.h" role="src" />
<file baseinstalldir="/" name="src/core/ext/upb-generated/envoy/config/accesslog/v3/accesslog.upb.c" role="src" />
<file baseinstalldir="/" name="src/core/ext/upb-generated/envoy/config/accesslog/v3/accesslog.upb.h" role="src" />
<file baseinstalldir="/" name="src/core/ext/upb-generated/envoy/config/cluster/v3/circuit_breaker.upb.c" role="src" />
<file baseinstalldir="/" name="src/core/ext/upb-generated/envoy/config/cluster/v3/circuit_breaker.upb.h" role="src" />
<file baseinstalldir="/" name="src/core/ext/upb-generated/envoy/config/cluster/v3/cluster.upb.c" role="src" />
<file baseinstalldir="/" name="src/core/ext/upb-generated/envoy/config/cluster/v3/cluster.upb.h" role="src" />
<file baseinstalldir="/" name="src/core/ext/upb-generated/envoy/config/cluster/v3/filter.upb.c" role="src" />
<file baseinstalldir="/" name="src/core/ext/upb-generated/envoy/config/cluster/v3/filter.upb.h" role="src" />
<file baseinstalldir="/" name="src/core/ext/upb-generated/envoy/config/cluster/v3/outlier_detection.upb.c" role="src" />
<file baseinstalldir="/" name="src/core/ext/upb-generated/envoy/config/cluster/v3/outlier_detection.upb.h" role="src" />
<file baseinstalldir="/" name="src/core/ext/upb-generated/envoy/config/core/v3/address.upb.c" role="src" />
<file baseinstalldir="/" name="src/core/ext/upb-generated/envoy/config/core/v3/address.upb.h" role="src" />
<file baseinstalldir="/" name="src/core/ext/upb-generated/envoy/config/core/v3/backoff.upb.c" role="src" />
<file baseinstalldir="/" name="src/core/ext/upb-generated/envoy/config/core/v3/backoff.upb.h" role="src" />
<file baseinstalldir="/" name="src/core/ext/upb-generated/envoy/config/core/v3/base.upb.c" role="src" />
<file baseinstalldir="/" name="src/core/ext/upb-generated/envoy/config/core/v3/base.upb.h" role="src" />
<file baseinstalldir="/" name="src/core/ext/upb-generated/envoy/config/core/v3/config_source.upb.c" role="src" />
<file baseinstalldir="/" name="src/core/ext/upb-generated/envoy/config/core/v3/config_source.upb.h" role="src" />
<file baseinstalldir="/" name="src/core/ext/upb-generated/envoy/config/core/v3/event_service_config.upb.c" role="src" />
<file baseinstalldir="/" name="src/core/ext/upb-generated/envoy/config/core/v3/event_service_config.upb.h" role="src" />
<file baseinstalldir="/" name="src/core/ext/upb-generated/envoy/config/core/v3/grpc_service.upb.c" role="src" />
<file baseinstalldir="/" name="src/core/ext/upb-generated/envoy/config/core/v3/grpc_service.upb.h" role="src" />
<file baseinstalldir="/" name="src/core/ext/upb-generated/envoy/config/core/v3/health_check.upb.c" role="src" />
<file baseinstalldir="/" name="src/core/ext/upb-generated/envoy/config/core/v3/health_check.upb.h" role="src" />
<file baseinstalldir="/" name="src/core/ext/upb-generated/envoy/config/core/v3/http_uri.upb.c" role="src" />
<file baseinstalldir="/" name="src/core/ext/upb-generated/envoy/config/core/v3/http_uri.upb.h" role="src" />
<file baseinstalldir="/" name="src/core/ext/upb-generated/envoy/config/core/v3/protocol.upb.c" role="src" />
<file baseinstalldir="/" name="src/core/ext/upb-generated/envoy/config/core/v3/protocol.upb.h" role="src" />
<file baseinstalldir="/" name="src/core/ext/upb-generated/envoy/config/core/v3/proxy_protocol.upb.c" role="src" />
<file baseinstalldir="/" name="src/core/ext/upb-generated/envoy/config/core/v3/proxy_protocol.upb.h" role="src" />
<file baseinstalldir="/" name="src/core/ext/upb-generated/envoy/config/core/v3/socket_option.upb.c" role="src" />
<file baseinstalldir="/" name="src/core/ext/upb-generated/envoy/config/core/v3/socket_option.upb.h" role="src" />
<file baseinstalldir="/" name="src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint.upb.c" role="src" />
<file baseinstalldir="/" name="src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint.upb.h" role="src" />
<file baseinstalldir="/" name="src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint_components.upb.c" role="src" />
<file baseinstalldir="/" name="src/core/ext/upb-generated/envoy/config/endpoint/v3/endpoint_components.upb.h" role="src" />
<file baseinstalldir="/" name="src/core/ext/upb-generated/envoy/config/endpoint/v3/load_report.upb.c" role="src" />
<file baseinstalldir="/" name="src/core/ext/upb-generated/envoy/config/endpoint/v3/load_report.upb.h" role="src" />
<file baseinstalldir="/" name="src/core/ext/upb-generated/envoy/config/listener/v3/api_listener.upb.c" role="src" />
<file baseinstalldir="/" name="src/core/ext/upb-generated/envoy/config/listener/v3/api_listener.upb.h" role="src" />
<file baseinstalldir="/" name="src/core/ext/upb-generated/envoy/config/listener/v3/listener.upb.c" role="src" />
<file baseinstalldir="/" name="src/core/ext/upb-generated/envoy/config/listener/v3/listener.upb.h" role="src" />
<file baseinstalldir="/" name="src/core/ext/upb-generated/envoy/config/listener/v3/listener_components.upb.c" role="src" />
<file baseinstalldir="/" name="src/core/ext/upb-generated/envoy/config/listener/v3/listener_components.upb.h" role="src" />
<file baseinstalldir="/" name="src/core/ext/upb-generated/envoy/config/listener/v3/udp_listener_config.upb.c" role="src" />
<file baseinstalldir="/" name="src/core/ext/upb-generated/envoy/config/listener/v3/udp_listener_config.upb.h" role="src" />
<file baseinstalldir="/" name="src/core/ext/upb-generated/envoy/config/rbac/v3/rbac.upb.c" role="src" />
<file baseinstalldir="/" name="src/core/ext/upb-generated/envoy/config/rbac/v3/rbac.upb.h" role="src" />
<file baseinstalldir="/" name="src/core/ext/upb-generated/envoy/config/route/v3/route.upb.c" role="src" />
<file baseinstalldir="/" name="src/core/ext/upb-generated/envoy/config/route/v3/route.upb.h" role="src" />
<file baseinstalldir="/" name="src/core/ext/upb-generated/envoy/config/route/v3/route_components.upb.c" role="src" />
<file baseinstalldir="/" name="src/core/ext/upb-generated/envoy/config/route/v3/route_components.upb.h" role="src" />
<file baseinstalldir="/" name="src/core/ext/upb-generated/envoy/config/route/v3/scoped_route.upb.c" role="src" />
<file baseinstalldir="/" name="src/core/ext/upb-generated/envoy/config/route/v3/scoped_route.upb.h" role="src" />
<file baseinstalldir="/" name="src/core/ext/upb-generated/envoy/config/trace/v3/http_tracer.upb.c" role="src" />
<file baseinstalldir="/" name="src/core/ext/upb-generated/envoy/config/trace/v3/http_tracer.upb.h" role="src" />
<file baseinstalldir="/" name="src/core/ext/upb-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.c" role="src" />
<file baseinstalldir="/" name="src/core/ext/upb-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.h" role="src" />
<file baseinstalldir="/" name="src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/cert.upb.c" role="src" />
<file baseinstalldir="/" name="src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/cert.upb.h" role="src" />
<file baseinstalldir="/" name="src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/common.upb.c" role="src" />
<file baseinstalldir="/" name="src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/common.upb.h" role="src" />
<file baseinstalldir="/" name="src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/secret.upb.c" role="src" />
<file baseinstalldir="/" name="src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/secret.upb.h" role="src" />
<file baseinstalldir="/" name="src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/tls.upb.c" role="src" />
<file baseinstalldir="/" name="src/core/ext/upb-generated/envoy/extensions/transport_sockets/tls/v3/tls.upb.h" role="src" />
<file baseinstalldir="/" name="src/core/ext/upb-generated/envoy/service/cluster/v3/cds.upb.c" role="src" />
<file baseinstalldir="/" name="src/core/ext/upb-generated/envoy/service/cluster/v3/cds.upb.h" role="src" />
<file baseinstalldir="/" name="src/core/ext/upb-generated/envoy/service/discovery/v3/ads.upb.c" role="src" />
<file baseinstalldir="/" name="src/core/ext/upb-generated/envoy/service/discovery/v3/ads.upb.h" role="src" />
<file baseinstalldir="/" name="src/core/ext/upb-generated/envoy/service/discovery/v3/discovery.upb.c" role="src" />
<file baseinstalldir="/" name="src/core/ext/upb-generated/envoy/service/discovery/v3/discovery.upb.h" role="src" />
<file baseinstalldir="/" name="src/core/ext/upb-generated/envoy/service/endpoint/v3/eds.upb.c" role="src" />
<file baseinstalldir="/" name="src/core/ext/upb-generated/envoy/service/endpoint/v3/eds.upb.h" role="src" />
<file baseinstalldir="/" name="src/core/ext/upb-generated/envoy/service/listener/v3/lds.upb.c" role="src" />
<file baseinstalldir="/" name="src/core/ext/upb-generated/envoy/service/listener/v3/lds.upb.h" role="src" />
<file baseinstalldir="/" name="src/core/ext/upb-generated/envoy/service/load_stats/v3/lrs.upb.c" role="src" />
<file baseinstalldir="/" name="src/core/ext/upb-generated/envoy/service/load_stats/v3/lrs.upb.h" role="src" />
<file baseinstalldir="/" name="src/core/ext/upb-generated/envoy/service/route/v3/rds.upb.c" role="src" />
<file baseinstalldir="/" name="src/core/ext/upb-generated/envoy/service/route/v3/rds.upb.h" role="src" />
<file baseinstalldir="/" name="src/core/ext/upb-generated/envoy/service/route/v3/srds.upb.c" role="src" />
<file baseinstalldir="/" name="src/core/ext/upb-generated/envoy/service/route/v3/srds.upb.h" role="src" />
<file baseinstalldir="/" name="src/core/ext/upb-generated/envoy/type/matcher/v3/metadata.upb.c" role="src" />
<file baseinstalldir="/" name="src/core/ext/upb-generated/envoy/type/matcher/v3/metadata.upb.h" role="src" />
<file baseinstalldir="/" name="src/core/ext/upb-generated/envoy/type/matcher/v3/number.upb.c" role="src" />
<file baseinstalldir="/" name="src/core/ext/upb-generated/envoy/type/matcher/v3/number.upb.h" role="src" />
<file baseinstalldir="/" name="src/core/ext/upb-generated/envoy/type/matcher/v3/path.upb.c" role="src" />
<file baseinstalldir="/" name="src/core/ext/upb-generated/envoy/type/matcher/v3/path.upb.h" role="src" />
<file baseinstalldir="/" name="src/core/ext/upb-generated/envoy/type/matcher/v3/regex.upb.c" role="src" />
<file baseinstalldir="/" name="src/core/ext/upb-generated/envoy/type/matcher/v3/regex.upb.h" role="src" />
<file baseinstalldir="/" name="src/core/ext/upb-generated/envoy/type/matcher/v3/string.upb.c" role="src" />
<file baseinstalldir="/" name="src/core/ext/upb-generated/envoy/type/matcher/v3/string.upb.h" role="src" />
<file baseinstalldir="/" name="src/core/ext/upb-generated/envoy/type/matcher/v3/value.upb.c" role="src" />
<file baseinstalldir="/" name="src/core/ext/upb-generated/envoy/type/matcher/v3/value.upb.h" role="src" />
<file baseinstalldir="/" name="src/core/ext/upb-generated/envoy/type/metadata/v3/metadata.upb.c" role="src" />
<file baseinstalldir="/" name="src/core/ext/upb-generated/envoy/type/metadata/v3/metadata.upb.h" role="src" />
<file baseinstalldir="/" name="src/core/ext/upb-generated/envoy/type/tracing/v3/custom_tag.upb.c" role="src" />
<file baseinstalldir="/" name="src/core/ext/upb-generated/envoy/type/tracing/v3/custom_tag.upb.h" role="src" />
<file baseinstalldir="/" name="src/core/ext/upb-generated/envoy/type/v3/http.upb.c" role="src" />
<file baseinstalldir="/" name="src/core/ext/upb-generated/envoy/type/v3/http.upb.h" role="src" />
<file baseinstalldir="/" name="src/core/ext/upb-generated/envoy/type/v3/percent.upb.c" role="src" />
<file baseinstalldir="/" name="src/core/ext/upb-generated/envoy/type/v3/percent.upb.h" role="src" />
<file baseinstalldir="/" name="src/core/ext/upb-generated/envoy/type/v3/range.upb.c" role="src" />
<file baseinstalldir="/" name="src/core/ext/upb-generated/envoy/type/v3/range.upb.h" role="src" />
<file baseinstalldir="/" name="src/core/ext/upb-generated/envoy/type/v3/semantic_version.upb.c" role="src" />
<file baseinstalldir="/" name="src/core/ext/upb-generated/envoy/type/v3/semantic_version.upb.h" role="src" />
<file baseinstalldir="/" name="src/core/ext/upb-generated/gogoproto/gogo.upb.c" role="src" />
<file baseinstalldir="/" name="src/core/ext/upb-generated/gogoproto/gogo.upb.h" role="src" />
<file baseinstalldir="/" name="src/core/ext/upb-generated/google/api/annotations.upb.c" role="src" />
<file baseinstalldir="/" name="src/core/ext/upb-generated/google/api/annotations.upb.h" role="src" />
<file baseinstalldir="/" name="src/core/ext/upb-generated/google/api/expr/v1alpha1/syntax.upb.c" role="src" />
<file baseinstalldir="/" name="src/core/ext/upb-generated/google/api/expr/v1alpha1/syntax.upb.h" role="src" />
<file baseinstalldir="/" name="src/core/ext/upb-generated/google/api/http.upb.c" role="src" />
<file baseinstalldir="/" name="src/core/ext/upb-generated/google/api/http.upb.h" role="src" />
<file baseinstalldir="/" name="src/core/ext/upb-generated/google/protobuf/any.upb.c" role="src" />
@ -425,6 +433,8 @@
<file baseinstalldir="/" name="src/core/ext/upb-generated/udpa/annotations/sensitive.upb.h" role="src" />
<file baseinstalldir="/" name="src/core/ext/upb-generated/udpa/annotations/status.upb.c" role="src" />
<file baseinstalldir="/" name="src/core/ext/upb-generated/udpa/annotations/status.upb.h" role="src" />
<file baseinstalldir="/" name="src/core/ext/upb-generated/udpa/annotations/versioning.upb.c" role="src" />
<file baseinstalldir="/" name="src/core/ext/upb-generated/udpa/annotations/versioning.upb.h" role="src" />
<file baseinstalldir="/" name="src/core/ext/upb-generated/udpa/data/orca/v1/orca_load_report.upb.c" role="src" />
<file baseinstalldir="/" name="src/core/ext/upb-generated/udpa/data/orca/v1/orca_load_report.upb.h" role="src" />
<file baseinstalldir="/" name="src/core/ext/upb-generated/validate/validate.upb.c" role="src" />
@ -801,8 +811,6 @@
<file baseinstalldir="/" name="src/core/lib/security/transport/security_handshaker.cc" role="src" />
<file baseinstalldir="/" name="src/core/lib/security/transport/security_handshaker.h" role="src" />
<file baseinstalldir="/" name="src/core/lib/security/transport/server_auth_filter.cc" role="src" />
<file baseinstalldir="/" name="src/core/lib/security/transport/target_authority_table.cc" role="src" />
<file baseinstalldir="/" name="src/core/lib/security/transport/target_authority_table.h" role="src" />
<file baseinstalldir="/" name="src/core/lib/security/transport/tsi_error.cc" role="src" />
<file baseinstalldir="/" name="src/core/lib/security/transport/tsi_error.h" role="src" />
<file baseinstalldir="/" name="src/core/lib/security/util/json_util.cc" role="src" />
@ -813,13 +821,11 @@
<file baseinstalldir="/" name="src/core/lib/slice/percent_encoding.h" role="src" />
<file baseinstalldir="/" name="src/core/lib/slice/slice.cc" role="src" />
<file baseinstalldir="/" name="src/core/lib/slice/slice_buffer.cc" role="src" />
<file baseinstalldir="/" name="src/core/lib/slice/slice_hash_table.h" role="src" />
<file baseinstalldir="/" name="src/core/lib/slice/slice_intern.cc" role="src" />
<file baseinstalldir="/" name="src/core/lib/slice/slice_internal.h" role="src" />
<file baseinstalldir="/" name="src/core/lib/slice/slice_string_helpers.cc" role="src" />
<file baseinstalldir="/" name="src/core/lib/slice/slice_string_helpers.h" role="src" />
<file baseinstalldir="/" name="src/core/lib/slice/slice_utils.h" role="src" />
<file baseinstalldir="/" name="src/core/lib/slice/slice_weak_hash_table.h" role="src" />
<file baseinstalldir="/" name="src/core/lib/surface/api_trace.cc" role="src" />
<file baseinstalldir="/" name="src/core/lib/surface/api_trace.h" role="src" />
<file baseinstalldir="/" name="src/core/lib/surface/byte_buffer.cc" role="src" />
@ -853,6 +859,8 @@
<file baseinstalldir="/" name="src/core/lib/surface/validate_metadata.cc" role="src" />
<file baseinstalldir="/" name="src/core/lib/surface/validate_metadata.h" role="src" />
<file baseinstalldir="/" name="src/core/lib/surface/version.cc" role="src" />
<file baseinstalldir="/" name="src/core/lib/transport/authority_override.cc" role="src" />
<file baseinstalldir="/" name="src/core/lib/transport/authority_override.h" role="src" />
<file baseinstalldir="/" name="src/core/lib/transport/bdp_estimator.cc" role="src" />
<file baseinstalldir="/" name="src/core/lib/transport/bdp_estimator.h" role="src" />
<file baseinstalldir="/" name="src/core/lib/transport/byte_stream.cc" role="src" />
@ -1108,6 +1116,24 @@
<file baseinstalldir="/" name="third_party/abseil-cpp/absl/strings/strip.h" role="src" />
<file baseinstalldir="/" name="third_party/abseil-cpp/absl/strings/substitute.cc" role="src" />
<file baseinstalldir="/" name="third_party/abseil-cpp/absl/strings/substitute.h" role="src" />
<file baseinstalldir="/" name="third_party/abseil-cpp/absl/synchronization/barrier.cc" role="src" />
<file baseinstalldir="/" name="third_party/abseil-cpp/absl/synchronization/barrier.h" role="src" />
<file baseinstalldir="/" name="third_party/abseil-cpp/absl/synchronization/blocking_counter.cc" role="src" />
<file baseinstalldir="/" name="third_party/abseil-cpp/absl/synchronization/blocking_counter.h" role="src" />
<file baseinstalldir="/" name="third_party/abseil-cpp/absl/synchronization/internal/create_thread_identity.cc" role="src" />
<file baseinstalldir="/" name="third_party/abseil-cpp/absl/synchronization/internal/create_thread_identity.h" role="src" />
<file baseinstalldir="/" name="third_party/abseil-cpp/absl/synchronization/internal/graphcycles.cc" role="src" />
<file baseinstalldir="/" name="third_party/abseil-cpp/absl/synchronization/internal/graphcycles.h" role="src" />
<file baseinstalldir="/" name="third_party/abseil-cpp/absl/synchronization/internal/kernel_timeout.h" role="src" />
<file baseinstalldir="/" name="third_party/abseil-cpp/absl/synchronization/internal/mutex_nonprod.inc" role="src" />
<file baseinstalldir="/" name="third_party/abseil-cpp/absl/synchronization/internal/per_thread_sem.cc" role="src" />
<file baseinstalldir="/" name="third_party/abseil-cpp/absl/synchronization/internal/per_thread_sem.h" role="src" />
<file baseinstalldir="/" name="third_party/abseil-cpp/absl/synchronization/internal/waiter.cc" role="src" />
<file baseinstalldir="/" name="third_party/abseil-cpp/absl/synchronization/internal/waiter.h" role="src" />
<file baseinstalldir="/" name="third_party/abseil-cpp/absl/synchronization/mutex.cc" role="src" />
<file baseinstalldir="/" name="third_party/abseil-cpp/absl/synchronization/mutex.h" role="src" />
<file baseinstalldir="/" name="third_party/abseil-cpp/absl/synchronization/notification.cc" role="src" />
<file baseinstalldir="/" name="third_party/abseil-cpp/absl/synchronization/notification.h" role="src" />
<file baseinstalldir="/" name="third_party/abseil-cpp/absl/time/civil_time.cc" role="src" />
<file baseinstalldir="/" name="third_party/abseil-cpp/absl/time/civil_time.h" role="src" />
<file baseinstalldir="/" name="third_party/abseil-cpp/absl/time/clock.cc" role="src" />

@ -12,6 +12,11 @@
# See the License for the specific language governing permissions and
# limitations under the License.
"""A setup module for the GRPC Python package."""
# setuptools need to be imported before distutils. Otherwise it might lead to
# undesirable behaviors or errors.
import setuptools
from distutils import cygwinccompiler
from distutils import extension as _extension
from distutils import util
@ -25,7 +30,6 @@ import shutil
import sys
import sysconfig
import setuptools
from setuptools.command import egg_info
import subprocess

@ -13,24 +13,24 @@
# See the License for the specific language governing permissions and
# limitations under the License.
from __future__ import print_function
import shutil
import sys
import json
import os
import sys
import yaml
sys.dont_write_bytecode = True
boring_ssl_root = os.path.abspath(
os.path.join(os.path.dirname(sys.argv[0]),
'../../third_party/boringssl-with-bazel/src'))
sys.path.append(os.path.join(boring_ssl_root, 'util'))
run_dir = os.path.dirname(sys.argv[0])
sources_path = os.path.abspath(
os.path.join(run_dir,
'../../third_party/boringssl-with-bazel/sources.json'))
try:
import generate_build_files
except ImportError:
print(yaml.dump({}))
sys.exit()
with open(sources_path, 'r') as s:
sources = json.load(s)
except IOError:
sources_path = os.path.abspath(
os.path.join(run_dir,
'../../../../third_party/openssl/boringssl/sources.json'))
with open(sources_path, 'r') as s:
sources = json.load(s)
def map_dir(filename):
@ -38,18 +38,19 @@ def map_dir(filename):
class Grpc(object):
"""Implements a "platform" in the sense of boringssl's generate_build_files.py"""
yaml = None
"""Adapter for boring-SSL json sources files. """
def WriteFiles(self, files, asm_outputs):
test_binaries = ['ssl_test', 'crypto_test']
def __init__(self, sources):
self.yaml = None
self.WriteFiles(sources)
def WriteFiles(self, files):
test_binaries = ['ssl_test', 'crypto_test']
self.yaml = {
'#':
'generated with src/boringssl/gen_build_yaml.py',
'raw_boringssl_build_output_for_debugging': {
'files': files,
'asm_outputs': asm_outputs,
},
'libs': [
{
@ -120,29 +121,5 @@ class Grpc(object):
}
os.chdir(os.path.dirname(sys.argv[0]))
os.mkdir('src')
try:
for f in os.listdir(boring_ssl_root):
os.symlink(os.path.join(boring_ssl_root, f), os.path.join('src', f))
grpc_platform = Grpc()
# We use a hack to run boringssl's util/generate_build_files.py as part of this script.
# The call will populate "grpc_platform" with boringssl's source file metadata.
# As a side effect this script generates err_data.c and crypto_test_data.cc (requires golang)
# Both of these files are already available under third_party/boringssl-with-bazel
# so we don't need to generate them again, but there's no option to disable that behavior.
# - crypto_test_data.cc is required to run boringssl_crypto_test but we already
# use the copy under third_party/boringssl-with-bazel so we just delete it
# - err_data.c is already under third_party/boringssl-with-bazel so we just delete it
generate_build_files.main([grpc_platform])
print(yaml.dump(grpc_platform.yaml))
finally:
# we don't want err_data.c and crypto_test_data.cc (see comment above)
if os.path.exists('err_data.c'):
os.remove('err_data.c')
if os.path.exists('crypto_test_data.cc'):
os.remove('crypto_test_data.cc')
shutil.rmtree('src')
grpc_platform = Grpc(sources)
print(yaml.dump(grpc_platform.yaml))

@ -79,4 +79,4 @@ void grpc_client_channel_stop_connectivity_watch(
grpc_core::RefCountedPtr<grpc_core::SubchannelCall>
grpc_client_channel_get_subchannel_call(grpc_call_element* elem);
#endif /* GRPC_CORE_EXT_FILTERS_CLIENT_CHANNEL_CLIENT_CHANNEL_H */
#endif // GRPC_CORE_EXT_FILTERS_CLIENT_CHANNEL_CLIENT_CHANNEL_H

@ -325,10 +325,9 @@ void HttpConnectHandshaker::DoHandshake(grpc_tcp_server_acceptor* /*acceptor*/,
args_ = args;
on_handshake_done_ = on_handshake_done;
// Log connection via proxy.
char* proxy_name = grpc_endpoint_get_peer(args->endpoint);
std::string proxy_name(grpc_endpoint_get_peer(args->endpoint));
gpr_log(GPR_INFO, "Connecting to server %s via HTTP proxy %s", server_name,
proxy_name);
gpr_free(proxy_name);
proxy_name.c_str());
// Construct HTTP CONNECT request.
grpc_httpcli_request request;
request.host = server_name;

@ -101,7 +101,6 @@
#include "src/core/lib/iomgr/sockaddr.h"
#include "src/core/lib/iomgr/sockaddr_utils.h"
#include "src/core/lib/iomgr/timer.h"
#include "src/core/lib/slice/slice_hash_table.h"
#include "src/core/lib/slice/slice_internal.h"
#include "src/core/lib/slice/slice_string_helpers.h"
#include "src/core/lib/surface/call.h"

@ -23,8 +23,6 @@
// Channel arg key for the list of balancer addresses.
#define GRPC_ARG_GRPCLB_BALANCER_ADDRESSES "grpc.grpclb_balancer_addresses"
// Channel arg key for a string indicating an address's balancer name.
#define GRPC_ARG_ADDRESS_BALANCER_NAME "grpc.address_balancer_name"
namespace grpc_core {
@ -75,15 +73,4 @@ const ServerAddressList* FindGrpclbBalancerAddressesInChannelArgs(
&args, const_cast<char*>(GRPC_ARG_GRPCLB_BALANCER_ADDRESSES));
}
grpc_arg CreateGrpclbBalancerNameArg(const char* balancer_name) {
return grpc_channel_arg_string_create(
const_cast<char*>(GRPC_ARG_ADDRESS_BALANCER_NAME),
const_cast<char*>(balancer_name));
}
const char* FindGrpclbBalancerNameInChannelArgs(const grpc_channel_args& args) {
return grpc_channel_args_find_string(
&args, const_cast<char*>(GRPC_ARG_ADDRESS_BALANCER_NAME));
}
} // namespace grpc_core

@ -30,9 +30,6 @@ grpc_arg CreateGrpclbBalancerAddressesArg(
const ServerAddressList* FindGrpclbBalancerAddressesInChannelArgs(
const grpc_channel_args& args);
grpc_arg CreateGrpclbBalancerNameArg(const char* balancer_name);
const char* FindGrpclbBalancerNameInChannelArgs(const grpc_channel_args& args);
} // namespace grpc_core
#endif /* \

@ -35,50 +35,14 @@
#include "src/core/lib/gpr/string.h"
#include "src/core/lib/iomgr/sockaddr_utils.h"
#include "src/core/lib/security/credentials/credentials.h"
#include "src/core/lib/security/transport/target_authority_table.h"
#include "src/core/lib/slice/slice_internal.h"
namespace grpc_core {
namespace {
int BalancerNameCmp(const grpc_core::UniquePtr<char>& a,
const grpc_core::UniquePtr<char>& b) {
return strcmp(a.get(), b.get());
}
RefCountedPtr<TargetAuthorityTable> CreateTargetAuthorityTable(
const ServerAddressList& addresses) {
TargetAuthorityTable::Entry* target_authority_entries =
static_cast<TargetAuthorityTable::Entry*>(
gpr_zalloc(sizeof(*target_authority_entries) * addresses.size()));
for (size_t i = 0; i < addresses.size(); ++i) {
std::string addr_str =
grpc_sockaddr_to_string(&addresses[i].address(), true);
target_authority_entries[i].key =
grpc_slice_from_copied_string(addr_str.c_str());
const char* balancer_name =
FindGrpclbBalancerNameInChannelArgs(*addresses[i].args());
target_authority_entries[i].value.reset(gpr_strdup(balancer_name));
}
RefCountedPtr<TargetAuthorityTable> target_authority_table =
TargetAuthorityTable::Create(addresses.size(), target_authority_entries,
BalancerNameCmp);
gpr_free(target_authority_entries);
return target_authority_table;
}
} // namespace
grpc_channel_args* ModifyGrpclbBalancerChannelArgs(
const ServerAddressList& addresses, grpc_channel_args* args) {
absl::InlinedVector<const char*, 1> args_to_remove;
absl::InlinedVector<grpc_arg, 2> args_to_add;
// Add arg for targets info table.
RefCountedPtr<TargetAuthorityTable> target_authority_table =
CreateTargetAuthorityTable(addresses);
args_to_add.emplace_back(
CreateTargetAuthorityTableChannelArg(target_authority_table.get()));
absl::InlinedVector<grpc_arg, 1> args_to_add;
// Substitute the channel credentials with a version without call
// credentials: the load balancer is not necessarily trusted to handle
// bearer token credentials.

@ -171,7 +171,7 @@ class WeightedTargetLb : public LoadBalancingPolicy {
// The owning LB policy.
RefCountedPtr<WeightedTargetLb> weighted_target_policy_;
const std::string& name_;
const std::string name_;
uint32_t weight_;
@ -290,9 +290,8 @@ void WeightedTargetLb::UpdateLocked(UpdateArgs args) {
const std::string& name = p.first;
auto it = targets_.find(name);
if (it == targets_.end()) {
it = targets_.emplace(std::make_pair(name, nullptr)).first;
it->second = MakeOrphanable<WeightedChild>(
Ref(DEBUG_LOCATION, "WeightedChild"), it->first);
targets_.emplace(name, MakeOrphanable<WeightedChild>(
Ref(DEBUG_LOCATION, "WeightedChild"), name));
}
}
// Update all children.

@ -187,7 +187,7 @@ class XdsRoutingLb : public LoadBalancingPolicy {
RefCountedPtr<XdsRoutingLb> xds_routing_policy_;
// Points to the corresponding key in XdsRoutingLb::actions_.
const std::string& name_;
const std::string name_;
OrphanablePtr<LoadBalancingPolicy> child_policy_;
@ -407,9 +407,10 @@ void XdsRoutingLb::UpdateLocked(UpdateArgs args) {
const RefCountedPtr<LoadBalancingPolicy::Config>& config = p.second;
auto it = actions_.find(name);
if (it == actions_.end()) {
it = actions_.emplace(std::make_pair(name, nullptr)).first;
it->second = MakeOrphanable<XdsRoutingChild>(
Ref(DEBUG_LOCATION, "XdsRoutingChild"), it->first);
it = actions_
.emplace(name, MakeOrphanable<XdsRoutingChild>(
Ref(DEBUG_LOCATION, "XdsRoutingChild"), name))
.first;
}
it->second->UpdateLocked(config, args.addresses, args.args);
}

@ -37,7 +37,6 @@
#include <grpc/support/time.h>
#include <address_sorting/address_sorting.h>
#include "src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_balancer_addresses.h"
#include "src/core/ext/filters/client_channel/parse_address.h"
#include "src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver.h"
#include "src/core/lib/gpr/string.h"
@ -47,6 +46,7 @@
#include "src/core/lib/iomgr/iomgr_internal.h"
#include "src/core/lib/iomgr/nameser.h"
#include "src/core/lib/iomgr/sockaddr_utils.h"
#include "src/core/lib/transport/authority_override.h"
using grpc_core::ServerAddress;
using grpc_core::ServerAddressList;
@ -237,7 +237,7 @@ static void on_hostbyname_done_locked(void* arg, int status, int /*timeouts*/,
absl::InlinedVector<grpc_arg, 1> args_to_add;
if (hr->is_balancer) {
args_to_add.emplace_back(
grpc_core::CreateGrpclbBalancerNameArg(hr->host));
grpc_core::CreateAuthorityOverrideChannelArg(hr->host));
}
grpc_channel_args* args = grpc_channel_args_copy_and_add(
nullptr, args_to_add.data(), args_to_add.size());

@ -33,7 +33,6 @@
#include "src/core/lib/gprpp/ref_counted_ptr.h"
#include "src/core/lib/iomgr/exec_ctx.h" // for grpc_millis
#include "src/core/lib/json/json.h"
#include "src/core/lib/slice/slice_hash_table.h"
namespace grpc_core {
namespace internal {

@ -26,23 +26,56 @@ namespace grpc_core {
// ServerAddress
//
ServerAddress::ServerAddress(const grpc_resolved_address& address,
grpc_channel_args* args)
: address_(address), args_(args) {}
ServerAddress::ServerAddress(
const grpc_resolved_address& address, grpc_channel_args* args,
std::map<const char*, std::unique_ptr<AttributeInterface>> attributes)
: address_(address), args_(args), attributes_(std::move(attributes)) {}
ServerAddress::ServerAddress(const void* address, size_t address_len,
grpc_channel_args* args)
: args_(args) {
ServerAddress::ServerAddress(
const void* address, size_t address_len, grpc_channel_args* args,
std::map<const char*, std::unique_ptr<AttributeInterface>> attributes)
: args_(args), attributes_(std::move(attributes)) {
memcpy(address_.addr, address, address_len);
address_.len = static_cast<socklen_t>(address_len);
}
namespace {
int CompareAttributes(
const std::map<const char*,
std::unique_ptr<ServerAddress::AttributeInterface>>&
attributes1,
const std::map<const char*,
std::unique_ptr<ServerAddress::AttributeInterface>>&
attributes2) {
auto it2 = attributes2.begin();
for (auto it1 = attributes1.begin(); it1 != attributes1.end(); ++it1) {
// attributes2 has fewer elements than attributes1
if (it2 == attributes2.end()) return -1;
// compare keys
int retval = strcmp(it1->first, it2->first);
if (retval != 0) return retval;
// compare values
retval = it1->second->Cmp(it2->second.get());
if (retval != 0) return retval;
++it2;
}
// attributes1 has fewer elements than attributes2
if (it2 != attributes2.end()) return 1;
// equal
return 0;
}
} // namespace
int ServerAddress::Cmp(const ServerAddress& other) const {
if (address_.len > other.address_.len) return 1;
if (address_.len < other.address_.len) return -1;
int retval = memcmp(address_.addr, other.address_.addr, address_.len);
if (retval != 0) return retval;
return grpc_channel_args_compare(args_, other.args_);
retval = grpc_channel_args_compare(args_, other.args_);
if (retval != 0) return retval;
return CompareAttributes(attributes_, other.attributes_);
}
} // namespace grpc_core

@ -21,6 +21,8 @@
#include <grpc/support/port_platform.h>
#include <map>
#include "absl/container/inlined_vector.h"
#include "src/core/lib/channel/channel_args.h"
@ -37,26 +39,54 @@ namespace grpc_core {
// args when a subchannel is created for this address.
class ServerAddress {
public:
// Base clas for resolver-supplied attributes.
// Unlike channel args, these attributes don't affect subchannel
// uniqueness or behavior. They are for use by LB policies only.
class AttributeInterface {
public:
virtual ~AttributeInterface();
// Creates a copy of the attribute.
virtual std::unique_ptr<AttributeInterface> Copy() const = 0;
// Compares this attribute with another.
virtual int Cmp(const AttributeInterface* other) const = 0;
};
// Takes ownership of args.
ServerAddress(const grpc_resolved_address& address, grpc_channel_args* args);
ServerAddress(const grpc_resolved_address& address, grpc_channel_args* args,
std::map<const char*, std::unique_ptr<AttributeInterface>>
attributes = {});
ServerAddress(const void* address, size_t address_len,
grpc_channel_args* args);
grpc_channel_args* args,
std::map<const char*, std::unique_ptr<AttributeInterface>>
attributes = {});
~ServerAddress() { grpc_channel_args_destroy(args_); }
// Copyable.
ServerAddress(const ServerAddress& other)
: address_(other.address_), args_(grpc_channel_args_copy(other.args_)) {}
: address_(other.address_), args_(grpc_channel_args_copy(other.args_)) {
for (const auto& p : other.attributes_) {
attributes_[p.first] = p.second->Copy();
}
}
ServerAddress& operator=(const ServerAddress& other) {
address_ = other.address_;
grpc_channel_args_destroy(args_);
args_ = grpc_channel_args_copy(other.args_);
attributes_.clear();
for (const auto& p : other.attributes_) {
attributes_[p.first] = p.second->Copy();
}
return *this;
}
// Movable.
ServerAddress(ServerAddress&& other)
: address_(other.address_), args_(other.args_) {
: address_(other.address_),
args_(other.args_),
attributes_(std::move(other.attributes_)) {
other.args_ = nullptr;
}
ServerAddress& operator=(ServerAddress&& other) {
@ -64,6 +94,7 @@ class ServerAddress {
grpc_channel_args_destroy(args_);
args_ = other.args_;
other.args_ = nullptr;
attributes_ = std::move(other.attributes_);
return *this;
}
@ -74,9 +105,16 @@ class ServerAddress {
const grpc_resolved_address& address() const { return address_; }
const grpc_channel_args* args() const { return args_; }
const AttributeInterface* GetAttribute(const char* key) const {
auto it = attributes_.find(key);
if (it == attributes_.end()) return nullptr;
return it->second.get();
}
private:
grpc_resolved_address address_;
grpc_channel_args* args_;
std::map<const char*, std::unique_ptr<AttributeInterface>> attributes_;
};
//

@ -39,7 +39,7 @@
#include "src/core/lib/transport/connectivity_state.h"
#include "src/core/lib/transport/metadata.h"
// Channel arg containing a grpc_resolved_address to connect to.
// Channel arg containing a URI indicating the address to connect to.
#define GRPC_ARG_SUBCHANNEL_ADDRESS "grpc.subchannel_address"
// For debugging refcounting.

File diff suppressed because it is too large Load Diff

@ -294,7 +294,7 @@ class XdsApi {
std::pair<std::string /*cluster_name*/, std::string /*eds_service_name*/>,
ClusterLoadReport>;
XdsApi(XdsClient* client, TraceFlag* tracer, const XdsBootstrap::Node* node);
XdsApi(XdsClient* client, TraceFlag* tracer, const XdsBootstrap* bootstrap);
// Creates an ADS request.
// Takes ownership of \a error.
@ -304,19 +304,25 @@ class XdsApi {
const std::string& nonce, grpc_error* error,
bool populate_node);
// Parses the ADS response and outputs the validated update for either CDS or
// EDS. If the response can't be parsed at the top level, \a type_url will
// point to an empty string; otherwise, it will point to the received data.
grpc_error* ParseAdsResponse(
// Parses an ADS response.
// If the response can't be parsed at the top level, the resulting
// type_url will be empty.
struct AdsParseResult {
grpc_error* parse_error = GRPC_ERROR_NONE;
std::string version;
std::string nonce;
std::string type_url;
absl::optional<LdsUpdate> lds_update;
absl::optional<RdsUpdate> rds_update;
CdsUpdateMap cds_update_map;
EdsUpdateMap eds_update_map;
};
AdsParseResult ParseAdsResponse(
const grpc_slice& encoded_response,
const std::string& expected_server_name,
const std::set<absl::string_view>& expected_route_configuration_names,
const std::set<absl::string_view>& expected_cluster_names,
const std::set<absl::string_view>& expected_eds_service_names,
absl::optional<LdsUpdate>* lds_update,
absl::optional<RdsUpdate>* rds_update, CdsUpdateMap* cds_update_map,
EdsUpdateMap* eds_update_map, std::string* version, std::string* nonce,
std::string* type_url);
const std::set<absl::string_view>& expected_eds_service_names);
// Creates an LRS request querying \a server_name.
grpc_slice CreateLrsInitialRequest(const std::string& server_name);
@ -335,7 +341,8 @@ class XdsApi {
private:
XdsClient* client_;
TraceFlag* tracer_;
const XdsBootstrap::Node* node_;
const bool use_v3_;
const XdsBootstrap* bootstrap_; // Do not own.
const std::string build_version_;
const std::string user_agent_name_;
};

@ -35,6 +35,10 @@
namespace grpc_core {
bool XdsBootstrap::XdsServer::ShouldUseV3() const {
return server_features.find("xds_v3") != server_features.end();
}
namespace {
std::string BootstrapString(const XdsBootstrap& bootstrap) {
@ -65,7 +69,13 @@ std::string BootstrapString(const XdsBootstrap& bootstrap) {
parts.push_back(absl::StrFormat(" {type=\"%s\", config=%s},\n",
creds.type, creds.config.Dump()));
}
parts.push_back(" ]\n }\n]");
parts.push_back(" ],\n");
if (!bootstrap.server().server_features.empty()) {
parts.push_back(absl::StrCat(
" server_features=[",
absl::StrJoin(bootstrap.server().server_features, ", "), "],\n"));
}
parts.push_back(" }\n]");
return absl::StrJoin(parts, "");
}
@ -186,6 +196,16 @@ grpc_error* XdsBootstrap::ParseXdsServer(Json* json, size_t idx) {
if (parse_error != GRPC_ERROR_NONE) error_list.push_back(parse_error);
}
}
it = json->mutable_object()->find("server_features");
if (it != json->mutable_object()->end()) {
if (it->second.type() != Json::Type::ARRAY) {
error_list.push_back(GRPC_ERROR_CREATE_FROM_STATIC_STRING(
"\"server_features\" field is not an array"));
} else {
grpc_error* parse_error = ParseServerFeaturesArray(&it->second, &server);
if (parse_error != GRPC_ERROR_NONE) error_list.push_back(parse_error);
}
}
// Can't use GRPC_ERROR_CREATE_FROM_VECTOR() here, because the error
// string is not static in this case.
if (error_list.empty()) return GRPC_ERROR_NONE;
@ -251,6 +271,28 @@ grpc_error* XdsBootstrap::ParseChannelCreds(Json* json, size_t idx,
return error;
}
grpc_error* XdsBootstrap::ParseServerFeaturesArray(Json* json,
XdsServer* server) {
std::vector<grpc_error*> error_list;
for (size_t i = 0; i < json->mutable_array()->size(); ++i) {
Json& child = json->mutable_array()->at(i);
if (child.type() == Json::Type::STRING &&
child.string_value() == "xds_v3") {
// TODO(roth): Remove env var check once we do interop testing and
// are sure that the v3 code actually works.
grpc_core::UniquePtr<char> enable_str(
gpr_getenv("GRPC_XDS_EXPERIMENTAL_V3_SUPPORT"));
bool enabled = false;
if (gpr_parse_bool_value(enable_str.get(), &enabled) && enabled) {
server->server_features.insert(
std::move(*child.mutable_string_value()));
}
}
}
return GRPC_ERROR_CREATE_FROM_VECTOR(
"errors parsing \"server_features\" array", &error_list);
}
grpc_error* XdsBootstrap::ParseNode(Json* json) {
std::vector<grpc_error*> error_list;
node_ = absl::make_unique<Node>();

@ -20,6 +20,7 @@
#include <grpc/support/port_platform.h>
#include <memory>
#include <set>
#include <string>
#include <vector>
@ -55,6 +56,9 @@ class XdsBootstrap {
struct XdsServer {
std::string server_uri;
absl::InlinedVector<ChannelCreds, 1> channel_creds;
std::set<std::string> server_features;
bool ShouldUseV3() const;
};
// If *error is not GRPC_ERROR_NONE after returning, then there was an
@ -76,6 +80,7 @@ class XdsBootstrap {
grpc_error* ParseXdsServer(Json* json, size_t idx);
grpc_error* ParseChannelCredsArray(Json* json, XdsServer* server);
grpc_error* ParseChannelCreds(Json* json, size_t idx, XdsServer* server);
grpc_error* ParseServerFeaturesArray(Json* json, XdsServer* server);
grpc_error* ParseNode(Json* json);
grpc_error* ParseLocality(Json* json);

@ -35,7 +35,6 @@
#include "src/core/lib/iomgr/sockaddr_utils.h"
#include "src/core/lib/security/credentials/credentials.h"
#include "src/core/lib/security/credentials/fake/fake_credentials.h"
#include "src/core/lib/security/transport/target_authority_table.h"
#include "src/core/lib/slice/slice_internal.h"
namespace grpc_core {

@ -54,7 +54,6 @@
#include "src/core/lib/iomgr/sockaddr_utils.h"
#include "src/core/lib/iomgr/timer.h"
#include "src/core/lib/iomgr/work_serializer.h"
#include "src/core/lib/slice/slice_hash_table.h"
#include "src/core/lib/slice/slice_internal.h"
#include "src/core/lib/slice/slice_string_helpers.h"
#include "src/core/lib/surface/call.h"
@ -685,11 +684,14 @@ XdsClient::ChannelState::AdsCallState::AdsCallState(
GPR_ASSERT(xds_client() != nullptr);
GPR_ASSERT(!xds_client()->server_name_.empty());
// Create a call with the specified method name.
const auto& method =
xds_client()->bootstrap_->server().ShouldUseV3()
? GRPC_MDSTR_SLASH_ENVOY_DOT_SERVICE_DOT_DISCOVERY_DOT_V3_DOT_AGGREGATEDDISCOVERYSERVICE_SLASH_STREAMAGGREGATEDRESOURCES
: GRPC_MDSTR_SLASH_ENVOY_DOT_SERVICE_DOT_DISCOVERY_DOT_V2_DOT_AGGREGATEDDISCOVERYSERVICE_SLASH_STREAMAGGREGATEDRESOURCES;
call_ = grpc_channel_create_pollset_set_call(
chand()->channel_, nullptr, GRPC_PROPAGATE_DEFAULTS,
xds_client()->interested_parties_,
GRPC_MDSTR_SLASH_ENVOY_DOT_SERVICE_DOT_DISCOVERY_DOT_V2_DOT_AGGREGATEDDISCOVERYSERVICE_SLASH_STREAMAGGREGATEDRESOURCES,
nullptr, GRPC_MILLIS_INF_FUTURE, nullptr);
xds_client()->interested_parties_, method, nullptr,
GRPC_MILLIS_INF_FUTURE, nullptr);
GPR_ASSERT(call_ != nullptr);
// Init data associated with the call.
grpc_metadata_array_init(&initial_metadata_recv_);
@ -1198,66 +1200,49 @@ void XdsClient::ChannelState::AdsCallState::OnResponseReceivedLocked() {
grpc_byte_buffer_reader_destroy(&bbr);
grpc_byte_buffer_destroy(recv_message_payload_);
recv_message_payload_ = nullptr;
// TODO(juanlishen): When we convert this to use the xds protocol, the
// balancer will send us a fallback timeout such that we should go into
// fallback mode if we have lost contact with the balancer after a certain
// period of time. We will need to save the timeout value here, and then
// when the balancer call ends, we will need to start a timer for the
// specified period of time, and if the timer fires, we go into fallback
// mode. We will also need to cancel the timer when we receive a serverlist
// from the balancer.
// Parse the response.
absl::optional<XdsApi::LdsUpdate> lds_update;
absl::optional<XdsApi::RdsUpdate> rds_update;
XdsApi::CdsUpdateMap cds_update_map;
XdsApi::EdsUpdateMap eds_update_map;
std::string version;
std::string nonce;
std::string type_url;
// Note that ParseAdsResponse() also validates the response.
grpc_error* parse_error = xds_client()->api_.ParseAdsResponse(
// Parse and validate the response.
XdsApi::AdsParseResult result = xds_client()->api_.ParseAdsResponse(
response_slice, xds_client()->server_name_,
ResourceNamesForRequest(XdsApi::kRdsTypeUrl),
ResourceNamesForRequest(XdsApi::kCdsTypeUrl),
ResourceNamesForRequest(XdsApi::kEdsTypeUrl), &lds_update, &rds_update,
&cds_update_map, &eds_update_map, &version, &nonce, &type_url);
ResourceNamesForRequest(XdsApi::kEdsTypeUrl));
grpc_slice_unref_internal(response_slice);
if (type_url.empty()) {
if (result.type_url.empty()) {
// Ignore unparsable response.
gpr_log(GPR_ERROR,
"[xds_client %p] Error parsing ADS response (%s) -- ignoring",
xds_client(), grpc_error_string(parse_error));
GRPC_ERROR_UNREF(parse_error);
xds_client(), grpc_error_string(result.parse_error));
GRPC_ERROR_UNREF(result.parse_error);
} else {
// Update nonce.
auto& state = state_map_[type_url];
state.nonce = std::move(nonce);
auto& state = state_map_[result.type_url];
state.nonce = std::move(result.nonce);
// NACK or ACK the response.
if (parse_error != GRPC_ERROR_NONE) {
if (result.parse_error != GRPC_ERROR_NONE) {
GRPC_ERROR_UNREF(state.error);
state.error = parse_error;
state.error = result.parse_error;
// NACK unacceptable update.
gpr_log(GPR_ERROR,
"[xds_client %p] ADS response invalid for resource type %s "
"version %s, will NACK: nonce=%s error=%s",
xds_client(), type_url.c_str(), version.c_str(),
state.nonce.c_str(), grpc_error_string(parse_error));
SendMessageLocked(type_url);
xds_client(), result.type_url.c_str(), result.version.c_str(),
state.nonce.c_str(), grpc_error_string(result.parse_error));
SendMessageLocked(result.type_url);
} else {
seen_response_ = true;
// Accept the ADS response according to the type_url.
if (type_url == XdsApi::kLdsTypeUrl) {
AcceptLdsUpdate(std::move(lds_update));
} else if (type_url == XdsApi::kRdsTypeUrl) {
AcceptRdsUpdate(std::move(rds_update));
} else if (type_url == XdsApi::kCdsTypeUrl) {
AcceptCdsUpdate(std::move(cds_update_map));
} else if (type_url == XdsApi::kEdsTypeUrl) {
AcceptEdsUpdate(std::move(eds_update_map));
if (result.type_url == XdsApi::kLdsTypeUrl) {
AcceptLdsUpdate(std::move(result.lds_update));
} else if (result.type_url == XdsApi::kRdsTypeUrl) {
AcceptRdsUpdate(std::move(result.rds_update));
} else if (result.type_url == XdsApi::kCdsTypeUrl) {
AcceptCdsUpdate(std::move(result.cds_update_map));
} else if (result.type_url == XdsApi::kEdsTypeUrl) {
AcceptEdsUpdate(std::move(result.eds_update_map));
}
state.version = std::move(version);
state.version = std::move(result.version);
// ACK the update.
SendMessageLocked(type_url);
SendMessageLocked(result.type_url);
// Start load reporting if needed.
auto& lrs_call = chand()->lrs_calld_;
if (lrs_call != nullptr) {
@ -1471,11 +1456,14 @@ XdsClient::ChannelState::LrsCallState::LrsCallState(
// the polling entities from client_channel.
GPR_ASSERT(xds_client() != nullptr);
GPR_ASSERT(!xds_client()->server_name_.empty());
const auto& method =
xds_client()->bootstrap_->server().ShouldUseV3()
? GRPC_MDSTR_SLASH_ENVOY_DOT_SERVICE_DOT_LOAD_STATS_DOT_V3_DOT_LOADREPORTINGSERVICE_SLASH_STREAMLOADSTATS
: GRPC_MDSTR_SLASH_ENVOY_DOT_SERVICE_DOT_LOAD_STATS_DOT_V2_DOT_LOADREPORTINGSERVICE_SLASH_STREAMLOADSTATS;
call_ = grpc_channel_create_pollset_set_call(
chand()->channel_, nullptr, GRPC_PROPAGATE_DEFAULTS,
xds_client()->interested_parties_,
GRPC_MDSTR_SLASH_ENVOY_DOT_SERVICE_DOT_LOAD_STATS_DOT_V2_DOT_LOADREPORTINGSERVICE_SLASH_STREAMLOADSTATS,
nullptr, GRPC_MILLIS_INF_FUTURE, nullptr);
xds_client()->interested_parties_, method, nullptr,
GRPC_MILLIS_INF_FUTURE, nullptr);
GPR_ASSERT(call_ != nullptr);
// Init the request payload.
grpc_slice request_payload_slice =
@ -1781,8 +1769,7 @@ XdsClient::XdsClient(std::shared_ptr<WorkSerializer> work_serializer,
interested_parties_(interested_parties),
bootstrap_(
XdsBootstrap::ReadFromFile(this, &grpc_xds_client_trace, error)),
api_(this, &grpc_xds_client_trace,
bootstrap_ == nullptr ? nullptr : bootstrap_->node()),
api_(this, &grpc_xds_client_trace, bootstrap_.get()),
server_name_(server_name),
service_config_watcher_(std::move(watcher)) {
if (GRPC_TRACE_FLAG_ENABLED(grpc_xds_client_trace)) {

@ -129,6 +129,15 @@ void Chttp2Connector::StartHandshakeLocked() {
endpoint_ = nullptr; // Endpoint handed off to handshake manager.
}
namespace {
void NullThenSchedClosure(const DebugLocation& location, grpc_closure** closure,
grpc_error* error) {
grpc_closure* c = *closure;
*closure = nullptr;
ExecCtx::Run(location, c, error);
}
} // namespace
void Chttp2Connector::OnHandshakeDone(void* arg, grpc_error* error) {
auto* args = static_cast<HandshakerArgs*>(arg);
Chttp2Connector* self = static_cast<Chttp2Connector*>(args->user_data);
@ -154,53 +163,99 @@ void Chttp2Connector::OnHandshakeDone(void* arg, grpc_error* error) {
error = GRPC_ERROR_REF(error);
}
self->result_->Reset();
NullThenSchedClosure(DEBUG_LOCATION, &self->notify_, error);
} else if (args->endpoint != nullptr) {
grpc_endpoint_delete_from_pollset_set(args->endpoint,
self->args_.interested_parties);
self->result_->transport =
grpc_create_chttp2_transport(args->args, args->endpoint, true);
self->result_->socket_node =
grpc_chttp2_transport_get_socket_node(self->result_->transport);
self->result_->channel_args = args->args;
GPR_ASSERT(self->result_->transport != nullptr);
// TODO(roth): We ideally want to wait until we receive HTTP/2
// settings from the server before we consider the connection
// established. If that doesn't happen before the connection
// timeout expires, then we should consider the connection attempt a
// failure and feed that information back into the backoff code.
// We could pass a notify_on_receive_settings callback to
// grpc_chttp2_transport_start_reading() to let us know when
// settings are received, but we would need to figure out how to use
// that information here.
//
// Unfortunately, we don't currently have a way to split apart the two
// effects of scheduling c->notify: we start sending RPCs immediately
// (which we want to do) and we consider the connection attempt successful
// (which we don't want to do until we get the notify_on_receive_settings
// callback from the transport). If we could split those things
// apart, then we could start sending RPCs but then wait for our
// timeout before deciding if the connection attempt is successful.
// If the attempt is not successful, then we would tear down the
// transport and feed the failure back into the backoff code.
//
// In addition, even if we did that, we would probably not want to do
// so until after transparent retries is implemented. Otherwise, any
// RPC that we attempt to send on the connection before the timeout
// would fail instead of being retried on a subsequent attempt.
self->endpoint_ = args->endpoint;
self->Ref().release(); // Ref held by OnReceiveSettings()
GRPC_CLOSURE_INIT(&self->on_receive_settings_, OnReceiveSettings, self,
grpc_schedule_on_exec_ctx);
self->Ref().release(); // Ref held by OnTimeout()
grpc_chttp2_transport_start_reading(self->result_->transport,
args->read_buffer, nullptr);
self->result_->channel_args = args->args;
args->read_buffer,
&self->on_receive_settings_);
GRPC_CLOSURE_INIT(&self->on_timeout_, OnTimeout, self,
grpc_schedule_on_exec_ctx);
grpc_timer_init(&self->timer_, self->args_.deadline, &self->on_timeout_);
} else {
// If the handshaking succeeded but there is no endpoint, then the
// handshaker may have handed off the connection to some external
// code. Just verify that exit_early flag is set.
GPR_DEBUG_ASSERT(args->exit_early);
NullThenSchedClosure(DEBUG_LOCATION, &self->notify_, error);
}
grpc_closure* notify = self->notify_;
self->notify_ = nullptr;
ExecCtx::Run(DEBUG_LOCATION, notify, error);
self->handshake_mgr_.reset();
}
self->Unref();
}
void Chttp2Connector::OnReceiveSettings(void* arg, grpc_error* error) {
Chttp2Connector* self = static_cast<Chttp2Connector*>(arg);
{
MutexLock lock(&self->mu_);
if (!self->notify_error_.has_value()) {
if (error != GRPC_ERROR_NONE) {
// Transport got an error while waiting on SETTINGS frame.
// TODO(yashykt): The following two lines should be moved to
// SubchannelConnector::Result::Reset()
grpc_transport_destroy(self->result_->transport);
grpc_channel_args_destroy(self->result_->channel_args);
self->result_->Reset();
}
self->MaybeNotify(GRPC_ERROR_REF(error));
grpc_timer_cancel(&self->timer_);
} else {
// OnTimeout() was already invoked. Call Notify() again so that notify_
// can be invoked.
self->MaybeNotify(GRPC_ERROR_NONE);
}
}
self->Unref();
}
void Chttp2Connector::OnTimeout(void* arg, grpc_error* error) {
Chttp2Connector* self = static_cast<Chttp2Connector*>(arg);
{
MutexLock lock(&self->mu_);
if (!self->notify_error_.has_value()) {
// The transport did not receive the settings frame in time. Destroy the
// transport.
// TODO(yashykt): The following two lines should be moved to
// SubchannelConnector::Result::Reset()
grpc_transport_destroy(self->result_->transport);
grpc_channel_args_destroy(self->result_->channel_args);
self->result_->Reset();
self->MaybeNotify(GRPC_ERROR_CREATE_FROM_STATIC_STRING(
"connection attempt timed out before receiving SETTINGS frame"));
} else {
// OnReceiveSettings() was already invoked. Call Notify() again so that
// notify_ can be invoked.
self->MaybeNotify(GRPC_ERROR_NONE);
}
}
self->Unref();
}
void Chttp2Connector::MaybeNotify(grpc_error* error) {
if (notify_error_.has_value()) {
GRPC_ERROR_UNREF(error);
NullThenSchedClosure(DEBUG_LOCATION, &notify_, notify_error_.value());
// Clear out the endpoint, since it is the responsibility of the transport
// to shut it down.
// Clear state for a new Connect().
grpc_endpoint_delete_from_pollset_set(endpoint_, args_.interested_parties);
// We do not destroy the endpoint here, since it is the responsibility of
// the transport to shut it down.
endpoint_ = nullptr;
notify_error_.reset();
} else {
notify_error_ = error;
}
}
} // namespace grpc_core

@ -39,6 +39,19 @@ class Chttp2Connector : public SubchannelConnector {
static void Connected(void* arg, grpc_error* error);
void StartHandshakeLocked();
static void OnHandshakeDone(void* arg, grpc_error* error);
static void OnReceiveSettings(void* arg, grpc_error* error);
static void OnTimeout(void* arg, grpc_error* error);
// We cannot invoke notify_ until both OnTimeout() and OnReceiveSettings()
// have been called since that is an indicator to the upper layer that we are
// done with the connection attempt. So, the notification process is broken
// into two steps. 1) Either OnTimeout() or OnReceiveSettings() gets invoked
// first. Whichever gets invoked, calls MaybeNotify() to set the result and
// triggers the other callback to be invoked. 2) When the other callback is
// invoked, we call MaybeNotify() again to actually invoke the notify_
// callback. Note that this only happens if the handshake is done and the
// connector is waiting on the SETTINGS frame.
void MaybeNotify(grpc_error* error);
Mutex mu_;
Args args_;
@ -47,9 +60,13 @@ class Chttp2Connector : public SubchannelConnector {
bool shutdown_ = false;
bool connecting_ = false;
// Holds the endpoint when first created before being handed off to
// the handshake manager.
// the handshake manager, and then again after handshake is done.
grpc_endpoint* endpoint_ = nullptr;
grpc_closure connected_;
grpc_closure on_receive_settings_;
grpc_timer timer_;
grpc_closure on_timeout_;
absl::optional<grpc_error*> notify_error_;
RefCountedPtr<HandshakeManager> handshake_mgr_;
};

@ -33,11 +33,10 @@
#include "src/core/lib/iomgr/sockaddr_utils.h"
#include "src/core/lib/security/credentials/credentials.h"
#include "src/core/lib/security/security_connector/security_connector.h"
#include "src/core/lib/security/transport/target_authority_table.h"
#include "src/core/lib/slice/slice_hash_table.h"
#include "src/core/lib/slice/slice_internal.h"
#include "src/core/lib/surface/api_trace.h"
#include "src/core/lib/surface/channel.h"
#include "src/core/lib/transport/authority_override.h"
#include "src/core/lib/uri/uri_parser.h"
namespace grpc_core {
@ -75,39 +74,16 @@ class Chttp2SecureClientChannelFactory : public ClientChannelFactory {
"channel args.");
return nullptr;
}
// To which address are we connecting? By default, use the server URI.
const grpc_arg* server_uri_arg =
grpc_channel_args_find(args, GRPC_ARG_SERVER_URI);
const char* server_uri_str = grpc_channel_arg_get_string(server_uri_arg);
GPR_ASSERT(server_uri_str != nullptr);
grpc_uri* server_uri =
grpc_uri_parse(server_uri_str, true /* suppress errors */);
GPR_ASSERT(server_uri != nullptr);
const TargetAuthorityTable* target_authority_table =
FindTargetAuthorityTableInArgs(args);
grpc_core::UniquePtr<char> authority;
if (target_authority_table != nullptr) {
// Find the authority for the target.
const char* target_uri_str =
Subchannel::GetUriFromSubchannelAddressArg(args);
grpc_uri* target_uri =
grpc_uri_parse(target_uri_str, false /* suppress errors */);
GPR_ASSERT(target_uri != nullptr);
if (target_uri->path[0] != '\0') { // "path" may be empty
const grpc_slice key = grpc_slice_from_static_string(
target_uri->path[0] == '/' ? target_uri->path + 1
: target_uri->path);
const grpc_core::UniquePtr<char>* value =
target_authority_table->Get(key);
if (value != nullptr) authority.reset(gpr_strdup(value->get()));
grpc_slice_unref_internal(key);
}
grpc_uri_destroy(target_uri);
}
// If the authority hasn't already been set (either because no target
// authority table was present or because the target was not present
// in the table), fall back to using the original server URI.
// Find the authority to use in the security connector.
// First, check the authority override channel arg.
// Otherwise, get it from the server name used to construct the
// channel.
grpc_core::UniquePtr<char> authority(
gpr_strdup(FindAuthorityOverrideInArgs(args)));
if (authority == nullptr) {
const char* server_uri_str =
grpc_channel_args_find_string(args, GRPC_ARG_SERVER_URI);
GPR_ASSERT(server_uri_str != nullptr);
authority = ResolverRegistry::GetDefaultAuthority(server_uri_str);
}
grpc_arg args_to_add[2];
@ -120,7 +96,6 @@ class Chttp2SecureClientChannelFactory : public ClientChannelFactory {
}
grpc_channel_args* args_with_authority =
grpc_channel_args_copy_and_add(args, args_to_add, num_args_to_add);
grpc_uri_destroy(server_uri);
// Create the security connector using the credentials and target name.
grpc_channel_args* new_args_from_connector = nullptr;
RefCountedPtr<grpc_channel_security_connector>

@ -53,19 +53,19 @@
namespace grpc_core {
namespace {
class Chttp2ServerListener : public ServerListenerInterface {
class Chttp2ServerListener : public Server::ListenerInterface {
public:
static grpc_error* Create(grpc_server* server, const char* addr,
static grpc_error* Create(Server* server, const char* addr,
grpc_channel_args* args, int* port_num);
static grpc_error* CreateWithAcceptor(grpc_server* server, const char* name,
static grpc_error* CreateWithAcceptor(Server* server, const char* name,
grpc_channel_args* args);
// Do not instantiate directly. Use one of the factory methods above.
Chttp2ServerListener(grpc_server* server, grpc_channel_args* args);
Chttp2ServerListener(Server* server, grpc_channel_args* args);
~Chttp2ServerListener();
void Start(grpc_server* server,
void Start(Server* server,
const std::vector<grpc_pollset*>* pollsets) override;
channelz::ListenSocketNode* channelz_listen_socket_node() const override {
@ -113,10 +113,10 @@ class Chttp2ServerListener : public ServerListenerInterface {
static void TcpServerShutdownComplete(void* arg, grpc_error* error);
static void DestroyListener(grpc_server* /*server*/, void* arg,
static void DestroyListener(Server* /*server*/, void* arg,
grpc_closure* destroy_done);
grpc_server* const server_;
Server* const server_;
grpc_channel_args* const args_;
grpc_tcp_server* tcp_server_;
Mutex mu_;
@ -194,12 +194,10 @@ void Chttp2ServerListener::ConnectionState::OnHandshakeDone(void* arg,
{
MutexLock lock(&self->listener_->mu_);
grpc_resource_user* resource_user =
grpc_server_get_default_resource_user(self->listener_->server_);
self->listener_->server_->default_resource_user();
if (error != GRPC_ERROR_NONE || self->listener_->shutdown_) {
const char* error_str = grpc_error_string(error);
gpr_log(GPR_DEBUG, "Handshaking failed: %s", error_str);
grpc_resource_user* resource_user =
grpc_server_get_default_resource_user(self->listener_->server_);
if (resource_user != nullptr) {
grpc_resource_user_free(resource_user,
GRPC_RESOURCE_QUOTA_CHANNEL_SIZE);
@ -224,10 +222,9 @@ void Chttp2ServerListener::ConnectionState::OnHandshakeDone(void* arg,
if (args->endpoint != nullptr) {
grpc_transport* transport = grpc_create_chttp2_transport(
args->args, args->endpoint, false, resource_user);
grpc_server_setup_transport(
self->listener_->server_, transport, self->accepting_pollset_,
args->args, grpc_chttp2_transport_get_socket_node(transport),
resource_user);
self->listener_->server_->SetupTransport(
transport, self->accepting_pollset_, args->args,
grpc_chttp2_transport_get_socket_node(transport), resource_user);
// Use notify_on_receive_settings callback to enforce the
// handshake deadline.
// Note: The reinterpret_cast<>s here are safe, because
@ -270,7 +267,7 @@ void Chttp2ServerListener::ConnectionState::OnHandshakeDone(void* arg,
// Chttp2ServerListener
//
grpc_error* Chttp2ServerListener::Create(grpc_server* server, const char* addr,
grpc_error* Chttp2ServerListener::Create(Server* server, const char* addr,
grpc_channel_args* args,
int* port_num) {
std::vector<grpc_error*> error_list;
@ -327,8 +324,7 @@ grpc_error* Chttp2ServerListener::Create(grpc_server* server, const char* addr,
addr, absl::StrFormat("chttp2 listener %s", addr));
}
/* Register with the server only upon success */
grpc_server_add_listener(server,
OrphanablePtr<ServerListenerInterface>(listener));
server->AddListener(OrphanablePtr<Server::ListenerInterface>(listener));
return GRPC_ERROR_NONE;
}();
if (resolved != nullptr) {
@ -352,7 +348,7 @@ grpc_error* Chttp2ServerListener::Create(grpc_server* server, const char* addr,
return error;
}
grpc_error* Chttp2ServerListener::CreateWithAcceptor(grpc_server* server,
grpc_error* Chttp2ServerListener::CreateWithAcceptor(Server* server,
const char* name,
grpc_channel_args* args) {
Chttp2ServerListener* listener = new Chttp2ServerListener(server, args);
@ -366,12 +362,11 @@ grpc_error* Chttp2ServerListener::CreateWithAcceptor(grpc_server* server,
TcpServerFdHandler** arg_val =
grpc_channel_args_find_pointer<TcpServerFdHandler*>(args, name);
*arg_val = grpc_tcp_server_create_fd_handler(listener->tcp_server_);
grpc_server_add_listener(server,
OrphanablePtr<ServerListenerInterface>(listener));
server->AddListener(OrphanablePtr<Server::ListenerInterface>(listener));
return GRPC_ERROR_NONE;
}
Chttp2ServerListener::Chttp2ServerListener(grpc_server* server,
Chttp2ServerListener::Chttp2ServerListener(Server* server,
grpc_channel_args* args)
: server_(server), args_(args) {
GRPC_CLOSURE_INIT(&tcp_server_shutdown_complete_, TcpServerShutdownComplete,
@ -383,7 +378,7 @@ Chttp2ServerListener::~Chttp2ServerListener() {
}
/* Server callback: start listening on our ports */
void Chttp2ServerListener::Start(grpc_server* /*server*/,
void Chttp2ServerListener::Start(Server* /*server*/,
const std::vector<grpc_pollset*>* pollsets) {
{
MutexLock lock(&mu_);
@ -400,8 +395,7 @@ void Chttp2ServerListener::SetOnDestroyDone(grpc_closure* on_destroy_done) {
RefCountedPtr<HandshakeManager> Chttp2ServerListener::CreateHandshakeManager() {
MutexLock lock(&mu_);
if (shutdown_) return nullptr;
grpc_resource_user* resource_user =
grpc_server_get_default_resource_user(server_);
grpc_resource_user* resource_user = server_->default_resource_user();
if (resource_user != nullptr &&
!grpc_resource_user_safe_alloc(resource_user,
GRPC_RESOURCE_QUOTA_CHANNEL_SIZE)) {
@ -475,7 +469,7 @@ void Chttp2ServerListener::Orphan() {
// Chttp2ServerAddPort()
//
grpc_error* Chttp2ServerAddPort(grpc_server* server, const char* addr,
grpc_error* Chttp2ServerAddPort(Server* server, const char* addr,
grpc_channel_args* args, int* port_num) {
if (strncmp(addr, "external:", 9) == 0) {
return grpc_core::Chttp2ServerListener::CreateWithAcceptor(server, addr,

@ -24,12 +24,13 @@
#include <grpc/impl/codegen/grpc_types.h>
#include "src/core/lib/iomgr/error.h"
#include "src/core/lib/surface/server.h"
namespace grpc_core {
/// Adds a port to \a server. Sets \a port_num to the port number.
/// Takes ownership of \a args.
grpc_error* Chttp2ServerAddPort(grpc_server* server, const char* addr,
grpc_error* Chttp2ServerAddPort(Server* server, const char* addr,
grpc_channel_args* args, int* port_num);
} // namespace grpc_core

@ -33,8 +33,8 @@ int grpc_server_add_insecure_http2_port(grpc_server* server, const char* addr) {
GRPC_API_TRACE("grpc_server_add_insecure_http2_port(server=%p, addr=%s)", 2,
(server, addr));
grpc_error* err = grpc_core::Chttp2ServerAddPort(
server, addr,
grpc_channel_args_copy(grpc_server_get_channel_args(server)), &port_num);
server->core_server.get(), addr,
grpc_channel_args_copy(server->core_server->channel_args()), &port_num);
if (err != GRPC_ERROR_NONE) {
const char* msg = grpc_error_string(err);
gpr_log(GPR_ERROR, "%s", msg);

@ -41,21 +41,21 @@ void grpc_server_add_insecure_channel_from_fd(grpc_server* server,
GPR_ASSERT(reserved == nullptr);
grpc_core::ExecCtx exec_ctx;
grpc_core::Server* core_server = server->core_server.get();
const grpc_channel_args* server_args = core_server->channel_args();
std::string name = absl::StrCat("fd:", fd);
grpc_endpoint* server_endpoint =
grpc_tcp_create(grpc_fd_create(fd, name.c_str(), true),
grpc_server_get_channel_args(server), name.c_str());
grpc_endpoint* server_endpoint = grpc_tcp_create(
grpc_fd_create(fd, name.c_str(), true), server_args, name.c_str());
const grpc_channel_args* server_args = grpc_server_get_channel_args(server);
grpc_transport* transport = grpc_create_chttp2_transport(
server_args, server_endpoint, false /* is_client */);
for (grpc_pollset* pollset : grpc_server_get_pollsets(server)) {
for (grpc_pollset* pollset : core_server->pollsets()) {
grpc_endpoint_add_to_pollset(server_endpoint, pollset);
}
grpc_server_setup_transport(server, transport, nullptr, server_args, nullptr);
core_server->SetupTransport(transport, nullptr, server_args, nullptr);
grpc_chttp2_transport_start_reading(transport, nullptr, nullptr);
}

@ -68,10 +68,11 @@ int grpc_server_add_secure_http2_port(grpc_server* server, const char* addr,
args_to_add[0] = grpc_server_credentials_to_arg(creds);
args_to_add[1] = grpc_security_connector_to_arg(sc.get());
args =
grpc_channel_args_copy_and_add(grpc_server_get_channel_args(server),
grpc_channel_args_copy_and_add(server->core_server->channel_args(),
args_to_add, GPR_ARRAY_SIZE(args_to_add));
// Add server port.
err = grpc_core::Chttp2ServerAddPort(server, addr, args, &port_num);
err = grpc_core::Chttp2ServerAddPort(server->core_server.get(), addr, args,
&port_num);
done:
sc.reset(DEBUG_LOCATION, "server");

@ -1,20 +1,18 @@
/*
*
* Copyright 2018 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.
*
*/
//
// Copyright 2018 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 <grpc/support/port_platform.h>
@ -104,7 +102,7 @@ grpc_core::TraceFlag grpc_keepalive_trace(false, "http_keepalive");
grpc_core::DebugOnlyTraceFlag grpc_trace_chttp2_refcount(false,
"chttp2_refcount");
/* forward declarations of various callbacks that we'll build closures around */
// forward declarations of various callbacks that we'll build closures around
static void write_action_begin_locked(void* t, grpc_error* error);
static void write_action(void* t, grpc_error* error);
static void write_action_end(void* t, grpc_error* error);
@ -116,14 +114,14 @@ static void continue_read_action_locked(grpc_chttp2_transport* t);
static void complete_fetch(void* gs, grpc_error* error);
static void complete_fetch_locked(void* gs, grpc_error* error);
/** Set a transport level setting, and push it to our peer */
// Set a transport level setting, and push it to our peer
static void queue_setting_update(grpc_chttp2_transport* t,
grpc_chttp2_setting_id id, uint32_t value);
static void close_from_api(grpc_chttp2_transport* t, grpc_chttp2_stream* s,
grpc_error* error);
/** Start new streams that have been created if we can */
// Start new streams that have been created if we can
static void maybe_start_some_streams(grpc_chttp2_transport* t);
static void connectivity_state_set(grpc_chttp2_transport* t,
@ -156,7 +154,7 @@ static void send_ping_locked(grpc_chttp2_transport* t,
grpc_closure* on_complete);
static void retry_initiate_ping_locked(void* tp, grpc_error* error);
/** keepalive-relevant functions */
// keepalive-relevant functions
static void init_keepalive_ping(void* arg, grpc_error* error);
static void init_keepalive_ping_locked(void* arg, grpc_error* error);
static void start_keepalive_ping(void* arg, grpc_error* error);
@ -172,9 +170,9 @@ static void reset_byte_stream(void* arg, grpc_error* error);
// GRPC_EXPERIMENTAL_DISABLE_FLOW_CONTROL
bool g_flow_control_enabled = true;
/*******************************************************************************
* CONSTRUCTION/DESTRUCTION/REFCOUNTING
*/
//
// CONSTRUCTION/DESTRUCTION/REFCOUNTING
//
grpc_chttp2_transport::~grpc_chttp2_transport() {
size_t i;
@ -228,12 +226,11 @@ grpc_chttp2_transport::~grpc_chttp2_transport() {
GRPC_ERROR_UNREF(closed_with_error);
gpr_free(ping_acks);
gpr_free(peer_string);
}
static const grpc_transport_vtable* get_vtable(void);
/* Returns whether bdp is enabled */
// Returns whether bdp is enabled
static bool read_channel_args(grpc_chttp2_transport* t,
const grpc_channel_args* channel_args,
bool is_client) {
@ -380,11 +377,9 @@ static bool read_channel_args(grpc_chttp2_transport* t,
}
}
if (channelz_enabled) {
// TODO(ncteisen): add an API to endpoint to query for local addr, and pass
// it in here, so SocketNode knows its own address.
t->channelz_socket =
grpc_core::MakeRefCounted<grpc_core::channelz::SocketNode>(
"", t->peer_string,
std::string(grpc_endpoint_get_local_address(t->ep)), t->peer_string,
absl::StrFormat("%s %s", get_vtable()->name, t->peer_string));
}
return enable_bdp;
@ -431,8 +426,8 @@ static void init_keepalive_pings_if_enabled(grpc_chttp2_transport* t) {
grpc_core::ExecCtx::Get()->Now() + t->keepalive_time,
&t->init_keepalive_ping_locked);
} else {
/* Use GRPC_CHTTP2_KEEPALIVE_STATE_DISABLED to indicate there are no
inflight keeaplive timers */
// Use GRPC_CHTTP2_KEEPALIVE_STATE_DISABLED to indicate there are no
// inflight keeaplive timers
t->keepalive_state = GRPC_CHTTP2_KEEPALIVE_STATE_DISABLED;
}
}
@ -453,11 +448,11 @@ grpc_chttp2_transport::grpc_chttp2_transport(
GPR_ASSERT(strlen(GRPC_CHTTP2_CLIENT_CONNECT_STRING) ==
GRPC_CHTTP2_CLIENT_CONNECT_STRLEN);
base.vtable = get_vtable();
/* 8 is a random stab in the dark as to a good initial size: it's small enough
that it shouldn't waste memory for infrequently used connections, yet
large enough that the exponential growth should happen nicely when it's
needed.
TODO(ctiller): tune this */
// 8 is a random stab in the dark as to a good initial size: it's small enough
// that it shouldn't waste memory for infrequently used connections, yet
// large enough that the exponential growth should happen nicely when it's
// needed.
// TODO(ctiller): tune this
grpc_chttp2_stream_map_init(&stream_map, 8);
grpc_slice_buffer_init(&read_buffer);
@ -468,7 +463,7 @@ grpc_chttp2_transport::grpc_chttp2_transport(
}
grpc_chttp2_hpack_compressor_init(&hpack_compressor);
grpc_slice_buffer_init(&qbuf);
/* copy in initial settings to all setting sets */
// copy in initial settings to all setting sets
size_t i;
int j;
for (i = 0; i < GRPC_CHTTP2_NUM_SETTINGS; i++) {
@ -479,7 +474,7 @@ grpc_chttp2_transport::grpc_chttp2_transport(
grpc_chttp2_hpack_parser_init(&hpack_parser);
grpc_chttp2_goaway_parser_init(&goaway_parser);
/* configure http2 the way we like it */
// configure http2 the way we like it
if (is_client) {
queue_setting_update(this, GRPC_CHTTP2_SETTINGS_ENABLE_PUSH, 0);
queue_setting_update(this, GRPC_CHTTP2_SETTINGS_MAX_CONCURRENT_STREAMS, 0);
@ -505,7 +500,7 @@ grpc_chttp2_transport::grpc_chttp2_transport(
enable_bdp = false;
}
/* No pings allowed before receiving a header or data frame. */
// No pings allowed before receiving a header or data frame.
ping_state.pings_before_data_required = 0;
ping_state.is_delayed_ping_timer_set = false;
ping_state.last_ping_sent_time = GRPC_MILLIS_INF_PAST;
@ -582,11 +577,11 @@ static void close_transport_locked(grpc_chttp2_transport* t,
break;
case GRPC_CHTTP2_KEEPALIVE_STATE_DYING:
case GRPC_CHTTP2_KEEPALIVE_STATE_DISABLED:
/* keepalive timers are not set in these two states */
// keepalive timers are not set in these two states
break;
}
/* flush writable stream list to avoid dangling references */
// flush writable stream list to avoid dangling references
grpc_chttp2_stream* s;
while (grpc_chttp2_list_pop_writable_stream(t, &s)) {
GRPC_CHTTP2_STREAM_UNREF(s, "chttp2_writing:close");
@ -596,7 +591,7 @@ static void close_transport_locked(grpc_chttp2_transport* t,
}
if (t->notify_on_receive_settings != nullptr) {
grpc_core::ExecCtx::Run(DEBUG_LOCATION, t->notify_on_receive_settings,
GRPC_ERROR_CANCELLED);
GRPC_ERROR_REF(error));
t->notify_on_receive_settings = nullptr;
}
GRPC_ERROR_UNREF(error);
@ -619,9 +614,9 @@ void grpc_chttp2_stream_unref(grpc_chttp2_stream* s) {
#endif
grpc_chttp2_stream::Reffer::Reffer(grpc_chttp2_stream* s) {
/* We reserve one 'active stream' that's dropped when the stream is
read-closed. The others are for Chttp2IncomingByteStreams that are
actively reading */
// We reserve one 'active stream' that's dropped when the stream is
// read-closed. The others are for Chttp2IncomingByteStreams that are
// actively reading
GRPC_CHTTP2_STREAM_REF(s, "chttp2");
GRPC_CHTTP2_REF_TRANSPORT(s->t, "stream");
}
@ -777,9 +772,9 @@ grpc_chttp2_stream* grpc_chttp2_parsing_accept_stream(grpc_chttp2_transport* t,
return accepting;
}
/*******************************************************************************
* OUTPUT PROCESSING
*/
//
// OUTPUT PROCESSING
//
static const char* write_state_name(grpc_chttp2_write_state st) {
switch (st) {
@ -797,15 +792,15 @@ static void set_write_state(grpc_chttp2_transport* t,
grpc_chttp2_write_state st, const char* reason) {
GRPC_CHTTP2_IF_TRACING(
gpr_log(GPR_INFO, "W:%p %s [%s] state %s -> %s [%s]", t,
t->is_client ? "CLIENT" : "SERVER", t->peer_string,
t->is_client ? "CLIENT" : "SERVER", t->peer_string.c_str(),
write_state_name(t->write_state), write_state_name(st), reason));
t->write_state = st;
/* If the state is being reset back to idle, it means a write was just
* finished. Make sure all the run_after_write closures are scheduled.
*
* This is also our chance to close the transport if the transport was marked
* to be closed after all writes finish (for example, if we received a go-away
* from peer while we had some pending writes) */
// If the state is being reset back to idle, it means a write was just
// finished. Make sure all the run_after_write closures are scheduled.
//
// This is also our chance to close the transport if the transport was marked
// to be closed after all writes finish (for example, if we received a go-away
// from peer while we had some pending writes)
if (st == GRPC_CHTTP2_WRITE_STATE_IDLE) {
grpc_core::ExecCtx::RunList(DEBUG_LOCATION, &t->run_after_write);
if (t->close_transport_on_writes_finished != nullptr) {
@ -892,22 +887,22 @@ void grpc_chttp2_initiate_write(grpc_chttp2_transport* t,
set_write_state(t, GRPC_CHTTP2_WRITE_STATE_WRITING,
grpc_chttp2_initiate_write_reason_string(reason));
GRPC_CHTTP2_REF_TRANSPORT(t, "writing");
/* Note that the 'write_action_begin_locked' closure is being scheduled
* on the 'finally_scheduler' of t->combiner. This means that
* 'write_action_begin_locked' is called only *after* all the other
* closures (some of which are potentially initiating more writes on the
* transport) are executed on the t->combiner.
*
* The reason for scheduling on finally_scheduler is to make sure we batch
* as many writes as possible. 'write_action_begin_locked' is the function
* that gathers all the relevant bytes (which are at various places in the
* grpc_chttp2_transport structure) and append them to 'outbuf' field in
* grpc_chttp2_transport thereby batching what would have been potentially
* multiple write operations.
*
* Also, 'write_action_begin_locked' only gathers the bytes into outbuf.
* It does not call the endpoint to write the bytes. That is done by the
* 'write_action' (which is scheduled by 'write_action_begin_locked') */
// Note that the 'write_action_begin_locked' closure is being scheduled
// on the 'finally_scheduler' of t->combiner. This means that
// 'write_action_begin_locked' is called only *after* all the other
// closures (some of which are potentially initiating more writes on the
// transport) are executed on the t->combiner.
//
// The reason for scheduling on finally_scheduler is to make sure we batch
// as many writes as possible. 'write_action_begin_locked' is the function
// that gathers all the relevant bytes (which are at various places in the
// grpc_chttp2_transport structure) and append them to 'outbuf' field in
// grpc_chttp2_transport thereby batching what would have been potentially
// multiple write operations.
//
// Also, 'write_action_begin_locked' only gathers the bytes into outbuf.
// It does not call the endpoint to write the bytes. That is done by the
// 'write_action' (which is scheduled by 'write_action_begin_locked')
t->combiner->FinallyRun(
GRPC_CLOSURE_INIT(&t->write_action_begin_locked,
write_action_begin_locked, t, nullptr),
@ -959,9 +954,9 @@ static void write_action_begin_locked(void* gt, grpc_error* /*error_ignored*/) {
write_action(t, GRPC_ERROR_NONE);
if (t->reading_paused_on_pending_induced_frames) {
GPR_ASSERT(t->num_pending_induced_frames == 0);
/* We had paused reading, because we had many induced frames (SETTINGS
* ACK, PINGS ACK and RST_STREAMS) pending in t->qbuf. Now that we have
* been able to flush qbuf, we can resume reading. */
// We had paused reading, because we had many induced frames (SETTINGS
// ACK, PINGS ACK and RST_STREAMS) pending in t->qbuf. Now that we have
// been able to flush qbuf, we can resume reading.
GRPC_CHTTP2_IF_TRACING(gpr_log(
GPR_INFO,
"transport %p : Resuming reading after being paused due to too "
@ -996,8 +991,8 @@ static void write_action_end(void* tp, grpc_error* error) {
GRPC_ERROR_REF(error));
}
/* Callback from the grpc_endpoint after bytes have been written by calling
* sendmsg */
// Callback from the grpc_endpoint after bytes have been written by calling
// sendmsg
static void write_action_end_locked(void* tp, grpc_error* error) {
GPR_TIMER_SCOPE("terminate_writing_with_lock", 0);
grpc_chttp2_transport* t = static_cast<grpc_chttp2_transport*>(tp);
@ -1083,17 +1078,17 @@ void grpc_chttp2_add_incoming_goaway(grpc_chttp2_transport* t,
GRPC_CHTTP2_IF_TRACING(
gpr_log(GPR_INFO, "transport %p got goaway with last stream id %d", t,
last_stream_id));
/* We want to log this irrespective of whether http tracing is enabled if we
* received a GOAWAY with a non NO_ERROR code. */
// We want to log this irrespective of whether http tracing is enabled if we
// received a GOAWAY with a non NO_ERROR code.
if (goaway_error != GRPC_HTTP2_NO_ERROR) {
gpr_log(GPR_INFO, "%s: Got goaway [%d] err=%s", t->peer_string,
gpr_log(GPR_INFO, "%s: Got goaway [%d] err=%s", t->peer_string.c_str(),
goaway_error, grpc_error_string(t->goaway_error));
}
absl::Status status = grpc_error_to_absl_status(t->goaway_error);
/* When a client receives a GOAWAY with error code ENHANCE_YOUR_CALM and debug
* data equal to "too_many_pings", it should log the occurrence at a log level
* that is enabled by default and double the configured KEEPALIVE_TIME used
* for new connections on that channel. */
// When a client receives a GOAWAY with error code ENHANCE_YOUR_CALM and debug
// data equal to "too_many_pings", it should log the occurrence at a log level
// that is enabled by default and double the configured KEEPALIVE_TIME used
// for new connections on that channel.
if (GPR_UNLIKELY(t->is_client &&
goaway_error == GRPC_HTTP2_ENHANCE_YOUR_CALM &&
grpc_slice_str_cmp(goaway_text, "too_many_pings") == 0)) {
@ -1111,15 +1106,15 @@ void grpc_chttp2_add_incoming_goaway(grpc_chttp2_transport* t,
status.SetPayload(grpc_core::keepalive_throttling_key,
absl::Cord(std::to_string(t->keepalive_time)));
}
/* lie: use transient failure from the transport to indicate goaway has been
* received */
// lie: use transient failure from the transport to indicate goaway has been
// received.
connectivity_state_set(t, GRPC_CHANNEL_TRANSIENT_FAILURE, status,
"got_goaway");
}
static void maybe_start_some_streams(grpc_chttp2_transport* t) {
grpc_chttp2_stream* s;
/* cancel out streams that haven't yet started if we have received a GOAWAY */
// cancel out streams that haven't yet started if we have received a GOAWAY
if (t->goaway_error != GRPC_ERROR_NONE) {
while (grpc_chttp2_list_pop_waiting_for_concurrency(t, &s)) {
grpc_chttp2_cancel_stream(
@ -1130,14 +1125,14 @@ static void maybe_start_some_streams(grpc_chttp2_transport* t) {
}
return;
}
/* start streams where we have free grpc_chttp2_stream ids and free
* concurrency */
// start streams where we have free grpc_chttp2_stream ids and free
// * concurrency
while (t->next_stream_id <= MAX_CLIENT_STREAM_ID &&
grpc_chttp2_stream_map_size(&t->stream_map) <
t->settings[GRPC_PEER_SETTINGS]
[GRPC_CHTTP2_SETTINGS_MAX_CONCURRENT_STREAMS] &&
grpc_chttp2_list_pop_waiting_for_concurrency(t, &s)) {
/* safe since we can't (legally) be parsing this stream yet */
// safe since we can't (legally) be parsing this stream yet
GRPC_CHTTP2_IF_TRACING(gpr_log(
GPR_INFO,
"HTTP:%s: Transport %p allocating new grpc_chttp2_stream %p to id %d",
@ -1159,7 +1154,7 @@ static void maybe_start_some_streams(grpc_chttp2_transport* t) {
grpc_chttp2_mark_stream_writable(t, s);
grpc_chttp2_initiate_write(t, GRPC_CHTTP2_INITIATE_WRITE_START_NEW_STREAM);
}
/* cancel out streams that will never be started */
// cancel out streams that will never be started
if (t->next_stream_id >= MAX_CLIENT_STREAM_ID) {
while (grpc_chttp2_list_pop_waiting_for_concurrency(t, &s)) {
grpc_chttp2_cancel_stream(
@ -1171,12 +1166,12 @@ static void maybe_start_some_streams(grpc_chttp2_transport* t) {
}
}
/* Flag that this closure barrier may be covering a write in a pollset, and so
we should not complete this closure until we can prove that the write got
scheduled */
// Flag that this closure barrier may be covering a write in a pollset, and so
// we should not complete this closure until we can prove that the write got
// scheduled
#define CLOSURE_BARRIER_MAY_COVER_WRITE (1 << 0)
/* First bit of the reference count, stored in the high order bits (with the low
bits being used for flags defined above) */
// First bit of the reference count, stored in the high order bits (with the low
// bits being used for flags defined above)
#define CLOSURE_BARRIER_FIRST_REF_BIT (1 << 16)
static grpc_closure* add_closure_barrier(grpc_closure* closure) {
@ -1220,7 +1215,7 @@ void grpc_chttp2_complete_closure_step(grpc_chttp2_transport* t,
"Error in HTTP transport completing operation");
closure->error_data.error = grpc_error_set_str(
closure->error_data.error, GRPC_ERROR_STR_TARGET_ADDRESS,
grpc_slice_from_copied_string(t->peer_string));
grpc_slice_from_copied_string(t->peer_string.c_str()));
}
closure->error_data.error =
grpc_error_add_child(closure->error_data.error, error);
@ -1268,7 +1263,7 @@ static void continue_fetching_send_locked(grpc_chttp2_transport* t,
grpc_chttp2_stream* s) {
for (;;) {
if (s->fetching_send_message == nullptr) {
/* Stream was cancelled before message fetch completed */
// Stream was cancelled before message fetch completed
abort(); /* TODO(ctiller): what cleanup here? */
return; /* early out */
}
@ -1398,7 +1393,7 @@ static void perform_stream_op_locked(void* stream_op,
GPR_ASSERT(s->send_initial_metadata_finished == nullptr);
on_complete->next_data.scratch |= CLOSURE_BARRIER_MAY_COVER_WRITE;
/* Identify stream compression */
// Identify stream compression
if (op_payload->send_initial_metadata.send_initial_metadata->idx.named
.content_encoding == nullptr ||
grpc_stream_compression_method_parse(
@ -1478,7 +1473,7 @@ static void perform_stream_op_locked(void* stream_op,
}
if (op_payload->send_initial_metadata.peer_string != nullptr) {
gpr_atm_rel_store(op_payload->send_initial_metadata.peer_string,
(gpr_atm)t->peer_string);
(gpr_atm)t->peer_string.c_str());
}
}
@ -1571,8 +1566,8 @@ static void perform_stream_op_locked(void* stream_op,
"stream was closed"),
"send_trailing_metadata_finished");
} else if (s->id != 0) {
/* TODO(ctiller): check if there's flow control for any outstanding
bytes before going writable */
// TODO(ctiller): check if there's flow control for any outstanding
// bytes before going writable
grpc_chttp2_mark_stream_writable(t, s);
grpc_chttp2_initiate_write(
t, GRPC_CHTTP2_INITIATE_WRITE_SEND_TRAILING_METADATA);
@ -1591,7 +1586,7 @@ static void perform_stream_op_locked(void* stream_op,
op_payload->recv_initial_metadata.trailing_metadata_available;
if (op_payload->recv_initial_metadata.peer_string != nullptr) {
gpr_atm_rel_store(op_payload->recv_initial_metadata.peer_string,
(gpr_atm)t->peer_string);
(gpr_atm)t->peer_string.c_str());
}
grpc_chttp2_maybe_complete_recv_initial_metadata(t, s);
}
@ -1674,8 +1669,8 @@ static void perform_stream_op(grpc_transport* gt, grpc_stream* gs,
}
static void cancel_pings(grpc_chttp2_transport* t, grpc_error* error) {
/* callback remaining pings: they're not allowed to call into the transport,
and maybe they hold resources that need to be freed */
// callback remaining pings: they're not allowed to call into the transport,
// and maybe they hold resources that need to be freed
grpc_chttp2_ping_queue* pq = &t->ping_queue;
GPR_ASSERT(error != GRPC_ERROR_NONE);
for (size_t j = 0; j < GRPC_CHTTP2_PCL_COUNT; j++) {
@ -1701,11 +1696,9 @@ static void send_ping_locked(grpc_chttp2_transport* t,
GRPC_ERROR_NONE);
}
/*
* Specialized form of send_ping_locked for keepalive ping. If there is already
* a ping in progress, the keepalive ping would piggyback onto that ping,
* instead of waiting for that ping to complete and then starting a new ping.
*/
// Specialized form of send_ping_locked for keepalive ping. If there is already
// a ping in progress, the keepalive ping would piggyback onto that ping,
// instead of waiting for that ping to complete and then starting a new ping.
static void send_keepalive_ping_locked(grpc_chttp2_transport* t) {
if (t->closed_with_error != GRPC_ERROR_NONE) {
t->combiner->Run(GRPC_CLOSURE_INIT(&t->start_keepalive_ping_locked,
@ -1719,7 +1712,7 @@ static void send_keepalive_ping_locked(grpc_chttp2_transport* t) {
}
grpc_chttp2_ping_queue* pq = &t->ping_queue;
if (!grpc_closure_list_empty(pq->lists[GRPC_CHTTP2_PCL_INFLIGHT])) {
/* There is a ping in flight. Add yourself to the inflight closure list. */
// There is a ping in flight. Add yourself to the inflight closure list.
t->combiner->Run(GRPC_CLOSURE_INIT(&t->start_keepalive_ping_locked,
start_keepalive_ping_locked, t, nullptr),
GRPC_ERROR_REF(t->closed_with_error));
@ -1761,9 +1754,8 @@ static void retry_initiate_ping_locked(void* tp, grpc_error* error) {
void grpc_chttp2_ack_ping(grpc_chttp2_transport* t, uint64_t id) {
grpc_chttp2_ping_queue* pq = &t->ping_queue;
if (pq->inflight_id != id) {
char* from = grpc_endpoint_get_peer(t->ep);
gpr_log(GPR_DEBUG, "Unknown ping response from %s: %" PRIx64, from, id);
gpr_free(from);
gpr_log(GPR_DEBUG, "Unknown ping response from %s: %" PRIx64,
t->peer_string.c_str(), id);
return;
}
grpc_core::ExecCtx::RunList(DEBUG_LOCATION,
@ -1774,8 +1766,8 @@ void grpc_chttp2_ack_ping(grpc_chttp2_transport* t, uint64_t id) {
}
static void send_goaway(grpc_chttp2_transport* t, grpc_error* error) {
/* We want to log this irrespective of whether http tracing is enabled */
gpr_log(GPR_INFO, "%s: Sending goaway err=%s", t->peer_string,
// We want to log this irrespective of whether http tracing is enabled
gpr_log(GPR_INFO, "%s: Sending goaway err=%s", t->peer_string.c_str(),
grpc_error_string(error));
t->sent_goaway_state = GRPC_CHTTP2_GOAWAY_SEND_SCHEDULED;
grpc_http2_error_code http_error;
@ -1796,7 +1788,7 @@ void grpc_chttp2_add_ping_strike(grpc_chttp2_transport* t) {
grpc_error_set_int(
GRPC_ERROR_CREATE_FROM_STATIC_STRING("too_many_pings"),
GRPC_ERROR_INT_HTTP2_ERROR, GRPC_HTTP2_ENHANCE_YOUR_CALM));
/*The transport will be closed after the write is done */
// The transport will be closed after the write is done
close_transport_locked(
t, grpc_error_set_int(
GRPC_ERROR_CREATE_FROM_STATIC_STRING("Too many pings"),
@ -1871,9 +1863,9 @@ static void perform_transport_op(grpc_transport* gt, grpc_transport_op* op) {
GRPC_ERROR_NONE);
}
/*******************************************************************************
* INPUT PROCESSING - GENERAL
*/
//
// INPUT PROCESSING - GENERAL
//
void grpc_chttp2_maybe_complete_recv_initial_metadata(
grpc_chttp2_transport* /*t*/, grpc_chttp2_stream* s) {
@ -1993,8 +1985,8 @@ void grpc_chttp2_maybe_complete_recv_trailing_metadata(grpc_chttp2_transport* t,
s->unprocessed_incoming_frames_buffer.length > 0;
if (s->read_closed && s->frame_storage.length > 0 && !pending_data &&
!s->seen_error && s->recv_trailing_metadata_finished != nullptr) {
/* Maybe some SYNC_FLUSH data is left in frame_storage. Consume them and
* maybe decompress the next 5 bytes in the stream. */
// Maybe some SYNC_FLUSH data is left in frame_storage. Consume them and
// maybe decompress the next 5 bytes in the stream.
if (s->stream_decompression_method ==
GRPC_STREAM_COMPRESSION_IDENTITY_DECOMPRESS) {
grpc_slice_buffer_move_first(
@ -2116,12 +2108,12 @@ void grpc_chttp2_fake_status(grpc_chttp2_transport* t, grpc_chttp2_stream* s,
if (status != GRPC_STATUS_OK) {
s->seen_error = true;
}
/* stream_global->recv_trailing_metadata_finished gives us a
last chance replacement: we've received trailing metadata,
but something more important has become available to signal
to the upper layers - drop what we've got, and then publish
what we want - which is safe because we haven't told anyone
about the metadata yet */
// stream_global->recv_trailing_metadata_finished gives us a
// last chance replacement: we've received trailing metadata,
// but something more important has become available to signal
// to the upper layers - drop what we've got, and then publish
// what we want - which is safe because we haven't told anyone
// about the metadata yet
if (s->published_metadata[1] == GRPC_METADATA_NOT_PUBLISHED ||
s->recv_trailing_metadata_finished != nullptr) {
char status_string[GPR_LTOA_MIN_BUFSIZE];
@ -2213,7 +2205,7 @@ void grpc_chttp2_mark_stream_closed(grpc_chttp2_transport* t,
grpc_chttp2_stream* s, int close_reads,
int close_writes, grpc_error* error) {
if (s->read_closed && s->write_closed) {
/* already closed, but we should still fake the status if needed. */
// already closed, but we should still fake the status if needed.
grpc_error* overall_error = removal_error(error, s, "Stream removed");
if (overall_error != GRPC_ERROR_NONE) {
grpc_chttp2_fake_status(t, s, overall_error);
@ -2240,7 +2232,7 @@ void grpc_chttp2_mark_stream_closed(grpc_chttp2_transport* t,
if (s->id != 0) {
remove_stream(t, s->id, GRPC_ERROR_REF(overall_error));
} else {
/* Purge streams waiting on concurrency still waiting for id assignment */
// Purge streams waiting on concurrency still waiting for id assignment
grpc_chttp2_list_remove_waiting_for_concurrency(t, s);
}
if (overall_error != GRPC_ERROR_NONE) {
@ -2279,12 +2271,12 @@ static void close_from_api(grpc_chttp2_transport* t, grpc_chttp2_stream* s,
GPR_ASSERT(grpc_status >= 0 && (int)grpc_status < 100);
/* Hand roll a header block.
This is unnecessarily ugly - at some point we should find a more
elegant solution.
It's complicated by the fact that our send machinery would be dead by
the time we got around to sending this, so instead we ignore HPACK
compression and just write the uncompressed bytes onto the wire. */
// Hand roll a header block.
// This is unnecessarily ugly - at some point we should find a more
// elegant solution.
// It's complicated by the fact that our send machinery would be dead by
// the time we got around to sending this, so instead we ignore HPACK
// compression and just write the uncompressed bytes onto the wire.
if (!s->sent_initial_metadata) {
http_status_hdr = GRPC_SLICE_MALLOC(13);
p = GRPC_SLICE_START_PTR(http_status_hdr);
@ -2445,9 +2437,9 @@ static void end_all_the_calls(grpc_chttp2_transport* t, grpc_error* error) {
GRPC_ERROR_UNREF(error);
}
/*******************************************************************************
* INPUT PROCESSING - PARSING
*/
//
// INPUT PROCESSING - PARSING
//
template <class F>
static void WithUrgency(grpc_chttp2_transport* t,
@ -2582,8 +2574,8 @@ static void read_action_locked(void* tp, grpc_error* error) {
"Transport closed", &t->closed_with_error, 1);
}
if (error != GRPC_ERROR_NONE) {
/* If a goaway frame was received, this might be the reason why the read
* failed. Add this info to the error */
// If a goaway frame was received, this might be the reason why the read
// failed. Add this info to the error
if (t->goaway_error != GRPC_ERROR_NONE) {
error = grpc_error_add_child(error, GRPC_ERROR_REF(t->goaway_error));
}
@ -2592,7 +2584,7 @@ static void read_action_locked(void* tp, grpc_error* error) {
t->endpoint_reading = 0;
} else if (t->closed_with_error == GRPC_ERROR_NONE) {
keep_reading = true;
/* Since we have read a byte, reset the keepalive timer */
// Since we have read a byte, reset the keepalive timer
if (t->keepalive_state == GRPC_CHTTP2_KEEPALIVE_STATE_WAITING) {
grpc_timer_cancel(&t->keepalive_ping_timer);
}
@ -2647,13 +2639,13 @@ static void start_bdp_ping(void* tp, grpc_error* error) {
static void start_bdp_ping_locked(void* tp, grpc_error* error) {
grpc_chttp2_transport* t = static_cast<grpc_chttp2_transport*>(tp);
if (GRPC_TRACE_FLAG_ENABLED(grpc_http_trace)) {
gpr_log(GPR_INFO, "%s: Start BDP ping err=%s", t->peer_string,
gpr_log(GPR_INFO, "%s: Start BDP ping err=%s", t->peer_string.c_str(),
grpc_error_string(error));
}
if (error != GRPC_ERROR_NONE || t->closed_with_error != GRPC_ERROR_NONE) {
return;
}
/* Reset the keepalive ping timer */
// Reset the keepalive ping timer
if (t->keepalive_state == GRPC_CHTTP2_KEEPALIVE_STATE_WAITING) {
grpc_timer_cancel(&t->keepalive_ping_timer);
}
@ -2671,7 +2663,7 @@ static void finish_bdp_ping(void* tp, grpc_error* error) {
static void finish_bdp_ping_locked(void* tp, grpc_error* error) {
grpc_chttp2_transport* t = static_cast<grpc_chttp2_transport*>(tp);
if (GRPC_TRACE_FLAG_ENABLED(grpc_http_trace)) {
gpr_log(GPR_INFO, "%s: Complete BDP ping err=%s", t->peer_string,
gpr_log(GPR_INFO, "%s: Complete BDP ping err=%s", t->peer_string.c_str(),
grpc_error_string(error));
}
if (error != GRPC_ERROR_NONE || t->closed_with_error != GRPC_ERROR_NONE) {
@ -2679,8 +2671,8 @@ static void finish_bdp_ping_locked(void* tp, grpc_error* error) {
return;
}
if (!t->bdp_ping_started) {
/* start_bdp_ping_locked has not been run yet. Schedule
* finish_bdp_ping_locked to be run later. */
// start_bdp_ping_locked has not been run yet. Schedule
// finish_bdp_ping_locked to be run later.
t->combiner->Run(GRPC_CLOSURE_INIT(&t->finish_bdp_ping_locked,
finish_bdp_ping_locked, t, nullptr),
GRPC_ERROR_REF(error));
@ -2813,7 +2805,7 @@ static void init_keepalive_ping_locked(void* arg, grpc_error* error) {
&t->init_keepalive_ping_locked);
}
} else if (error == GRPC_ERROR_CANCELLED) {
/* The keepalive ping timer may be cancelled by bdp */
// The keepalive ping timer may be cancelled by bdp
GRPC_CHTTP2_REF_TRANSPORT(t, "init keepalive ping");
GRPC_CLOSURE_INIT(&t->init_keepalive_ping_locked, init_keepalive_ping, t,
grpc_schedule_on_exec_ctx);
@ -2841,7 +2833,7 @@ static void start_keepalive_ping_locked(void* arg, grpc_error* error) {
}
if (GRPC_TRACE_FLAG_ENABLED(grpc_http_trace) ||
GRPC_TRACE_FLAG_ENABLED(grpc_keepalive_trace)) {
gpr_log(GPR_INFO, "%s: Start keepalive ping", t->peer_string);
gpr_log(GPR_INFO, "%s: Start keepalive ping", t->peer_string.c_str());
}
GRPC_CHTTP2_REF_TRANSPORT(t, "keepalive watchdog");
GRPC_CLOSURE_INIT(&t->keepalive_watchdog_fired_locked,
@ -2865,11 +2857,11 @@ static void finish_keepalive_ping_locked(void* arg, grpc_error* error) {
if (error == GRPC_ERROR_NONE) {
if (GRPC_TRACE_FLAG_ENABLED(grpc_http_trace) ||
GRPC_TRACE_FLAG_ENABLED(grpc_keepalive_trace)) {
gpr_log(GPR_INFO, "%s: Finish keepalive ping", t->peer_string);
gpr_log(GPR_INFO, "%s: Finish keepalive ping", t->peer_string.c_str());
}
if (!t->keepalive_ping_started) {
/* start_keepalive_ping_locked has not run yet. Reschedule
* finish_keepalive_ping_locked for it to be run later. */
// start_keepalive_ping_locked has not run yet. Reschedule
// finish_keepalive_ping_locked for it to be run later.
t->combiner->Run(
GRPC_CLOSURE_INIT(&t->finish_keepalive_ping_locked,
finish_keepalive_ping_locked, t, nullptr),
@ -2903,7 +2895,7 @@ static void keepalive_watchdog_fired_locked(void* arg, grpc_error* error) {
if (t->keepalive_state == GRPC_CHTTP2_KEEPALIVE_STATE_PINGING) {
if (error == GRPC_ERROR_NONE) {
gpr_log(GPR_INFO, "%s: Keepalive watchdog fired. Closing transport.",
t->peer_string);
t->peer_string.c_str());
t->keepalive_state = GRPC_CHTTP2_KEEPALIVE_STATE_DYING;
close_transport_locked(
t, grpc_error_set_int(GRPC_ERROR_CREATE_FROM_STATIC_STRING(
@ -2912,8 +2904,8 @@ static void keepalive_watchdog_fired_locked(void* arg, grpc_error* error) {
GRPC_STATUS_UNAVAILABLE));
}
} else {
/* The watchdog timer should have been cancelled by
* finish_keepalive_ping_locked. */
// The watchdog timer should have been cancelled by
// finish_keepalive_ping_locked.
if (GPR_UNLIKELY(error != GRPC_ERROR_CANCELLED)) {
gpr_log(GPR_ERROR, "keepalive_ping_end state error: %d (expect: %d)",
t->keepalive_state, GRPC_CHTTP2_KEEPALIVE_STATE_PINGING);
@ -2922,9 +2914,9 @@ static void keepalive_watchdog_fired_locked(void* arg, grpc_error* error) {
GRPC_CHTTP2_UNREF_TRANSPORT(t, "keepalive watchdog");
}
/*******************************************************************************
* CALLBACK LOOP
*/
//
// CALLBACK LOOP
//
static void connectivity_state_set(grpc_chttp2_transport* t,
grpc_connectivity_state state,
@ -2935,9 +2927,9 @@ static void connectivity_state_set(grpc_chttp2_transport* t,
t->state_tracker.SetState(state, status, reason);
}
/*******************************************************************************
* POLLSET STUFF
*/
//
// POLLSET STUFF
//
static void set_pollset(grpc_transport* gt, grpc_stream* /*gs*/,
grpc_pollset* pollset) {
@ -2951,9 +2943,9 @@ static void set_pollset_set(grpc_transport* gt, grpc_stream* /*gs*/,
grpc_endpoint_add_to_pollset_set(t->ep, pollset_set);
}
/*******************************************************************************
* BYTE STREAM
*/
//
// BYTE STREAM
//
static void reset_byte_stream(void* arg, grpc_error* error) {
grpc_chttp2_stream* s = static_cast<grpc_chttp2_stream*>(arg);
@ -3041,7 +3033,7 @@ void Chttp2IncomingByteStream::NextLocked(void* arg,
s->data_parser.parsing_frame = nullptr;
}
} else {
/* Should never reach here. */
// Should never reach here.
GPR_ASSERT(false);
}
} else {
@ -3170,9 +3162,9 @@ void Chttp2IncomingByteStream::Shutdown(grpc_error* error) {
} // namespace grpc_core
/*******************************************************************************
* RESOURCE QUOTAS
*/
//
// RESOURCE QUOTAS
//
static void post_benign_reclaimer(grpc_chttp2_transport* t) {
if (!t->benign_reclaimer_registered) {
@ -3207,11 +3199,11 @@ static void benign_reclaimer_locked(void* arg, grpc_error* error) {
grpc_chttp2_transport* t = static_cast<grpc_chttp2_transport*>(arg);
if (error == GRPC_ERROR_NONE &&
grpc_chttp2_stream_map_size(&t->stream_map) == 0) {
/* Channel with no active streams: send a goaway to try and make it
* disconnect cleanly */
// Channel with no active streams: send a goaway to try and make it
// disconnect cleanly
if (GRPC_TRACE_FLAG_ENABLED(grpc_resource_quota_trace)) {
gpr_log(GPR_INFO, "HTTP2: %s - send goaway to free memory",
t->peer_string);
t->peer_string.c_str());
}
send_goaway(t,
grpc_error_set_int(
@ -3222,7 +3214,8 @@ static void benign_reclaimer_locked(void* arg, grpc_error* error) {
gpr_log(GPR_INFO,
"HTTP2: %s - skip benign reclamation, there are still %" PRIdPTR
" streams",
t->peer_string, grpc_chttp2_stream_map_size(&t->stream_map));
t->peer_string.c_str(),
grpc_chttp2_stream_map_size(&t->stream_map));
}
t->benign_reclaimer_registered = false;
if (error != GRPC_ERROR_CANCELLED) {
@ -3247,8 +3240,8 @@ static void destructive_reclaimer_locked(void* arg, grpc_error* error) {
grpc_chttp2_stream* s = static_cast<grpc_chttp2_stream*>(
grpc_chttp2_stream_map_rand(&t->stream_map));
if (GRPC_TRACE_FLAG_ENABLED(grpc_resource_quota_trace)) {
gpr_log(GPR_INFO, "HTTP2: %s - abandon stream id %d", t->peer_string,
s->id);
gpr_log(GPR_INFO, "HTTP2: %s - abandon stream id %d",
t->peer_string.c_str(), s->id);
}
grpc_chttp2_cancel_stream(
t, s,
@ -3256,10 +3249,10 @@ static void destructive_reclaimer_locked(void* arg, grpc_error* error) {
GRPC_ERROR_INT_HTTP2_ERROR,
GRPC_HTTP2_ENHANCE_YOUR_CALM));
if (n > 1) {
/* Since we cancel one stream per destructive reclamation, if
there are more streams left, we can immediately post a new
reclaimer in case the resource quota needs to free more
memory */
// Since we cancel one stream per destructive reclamation, if
// there are more streams left, we can immediately post a new
// reclaimer in case the resource quota needs to free more
// memory
post_destructive_reclaimer(t);
}
}
@ -3270,9 +3263,9 @@ static void destructive_reclaimer_locked(void* arg, grpc_error* error) {
GRPC_CHTTP2_UNREF_TRANSPORT(t, "destructive_reclaimer");
}
/*******************************************************************************
* MONITORING
*/
//
// MONITORING
//
const char* grpc_chttp2_initiate_write_reason_string(
grpc_chttp2_initiate_write_reason reason) {

@ -175,7 +175,7 @@ TransportFlowControl::TransportFlowControl(const grpc_chttp2_transport* t,
bool enable_bdp_probe)
: t_(t),
enable_bdp_probe_(enable_bdp_probe),
bdp_estimator_(t->peer_string),
bdp_estimator_(t->peer_string.c_str()),
pid_controller_(grpc_core::PidController::Args()
.set_gain_p(4)
.set_gain_i(8)

@ -228,8 +228,8 @@ grpc_error* grpc_chttp2_settings_parser_parse(void* p, grpc_chttp2_transport* t,
parser->incoming_settings[id] = parser->value;
if (GRPC_TRACE_FLAG_ENABLED(grpc_http_trace)) {
gpr_log(GPR_INFO, "CHTTP2:%s:%s: got setting %s = %d",
t->is_client ? "CLI" : "SVR", t->peer_string, sp->name,
parser->value);
t->is_client ? "CLI" : "SVR", t->peer_string.c_str(),
sp->name, parser->value);
}
} else if (GRPC_TRACE_FLAG_ENABLED(grpc_http_trace)) {
gpr_log(GPR_ERROR, "CHTTP2: Ignoring unknown setting %d (value %d)",

@ -290,7 +290,7 @@ struct grpc_chttp2_transport {
grpc_transport base; /* must be first */
grpc_core::RefCount refs;
grpc_endpoint* ep;
char* peer_string;
std::string peer_string;
grpc_resource_user* resource_user;

@ -58,7 +58,7 @@ static void maybe_initiate_ping(grpc_chttp2_transport* t) {
GRPC_TRACE_FLAG_ENABLED(grpc_bdp_estimator_trace) ||
GRPC_TRACE_FLAG_ENABLED(grpc_keepalive_trace)) {
gpr_log(GPR_INFO, "%s: Ping delayed [%s]: already pinging",
t->is_client ? "CLIENT" : "SERVER", t->peer_string);
t->is_client ? "CLIENT" : "SERVER", t->peer_string.c_str());
}
return;
}
@ -69,7 +69,7 @@ static void maybe_initiate_ping(grpc_chttp2_transport* t) {
GRPC_TRACE_FLAG_ENABLED(grpc_bdp_estimator_trace) ||
GRPC_TRACE_FLAG_ENABLED(grpc_keepalive_trace)) {
gpr_log(GPR_INFO, "%s: Ping delayed [%s]: too many recent pings: %d/%d",
t->is_client ? "CLIENT" : "SERVER", t->peer_string,
t->is_client ? "CLIENT" : "SERVER", t->peer_string.c_str(),
t->ping_state.pings_before_data_required,
t->ping_policy.max_pings_without_data);
}
@ -95,7 +95,7 @@ static void maybe_initiate_ping(grpc_chttp2_transport* t) {
gpr_log(GPR_INFO,
"%s: Ping delayed [%s]: not enough time elapsed since last ping. "
" Last ping %f: Next ping %f: Now %f",
t->is_client ? "CLIENT" : "SERVER", t->peer_string,
t->is_client ? "CLIENT" : "SERVER", t->peer_string.c_str(),
static_cast<double>(t->ping_state.last_ping_sent_time),
static_cast<double>(next_allowed_ping), static_cast<double>(now));
}
@ -125,7 +125,7 @@ static void maybe_initiate_ping(grpc_chttp2_transport* t) {
GRPC_TRACE_FLAG_ENABLED(grpc_bdp_estimator_trace) ||
GRPC_TRACE_FLAG_ENABLED(grpc_keepalive_trace)) {
gpr_log(GPR_INFO, "%s: Ping sent [%s]: %d/%d",
t->is_client ? "CLIENT" : "SERVER", t->peer_string,
t->is_client ? "CLIENT" : "SERVER", t->peer_string.c_str(),
t->ping_state.pings_before_data_required,
t->ping_policy.max_pings_without_data);
}
@ -165,7 +165,8 @@ static void report_stall(grpc_chttp2_transport* t, grpc_chttp2_stream* s,
"helpful data: [fc:pending=%" PRIdPTR ":pending-compressed=%" PRIdPTR
":flowed=%" PRId64 ":peer_initwin=%d:t_win=%" PRId64
":s_win=%d:s_delta=%" PRId64 "]",
t->peer_string, t, s->id, staller, s->flow_controlled_buffer.length,
t->peer_string.c_str(), t, s->id, staller,
s->flow_controlled_buffer.length,
s->stream_compression_method ==
GRPC_STREAM_COMPRESSION_IDENTITY_COMPRESS
? 0

@ -1276,7 +1276,7 @@ grpc_channel* grpc_inproc_channel_create(grpc_server* server,
const char* args_to_remove[] = {GRPC_ARG_MAX_CONNECTION_IDLE_MS,
GRPC_ARG_MAX_CONNECTION_AGE_MS};
const grpc_channel_args* server_args = grpc_channel_args_copy_and_remove(
grpc_server_get_channel_args(server), args_to_remove,
server->core_server->channel_args(), args_to_remove,
GPR_ARRAY_SIZE(args_to_remove));
// Add a default authority channel argument for the client
@ -1293,8 +1293,8 @@ grpc_channel* grpc_inproc_channel_create(grpc_server* server,
client_args);
// TODO(ncteisen): design and support channelz GetSocket for inproc.
grpc_server_setup_transport(server, server_transport, nullptr, server_args,
nullptr);
server->core_server->SetupTransport(server_transport, nullptr, server_args,
nullptr);
grpc_channel* channel = grpc_channel_create(
"inproc", client_args, GRPC_CLIENT_DIRECT_CHANNEL, client_transport);

@ -1,21 +0,0 @@
/* This file was generated by upbc (the upb compiler) from the input
* file:
*
* envoy/api/v2/auth/cert.proto
*
* Do not edit -- your changes will be discarded when the file is
* regenerated. */
#include <stddef.h>
#include "upb/msg.h"
#include "envoy/api/v2/auth/cert.upb.h"
#include "udpa/annotations/migrate.upb.h"
#include "udpa/annotations/status.upb.h"
#include "envoy/api/v2/auth/common.upb.h"
#include "envoy/api/v2/auth/secret.upb.h"
#include "envoy/api/v2/auth/tls.upb.h"
#include "upb/port_def.inc"
#include "upb/port_undef.inc"

@ -1,34 +0,0 @@
/* This file was generated by upbc (the upb compiler) from the input
* file:
*
* envoy/api/v2/auth/cert.proto
*
* Do not edit -- your changes will be discarded when the file is
* regenerated. */
#ifndef ENVOY_API_V2_AUTH_CERT_PROTO_UPB_H_
#define ENVOY_API_V2_AUTH_CERT_PROTO_UPB_H_
#include "upb/msg.h"
#include "upb/decode.h"
#include "upb/encode.h"
/* Public Imports. */
#include "envoy/api/v2/auth/common.upb.h"
#include "envoy/api/v2/auth/secret.upb.h"
#include "envoy/api/v2/auth/tls.upb.h"
#include "upb/port_def.inc"
#ifdef __cplusplus
extern "C" {
#endif
#ifdef __cplusplus
} /* extern "C" */
#endif
#include "upb/port_undef.inc"
#endif /* ENVOY_API_V2_AUTH_CERT_PROTO_UPB_H_ */

@ -1,114 +0,0 @@
/* This file was generated by upbc (the upb compiler) from the input
* file:
*
* envoy/api/v2/auth/common.proto
*
* Do not edit -- your changes will be discarded when the file is
* regenerated. */
#include <stddef.h>
#include "upb/msg.h"
#include "envoy/api/v2/auth/common.upb.h"
#include "envoy/api/v2/core/base.upb.h"
#include "envoy/type/matcher/string.upb.h"
#include "google/protobuf/any.upb.h"
#include "google/protobuf/struct.upb.h"
#include "google/protobuf/wrappers.upb.h"
#include "udpa/annotations/migrate.upb.h"
#include "udpa/annotations/sensitive.upb.h"
#include "udpa/annotations/status.upb.h"
#include "validate/validate.upb.h"
#include "upb/port_def.inc"
static const upb_msglayout_field envoy_api_v2_auth_TlsParameters__fields[4] = {
{1, UPB_SIZE(0, 0), 0, 0, 14, 1},
{2, UPB_SIZE(8, 8), 0, 0, 14, 1},
{3, UPB_SIZE(16, 16), 0, 0, 9, 3},
{4, UPB_SIZE(20, 24), 0, 0, 9, 3},
};
const upb_msglayout envoy_api_v2_auth_TlsParameters_msginit = {
NULL,
&envoy_api_v2_auth_TlsParameters__fields[0],
UPB_SIZE(24, 32), 4, false,
};
static const upb_msglayout *const envoy_api_v2_auth_PrivateKeyProvider_submsgs[2] = {
&google_protobuf_Any_msginit,
&google_protobuf_Struct_msginit,
};
static const upb_msglayout_field envoy_api_v2_auth_PrivateKeyProvider__fields[3] = {
{1, UPB_SIZE(0, 0), 0, 0, 9, 1},
{2, UPB_SIZE(8, 16), UPB_SIZE(-13, -25), 1, 11, 1},
{3, UPB_SIZE(8, 16), UPB_SIZE(-13, -25), 0, 11, 1},
};
const upb_msglayout envoy_api_v2_auth_PrivateKeyProvider_msginit = {
&envoy_api_v2_auth_PrivateKeyProvider_submsgs[0],
&envoy_api_v2_auth_PrivateKeyProvider__fields[0],
UPB_SIZE(16, 32), 3, false,
};
static const upb_msglayout *const envoy_api_v2_auth_TlsCertificate_submsgs[6] = {
&envoy_api_v2_auth_PrivateKeyProvider_msginit,
&envoy_api_v2_core_DataSource_msginit,
};
static const upb_msglayout_field envoy_api_v2_auth_TlsCertificate__fields[6] = {
{1, UPB_SIZE(0, 0), 0, 1, 11, 1},
{2, UPB_SIZE(4, 8), 0, 1, 11, 1},
{3, UPB_SIZE(8, 16), 0, 1, 11, 1},
{4, UPB_SIZE(12, 24), 0, 1, 11, 1},
{5, UPB_SIZE(20, 40), 0, 1, 11, 3},
{6, UPB_SIZE(16, 32), 0, 0, 11, 1},
};
const upb_msglayout envoy_api_v2_auth_TlsCertificate_msginit = {
&envoy_api_v2_auth_TlsCertificate_submsgs[0],
&envoy_api_v2_auth_TlsCertificate__fields[0],
UPB_SIZE(24, 48), 6, false,
};
static const upb_msglayout *const envoy_api_v2_auth_TlsSessionTicketKeys_submsgs[1] = {
&envoy_api_v2_core_DataSource_msginit,
};
static const upb_msglayout_field envoy_api_v2_auth_TlsSessionTicketKeys__fields[1] = {
{1, UPB_SIZE(0, 0), 0, 0, 11, 3},
};
const upb_msglayout envoy_api_v2_auth_TlsSessionTicketKeys_msginit = {
&envoy_api_v2_auth_TlsSessionTicketKeys_submsgs[0],
&envoy_api_v2_auth_TlsSessionTicketKeys__fields[0],
UPB_SIZE(4, 8), 1, false,
};
static const upb_msglayout *const envoy_api_v2_auth_CertificateValidationContext_submsgs[5] = {
&envoy_api_v2_core_DataSource_msginit,
&envoy_type_matcher_StringMatcher_msginit,
&google_protobuf_BoolValue_msginit,
};
static const upb_msglayout_field envoy_api_v2_auth_CertificateValidationContext__fields[10] = {
{1, UPB_SIZE(12, 16), 0, 0, 11, 1},
{2, UPB_SIZE(28, 48), 0, 0, 9, 3},
{3, UPB_SIZE(32, 56), 0, 0, 9, 3},
{4, UPB_SIZE(36, 64), 0, 0, 9, 3},
{5, UPB_SIZE(16, 24), 0, 2, 11, 1},
{6, UPB_SIZE(20, 32), 0, 2, 11, 1},
{7, UPB_SIZE(24, 40), 0, 0, 11, 1},
{8, UPB_SIZE(8, 8), 0, 0, 8, 1},
{9, UPB_SIZE(40, 72), 0, 1, 11, 3},
{10, UPB_SIZE(0, 0), 0, 0, 14, 1},
};
const upb_msglayout envoy_api_v2_auth_CertificateValidationContext_msginit = {
&envoy_api_v2_auth_CertificateValidationContext_submsgs[0],
&envoy_api_v2_auth_CertificateValidationContext__fields[0],
UPB_SIZE(48, 80), 10, false,
};
#include "upb/port_undef.inc"

@ -1,429 +0,0 @@
/* This file was generated by upbc (the upb compiler) from the input
* file:
*
* envoy/api/v2/auth/common.proto
*
* Do not edit -- your changes will be discarded when the file is
* regenerated. */
#ifndef ENVOY_API_V2_AUTH_COMMON_PROTO_UPB_H_
#define ENVOY_API_V2_AUTH_COMMON_PROTO_UPB_H_
#include "upb/msg.h"
#include "upb/decode.h"
#include "upb/encode.h"
#include "upb/port_def.inc"
#ifdef __cplusplus
extern "C" {
#endif
struct envoy_api_v2_auth_TlsParameters;
struct envoy_api_v2_auth_PrivateKeyProvider;
struct envoy_api_v2_auth_TlsCertificate;
struct envoy_api_v2_auth_TlsSessionTicketKeys;
struct envoy_api_v2_auth_CertificateValidationContext;
typedef struct envoy_api_v2_auth_TlsParameters envoy_api_v2_auth_TlsParameters;
typedef struct envoy_api_v2_auth_PrivateKeyProvider envoy_api_v2_auth_PrivateKeyProvider;
typedef struct envoy_api_v2_auth_TlsCertificate envoy_api_v2_auth_TlsCertificate;
typedef struct envoy_api_v2_auth_TlsSessionTicketKeys envoy_api_v2_auth_TlsSessionTicketKeys;
typedef struct envoy_api_v2_auth_CertificateValidationContext envoy_api_v2_auth_CertificateValidationContext;
extern const upb_msglayout envoy_api_v2_auth_TlsParameters_msginit;
extern const upb_msglayout envoy_api_v2_auth_PrivateKeyProvider_msginit;
extern const upb_msglayout envoy_api_v2_auth_TlsCertificate_msginit;
extern const upb_msglayout envoy_api_v2_auth_TlsSessionTicketKeys_msginit;
extern const upb_msglayout envoy_api_v2_auth_CertificateValidationContext_msginit;
struct envoy_api_v2_core_DataSource;
struct envoy_type_matcher_StringMatcher;
struct google_protobuf_Any;
struct google_protobuf_BoolValue;
struct google_protobuf_Struct;
extern const upb_msglayout envoy_api_v2_core_DataSource_msginit;
extern const upb_msglayout envoy_type_matcher_StringMatcher_msginit;
extern const upb_msglayout google_protobuf_Any_msginit;
extern const upb_msglayout google_protobuf_BoolValue_msginit;
extern const upb_msglayout google_protobuf_Struct_msginit;
typedef enum {
envoy_api_v2_auth_CertificateValidationContext_VERIFY_TRUST_CHAIN = 0,
envoy_api_v2_auth_CertificateValidationContext_ACCEPT_UNTRUSTED = 1
} envoy_api_v2_auth_CertificateValidationContext_TrustChainVerification;
typedef enum {
envoy_api_v2_auth_TlsParameters_TLS_AUTO = 0,
envoy_api_v2_auth_TlsParameters_TLSv1_0 = 1,
envoy_api_v2_auth_TlsParameters_TLSv1_1 = 2,
envoy_api_v2_auth_TlsParameters_TLSv1_2 = 3,
envoy_api_v2_auth_TlsParameters_TLSv1_3 = 4
} envoy_api_v2_auth_TlsParameters_TlsProtocol;
/* envoy.api.v2.auth.TlsParameters */
UPB_INLINE envoy_api_v2_auth_TlsParameters *envoy_api_v2_auth_TlsParameters_new(upb_arena *arena) {
return (envoy_api_v2_auth_TlsParameters *)_upb_msg_new(&envoy_api_v2_auth_TlsParameters_msginit, arena);
}
UPB_INLINE envoy_api_v2_auth_TlsParameters *envoy_api_v2_auth_TlsParameters_parse(const char *buf, size_t size,
upb_arena *arena) {
envoy_api_v2_auth_TlsParameters *ret = envoy_api_v2_auth_TlsParameters_new(arena);
return (ret && upb_decode(buf, size, ret, &envoy_api_v2_auth_TlsParameters_msginit, arena)) ? ret : NULL;
}
UPB_INLINE char *envoy_api_v2_auth_TlsParameters_serialize(const envoy_api_v2_auth_TlsParameters *msg, upb_arena *arena, size_t *len) {
return upb_encode(msg, &envoy_api_v2_auth_TlsParameters_msginit, arena, len);
}
UPB_INLINE int32_t envoy_api_v2_auth_TlsParameters_tls_minimum_protocol_version(const envoy_api_v2_auth_TlsParameters *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(0, 0), int32_t); }
UPB_INLINE int32_t envoy_api_v2_auth_TlsParameters_tls_maximum_protocol_version(const envoy_api_v2_auth_TlsParameters *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(8, 8), int32_t); }
UPB_INLINE upb_strview const* envoy_api_v2_auth_TlsParameters_cipher_suites(const envoy_api_v2_auth_TlsParameters *msg, size_t *len) { return (upb_strview const*)_upb_array_accessor(msg, UPB_SIZE(16, 16), len); }
UPB_INLINE upb_strview const* envoy_api_v2_auth_TlsParameters_ecdh_curves(const envoy_api_v2_auth_TlsParameters *msg, size_t *len) { return (upb_strview const*)_upb_array_accessor(msg, UPB_SIZE(20, 24), len); }
UPB_INLINE void envoy_api_v2_auth_TlsParameters_set_tls_minimum_protocol_version(envoy_api_v2_auth_TlsParameters *msg, int32_t value) {
*UPB_PTR_AT(msg, UPB_SIZE(0, 0), int32_t) = value;
}
UPB_INLINE void envoy_api_v2_auth_TlsParameters_set_tls_maximum_protocol_version(envoy_api_v2_auth_TlsParameters *msg, int32_t value) {
*UPB_PTR_AT(msg, UPB_SIZE(8, 8), int32_t) = value;
}
UPB_INLINE upb_strview* envoy_api_v2_auth_TlsParameters_mutable_cipher_suites(envoy_api_v2_auth_TlsParameters *msg, size_t *len) {
return (upb_strview*)_upb_array_mutable_accessor(msg, UPB_SIZE(16, 16), len);
}
UPB_INLINE upb_strview* envoy_api_v2_auth_TlsParameters_resize_cipher_suites(envoy_api_v2_auth_TlsParameters *msg, size_t len, upb_arena *arena) {
return (upb_strview*)_upb_array_resize_accessor(msg, UPB_SIZE(16, 16), len, UPB_TYPE_STRING, arena);
}
UPB_INLINE bool envoy_api_v2_auth_TlsParameters_add_cipher_suites(envoy_api_v2_auth_TlsParameters *msg, upb_strview val, upb_arena *arena) {
return _upb_array_append_accessor(msg, UPB_SIZE(16, 16), UPB_SIZE(8, 16), UPB_TYPE_STRING, &val,
arena);
}
UPB_INLINE upb_strview* envoy_api_v2_auth_TlsParameters_mutable_ecdh_curves(envoy_api_v2_auth_TlsParameters *msg, size_t *len) {
return (upb_strview*)_upb_array_mutable_accessor(msg, UPB_SIZE(20, 24), len);
}
UPB_INLINE upb_strview* envoy_api_v2_auth_TlsParameters_resize_ecdh_curves(envoy_api_v2_auth_TlsParameters *msg, size_t len, upb_arena *arena) {
return (upb_strview*)_upb_array_resize_accessor(msg, UPB_SIZE(20, 24), len, UPB_TYPE_STRING, arena);
}
UPB_INLINE bool envoy_api_v2_auth_TlsParameters_add_ecdh_curves(envoy_api_v2_auth_TlsParameters *msg, upb_strview val, upb_arena *arena) {
return _upb_array_append_accessor(msg, UPB_SIZE(20, 24), UPB_SIZE(8, 16), UPB_TYPE_STRING, &val,
arena);
}
/* envoy.api.v2.auth.PrivateKeyProvider */
UPB_INLINE envoy_api_v2_auth_PrivateKeyProvider *envoy_api_v2_auth_PrivateKeyProvider_new(upb_arena *arena) {
return (envoy_api_v2_auth_PrivateKeyProvider *)_upb_msg_new(&envoy_api_v2_auth_PrivateKeyProvider_msginit, arena);
}
UPB_INLINE envoy_api_v2_auth_PrivateKeyProvider *envoy_api_v2_auth_PrivateKeyProvider_parse(const char *buf, size_t size,
upb_arena *arena) {
envoy_api_v2_auth_PrivateKeyProvider *ret = envoy_api_v2_auth_PrivateKeyProvider_new(arena);
return (ret && upb_decode(buf, size, ret, &envoy_api_v2_auth_PrivateKeyProvider_msginit, arena)) ? ret : NULL;
}
UPB_INLINE char *envoy_api_v2_auth_PrivateKeyProvider_serialize(const envoy_api_v2_auth_PrivateKeyProvider *msg, upb_arena *arena, size_t *len) {
return upb_encode(msg, &envoy_api_v2_auth_PrivateKeyProvider_msginit, arena, len);
}
typedef enum {
envoy_api_v2_auth_PrivateKeyProvider_config_type_config = 2,
envoy_api_v2_auth_PrivateKeyProvider_config_type_typed_config = 3,
envoy_api_v2_auth_PrivateKeyProvider_config_type_NOT_SET = 0
} envoy_api_v2_auth_PrivateKeyProvider_config_type_oneofcases;
UPB_INLINE envoy_api_v2_auth_PrivateKeyProvider_config_type_oneofcases envoy_api_v2_auth_PrivateKeyProvider_config_type_case(const envoy_api_v2_auth_PrivateKeyProvider* msg) { return (envoy_api_v2_auth_PrivateKeyProvider_config_type_oneofcases)*UPB_PTR_AT(msg, UPB_SIZE(12, 24), int32_t); }
UPB_INLINE upb_strview envoy_api_v2_auth_PrivateKeyProvider_provider_name(const envoy_api_v2_auth_PrivateKeyProvider *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(0, 0), upb_strview); }
UPB_INLINE bool envoy_api_v2_auth_PrivateKeyProvider_has_config(const envoy_api_v2_auth_PrivateKeyProvider *msg) { return _upb_getoneofcase(msg, UPB_SIZE(12, 24)) == 2; }
UPB_INLINE const struct google_protobuf_Struct* envoy_api_v2_auth_PrivateKeyProvider_config(const envoy_api_v2_auth_PrivateKeyProvider *msg) { return UPB_READ_ONEOF(msg, const struct google_protobuf_Struct*, UPB_SIZE(8, 16), UPB_SIZE(12, 24), 2, NULL); }
UPB_INLINE bool envoy_api_v2_auth_PrivateKeyProvider_has_typed_config(const envoy_api_v2_auth_PrivateKeyProvider *msg) { return _upb_getoneofcase(msg, UPB_SIZE(12, 24)) == 3; }
UPB_INLINE const struct google_protobuf_Any* envoy_api_v2_auth_PrivateKeyProvider_typed_config(const envoy_api_v2_auth_PrivateKeyProvider *msg) { return UPB_READ_ONEOF(msg, const struct google_protobuf_Any*, UPB_SIZE(8, 16), UPB_SIZE(12, 24), 3, NULL); }
UPB_INLINE void envoy_api_v2_auth_PrivateKeyProvider_set_provider_name(envoy_api_v2_auth_PrivateKeyProvider *msg, upb_strview value) {
*UPB_PTR_AT(msg, UPB_SIZE(0, 0), upb_strview) = value;
}
UPB_INLINE void envoy_api_v2_auth_PrivateKeyProvider_set_config(envoy_api_v2_auth_PrivateKeyProvider *msg, struct google_protobuf_Struct* value) {
UPB_WRITE_ONEOF(msg, struct google_protobuf_Struct*, UPB_SIZE(8, 16), value, UPB_SIZE(12, 24), 2);
}
UPB_INLINE struct google_protobuf_Struct* envoy_api_v2_auth_PrivateKeyProvider_mutable_config(envoy_api_v2_auth_PrivateKeyProvider *msg, upb_arena *arena) {
struct google_protobuf_Struct* sub = (struct google_protobuf_Struct*)envoy_api_v2_auth_PrivateKeyProvider_config(msg);
if (sub == NULL) {
sub = (struct google_protobuf_Struct*)_upb_msg_new(&google_protobuf_Struct_msginit, arena);
if (!sub) return NULL;
envoy_api_v2_auth_PrivateKeyProvider_set_config(msg, sub);
}
return sub;
}
UPB_INLINE void envoy_api_v2_auth_PrivateKeyProvider_set_typed_config(envoy_api_v2_auth_PrivateKeyProvider *msg, struct google_protobuf_Any* value) {
UPB_WRITE_ONEOF(msg, struct google_protobuf_Any*, UPB_SIZE(8, 16), value, UPB_SIZE(12, 24), 3);
}
UPB_INLINE struct google_protobuf_Any* envoy_api_v2_auth_PrivateKeyProvider_mutable_typed_config(envoy_api_v2_auth_PrivateKeyProvider *msg, upb_arena *arena) {
struct google_protobuf_Any* sub = (struct google_protobuf_Any*)envoy_api_v2_auth_PrivateKeyProvider_typed_config(msg);
if (sub == NULL) {
sub = (struct google_protobuf_Any*)_upb_msg_new(&google_protobuf_Any_msginit, arena);
if (!sub) return NULL;
envoy_api_v2_auth_PrivateKeyProvider_set_typed_config(msg, sub);
}
return sub;
}
/* envoy.api.v2.auth.TlsCertificate */
UPB_INLINE envoy_api_v2_auth_TlsCertificate *envoy_api_v2_auth_TlsCertificate_new(upb_arena *arena) {
return (envoy_api_v2_auth_TlsCertificate *)_upb_msg_new(&envoy_api_v2_auth_TlsCertificate_msginit, arena);
}
UPB_INLINE envoy_api_v2_auth_TlsCertificate *envoy_api_v2_auth_TlsCertificate_parse(const char *buf, size_t size,
upb_arena *arena) {
envoy_api_v2_auth_TlsCertificate *ret = envoy_api_v2_auth_TlsCertificate_new(arena);
return (ret && upb_decode(buf, size, ret, &envoy_api_v2_auth_TlsCertificate_msginit, arena)) ? ret : NULL;
}
UPB_INLINE char *envoy_api_v2_auth_TlsCertificate_serialize(const envoy_api_v2_auth_TlsCertificate *msg, upb_arena *arena, size_t *len) {
return upb_encode(msg, &envoy_api_v2_auth_TlsCertificate_msginit, arena, len);
}
UPB_INLINE bool envoy_api_v2_auth_TlsCertificate_has_certificate_chain(const envoy_api_v2_auth_TlsCertificate *msg) { return _upb_has_submsg_nohasbit(msg, UPB_SIZE(0, 0)); }
UPB_INLINE const struct envoy_api_v2_core_DataSource* envoy_api_v2_auth_TlsCertificate_certificate_chain(const envoy_api_v2_auth_TlsCertificate *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(0, 0), const struct envoy_api_v2_core_DataSource*); }
UPB_INLINE bool envoy_api_v2_auth_TlsCertificate_has_private_key(const envoy_api_v2_auth_TlsCertificate *msg) { return _upb_has_submsg_nohasbit(msg, UPB_SIZE(4, 8)); }
UPB_INLINE const struct envoy_api_v2_core_DataSource* envoy_api_v2_auth_TlsCertificate_private_key(const envoy_api_v2_auth_TlsCertificate *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(4, 8), const struct envoy_api_v2_core_DataSource*); }
UPB_INLINE bool envoy_api_v2_auth_TlsCertificate_has_password(const envoy_api_v2_auth_TlsCertificate *msg) { return _upb_has_submsg_nohasbit(msg, UPB_SIZE(8, 16)); }
UPB_INLINE const struct envoy_api_v2_core_DataSource* envoy_api_v2_auth_TlsCertificate_password(const envoy_api_v2_auth_TlsCertificate *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(8, 16), const struct envoy_api_v2_core_DataSource*); }
UPB_INLINE bool envoy_api_v2_auth_TlsCertificate_has_ocsp_staple(const envoy_api_v2_auth_TlsCertificate *msg) { return _upb_has_submsg_nohasbit(msg, UPB_SIZE(12, 24)); }
UPB_INLINE const struct envoy_api_v2_core_DataSource* envoy_api_v2_auth_TlsCertificate_ocsp_staple(const envoy_api_v2_auth_TlsCertificate *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(12, 24), const struct envoy_api_v2_core_DataSource*); }
UPB_INLINE bool envoy_api_v2_auth_TlsCertificate_has_signed_certificate_timestamp(const envoy_api_v2_auth_TlsCertificate *msg) { return _upb_has_submsg_nohasbit(msg, UPB_SIZE(20, 40)); }
UPB_INLINE const struct envoy_api_v2_core_DataSource* const* envoy_api_v2_auth_TlsCertificate_signed_certificate_timestamp(const envoy_api_v2_auth_TlsCertificate *msg, size_t *len) { return (const struct envoy_api_v2_core_DataSource* const*)_upb_array_accessor(msg, UPB_SIZE(20, 40), len); }
UPB_INLINE bool envoy_api_v2_auth_TlsCertificate_has_private_key_provider(const envoy_api_v2_auth_TlsCertificate *msg) { return _upb_has_submsg_nohasbit(msg, UPB_SIZE(16, 32)); }
UPB_INLINE const envoy_api_v2_auth_PrivateKeyProvider* envoy_api_v2_auth_TlsCertificate_private_key_provider(const envoy_api_v2_auth_TlsCertificate *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(16, 32), const envoy_api_v2_auth_PrivateKeyProvider*); }
UPB_INLINE void envoy_api_v2_auth_TlsCertificate_set_certificate_chain(envoy_api_v2_auth_TlsCertificate *msg, struct envoy_api_v2_core_DataSource* value) {
*UPB_PTR_AT(msg, UPB_SIZE(0, 0), struct envoy_api_v2_core_DataSource*) = value;
}
UPB_INLINE struct envoy_api_v2_core_DataSource* envoy_api_v2_auth_TlsCertificate_mutable_certificate_chain(envoy_api_v2_auth_TlsCertificate *msg, upb_arena *arena) {
struct envoy_api_v2_core_DataSource* sub = (struct envoy_api_v2_core_DataSource*)envoy_api_v2_auth_TlsCertificate_certificate_chain(msg);
if (sub == NULL) {
sub = (struct envoy_api_v2_core_DataSource*)_upb_msg_new(&envoy_api_v2_core_DataSource_msginit, arena);
if (!sub) return NULL;
envoy_api_v2_auth_TlsCertificate_set_certificate_chain(msg, sub);
}
return sub;
}
UPB_INLINE void envoy_api_v2_auth_TlsCertificate_set_private_key(envoy_api_v2_auth_TlsCertificate *msg, struct envoy_api_v2_core_DataSource* value) {
*UPB_PTR_AT(msg, UPB_SIZE(4, 8), struct envoy_api_v2_core_DataSource*) = value;
}
UPB_INLINE struct envoy_api_v2_core_DataSource* envoy_api_v2_auth_TlsCertificate_mutable_private_key(envoy_api_v2_auth_TlsCertificate *msg, upb_arena *arena) {
struct envoy_api_v2_core_DataSource* sub = (struct envoy_api_v2_core_DataSource*)envoy_api_v2_auth_TlsCertificate_private_key(msg);
if (sub == NULL) {
sub = (struct envoy_api_v2_core_DataSource*)_upb_msg_new(&envoy_api_v2_core_DataSource_msginit, arena);
if (!sub) return NULL;
envoy_api_v2_auth_TlsCertificate_set_private_key(msg, sub);
}
return sub;
}
UPB_INLINE void envoy_api_v2_auth_TlsCertificate_set_password(envoy_api_v2_auth_TlsCertificate *msg, struct envoy_api_v2_core_DataSource* value) {
*UPB_PTR_AT(msg, UPB_SIZE(8, 16), struct envoy_api_v2_core_DataSource*) = value;
}
UPB_INLINE struct envoy_api_v2_core_DataSource* envoy_api_v2_auth_TlsCertificate_mutable_password(envoy_api_v2_auth_TlsCertificate *msg, upb_arena *arena) {
struct envoy_api_v2_core_DataSource* sub = (struct envoy_api_v2_core_DataSource*)envoy_api_v2_auth_TlsCertificate_password(msg);
if (sub == NULL) {
sub = (struct envoy_api_v2_core_DataSource*)_upb_msg_new(&envoy_api_v2_core_DataSource_msginit, arena);
if (!sub) return NULL;
envoy_api_v2_auth_TlsCertificate_set_password(msg, sub);
}
return sub;
}
UPB_INLINE void envoy_api_v2_auth_TlsCertificate_set_ocsp_staple(envoy_api_v2_auth_TlsCertificate *msg, struct envoy_api_v2_core_DataSource* value) {
*UPB_PTR_AT(msg, UPB_SIZE(12, 24), struct envoy_api_v2_core_DataSource*) = value;
}
UPB_INLINE struct envoy_api_v2_core_DataSource* envoy_api_v2_auth_TlsCertificate_mutable_ocsp_staple(envoy_api_v2_auth_TlsCertificate *msg, upb_arena *arena) {
struct envoy_api_v2_core_DataSource* sub = (struct envoy_api_v2_core_DataSource*)envoy_api_v2_auth_TlsCertificate_ocsp_staple(msg);
if (sub == NULL) {
sub = (struct envoy_api_v2_core_DataSource*)_upb_msg_new(&envoy_api_v2_core_DataSource_msginit, arena);
if (!sub) return NULL;
envoy_api_v2_auth_TlsCertificate_set_ocsp_staple(msg, sub);
}
return sub;
}
UPB_INLINE struct envoy_api_v2_core_DataSource** envoy_api_v2_auth_TlsCertificate_mutable_signed_certificate_timestamp(envoy_api_v2_auth_TlsCertificate *msg, size_t *len) {
return (struct envoy_api_v2_core_DataSource**)_upb_array_mutable_accessor(msg, UPB_SIZE(20, 40), len);
}
UPB_INLINE struct envoy_api_v2_core_DataSource** envoy_api_v2_auth_TlsCertificate_resize_signed_certificate_timestamp(envoy_api_v2_auth_TlsCertificate *msg, size_t len, upb_arena *arena) {
return (struct envoy_api_v2_core_DataSource**)_upb_array_resize_accessor(msg, UPB_SIZE(20, 40), len, UPB_TYPE_MESSAGE, arena);
}
UPB_INLINE struct envoy_api_v2_core_DataSource* envoy_api_v2_auth_TlsCertificate_add_signed_certificate_timestamp(envoy_api_v2_auth_TlsCertificate *msg, upb_arena *arena) {
struct envoy_api_v2_core_DataSource* sub = (struct envoy_api_v2_core_DataSource*)_upb_msg_new(&envoy_api_v2_core_DataSource_msginit, arena);
bool ok = _upb_array_append_accessor(
msg, UPB_SIZE(20, 40), UPB_SIZE(4, 8), UPB_TYPE_MESSAGE, &sub, arena);
if (!ok) return NULL;
return sub;
}
UPB_INLINE void envoy_api_v2_auth_TlsCertificate_set_private_key_provider(envoy_api_v2_auth_TlsCertificate *msg, envoy_api_v2_auth_PrivateKeyProvider* value) {
*UPB_PTR_AT(msg, UPB_SIZE(16, 32), envoy_api_v2_auth_PrivateKeyProvider*) = value;
}
UPB_INLINE struct envoy_api_v2_auth_PrivateKeyProvider* envoy_api_v2_auth_TlsCertificate_mutable_private_key_provider(envoy_api_v2_auth_TlsCertificate *msg, upb_arena *arena) {
struct envoy_api_v2_auth_PrivateKeyProvider* sub = (struct envoy_api_v2_auth_PrivateKeyProvider*)envoy_api_v2_auth_TlsCertificate_private_key_provider(msg);
if (sub == NULL) {
sub = (struct envoy_api_v2_auth_PrivateKeyProvider*)_upb_msg_new(&envoy_api_v2_auth_PrivateKeyProvider_msginit, arena);
if (!sub) return NULL;
envoy_api_v2_auth_TlsCertificate_set_private_key_provider(msg, sub);
}
return sub;
}
/* envoy.api.v2.auth.TlsSessionTicketKeys */
UPB_INLINE envoy_api_v2_auth_TlsSessionTicketKeys *envoy_api_v2_auth_TlsSessionTicketKeys_new(upb_arena *arena) {
return (envoy_api_v2_auth_TlsSessionTicketKeys *)_upb_msg_new(&envoy_api_v2_auth_TlsSessionTicketKeys_msginit, arena);
}
UPB_INLINE envoy_api_v2_auth_TlsSessionTicketKeys *envoy_api_v2_auth_TlsSessionTicketKeys_parse(const char *buf, size_t size,
upb_arena *arena) {
envoy_api_v2_auth_TlsSessionTicketKeys *ret = envoy_api_v2_auth_TlsSessionTicketKeys_new(arena);
return (ret && upb_decode(buf, size, ret, &envoy_api_v2_auth_TlsSessionTicketKeys_msginit, arena)) ? ret : NULL;
}
UPB_INLINE char *envoy_api_v2_auth_TlsSessionTicketKeys_serialize(const envoy_api_v2_auth_TlsSessionTicketKeys *msg, upb_arena *arena, size_t *len) {
return upb_encode(msg, &envoy_api_v2_auth_TlsSessionTicketKeys_msginit, arena, len);
}
UPB_INLINE bool envoy_api_v2_auth_TlsSessionTicketKeys_has_keys(const envoy_api_v2_auth_TlsSessionTicketKeys *msg) { return _upb_has_submsg_nohasbit(msg, UPB_SIZE(0, 0)); }
UPB_INLINE const struct envoy_api_v2_core_DataSource* const* envoy_api_v2_auth_TlsSessionTicketKeys_keys(const envoy_api_v2_auth_TlsSessionTicketKeys *msg, size_t *len) { return (const struct envoy_api_v2_core_DataSource* const*)_upb_array_accessor(msg, UPB_SIZE(0, 0), len); }
UPB_INLINE struct envoy_api_v2_core_DataSource** envoy_api_v2_auth_TlsSessionTicketKeys_mutable_keys(envoy_api_v2_auth_TlsSessionTicketKeys *msg, size_t *len) {
return (struct envoy_api_v2_core_DataSource**)_upb_array_mutable_accessor(msg, UPB_SIZE(0, 0), len);
}
UPB_INLINE struct envoy_api_v2_core_DataSource** envoy_api_v2_auth_TlsSessionTicketKeys_resize_keys(envoy_api_v2_auth_TlsSessionTicketKeys *msg, size_t len, upb_arena *arena) {
return (struct envoy_api_v2_core_DataSource**)_upb_array_resize_accessor(msg, UPB_SIZE(0, 0), len, UPB_TYPE_MESSAGE, arena);
}
UPB_INLINE struct envoy_api_v2_core_DataSource* envoy_api_v2_auth_TlsSessionTicketKeys_add_keys(envoy_api_v2_auth_TlsSessionTicketKeys *msg, upb_arena *arena) {
struct envoy_api_v2_core_DataSource* sub = (struct envoy_api_v2_core_DataSource*)_upb_msg_new(&envoy_api_v2_core_DataSource_msginit, arena);
bool ok = _upb_array_append_accessor(
msg, UPB_SIZE(0, 0), UPB_SIZE(4, 8), UPB_TYPE_MESSAGE, &sub, arena);
if (!ok) return NULL;
return sub;
}
/* envoy.api.v2.auth.CertificateValidationContext */
UPB_INLINE envoy_api_v2_auth_CertificateValidationContext *envoy_api_v2_auth_CertificateValidationContext_new(upb_arena *arena) {
return (envoy_api_v2_auth_CertificateValidationContext *)_upb_msg_new(&envoy_api_v2_auth_CertificateValidationContext_msginit, arena);
}
UPB_INLINE envoy_api_v2_auth_CertificateValidationContext *envoy_api_v2_auth_CertificateValidationContext_parse(const char *buf, size_t size,
upb_arena *arena) {
envoy_api_v2_auth_CertificateValidationContext *ret = envoy_api_v2_auth_CertificateValidationContext_new(arena);
return (ret && upb_decode(buf, size, ret, &envoy_api_v2_auth_CertificateValidationContext_msginit, arena)) ? ret : NULL;
}
UPB_INLINE char *envoy_api_v2_auth_CertificateValidationContext_serialize(const envoy_api_v2_auth_CertificateValidationContext *msg, upb_arena *arena, size_t *len) {
return upb_encode(msg, &envoy_api_v2_auth_CertificateValidationContext_msginit, arena, len);
}
UPB_INLINE bool envoy_api_v2_auth_CertificateValidationContext_has_trusted_ca(const envoy_api_v2_auth_CertificateValidationContext *msg) { return _upb_has_submsg_nohasbit(msg, UPB_SIZE(12, 16)); }
UPB_INLINE const struct envoy_api_v2_core_DataSource* envoy_api_v2_auth_CertificateValidationContext_trusted_ca(const envoy_api_v2_auth_CertificateValidationContext *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(12, 16), const struct envoy_api_v2_core_DataSource*); }
UPB_INLINE upb_strview const* envoy_api_v2_auth_CertificateValidationContext_verify_certificate_hash(const envoy_api_v2_auth_CertificateValidationContext *msg, size_t *len) { return (upb_strview const*)_upb_array_accessor(msg, UPB_SIZE(28, 48), len); }
UPB_INLINE upb_strview const* envoy_api_v2_auth_CertificateValidationContext_verify_certificate_spki(const envoy_api_v2_auth_CertificateValidationContext *msg, size_t *len) { return (upb_strview const*)_upb_array_accessor(msg, UPB_SIZE(32, 56), len); }
UPB_INLINE upb_strview const* envoy_api_v2_auth_CertificateValidationContext_verify_subject_alt_name(const envoy_api_v2_auth_CertificateValidationContext *msg, size_t *len) { return (upb_strview const*)_upb_array_accessor(msg, UPB_SIZE(36, 64), len); }
UPB_INLINE bool envoy_api_v2_auth_CertificateValidationContext_has_require_ocsp_staple(const envoy_api_v2_auth_CertificateValidationContext *msg) { return _upb_has_submsg_nohasbit(msg, UPB_SIZE(16, 24)); }
UPB_INLINE const struct google_protobuf_BoolValue* envoy_api_v2_auth_CertificateValidationContext_require_ocsp_staple(const envoy_api_v2_auth_CertificateValidationContext *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(16, 24), const struct google_protobuf_BoolValue*); }
UPB_INLINE bool envoy_api_v2_auth_CertificateValidationContext_has_require_signed_certificate_timestamp(const envoy_api_v2_auth_CertificateValidationContext *msg) { return _upb_has_submsg_nohasbit(msg, UPB_SIZE(20, 32)); }
UPB_INLINE const struct google_protobuf_BoolValue* envoy_api_v2_auth_CertificateValidationContext_require_signed_certificate_timestamp(const envoy_api_v2_auth_CertificateValidationContext *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(20, 32), const struct google_protobuf_BoolValue*); }
UPB_INLINE bool envoy_api_v2_auth_CertificateValidationContext_has_crl(const envoy_api_v2_auth_CertificateValidationContext *msg) { return _upb_has_submsg_nohasbit(msg, UPB_SIZE(24, 40)); }
UPB_INLINE const struct envoy_api_v2_core_DataSource* envoy_api_v2_auth_CertificateValidationContext_crl(const envoy_api_v2_auth_CertificateValidationContext *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(24, 40), const struct envoy_api_v2_core_DataSource*); }
UPB_INLINE bool envoy_api_v2_auth_CertificateValidationContext_allow_expired_certificate(const envoy_api_v2_auth_CertificateValidationContext *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(8, 8), bool); }
UPB_INLINE bool envoy_api_v2_auth_CertificateValidationContext_has_match_subject_alt_names(const envoy_api_v2_auth_CertificateValidationContext *msg) { return _upb_has_submsg_nohasbit(msg, UPB_SIZE(40, 72)); }
UPB_INLINE const struct envoy_type_matcher_StringMatcher* const* envoy_api_v2_auth_CertificateValidationContext_match_subject_alt_names(const envoy_api_v2_auth_CertificateValidationContext *msg, size_t *len) { return (const struct envoy_type_matcher_StringMatcher* const*)_upb_array_accessor(msg, UPB_SIZE(40, 72), len); }
UPB_INLINE int32_t envoy_api_v2_auth_CertificateValidationContext_trust_chain_verification(const envoy_api_v2_auth_CertificateValidationContext *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(0, 0), int32_t); }
UPB_INLINE void envoy_api_v2_auth_CertificateValidationContext_set_trusted_ca(envoy_api_v2_auth_CertificateValidationContext *msg, struct envoy_api_v2_core_DataSource* value) {
*UPB_PTR_AT(msg, UPB_SIZE(12, 16), struct envoy_api_v2_core_DataSource*) = value;
}
UPB_INLINE struct envoy_api_v2_core_DataSource* envoy_api_v2_auth_CertificateValidationContext_mutable_trusted_ca(envoy_api_v2_auth_CertificateValidationContext *msg, upb_arena *arena) {
struct envoy_api_v2_core_DataSource* sub = (struct envoy_api_v2_core_DataSource*)envoy_api_v2_auth_CertificateValidationContext_trusted_ca(msg);
if (sub == NULL) {
sub = (struct envoy_api_v2_core_DataSource*)_upb_msg_new(&envoy_api_v2_core_DataSource_msginit, arena);
if (!sub) return NULL;
envoy_api_v2_auth_CertificateValidationContext_set_trusted_ca(msg, sub);
}
return sub;
}
UPB_INLINE upb_strview* envoy_api_v2_auth_CertificateValidationContext_mutable_verify_certificate_hash(envoy_api_v2_auth_CertificateValidationContext *msg, size_t *len) {
return (upb_strview*)_upb_array_mutable_accessor(msg, UPB_SIZE(28, 48), len);
}
UPB_INLINE upb_strview* envoy_api_v2_auth_CertificateValidationContext_resize_verify_certificate_hash(envoy_api_v2_auth_CertificateValidationContext *msg, size_t len, upb_arena *arena) {
return (upb_strview*)_upb_array_resize_accessor(msg, UPB_SIZE(28, 48), len, UPB_TYPE_STRING, arena);
}
UPB_INLINE bool envoy_api_v2_auth_CertificateValidationContext_add_verify_certificate_hash(envoy_api_v2_auth_CertificateValidationContext *msg, upb_strview val, upb_arena *arena) {
return _upb_array_append_accessor(msg, UPB_SIZE(28, 48), UPB_SIZE(8, 16), UPB_TYPE_STRING, &val,
arena);
}
UPB_INLINE upb_strview* envoy_api_v2_auth_CertificateValidationContext_mutable_verify_certificate_spki(envoy_api_v2_auth_CertificateValidationContext *msg, size_t *len) {
return (upb_strview*)_upb_array_mutable_accessor(msg, UPB_SIZE(32, 56), len);
}
UPB_INLINE upb_strview* envoy_api_v2_auth_CertificateValidationContext_resize_verify_certificate_spki(envoy_api_v2_auth_CertificateValidationContext *msg, size_t len, upb_arena *arena) {
return (upb_strview*)_upb_array_resize_accessor(msg, UPB_SIZE(32, 56), len, UPB_TYPE_STRING, arena);
}
UPB_INLINE bool envoy_api_v2_auth_CertificateValidationContext_add_verify_certificate_spki(envoy_api_v2_auth_CertificateValidationContext *msg, upb_strview val, upb_arena *arena) {
return _upb_array_append_accessor(msg, UPB_SIZE(32, 56), UPB_SIZE(8, 16), UPB_TYPE_STRING, &val,
arena);
}
UPB_INLINE upb_strview* envoy_api_v2_auth_CertificateValidationContext_mutable_verify_subject_alt_name(envoy_api_v2_auth_CertificateValidationContext *msg, size_t *len) {
return (upb_strview*)_upb_array_mutable_accessor(msg, UPB_SIZE(36, 64), len);
}
UPB_INLINE upb_strview* envoy_api_v2_auth_CertificateValidationContext_resize_verify_subject_alt_name(envoy_api_v2_auth_CertificateValidationContext *msg, size_t len, upb_arena *arena) {
return (upb_strview*)_upb_array_resize_accessor(msg, UPB_SIZE(36, 64), len, UPB_TYPE_STRING, arena);
}
UPB_INLINE bool envoy_api_v2_auth_CertificateValidationContext_add_verify_subject_alt_name(envoy_api_v2_auth_CertificateValidationContext *msg, upb_strview val, upb_arena *arena) {
return _upb_array_append_accessor(msg, UPB_SIZE(36, 64), UPB_SIZE(8, 16), UPB_TYPE_STRING, &val,
arena);
}
UPB_INLINE void envoy_api_v2_auth_CertificateValidationContext_set_require_ocsp_staple(envoy_api_v2_auth_CertificateValidationContext *msg, struct google_protobuf_BoolValue* value) {
*UPB_PTR_AT(msg, UPB_SIZE(16, 24), struct google_protobuf_BoolValue*) = value;
}
UPB_INLINE struct google_protobuf_BoolValue* envoy_api_v2_auth_CertificateValidationContext_mutable_require_ocsp_staple(envoy_api_v2_auth_CertificateValidationContext *msg, upb_arena *arena) {
struct google_protobuf_BoolValue* sub = (struct google_protobuf_BoolValue*)envoy_api_v2_auth_CertificateValidationContext_require_ocsp_staple(msg);
if (sub == NULL) {
sub = (struct google_protobuf_BoolValue*)_upb_msg_new(&google_protobuf_BoolValue_msginit, arena);
if (!sub) return NULL;
envoy_api_v2_auth_CertificateValidationContext_set_require_ocsp_staple(msg, sub);
}
return sub;
}
UPB_INLINE void envoy_api_v2_auth_CertificateValidationContext_set_require_signed_certificate_timestamp(envoy_api_v2_auth_CertificateValidationContext *msg, struct google_protobuf_BoolValue* value) {
*UPB_PTR_AT(msg, UPB_SIZE(20, 32), struct google_protobuf_BoolValue*) = value;
}
UPB_INLINE struct google_protobuf_BoolValue* envoy_api_v2_auth_CertificateValidationContext_mutable_require_signed_certificate_timestamp(envoy_api_v2_auth_CertificateValidationContext *msg, upb_arena *arena) {
struct google_protobuf_BoolValue* sub = (struct google_protobuf_BoolValue*)envoy_api_v2_auth_CertificateValidationContext_require_signed_certificate_timestamp(msg);
if (sub == NULL) {
sub = (struct google_protobuf_BoolValue*)_upb_msg_new(&google_protobuf_BoolValue_msginit, arena);
if (!sub) return NULL;
envoy_api_v2_auth_CertificateValidationContext_set_require_signed_certificate_timestamp(msg, sub);
}
return sub;
}
UPB_INLINE void envoy_api_v2_auth_CertificateValidationContext_set_crl(envoy_api_v2_auth_CertificateValidationContext *msg, struct envoy_api_v2_core_DataSource* value) {
*UPB_PTR_AT(msg, UPB_SIZE(24, 40), struct envoy_api_v2_core_DataSource*) = value;
}
UPB_INLINE struct envoy_api_v2_core_DataSource* envoy_api_v2_auth_CertificateValidationContext_mutable_crl(envoy_api_v2_auth_CertificateValidationContext *msg, upb_arena *arena) {
struct envoy_api_v2_core_DataSource* sub = (struct envoy_api_v2_core_DataSource*)envoy_api_v2_auth_CertificateValidationContext_crl(msg);
if (sub == NULL) {
sub = (struct envoy_api_v2_core_DataSource*)_upb_msg_new(&envoy_api_v2_core_DataSource_msginit, arena);
if (!sub) return NULL;
envoy_api_v2_auth_CertificateValidationContext_set_crl(msg, sub);
}
return sub;
}
UPB_INLINE void envoy_api_v2_auth_CertificateValidationContext_set_allow_expired_certificate(envoy_api_v2_auth_CertificateValidationContext *msg, bool value) {
*UPB_PTR_AT(msg, UPB_SIZE(8, 8), bool) = value;
}
UPB_INLINE struct envoy_type_matcher_StringMatcher** envoy_api_v2_auth_CertificateValidationContext_mutable_match_subject_alt_names(envoy_api_v2_auth_CertificateValidationContext *msg, size_t *len) {
return (struct envoy_type_matcher_StringMatcher**)_upb_array_mutable_accessor(msg, UPB_SIZE(40, 72), len);
}
UPB_INLINE struct envoy_type_matcher_StringMatcher** envoy_api_v2_auth_CertificateValidationContext_resize_match_subject_alt_names(envoy_api_v2_auth_CertificateValidationContext *msg, size_t len, upb_arena *arena) {
return (struct envoy_type_matcher_StringMatcher**)_upb_array_resize_accessor(msg, UPB_SIZE(40, 72), len, UPB_TYPE_MESSAGE, arena);
}
UPB_INLINE struct envoy_type_matcher_StringMatcher* envoy_api_v2_auth_CertificateValidationContext_add_match_subject_alt_names(envoy_api_v2_auth_CertificateValidationContext *msg, upb_arena *arena) {
struct envoy_type_matcher_StringMatcher* sub = (struct envoy_type_matcher_StringMatcher*)_upb_msg_new(&envoy_type_matcher_StringMatcher_msginit, arena);
bool ok = _upb_array_append_accessor(
msg, UPB_SIZE(40, 72), UPB_SIZE(4, 8), UPB_TYPE_MESSAGE, &sub, arena);
if (!ok) return NULL;
return sub;
}
UPB_INLINE void envoy_api_v2_auth_CertificateValidationContext_set_trust_chain_verification(envoy_api_v2_auth_CertificateValidationContext *msg, int32_t value) {
*UPB_PTR_AT(msg, UPB_SIZE(0, 0), int32_t) = value;
}
#ifdef __cplusplus
} /* extern "C" */
#endif
#include "upb/port_undef.inc"
#endif /* ENVOY_API_V2_AUTH_COMMON_PROTO_UPB_H_ */

@ -1,72 +0,0 @@
/* This file was generated by upbc (the upb compiler) from the input
* file:
*
* envoy/api/v2/auth/secret.proto
*
* Do not edit -- your changes will be discarded when the file is
* regenerated. */
#include <stddef.h>
#include "upb/msg.h"
#include "envoy/api/v2/auth/secret.upb.h"
#include "envoy/api/v2/auth/common.upb.h"
#include "envoy/api/v2/core/base.upb.h"
#include "envoy/api/v2/core/config_source.upb.h"
#include "udpa/annotations/migrate.upb.h"
#include "udpa/annotations/sensitive.upb.h"
#include "udpa/annotations/status.upb.h"
#include "upb/port_def.inc"
static const upb_msglayout *const envoy_api_v2_auth_GenericSecret_submsgs[1] = {
&envoy_api_v2_core_DataSource_msginit,
};
static const upb_msglayout_field envoy_api_v2_auth_GenericSecret__fields[1] = {
{1, UPB_SIZE(0, 0), 0, 0, 11, 1},
};
const upb_msglayout envoy_api_v2_auth_GenericSecret_msginit = {
&envoy_api_v2_auth_GenericSecret_submsgs[0],
&envoy_api_v2_auth_GenericSecret__fields[0],
UPB_SIZE(4, 8), 1, false,
};
static const upb_msglayout *const envoy_api_v2_auth_SdsSecretConfig_submsgs[1] = {
&envoy_api_v2_core_ConfigSource_msginit,
};
static const upb_msglayout_field envoy_api_v2_auth_SdsSecretConfig__fields[2] = {
{1, UPB_SIZE(0, 0), 0, 0, 9, 1},
{2, UPB_SIZE(8, 16), 0, 0, 11, 1},
};
const upb_msglayout envoy_api_v2_auth_SdsSecretConfig_msginit = {
&envoy_api_v2_auth_SdsSecretConfig_submsgs[0],
&envoy_api_v2_auth_SdsSecretConfig__fields[0],
UPB_SIZE(16, 32), 2, false,
};
static const upb_msglayout *const envoy_api_v2_auth_Secret_submsgs[4] = {
&envoy_api_v2_auth_CertificateValidationContext_msginit,
&envoy_api_v2_auth_GenericSecret_msginit,
&envoy_api_v2_auth_TlsCertificate_msginit,
&envoy_api_v2_auth_TlsSessionTicketKeys_msginit,
};
static const upb_msglayout_field envoy_api_v2_auth_Secret__fields[5] = {
{1, UPB_SIZE(0, 0), 0, 0, 9, 1},
{2, UPB_SIZE(8, 16), UPB_SIZE(-13, -25), 2, 11, 1},
{3, UPB_SIZE(8, 16), UPB_SIZE(-13, -25), 3, 11, 1},
{4, UPB_SIZE(8, 16), UPB_SIZE(-13, -25), 0, 11, 1},
{5, UPB_SIZE(8, 16), UPB_SIZE(-13, -25), 1, 11, 1},
};
const upb_msglayout envoy_api_v2_auth_Secret_msginit = {
&envoy_api_v2_auth_Secret_submsgs[0],
&envoy_api_v2_auth_Secret__fields[0],
UPB_SIZE(16, 32), 5, false,
};
#include "upb/port_undef.inc"

@ -1,198 +0,0 @@
/* This file was generated by upbc (the upb compiler) from the input
* file:
*
* envoy/api/v2/auth/secret.proto
*
* Do not edit -- your changes will be discarded when the file is
* regenerated. */
#ifndef ENVOY_API_V2_AUTH_SECRET_PROTO_UPB_H_
#define ENVOY_API_V2_AUTH_SECRET_PROTO_UPB_H_
#include "upb/msg.h"
#include "upb/decode.h"
#include "upb/encode.h"
#include "upb/port_def.inc"
#ifdef __cplusplus
extern "C" {
#endif
struct envoy_api_v2_auth_GenericSecret;
struct envoy_api_v2_auth_SdsSecretConfig;
struct envoy_api_v2_auth_Secret;
typedef struct envoy_api_v2_auth_GenericSecret envoy_api_v2_auth_GenericSecret;
typedef struct envoy_api_v2_auth_SdsSecretConfig envoy_api_v2_auth_SdsSecretConfig;
typedef struct envoy_api_v2_auth_Secret envoy_api_v2_auth_Secret;
extern const upb_msglayout envoy_api_v2_auth_GenericSecret_msginit;
extern const upb_msglayout envoy_api_v2_auth_SdsSecretConfig_msginit;
extern const upb_msglayout envoy_api_v2_auth_Secret_msginit;
struct envoy_api_v2_auth_CertificateValidationContext;
struct envoy_api_v2_auth_TlsCertificate;
struct envoy_api_v2_auth_TlsSessionTicketKeys;
struct envoy_api_v2_core_ConfigSource;
struct envoy_api_v2_core_DataSource;
extern const upb_msglayout envoy_api_v2_auth_CertificateValidationContext_msginit;
extern const upb_msglayout envoy_api_v2_auth_TlsCertificate_msginit;
extern const upb_msglayout envoy_api_v2_auth_TlsSessionTicketKeys_msginit;
extern const upb_msglayout envoy_api_v2_core_ConfigSource_msginit;
extern const upb_msglayout envoy_api_v2_core_DataSource_msginit;
/* envoy.api.v2.auth.GenericSecret */
UPB_INLINE envoy_api_v2_auth_GenericSecret *envoy_api_v2_auth_GenericSecret_new(upb_arena *arena) {
return (envoy_api_v2_auth_GenericSecret *)_upb_msg_new(&envoy_api_v2_auth_GenericSecret_msginit, arena);
}
UPB_INLINE envoy_api_v2_auth_GenericSecret *envoy_api_v2_auth_GenericSecret_parse(const char *buf, size_t size,
upb_arena *arena) {
envoy_api_v2_auth_GenericSecret *ret = envoy_api_v2_auth_GenericSecret_new(arena);
return (ret && upb_decode(buf, size, ret, &envoy_api_v2_auth_GenericSecret_msginit, arena)) ? ret : NULL;
}
UPB_INLINE char *envoy_api_v2_auth_GenericSecret_serialize(const envoy_api_v2_auth_GenericSecret *msg, upb_arena *arena, size_t *len) {
return upb_encode(msg, &envoy_api_v2_auth_GenericSecret_msginit, arena, len);
}
UPB_INLINE bool envoy_api_v2_auth_GenericSecret_has_secret(const envoy_api_v2_auth_GenericSecret *msg) { return _upb_has_submsg_nohasbit(msg, UPB_SIZE(0, 0)); }
UPB_INLINE const struct envoy_api_v2_core_DataSource* envoy_api_v2_auth_GenericSecret_secret(const envoy_api_v2_auth_GenericSecret *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(0, 0), const struct envoy_api_v2_core_DataSource*); }
UPB_INLINE void envoy_api_v2_auth_GenericSecret_set_secret(envoy_api_v2_auth_GenericSecret *msg, struct envoy_api_v2_core_DataSource* value) {
*UPB_PTR_AT(msg, UPB_SIZE(0, 0), struct envoy_api_v2_core_DataSource*) = value;
}
UPB_INLINE struct envoy_api_v2_core_DataSource* envoy_api_v2_auth_GenericSecret_mutable_secret(envoy_api_v2_auth_GenericSecret *msg, upb_arena *arena) {
struct envoy_api_v2_core_DataSource* sub = (struct envoy_api_v2_core_DataSource*)envoy_api_v2_auth_GenericSecret_secret(msg);
if (sub == NULL) {
sub = (struct envoy_api_v2_core_DataSource*)_upb_msg_new(&envoy_api_v2_core_DataSource_msginit, arena);
if (!sub) return NULL;
envoy_api_v2_auth_GenericSecret_set_secret(msg, sub);
}
return sub;
}
/* envoy.api.v2.auth.SdsSecretConfig */
UPB_INLINE envoy_api_v2_auth_SdsSecretConfig *envoy_api_v2_auth_SdsSecretConfig_new(upb_arena *arena) {
return (envoy_api_v2_auth_SdsSecretConfig *)_upb_msg_new(&envoy_api_v2_auth_SdsSecretConfig_msginit, arena);
}
UPB_INLINE envoy_api_v2_auth_SdsSecretConfig *envoy_api_v2_auth_SdsSecretConfig_parse(const char *buf, size_t size,
upb_arena *arena) {
envoy_api_v2_auth_SdsSecretConfig *ret = envoy_api_v2_auth_SdsSecretConfig_new(arena);
return (ret && upb_decode(buf, size, ret, &envoy_api_v2_auth_SdsSecretConfig_msginit, arena)) ? ret : NULL;
}
UPB_INLINE char *envoy_api_v2_auth_SdsSecretConfig_serialize(const envoy_api_v2_auth_SdsSecretConfig *msg, upb_arena *arena, size_t *len) {
return upb_encode(msg, &envoy_api_v2_auth_SdsSecretConfig_msginit, arena, len);
}
UPB_INLINE upb_strview envoy_api_v2_auth_SdsSecretConfig_name(const envoy_api_v2_auth_SdsSecretConfig *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(0, 0), upb_strview); }
UPB_INLINE bool envoy_api_v2_auth_SdsSecretConfig_has_sds_config(const envoy_api_v2_auth_SdsSecretConfig *msg) { return _upb_has_submsg_nohasbit(msg, UPB_SIZE(8, 16)); }
UPB_INLINE const struct envoy_api_v2_core_ConfigSource* envoy_api_v2_auth_SdsSecretConfig_sds_config(const envoy_api_v2_auth_SdsSecretConfig *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(8, 16), const struct envoy_api_v2_core_ConfigSource*); }
UPB_INLINE void envoy_api_v2_auth_SdsSecretConfig_set_name(envoy_api_v2_auth_SdsSecretConfig *msg, upb_strview value) {
*UPB_PTR_AT(msg, UPB_SIZE(0, 0), upb_strview) = value;
}
UPB_INLINE void envoy_api_v2_auth_SdsSecretConfig_set_sds_config(envoy_api_v2_auth_SdsSecretConfig *msg, struct envoy_api_v2_core_ConfigSource* value) {
*UPB_PTR_AT(msg, UPB_SIZE(8, 16), struct envoy_api_v2_core_ConfigSource*) = value;
}
UPB_INLINE struct envoy_api_v2_core_ConfigSource* envoy_api_v2_auth_SdsSecretConfig_mutable_sds_config(envoy_api_v2_auth_SdsSecretConfig *msg, upb_arena *arena) {
struct envoy_api_v2_core_ConfigSource* sub = (struct envoy_api_v2_core_ConfigSource*)envoy_api_v2_auth_SdsSecretConfig_sds_config(msg);
if (sub == NULL) {
sub = (struct envoy_api_v2_core_ConfigSource*)_upb_msg_new(&envoy_api_v2_core_ConfigSource_msginit, arena);
if (!sub) return NULL;
envoy_api_v2_auth_SdsSecretConfig_set_sds_config(msg, sub);
}
return sub;
}
/* envoy.api.v2.auth.Secret */
UPB_INLINE envoy_api_v2_auth_Secret *envoy_api_v2_auth_Secret_new(upb_arena *arena) {
return (envoy_api_v2_auth_Secret *)_upb_msg_new(&envoy_api_v2_auth_Secret_msginit, arena);
}
UPB_INLINE envoy_api_v2_auth_Secret *envoy_api_v2_auth_Secret_parse(const char *buf, size_t size,
upb_arena *arena) {
envoy_api_v2_auth_Secret *ret = envoy_api_v2_auth_Secret_new(arena);
return (ret && upb_decode(buf, size, ret, &envoy_api_v2_auth_Secret_msginit, arena)) ? ret : NULL;
}
UPB_INLINE char *envoy_api_v2_auth_Secret_serialize(const envoy_api_v2_auth_Secret *msg, upb_arena *arena, size_t *len) {
return upb_encode(msg, &envoy_api_v2_auth_Secret_msginit, arena, len);
}
typedef enum {
envoy_api_v2_auth_Secret_type_tls_certificate = 2,
envoy_api_v2_auth_Secret_type_session_ticket_keys = 3,
envoy_api_v2_auth_Secret_type_validation_context = 4,
envoy_api_v2_auth_Secret_type_generic_secret = 5,
envoy_api_v2_auth_Secret_type_NOT_SET = 0
} envoy_api_v2_auth_Secret_type_oneofcases;
UPB_INLINE envoy_api_v2_auth_Secret_type_oneofcases envoy_api_v2_auth_Secret_type_case(const envoy_api_v2_auth_Secret* msg) { return (envoy_api_v2_auth_Secret_type_oneofcases)*UPB_PTR_AT(msg, UPB_SIZE(12, 24), int32_t); }
UPB_INLINE upb_strview envoy_api_v2_auth_Secret_name(const envoy_api_v2_auth_Secret *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(0, 0), upb_strview); }
UPB_INLINE bool envoy_api_v2_auth_Secret_has_tls_certificate(const envoy_api_v2_auth_Secret *msg) { return _upb_getoneofcase(msg, UPB_SIZE(12, 24)) == 2; }
UPB_INLINE const struct envoy_api_v2_auth_TlsCertificate* envoy_api_v2_auth_Secret_tls_certificate(const envoy_api_v2_auth_Secret *msg) { return UPB_READ_ONEOF(msg, const struct envoy_api_v2_auth_TlsCertificate*, UPB_SIZE(8, 16), UPB_SIZE(12, 24), 2, NULL); }
UPB_INLINE bool envoy_api_v2_auth_Secret_has_session_ticket_keys(const envoy_api_v2_auth_Secret *msg) { return _upb_getoneofcase(msg, UPB_SIZE(12, 24)) == 3; }
UPB_INLINE const struct envoy_api_v2_auth_TlsSessionTicketKeys* envoy_api_v2_auth_Secret_session_ticket_keys(const envoy_api_v2_auth_Secret *msg) { return UPB_READ_ONEOF(msg, const struct envoy_api_v2_auth_TlsSessionTicketKeys*, UPB_SIZE(8, 16), UPB_SIZE(12, 24), 3, NULL); }
UPB_INLINE bool envoy_api_v2_auth_Secret_has_validation_context(const envoy_api_v2_auth_Secret *msg) { return _upb_getoneofcase(msg, UPB_SIZE(12, 24)) == 4; }
UPB_INLINE const struct envoy_api_v2_auth_CertificateValidationContext* envoy_api_v2_auth_Secret_validation_context(const envoy_api_v2_auth_Secret *msg) { return UPB_READ_ONEOF(msg, const struct envoy_api_v2_auth_CertificateValidationContext*, UPB_SIZE(8, 16), UPB_SIZE(12, 24), 4, NULL); }
UPB_INLINE bool envoy_api_v2_auth_Secret_has_generic_secret(const envoy_api_v2_auth_Secret *msg) { return _upb_getoneofcase(msg, UPB_SIZE(12, 24)) == 5; }
UPB_INLINE const envoy_api_v2_auth_GenericSecret* envoy_api_v2_auth_Secret_generic_secret(const envoy_api_v2_auth_Secret *msg) { return UPB_READ_ONEOF(msg, const envoy_api_v2_auth_GenericSecret*, UPB_SIZE(8, 16), UPB_SIZE(12, 24), 5, NULL); }
UPB_INLINE void envoy_api_v2_auth_Secret_set_name(envoy_api_v2_auth_Secret *msg, upb_strview value) {
*UPB_PTR_AT(msg, UPB_SIZE(0, 0), upb_strview) = value;
}
UPB_INLINE void envoy_api_v2_auth_Secret_set_tls_certificate(envoy_api_v2_auth_Secret *msg, struct envoy_api_v2_auth_TlsCertificate* value) {
UPB_WRITE_ONEOF(msg, struct envoy_api_v2_auth_TlsCertificate*, UPB_SIZE(8, 16), value, UPB_SIZE(12, 24), 2);
}
UPB_INLINE struct envoy_api_v2_auth_TlsCertificate* envoy_api_v2_auth_Secret_mutable_tls_certificate(envoy_api_v2_auth_Secret *msg, upb_arena *arena) {
struct envoy_api_v2_auth_TlsCertificate* sub = (struct envoy_api_v2_auth_TlsCertificate*)envoy_api_v2_auth_Secret_tls_certificate(msg);
if (sub == NULL) {
sub = (struct envoy_api_v2_auth_TlsCertificate*)_upb_msg_new(&envoy_api_v2_auth_TlsCertificate_msginit, arena);
if (!sub) return NULL;
envoy_api_v2_auth_Secret_set_tls_certificate(msg, sub);
}
return sub;
}
UPB_INLINE void envoy_api_v2_auth_Secret_set_session_ticket_keys(envoy_api_v2_auth_Secret *msg, struct envoy_api_v2_auth_TlsSessionTicketKeys* value) {
UPB_WRITE_ONEOF(msg, struct envoy_api_v2_auth_TlsSessionTicketKeys*, UPB_SIZE(8, 16), value, UPB_SIZE(12, 24), 3);
}
UPB_INLINE struct envoy_api_v2_auth_TlsSessionTicketKeys* envoy_api_v2_auth_Secret_mutable_session_ticket_keys(envoy_api_v2_auth_Secret *msg, upb_arena *arena) {
struct envoy_api_v2_auth_TlsSessionTicketKeys* sub = (struct envoy_api_v2_auth_TlsSessionTicketKeys*)envoy_api_v2_auth_Secret_session_ticket_keys(msg);
if (sub == NULL) {
sub = (struct envoy_api_v2_auth_TlsSessionTicketKeys*)_upb_msg_new(&envoy_api_v2_auth_TlsSessionTicketKeys_msginit, arena);
if (!sub) return NULL;
envoy_api_v2_auth_Secret_set_session_ticket_keys(msg, sub);
}
return sub;
}
UPB_INLINE void envoy_api_v2_auth_Secret_set_validation_context(envoy_api_v2_auth_Secret *msg, struct envoy_api_v2_auth_CertificateValidationContext* value) {
UPB_WRITE_ONEOF(msg, struct envoy_api_v2_auth_CertificateValidationContext*, UPB_SIZE(8, 16), value, UPB_SIZE(12, 24), 4);
}
UPB_INLINE struct envoy_api_v2_auth_CertificateValidationContext* envoy_api_v2_auth_Secret_mutable_validation_context(envoy_api_v2_auth_Secret *msg, upb_arena *arena) {
struct envoy_api_v2_auth_CertificateValidationContext* sub = (struct envoy_api_v2_auth_CertificateValidationContext*)envoy_api_v2_auth_Secret_validation_context(msg);
if (sub == NULL) {
sub = (struct envoy_api_v2_auth_CertificateValidationContext*)_upb_msg_new(&envoy_api_v2_auth_CertificateValidationContext_msginit, arena);
if (!sub) return NULL;
envoy_api_v2_auth_Secret_set_validation_context(msg, sub);
}
return sub;
}
UPB_INLINE void envoy_api_v2_auth_Secret_set_generic_secret(envoy_api_v2_auth_Secret *msg, envoy_api_v2_auth_GenericSecret* value) {
UPB_WRITE_ONEOF(msg, envoy_api_v2_auth_GenericSecret*, UPB_SIZE(8, 16), value, UPB_SIZE(12, 24), 5);
}
UPB_INLINE struct envoy_api_v2_auth_GenericSecret* envoy_api_v2_auth_Secret_mutable_generic_secret(envoy_api_v2_auth_Secret *msg, upb_arena *arena) {
struct envoy_api_v2_auth_GenericSecret* sub = (struct envoy_api_v2_auth_GenericSecret*)envoy_api_v2_auth_Secret_generic_secret(msg);
if (sub == NULL) {
sub = (struct envoy_api_v2_auth_GenericSecret*)_upb_msg_new(&envoy_api_v2_auth_GenericSecret_msginit, arena);
if (!sub) return NULL;
envoy_api_v2_auth_Secret_set_generic_secret(msg, sub);
}
return sub;
}
#ifdef __cplusplus
} /* extern "C" */
#endif
#include "upb/port_undef.inc"
#endif /* ENVOY_API_V2_AUTH_SECRET_PROTO_UPB_H_ */

@ -1,105 +0,0 @@
/* This file was generated by upbc (the upb compiler) from the input
* file:
*
* envoy/api/v2/auth/tls.proto
*
* Do not edit -- your changes will be discarded when the file is
* regenerated. */
#include <stddef.h>
#include "upb/msg.h"
#include "envoy/api/v2/auth/tls.upb.h"
#include "envoy/api/v2/auth/common.upb.h"
#include "envoy/api/v2/auth/secret.upb.h"
#include "google/protobuf/duration.upb.h"
#include "google/protobuf/wrappers.upb.h"
#include "udpa/annotations/migrate.upb.h"
#include "udpa/annotations/status.upb.h"
#include "validate/validate.upb.h"
#include "upb/port_def.inc"
static const upb_msglayout *const envoy_api_v2_auth_UpstreamTlsContext_submsgs[2] = {
&envoy_api_v2_auth_CommonTlsContext_msginit,
&google_protobuf_UInt32Value_msginit,
};
static const upb_msglayout_field envoy_api_v2_auth_UpstreamTlsContext__fields[4] = {
{1, UPB_SIZE(12, 24), 0, 0, 11, 1},
{2, UPB_SIZE(4, 8), 0, 0, 9, 1},
{3, UPB_SIZE(0, 0), 0, 0, 8, 1},
{4, UPB_SIZE(16, 32), 0, 1, 11, 1},
};
const upb_msglayout envoy_api_v2_auth_UpstreamTlsContext_msginit = {
&envoy_api_v2_auth_UpstreamTlsContext_submsgs[0],
&envoy_api_v2_auth_UpstreamTlsContext__fields[0],
UPB_SIZE(24, 48), 4, false,
};
static const upb_msglayout *const envoy_api_v2_auth_DownstreamTlsContext_submsgs[6] = {
&envoy_api_v2_auth_CommonTlsContext_msginit,
&envoy_api_v2_auth_SdsSecretConfig_msginit,
&envoy_api_v2_auth_TlsSessionTicketKeys_msginit,
&google_protobuf_BoolValue_msginit,
&google_protobuf_Duration_msginit,
};
static const upb_msglayout_field envoy_api_v2_auth_DownstreamTlsContext__fields[7] = {
{1, UPB_SIZE(0, 0), 0, 0, 11, 1},
{2, UPB_SIZE(4, 8), 0, 3, 11, 1},
{3, UPB_SIZE(8, 16), 0, 3, 11, 1},
{4, UPB_SIZE(16, 32), UPB_SIZE(-21, -41), 2, 11, 1},
{5, UPB_SIZE(16, 32), UPB_SIZE(-21, -41), 1, 11, 1},
{6, UPB_SIZE(12, 24), 0, 4, 11, 1},
{7, UPB_SIZE(16, 32), UPB_SIZE(-21, -41), 0, 8, 1},
};
const upb_msglayout envoy_api_v2_auth_DownstreamTlsContext_msginit = {
&envoy_api_v2_auth_DownstreamTlsContext_submsgs[0],
&envoy_api_v2_auth_DownstreamTlsContext__fields[0],
UPB_SIZE(24, 48), 7, false,
};
static const upb_msglayout *const envoy_api_v2_auth_CommonTlsContext_submsgs[6] = {
&envoy_api_v2_auth_CertificateValidationContext_msginit,
&envoy_api_v2_auth_CommonTlsContext_CombinedCertificateValidationContext_msginit,
&envoy_api_v2_auth_SdsSecretConfig_msginit,
&envoy_api_v2_auth_TlsCertificate_msginit,
&envoy_api_v2_auth_TlsParameters_msginit,
};
static const upb_msglayout_field envoy_api_v2_auth_CommonTlsContext__fields[7] = {
{1, UPB_SIZE(0, 0), 0, 4, 11, 1},
{2, UPB_SIZE(4, 8), 0, 3, 11, 3},
{3, UPB_SIZE(16, 32), UPB_SIZE(-21, -41), 0, 11, 1},
{4, UPB_SIZE(8, 16), 0, 0, 9, 3},
{6, UPB_SIZE(12, 24), 0, 2, 11, 3},
{7, UPB_SIZE(16, 32), UPB_SIZE(-21, -41), 2, 11, 1},
{8, UPB_SIZE(16, 32), UPB_SIZE(-21, -41), 1, 11, 1},
};
const upb_msglayout envoy_api_v2_auth_CommonTlsContext_msginit = {
&envoy_api_v2_auth_CommonTlsContext_submsgs[0],
&envoy_api_v2_auth_CommonTlsContext__fields[0],
UPB_SIZE(24, 48), 7, false,
};
static const upb_msglayout *const envoy_api_v2_auth_CommonTlsContext_CombinedCertificateValidationContext_submsgs[2] = {
&envoy_api_v2_auth_CertificateValidationContext_msginit,
&envoy_api_v2_auth_SdsSecretConfig_msginit,
};
static const upb_msglayout_field envoy_api_v2_auth_CommonTlsContext_CombinedCertificateValidationContext__fields[2] = {
{1, UPB_SIZE(0, 0), 0, 0, 11, 1},
{2, UPB_SIZE(4, 8), 0, 1, 11, 1},
};
const upb_msglayout envoy_api_v2_auth_CommonTlsContext_CombinedCertificateValidationContext_msginit = {
&envoy_api_v2_auth_CommonTlsContext_CombinedCertificateValidationContext_submsgs[0],
&envoy_api_v2_auth_CommonTlsContext_CombinedCertificateValidationContext__fields[0],
UPB_SIZE(8, 16), 2, false,
};
#include "upb/port_undef.inc"

@ -1,388 +0,0 @@
/* This file was generated by upbc (the upb compiler) from the input
* file:
*
* envoy/api/v2/auth/tls.proto
*
* Do not edit -- your changes will be discarded when the file is
* regenerated. */
#ifndef ENVOY_API_V2_AUTH_TLS_PROTO_UPB_H_
#define ENVOY_API_V2_AUTH_TLS_PROTO_UPB_H_
#include "upb/msg.h"
#include "upb/decode.h"
#include "upb/encode.h"
#include "upb/port_def.inc"
#ifdef __cplusplus
extern "C" {
#endif
struct envoy_api_v2_auth_UpstreamTlsContext;
struct envoy_api_v2_auth_DownstreamTlsContext;
struct envoy_api_v2_auth_CommonTlsContext;
struct envoy_api_v2_auth_CommonTlsContext_CombinedCertificateValidationContext;
typedef struct envoy_api_v2_auth_UpstreamTlsContext envoy_api_v2_auth_UpstreamTlsContext;
typedef struct envoy_api_v2_auth_DownstreamTlsContext envoy_api_v2_auth_DownstreamTlsContext;
typedef struct envoy_api_v2_auth_CommonTlsContext envoy_api_v2_auth_CommonTlsContext;
typedef struct envoy_api_v2_auth_CommonTlsContext_CombinedCertificateValidationContext envoy_api_v2_auth_CommonTlsContext_CombinedCertificateValidationContext;
extern const upb_msglayout envoy_api_v2_auth_UpstreamTlsContext_msginit;
extern const upb_msglayout envoy_api_v2_auth_DownstreamTlsContext_msginit;
extern const upb_msglayout envoy_api_v2_auth_CommonTlsContext_msginit;
extern const upb_msglayout envoy_api_v2_auth_CommonTlsContext_CombinedCertificateValidationContext_msginit;
struct envoy_api_v2_auth_CertificateValidationContext;
struct envoy_api_v2_auth_SdsSecretConfig;
struct envoy_api_v2_auth_TlsCertificate;
struct envoy_api_v2_auth_TlsParameters;
struct envoy_api_v2_auth_TlsSessionTicketKeys;
struct google_protobuf_BoolValue;
struct google_protobuf_Duration;
struct google_protobuf_UInt32Value;
extern const upb_msglayout envoy_api_v2_auth_CertificateValidationContext_msginit;
extern const upb_msglayout envoy_api_v2_auth_SdsSecretConfig_msginit;
extern const upb_msglayout envoy_api_v2_auth_TlsCertificate_msginit;
extern const upb_msglayout envoy_api_v2_auth_TlsParameters_msginit;
extern const upb_msglayout envoy_api_v2_auth_TlsSessionTicketKeys_msginit;
extern const upb_msglayout google_protobuf_BoolValue_msginit;
extern const upb_msglayout google_protobuf_Duration_msginit;
extern const upb_msglayout google_protobuf_UInt32Value_msginit;
/* envoy.api.v2.auth.UpstreamTlsContext */
UPB_INLINE envoy_api_v2_auth_UpstreamTlsContext *envoy_api_v2_auth_UpstreamTlsContext_new(upb_arena *arena) {
return (envoy_api_v2_auth_UpstreamTlsContext *)_upb_msg_new(&envoy_api_v2_auth_UpstreamTlsContext_msginit, arena);
}
UPB_INLINE envoy_api_v2_auth_UpstreamTlsContext *envoy_api_v2_auth_UpstreamTlsContext_parse(const char *buf, size_t size,
upb_arena *arena) {
envoy_api_v2_auth_UpstreamTlsContext *ret = envoy_api_v2_auth_UpstreamTlsContext_new(arena);
return (ret && upb_decode(buf, size, ret, &envoy_api_v2_auth_UpstreamTlsContext_msginit, arena)) ? ret : NULL;
}
UPB_INLINE char *envoy_api_v2_auth_UpstreamTlsContext_serialize(const envoy_api_v2_auth_UpstreamTlsContext *msg, upb_arena *arena, size_t *len) {
return upb_encode(msg, &envoy_api_v2_auth_UpstreamTlsContext_msginit, arena, len);
}
UPB_INLINE bool envoy_api_v2_auth_UpstreamTlsContext_has_common_tls_context(const envoy_api_v2_auth_UpstreamTlsContext *msg) { return _upb_has_submsg_nohasbit(msg, UPB_SIZE(12, 24)); }
UPB_INLINE const envoy_api_v2_auth_CommonTlsContext* envoy_api_v2_auth_UpstreamTlsContext_common_tls_context(const envoy_api_v2_auth_UpstreamTlsContext *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(12, 24), const envoy_api_v2_auth_CommonTlsContext*); }
UPB_INLINE upb_strview envoy_api_v2_auth_UpstreamTlsContext_sni(const envoy_api_v2_auth_UpstreamTlsContext *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(4, 8), upb_strview); }
UPB_INLINE bool envoy_api_v2_auth_UpstreamTlsContext_allow_renegotiation(const envoy_api_v2_auth_UpstreamTlsContext *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(0, 0), bool); }
UPB_INLINE bool envoy_api_v2_auth_UpstreamTlsContext_has_max_session_keys(const envoy_api_v2_auth_UpstreamTlsContext *msg) { return _upb_has_submsg_nohasbit(msg, UPB_SIZE(16, 32)); }
UPB_INLINE const struct google_protobuf_UInt32Value* envoy_api_v2_auth_UpstreamTlsContext_max_session_keys(const envoy_api_v2_auth_UpstreamTlsContext *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(16, 32), const struct google_protobuf_UInt32Value*); }
UPB_INLINE void envoy_api_v2_auth_UpstreamTlsContext_set_common_tls_context(envoy_api_v2_auth_UpstreamTlsContext *msg, envoy_api_v2_auth_CommonTlsContext* value) {
*UPB_PTR_AT(msg, UPB_SIZE(12, 24), envoy_api_v2_auth_CommonTlsContext*) = value;
}
UPB_INLINE struct envoy_api_v2_auth_CommonTlsContext* envoy_api_v2_auth_UpstreamTlsContext_mutable_common_tls_context(envoy_api_v2_auth_UpstreamTlsContext *msg, upb_arena *arena) {
struct envoy_api_v2_auth_CommonTlsContext* sub = (struct envoy_api_v2_auth_CommonTlsContext*)envoy_api_v2_auth_UpstreamTlsContext_common_tls_context(msg);
if (sub == NULL) {
sub = (struct envoy_api_v2_auth_CommonTlsContext*)_upb_msg_new(&envoy_api_v2_auth_CommonTlsContext_msginit, arena);
if (!sub) return NULL;
envoy_api_v2_auth_UpstreamTlsContext_set_common_tls_context(msg, sub);
}
return sub;
}
UPB_INLINE void envoy_api_v2_auth_UpstreamTlsContext_set_sni(envoy_api_v2_auth_UpstreamTlsContext *msg, upb_strview value) {
*UPB_PTR_AT(msg, UPB_SIZE(4, 8), upb_strview) = value;
}
UPB_INLINE void envoy_api_v2_auth_UpstreamTlsContext_set_allow_renegotiation(envoy_api_v2_auth_UpstreamTlsContext *msg, bool value) {
*UPB_PTR_AT(msg, UPB_SIZE(0, 0), bool) = value;
}
UPB_INLINE void envoy_api_v2_auth_UpstreamTlsContext_set_max_session_keys(envoy_api_v2_auth_UpstreamTlsContext *msg, struct google_protobuf_UInt32Value* value) {
*UPB_PTR_AT(msg, UPB_SIZE(16, 32), struct google_protobuf_UInt32Value*) = value;
}
UPB_INLINE struct google_protobuf_UInt32Value* envoy_api_v2_auth_UpstreamTlsContext_mutable_max_session_keys(envoy_api_v2_auth_UpstreamTlsContext *msg, upb_arena *arena) {
struct google_protobuf_UInt32Value* sub = (struct google_protobuf_UInt32Value*)envoy_api_v2_auth_UpstreamTlsContext_max_session_keys(msg);
if (sub == NULL) {
sub = (struct google_protobuf_UInt32Value*)_upb_msg_new(&google_protobuf_UInt32Value_msginit, arena);
if (!sub) return NULL;
envoy_api_v2_auth_UpstreamTlsContext_set_max_session_keys(msg, sub);
}
return sub;
}
/* envoy.api.v2.auth.DownstreamTlsContext */
UPB_INLINE envoy_api_v2_auth_DownstreamTlsContext *envoy_api_v2_auth_DownstreamTlsContext_new(upb_arena *arena) {
return (envoy_api_v2_auth_DownstreamTlsContext *)_upb_msg_new(&envoy_api_v2_auth_DownstreamTlsContext_msginit, arena);
}
UPB_INLINE envoy_api_v2_auth_DownstreamTlsContext *envoy_api_v2_auth_DownstreamTlsContext_parse(const char *buf, size_t size,
upb_arena *arena) {
envoy_api_v2_auth_DownstreamTlsContext *ret = envoy_api_v2_auth_DownstreamTlsContext_new(arena);
return (ret && upb_decode(buf, size, ret, &envoy_api_v2_auth_DownstreamTlsContext_msginit, arena)) ? ret : NULL;
}
UPB_INLINE char *envoy_api_v2_auth_DownstreamTlsContext_serialize(const envoy_api_v2_auth_DownstreamTlsContext *msg, upb_arena *arena, size_t *len) {
return upb_encode(msg, &envoy_api_v2_auth_DownstreamTlsContext_msginit, arena, len);
}
typedef enum {
envoy_api_v2_auth_DownstreamTlsContext_session_ticket_keys_type_session_ticket_keys = 4,
envoy_api_v2_auth_DownstreamTlsContext_session_ticket_keys_type_session_ticket_keys_sds_secret_config = 5,
envoy_api_v2_auth_DownstreamTlsContext_session_ticket_keys_type_disable_stateless_session_resumption = 7,
envoy_api_v2_auth_DownstreamTlsContext_session_ticket_keys_type_NOT_SET = 0
} envoy_api_v2_auth_DownstreamTlsContext_session_ticket_keys_type_oneofcases;
UPB_INLINE envoy_api_v2_auth_DownstreamTlsContext_session_ticket_keys_type_oneofcases envoy_api_v2_auth_DownstreamTlsContext_session_ticket_keys_type_case(const envoy_api_v2_auth_DownstreamTlsContext* msg) { return (envoy_api_v2_auth_DownstreamTlsContext_session_ticket_keys_type_oneofcases)*UPB_PTR_AT(msg, UPB_SIZE(20, 40), int32_t); }
UPB_INLINE bool envoy_api_v2_auth_DownstreamTlsContext_has_common_tls_context(const envoy_api_v2_auth_DownstreamTlsContext *msg) { return _upb_has_submsg_nohasbit(msg, UPB_SIZE(0, 0)); }
UPB_INLINE const envoy_api_v2_auth_CommonTlsContext* envoy_api_v2_auth_DownstreamTlsContext_common_tls_context(const envoy_api_v2_auth_DownstreamTlsContext *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(0, 0), const envoy_api_v2_auth_CommonTlsContext*); }
UPB_INLINE bool envoy_api_v2_auth_DownstreamTlsContext_has_require_client_certificate(const envoy_api_v2_auth_DownstreamTlsContext *msg) { return _upb_has_submsg_nohasbit(msg, UPB_SIZE(4, 8)); }
UPB_INLINE const struct google_protobuf_BoolValue* envoy_api_v2_auth_DownstreamTlsContext_require_client_certificate(const envoy_api_v2_auth_DownstreamTlsContext *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(4, 8), const struct google_protobuf_BoolValue*); }
UPB_INLINE bool envoy_api_v2_auth_DownstreamTlsContext_has_require_sni(const envoy_api_v2_auth_DownstreamTlsContext *msg) { return _upb_has_submsg_nohasbit(msg, UPB_SIZE(8, 16)); }
UPB_INLINE const struct google_protobuf_BoolValue* envoy_api_v2_auth_DownstreamTlsContext_require_sni(const envoy_api_v2_auth_DownstreamTlsContext *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(8, 16), const struct google_protobuf_BoolValue*); }
UPB_INLINE bool envoy_api_v2_auth_DownstreamTlsContext_has_session_ticket_keys(const envoy_api_v2_auth_DownstreamTlsContext *msg) { return _upb_getoneofcase(msg, UPB_SIZE(20, 40)) == 4; }
UPB_INLINE const struct envoy_api_v2_auth_TlsSessionTicketKeys* envoy_api_v2_auth_DownstreamTlsContext_session_ticket_keys(const envoy_api_v2_auth_DownstreamTlsContext *msg) { return UPB_READ_ONEOF(msg, const struct envoy_api_v2_auth_TlsSessionTicketKeys*, UPB_SIZE(16, 32), UPB_SIZE(20, 40), 4, NULL); }
UPB_INLINE bool envoy_api_v2_auth_DownstreamTlsContext_has_session_ticket_keys_sds_secret_config(const envoy_api_v2_auth_DownstreamTlsContext *msg) { return _upb_getoneofcase(msg, UPB_SIZE(20, 40)) == 5; }
UPB_INLINE const struct envoy_api_v2_auth_SdsSecretConfig* envoy_api_v2_auth_DownstreamTlsContext_session_ticket_keys_sds_secret_config(const envoy_api_v2_auth_DownstreamTlsContext *msg) { return UPB_READ_ONEOF(msg, const struct envoy_api_v2_auth_SdsSecretConfig*, UPB_SIZE(16, 32), UPB_SIZE(20, 40), 5, NULL); }
UPB_INLINE bool envoy_api_v2_auth_DownstreamTlsContext_has_session_timeout(const envoy_api_v2_auth_DownstreamTlsContext *msg) { return _upb_has_submsg_nohasbit(msg, UPB_SIZE(12, 24)); }
UPB_INLINE const struct google_protobuf_Duration* envoy_api_v2_auth_DownstreamTlsContext_session_timeout(const envoy_api_v2_auth_DownstreamTlsContext *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(12, 24), const struct google_protobuf_Duration*); }
UPB_INLINE bool envoy_api_v2_auth_DownstreamTlsContext_has_disable_stateless_session_resumption(const envoy_api_v2_auth_DownstreamTlsContext *msg) { return _upb_getoneofcase(msg, UPB_SIZE(20, 40)) == 7; }
UPB_INLINE bool envoy_api_v2_auth_DownstreamTlsContext_disable_stateless_session_resumption(const envoy_api_v2_auth_DownstreamTlsContext *msg) { return UPB_READ_ONEOF(msg, bool, UPB_SIZE(16, 32), UPB_SIZE(20, 40), 7, false); }
UPB_INLINE void envoy_api_v2_auth_DownstreamTlsContext_set_common_tls_context(envoy_api_v2_auth_DownstreamTlsContext *msg, envoy_api_v2_auth_CommonTlsContext* value) {
*UPB_PTR_AT(msg, UPB_SIZE(0, 0), envoy_api_v2_auth_CommonTlsContext*) = value;
}
UPB_INLINE struct envoy_api_v2_auth_CommonTlsContext* envoy_api_v2_auth_DownstreamTlsContext_mutable_common_tls_context(envoy_api_v2_auth_DownstreamTlsContext *msg, upb_arena *arena) {
struct envoy_api_v2_auth_CommonTlsContext* sub = (struct envoy_api_v2_auth_CommonTlsContext*)envoy_api_v2_auth_DownstreamTlsContext_common_tls_context(msg);
if (sub == NULL) {
sub = (struct envoy_api_v2_auth_CommonTlsContext*)_upb_msg_new(&envoy_api_v2_auth_CommonTlsContext_msginit, arena);
if (!sub) return NULL;
envoy_api_v2_auth_DownstreamTlsContext_set_common_tls_context(msg, sub);
}
return sub;
}
UPB_INLINE void envoy_api_v2_auth_DownstreamTlsContext_set_require_client_certificate(envoy_api_v2_auth_DownstreamTlsContext *msg, struct google_protobuf_BoolValue* value) {
*UPB_PTR_AT(msg, UPB_SIZE(4, 8), struct google_protobuf_BoolValue*) = value;
}
UPB_INLINE struct google_protobuf_BoolValue* envoy_api_v2_auth_DownstreamTlsContext_mutable_require_client_certificate(envoy_api_v2_auth_DownstreamTlsContext *msg, upb_arena *arena) {
struct google_protobuf_BoolValue* sub = (struct google_protobuf_BoolValue*)envoy_api_v2_auth_DownstreamTlsContext_require_client_certificate(msg);
if (sub == NULL) {
sub = (struct google_protobuf_BoolValue*)_upb_msg_new(&google_protobuf_BoolValue_msginit, arena);
if (!sub) return NULL;
envoy_api_v2_auth_DownstreamTlsContext_set_require_client_certificate(msg, sub);
}
return sub;
}
UPB_INLINE void envoy_api_v2_auth_DownstreamTlsContext_set_require_sni(envoy_api_v2_auth_DownstreamTlsContext *msg, struct google_protobuf_BoolValue* value) {
*UPB_PTR_AT(msg, UPB_SIZE(8, 16), struct google_protobuf_BoolValue*) = value;
}
UPB_INLINE struct google_protobuf_BoolValue* envoy_api_v2_auth_DownstreamTlsContext_mutable_require_sni(envoy_api_v2_auth_DownstreamTlsContext *msg, upb_arena *arena) {
struct google_protobuf_BoolValue* sub = (struct google_protobuf_BoolValue*)envoy_api_v2_auth_DownstreamTlsContext_require_sni(msg);
if (sub == NULL) {
sub = (struct google_protobuf_BoolValue*)_upb_msg_new(&google_protobuf_BoolValue_msginit, arena);
if (!sub) return NULL;
envoy_api_v2_auth_DownstreamTlsContext_set_require_sni(msg, sub);
}
return sub;
}
UPB_INLINE void envoy_api_v2_auth_DownstreamTlsContext_set_session_ticket_keys(envoy_api_v2_auth_DownstreamTlsContext *msg, struct envoy_api_v2_auth_TlsSessionTicketKeys* value) {
UPB_WRITE_ONEOF(msg, struct envoy_api_v2_auth_TlsSessionTicketKeys*, UPB_SIZE(16, 32), value, UPB_SIZE(20, 40), 4);
}
UPB_INLINE struct envoy_api_v2_auth_TlsSessionTicketKeys* envoy_api_v2_auth_DownstreamTlsContext_mutable_session_ticket_keys(envoy_api_v2_auth_DownstreamTlsContext *msg, upb_arena *arena) {
struct envoy_api_v2_auth_TlsSessionTicketKeys* sub = (struct envoy_api_v2_auth_TlsSessionTicketKeys*)envoy_api_v2_auth_DownstreamTlsContext_session_ticket_keys(msg);
if (sub == NULL) {
sub = (struct envoy_api_v2_auth_TlsSessionTicketKeys*)_upb_msg_new(&envoy_api_v2_auth_TlsSessionTicketKeys_msginit, arena);
if (!sub) return NULL;
envoy_api_v2_auth_DownstreamTlsContext_set_session_ticket_keys(msg, sub);
}
return sub;
}
UPB_INLINE void envoy_api_v2_auth_DownstreamTlsContext_set_session_ticket_keys_sds_secret_config(envoy_api_v2_auth_DownstreamTlsContext *msg, struct envoy_api_v2_auth_SdsSecretConfig* value) {
UPB_WRITE_ONEOF(msg, struct envoy_api_v2_auth_SdsSecretConfig*, UPB_SIZE(16, 32), value, UPB_SIZE(20, 40), 5);
}
UPB_INLINE struct envoy_api_v2_auth_SdsSecretConfig* envoy_api_v2_auth_DownstreamTlsContext_mutable_session_ticket_keys_sds_secret_config(envoy_api_v2_auth_DownstreamTlsContext *msg, upb_arena *arena) {
struct envoy_api_v2_auth_SdsSecretConfig* sub = (struct envoy_api_v2_auth_SdsSecretConfig*)envoy_api_v2_auth_DownstreamTlsContext_session_ticket_keys_sds_secret_config(msg);
if (sub == NULL) {
sub = (struct envoy_api_v2_auth_SdsSecretConfig*)_upb_msg_new(&envoy_api_v2_auth_SdsSecretConfig_msginit, arena);
if (!sub) return NULL;
envoy_api_v2_auth_DownstreamTlsContext_set_session_ticket_keys_sds_secret_config(msg, sub);
}
return sub;
}
UPB_INLINE void envoy_api_v2_auth_DownstreamTlsContext_set_session_timeout(envoy_api_v2_auth_DownstreamTlsContext *msg, struct google_protobuf_Duration* value) {
*UPB_PTR_AT(msg, UPB_SIZE(12, 24), struct google_protobuf_Duration*) = value;
}
UPB_INLINE struct google_protobuf_Duration* envoy_api_v2_auth_DownstreamTlsContext_mutable_session_timeout(envoy_api_v2_auth_DownstreamTlsContext *msg, upb_arena *arena) {
struct google_protobuf_Duration* sub = (struct google_protobuf_Duration*)envoy_api_v2_auth_DownstreamTlsContext_session_timeout(msg);
if (sub == NULL) {
sub = (struct google_protobuf_Duration*)_upb_msg_new(&google_protobuf_Duration_msginit, arena);
if (!sub) return NULL;
envoy_api_v2_auth_DownstreamTlsContext_set_session_timeout(msg, sub);
}
return sub;
}
UPB_INLINE void envoy_api_v2_auth_DownstreamTlsContext_set_disable_stateless_session_resumption(envoy_api_v2_auth_DownstreamTlsContext *msg, bool value) {
UPB_WRITE_ONEOF(msg, bool, UPB_SIZE(16, 32), value, UPB_SIZE(20, 40), 7);
}
/* envoy.api.v2.auth.CommonTlsContext */
UPB_INLINE envoy_api_v2_auth_CommonTlsContext *envoy_api_v2_auth_CommonTlsContext_new(upb_arena *arena) {
return (envoy_api_v2_auth_CommonTlsContext *)_upb_msg_new(&envoy_api_v2_auth_CommonTlsContext_msginit, arena);
}
UPB_INLINE envoy_api_v2_auth_CommonTlsContext *envoy_api_v2_auth_CommonTlsContext_parse(const char *buf, size_t size,
upb_arena *arena) {
envoy_api_v2_auth_CommonTlsContext *ret = envoy_api_v2_auth_CommonTlsContext_new(arena);
return (ret && upb_decode(buf, size, ret, &envoy_api_v2_auth_CommonTlsContext_msginit, arena)) ? ret : NULL;
}
UPB_INLINE char *envoy_api_v2_auth_CommonTlsContext_serialize(const envoy_api_v2_auth_CommonTlsContext *msg, upb_arena *arena, size_t *len) {
return upb_encode(msg, &envoy_api_v2_auth_CommonTlsContext_msginit, arena, len);
}
typedef enum {
envoy_api_v2_auth_CommonTlsContext_validation_context_type_validation_context = 3,
envoy_api_v2_auth_CommonTlsContext_validation_context_type_validation_context_sds_secret_config = 7,
envoy_api_v2_auth_CommonTlsContext_validation_context_type_combined_validation_context = 8,
envoy_api_v2_auth_CommonTlsContext_validation_context_type_NOT_SET = 0
} envoy_api_v2_auth_CommonTlsContext_validation_context_type_oneofcases;
UPB_INLINE envoy_api_v2_auth_CommonTlsContext_validation_context_type_oneofcases envoy_api_v2_auth_CommonTlsContext_validation_context_type_case(const envoy_api_v2_auth_CommonTlsContext* msg) { return (envoy_api_v2_auth_CommonTlsContext_validation_context_type_oneofcases)*UPB_PTR_AT(msg, UPB_SIZE(20, 40), int32_t); }
UPB_INLINE bool envoy_api_v2_auth_CommonTlsContext_has_tls_params(const envoy_api_v2_auth_CommonTlsContext *msg) { return _upb_has_submsg_nohasbit(msg, UPB_SIZE(0, 0)); }
UPB_INLINE const struct envoy_api_v2_auth_TlsParameters* envoy_api_v2_auth_CommonTlsContext_tls_params(const envoy_api_v2_auth_CommonTlsContext *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(0, 0), const struct envoy_api_v2_auth_TlsParameters*); }
UPB_INLINE bool envoy_api_v2_auth_CommonTlsContext_has_tls_certificates(const envoy_api_v2_auth_CommonTlsContext *msg) { return _upb_has_submsg_nohasbit(msg, UPB_SIZE(4, 8)); }
UPB_INLINE const struct envoy_api_v2_auth_TlsCertificate* const* envoy_api_v2_auth_CommonTlsContext_tls_certificates(const envoy_api_v2_auth_CommonTlsContext *msg, size_t *len) { return (const struct envoy_api_v2_auth_TlsCertificate* const*)_upb_array_accessor(msg, UPB_SIZE(4, 8), len); }
UPB_INLINE bool envoy_api_v2_auth_CommonTlsContext_has_validation_context(const envoy_api_v2_auth_CommonTlsContext *msg) { return _upb_getoneofcase(msg, UPB_SIZE(20, 40)) == 3; }
UPB_INLINE const struct envoy_api_v2_auth_CertificateValidationContext* envoy_api_v2_auth_CommonTlsContext_validation_context(const envoy_api_v2_auth_CommonTlsContext *msg) { return UPB_READ_ONEOF(msg, const struct envoy_api_v2_auth_CertificateValidationContext*, UPB_SIZE(16, 32), UPB_SIZE(20, 40), 3, NULL); }
UPB_INLINE upb_strview const* envoy_api_v2_auth_CommonTlsContext_alpn_protocols(const envoy_api_v2_auth_CommonTlsContext *msg, size_t *len) { return (upb_strview const*)_upb_array_accessor(msg, UPB_SIZE(8, 16), len); }
UPB_INLINE bool envoy_api_v2_auth_CommonTlsContext_has_tls_certificate_sds_secret_configs(const envoy_api_v2_auth_CommonTlsContext *msg) { return _upb_has_submsg_nohasbit(msg, UPB_SIZE(12, 24)); }
UPB_INLINE const struct envoy_api_v2_auth_SdsSecretConfig* const* envoy_api_v2_auth_CommonTlsContext_tls_certificate_sds_secret_configs(const envoy_api_v2_auth_CommonTlsContext *msg, size_t *len) { return (const struct envoy_api_v2_auth_SdsSecretConfig* const*)_upb_array_accessor(msg, UPB_SIZE(12, 24), len); }
UPB_INLINE bool envoy_api_v2_auth_CommonTlsContext_has_validation_context_sds_secret_config(const envoy_api_v2_auth_CommonTlsContext *msg) { return _upb_getoneofcase(msg, UPB_SIZE(20, 40)) == 7; }
UPB_INLINE const struct envoy_api_v2_auth_SdsSecretConfig* envoy_api_v2_auth_CommonTlsContext_validation_context_sds_secret_config(const envoy_api_v2_auth_CommonTlsContext *msg) { return UPB_READ_ONEOF(msg, const struct envoy_api_v2_auth_SdsSecretConfig*, UPB_SIZE(16, 32), UPB_SIZE(20, 40), 7, NULL); }
UPB_INLINE bool envoy_api_v2_auth_CommonTlsContext_has_combined_validation_context(const envoy_api_v2_auth_CommonTlsContext *msg) { return _upb_getoneofcase(msg, UPB_SIZE(20, 40)) == 8; }
UPB_INLINE const envoy_api_v2_auth_CommonTlsContext_CombinedCertificateValidationContext* envoy_api_v2_auth_CommonTlsContext_combined_validation_context(const envoy_api_v2_auth_CommonTlsContext *msg) { return UPB_READ_ONEOF(msg, const envoy_api_v2_auth_CommonTlsContext_CombinedCertificateValidationContext*, UPB_SIZE(16, 32), UPB_SIZE(20, 40), 8, NULL); }
UPB_INLINE void envoy_api_v2_auth_CommonTlsContext_set_tls_params(envoy_api_v2_auth_CommonTlsContext *msg, struct envoy_api_v2_auth_TlsParameters* value) {
*UPB_PTR_AT(msg, UPB_SIZE(0, 0), struct envoy_api_v2_auth_TlsParameters*) = value;
}
UPB_INLINE struct envoy_api_v2_auth_TlsParameters* envoy_api_v2_auth_CommonTlsContext_mutable_tls_params(envoy_api_v2_auth_CommonTlsContext *msg, upb_arena *arena) {
struct envoy_api_v2_auth_TlsParameters* sub = (struct envoy_api_v2_auth_TlsParameters*)envoy_api_v2_auth_CommonTlsContext_tls_params(msg);
if (sub == NULL) {
sub = (struct envoy_api_v2_auth_TlsParameters*)_upb_msg_new(&envoy_api_v2_auth_TlsParameters_msginit, arena);
if (!sub) return NULL;
envoy_api_v2_auth_CommonTlsContext_set_tls_params(msg, sub);
}
return sub;
}
UPB_INLINE struct envoy_api_v2_auth_TlsCertificate** envoy_api_v2_auth_CommonTlsContext_mutable_tls_certificates(envoy_api_v2_auth_CommonTlsContext *msg, size_t *len) {
return (struct envoy_api_v2_auth_TlsCertificate**)_upb_array_mutable_accessor(msg, UPB_SIZE(4, 8), len);
}
UPB_INLINE struct envoy_api_v2_auth_TlsCertificate** envoy_api_v2_auth_CommonTlsContext_resize_tls_certificates(envoy_api_v2_auth_CommonTlsContext *msg, size_t len, upb_arena *arena) {
return (struct envoy_api_v2_auth_TlsCertificate**)_upb_array_resize_accessor(msg, UPB_SIZE(4, 8), len, UPB_TYPE_MESSAGE, arena);
}
UPB_INLINE struct envoy_api_v2_auth_TlsCertificate* envoy_api_v2_auth_CommonTlsContext_add_tls_certificates(envoy_api_v2_auth_CommonTlsContext *msg, upb_arena *arena) {
struct envoy_api_v2_auth_TlsCertificate* sub = (struct envoy_api_v2_auth_TlsCertificate*)_upb_msg_new(&envoy_api_v2_auth_TlsCertificate_msginit, arena);
bool ok = _upb_array_append_accessor(
msg, UPB_SIZE(4, 8), UPB_SIZE(4, 8), UPB_TYPE_MESSAGE, &sub, arena);
if (!ok) return NULL;
return sub;
}
UPB_INLINE void envoy_api_v2_auth_CommonTlsContext_set_validation_context(envoy_api_v2_auth_CommonTlsContext *msg, struct envoy_api_v2_auth_CertificateValidationContext* value) {
UPB_WRITE_ONEOF(msg, struct envoy_api_v2_auth_CertificateValidationContext*, UPB_SIZE(16, 32), value, UPB_SIZE(20, 40), 3);
}
UPB_INLINE struct envoy_api_v2_auth_CertificateValidationContext* envoy_api_v2_auth_CommonTlsContext_mutable_validation_context(envoy_api_v2_auth_CommonTlsContext *msg, upb_arena *arena) {
struct envoy_api_v2_auth_CertificateValidationContext* sub = (struct envoy_api_v2_auth_CertificateValidationContext*)envoy_api_v2_auth_CommonTlsContext_validation_context(msg);
if (sub == NULL) {
sub = (struct envoy_api_v2_auth_CertificateValidationContext*)_upb_msg_new(&envoy_api_v2_auth_CertificateValidationContext_msginit, arena);
if (!sub) return NULL;
envoy_api_v2_auth_CommonTlsContext_set_validation_context(msg, sub);
}
return sub;
}
UPB_INLINE upb_strview* envoy_api_v2_auth_CommonTlsContext_mutable_alpn_protocols(envoy_api_v2_auth_CommonTlsContext *msg, size_t *len) {
return (upb_strview*)_upb_array_mutable_accessor(msg, UPB_SIZE(8, 16), len);
}
UPB_INLINE upb_strview* envoy_api_v2_auth_CommonTlsContext_resize_alpn_protocols(envoy_api_v2_auth_CommonTlsContext *msg, size_t len, upb_arena *arena) {
return (upb_strview*)_upb_array_resize_accessor(msg, UPB_SIZE(8, 16), len, UPB_TYPE_STRING, arena);
}
UPB_INLINE bool envoy_api_v2_auth_CommonTlsContext_add_alpn_protocols(envoy_api_v2_auth_CommonTlsContext *msg, upb_strview val, upb_arena *arena) {
return _upb_array_append_accessor(msg, UPB_SIZE(8, 16), UPB_SIZE(8, 16), UPB_TYPE_STRING, &val,
arena);
}
UPB_INLINE struct envoy_api_v2_auth_SdsSecretConfig** envoy_api_v2_auth_CommonTlsContext_mutable_tls_certificate_sds_secret_configs(envoy_api_v2_auth_CommonTlsContext *msg, size_t *len) {
return (struct envoy_api_v2_auth_SdsSecretConfig**)_upb_array_mutable_accessor(msg, UPB_SIZE(12, 24), len);
}
UPB_INLINE struct envoy_api_v2_auth_SdsSecretConfig** envoy_api_v2_auth_CommonTlsContext_resize_tls_certificate_sds_secret_configs(envoy_api_v2_auth_CommonTlsContext *msg, size_t len, upb_arena *arena) {
return (struct envoy_api_v2_auth_SdsSecretConfig**)_upb_array_resize_accessor(msg, UPB_SIZE(12, 24), len, UPB_TYPE_MESSAGE, arena);
}
UPB_INLINE struct envoy_api_v2_auth_SdsSecretConfig* envoy_api_v2_auth_CommonTlsContext_add_tls_certificate_sds_secret_configs(envoy_api_v2_auth_CommonTlsContext *msg, upb_arena *arena) {
struct envoy_api_v2_auth_SdsSecretConfig* sub = (struct envoy_api_v2_auth_SdsSecretConfig*)_upb_msg_new(&envoy_api_v2_auth_SdsSecretConfig_msginit, arena);
bool ok = _upb_array_append_accessor(
msg, UPB_SIZE(12, 24), UPB_SIZE(4, 8), UPB_TYPE_MESSAGE, &sub, arena);
if (!ok) return NULL;
return sub;
}
UPB_INLINE void envoy_api_v2_auth_CommonTlsContext_set_validation_context_sds_secret_config(envoy_api_v2_auth_CommonTlsContext *msg, struct envoy_api_v2_auth_SdsSecretConfig* value) {
UPB_WRITE_ONEOF(msg, struct envoy_api_v2_auth_SdsSecretConfig*, UPB_SIZE(16, 32), value, UPB_SIZE(20, 40), 7);
}
UPB_INLINE struct envoy_api_v2_auth_SdsSecretConfig* envoy_api_v2_auth_CommonTlsContext_mutable_validation_context_sds_secret_config(envoy_api_v2_auth_CommonTlsContext *msg, upb_arena *arena) {
struct envoy_api_v2_auth_SdsSecretConfig* sub = (struct envoy_api_v2_auth_SdsSecretConfig*)envoy_api_v2_auth_CommonTlsContext_validation_context_sds_secret_config(msg);
if (sub == NULL) {
sub = (struct envoy_api_v2_auth_SdsSecretConfig*)_upb_msg_new(&envoy_api_v2_auth_SdsSecretConfig_msginit, arena);
if (!sub) return NULL;
envoy_api_v2_auth_CommonTlsContext_set_validation_context_sds_secret_config(msg, sub);
}
return sub;
}
UPB_INLINE void envoy_api_v2_auth_CommonTlsContext_set_combined_validation_context(envoy_api_v2_auth_CommonTlsContext *msg, envoy_api_v2_auth_CommonTlsContext_CombinedCertificateValidationContext* value) {
UPB_WRITE_ONEOF(msg, envoy_api_v2_auth_CommonTlsContext_CombinedCertificateValidationContext*, UPB_SIZE(16, 32), value, UPB_SIZE(20, 40), 8);
}
UPB_INLINE struct envoy_api_v2_auth_CommonTlsContext_CombinedCertificateValidationContext* envoy_api_v2_auth_CommonTlsContext_mutable_combined_validation_context(envoy_api_v2_auth_CommonTlsContext *msg, upb_arena *arena) {
struct envoy_api_v2_auth_CommonTlsContext_CombinedCertificateValidationContext* sub = (struct envoy_api_v2_auth_CommonTlsContext_CombinedCertificateValidationContext*)envoy_api_v2_auth_CommonTlsContext_combined_validation_context(msg);
if (sub == NULL) {
sub = (struct envoy_api_v2_auth_CommonTlsContext_CombinedCertificateValidationContext*)_upb_msg_new(&envoy_api_v2_auth_CommonTlsContext_CombinedCertificateValidationContext_msginit, arena);
if (!sub) return NULL;
envoy_api_v2_auth_CommonTlsContext_set_combined_validation_context(msg, sub);
}
return sub;
}
/* envoy.api.v2.auth.CommonTlsContext.CombinedCertificateValidationContext */
UPB_INLINE envoy_api_v2_auth_CommonTlsContext_CombinedCertificateValidationContext *envoy_api_v2_auth_CommonTlsContext_CombinedCertificateValidationContext_new(upb_arena *arena) {
return (envoy_api_v2_auth_CommonTlsContext_CombinedCertificateValidationContext *)_upb_msg_new(&envoy_api_v2_auth_CommonTlsContext_CombinedCertificateValidationContext_msginit, arena);
}
UPB_INLINE envoy_api_v2_auth_CommonTlsContext_CombinedCertificateValidationContext *envoy_api_v2_auth_CommonTlsContext_CombinedCertificateValidationContext_parse(const char *buf, size_t size,
upb_arena *arena) {
envoy_api_v2_auth_CommonTlsContext_CombinedCertificateValidationContext *ret = envoy_api_v2_auth_CommonTlsContext_CombinedCertificateValidationContext_new(arena);
return (ret && upb_decode(buf, size, ret, &envoy_api_v2_auth_CommonTlsContext_CombinedCertificateValidationContext_msginit, arena)) ? ret : NULL;
}
UPB_INLINE char *envoy_api_v2_auth_CommonTlsContext_CombinedCertificateValidationContext_serialize(const envoy_api_v2_auth_CommonTlsContext_CombinedCertificateValidationContext *msg, upb_arena *arena, size_t *len) {
return upb_encode(msg, &envoy_api_v2_auth_CommonTlsContext_CombinedCertificateValidationContext_msginit, arena, len);
}
UPB_INLINE bool envoy_api_v2_auth_CommonTlsContext_CombinedCertificateValidationContext_has_default_validation_context(const envoy_api_v2_auth_CommonTlsContext_CombinedCertificateValidationContext *msg) { return _upb_has_submsg_nohasbit(msg, UPB_SIZE(0, 0)); }
UPB_INLINE const struct envoy_api_v2_auth_CertificateValidationContext* envoy_api_v2_auth_CommonTlsContext_CombinedCertificateValidationContext_default_validation_context(const envoy_api_v2_auth_CommonTlsContext_CombinedCertificateValidationContext *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(0, 0), const struct envoy_api_v2_auth_CertificateValidationContext*); }
UPB_INLINE bool envoy_api_v2_auth_CommonTlsContext_CombinedCertificateValidationContext_has_validation_context_sds_secret_config(const envoy_api_v2_auth_CommonTlsContext_CombinedCertificateValidationContext *msg) { return _upb_has_submsg_nohasbit(msg, UPB_SIZE(4, 8)); }
UPB_INLINE const struct envoy_api_v2_auth_SdsSecretConfig* envoy_api_v2_auth_CommonTlsContext_CombinedCertificateValidationContext_validation_context_sds_secret_config(const envoy_api_v2_auth_CommonTlsContext_CombinedCertificateValidationContext *msg) { return *UPB_PTR_AT(msg, UPB_SIZE(4, 8), const struct envoy_api_v2_auth_SdsSecretConfig*); }
UPB_INLINE void envoy_api_v2_auth_CommonTlsContext_CombinedCertificateValidationContext_set_default_validation_context(envoy_api_v2_auth_CommonTlsContext_CombinedCertificateValidationContext *msg, struct envoy_api_v2_auth_CertificateValidationContext* value) {
*UPB_PTR_AT(msg, UPB_SIZE(0, 0), struct envoy_api_v2_auth_CertificateValidationContext*) = value;
}
UPB_INLINE struct envoy_api_v2_auth_CertificateValidationContext* envoy_api_v2_auth_CommonTlsContext_CombinedCertificateValidationContext_mutable_default_validation_context(envoy_api_v2_auth_CommonTlsContext_CombinedCertificateValidationContext *msg, upb_arena *arena) {
struct envoy_api_v2_auth_CertificateValidationContext* sub = (struct envoy_api_v2_auth_CertificateValidationContext*)envoy_api_v2_auth_CommonTlsContext_CombinedCertificateValidationContext_default_validation_context(msg);
if (sub == NULL) {
sub = (struct envoy_api_v2_auth_CertificateValidationContext*)_upb_msg_new(&envoy_api_v2_auth_CertificateValidationContext_msginit, arena);
if (!sub) return NULL;
envoy_api_v2_auth_CommonTlsContext_CombinedCertificateValidationContext_set_default_validation_context(msg, sub);
}
return sub;
}
UPB_INLINE void envoy_api_v2_auth_CommonTlsContext_CombinedCertificateValidationContext_set_validation_context_sds_secret_config(envoy_api_v2_auth_CommonTlsContext_CombinedCertificateValidationContext *msg, struct envoy_api_v2_auth_SdsSecretConfig* value) {
*UPB_PTR_AT(msg, UPB_SIZE(4, 8), struct envoy_api_v2_auth_SdsSecretConfig*) = value;
}
UPB_INLINE struct envoy_api_v2_auth_SdsSecretConfig* envoy_api_v2_auth_CommonTlsContext_CombinedCertificateValidationContext_mutable_validation_context_sds_secret_config(envoy_api_v2_auth_CommonTlsContext_CombinedCertificateValidationContext *msg, upb_arena *arena) {
struct envoy_api_v2_auth_SdsSecretConfig* sub = (struct envoy_api_v2_auth_SdsSecretConfig*)envoy_api_v2_auth_CommonTlsContext_CombinedCertificateValidationContext_validation_context_sds_secret_config(msg);
if (sub == NULL) {
sub = (struct envoy_api_v2_auth_SdsSecretConfig*)_upb_msg_new(&envoy_api_v2_auth_SdsSecretConfig_msginit, arena);
if (!sub) return NULL;
envoy_api_v2_auth_CommonTlsContext_CombinedCertificateValidationContext_set_validation_context_sds_secret_config(msg, sub);
}
return sub;
}
#ifdef __cplusplus
} /* extern "C" */
#endif
#include "upb/port_undef.inc"
#endif /* ENVOY_API_V2_AUTH_TLS_PROTO_UPB_H_ */

@ -1,52 +0,0 @@
/* This file was generated by upbc (the upb compiler) from the input
* file:
*
* envoy/api/v2/cds.proto
*
* Do not edit -- your changes will be discarded when the file is
* regenerated. */
#ifndef ENVOY_API_V2_CDS_PROTO_UPB_H_
#define ENVOY_API_V2_CDS_PROTO_UPB_H_
#include "upb/msg.h"
#include "upb/decode.h"
#include "upb/encode.h"
/* Public Imports. */
#include "envoy/api/v2/cluster.upb.h"
#include "upb/port_def.inc"
#ifdef __cplusplus
extern "C" {
#endif
struct envoy_api_v2_CdsDummy;
typedef struct envoy_api_v2_CdsDummy envoy_api_v2_CdsDummy;
extern const upb_msglayout envoy_api_v2_CdsDummy_msginit;
/* envoy.api.v2.CdsDummy */
UPB_INLINE envoy_api_v2_CdsDummy *envoy_api_v2_CdsDummy_new(upb_arena *arena) {
return (envoy_api_v2_CdsDummy *)_upb_msg_new(&envoy_api_v2_CdsDummy_msginit, arena);
}
UPB_INLINE envoy_api_v2_CdsDummy *envoy_api_v2_CdsDummy_parse(const char *buf, size_t size,
upb_arena *arena) {
envoy_api_v2_CdsDummy *ret = envoy_api_v2_CdsDummy_new(arena);
return (ret && upb_decode(buf, size, ret, &envoy_api_v2_CdsDummy_msginit, arena)) ? ret : NULL;
}
UPB_INLINE char *envoy_api_v2_CdsDummy_serialize(const envoy_api_v2_CdsDummy *msg, upb_arena *arena, size_t *len) {
return upb_encode(msg, &envoy_api_v2_CdsDummy_msginit, arena, len);
}
#ifdef __cplusplus
} /* extern "C" */
#endif
#include "upb/port_undef.inc"
#endif /* ENVOY_API_V2_CDS_PROTO_UPB_H_ */

@ -1,403 +0,0 @@
/* This file was generated by upbc (the upb compiler) from the input
* file:
*
* envoy/api/v2/cluster.proto
*
* Do not edit -- your changes will be discarded when the file is
* regenerated. */
#include <stddef.h>
#include "upb/msg.h"
#include "envoy/api/v2/cluster.upb.h"
#include "envoy/api/v2/auth/tls.upb.h"
#include "envoy/api/v2/cluster/circuit_breaker.upb.h"
#include "envoy/api/v2/cluster/filter.upb.h"
#include "envoy/api/v2/cluster/outlier_detection.upb.h"
#include "envoy/api/v2/core/address.upb.h"
#include "envoy/api/v2/core/base.upb.h"
#include "envoy/api/v2/core/config_source.upb.h"
#include "envoy/api/v2/core/health_check.upb.h"
#include "envoy/api/v2/core/protocol.upb.h"
#include "envoy/api/v2/endpoint.upb.h"
#include "envoy/type/percent.upb.h"
#include "google/protobuf/any.upb.h"
#include "google/protobuf/duration.upb.h"
#include "google/protobuf/struct.upb.h"
#include "google/protobuf/wrappers.upb.h"
#include "envoy/annotations/deprecation.upb.h"
#include "udpa/annotations/migrate.upb.h"
#include "udpa/annotations/status.upb.h"
#include "validate/validate.upb.h"
#include "upb/port_def.inc"
static const upb_msglayout *const envoy_api_v2_Cluster_submsgs[34] = {
&envoy_api_v2_Cluster_CommonLbConfig_msginit,
&envoy_api_v2_Cluster_CustomClusterType_msginit,
&envoy_api_v2_Cluster_EdsClusterConfig_msginit,
&envoy_api_v2_Cluster_ExtensionProtocolOptionsEntry_msginit,
&envoy_api_v2_Cluster_LbSubsetConfig_msginit,
&envoy_api_v2_Cluster_LeastRequestLbConfig_msginit,
&envoy_api_v2_Cluster_OriginalDstLbConfig_msginit,
&envoy_api_v2_Cluster_RefreshRate_msginit,
&envoy_api_v2_Cluster_RingHashLbConfig_msginit,
&envoy_api_v2_Cluster_TransportSocketMatch_msginit,
&envoy_api_v2_Cluster_TypedExtensionProtocolOptionsEntry_msginit,
&envoy_api_v2_ClusterLoadAssignment_msginit,
&envoy_api_v2_LoadBalancingPolicy_msginit,
&envoy_api_v2_UpstreamConnectionOptions_msginit,
&envoy_api_v2_auth_UpstreamTlsContext_msginit,
&envoy_api_v2_cluster_CircuitBreakers_msginit,
&envoy_api_v2_cluster_Filter_msginit,
&envoy_api_v2_cluster_OutlierDetection_msginit,
&envoy_api_v2_core_Address_msginit,
&envoy_api_v2_core_BindConfig_msginit,
&envoy_api_v2_core_ConfigSource_msginit,
&envoy_api_v2_core_HealthCheck_msginit,
&envoy_api_v2_core_Http1ProtocolOptions_msginit,
&envoy_api_v2_core_Http2ProtocolOptions_msginit,
&envoy_api_v2_core_HttpProtocolOptions_msginit,
&envoy_api_v2_core_Metadata_msginit,
&envoy_api_v2_core_TransportSocket_msginit,
&envoy_api_v2_core_UpstreamHttpProtocolOptions_msginit,
&google_protobuf_Duration_msginit,
&google_protobuf_UInt32Value_msginit,
};
static const upb_msglayout_field envoy_api_v2_Cluster__fields[45] = {
{1, UPB_SIZE(32, 32), 0, 0, 9, 1},
{2, UPB_SIZE(168, 304), UPB_SIZE(-177, -313), 0, 14, 1},
{3, UPB_SIZE(48, 64), 0, 2, 11, 1},
{4, UPB_SIZE(52, 72), 0, 28, 11, 1},
{5, UPB_SIZE(56, 80), 0, 29, 11, 1},
{6, UPB_SIZE(0, 0), 0, 0, 14, 1},
{7, UPB_SIZE(140, 248), 0, 18, 11, 3},
{8, UPB_SIZE(144, 256), 0, 21, 11, 3},
{9, UPB_SIZE(60, 88), 0, 29, 11, 1},
{10, UPB_SIZE(64, 96), 0, 15, 11, 1},
{11, UPB_SIZE(68, 104), 0, 14, 11, 1},
{13, UPB_SIZE(72, 112), 0, 22, 11, 1},
{14, UPB_SIZE(76, 120), 0, 23, 11, 1},
{16, UPB_SIZE(80, 128), 0, 28, 11, 1},
{17, UPB_SIZE(8, 8), 0, 0, 14, 1},
{18, UPB_SIZE(148, 264), 0, 18, 11, 3},
{19, UPB_SIZE(84, 136), 0, 17, 11, 1},
{20, UPB_SIZE(88, 144), 0, 28, 11, 1},
{21, UPB_SIZE(92, 152), 0, 19, 11, 1},
{22, UPB_SIZE(96, 160), 0, 4, 11, 1},
{23, UPB_SIZE(180, 320), UPB_SIZE(-185, -329), 8, 11, 1},
{24, UPB_SIZE(100, 168), 0, 26, 11, 1},
{25, UPB_SIZE(104, 176), 0, 25, 11, 1},
{26, UPB_SIZE(16, 16), 0, 0, 14, 1},
{27, UPB_SIZE(108, 184), 0, 0, 11, 1},
{28, UPB_SIZE(40, 48), 0, 0, 9, 1},
{29, UPB_SIZE(112, 192), 0, 24, 11, 1},
{30, UPB_SIZE(116, 200), 0, 13, 11, 1},
{31, UPB_SIZE(24, 24), 0, 0, 8, 1},
{32, UPB_SIZE(25, 25), 0, 0, 8, 1},
{33, UPB_SIZE(120, 208), 0, 11, 11, 1},
{34, UPB_SIZE(180, 320), UPB_SIZE(-185, -329), 6, 11, 1},
{35, UPB_SIZE(152, 272), 0, 3, 11, _UPB_LABEL_MAP},
{36, UPB_SIZE(156, 280), 0, 10, 11, _UPB_LABEL_MAP},
{37, UPB_SIZE(180, 320), UPB_SIZE(-185, -329), 5, 11, 1},
{38, UPB_SIZE(168, 304), UPB_SIZE(-177, -313), 1, 11, 1},
{39, UPB_SIZE(26, 26), 0, 0, 8, 1},
{40, UPB_SIZE(160, 288), 0, 16, 11, 3},
{41, UPB_SIZE(124, 216), 0, 12, 11, 1},
{42, UPB_SIZE(128, 224), 0, 20, 11, 1},
{43, UPB_SIZE(164, 296), 0, 9, 11, 3},
{44, UPB_SIZE(132, 232), 0, 7, 11, 1},
{45, UPB_SIZE(27, 27), 0, 0, 8, 1},
{46, UPB_SIZE(136, 240), 0, 27, 11, 1},
{47, UPB_SIZE(28, 28), 0, 0, 8, 1},
};
const upb_msglayout envoy_api_v2_Cluster_msginit = {
&envoy_api_v2_Cluster_submsgs[0],
&envoy_api_v2_Cluster__fields[0],
UPB_SIZE(192, 336), 45, false,
};
static const upb_msglayout *const envoy_api_v2_Cluster_TransportSocketMatch_submsgs[2] = {
&envoy_api_v2_core_TransportSocket_msginit,
&google_protobuf_Struct_msginit,
};
static const upb_msglayout_field envoy_api_v2_Cluster_TransportSocketMatch__fields[3] = {
{1, UPB_SIZE(0, 0), 0, 0, 9, 1},
{2, UPB_SIZE(8, 16), 0, 1, 11, 1},
{3, UPB_SIZE(12, 24), 0, 0, 11, 1},
};
const upb_msglayout envoy_api_v2_Cluster_TransportSocketMatch_msginit = {
&envoy_api_v2_Cluster_TransportSocketMatch_submsgs[0],
&envoy_api_v2_Cluster_TransportSocketMatch__fields[0],
UPB_SIZE(16, 32), 3, false,
};
static const upb_msglayout *const envoy_api_v2_Cluster_CustomClusterType_submsgs[1] = {
&google_protobuf_Any_msginit,
};
static const upb_msglayout_field envoy_api_v2_Cluster_CustomClusterType__fields[2] = {
{1, UPB_SIZE(0, 0), 0, 0, 9, 1},
{2, UPB_SIZE(8, 16), 0, 0, 11, 1},
};
const upb_msglayout envoy_api_v2_Cluster_CustomClusterType_msginit = {
&envoy_api_v2_Cluster_CustomClusterType_submsgs[0],
&envoy_api_v2_Cluster_CustomClusterType__fields[0],
UPB_SIZE(16, 32), 2, false,
};
static const upb_msglayout *const envoy_api_v2_Cluster_EdsClusterConfig_submsgs[1] = {
&envoy_api_v2_core_ConfigSource_msginit,
};
static const upb_msglayout_field envoy_api_v2_Cluster_EdsClusterConfig__fields[2] = {
{1, UPB_SIZE(8, 16), 0, 0, 11, 1},
{2, UPB_SIZE(0, 0), 0, 0, 9, 1},
};
const upb_msglayout envoy_api_v2_Cluster_EdsClusterConfig_msginit = {
&envoy_api_v2_Cluster_EdsClusterConfig_submsgs[0],
&envoy_api_v2_Cluster_EdsClusterConfig__fields[0],
UPB_SIZE(16, 32), 2, false,
};
static const upb_msglayout *const envoy_api_v2_Cluster_LbSubsetConfig_submsgs[2] = {
&envoy_api_v2_Cluster_LbSubsetConfig_LbSubsetSelector_msginit,
&google_protobuf_Struct_msginit,
};
static const upb_msglayout_field envoy_api_v2_Cluster_LbSubsetConfig__fields[7] = {
{1, UPB_SIZE(0, 0), 0, 0, 14, 1},
{2, UPB_SIZE(12, 16), 0, 1, 11, 1},
{3, UPB_SIZE(16, 24), 0, 0, 11, 3},
{4, UPB_SIZE(8, 8), 0, 0, 8, 1},
{5, UPB_SIZE(9, 9), 0, 0, 8, 1},
{6, UPB_SIZE(10, 10), 0, 0, 8, 1},
{7, UPB_SIZE(11, 11), 0, 0, 8, 1},
};
const upb_msglayout envoy_api_v2_Cluster_LbSubsetConfig_msginit = {
&envoy_api_v2_Cluster_LbSubsetConfig_submsgs[0],
&envoy_api_v2_Cluster_LbSubsetConfig__fields[0],
UPB_SIZE(24, 32), 7, false,
};
static const upb_msglayout_field envoy_api_v2_Cluster_LbSubsetConfig_LbSubsetSelector__fields[3] = {
{1, UPB_SIZE(8, 8), 0, 0, 9, 3},
{2, UPB_SIZE(0, 0), 0, 0, 14, 1},
{3, UPB_SIZE(12, 16), 0, 0, 9, 3},
};
const upb_msglayout envoy_api_v2_Cluster_LbSubsetConfig_LbSubsetSelector_msginit = {
NULL,
&envoy_api_v2_Cluster_LbSubsetConfig_LbSubsetSelector__fields[0],
UPB_SIZE(16, 24), 3, false,
};
static const upb_msglayout *const envoy_api_v2_Cluster_LeastRequestLbConfig_submsgs[1] = {
&google_protobuf_UInt32Value_msginit,
};
static const upb_msglayout_field envoy_api_v2_Cluster_LeastRequestLbConfig__fields[1] = {
{1, UPB_SIZE(0, 0), 0, 0, 11, 1},
};
const upb_msglayout envoy_api_v2_Cluster_LeastRequestLbConfig_msginit = {
&envoy_api_v2_Cluster_LeastRequestLbConfig_submsgs[0],
&envoy_api_v2_Cluster_LeastRequestLbConfig__fields[0],
UPB_SIZE(4, 8), 1, false,
};
static const upb_msglayout *const envoy_api_v2_Cluster_RingHashLbConfig_submsgs[2] = {
&google_protobuf_UInt64Value_msginit,
};
static const upb_msglayout_field envoy_api_v2_Cluster_RingHashLbConfig__fields[3] = {
{1, UPB_SIZE(8, 8), 0, 0, 11, 1},
{3, UPB_SIZE(0, 0), 0, 0, 14, 1},
{4, UPB_SIZE(12, 16), 0, 0, 11, 1},
};
const upb_msglayout envoy_api_v2_Cluster_RingHashLbConfig_msginit = {
&envoy_api_v2_Cluster_RingHashLbConfig_submsgs[0],
&envoy_api_v2_Cluster_RingHashLbConfig__fields[0],
UPB_SIZE(16, 24), 3, false,
};
static const upb_msglayout_field envoy_api_v2_Cluster_OriginalDstLbConfig__fields[1] = {
{1, UPB_SIZE(0, 0), 0, 0, 8, 1},
};
const upb_msglayout envoy_api_v2_Cluster_OriginalDstLbConfig_msginit = {
NULL,
&envoy_api_v2_Cluster_OriginalDstLbConfig__fields[0],
UPB_SIZE(1, 1), 1, false,
};
static const upb_msglayout *const envoy_api_v2_Cluster_CommonLbConfig_submsgs[5] = {
&envoy_api_v2_Cluster_CommonLbConfig_ConsistentHashingLbConfig_msginit,
&envoy_api_v2_Cluster_CommonLbConfig_LocalityWeightedLbConfig_msginit,
&envoy_api_v2_Cluster_CommonLbConfig_ZoneAwareLbConfig_msginit,
&envoy_type_Percent_msginit,
&google_protobuf_Duration_msginit,
};
static const upb_msglayout_field envoy_api_v2_Cluster_CommonLbConfig__fields[7] = {
{1, UPB_SIZE(4, 8), 0, 3, 11, 1},
{2, UPB_SIZE(16, 32), UPB_SIZE(-21, -41), 2, 11, 1},
{3, UPB_SIZE(16, 32), UPB_SIZE(-21, -41), 1, 11, 1},
{4, UPB_SIZE(8, 16), 0, 4, 11, 1},
{5, UPB_SIZE(0, 0), 0, 0, 8, 1},
{6, UPB_SIZE(1, 1), 0, 0, 8, 1},
{7, UPB_SIZE(12, 24), 0, 0, 11, 1},
};
const upb_msglayout envoy_api_v2_Cluster_CommonLbConfig_msginit = {
&envoy_api_v2_Cluster_CommonLbConfig_submsgs[0],
&envoy_api_v2_Cluster_CommonLbConfig__fields[0],
UPB_SIZE(24, 48), 7, false,
};
static const upb_msglayout *const envoy_api_v2_Cluster_CommonLbConfig_ZoneAwareLbConfig_submsgs[2] = {
&envoy_type_Percent_msginit,
&google_protobuf_UInt64Value_msginit,
};
static const upb_msglayout_field envoy_api_v2_Cluster_CommonLbConfig_ZoneAwareLbConfig__fields[3] = {
{1, UPB_SIZE(4, 8), 0, 0, 11, 1},
{2, UPB_SIZE(8, 16), 0, 1, 11, 1},
{3, UPB_SIZE(0, 0), 0, 0, 8, 1},
};
const upb_msglayout envoy_api_v2_Cluster_CommonLbConfig_ZoneAwareLbConfig_msginit = {
&envoy_api_v2_Cluster_CommonLbConfig_ZoneAwareLbConfig_submsgs[0],
&envoy_api_v2_Cluster_CommonLbConfig_ZoneAwareLbConfig__fields[0],
UPB_SIZE(12, 24), 3, false,
};
const upb_msglayout envoy_api_v2_Cluster_CommonLbConfig_LocalityWeightedLbConfig_msginit = {
NULL,
NULL,
UPB_SIZE(0, 0), 0, false,
};
static const upb_msglayout_field envoy_api_v2_Cluster_CommonLbConfig_ConsistentHashingLbConfig__fields[1] = {
{1, UPB_SIZE(0, 0), 0, 0, 8, 1},
};
const upb_msglayout envoy_api_v2_Cluster_CommonLbConfig_ConsistentHashingLbConfig_msginit = {
NULL,
&envoy_api_v2_Cluster_CommonLbConfig_ConsistentHashingLbConfig__fields[0],
UPB_SIZE(1, 1), 1, false,
};
static const upb_msglayout *const envoy_api_v2_Cluster_RefreshRate_submsgs[2] = {
&google_protobuf_Duration_msginit,
};
static const upb_msglayout_field envoy_api_v2_Cluster_RefreshRate__fields[2] = {
{1, UPB_SIZE(0, 0), 0, 0, 11, 1},
{2, UPB_SIZE(4, 8), 0, 0, 11, 1},
};
const upb_msglayout envoy_api_v2_Cluster_RefreshRate_msginit = {
&envoy_api_v2_Cluster_RefreshRate_submsgs[0],
&envoy_api_v2_Cluster_RefreshRate__fields[0],
UPB_SIZE(8, 16), 2, false,
};
static const upb_msglayout *const envoy_api_v2_Cluster_ExtensionProtocolOptionsEntry_submsgs[1] = {
&google_protobuf_Struct_msginit,
};
static const upb_msglayout_field envoy_api_v2_Cluster_ExtensionProtocolOptionsEntry__fields[2] = {
{1, UPB_SIZE(0, 0), 0, 0, 9, 1},
{2, UPB_SIZE(8, 16), 0, 0, 11, 1},
};
const upb_msglayout envoy_api_v2_Cluster_ExtensionProtocolOptionsEntry_msginit = {
&envoy_api_v2_Cluster_ExtensionProtocolOptionsEntry_submsgs[0],
&envoy_api_v2_Cluster_ExtensionProtocolOptionsEntry__fields[0],
UPB_SIZE(16, 32), 2, false,
};
static const upb_msglayout *const envoy_api_v2_Cluster_TypedExtensionProtocolOptionsEntry_submsgs[1] = {
&google_protobuf_Any_msginit,
};
static const upb_msglayout_field envoy_api_v2_Cluster_TypedExtensionProtocolOptionsEntry__fields[2] = {
{1, UPB_SIZE(0, 0), 0, 0, 9, 1},
{2, UPB_SIZE(8, 16), 0, 0, 11, 1},
};
const upb_msglayout envoy_api_v2_Cluster_TypedExtensionProtocolOptionsEntry_msginit = {
&envoy_api_v2_Cluster_TypedExtensionProtocolOptionsEntry_submsgs[0],
&envoy_api_v2_Cluster_TypedExtensionProtocolOptionsEntry__fields[0],
UPB_SIZE(16, 32), 2, false,
};
static const upb_msglayout *const envoy_api_v2_LoadBalancingPolicy_submsgs[1] = {
&envoy_api_v2_LoadBalancingPolicy_Policy_msginit,
};
static const upb_msglayout_field envoy_api_v2_LoadBalancingPolicy__fields[1] = {
{1, UPB_SIZE(0, 0), 0, 0, 11, 3},
};
const upb_msglayout envoy_api_v2_LoadBalancingPolicy_msginit = {
&envoy_api_v2_LoadBalancingPolicy_submsgs[0],
&envoy_api_v2_LoadBalancingPolicy__fields[0],
UPB_SIZE(4, 8), 1, false,
};
static const upb_msglayout *const envoy_api_v2_LoadBalancingPolicy_Policy_submsgs[2] = {
&google_protobuf_Any_msginit,
&google_protobuf_Struct_msginit,
};
static const upb_msglayout_field envoy_api_v2_LoadBalancingPolicy_Policy__fields[3] = {
{1, UPB_SIZE(0, 0), 0, 0, 9, 1},
{2, UPB_SIZE(8, 16), 0, 1, 11, 1},
{3, UPB_SIZE(12, 24), 0, 0, 11, 1},
};
const upb_msglayout envoy_api_v2_LoadBalancingPolicy_Policy_msginit = {
&envoy_api_v2_LoadBalancingPolicy_Policy_submsgs[0],
&envoy_api_v2_LoadBalancingPolicy_Policy__fields[0],
UPB_SIZE(16, 32), 3, false,
};
static const upb_msglayout *const envoy_api_v2_UpstreamBindConfig_submsgs[1] = {
&envoy_api_v2_core_Address_msginit,
};
static const upb_msglayout_field envoy_api_v2_UpstreamBindConfig__fields[1] = {
{1, UPB_SIZE(0, 0), 0, 0, 11, 1},
};
const upb_msglayout envoy_api_v2_UpstreamBindConfig_msginit = {
&envoy_api_v2_UpstreamBindConfig_submsgs[0],
&envoy_api_v2_UpstreamBindConfig__fields[0],
UPB_SIZE(4, 8), 1, false,
};
static const upb_msglayout *const envoy_api_v2_UpstreamConnectionOptions_submsgs[1] = {
&envoy_api_v2_core_TcpKeepalive_msginit,
};
static const upb_msglayout_field envoy_api_v2_UpstreamConnectionOptions__fields[1] = {
{1, UPB_SIZE(0, 0), 0, 0, 11, 1},
};
const upb_msglayout envoy_api_v2_UpstreamConnectionOptions_msginit = {
&envoy_api_v2_UpstreamConnectionOptions_submsgs[0],
&envoy_api_v2_UpstreamConnectionOptions__fields[0],
UPB_SIZE(4, 8), 1, false,
};
#include "upb/port_undef.inc"

File diff suppressed because it is too large Load Diff

@ -1,74 +0,0 @@
/* This file was generated by upbc (the upb compiler) from the input
* file:
*
* envoy/api/v2/cluster/circuit_breaker.proto
*
* Do not edit -- your changes will be discarded when the file is
* regenerated. */
#include <stddef.h>
#include "upb/msg.h"
#include "envoy/api/v2/cluster/circuit_breaker.upb.h"
#include "envoy/api/v2/core/base.upb.h"
#include "envoy/type/percent.upb.h"
#include "google/protobuf/wrappers.upb.h"
#include "udpa/annotations/migrate.upb.h"
#include "udpa/annotations/status.upb.h"
#include "validate/validate.upb.h"
#include "upb/port_def.inc"
static const upb_msglayout *const envoy_api_v2_cluster_CircuitBreakers_submsgs[1] = {
&envoy_api_v2_cluster_CircuitBreakers_Thresholds_msginit,
};
static const upb_msglayout_field envoy_api_v2_cluster_CircuitBreakers__fields[1] = {
{1, UPB_SIZE(0, 0), 0, 0, 11, 3},
};
const upb_msglayout envoy_api_v2_cluster_CircuitBreakers_msginit = {
&envoy_api_v2_cluster_CircuitBreakers_submsgs[0],
&envoy_api_v2_cluster_CircuitBreakers__fields[0],
UPB_SIZE(4, 8), 1, false,
};
static const upb_msglayout *const envoy_api_v2_cluster_CircuitBreakers_Thresholds_submsgs[6] = {
&envoy_api_v2_cluster_CircuitBreakers_Thresholds_RetryBudget_msginit,
&google_protobuf_UInt32Value_msginit,
};
static const upb_msglayout_field envoy_api_v2_cluster_CircuitBreakers_Thresholds__fields[8] = {
{1, UPB_SIZE(0, 0), 0, 0, 14, 1},
{2, UPB_SIZE(12, 16), 0, 1, 11, 1},
{3, UPB_SIZE(16, 24), 0, 1, 11, 1},
{4, UPB_SIZE(20, 32), 0, 1, 11, 1},
{5, UPB_SIZE(24, 40), 0, 1, 11, 1},
{6, UPB_SIZE(8, 8), 0, 0, 8, 1},
{7, UPB_SIZE(28, 48), 0, 1, 11, 1},
{8, UPB_SIZE(32, 56), 0, 0, 11, 1},
};
const upb_msglayout envoy_api_v2_cluster_CircuitBreakers_Thresholds_msginit = {
&envoy_api_v2_cluster_CircuitBreakers_Thresholds_submsgs[0],
&envoy_api_v2_cluster_CircuitBreakers_Thresholds__fields[0],
UPB_SIZE(40, 64), 8, false,
};
static const upb_msglayout *const envoy_api_v2_cluster_CircuitBreakers_Thresholds_RetryBudget_submsgs[2] = {
&envoy_type_Percent_msginit,
&google_protobuf_UInt32Value_msginit,
};
static const upb_msglayout_field envoy_api_v2_cluster_CircuitBreakers_Thresholds_RetryBudget__fields[2] = {
{1, UPB_SIZE(0, 0), 0, 0, 11, 1},
{2, UPB_SIZE(4, 8), 0, 1, 11, 1},
};
const upb_msglayout envoy_api_v2_cluster_CircuitBreakers_Thresholds_RetryBudget_msginit = {
&envoy_api_v2_cluster_CircuitBreakers_Thresholds_RetryBudget_submsgs[0],
&envoy_api_v2_cluster_CircuitBreakers_Thresholds_RetryBudget__fields[0],
UPB_SIZE(8, 16), 2, false,
};
#include "upb/port_undef.inc"

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

Loading…
Cancel
Save