Merge remote-tracking branch 'upstream/master' into no-throw-on-completion-queue-timeout

pull/36095/head
Hannah Shi 10 months ago
commit e6eaf2f18a
  1. 2
      .bazelversion
  2. 3
      .clang-format
  3. 2
      .gitattributes
  4. 217
      BUILD
  5. 804
      CMakeLists.txt
  6. 48
      Makefile
  7. 59
      Package.swift
  8. 31
      WORKSPACE
  9. 2
      _metadata.py
  10. 75
      bazel/experiments.bzl
  11. 30
      bazel/grpc_build_system.bzl
  12. 60
      bazel/grpc_deps.bzl
  13. 4
      bazel/supported_versions.txt
  14. 12
      bazel/update_mirror.sh
  15. 843
      build_autogenerated.yaml
  16. 2
      build_config.rb
  17. 8
      build_handwritten.yaml
  18. 21
      cmake/systemd.cmake
  19. 43
      config.m4
  20. 41
      config.w32
  21. 4
      doc/bazel_support.md
  22. 9
      doc/compression.md
  23. 3
      doc/g_stands_for.md
  24. 10
      doc/grpc_xds_features.md
  25. 25
      examples/android/binder/java/io/grpc/binder/cpp/README.md
  26. 2
      examples/android/binder/java/io/grpc/binder/cpp/exampleclient/BUILD
  27. 2
      examples/android/binder/java/io/grpc/binder/cpp/exampleserver/BUILD
  28. 1
      examples/cpp/csm/BUILD
  29. 3
      examples/cpp/csm/csm_greeter_server.cc
  30. 42
      examples/cpp/health/BUILD
  31. 98
      examples/cpp/health/CMakeLists.txt
  32. 6
      examples/cpp/health/README.md
  33. 140
      examples/cpp/health/health_client.cc
  34. 100
      examples/cpp/health/health_server.cc
  35. 4
      examples/cpp/helloworld/BUILD
  36. 3
      examples/cpp/helloworld/CMakeLists.txt
  37. 7
      examples/cpp/helloworld/greeter_async_client.cc
  38. 3
      examples/cpp/helloworld/greeter_async_client2.cc
  39. 7
      examples/cpp/helloworld/greeter_async_server.cc
  40. 8
      examples/cpp/helloworld/xds_greeter_server.cc
  41. 1
      examples/cpp/interceptors/BUILD
  42. 3
      examples/cpp/interceptors/CMakeLists.txt
  43. 9
      examples/cpp/interceptors/caching_interceptor.h
  44. 2
      examples/cpp/keepalive/CMakeLists.txt
  45. 1
      examples/cpp/xds/BUILD
  46. 8
      examples/cpp/xds/xds_greeter_server.cc
  47. 2
      examples/python/helloworld/helloworld_pb2.py
  48. 25
      examples/python/helloworld/helloworld_pb2_grpc.py
  49. 17
      examples/python/observability/observability_greeter_client.py
  50. 17
      examples/python/observability/observability_greeter_server.py
  51. 14
      fuzztest/core/transport/chttp2/hpack_encoder_timeout_test.cc
  52. 74
      gRPC-C++.podspec
  53. 95
      gRPC-Core.podspec
  54. 2
      gRPC-ProtoRPC.podspec
  55. 2
      gRPC-RxLibrary.podspec
  56. 2
      gRPC.podspec
  57. 130
      grpc.def
  58. 91
      grpc.gemspec
  59. 2700
      grpc.gyp
  60. 3
      include/grpc++/impl/.clang-format
  61. 3
      include/grpc/.clang-format
  62. 3
      include/grpc/byte_buffer.h
  63. 3
      include/grpc/census.h
  64. 3
      include/grpc/compression.h
  65. 1222
      include/grpc/credentials.h
  66. 4
      include/grpc/event_engine/endpoint_config.h
  67. 3
      include/grpc/event_engine/event_engine.h
  68. 4
      include/grpc/event_engine/extensible.h
  69. 3
      include/grpc/event_engine/internal/memory_allocator_impl.h
  70. 3
      include/grpc/event_engine/memory_allocator.h
  71. 4
      include/grpc/event_engine/memory_request.h
  72. 3
      include/grpc/event_engine/slice.h
  73. 3
      include/grpc/event_engine/slice_buffer.h
  74. 10
      include/grpc/grpc.h
  75. 3
      include/grpc/grpc_audit_logging.h
  76. 4
      include/grpc/grpc_crl_provider.h
  77. 3
      include/grpc/grpc_cronet.h
  78. 3
      include/grpc/grpc_posix.h
  79. 1174
      include/grpc/grpc_security.h
  80. 3
      include/grpc/impl/call.h
  81. 3
      include/grpc/impl/grpc_types.h
  82. 4
      include/grpc/impl/slice_type.h
  83. 2
      include/grpc/module.modulemap
  84. 3
      include/grpc/slice.h
  85. 3
      include/grpc/slice_buffer.h
  86. 4
      include/grpc/support/alloc.h
  87. 4
      include/grpc/support/json.h
  88. 6
      include/grpc/support/log.h
  89. 51
      include/grpc/support/metrics.h
  90. 1
      include/grpc/support/string_util.h
  91. 1
      include/grpc/support/sync.h
  92. 1
      include/grpc/support/sync_abseil.h
  93. 1
      include/grpc/support/sync_custom.h
  94. 3
      include/grpc/support/sync_generic.h
  95. 3
      include/grpc/support/sync_posix.h
  96. 4
      include/grpc/support/time.h
  97. 3
      include/grpcpp/.clang-format
  98. 3
      include/grpcpp/create_channel_posix.h
  99. 1
      include/grpcpp/ext/channelz_service_plugin.h
  100. 3
      include/grpcpp/ext/csm_observability.h
  101. Some files were not shown because too many files have changed in this diff Show More

@ -1 +1 @@
6.4.0
7.1.0

@ -5,9 +5,6 @@ DerivePointerAlignment: false
PointerAlignment: Left
IncludeBlocks: Regroup
IncludeCategories:
# port_platform.h is before almost everything
- Regex: '^<grpc/(support|impl/codegen)/port_platform.h>'
Priority: -100
# ruby.h is even more first if it's included
- Regex: '^<ruby/ruby.h>'
Priority: -200

2
.gitattributes vendored

@ -12,10 +12,8 @@ gRPC-ProtoRPC.podspec linguist-generated=true
gRPC-RxLibrary.podspec linguist-generated=true
gRPC.podspec linguist-generated=true
grpc.gemspec linguist-generated=true
grpc.gyp linguist-generated=true
grpc.def linguist-generated=true
package.xml linguist-generated=true
binding.gyp linguist-generated=true
Package.swift linguist-generated=true
src/python/grpcio/grpc_core_dependencies.py linguist-generated=true
src/ruby/ext/grpc/rb_grpc_imports.generated.h linguist-generated=true

217
BUILD

@ -14,6 +14,8 @@
# See the License for the specific language governing permissions and
# limitations under the License.
load("@bazel_skylib//lib:selects.bzl", "selects")
load("@bazel_skylib//rules:common_settings.bzl", "bool_flag")
load(
"//bazel:grpc_build_system.bzl",
"grpc_cc_library",
@ -22,8 +24,6 @@ load(
"grpc_upb_proto_reflection_library",
"python_config_settings",
)
load("@bazel_skylib//lib:selects.bzl", "selects")
load("@bazel_skylib//rules:common_settings.bzl", "bool_flag")
licenses(["reciprocal"])
@ -65,6 +65,30 @@ bool_flag(
build_setting_default = False,
)
platform(
name = "android_x86_64",
constraint_values = [
"@platforms//os:android",
"@platforms//cpu:x86_64",
],
)
platform(
name = "android_arm64",
constraint_values = [
"@platforms//os:android",
"@platforms//cpu:arm64",
],
)
platform(
name = "android_armv7",
constraint_values = [
"@platforms//os:android",
"@platforms//cpu:armv7",
],
)
config_setting(
name = "grpc_no_rls_flag",
flag_values = {":disable_grpc_rls": "true"},
@ -84,6 +108,8 @@ config_setting(
config_setting(
name = "android",
values = {"crosstool_top": "//external:android/crosstool"},
# TODO: Use constraint_values to detect android after Bazel 7.0 platforms migration is finished
# constraint_values = [ "@platforms//os:android" ],
)
config_setting(
@ -211,11 +237,11 @@ config_setting(
python_config_settings()
# This should be updated along with build_handwritten.yaml
g_stands_for = "giggle" # @unused
g_stands_for = "grateful" # @unused
core_version = "39.0.0" # @unused
core_version = "40.0.0" # @unused
version = "1.63.0-dev" # @unused
version = "1.64.0-dev" # @unused
GPR_PUBLIC_HDRS = [
"include/grpc/support/alloc.h",
@ -226,6 +252,7 @@ GPR_PUBLIC_HDRS = [
"include/grpc/support/json.h",
"include/grpc/support/log.h",
"include/grpc/support/log_windows.h",
"include/grpc/support/metrics.h",
"include/grpc/support/port_platform.h",
"include/grpc/support/string_util.h",
"include/grpc/support/sync.h",
@ -298,7 +325,9 @@ GRPC_PUBLIC_EVENT_ENGINE_HDRS = [
]
GRPCXX_SRCS = [
"src/cpp/client/call_credentials.cc",
"src/cpp/client/channel_cc.cc",
"src/cpp/client/channel_credentials.cc",
"src/cpp/client/client_callback.cc",
"src/cpp/client/client_context.cc",
"src/cpp/client/client_interceptor.cc",
@ -324,6 +353,7 @@ GRPCXX_SRCS = [
"src/cpp/server/server_callback.cc",
"src/cpp/server/server_cc.cc",
"src/cpp/server/server_context.cc",
"src/cpp/server/server_credentials.cc",
"src/cpp/server/server_posix.cc",
"src/cpp/thread_manager/thread_manager.cc",
"src/cpp/util/byte_buffer_cc.cc",
@ -574,6 +604,7 @@ grpc_cc_library(
"//src/core:channel_stack_type",
"//src/core:client_channel_backup_poller",
"//src/core:default_event_engine",
"//src/core:endpoint_info_handshaker",
"//src/core:experiments",
"//src/core:forkable",
"//src/core:grpc_authorization_base",
@ -662,6 +693,7 @@ grpc_cc_library(
"//src/core:channel_stack_type",
"//src/core:client_channel_backup_poller",
"//src/core:default_event_engine",
"//src/core:endpoint_info_handshaker",
"//src/core:experiments",
"//src/core:forkable",
"//src/core:grpc_authorization_base",
@ -746,7 +778,9 @@ grpc_cc_library(
external_deps = [
"absl/base",
"absl/base:core_headers",
"absl/base:log_severity",
"absl/functional:any_invocable",
"absl/log",
"absl/memory",
"absl/random",
"absl/status",
@ -910,9 +944,7 @@ grpc_cc_library(
},
],
tags = ["nofixdeps"],
visibility = [
"@grpc:public",
],
visibility = ["@grpc:public"],
deps = [
"grpc++_base",
"//src/core:gpr_atm",
@ -1022,9 +1054,9 @@ grpc_cc_library(
"absl/strings",
"absl/types:optional",
"absl/types:span",
"upb_base_lib",
"upb_mem_lib",
"upb_message_lib",
"@com_google_protobuf//upb:base",
"@com_google_protobuf//upb:mem",
"@com_google_protobuf//upb:message",
],
language = "c++",
deps = [
@ -1185,6 +1217,9 @@ grpc_cc_library(
],
)
# TODO(hork): restructure the grpc++_unsecure and grpc++ build targets in a
# similar way to how the grpc_unsecure and grpc targets were restructured in
# #25586
grpc_cc_library(
name = "grpc++_unsecure",
srcs = [
@ -1192,18 +1227,27 @@ grpc_cc_library(
"src/cpp/common/insecure_create_auth_context.cc",
"src/cpp/server/insecure_server_credentials.cc",
],
external_deps = [
"absl/strings",
"absl/synchronization",
],
language = "c++",
public_hdrs = GRPCXX_PUBLIC_HDRS,
tags = [
"avoid_dep",
"nofixdeps",
],
visibility = ["@grpc:public"],
deps = [
"channel_arg_names",
"gpr",
"grpc++_base_unsecure",
"grpc++_codegen_proto",
"grpc_core_credentials_header",
"grpc_public_hdrs",
"grpc_security_base",
"grpc_unsecure",
"//src/core:gpr_atm",
"//src/core:grpc_insecure_credentials",
],
)
@ -1234,9 +1278,9 @@ grpc_cc_library(
"include/grpcpp/security/alts_util.h",
],
external_deps = [
"upb_base_lib",
"upb_mem_lib",
"upb_message_lib",
"@com_google_protobuf//upb:base",
"@com_google_protobuf//upb:mem",
"@com_google_protobuf//upb:message",
],
language = "c++",
standalone = True,
@ -1304,14 +1348,14 @@ grpc_cc_library(
grpc_cc_library(
name = "channelz",
srcs = [
"//src/core:lib/channel/channel_trace.cc",
"//src/core:lib/channel/channelz.cc",
"//src/core:lib/channel/channelz_registry.cc",
"//src/core:channelz/channel_trace.cc",
"//src/core:channelz/channelz.cc",
"//src/core:channelz/channelz_registry.cc",
],
hdrs = [
"//src/core:lib/channel/channel_trace.h",
"//src/core:lib/channel/channelz.h",
"//src/core:lib/channel/channelz_registry.h",
"//src/core:channelz/channel_trace.h",
"//src/core:channelz/channelz.h",
"//src/core:channelz/channelz_registry.h",
],
external_deps = [
"absl/base:core_headers",
@ -1663,11 +1707,11 @@ grpc_cc_library(
external_deps = [
"absl/status",
"absl/strings",
"absl/types:optional",
],
language = "c++",
visibility = ["@grpc:alt_grpc_base_legacy"],
deps = [
"config",
"gpr",
"legacy_context",
"tcp_tracer",
@ -1677,6 +1721,7 @@ grpc_cc_library(
"//src/core:context",
"//src/core:error",
"//src/core:metadata_batch",
"//src/core:ref_counted_string",
"//src/core:slice_buffer",
],
)
@ -1751,7 +1796,7 @@ grpc_cc_library(
"ref_counted_ptr",
"stats",
"//src/core:arena",
"//src/core:call_factory",
"//src/core:call_size_estimator",
"//src/core:channel_args",
"//src/core:channel_fwd",
"//src/core:channel_init",
@ -1762,6 +1807,7 @@ grpc_cc_library(
"//src/core:init_internally",
"//src/core:iomgr_fwd",
"//src/core:metrics",
"//src/core:resource_quota",
"//src/core:slice",
"//src/core:stats_data",
"//src/core:time",
@ -1788,6 +1834,7 @@ grpc_cc_library(
"channel",
"channel_arg_names",
"channelz",
"config",
"gpr",
"grpc_base",
"grpc_public_hdrs",
@ -1891,7 +1938,6 @@ grpc_cc_library(
"//src/core:lib/channel/promise_based_filter.cc",
"//src/core:lib/channel/status_util.cc",
"//src/core:lib/compression/message_compress.cc",
"//src/core:lib/slice/b64.cc",
"//src/core:lib/surface/call.cc",
"//src/core:lib/surface/call_details.cc",
"//src/core:lib/surface/call_log_batch.cc",
@ -1914,7 +1960,6 @@ grpc_cc_library(
"//src/core:lib/channel/promise_based_filter.h",
"//src/core:lib/channel/status_util.h",
"//src/core:lib/compression/message_compress.h",
"//src/core:lib/slice/b64.h",
"//src/core:lib/surface/call.h",
"//src/core:lib/surface/call_test_only.h",
"//src/core:lib/surface/completion_queue.h",
@ -1933,20 +1978,15 @@ grpc_cc_library(
}),
external_deps = [
"absl/base:core_headers",
"absl/cleanup",
"absl/container:flat_hash_map",
"absl/container:flat_hash_set",
"absl/container:inlined_vector",
"absl/functional:any_invocable",
"absl/functional:function_ref",
"absl/hash",
"absl/meta:type_traits",
"absl/random",
"absl/status",
"absl/status:statusor",
"absl/strings",
"absl/strings:str_format",
"absl/time",
"absl/types:optional",
"absl/utility",
"madler_zlib",
@ -1960,7 +2000,6 @@ grpc_cc_library(
visibility = ["@grpc:alt_grpc_base_legacy"],
deps = [
"api_trace",
"byte_buffer",
"call_combiner",
"call_trace",
"call_tracer",
@ -1969,28 +2008,19 @@ grpc_cc_library(
"channel_stack_builder",
"channelz",
"config",
"config_vars",
"cpp_impl_of",
"debug_location",
"dynamic_annotations",
"exec_ctx",
"gpr",
"grpc_public_hdrs",
"grpc_trace",
"iomgr",
"iomgr_buffer_list",
"iomgr_internal_errqueue",
"iomgr_timer",
"legacy_context",
"orphanable",
"parse_address",
"promise",
"ref_counted_ptr",
"resource_quota_api",
"sockaddr_utils",
"stats",
"tcp_tracer",
"uri_parser",
"//src/core:1999",
"//src/core:activity",
"//src/core:all_ok",
@ -1998,14 +2028,11 @@ grpc_cc_library(
"//src/core:arena_promise",
"//src/core:atomic_utils",
"//src/core:bitset",
"//src/core:call_factory",
"//src/core:call_filters",
"//src/core:call_final_info",
"//src/core:call_finalization",
"//src/core:call_spine",
"//src/core:cancel_callback",
"//src/core:channel_args",
"//src/core:channel_args_endpoint_config",
"//src/core:channel_args_preconditioning",
"//src/core:channel_fwd",
"//src/core:channel_init",
@ -2014,75 +2041,47 @@ grpc_cc_library(
"//src/core:closure",
"//src/core:compression",
"//src/core:connectivity_state",
"//src/core:construct_destruct",
"//src/core:context",
"//src/core:default_event_engine",
"//src/core:dual_ref_counted",
"//src/core:error",
"//src/core:error_utils",
"//src/core:event_engine_common",
"//src/core:event_engine_extensions",
"//src/core:event_engine_memory_allocator_factory",
"//src/core:event_engine_query_extensions",
"//src/core:event_engine_shim",
"//src/core:event_engine_tcp_socket_utils",
"//src/core:event_engine_trace",
"//src/core:event_log",
"//src/core:event_engine_context",
"//src/core:experiments",
"//src/core:for_each",
"//src/core:gpr_atm",
"//src/core:gpr_manual_constructor",
"//src/core:gpr_spinlock",
"//src/core:grpc_sockaddr",
"//src/core:if",
"//src/core:init_internally",
"//src/core:iomgr_fwd",
"//src/core:iomgr_port",
"//src/core:json",
"//src/core:json_writer",
"//src/core:latch",
"//src/core:loop",
"//src/core:map",
"//src/core:match",
"//src/core:memory_quota",
"//src/core:message",
"//src/core:metadata",
"//src/core:metadata_batch",
"//src/core:metrics",
"//src/core:no_destruct",
"//src/core:per_cpu",
"//src/core:pipe",
"//src/core:poll",
"//src/core:pollset_set",
"//src/core:posix_event_engine_base_hdrs",
"//src/core:posix_event_engine_endpoint",
"//src/core:promise_status",
"//src/core:promise_trace",
"//src/core:race",
"//src/core:random_early_detection",
"//src/core:ref_counted",
"//src/core:resolved_address",
"//src/core:resource_quota",
"//src/core:resource_quota_trace",
"//src/core:seq",
"//src/core:server_interface",
"//src/core:slice",
"//src/core:slice_buffer",
"//src/core:slice_cast",
"//src/core:slice_refcount",
"//src/core:socket_mutator",
"//src/core:stats_data",
"//src/core:status_flag",
"//src/core:status_helper",
"//src/core:strerror",
"//src/core:thread_quota",
"//src/core:time",
"//src/core:transport_fwd",
"//src/core:try_join",
"//src/core:try_seq",
"//src/core:useful",
"//src/core:windows_event_engine",
"//src/core:windows_event_engine_listener",
],
)
@ -2231,7 +2230,6 @@ grpc_cc_library(
"//src/core:lib/security/credentials/plugin/plugin_credentials.cc",
"//src/core:lib/security/security_connector/security_connector.cc",
"//src/core:lib/security/transport/client_auth_filter.cc",
"//src/core:lib/security/transport/legacy_server_auth_filter.cc",
"//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",
@ -2270,6 +2268,7 @@ grpc_cc_library(
"exec_ctx",
"gpr",
"grpc_base",
"grpc_core_credentials_header",
"grpc_public_hdrs",
"grpc_trace",
"handshaker",
@ -2331,6 +2330,14 @@ grpc_cc_library(
],
)
# TODO(hork): split credentials types into their own source files and targets.
grpc_cc_library(
name = "grpc_core_credentials_header",
hdrs = ["include/grpc/credentials.h"],
language = "c++",
visibility = ["@grpc:core_credentials"],
)
grpc_cc_library(
name = "alts_util",
srcs = [
@ -2350,14 +2357,15 @@ grpc_cc_library(
"//src/core:tsi/alts/handshaker/transport_security_common_api.h",
],
external_deps = [
"upb_base_lib",
"upb_mem_lib",
"@com_google_protobuf//upb:base",
"@com_google_protobuf//upb:mem",
],
language = "c++",
visibility = ["@grpc:tsi"],
deps = [
"alts_upb",
"gpr",
"grpc_core_credentials_header",
"grpc_public_hdrs",
],
)
@ -2368,8 +2376,8 @@ grpc_cc_library(
"libssl",
"libcrypto",
"absl/strings",
"upb_base_lib",
"upb_mem_lib",
"@com_google_protobuf//upb:base",
"@com_google_protobuf//upb:mem",
],
language = "c++",
tags = ["nofixdeps"],
@ -2391,7 +2399,6 @@ grpc_cc_library(
"src/cpp/client/secure_credentials.cc",
"src/cpp/common/auth_property_iterator.cc",
"src/cpp/common/secure_auth_context.cc",
"src/cpp/common/secure_channel_arguments.cc",
"src/cpp/common/secure_create_auth_context.cc",
"src/cpp/common/tls_certificate_provider.cc",
"src/cpp/common/tls_certificate_verifier.cc",
@ -2406,6 +2413,7 @@ grpc_cc_library(
],
external_deps = [
"absl/base:core_headers",
"absl/functional:any_invocable",
"absl/status",
"absl/status:statusor",
"absl/strings",
@ -2413,8 +2421,8 @@ grpc_cc_library(
"absl/synchronization",
"absl/memory",
"absl/types:optional",
"upb_base_lib",
"upb_mem_lib",
"@com_google_protobuf//upb:base",
"@com_google_protobuf//upb:mem",
"protobuf_headers",
"absl/container:inlined_vector",
],
@ -2431,6 +2439,7 @@ grpc_cc_library(
"grpc",
"grpc++_codegen_proto",
"grpc_base",
"grpc_core_credentials_header",
"grpc_credentials_util",
"grpc_health_upb",
"grpc_public_hdrs",
@ -2486,14 +2495,15 @@ grpc_cc_library(
hdrs = GRPCXX_HDRS,
external_deps = [
"absl/base:core_headers",
"absl/functional:any_invocable",
"absl/status",
"absl/status:statusor",
"absl/strings",
"absl/synchronization",
"absl/types:optional",
"absl/memory",
"upb_base_lib",
"upb_mem_lib",
"@com_google_protobuf//upb:base",
"@com_google_protobuf//upb:mem",
"absl/strings:str_format",
"protobuf_headers",
],
@ -2511,8 +2521,10 @@ grpc_cc_library(
"exec_ctx",
"gpr",
"grpc_base",
"grpc_core_credentials_header",
"grpc_health_upb",
"grpc_public_hdrs",
"grpc_security_base",
"grpc_service_config_impl",
"grpc_trace",
"grpc_unsecure",
@ -2665,8 +2677,8 @@ grpc_cc_library(
"absl/strings",
"absl/time",
"absl/types:optional",
"upb_base_lib",
"upb_mem_lib",
"@com_google_protobuf//upb:base",
"@com_google_protobuf//upb:mem",
],
language = "c++",
public_hdrs = [
@ -3027,6 +3039,7 @@ grpc_cc_library(
"debug_location",
"gpr_platform",
"ref_counted_ptr",
"//src/core:down_cast",
"//src/core:ref_counted",
],
)
@ -3059,6 +3072,7 @@ grpc_cc_library(
deps = [
"debug_location",
"gpr_platform",
"//src/core:down_cast",
],
)
@ -3500,8 +3514,8 @@ grpc_cc_library(
"absl/base:core_headers",
"absl/status",
"absl/strings",
"upb_base_lib",
"upb_mem_lib",
"@com_google_protobuf//upb:base",
"@com_google_protobuf//upb:mem",
],
language = "c++",
deps = [
@ -3518,7 +3532,6 @@ grpc_cc_library(
"xds_orca_service_upb",
"xds_orca_upb",
"//src/core:backend_metric_parser",
"//src/core:client_channel_channelz",
"//src/core:closure",
"//src/core:error",
"//src/core:grpc_backend_metric_data",
@ -3601,9 +3614,9 @@ grpc_cc_library(
"absl/strings:cord",
"absl/types:optional",
"absl/types:variant",
"upb_base_lib",
"upb_mem_lib",
"upb_message_lib",
"@com_google_protobuf//upb:base",
"@com_google_protobuf//upb:mem",
"@com_google_protobuf//upb:message",
],
language = "c++",
visibility = ["@grpc:client_channel"],
@ -3652,7 +3665,6 @@ grpc_cc_library(
"//src/core:channel_init",
"//src/core:channel_stack_type",
"//src/core:client_channel_backup_poller",
"//src/core:client_channel_channelz",
"//src/core:client_channel_internal_header",
"//src/core:client_channel_service_config",
"//src/core:closure",
@ -3859,6 +3871,7 @@ grpc_cc_library(
"exec_ctx",
"gpr",
"grpc_base",
"grpc_core_credentials_header",
"grpc_public_hdrs",
"grpc_security_base",
"handshaker",
@ -3928,6 +3941,7 @@ grpc_cc_library(
"exec_ctx",
"gpr",
"grpc_base",
"grpc_core_credentials_header",
"grpc_credentials_util",
"grpc_security_base",
"grpc_trace",
@ -3940,7 +3954,6 @@ grpc_cc_library(
"//src/core:arena_promise",
"//src/core:closure",
"//src/core:error",
"//src/core:experiments",
"//src/core:gpr_manual_constructor",
"//src/core:httpcli_ssl_credentials",
"//src/core:iomgr_fwd",
@ -4004,8 +4017,8 @@ grpc_cc_library(
],
external_deps = [
"absl/strings",
"upb_base_lib",
"upb_mem_lib",
"@com_google_protobuf//upb:base",
"@com_google_protobuf//upb:mem",
],
language = "c++",
visibility = ["@grpc:public"],
@ -4017,6 +4030,7 @@ grpc_cc_library(
"exec_ctx",
"gpr",
"grpc_base",
"grpc_core_credentials_header",
"grpc_security_base",
"tsi_alts_frame_protector",
"tsi_base",
@ -4134,6 +4148,7 @@ grpc_cc_library(
"config_vars",
"gpr",
"grpc_base",
"grpc_core_credentials_header",
"grpc_credentials_util",
"grpc_public_hdrs",
"grpc_security_base",
@ -4158,13 +4173,11 @@ grpc_cc_library(
"//src/core:ext/filters/http/client/http_client_filter.cc",
"//src/core:ext/filters/http/http_filters_plugin.cc",
"//src/core:ext/filters/http/message_compress/compression_filter.cc",
"//src/core:ext/filters/http/message_compress/legacy_compression_filter.cc",
"//src/core:ext/filters/http/server/http_server_filter.cc",
],
hdrs = [
"//src/core:ext/filters/http/client/http_client_filter.h",
"//src/core:ext/filters/http/message_compress/compression_filter.h",
"//src/core:ext/filters/http/message_compress/legacy_compression_filter.h",
"//src/core:ext/filters/http/server/http_server_filter.h",
],
external_deps = [
@ -4245,6 +4258,7 @@ grpc_cc_library(
"//src/core:ext/xds/xds_channel_args.h",
"//src/core:ext/xds/xds_client.h",
"//src/core:ext/xds/xds_client_stats.h",
"//src/core:ext/xds/xds_metrics.h",
"//src/core:ext/xds/xds_resource_type.h",
"//src/core:ext/xds/xds_resource_type_impl.h",
"//src/core:ext/xds/xds_transport.h",
@ -4258,17 +4272,18 @@ grpc_cc_library(
"absl/strings",
"absl/strings:str_format",
"absl/types:optional",
"upb_base_lib",
"upb_mem_lib",
"upb_textformat_lib",
"upb_json_lib",
"upb_reflection",
"@com_google_protobuf//upb:base",
"@com_google_protobuf//upb:mem",
"@com_google_protobuf//upb:text",
"@com_google_protobuf//upb:json",
"@com_google_protobuf//upb:reflection",
],
language = "c++",
tags = ["nofixdeps"],
visibility = ["@grpc:xds_client_core"],
deps = [
"backoff",
"call_tracer",
"debug_location",
"endpoint_addresses",
"envoy_admin_upb",
@ -4721,7 +4736,7 @@ grpc_cc_library(
visibility = ["@grpc:chaotic_good"],
deps = [
"gpr",
"grpc++_public_hdrs",
"grpc++_base",
"grpc_public_hdrs",
"//src/core:chaotic_good_connector",
"//src/core:chaotic_good_server",

804
CMakeLists.txt generated

File diff suppressed because it is too large Load Diff

48
Makefile generated

@ -367,8 +367,8 @@ E = @echo
Q = @
endif
CORE_VERSION = 39.0.0
CPP_VERSION = 1.63.0-dev
CORE_VERSION = 40.0.0
CPP_VERSION = 1.64.0-dev
CPPFLAGS_NO_ARCH += $(addprefix -I, $(INCLUDES)) $(addprefix -D, $(DEFINES))
CPPFLAGS += $(CPPFLAGS_NO_ARCH) $(ARCH_FLAGS)
@ -404,7 +404,7 @@ SHARED_EXT_CORE = dll
SHARED_EXT_CPP = dll
SHARED_PREFIX =
SHARED_VERSION_CORE = -39
SHARED_VERSION_CORE = -40
SHARED_VERSION_CPP = -1
else ifeq ($(SYSTEM),Darwin)
EXECUTABLE_SUFFIX =
@ -666,8 +666,10 @@ clean:
# deps: ['cares', 'libssl', 'z']
# transitive_deps: ['cares', 'libssl', 'z']
LIBGRPC_SRC = \
src/core/channelz/channel_trace.cc \
src/core/channelz/channelz.cc \
src/core/channelz/channelz_registry.cc \
src/core/client_channel/backup_poller.cc \
src/core/client_channel/client_channel_channelz.cc \
src/core/client_channel/client_channel_factory.cc \
src/core/client_channel/client_channel_filter.cc \
src/core/client_channel/client_channel_plugin.cc \
@ -686,7 +688,6 @@ LIBGRPC_SRC = \
src/core/client_channel/subchannel_stream_client.cc \
src/core/ext/filters/backend_metrics/backend_metric_filter.cc \
src/core/ext/filters/census/grpc_context.cc \
src/core/ext/filters/channel_idle/channel_idle_filter.cc \
src/core/ext/filters/channel_idle/idle_filter_state.cc \
src/core/ext/filters/channel_idle/legacy_channel_idle_filter.cc \
src/core/ext/filters/deadline/deadline_filter.cc \
@ -696,7 +697,6 @@ LIBGRPC_SRC = \
src/core/ext/filters/http/client_authority_filter.cc \
src/core/ext/filters/http/http_filters_plugin.cc \
src/core/ext/filters/http/message_compress/compression_filter.cc \
src/core/ext/filters/http/message_compress/legacy_compression_filter.cc \
src/core/ext/filters/http/server/http_server_filter.cc \
src/core/ext/filters/message_size/message_size_filter.cc \
src/core/ext/filters/rbac/rbac_filter.cc \
@ -1094,9 +1094,6 @@ LIBGRPC_SRC = \
src/core/lib/channel/channel_stack_builder.cc \
src/core/lib/channel/channel_stack_builder_impl.cc \
src/core/lib/channel/channel_stack_trace.cc \
src/core/lib/channel/channel_trace.cc \
src/core/lib/channel/channelz.cc \
src/core/lib/channel/channelz_registry.cc \
src/core/lib/channel/connected_channel.cc \
src/core/lib/channel/metrics.cc \
src/core/lib/channel/promise_based_filter.cc \
@ -1375,13 +1372,11 @@ LIBGRPC_SRC = \
src/core/lib/security/security_connector/ssl_utils.cc \
src/core/lib/security/security_connector/tls/tls_security_connector.cc \
src/core/lib/security/transport/client_auth_filter.cc \
src/core/lib/security/transport/legacy_server_auth_filter.cc \
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/tsi_error.cc \
src/core/lib/security/util/json_util.cc \
src/core/lib/slice/b64.cc \
src/core/lib/slice/percent_encoding.cc \
src/core/lib/slice/slice.cc \
src/core/lib/slice/slice_buffer.cc \
@ -1411,12 +1406,12 @@ LIBGRPC_SRC = \
src/core/lib/surface/wait_for_cq_end_op.cc \
src/core/lib/transport/batch_builder.cc \
src/core/lib/transport/bdp_estimator.cc \
src/core/lib/transport/call_factory.cc \
src/core/lib/transport/call_filters.cc \
src/core/lib/transport/call_final_info.cc \
src/core/lib/transport/call_size_estimator.cc \
src/core/lib/transport/call_spine.cc \
src/core/lib/transport/connectivity_state.cc \
src/core/lib/transport/endpoint_info_handshaker.cc \
src/core/lib/transport/error_utils.cc \
src/core/lib/transport/handshaker.cc \
src/core/lib/transport/handshaker_registry.cc \
@ -1539,6 +1534,7 @@ LIBGRPC_SRC = \
third_party/abseil-cpp/absl/debugging/internal/address_is_readable.cc \
third_party/abseil-cpp/absl/debugging/internal/demangle.cc \
third_party/abseil-cpp/absl/debugging/internal/elf_mem_image.cc \
third_party/abseil-cpp/absl/debugging/internal/examine_stack.cc \
third_party/abseil-cpp/absl/debugging/internal/vdso_support.cc \
third_party/abseil-cpp/absl/debugging/stacktrace.cc \
third_party/abseil-cpp/absl/debugging/symbolize.cc \
@ -1553,6 +1549,18 @@ LIBGRPC_SRC = \
third_party/abseil-cpp/absl/hash/internal/city.cc \
third_party/abseil-cpp/absl/hash/internal/hash.cc \
third_party/abseil-cpp/absl/hash/internal/low_level_hash.cc \
third_party/abseil-cpp/absl/log/globals.cc \
third_party/abseil-cpp/absl/log/internal/conditions.cc \
third_party/abseil-cpp/absl/log/internal/fnmatch.cc \
third_party/abseil-cpp/absl/log/internal/globals.cc \
third_party/abseil-cpp/absl/log/internal/log_format.cc \
third_party/abseil-cpp/absl/log/internal/log_message.cc \
third_party/abseil-cpp/absl/log/internal/log_sink_set.cc \
third_party/abseil-cpp/absl/log/internal/nullguard.cc \
third_party/abseil-cpp/absl/log/internal/proto.cc \
third_party/abseil-cpp/absl/log/internal/vlog_config.cc \
third_party/abseil-cpp/absl/log/log_entry.cc \
third_party/abseil-cpp/absl/log/log_sink.cc \
third_party/abseil-cpp/absl/numeric/int128.cc \
third_party/abseil-cpp/absl/profiling/internal/exponential_biased.cc \
third_party/abseil-cpp/absl/random/discrete_distribution.cc \
@ -1674,6 +1682,10 @@ LIBGRPC_SRC = \
third_party/upb/upb/mem/arena.c \
third_party/upb/upb/message/accessors.c \
third_party/upb/upb/message/array.c \
third_party/upb/upb/message/compat.c \
third_party/upb/upb/message/copy.c \
third_party/upb/upb/message/internal/extension.c \
third_party/upb/upb/message/internal/message.c \
third_party/upb/upb/message/map.c \
third_party/upb/upb/message/map_sorter.c \
third_party/upb/upb/message/message.c \
@ -1704,19 +1716,18 @@ LIBGRPC_SRC = \
third_party/upb/upb/reflection/service_def.c \
third_party/upb/upb/text/encode.c \
third_party/upb/upb/wire/decode.c \
third_party/upb/upb/wire/decode_fast.c \
third_party/upb/upb/wire/encode.c \
third_party/upb/upb/wire/eps_copy_input_stream.c \
third_party/upb/upb/wire/internal/decode_fast.c \
third_party/upb/upb/wire/reader.c \
third_party/utf8_range/naive.c \
third_party/utf8_range/range2-neon.c \
third_party/utf8_range/range2-sse.c \
third_party/utf8_range/utf8_range.c \
PUBLIC_HEADERS_C += \
include/grpc/byte_buffer.h \
include/grpc/byte_buffer_reader.h \
include/grpc/census.h \
include/grpc/compression.h \
include/grpc/credentials.h \
include/grpc/event_engine/endpoint_config.h \
include/grpc/event_engine/event_engine.h \
include/grpc/event_engine/extensible.h \
@ -1775,6 +1786,7 @@ PUBLIC_HEADERS_C += \
include/grpc/support/json.h \
include/grpc/support/log.h \
include/grpc/support/log_windows.h \
include/grpc/support/metrics.h \
include/grpc/support/port_platform.h \
include/grpc/support/string_util.h \
include/grpc/support/sync.h \
@ -1823,8 +1835,8 @@ $(LIBDIR)/$(CONFIG)/libgrpc$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE): $(LIBGRPC_
ifeq ($(SYSTEM),Darwin)
$(Q) $(LDXX) $(LDFLAGS) -L$(LIBDIR)/$(CONFIG) -install_name $(SHARED_PREFIX)grpc$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) -dynamiclib -o $(LIBDIR)/$(CONFIG)/libgrpc$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBGRPC_OBJS) $(LIBDIR)/$(CONFIG)/libcares.a $(OPENSSL_MERGE_LIBS) $(ZLIB_MERGE_LIBS) $(LDLIBS_SECURE) $(LDLIBS)
else
$(Q) $(LDXX) $(LDFLAGS) -L$(LIBDIR)/$(CONFIG) -shared -Wl,-soname,libgrpc.so.39 -o $(LIBDIR)/$(CONFIG)/libgrpc$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBGRPC_OBJS) $(LIBDIR)/$(CONFIG)/libcares.a $(OPENSSL_MERGE_LIBS) $(ZLIB_MERGE_LIBS) $(LDLIBS_SECURE) $(LDLIBS)
$(Q) ln -sf $(SHARED_PREFIX)grpc$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBDIR)/$(CONFIG)/libgrpc$(SHARED_VERSION_CORE).so.39
$(Q) $(LDXX) $(LDFLAGS) -L$(LIBDIR)/$(CONFIG) -shared -Wl,-soname,libgrpc.so.40 -o $(LIBDIR)/$(CONFIG)/libgrpc$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBGRPC_OBJS) $(LIBDIR)/$(CONFIG)/libcares.a $(OPENSSL_MERGE_LIBS) $(ZLIB_MERGE_LIBS) $(LDLIBS_SECURE) $(LDLIBS)
$(Q) ln -sf $(SHARED_PREFIX)grpc$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBDIR)/$(CONFIG)/libgrpc$(SHARED_VERSION_CORE).so.40
$(Q) ln -sf $(SHARED_PREFIX)grpc$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBDIR)/$(CONFIG)/libgrpc$(SHARED_VERSION_CORE).so
endif
endif

59
Package.swift generated

@ -23,8 +23,8 @@ let package = Package(
],
dependencies: [
.package(url: "https://github.com/firebase/abseil-cpp-SwiftPM.git", "0.20230802.0"..<"0.20230803.0"),
.package(url: "https://github.com/firebase/boringssl-SwiftPM.git", "0.9.0"..<"0.10.0"),
.package(url: "https://github.com/firebase/abseil-cpp-SwiftPM.git", "0.20240116.1"..<"0.20240117.0"),
.package(url: "https://github.com/firebase/boringssl-SwiftPM.git", "0.32.0"..<"0.33.0"),
],
targets: [
@ -45,6 +45,7 @@ let package = Package(
"include/grpc/byte_buffer_reader.h",
"include/grpc/census.h",
"include/grpc/compression.h",
"include/grpc/credentials.h",
"include/grpc/event_engine/endpoint_config.h",
"include/grpc/event_engine/event_engine.h",
"include/grpc/event_engine/extensible.h",
@ -104,6 +105,7 @@ let package = Package(
"include/grpc/support/json.h",
"include/grpc/support/log.h",
"include/grpc/support/log_windows.h",
"include/grpc/support/metrics.h",
"include/grpc/support/port_platform.h",
"include/grpc/support/string_util.h",
"include/grpc/support/sync.h",
@ -115,10 +117,14 @@ let package = Package(
"include/grpc/support/thd_id.h",
"include/grpc/support/time.h",
"include/grpc/support/workaround_list.h",
"src/core/channelz/channel_trace.cc",
"src/core/channelz/channel_trace.h",
"src/core/channelz/channelz.cc",
"src/core/channelz/channelz.h",
"src/core/channelz/channelz_registry.cc",
"src/core/channelz/channelz_registry.h",
"src/core/client_channel/backup_poller.cc",
"src/core/client_channel/backup_poller.h",
"src/core/client_channel/client_channel_channelz.cc",
"src/core/client_channel/client_channel_channelz.h",
"src/core/client_channel/client_channel_factory.cc",
"src/core/client_channel/client_channel_factory.h",
"src/core/client_channel/client_channel_filter.cc",
@ -157,8 +163,6 @@ let package = Package(
"src/core/ext/filters/backend_metrics/backend_metric_filter.h",
"src/core/ext/filters/backend_metrics/backend_metric_provider.h",
"src/core/ext/filters/census/grpc_context.cc",
"src/core/ext/filters/channel_idle/channel_idle_filter.cc",
"src/core/ext/filters/channel_idle/channel_idle_filter.h",
"src/core/ext/filters/channel_idle/idle_filter_state.cc",
"src/core/ext/filters/channel_idle/idle_filter_state.h",
"src/core/ext/filters/channel_idle/legacy_channel_idle_filter.cc",
@ -176,8 +180,6 @@ let package = Package(
"src/core/ext/filters/http/http_filters_plugin.cc",
"src/core/ext/filters/http/message_compress/compression_filter.cc",
"src/core/ext/filters/http/message_compress/compression_filter.h",
"src/core/ext/filters/http/message_compress/legacy_compression_filter.cc",
"src/core/ext/filters/http/message_compress/legacy_compression_filter.h",
"src/core/ext/filters/http/server/http_server_filter.cc",
"src/core/ext/filters/http/server/http_server_filter.h",
"src/core/ext/filters/message_size/message_size_filter.cc",
@ -1110,6 +1112,7 @@ let package = Package(
"src/core/ext/xds/xds_lb_policy_registry.h",
"src/core/ext/xds/xds_listener.cc",
"src/core/ext/xds/xds_listener.h",
"src/core/ext/xds/xds_metrics.h",
"src/core/ext/xds/xds_resource_type.h",
"src/core/ext/xds/xds_resource_type_impl.h",
"src/core/ext/xds/xds_route_config.cc",
@ -1145,12 +1148,6 @@ let package = Package(
"src/core/lib/channel/channel_stack_builder_impl.h",
"src/core/lib/channel/channel_stack_trace.cc",
"src/core/lib/channel/channel_stack_trace.h",
"src/core/lib/channel/channel_trace.cc",
"src/core/lib/channel/channel_trace.h",
"src/core/lib/channel/channelz.cc",
"src/core/lib/channel/channelz.h",
"src/core/lib/channel/channelz_registry.cc",
"src/core/lib/channel/channelz_registry.h",
"src/core/lib/channel/connected_channel.cc",
"src/core/lib/channel/connected_channel.h",
"src/core/lib/channel/context.h",
@ -1159,6 +1156,7 @@ let package = Package(
"src/core/lib/channel/promise_based_filter.cc",
"src/core/lib/channel/promise_based_filter.h",
"src/core/lib/channel/server_call_tracer_filter.cc",
"src/core/lib/channel/server_call_tracer_filter.h",
"src/core/lib/channel/status_util.cc",
"src/core/lib/channel/status_util.h",
"src/core/lib/channel/tcp_tracer.h",
@ -1201,6 +1199,7 @@ let package = Package(
"src/core/lib/event_engine/default_event_engine_factory.cc",
"src/core/lib/event_engine/default_event_engine_factory.h",
"src/core/lib/event_engine/event_engine.cc",
"src/core/lib/event_engine/event_engine_context.h",
"src/core/lib/event_engine/extensions/can_track_errors.h",
"src/core/lib/event_engine/extensions/chaotic_good_extension.h",
"src/core/lib/event_engine/extensions/supports_fd.h",
@ -1739,7 +1738,6 @@ let package = Package(
"src/core/lib/security/security_connector/tls/tls_security_connector.h",
"src/core/lib/security/transport/auth_filters.h",
"src/core/lib/security/transport/client_auth_filter.cc",
"src/core/lib/security/transport/legacy_server_auth_filter.cc",
"src/core/lib/security/transport/secure_endpoint.cc",
"src/core/lib/security/transport/secure_endpoint.h",
"src/core/lib/security/transport/security_handshaker.cc",
@ -1749,8 +1747,6 @@ let package = Package(
"src/core/lib/security/transport/tsi_error.h",
"src/core/lib/security/util/json_util.cc",
"src/core/lib/security/util/json_util.h",
"src/core/lib/slice/b64.cc",
"src/core/lib/slice/b64.h",
"src/core/lib/slice/percent_encoding.cc",
"src/core/lib/slice/percent_encoding.h",
"src/core/lib/slice/slice.cc",
@ -1807,8 +1803,6 @@ let package = Package(
"src/core/lib/transport/batch_builder.h",
"src/core/lib/transport/bdp_estimator.cc",
"src/core/lib/transport/bdp_estimator.h",
"src/core/lib/transport/call_factory.cc",
"src/core/lib/transport/call_factory.h",
"src/core/lib/transport/call_filters.cc",
"src/core/lib/transport/call_filters.h",
"src/core/lib/transport/call_final_info.cc",
@ -1820,6 +1814,8 @@ let package = Package(
"src/core/lib/transport/connectivity_state.cc",
"src/core/lib/transport/connectivity_state.h",
"src/core/lib/transport/custom_metadata.h",
"src/core/lib/transport/endpoint_info_handshaker.cc",
"src/core/lib/transport/endpoint_info_handshaker.h",
"src/core/lib/transport/error_utils.cc",
"src/core/lib/transport/error_utils.h",
"src/core/lib/transport/handshaker.cc",
@ -1896,7 +1892,6 @@ let package = Package(
"src/core/load_balancing/rls/rls.h",
"src/core/load_balancing/round_robin/round_robin.cc",
"src/core/load_balancing/subchannel_interface.h",
"src/core/load_balancing/subchannel_list.h",
"src/core/load_balancing/weighted_round_robin/static_stride_scheduler.cc",
"src/core/load_balancing/weighted_round_robin/static_stride_scheduler.h",
"src/core/load_balancing/weighted_round_robin/weighted_round_robin.cc",
@ -2058,11 +2053,13 @@ let package = Package(
"third_party/re2/util/utf.h",
"third_party/re2/util/util.h",
"third_party/upb/upb/base/descriptor_constants.h",
"third_party/upb/upb/base/internal/endian.h",
"third_party/upb/upb/base/internal/log2.h",
"third_party/upb/upb/base/status.c",
"third_party/upb/upb/base/status.h",
"third_party/upb/upb/base/status.hpp",
"third_party/upb/upb/base/string_view.h",
"third_party/upb/upb/base/upcast.h",
"third_party/upb/upb/generated_code_support.h",
"third_party/upb/upb/hash/common.c",
"third_party/upb/upb/hash/common.h",
@ -2090,13 +2087,20 @@ let package = Package(
"third_party/upb/upb/message/accessors.h",
"third_party/upb/upb/message/array.c",
"third_party/upb/upb/message/array.h",
"third_party/upb/upb/message/compat.c",
"third_party/upb/upb/message/compat.h",
"third_party/upb/upb/message/copy.c",
"third_party/upb/upb/message/copy.h",
"third_party/upb/upb/message/internal/accessors.h",
"third_party/upb/upb/message/internal/array.h",
"third_party/upb/upb/message/internal/extension.c",
"third_party/upb/upb/message/internal/extension.h",
"third_party/upb/upb/message/internal/map.h",
"third_party/upb/upb/message/internal/map_entry.h",
"third_party/upb/upb/message/internal/map_sorter.h",
"third_party/upb/upb/message/internal/message.c",
"third_party/upb/upb/message/internal/message.h",
"third_party/upb/upb/message/internal/tagged_ptr.h",
"third_party/upb/upb/message/internal/types.h",
"third_party/upb/upb/message/map.c",
"third_party/upb/upb/message/map.h",
@ -2105,7 +2109,6 @@ let package = Package(
"third_party/upb/upb/message/message.c",
"third_party/upb/upb/message/message.h",
"third_party/upb/upb/message/tagged_ptr.h",
"third_party/upb/upb/message/types.h",
"third_party/upb/upb/message/value.h",
"third_party/upb/upb/mini_descriptor/build_enum.c",
"third_party/upb/upb/mini_descriptor/build_enum.h",
@ -2133,6 +2136,7 @@ let package = Package(
"third_party/upb/upb/mini_table/internal/file.h",
"third_party/upb/upb/mini_table/internal/message.c",
"third_party/upb/upb/mini_table/internal/message.h",
"third_party/upb/upb/mini_table/internal/size_log2.h",
"third_party/upb/upb/mini_table/internal/sub.h",
"third_party/upb/upb/mini_table/message.c",
"third_party/upb/upb/mini_table/message.h",
@ -2178,6 +2182,7 @@ let package = Package(
"third_party/upb/upb/reflection/internal/service_def.h",
"third_party/upb/upb/reflection/internal/strdup2.c",
"third_party/upb/upb/reflection/internal/strdup2.h",
"third_party/upb/upb/reflection/internal/upb_edition_defaults.h",
"third_party/upb/upb/reflection/message.c",
"third_party/upb/upb/reflection/message.h",
"third_party/upb/upb/reflection/message.hpp",
@ -2195,21 +2200,19 @@ let package = Package(
"third_party/upb/upb/text/encode.h",
"third_party/upb/upb/wire/decode.c",
"third_party/upb/upb/wire/decode.h",
"third_party/upb/upb/wire/decode_fast.c",
"third_party/upb/upb/wire/decode_fast.h",
"third_party/upb/upb/wire/encode.c",
"third_party/upb/upb/wire/encode.h",
"third_party/upb/upb/wire/eps_copy_input_stream.c",
"third_party/upb/upb/wire/eps_copy_input_stream.h",
"third_party/upb/upb/wire/internal/constants.h",
"third_party/upb/upb/wire/internal/decode.h",
"third_party/upb/upb/wire/internal/swap.h",
"third_party/upb/upb/wire/internal/decode_fast.c",
"third_party/upb/upb/wire/internal/decode_fast.h",
"third_party/upb/upb/wire/internal/decoder.h",
"third_party/upb/upb/wire/internal/reader.h",
"third_party/upb/upb/wire/reader.c",
"third_party/upb/upb/wire/reader.h",
"third_party/upb/upb/wire/types.h",
"third_party/utf8_range/naive.c",
"third_party/utf8_range/range2-neon.c",
"third_party/utf8_range/range2-sse.c",
"third_party/utf8_range/utf8_range.c",
"third_party/utf8_range/utf8_range.h",
"third_party/xxhash/xxhash.h",
],

@ -27,19 +27,34 @@ custom_exec_properties(
load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
http_archive(
name = "build_bazel_rules_android",
sha256 = "cd06d15dd8bb59926e4d65f9003bfc20f9da4b2519985c27e190cddc8b7a7806",
strip_prefix = "rules_android-0.1.1",
urls = ["https://github.com/bazelbuild/rules_android/archive/v0.1.1.zip"],
name = "platforms",
sha256 = "8150406605389ececb6da07cbcb509d5637a3ab9a24bc69b1101531367d89d74",
urls = ["https://github.com/bazelbuild/platforms/releases/download/0.0.8/platforms-0.0.8.tar.gz"],
)
load("//third_party/android:android_configure.bzl", "android_configure")
RULES_ANDROID_NDK_COMMIT = "010f4f17dd13a8baaaacc28ba6c8c2c75f54c68b"
android_configure(name = "local_config_android")
RULES_ANDROID_NDK_SHA = "2ab6a97748772f289331d75caaaee0593825935d1d9d982231a437fb8ab5a14d"
load("@local_config_android//:android_configure.bzl", "android_workspace")
http_archive(
name = "rules_android_ndk",
sha256 = RULES_ANDROID_NDK_SHA,
strip_prefix = "rules_android_ndk-%s" % RULES_ANDROID_NDK_COMMIT,
url = "https://github.com/bazelbuild/rules_android_ndk/archive/%s.zip" % RULES_ANDROID_NDK_COMMIT,
)
android_sdk_repository(
name = "androidsdk",
build_tools_version = "34.0.0",
)
load("@rules_android_ndk//:rules.bzl", "android_ndk_repository")
android_ndk_repository(name = "androidndk")
android_workspace()
# Note that we intentionally avoid calling `register_toolchains("@androidndk//:all")`
# here, because the toolchain rule fails when $ANDROID_NDK_HOME is not set.
# Use `--extra_toolchains=@androidndk//:all` to manually register it when building for Android.
# Prevents bazel's '...' expansion from including the following folder.
# This is required because the BUILD file in the following folder

@ -14,4 +14,4 @@
# AUTO-GENERATED FROM `$REPO_ROOT/templates/_metadata.py.template`!!!
__version__ = """1.63.0.dev0"""
__version__ = """1.64.0.dev0"""

@ -17,7 +17,6 @@
"""Dictionary of tags to experiments so we know when to test different experiments."""
EXPERIMENT_ENABLES = {
"absl_base64": "absl_base64",
"call_status_override_on_cancellation": "call_status_override_on_cancellation",
"call_v3": "call_v3",
"canary_client_privacy": "canary_client_privacy",
@ -33,13 +32,11 @@ EXPERIMENT_ENABLES = {
"multiping": "multiping",
"peer_state_based_framing": "peer_state_based_framing",
"pending_queue_cap": "pending_queue_cap",
"pick_first_happy_eyeballs": "pick_first_happy_eyeballs",
"pick_first_new": "pick_first_new",
"promise_based_client_call": "event_engine_client,event_engine_listener,promise_based_client_call",
"promise_based_server_call": "promise_based_server_call",
"chaotic_good": "chaotic_good,event_engine_client,event_engine_listener,promise_based_client_call,promise_based_server_call",
"registered_method_lookup_in_transport": "registered_method_lookup_in_transport",
"promise_based_inproc_transport": "event_engine_client,event_engine_listener,promise_based_client_call,promise_based_inproc_transport,promise_based_server_call,registered_method_lookup_in_transport",
"round_robin_delegate_to_pick_first": "round_robin_delegate_to_pick_first",
"promise_based_inproc_transport": "event_engine_client,event_engine_listener,promise_based_client_call,promise_based_inproc_transport,promise_based_server_call",
"rstpit": "rstpit",
"schedule_cancellation_over_write": "schedule_cancellation_over_write",
"server_privacy": "server_privacy",
@ -47,13 +44,8 @@ EXPERIMENT_ENABLES = {
"tcp_rcv_lowat": "tcp_rcv_lowat",
"trace_record_callops": "trace_record_callops",
"unconstrained_max_quota_buffer_size": "unconstrained_max_quota_buffer_size",
"v3_backend_metric_filter": "v3_backend_metric_filter",
"v3_channel_idle_filters": "v3_channel_idle_filters",
"v3_compression_filter": "v3_compression_filter",
"v3_server_auth_filter": "v3_server_auth_filter",
"work_serializer_clears_time_cache": "work_serializer_clears_time_cache",
"work_serializer_dispatch": "event_engine_client,work_serializer_dispatch",
"wrr_delegate_to_pick_first": "wrr_delegate_to_pick_first",
}
EXPERIMENT_POLLERS = [
@ -67,9 +59,6 @@ EXPERIMENTS = {
"dbg": {
},
"off": {
"compression_test": [
"v3_compression_filter",
],
"core_end2end_test": [
"promise_based_server_call",
],
@ -103,28 +92,16 @@ EXPERIMENTS = {
"event_engine_listener",
],
"cpp_lb_end2end_test": [
"pick_first_happy_eyeballs",
"round_robin_delegate_to_pick_first",
"wrr_delegate_to_pick_first",
],
"credential_token_tests": [
"absl_base64",
"pick_first_new",
],
"event_engine_listener_test": [
"event_engine_listener",
],
"lb_unit_test": [
"pick_first_happy_eyeballs",
"round_robin_delegate_to_pick_first",
"wrr_delegate_to_pick_first",
],
"surface_registered_method_lookup": [
"registered_method_lookup_in_transport",
"pick_first_new",
],
"xds_end2end_test": [
"pick_first_happy_eyeballs",
"round_robin_delegate_to_pick_first",
"wrr_delegate_to_pick_first",
"pick_first_new",
],
},
},
@ -132,9 +109,6 @@ EXPERIMENTS = {
"dbg": {
},
"off": {
"compression_test": [
"v3_compression_filter",
],
"core_end2end_test": [
"promise_based_server_call",
],
@ -165,25 +139,13 @@ EXPERIMENTS = {
},
"on": {
"cpp_lb_end2end_test": [
"pick_first_happy_eyeballs",
"round_robin_delegate_to_pick_first",
"wrr_delegate_to_pick_first",
],
"credential_token_tests": [
"absl_base64",
"pick_first_new",
],
"lb_unit_test": [
"pick_first_happy_eyeballs",
"round_robin_delegate_to_pick_first",
"wrr_delegate_to_pick_first",
],
"surface_registered_method_lookup": [
"registered_method_lookup_in_transport",
"pick_first_new",
],
"xds_end2end_test": [
"pick_first_happy_eyeballs",
"round_robin_delegate_to_pick_first",
"wrr_delegate_to_pick_first",
"pick_first_new",
],
},
},
@ -191,9 +153,6 @@ EXPERIMENTS = {
"dbg": {
},
"off": {
"compression_test": [
"v3_compression_filter",
],
"core_end2end_test": [
"chaotic_good",
"event_engine_client",
@ -243,33 +202,21 @@ EXPERIMENTS = {
"work_serializer_dispatch",
],
"cpp_lb_end2end_test": [
"pick_first_happy_eyeballs",
"round_robin_delegate_to_pick_first",
"wrr_delegate_to_pick_first",
],
"credential_token_tests": [
"absl_base64",
"pick_first_new",
],
"event_engine_listener_test": [
"event_engine_listener",
],
"lb_unit_test": [
"pick_first_happy_eyeballs",
"round_robin_delegate_to_pick_first",
"pick_first_new",
"work_serializer_dispatch",
"wrr_delegate_to_pick_first",
],
"resolver_component_tests_runner_invoker": [
"event_engine_dns",
],
"surface_registered_method_lookup": [
"registered_method_lookup_in_transport",
],
"xds_end2end_test": [
"pick_first_happy_eyeballs",
"round_robin_delegate_to_pick_first",
"pick_first_new",
"work_serializer_dispatch",
"wrr_delegate_to_pick_first",
],
},
},

@ -27,13 +27,13 @@
Contains macros used throughout the repo.
"""
load("@build_bazel_rules_apple//apple:ios.bzl", "ios_unit_test")
load("@build_bazel_rules_apple//apple/testing/default_runner:ios_test_runner.bzl", "ios_test_runner")
load("@com_google_protobuf//bazel:upb_proto_library.bzl", "upb_proto_library", "upb_proto_reflection_library")
load("//bazel:cc_grpc_library.bzl", "cc_grpc_library")
load("//bazel:copts.bzl", "GRPC_DEFAULT_COPTS")
load("//bazel:experiments.bzl", "EXPERIMENTS", "EXPERIMENT_ENABLES", "EXPERIMENT_POLLERS")
load("//bazel:test_experiments.bzl", "TEST_EXPERIMENTS", "TEST_EXPERIMENT_ENABLES", "TEST_EXPERIMENT_POLLERS")
load("@build_bazel_rules_apple//apple:ios.bzl", "ios_unit_test")
load("@build_bazel_rules_apple//apple/testing/default_runner:ios_test_runner.bzl", "ios_test_runner")
load("@com_google_protobuf//bazel:upb_proto_library.bzl", "upb_proto_library", "upb_proto_reflection_library")
# The set of pollers to test against if a test exercises polling
POLLERS = ["epoll1", "poll"]
@ -58,7 +58,9 @@ def if_windows(a):
def _get_external_deps(external_deps):
ret = []
for dep in external_deps:
if dep == "address_sorting":
if dep.startswith("@"):
ret.append(dep)
elif dep == "address_sorting":
ret.append("//third_party/address_sorting")
elif dep == "xxhash":
ret.append("//third_party/xxhash")
@ -77,6 +79,8 @@ def _get_external_deps(external_deps):
ret.append(dep.replace("otel/", "@io_opentelemetry_cpp//"))
elif dep.startswith("google_cloud_cpp"):
ret.append(dep.replace("google_cloud_cpp", "@google_cloud_cpp//"))
elif dep == "libprotobuf_mutator":
ret.append("@com_google_libprotobuf_mutator//:libprotobuf_mutator")
else:
ret.append("//external:" + dep)
return ret
@ -98,6 +102,7 @@ def _update_visibility(visibility):
"chaotic_good": PRIVATE,
"client_channel": PRIVATE,
"cli": PRIVATE,
"core_credentials": PRIVATE,
"debug_location": PRIVATE,
"endpoint_tests": PRIVATE,
"exec_ctx": PRIVATE,
@ -112,6 +117,7 @@ def _update_visibility(visibility):
"iomgr_internal_errqueue": PRIVATE,
"iomgr_buffer_list": PRIVATE,
"json_reader_legacy": PRIVATE,
"otel_plugin": PRIVATE,
"public": PUBLIC,
"ref_counted_ptr": PRIVATE,
"tcp_tracer": PRIVATE,
@ -120,6 +126,7 @@ def _update_visibility(visibility):
"tsi": PRIVATE,
"xds": PRIVATE,
"xds_client_core": PRIVATE,
"xds_end2end_test_utils": PRIVATE,
"grpc_python_observability": PRIVATE,
"event_engine_base_hdrs": PRIVATE,
"useful": PRIVATE,
@ -555,11 +562,22 @@ def grpc_cc_test(name, srcs = [], deps = [], external_deps = [], args = [], data
**test_args
)
native.cc_library(
name = "%s_TEST_LIBRARY" % name,
testonly = 1,
srcs = srcs,
deps = core_deps,
tags = tags,
)
for poller_config in expand_tests(name, srcs, core_deps, tags, args, exclude_pollers, uses_polling, uses_event_engine, flaky):
if poller_config["srcs"] != srcs:
fail("srcs changed")
if poller_config["deps"] != core_deps:
fail("deps changed: %r --> %r" % (deps, poller_config["deps"]))
native.cc_test(
name = poller_config["name"],
srcs = poller_config["srcs"],
deps = poller_config["deps"],
deps = ["%s_TEST_LIBRARY" % name],
tags = poller_config["tags"],
args = poller_config["args"],
env = poller_config["env"],

@ -20,56 +20,6 @@ load("@com_github_grpc_grpc//bazel:grpc_python_deps.bzl", "grpc_python_deps")
def grpc_deps():
"""Loads dependencies need to compile and test the grpc library."""
native.bind(
name = "upb_amalgamation_lib",
actual = "@com_google_protobuf//upb:amalgamation",
)
native.bind(
name = "upb_base_lib",
actual = "@com_google_protobuf//upb/base",
)
native.bind(
name = "upb_message_lib",
actual = "@com_google_protobuf//upb:message",
)
native.bind(
name = "upb_mem_lib",
actual = "@com_google_protobuf//upb/mem",
)
native.bind(
name = "upb_reflection",
actual = "@com_google_protobuf//upb:reflection",
)
native.bind(
name = "upb_lib_descriptor",
actual = "@com_google_protobuf//upb:descriptor_upb_proto",
)
native.bind(
name = "upb_lib_descriptor_reflection",
actual = "@com_google_protobuf//upb:descriptor_upb_proto_reflection",
)
native.bind(
name = "upb_textformat_lib",
actual = "@com_google_protobuf//upb/text",
)
native.bind(
name = "upb_json_lib",
actual = "@com_google_protobuf//upb/json",
)
native.bind(
name = "upb_generated_code_support__only_for_generated_code_do_not_use__i_give_permission_to_break_me",
actual = "@com_google_protobuf//upb:generated_code_support__only_for_generated_code_do_not_use__i_give_permission_to_break_me",
)
native.bind(
name = "libssl",
actual = "@boringssl//:ssl",
@ -263,12 +213,12 @@ def grpc_deps():
if "com_google_protobuf" not in native.existing_rules():
http_archive(
name = "com_google_protobuf",
sha256 = "70f480fe9cb0c6829dbf6be3c388103313aacb65de667b86d981bbc9eaedb905",
strip_prefix = "protobuf-7f94235e552599141950d7a4a3eaf93bc87d1b22",
sha256 = "387478260190c540388839a3449c635a69708d92fc38ea6e2364b1196db90ea5",
strip_prefix = "protobuf-2434ef2adf0c74149b9d547ac5fb545a1ff8b6b5",
urls = [
# https://github.com/protocolbuffers/protobuf/commits/v25.0
"https://storage.googleapis.com/grpc-bazel-mirror/github.com/protocolbuffers/protobuf/archive/7f94235e552599141950d7a4a3eaf93bc87d1b22.tar.gz",
"https://github.com/protocolbuffers/protobuf/archive/7f94235e552599141950d7a4a3eaf93bc87d1b22.tar.gz",
# https://github.com/protocolbuffers/protobuf/commits/v26.1
"https://storage.googleapis.com/grpc-bazel-mirror/github.com/protocolbuffers/protobuf/archive/2434ef2adf0c74149b9d547ac5fb545a1ff8b6b5.tar.gz",
"https://github.com/protocolbuffers/protobuf/archive/2434ef2adf0c74149b9d547ac5fb545a1ff8b6b5.tar.gz",
],
patches = [
"@com_github_grpc_grpc//third_party:protobuf.patch",

@ -1,2 +1,2 @@
6.4.0
7.0.0
7.1.0
6.5.0

@ -57,12 +57,12 @@ function upload {
# upload "github.com/google/boringssl/archive/1c2769383f027befac5b75b6cedd25daf3bf4dcf.tar.gz"
# bazel binaries used by the tools/bazel wrapper script
upload github.com/bazelbuild/bazel/releases/download/6.4.0/bazel-6.4.0-linux-x86_64
upload github.com/bazelbuild/bazel/releases/download/6.4.0/bazel-6.4.0-darwin-x86_64
upload github.com/bazelbuild/bazel/releases/download/6.4.0/bazel-6.4.0-windows-x86_64.exe
upload github.com/bazelbuild/bazel/releases/download/7.0.0/bazel-7.0.0-linux-x86_64
upload github.com/bazelbuild/bazel/releases/download/7.0.0/bazel-7.0.0-darwin-x86_64
upload github.com/bazelbuild/bazel/releases/download/7.0.0/bazel-7.0.0-windows-x86_64.exe
upload github.com/bazelbuild/bazel/releases/download/6.5.0/bazel-6.5.0-linux-x86_64
upload github.com/bazelbuild/bazel/releases/download/6.5.0/bazel-6.5.0-darwin-x86_64
upload github.com/bazelbuild/bazel/releases/download/6.5.0/bazel-6.5.0-windows-x86_64.exe
upload github.com/bazelbuild/bazel/releases/download/7.1.0/bazel-7.1.0-linux-x86_64
upload github.com/bazelbuild/bazel/releases/download/7.1.0/bazel-7.1.0-darwin-x86_64
upload github.com/bazelbuild/bazel/releases/download/7.1.0/bazel-7.1.0-windows-x86_64.exe
# Collect the github archives to mirror from grpc_deps.bzl
grep -o '"https://github.com/[^"]*"' bazel/grpc_deps.bzl | sed 's/^"https:\/\///' | sed 's/"$//' | while read -r line ; do

File diff suppressed because it is too large Load Diff

@ -13,5 +13,5 @@
# limitations under the License.
module GrpcBuildConfig
CORE_WINDOWS_DLL = '/tmp/libs/opt/grpc-39.dll'
CORE_WINDOWS_DLL = '/tmp/libs/opt/grpc-40.dll'
end

@ -12,11 +12,11 @@ settings:
'#08': Use "-preN" suffixes to identify pre-release versions
'#09': Per-language overrides are possible with (eg) ruby_version tag here
'#10': See the expand_version.py for all the quirks here
core_version: 39.0.0
core_version: 40.0.0
csharp_major_version: 2
g_stands_for: giggle
protobuf_version: 3.25.1
version: 1.63.0-dev
g_stands_for: grateful
protobuf_version: 3.26.1
version: 1.64.0-dev
configs:
asan:
CC: clang

@ -12,9 +12,20 @@
# See the License for the specific language governing permissions and
# limitations under the License.
find_package(systemd)
if(TARGET systemd)
set(_gRPC_SYSTEMD_LIBRARIES systemd ${SYSTEMD_LINK_LIBRARIES})
add_definitions(-DHAVE_LIBSYSTEMD)
set(gRPC_USE_SYSTEMD "AUTO" CACHE STRING "Build with libsystemd support if available. Can be ON, OFF or AUTO")
if (NOT gRPC_USE_SYSTEMD STREQUAL "OFF")
if (gRPC_USE_SYSTEMD STREQUAL "ON")
find_package(systemd REQUIRED)
elseif (gRPC_USE_SYSTEMD STREQUAL "AUTO")
find_package(systemd)
else()
message(FATAL_ERROR "Unknown value for gRPC_USE_SYSTEMD = ${gRPC_USE_SYSTEMD}")
endif()
if(TARGET systemd)
set(_gRPC_SYSTEMD_LIBRARIES systemd ${SYSTEMD_LINK_LIBRARIES})
add_definitions(-DHAVE_LIBSYSTEMD)
endif()
set(_gRPC_FIND_SYSTEMD "if(NOT systemd_FOUND)\n find_package(systemd)\nendif()")
endif()
set(_gRPC_FIND_SYSTEMD "if(NOT systemd_FOUND)\n find_package(systemd)\nendif()")

43
config.m4 generated

@ -41,8 +41,10 @@ if test "$PHP_GRPC" != "no"; then
PHP_SUBST(GRPC_SHARED_LIBADD)
PHP_NEW_EXTENSION(grpc,
src/core/channelz/channel_trace.cc \
src/core/channelz/channelz.cc \
src/core/channelz/channelz_registry.cc \
src/core/client_channel/backup_poller.cc \
src/core/client_channel/client_channel_channelz.cc \
src/core/client_channel/client_channel_factory.cc \
src/core/client_channel/client_channel_filter.cc \
src/core/client_channel/client_channel_plugin.cc \
@ -61,7 +63,6 @@ if test "$PHP_GRPC" != "no"; then
src/core/client_channel/subchannel_stream_client.cc \
src/core/ext/filters/backend_metrics/backend_metric_filter.cc \
src/core/ext/filters/census/grpc_context.cc \
src/core/ext/filters/channel_idle/channel_idle_filter.cc \
src/core/ext/filters/channel_idle/idle_filter_state.cc \
src/core/ext/filters/channel_idle/legacy_channel_idle_filter.cc \
src/core/ext/filters/deadline/deadline_filter.cc \
@ -71,7 +72,6 @@ if test "$PHP_GRPC" != "no"; then
src/core/ext/filters/http/client_authority_filter.cc \
src/core/ext/filters/http/http_filters_plugin.cc \
src/core/ext/filters/http/message_compress/compression_filter.cc \
src/core/ext/filters/http/message_compress/legacy_compression_filter.cc \
src/core/ext/filters/http/server/http_server_filter.cc \
src/core/ext/filters/message_size/message_size_filter.cc \
src/core/ext/filters/rbac/rbac_filter.cc \
@ -469,9 +469,6 @@ if test "$PHP_GRPC" != "no"; then
src/core/lib/channel/channel_stack_builder.cc \
src/core/lib/channel/channel_stack_builder_impl.cc \
src/core/lib/channel/channel_stack_trace.cc \
src/core/lib/channel/channel_trace.cc \
src/core/lib/channel/channelz.cc \
src/core/lib/channel/channelz_registry.cc \
src/core/lib/channel/connected_channel.cc \
src/core/lib/channel/metrics.cc \
src/core/lib/channel/promise_based_filter.cc \
@ -750,13 +747,11 @@ if test "$PHP_GRPC" != "no"; then
src/core/lib/security/security_connector/ssl_utils.cc \
src/core/lib/security/security_connector/tls/tls_security_connector.cc \
src/core/lib/security/transport/client_auth_filter.cc \
src/core/lib/security/transport/legacy_server_auth_filter.cc \
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/tsi_error.cc \
src/core/lib/security/util/json_util.cc \
src/core/lib/slice/b64.cc \
src/core/lib/slice/percent_encoding.cc \
src/core/lib/slice/slice.cc \
src/core/lib/slice/slice_buffer.cc \
@ -786,12 +781,12 @@ if test "$PHP_GRPC" != "no"; then
src/core/lib/surface/wait_for_cq_end_op.cc \
src/core/lib/transport/batch_builder.cc \
src/core/lib/transport/bdp_estimator.cc \
src/core/lib/transport/call_factory.cc \
src/core/lib/transport/call_filters.cc \
src/core/lib/transport/call_final_info.cc \
src/core/lib/transport/call_size_estimator.cc \
src/core/lib/transport/call_spine.cc \
src/core/lib/transport/connectivity_state.cc \
src/core/lib/transport/endpoint_info_handshaker.cc \
src/core/lib/transport/error_utils.cc \
src/core/lib/transport/handshaker.cc \
src/core/lib/transport/handshaker_registry.cc \
@ -924,6 +919,7 @@ if test "$PHP_GRPC" != "no"; then
third_party/abseil-cpp/absl/debugging/internal/address_is_readable.cc \
third_party/abseil-cpp/absl/debugging/internal/demangle.cc \
third_party/abseil-cpp/absl/debugging/internal/elf_mem_image.cc \
third_party/abseil-cpp/absl/debugging/internal/examine_stack.cc \
third_party/abseil-cpp/absl/debugging/internal/vdso_support.cc \
third_party/abseil-cpp/absl/debugging/stacktrace.cc \
third_party/abseil-cpp/absl/debugging/symbolize.cc \
@ -938,6 +934,18 @@ if test "$PHP_GRPC" != "no"; then
third_party/abseil-cpp/absl/hash/internal/city.cc \
third_party/abseil-cpp/absl/hash/internal/hash.cc \
third_party/abseil-cpp/absl/hash/internal/low_level_hash.cc \
third_party/abseil-cpp/absl/log/globals.cc \
third_party/abseil-cpp/absl/log/internal/conditions.cc \
third_party/abseil-cpp/absl/log/internal/fnmatch.cc \
third_party/abseil-cpp/absl/log/internal/globals.cc \
third_party/abseil-cpp/absl/log/internal/log_format.cc \
third_party/abseil-cpp/absl/log/internal/log_message.cc \
third_party/abseil-cpp/absl/log/internal/log_sink_set.cc \
third_party/abseil-cpp/absl/log/internal/nullguard.cc \
third_party/abseil-cpp/absl/log/internal/proto.cc \
third_party/abseil-cpp/absl/log/internal/vlog_config.cc \
third_party/abseil-cpp/absl/log/log_entry.cc \
third_party/abseil-cpp/absl/log/log_sink.cc \
third_party/abseil-cpp/absl/numeric/int128.cc \
third_party/abseil-cpp/absl/profiling/internal/exponential_biased.cc \
third_party/abseil-cpp/absl/random/discrete_distribution.cc \
@ -1328,6 +1336,10 @@ if test "$PHP_GRPC" != "no"; then
third_party/upb/upb/mem/arena.c \
third_party/upb/upb/message/accessors.c \
third_party/upb/upb/message/array.c \
third_party/upb/upb/message/compat.c \
third_party/upb/upb/message/copy.c \
third_party/upb/upb/message/internal/extension.c \
third_party/upb/upb/message/internal/message.c \
third_party/upb/upb/message/map.c \
third_party/upb/upb/message/map_sorter.c \
third_party/upb/upb/message/message.c \
@ -1358,20 +1370,19 @@ if test "$PHP_GRPC" != "no"; then
third_party/upb/upb/reflection/service_def.c \
third_party/upb/upb/text/encode.c \
third_party/upb/upb/wire/decode.c \
third_party/upb/upb/wire/decode_fast.c \
third_party/upb/upb/wire/encode.c \
third_party/upb/upb/wire/eps_copy_input_stream.c \
third_party/upb/upb/wire/internal/decode_fast.c \
third_party/upb/upb/wire/reader.c \
third_party/utf8_range/naive.c \
third_party/utf8_range/range2-neon.c \
third_party/utf8_range/range2-sse.c \
third_party/utf8_range/utf8_range.c \
, $ext_shared, , -fvisibility=hidden \
-DOPENSSL_NO_ASM -D_GNU_SOURCE -DWIN32_LEAN_AND_MEAN \
-D_HAS_EXCEPTIONS=0 -DNOMINMAX -DGRPC_ARES=0 \
-DGRPC_POSIX_FORK_ALLOW_PTHREAD_ATFORK=1 \
-DGRPC_XDS_USER_AGENT_NAME_SUFFIX='"\"PHP\""' \
-DGRPC_XDS_USER_AGENT_VERSION_SUFFIX='"\"1.63.0dev\""')
-DGRPC_XDS_USER_AGENT_VERSION_SUFFIX='"\"1.64.0dev\""')
PHP_ADD_BUILD_DIR($ext_builddir/src/core/channelz)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/client_channel)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/ext/filters/backend_metrics)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/ext/filters/census)
@ -1600,6 +1611,8 @@ if test "$PHP_GRPC" != "no"; then
PHP_ADD_BUILD_DIR($ext_builddir/third_party/abseil-cpp/absl/flags)
PHP_ADD_BUILD_DIR($ext_builddir/third_party/abseil-cpp/absl/flags/internal)
PHP_ADD_BUILD_DIR($ext_builddir/third_party/abseil-cpp/absl/hash/internal)
PHP_ADD_BUILD_DIR($ext_builddir/third_party/abseil-cpp/absl/log)
PHP_ADD_BUILD_DIR($ext_builddir/third_party/abseil-cpp/absl/log/internal)
PHP_ADD_BUILD_DIR($ext_builddir/third_party/abseil-cpp/absl/numeric)
PHP_ADD_BUILD_DIR($ext_builddir/third_party/abseil-cpp/absl/profiling/internal)
PHP_ADD_BUILD_DIR($ext_builddir/third_party/abseil-cpp/absl/random)
@ -1667,6 +1680,7 @@ if test "$PHP_GRPC" != "no"; then
PHP_ADD_BUILD_DIR($ext_builddir/third_party/upb/upb/lex)
PHP_ADD_BUILD_DIR($ext_builddir/third_party/upb/upb/mem)
PHP_ADD_BUILD_DIR($ext_builddir/third_party/upb/upb/message)
PHP_ADD_BUILD_DIR($ext_builddir/third_party/upb/upb/message/internal)
PHP_ADD_BUILD_DIR($ext_builddir/third_party/upb/upb/mini_descriptor)
PHP_ADD_BUILD_DIR($ext_builddir/third_party/upb/upb/mini_descriptor/internal)
PHP_ADD_BUILD_DIR($ext_builddir/third_party/upb/upb/mini_table)
@ -1675,5 +1689,6 @@ if test "$PHP_GRPC" != "no"; then
PHP_ADD_BUILD_DIR($ext_builddir/third_party/upb/upb/reflection/internal)
PHP_ADD_BUILD_DIR($ext_builddir/third_party/upb/upb/text)
PHP_ADD_BUILD_DIR($ext_builddir/third_party/upb/upb/wire)
PHP_ADD_BUILD_DIR($ext_builddir/third_party/upb/upb/wire/internal)
PHP_ADD_BUILD_DIR($ext_builddir/third_party/utf8_range)
fi

41
config.w32 generated

@ -6,8 +6,10 @@ ARG_WITH("grpc", "grpc support", "no");
if (PHP_GRPC != "no") {
EXTENSION("grpc",
"src\\core\\channelz\\channel_trace.cc " +
"src\\core\\channelz\\channelz.cc " +
"src\\core\\channelz\\channelz_registry.cc " +
"src\\core\\client_channel\\backup_poller.cc " +
"src\\core\\client_channel\\client_channel_channelz.cc " +
"src\\core\\client_channel\\client_channel_factory.cc " +
"src\\core\\client_channel\\client_channel_filter.cc " +
"src\\core\\client_channel\\client_channel_plugin.cc " +
@ -26,7 +28,6 @@ if (PHP_GRPC != "no") {
"src\\core\\client_channel\\subchannel_stream_client.cc " +
"src\\core\\ext\\filters\\backend_metrics\\backend_metric_filter.cc " +
"src\\core\\ext\\filters\\census\\grpc_context.cc " +
"src\\core\\ext\\filters\\channel_idle\\channel_idle_filter.cc " +
"src\\core\\ext\\filters\\channel_idle\\idle_filter_state.cc " +
"src\\core\\ext\\filters\\channel_idle\\legacy_channel_idle_filter.cc " +
"src\\core\\ext\\filters\\deadline\\deadline_filter.cc " +
@ -36,7 +37,6 @@ if (PHP_GRPC != "no") {
"src\\core\\ext\\filters\\http\\client_authority_filter.cc " +
"src\\core\\ext\\filters\\http\\http_filters_plugin.cc " +
"src\\core\\ext\\filters\\http\\message_compress\\compression_filter.cc " +
"src\\core\\ext\\filters\\http\\message_compress\\legacy_compression_filter.cc " +
"src\\core\\ext\\filters\\http\\server\\http_server_filter.cc " +
"src\\core\\ext\\filters\\message_size\\message_size_filter.cc " +
"src\\core\\ext\\filters\\rbac\\rbac_filter.cc " +
@ -434,9 +434,6 @@ if (PHP_GRPC != "no") {
"src\\core\\lib\\channel\\channel_stack_builder.cc " +
"src\\core\\lib\\channel\\channel_stack_builder_impl.cc " +
"src\\core\\lib\\channel\\channel_stack_trace.cc " +
"src\\core\\lib\\channel\\channel_trace.cc " +
"src\\core\\lib\\channel\\channelz.cc " +
"src\\core\\lib\\channel\\channelz_registry.cc " +
"src\\core\\lib\\channel\\connected_channel.cc " +
"src\\core\\lib\\channel\\metrics.cc " +
"src\\core\\lib\\channel\\promise_based_filter.cc " +
@ -715,13 +712,11 @@ if (PHP_GRPC != "no") {
"src\\core\\lib\\security\\security_connector\\ssl_utils.cc " +
"src\\core\\lib\\security\\security_connector\\tls\\tls_security_connector.cc " +
"src\\core\\lib\\security\\transport\\client_auth_filter.cc " +
"src\\core\\lib\\security\\transport\\legacy_server_auth_filter.cc " +
"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\\tsi_error.cc " +
"src\\core\\lib\\security\\util\\json_util.cc " +
"src\\core\\lib\\slice\\b64.cc " +
"src\\core\\lib\\slice\\percent_encoding.cc " +
"src\\core\\lib\\slice\\slice.cc " +
"src\\core\\lib\\slice\\slice_buffer.cc " +
@ -751,12 +746,12 @@ if (PHP_GRPC != "no") {
"src\\core\\lib\\surface\\wait_for_cq_end_op.cc " +
"src\\core\\lib\\transport\\batch_builder.cc " +
"src\\core\\lib\\transport\\bdp_estimator.cc " +
"src\\core\\lib\\transport\\call_factory.cc " +
"src\\core\\lib\\transport\\call_filters.cc " +
"src\\core\\lib\\transport\\call_final_info.cc " +
"src\\core\\lib\\transport\\call_size_estimator.cc " +
"src\\core\\lib\\transport\\call_spine.cc " +
"src\\core\\lib\\transport\\connectivity_state.cc " +
"src\\core\\lib\\transport\\endpoint_info_handshaker.cc " +
"src\\core\\lib\\transport\\error_utils.cc " +
"src\\core\\lib\\transport\\handshaker.cc " +
"src\\core\\lib\\transport\\handshaker_registry.cc " +
@ -889,6 +884,7 @@ if (PHP_GRPC != "no") {
"third_party\\abseil-cpp\\absl\\debugging\\internal\\address_is_readable.cc " +
"third_party\\abseil-cpp\\absl\\debugging\\internal\\demangle.cc " +
"third_party\\abseil-cpp\\absl\\debugging\\internal\\elf_mem_image.cc " +
"third_party\\abseil-cpp\\absl\\debugging\\internal\\examine_stack.cc " +
"third_party\\abseil-cpp\\absl\\debugging\\internal\\vdso_support.cc " +
"third_party\\abseil-cpp\\absl\\debugging\\stacktrace.cc " +
"third_party\\abseil-cpp\\absl\\debugging\\symbolize.cc " +
@ -903,6 +899,18 @@ if (PHP_GRPC != "no") {
"third_party\\abseil-cpp\\absl\\hash\\internal\\city.cc " +
"third_party\\abseil-cpp\\absl\\hash\\internal\\hash.cc " +
"third_party\\abseil-cpp\\absl\\hash\\internal\\low_level_hash.cc " +
"third_party\\abseil-cpp\\absl\\log\\globals.cc " +
"third_party\\abseil-cpp\\absl\\log\\internal\\conditions.cc " +
"third_party\\abseil-cpp\\absl\\log\\internal\\fnmatch.cc " +
"third_party\\abseil-cpp\\absl\\log\\internal\\globals.cc " +
"third_party\\abseil-cpp\\absl\\log\\internal\\log_format.cc " +
"third_party\\abseil-cpp\\absl\\log\\internal\\log_message.cc " +
"third_party\\abseil-cpp\\absl\\log\\internal\\log_sink_set.cc " +
"third_party\\abseil-cpp\\absl\\log\\internal\\nullguard.cc " +
"third_party\\abseil-cpp\\absl\\log\\internal\\proto.cc " +
"third_party\\abseil-cpp\\absl\\log\\internal\\vlog_config.cc " +
"third_party\\abseil-cpp\\absl\\log\\log_entry.cc " +
"third_party\\abseil-cpp\\absl\\log\\log_sink.cc " +
"third_party\\abseil-cpp\\absl\\numeric\\int128.cc " +
"third_party\\abseil-cpp\\absl\\profiling\\internal\\exponential_biased.cc " +
"third_party\\abseil-cpp\\absl\\random\\discrete_distribution.cc " +
@ -1293,6 +1301,10 @@ if (PHP_GRPC != "no") {
"third_party\\upb\\upb\\mem\\arena.c " +
"third_party\\upb\\upb\\message\\accessors.c " +
"third_party\\upb\\upb\\message\\array.c " +
"third_party\\upb\\upb\\message\\compat.c " +
"third_party\\upb\\upb\\message\\copy.c " +
"third_party\\upb\\upb\\message\\internal\\extension.c " +
"third_party\\upb\\upb\\message\\internal\\message.c " +
"third_party\\upb\\upb\\message\\map.c " +
"third_party\\upb\\upb\\message\\map_sorter.c " +
"third_party\\upb\\upb\\message\\message.c " +
@ -1323,13 +1335,11 @@ if (PHP_GRPC != "no") {
"third_party\\upb\\upb\\reflection\\service_def.c " +
"third_party\\upb\\upb\\text\\encode.c " +
"third_party\\upb\\upb\\wire\\decode.c " +
"third_party\\upb\\upb\\wire\\decode_fast.c " +
"third_party\\upb\\upb\\wire\\encode.c " +
"third_party\\upb\\upb\\wire\\eps_copy_input_stream.c " +
"third_party\\upb\\upb\\wire\\internal\\decode_fast.c " +
"third_party\\upb\\upb\\wire\\reader.c " +
"third_party\\utf8_range\\naive.c " +
"third_party\\utf8_range\\range2-neon.c " +
"third_party\\utf8_range\\range2-sse.c " +
"third_party\\utf8_range\\utf8_range.c " +
"third_party\\zlib\\adler32.c " +
"third_party\\zlib\\compress.c " +
"third_party\\zlib\\crc32.c " +
@ -1364,6 +1374,7 @@ if (PHP_GRPC != "no") {
FSO.CreateFolder(base_dir+"\\ext\\grpc");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\channelz");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\client_channel");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\filters");
@ -1747,6 +1758,8 @@ if (PHP_GRPC != "no") {
FSO.CreateFolder(base_dir+"\\ext\\grpc\\third_party\\abseil-cpp\\absl\\flags\\internal");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\third_party\\abseil-cpp\\absl\\hash");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\third_party\\abseil-cpp\\absl\\hash\\internal");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\third_party\\abseil-cpp\\absl\\log");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\third_party\\abseil-cpp\\absl\\log\\internal");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\third_party\\abseil-cpp\\absl\\numeric");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\third_party\\abseil-cpp\\absl\\profiling");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\third_party\\abseil-cpp\\absl\\profiling\\internal");
@ -1821,6 +1834,7 @@ if (PHP_GRPC != "no") {
FSO.CreateFolder(base_dir+"\\ext\\grpc\\third_party\\upb\\upb\\lex");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\third_party\\upb\\upb\\mem");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\third_party\\upb\\upb\\message");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\third_party\\upb\\upb\\message\\internal");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\third_party\\upb\\upb\\mini_descriptor");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\third_party\\upb\\upb\\mini_descriptor\\internal");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\third_party\\upb\\upb\\mini_table");
@ -1829,6 +1843,7 @@ if (PHP_GRPC != "no") {
FSO.CreateFolder(base_dir+"\\ext\\grpc\\third_party\\upb\\upb\\reflection\\internal");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\third_party\\upb\\upb\\text");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\third_party\\upb\\upb\\wire");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\third_party\\upb\\upb\\wire\\internal");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\third_party\\utf8_range");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\third_party\\zlib");
_build_dirs = new Array();

@ -43,7 +43,7 @@ However individual releases may have a broader
compatibility range. The currently supported versions are captured by the
following list:
- [`6.4.0`](https://github.com/bazelbuild/bazel/releases/tag/6.4.0)
- [`7.0.0`](https://github.com/bazelbuild/bazel/releases/tag/7.0.0)
- [`7.1.0`](https://github.com/bazelbuild/bazel/releases/tag/7.1.0)
- [`6.5.0`](https://github.com/bazelbuild/bazel/releases/tag/6.5.0)
NOTE: gRPC doesn't support bzlmod yet.

@ -90,6 +90,15 @@ The inheritance of the compression configuration by child RPCs is left up to the
implementation. Note that in the absence of changes to the parent channel, its
configuration will be used.
### Deflate Compression
Like HTTP implementations, gRPC implementations MUST use the "deflate"
compression to mean the zlib structure (defined in
[RFC 1950](https://datatracker.ietf.org/doc/html/rfc1950))
with the deflate compression algorithm (defined in
[RFC 1951](https://datatracker.ietf.org/doc/html/rfc1951)).
Servers and clients MUST NOT send raw deflate data.
### Test cases
1. When a compression level is not specified for either the channel or the

@ -62,4 +62,5 @@
- 1.60 'g' stands for ['gjallarhorn'](https://github.com/grpc/grpc/tree/v1.60.x)
- 1.61 'g' stands for ['grand'](https://github.com/grpc/grpc/tree/v1.61.x)
- 1.62 'g' stands for ['guardian'](https://github.com/grpc/grpc/tree/v1.62.x)
- 1.63 'g' stands for ['giggle'](https://github.com/grpc/grpc/tree/master)
- 1.63 'g' stands for ['giggle'](https://github.com/grpc/grpc/tree/v1.63.x)
- 1.64 'g' stands for ['grateful'](https://github.com/grpc/grpc/tree/master)

@ -64,14 +64,18 @@ Support for [xDS v2 APIs](https://www.envoyproxy.io/docs/envoy/latest/api/api_su
[Fault Injection](https://www.envoyproxy.io/docs/envoy/latest/api-v3/extensions/filters/http/fault/v3/fault.proto):<br> Only the following fields are supported:<ul><li>delay</li><li>abort</li><li>max_active_faults</li><li>headers</li></ul> | [A33](https://github.com/grpc/proposal/blob/master/A33-Fault-Injection.md) | v1.37.1 | v1.37.1 | v1.37.0 | v1.4.0 |
[Client Status Discovery Service](https://github.com/envoyproxy/envoy/blob/main/api/envoy/service/status/v3/csds.proto) | [A40](https://github.com/grpc/proposal/blob/master/A40-csds-support.md) | v1.37.1 (C++)<br>v1.38.0 (Python) | v1.37.1 | v1.37.0 | v1.5.0 |
[Aggregate Clusters](https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/upstream/aggregate_cluster.html) and [Logical DNS Clusters](https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/upstream/service_discovery.html#logical-dns) | [A37](https://github.com/grpc/proposal/blob/master/A37-xds-aggregate-and-logical-dns-clusters.md) | v1.47.0 | v1.39.0 | v1.52.2 | v1.9.0 |
[Ring hash](https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/upstream/load_balancing/load_balancers#ring-hash) load balancing policy:<br> Only the following [policy specifiers](https://github.com/envoyproxy/envoy/blob/2443032526cf6e50d63d35770df9473dd0460fc0/api/envoy/config/route/v3/route_components.proto#L706) are supported:<ul><li>header</li><li>filter_state with key `io.grpc.channel_id`</li></ul>Only [`XX_HASH`](https://github.com/envoyproxy/envoy/blob/2443032526cf6e50d63d35770df9473dd0460fc0/api/envoy/config/cluster/v3/cluster.proto#L383) function is supported. | [A42](https://github.com/grpc/proposal/blob/master/A42-xds-ring-hash-lb-policy.md) | v1.40.0<br>(C++ and Python) | v1.40.1 | 1.41.0 | |
Aggregate Cluster Behavior Fixes | [A75](https://github.com/grpc/proposal/blob/master/A75-xds-aggregate-cluster-behavior-fixes.md) | v1.61.0 | | | |
[Ring hash](https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/upstream/load_balancing/load_balancers#ring-hash) load balancing policy:<br> Only the following [policy specifiers](https://github.com/envoyproxy/envoy/blob/2443032526cf6e50d63d35770df9473dd0460fc0/api/envoy/config/route/v3/route_components.proto#L706) are supported:<ul><li>header</li><li>filter_state with key `io.grpc.channel_id`</li></ul>Only [`XX_HASH`](https://github.com/envoyproxy/envoy/blob/2443032526cf6e50d63d35770df9473dd0460fc0/api/envoy/config/cluster/v3/cluster.proto#L383) function is supported. | [A42](https://github.com/grpc/proposal/blob/master/A42-xds-ring-hash-lb-policy.md) | v1.40.0<br>(C++ and Python) | v1.40.1 | 1.41.0 | v1.10.0 |
[Retry](https://www.envoyproxy.io/docs/envoy/latest/api-v3/config/route/v3/route_components.proto#envoy-v3-api-msg-config-route-v3-retrypolicy):<br>Only the following fields are supported:<ul><li>retry_on for the following conditions: cancelled, deadline-exceeded, internal, resource-exhausted, and unavailable.</li><li>num_retries</li><li>retry_back_off</li></ul> | [A44](https://github.com/grpc/proposal/blob/master/A44-xds-retry.md) | v1.40.0<br>(C++ and Python) | v1.40.1 | 1.41.0 | v1.8.0 |
[Security](https://www.envoyproxy.io/docs/envoy/latest/configuration/security/security):<br>Uses [certificate providers](https://github.com/grpc/proposal/blob/master/A29-xds-tls-security.md#certificate-provider-plugin-framework) instead of SDS | [A29](https://github.com/grpc/proposal/blob/master/A29-xds-tls-security.md) | v1.41.0<br>(C++ and Python) | v1.41.0 | 1.41.0 | |
[Authorization (RBAC)](https://www.envoyproxy.io/docs/envoy/latest/api-v3/extensions/filters/http/rbac/v3/rbac.proto):<br><ul><li>`LOG` action has no effect<li>CEL unsupported and rejected</ul> | [A41](https://github.com/grpc/proposal/blob/master/A41-xds-rbac.md) | v1.51.0<br>(C++ and Python) | v1.42.0 | 1.42.0 | |
[Least Request LB Policy](https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/upstream/load_balancing/load_balancers.html#weighted-least-request) | [A48](https://github.com/grpc/proposal/blob/master/A48-xds-least-request-lb-policy.md) | | v1.48.0 | | |
[Outlier Detection](https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/upstream/outlier):<br>Only the following detection types are supported:<ul><li>Success Rate</li><li>Failure Percentage</li></ul> | [A50](https://github.com/grpc/proposal/blob/master/A50-xds-outlier-detection.md) | v1.51.0 | v1.49.0 | v1.50.0 | v1.7.0 |
[Custom Load Balancer Configuration](https://github.com/envoyproxy/envoy/blob/57be3189ffa3372b34e9480d1f02b2d165e49077/api/envoy/config/cluster/v3/cluster.proto#L1208) | [A52](https://github.com/grpc/proposal/blob/master/A52-xds-custom-lb-policies.md) | v1.55.0 | v1.47.0 | v1.56.0 | |
[Custom Load Balancer Configuration](https://github.com/envoyproxy/envoy/blob/57be3189ffa3372b34e9480d1f02b2d165e49077/api/envoy/config/cluster/v3/cluster.proto#L1208) | [A52](https://github.com/grpc/proposal/blob/master/A52-xds-custom-lb-policies.md) | v1.55.0 | v1.47.0 | v1.56.0 | v1.10.0 |
[xDS Federation](https://github.com/cncf/xds/blob/main/proposals/TP1-xds-transport-next.md) | [A47](https://github.com/grpc/proposal/blob/master/A47-xds-federation.md) | v1.55.0 | v1.55.0 | v1.55.0 | |
[Client-Side Weighted Round Robin LB Policy](https://github.com/envoyproxy/envoy/blob/a6d46b6ac4750720eec9a49abe701f0df9bf8e0a/api/envoy/extensions/load_balancing_policies/client_side_weighted_round_robin/v3/client_side_weighted_round_robin.proto#L36) | [A58](https://github.com/grpc/proposal/blob/master/A58-client-side-weighted-round-robin-lb-policy.md) | v1.55.0 | v1.54.0 | v1.56.0 | |
Pick First | [A62](https://github.com/grpc/proposal/blob/master/A62-pick-first.md) | v1.58.0 | v1.58.1 | v1.56.0 | |
[StringMatcher for Header Matching](https://github.com/envoyproxy/envoy/blob/3fe4b8d335fa339ef6f17325c8d31f87ade7bb1a/api/envoy/config/route/v3/route_components.proto#L2280) | [A63](https://github.com/grpc/proposal/blob/master/A63-xds-string-matcher-in-header-matching.md) | v1.56.0 | v1.53.0 | v1.56.0 | v1.9.0 |
mTLS Credentials in xDS Bootstrap File | [A65](https://github.com/grpc/proposal/blob/master/A65-xds-mtls-creds-in-bootstrap.md) | v1.57.0 | | | |
LRS Custom Metrics Support | [A64](https://github.com/grpc/proposal/blob/master/A64-lrs-custom-metrics.md) | v1.54.0 | | | |
mTLS Credentials in xDS Bootstrap File | [A65](https://github.com/grpc/proposal/blob/master/A65-xds-mtls-creds-in-bootstrap.md) | v1.57.0 | | v1.61.0 | |
Stateful Session Affinity | [A55](https://github.com/grpc/proposal/blob/master/A55-xds-stateful-session-affinity.md), [A60](https://github.com/grpc/proposal/blob/master/A60-xds-stateful-session-affinity-weighted-clusters.md), [A75](https://github.com/grpc/proposal/blob/master/A75-xds-aggregate-cluster-behavior-fixes.md) | v1.61.0 | | | |

@ -1,20 +1,23 @@
# gRPC-core BinderTransport example apps
WIP.
## Build Instruction
1. Install Android SDK and NDK. Currently we only support SDK version 30.0.3 and
NDK version 21.4.7075529 . Make sure you get these exact versions otherwise
Bazel might complain.
2. Point environment variables to install locations of SDK and NDK
1. Install Android SDK and NDK. Only NDK version >= 25 is supported. We tested against SDK Platform `33` and NDK `26.2.11394342`.
2. Make sure Bazel is at least `7.0`. Use `export OVERRIDE_BAZEL_VERSION=7.1.0` to selected a supported version listed in `bazel/supported_versions.txt` if necessary.
3. Point environment variables to install locations of SDK and NDK
```
export ANDROID_HOME=$HOME/android-sdk
export ANDROID_NDK_HOME=$HOME/android-sdk/ndk/26.2.11394342
```
4. To build a fat APK that supports `x86_64`, `armv7`, and `arm64`:
```
export ANDROID_HOME=$HOME/Android/Sdk/
export ANDROID_NDK_HOME=$HOME/Android/Sdk/ndk/21.4.7075529
bazel build \
--extra_toolchains=@androidndk//:all \
--android_platforms=//:android_x86_64,//:android_armv7,//:android_arm64 \
--copt=-Wno-unknown-warning-option \
//examples/android/binder/java/io/grpc/binder/cpp/exampleserver:app \
//examples/android/binder/java/io/grpc/binder/cpp/exampleclient:app
```
3. `bazel build //examples/android/binder/java/io/grpc/binder/cpp/exampleclient:app`
4. `bazel build //examples/android/binder/java/io/grpc/binder/cpp/exampleserver:app`
5. `adb install
bazel-bin/examples/android/binder/java/io/grpc/binder/cpp/exampleclient/app.apk`
6. `adb install

@ -12,8 +12,6 @@
# See the License for the specific language governing permissions and
# limitations under the License.
load("@build_bazel_rules_android//android:rules.bzl", "android_binary", "android_library")
cc_library(
name = "jni_lib",
srcs = ["native.cc"],

@ -12,8 +12,6 @@
# See the License for the specific language governing permissions and
# limitations under the License.
load("@build_bazel_rules_android//android:rules.bzl", "android_binary", "android_library")
cc_library(
name = "jni_lib",
srcs = ["native.cc"],

@ -41,6 +41,7 @@ cc_binary(
"//examples/protos:helloworld_cc_grpc",
"@com_google_absl//absl/flags:flag",
"@com_google_absl//absl/flags:parse",
"@com_google_absl//absl/log",
"@io_opentelemetry_cpp//exporters/prometheus:prometheus_exporter",
"@io_opentelemetry_cpp//sdk/src/metrics",
],

@ -22,6 +22,7 @@
#include "absl/flags/flag.h"
#include "absl/flags/parse.h"
#include "absl/log/log.h"
#include "absl/strings/str_cat.h"
#include "opentelemetry/exporters/prometheus/exporter_factory.h"
#include "opentelemetry/exporters/prometheus/exporter_options.h"
@ -91,7 +92,7 @@ void RunServer(const char* hostname) {
xds_builder.AddListeningPort(absl::StrCat("0.0.0.0:", port),
grpc::InsecureServerCredentials());
xds_enabled_server = xds_builder.BuildAndStart();
gpr_log(GPR_INFO, "Server starting on 0.0.0.0:%d", port);
LOG(INFO) << "Server starting on 0.0.0.0:" << port;
// Wait for the server to shutdown. Note that some other thread must be
// responsible for shutting down the server for this call to ever return.

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

@ -0,0 +1,98 @@
# Copyright 2024 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.
#
# cmake build file for C++ helloworld example.
# Assumes protobuf and gRPC have been installed using cmake.
# See cmake_externalproject/CMakeLists.txt for all-in-one cmake build
# that automatically builds all the dependencies before building helloworld.
cmake_minimum_required(VERSION 3.8)
project(HelloWorld C CXX)
include(../cmake/common.cmake)
# Proto file
get_filename_component(hw_proto "../../protos/helloworld.proto" ABSOLUTE)
get_filename_component(hw_proto_path "${hw_proto}" PATH)
get_filename_component(health_proto "../../../src/proto/grpc/health/v1/health.proto" ABSOLUTE)
get_filename_component(health_proto_path "${health_proto}" PATH)
# Generated sources
set(hw_proto_srcs "${CMAKE_CURRENT_BINARY_DIR}/helloworld.pb.cc")
set(hw_proto_hdrs "${CMAKE_CURRENT_BINARY_DIR}/helloworld.pb.h")
set(hw_grpc_srcs "${CMAKE_CURRENT_BINARY_DIR}/helloworld.grpc.pb.cc")
set(hw_grpc_hdrs "${CMAKE_CURRENT_BINARY_DIR}/helloworld.grpc.pb.h")
add_custom_command(
OUTPUT "${hw_proto_srcs}" "${hw_proto_hdrs}" "${hw_grpc_srcs}" "${hw_grpc_hdrs}"
COMMAND ${_PROTOBUF_PROTOC}
ARGS --grpc_out "${CMAKE_CURRENT_BINARY_DIR}"
--cpp_out "${CMAKE_CURRENT_BINARY_DIR}"
-I "${hw_proto_path}"
--plugin=protoc-gen-grpc="${_GRPC_CPP_PLUGIN_EXECUTABLE}"
"${hw_proto}"
DEPENDS "${hw_proto}")
# Health protos
set(health_proto_srcs "${CMAKE_CURRENT_BINARY_DIR}/health.pb.cc")
set(health_proto_hdrs "${CMAKE_CURRENT_BINARY_DIR}/health.pb.h")
set(health_grpc_srcs "${CMAKE_CURRENT_BINARY_DIR}/health.grpc.pb.cc")
set(health_grpc_hdrs "${CMAKE_CURRENT_BINARY_DIR}/health.grpc.pb.h")
add_custom_command(
OUTPUT "${health_proto_srcs}" "${health_proto_hdrs}" "${health_grpc_srcs}" "${health_grpc_hdrs}"
COMMAND ${_PROTOBUF_PROTOC}
ARGS --grpc_out "${CMAKE_CURRENT_BINARY_DIR}"
--cpp_out "${CMAKE_CURRENT_BINARY_DIR}"
-I "${health_proto_path}"
--plugin=protoc-gen-grpc="${_GRPC_CPP_PLUGIN_EXECUTABLE}"
"${health_proto}"
DEPENDS "${health_proto}")
# Include generated *.pb.h files
include_directories("${CMAKE_CURRENT_BINARY_DIR}")
# hw_grpc_proto
add_library(hw_grpc_proto
${hw_grpc_srcs}
${hw_grpc_hdrs}
${hw_proto_srcs}
${hw_proto_hdrs})
target_link_libraries(hw_grpc_proto
${_REFLECTION}
${_GRPC_GRPCPP}
${_PROTOBUF_LIBPROTOBUF})
#health_grpc_proto
add_library(health_grpc_proto
${health_grpc_srcs}
${health_grpc_hdrs}
${health_proto_srcs}
${health_proto_hdrs})
target_link_libraries(health_grpc_proto
${_PROTOBUF_LIBPROTOBUF})
# Targets greeter_[async_](client|server)
foreach(_target
health_client health_server)
add_executable(${_target} "${_target}.cc")
target_link_libraries(${_target}
hw_grpc_proto
health_grpc_proto
absl::flags
absl::flags_parse
${_REFLECTION}
${_GRPC_GRPCPP}
${_PROTOBUF_LIBPROTOBUF})
endforeach()

@ -0,0 +1,6 @@
# gRPC C++ Health Check Example
You can find a complete set of instructions for building gRPC and running the
example in the [C++ Quick Start][].
[C++ Quick Start]: https://grpc.io/docs/languages/cpp/quickstart

@ -0,0 +1,140 @@
/*
*
* Copyright 2024 gRPC authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
*/
#include <condition_variable>
#include <iostream>
#include <memory>
#include <mutex>
#include <string>
#include "absl/flags/flag.h"
#include "absl/flags/parse.h"
#include <grpcpp/grpcpp.h>
#ifdef BAZEL_BUILD
#include "examples/protos/helloworld.grpc.pb.h"
#include "src/proto/grpc/health/v1/health.grpc.pb.h"
#else
#include "health.grpc.pb.h"
#include "helloworld.grpc.pb.h"
#endif
ABSL_FLAG(std::string, target, "localhost:50051", "Server address");
using grpc::Channel;
using grpc::ClientContext;
using grpc::Status;
using grpc::health::v1::Health;
using grpc::health::v1::HealthCheckRequest;
using grpc::health::v1::HealthCheckResponse;
using helloworld::Greeter;
using helloworld::HelloReply;
using helloworld::HelloRequest;
class GreeterClient {
public:
GreeterClient(std::shared_ptr<Channel> channel)
: stub_(Greeter::NewStub(channel)),
health_stub_(Health::NewStub(channel)) {}
// Assembles the client's payload, sends it and presents the response back
// from the server.
std::string SayHello(const std::string& user) {
// Data we are sending to the server.
HelloRequest request;
request.set_name(user);
// Container for the data we expect from the server.
HelloReply reply;
// Context for the client. It could be used to convey extra information to
// the server and/or tweak certain RPC behaviors.
ClientContext context;
// The actual RPC.
std::mutex mu;
std::condition_variable cv;
bool done = false;
Status status;
stub_->async()->SayHello(&context, &request, &reply,
[&mu, &cv, &done, &status](Status s) {
status = std::move(s);
std::lock_guard<std::mutex> lock(mu);
done = true;
cv.notify_one();
});
std::unique_lock<std::mutex> lock(mu);
while (!done) {
cv.wait(lock);
}
// Act upon its status.
if (status.ok()) {
return reply.message();
} else {
std::cout << status.error_code() << ": " << status.error_message()
<< std::endl;
return "RPC failed";
}
}
void CheckHealth(const std::string& message) {
ClientContext context;
HealthCheckResponse response;
Status status = health_stub_->Check(
&context, HealthCheckRequest::default_instance(), &response);
if (!status.ok()) {
std::cerr << "Failed to check service health: " << status.error_code()
<< ": " << status.error_message() << "\n";
return;
}
std::cout << message << ": " << response.DebugString();
}
private:
std::unique_ptr<Greeter::Stub> stub_;
std::unique_ptr<Health::Stub> health_stub_;
};
int main(int argc, char** argv) {
absl::ParseCommandLine(argc, argv);
// Instantiate the client. It requires a channel, out of which the actual RPCs
// are created. This channel models a connection to an endpoint specified by
// the argument "--target=" which is the only expected argument.
std::string target_str = absl::GetFlag(FLAGS_target);
// We indicate that the channel isn't authenticated (use of
// InsecureChannelCredentials()).
grpc::ChannelArguments args;
args.SetServiceConfigJSON(
"{\"healthCheckConfig\": "
"{\"serviceName\": \"\"}}");
GreeterClient greeter(grpc::CreateCustomChannel(
target_str, grpc::InsecureChannelCredentials(), args));
std::string user = "world";
greeter.CheckHealth("Before call");
std::string reply = greeter.SayHello(user);
std::cout << "Greeter received: " << reply << std::endl;
greeter.CheckHealth("After call");
reply = greeter.SayHello(user);
std::cout << "Greeter received: " << reply << std::endl;
greeter.CheckHealth("After second call");
return 0;
}

@ -0,0 +1,100 @@
/*
*
* Copyright 2024 gRPC authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
*/
#include <iostream>
#include <memory>
#include <string>
#include "absl/flags/flag.h"
#include "absl/flags/parse.h"
#include "absl/strings/str_format.h"
#include <grpcpp/ext/proto_server_reflection_plugin.h>
#include <grpcpp/grpcpp.h>
#include <grpcpp/health_check_service_interface.h>
#ifdef BAZEL_BUILD
#include "examples/protos/helloworld.grpc.pb.h"
#else
#include "helloworld.grpc.pb.h"
#endif
ABSL_FLAG(uint16_t, port, 50051, "Server port for the service");
using grpc::CallbackServerContext;
using grpc::Server;
using grpc::ServerBuilder;
using grpc::ServerUnaryReactor;
using grpc::Status;
using helloworld::Greeter;
using helloworld::HelloReply;
using helloworld::HelloRequest;
// Logic and data behind the server's behavior.
class GreeterServiceImpl final : public Greeter::CallbackService {
public:
void set_health_check_service(
grpc::HealthCheckServiceInterface* health_check_service) {
health_check_service_ = health_check_service;
}
private:
ServerUnaryReactor* SayHello(CallbackServerContext* context,
const HelloRequest* request,
HelloReply* reply) override {
std::string prefix("Hello ");
reply->set_message(prefix + request->name());
ServerUnaryReactor* reactor = context->DefaultReactor();
reactor->Finish(Status::OK);
// Goes down, then up
is_serving_ = !is_serving_;
health_check_service_->SetServingStatus(is_serving_);
return reactor;
}
grpc::HealthCheckServiceInterface* health_check_service_ = nullptr;
bool is_serving_ = true;
};
void RunServer(uint16_t port) {
std::string server_address = absl::StrFormat("0.0.0.0:%d", port);
GreeterServiceImpl service;
grpc::EnableDefaultHealthCheckService(true);
grpc::reflection::InitProtoReflectionServerBuilderPlugin();
ServerBuilder builder;
// Listen on the given address without any authentication mechanism.
builder.AddListeningPort(server_address, grpc::InsecureServerCredentials());
// Register "service" as the instance through which we'll communicate with
// clients. In this case it corresponds to an *synchronous* service.
builder.RegisterService(&service);
// Finally assemble the server.
std::unique_ptr<Server> server(builder.BuildAndStart());
service.set_health_check_service(server->GetHealthCheckService());
std::cout << "Server listening on " << server_address << std::endl;
// Wait for the server to shutdown. Note that some other thread must be
// responsible for shutting down the server for this call to ever return.
server->Wait();
}
int main(int argc, char** argv) {
absl::ParseCommandLine(argc, argv);
RunServer(absl::GetFlag(FLAGS_port));
return 0;
}

@ -35,6 +35,7 @@ cc_binary(
"//examples/protos:helloworld_cc_grpc",
"@com_google_absl//absl/flags:flag",
"@com_google_absl//absl/flags:parse",
"@com_google_absl//absl/log:check",
],
)
@ -47,6 +48,7 @@ cc_binary(
"//examples/protos:helloworld_cc_grpc",
"@com_google_absl//absl/flags:flag",
"@com_google_absl//absl/flags:parse",
"@com_google_absl//absl/log:check",
],
)
@ -97,6 +99,7 @@ cc_binary(
"//examples/protos:helloworld_cc_grpc",
"@com_google_absl//absl/flags:flag",
"@com_google_absl//absl/flags:parse",
"@com_google_absl//absl/log:check",
"@com_google_absl//absl/strings:str_format",
],
)
@ -126,5 +129,6 @@ cc_binary(
"//examples/protos:helloworld_cc_grpc",
"@com_google_absl//absl/flags:flag",
"@com_google_absl//absl/flags:parse",
"@com_google_absl//absl/log",
],
)

@ -52,6 +52,7 @@ add_library(hw_grpc_proto
${hw_proto_srcs}
${hw_proto_hdrs})
target_link_libraries(hw_grpc_proto
absl::check
${_REFLECTION}
${_GRPC_GRPCPP}
${_PROTOBUF_LIBPROTOBUF})
@ -64,8 +65,10 @@ foreach(_target
add_executable(${_target} "${_target}.cc")
target_link_libraries(${_target}
hw_grpc_proto
absl::check
absl::flags
absl::flags_parse
absl::log
${_REFLECTION}
${_GRPC_GRPCPP}
${_PROTOBUF_LIBPROTOBUF})

@ -22,6 +22,7 @@
#include "absl/flags/flag.h"
#include "absl/flags/parse.h"
#include "absl/log/check.h"
#include <grpc/support/log.h>
#include <grpcpp/grpcpp.h>
@ -81,14 +82,14 @@ class GreeterClient {
// Block until the next result is available in the completion queue "cq".
// The return value of Next should always be checked. This return value
// tells us whether there is any kind of event or the cq_ is shutting down.
GPR_ASSERT(cq.Next(&got_tag, &ok));
CHECK(cq.Next(&got_tag, &ok));
// Verify that the result from "cq" corresponds, by its tag, our previous
// request.
GPR_ASSERT(got_tag == (void*)1);
CHECK_EQ(got_tag, (void*)1);
// ... and that the request was completed successfully. Note that "ok"
// corresponds solely to the request for updates introduced by Finish().
GPR_ASSERT(ok);
CHECK(ok);
// Act upon the status of the actual RPC.
if (status.ok()) {

@ -23,6 +23,7 @@
#include "absl/flags/flag.h"
#include "absl/flags/parse.h"
#include "absl/log/check.h"
#include <grpc/support/log.h>
#include <grpcpp/grpcpp.h>
@ -88,7 +89,7 @@ class GreeterClient {
// Verify that the request was completed successfully. Note that "ok"
// corresponds solely to the request for updates introduced by Finish().
GPR_ASSERT(ok);
CHECK(ok);
if (call->status.ok())
std::cout << "Greeter received: " << call->reply.message() << std::endl;

@ -23,6 +23,7 @@
#include "absl/flags/flag.h"
#include "absl/flags/parse.h"
#include "absl/log/check.h"
#include "absl/strings/str_format.h"
#include <grpc/support/log.h>
@ -116,7 +117,7 @@ class ServerImpl final {
status_ = FINISH;
responder_.Finish(reply_, Status::OK, this);
} else {
GPR_ASSERT(status_ == FINISH);
CHECK_EQ(status_, FINISH);
// Once in the FINISH state, deallocate ourselves (CallData).
delete this;
}
@ -158,8 +159,8 @@ class ServerImpl final {
// memory address of a CallData instance.
// The return value of Next should always be checked. This return value
// tells us whether there is any kind of event or cq_ is shutting down.
GPR_ASSERT(cq_->Next(&tag, &ok));
GPR_ASSERT(ok);
CHECK(cq_->Next(&tag, &ok));
CHECK(ok);
static_cast<CallData*>(tag)->Proceed();
}
}

@ -22,6 +22,7 @@
#include "absl/flags/flag.h"
#include "absl/flags/parse.h"
#include "absl/log/log.h"
#include "absl/strings/str_cat.h"
#include <grpcpp/ext/admin_services.h>
@ -79,21 +80,20 @@ void RunServer() {
absl::StrCat("0.0.0.0:", port),
grpc::XdsServerCredentials(grpc::InsecureServerCredentials()));
xds_enabled_server = xds_builder.BuildAndStart();
gpr_log(GPR_INFO, "Server starting on 0.0.0.0:%d", port);
LOG(INFO) << "Server starting on 0.0.0.0:" << port;
grpc::AddAdminServices(&builder);
// For the maintenance server, do not use any authentication mechanism.
builder.AddListeningPort(absl::StrCat("0.0.0.0:", maintenance_port),
grpc::InsecureServerCredentials());
server = builder.BuildAndStart();
gpr_log(GPR_INFO, "Maintenance server listening on 0.0.0.0:%d",
maintenance_port);
LOG(INFO) << "Maintenance server listening on 0.0.0.0:" << maintenance_port;
} else {
grpc::AddAdminServices(&xds_builder);
// Listen on the given address without any authentication mechanism.
builder.AddListeningPort(absl::StrCat("0.0.0.0:", port),
grpc::InsecureServerCredentials());
server = xds_builder.BuildAndStart();
gpr_log(GPR_INFO, "Server listening on 0.0.0.0:%d", port);
LOG(INFO) << "Server listening on 0.0.0.0:" << port;
}
// Wait for the server to shutdown. Note that some other thread must be

@ -24,6 +24,7 @@ cc_binary(
deps = [
"//:grpc++",
"//examples/protos:keyvaluestore",
"@com_google_absl//absl/log:check",
],
)

@ -52,6 +52,7 @@ add_library(kvs_grpc_proto
${kvs_proto_srcs}
${kvs_proto_hdrs})
target_link_libraries(kvs_grpc_proto
absl::check
${_REFLECTION}
${_GRPC_GRPCPP}
${_PROTOBUF_LIBPROTOBUF})
@ -59,6 +60,7 @@ target_link_libraries(kvs_grpc_proto
# client
add_executable(client "client.cc" "caching_interceptor.h")
target_link_libraries(client
absl::check
kvs_grpc_proto
${_REFLECTION}
${_GRPC_GRPCPP}
@ -67,6 +69,7 @@ target_link_libraries(client
# server
add_executable(server "server.cc")
target_link_libraries(server
absl::check
kvs_grpc_proto
${_REFLECTION}
${_GRPC_GRPCPP}

@ -18,6 +18,8 @@
#include <map>
#include "absl/log/check.h"
#include <grpcpp/support/client_interceptor.h>
#ifdef BAZEL_BUILD
@ -62,10 +64,9 @@ class CachingInterceptor : public grpc::experimental::Interceptor {
keyvaluestore::Request req_msg;
auto* buffer = methods->GetSerializedSendMessage();
auto copied_buffer = *buffer;
GPR_ASSERT(
grpc::SerializationTraits<keyvaluestore::Request>::Deserialize(
&copied_buffer, &req_msg)
.ok());
CHECK(grpc::SerializationTraits<keyvaluestore::Request>::Deserialize(
&copied_buffer, &req_msg)
.ok());
requested_key = req_msg.key();
}

@ -58,7 +58,7 @@ target_link_libraries(hw_grpc_proto
# Targets greeter_[async_](client|server)
foreach(_target
greeter_callback_client greeter_callback_server
greeter_callback_client greeter_callback_server)
add_executable(${_target} "${_target}.cc")
target_link_libraries(${_target}
hw_grpc_proto

@ -37,5 +37,6 @@ cc_binary(
"//examples/protos:helloworld_cc_grpc",
"@com_google_absl//absl/flags:flag",
"@com_google_absl//absl/flags:parse",
"@com_google_absl//absl/log",
],
)

@ -22,6 +22,7 @@
#include "absl/flags/flag.h"
#include "absl/flags/parse.h"
#include "absl/log/log.h"
#include "absl/strings/str_cat.h"
#include <grpcpp/ext/admin_services.h>
@ -84,21 +85,20 @@ void RunServer() {
absl::StrCat("0.0.0.0:", port),
grpc::XdsServerCredentials(grpc::InsecureServerCredentials()));
xds_enabled_server = xds_builder.BuildAndStart();
gpr_log(GPR_INFO, "Server starting on 0.0.0.0:%d", port);
LOG(INFO) << "Server starting on 0.0.0.0:" << port;
grpc::AddAdminServices(&builder);
// For the maintenance server, do not use any authentication mechanism.
builder.AddListeningPort(absl::StrCat("0.0.0.0:", maintenance_port),
grpc::InsecureServerCredentials());
server = builder.BuildAndStart();
gpr_log(GPR_INFO, "Maintenance server listening on 0.0.0.0:%d",
maintenance_port);
LOG(INFO) << "Maintenance server listening on 0.0.0.0:" << maintenance_port;
} else {
grpc::AddAdminServices(&xds_builder);
// Listen on the given address without any authentication mechanism.
builder.AddListeningPort(absl::StrCat("0.0.0.0:", port),
grpc::InsecureServerCredentials());
server = xds_builder.BuildAndStart();
gpr_log(GPR_INFO, "Server listening on 0.0.0.0:%d", port);
LOG(INFO) << "Server listening on 0.0.0.0:" << port;
}
// Wait for the server to shutdown. Note that some other thread must be

@ -1,7 +1,7 @@
# -*- coding: utf-8 -*-
# Generated by the protocol buffer compiler. DO NOT EDIT!
# source: helloworld.proto
# Protobuf Python Version: 4.25.0
# Protobuf Python Version: 4.25.1
"""Generated protocol buffer code."""
from google.protobuf import descriptor as _descriptor
from google.protobuf import descriptor_pool as _descriptor_pool

@ -1,9 +1,34 @@
# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT!
"""Client and server classes corresponding to protobuf-defined services."""
import grpc
import warnings
import helloworld_pb2 as helloworld__pb2
GRPC_GENERATED_VERSION = '1.63.0.dev0'
GRPC_VERSION = grpc.__version__
EXPECTED_ERROR_RELEASE = '1.65.0'
SCHEDULED_RELEASE_DATE = 'June 25, 2024'
_version_not_supported = False
try:
from grpc._utilities import first_version_is_lower
_version_not_supported = first_version_is_lower(GRPC_VERSION, GRPC_GENERATED_VERSION)
except ImportError:
_version_not_supported = True
if _version_not_supported:
warnings.warn(
f'The grpc package installed is at version {GRPC_VERSION},'
+ f' but the generated code in helloworld_pb2_grpc.py depends on'
+ f' grpcio>={GRPC_GENERATED_VERSION}.'
+ f' Please upgrade your grpc module to grpcio>={GRPC_GENERATED_VERSION}'
+ f' or downgrade your generated code using grpcio-tools<={GRPC_VERSION}.'
+ f' This warning will become an error in {EXPECTED_ERROR_RELEASE},'
+ f' scheduled for release on {SCHEDULED_RELEASE_DATE}.',
RuntimeWarning
)
class GreeterStub(object):
"""The greeting service definition.

@ -16,7 +16,6 @@
from collections import defaultdict
import logging
import time
from typing import Optional
import grpc
import grpc_observability
@ -29,14 +28,6 @@ from opentelemetry.sdk.metrics.export import PeriodicExportingMetricReader
OTEL_EXPORT_INTERVAL_S = 0.5
class BaseOpenTelemetryPlugin(grpc_observability.OpenTelemetryPlugin):
def __init__(self, provider: MeterProvider):
self.provider = provider
def get_meter_provider(self) -> Optional[MeterProvider]:
return self.provider
def run():
all_metrics = defaultdict(list)
otel_exporter = open_telemetry_exporter.OTelMetricExporter(all_metrics)
@ -45,9 +36,11 @@ def run():
export_interval_millis=OTEL_EXPORT_INTERVAL_S * 1000,
)
provider = MeterProvider(metric_readers=[reader])
otel_plugin = BaseOpenTelemetryPlugin(provider)
grpc_observability.start_open_telemetry_observability(plugins=[otel_plugin])
otel_plugin = grpc_observability.OpenTelemetryPlugin(
meter_provider=provider
)
otel_plugin.register_global()
with grpc.insecure_channel(target="localhost:50051") as channel:
stub = helloworld_pb2_grpc.GreeterStub(channel)
@ -56,7 +49,7 @@ def run():
print(f"Greeter client received: {response.message}")
except grpc.RpcError as rpc_error:
print("Call failed with code: ", rpc_error.code())
grpc_observability.end_open_telemetry_observability()
otel_plugin.deregister_global()
# Sleep to make sure all metrics are exported.
time.sleep(5)

@ -17,7 +17,6 @@ from collections import defaultdict
from concurrent import futures
import logging
import time
from typing import Optional
import grpc
import grpc_observability
@ -31,14 +30,6 @@ _OTEL_EXPORT_INTERVAL_S = 0.5
_SERVER_PORT = "50051"
class BaseOpenTelemetryPlugin(grpc_observability.OpenTelemetryPlugin):
def __init__(self, provider: MeterProvider):
self.provider = provider
def get_meter_provider(self) -> Optional[MeterProvider]:
return self.provider
class Greeter(helloworld_pb2_grpc.GreeterServicer):
def SayHello(self, request, context):
message = request.name
@ -55,9 +46,11 @@ def serve():
export_interval_millis=_OTEL_EXPORT_INTERVAL_S * 1000,
)
provider = MeterProvider(metric_readers=[reader])
otel_plugin = BaseOpenTelemetryPlugin(provider)
grpc_observability.start_open_telemetry_observability(plugins=[otel_plugin])
otel_plugin = grpc_observability.OpenTelemetryPlugin(
meter_provider=provider
)
otel_plugin.register_global()
server = grpc.server(
thread_pool=futures.ThreadPoolExecutor(max_workers=10),
@ -74,7 +67,7 @@ def serve():
print(metric)
server.stop(0)
grpc_observability.end_open_telemetry_observability()
otel_plugin.deregister_global()
if __name__ == "__main__":

@ -14,23 +14,20 @@
// Test to verify Fuzztest integration
#include <grpc/event_engine/memory_allocator.h>
#include <stddef.h>
#include <stdint.h>
#include <vector>
#include <memory>
#include <optional>
#include <vector>
#include "absl/random/random.h"
#include "fuzztest/fuzztest.h"
#include "gtest/gtest.h"
#include "src/core/ext/transport/chttp2/transport/hpack_encoder.h"
#include "src/core/ext/transport/chttp2/transport/hpack_parser.h"
#include "src/core/lib/resource_quota/memory_quota.h"
#include "src/core/lib/resource_quota/resource_quota.h"
#include "src/core/lib/gprpp/ref_counted_ptr.h"
#include "src/core/lib/gprpp/time.h"
#include "src/core/lib/resource_quota/arena.h"
#include "src/core/lib/slice/slice_buffer.h"
#include "src/core/lib/transport/metadata_batch.h"
@ -43,9 +40,6 @@ void EncodeTimeouts(std::vector<uint32_t> timeouts) {
hpack_encoder_detail::TimeoutCompressorImpl timeout_compressor;
HPackCompressor compressor;
HPackParser parser;
MemoryAllocator memory_allocator = MemoryAllocator(
ResourceQuota::Default()->memory_quota()->CreateMemoryAllocator("test"));
auto arena = MakeScopedArena(1024, &memory_allocator);
for (size_t i = 0; i < timeouts.size(); i++) {
SliceBuffer encoded;
hpack_encoder_detail::Encoder encoder(&compressor, false, encoded);
@ -53,7 +47,7 @@ void EncodeTimeouts(std::vector<uint32_t> timeouts) {
"grpc-timeout",
Timestamp::ProcessEpoch() + Duration::Milliseconds(timeouts[i]),
&encoder);
grpc_metadata_batch b(arena.get());
grpc_metadata_batch b;
const uint32_t kMetadataSizeLimit = 3u * 1024 * 1024 * 1024;
parser.BeginFrame(
&b, kMetadataSizeLimit, kMetadataSizeLimit, HPackParser::Boundary::None,

74
gRPC-C++.podspec generated

@ -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.63.0-dev'
version = '1.64.0-dev'
s.version = version
s.summary = 'gRPC C++ library'
s.homepage = 'https://grpc.io'
@ -225,11 +225,12 @@ Pod::Spec.new do |s|
ss.dependency "#{s.name}/Privacy", version
ss.dependency "#{s.name}/Interface", version
ss.dependency 'gRPC-Core', version
abseil_version = '1.20240116.1'
abseil_version = '~> 1.20240116.2'
ss.dependency 'abseil/algorithm/container', abseil_version
ss.dependency 'abseil/base/base', abseil_version
ss.dependency 'abseil/base/config', abseil_version
ss.dependency 'abseil/base/core_headers', abseil_version
ss.dependency 'abseil/base/log_severity', abseil_version
ss.dependency 'abseil/base/no_destructor', abseil_version
ss.dependency 'abseil/cleanup/cleanup', abseil_version
ss.dependency 'abseil/container/flat_hash_map', abseil_version
@ -241,6 +242,7 @@ Pod::Spec.new do |s|
ss.dependency 'abseil/functional/bind_front', abseil_version
ss.dependency 'abseil/functional/function_ref', abseil_version
ss.dependency 'abseil/hash/hash', abseil_version
ss.dependency 'abseil/log/log', abseil_version
ss.dependency 'abseil/memory/memory', abseil_version
ss.dependency 'abseil/meta/type_traits', abseil_version
ss.dependency 'abseil/random/bit_gen_ref', abseil_version
@ -258,8 +260,10 @@ Pod::Spec.new do |s|
ss.dependency 'abseil/types/variant', abseil_version
ss.dependency 'abseil/utility/utility', abseil_version
ss.source_files = 'src/core/client_channel/backup_poller.h',
'src/core/client_channel/client_channel_channelz.h',
ss.source_files = 'src/core/channelz/channel_trace.h',
'src/core/channelz/channelz.h',
'src/core/channelz/channelz_registry.h',
'src/core/client_channel/backup_poller.h',
'src/core/client_channel/client_channel_factory.h',
'src/core/client_channel/client_channel_filter.h',
'src/core/client_channel/client_channel_internal.h',
@ -280,7 +284,6 @@ Pod::Spec.new do |s|
'src/core/client_channel/subchannel_stream_client.h',
'src/core/ext/filters/backend_metrics/backend_metric_filter.h',
'src/core/ext/filters/backend_metrics/backend_metric_provider.h',
'src/core/ext/filters/channel_idle/channel_idle_filter.h',
'src/core/ext/filters/channel_idle/idle_filter_state.h',
'src/core/ext/filters/channel_idle/legacy_channel_idle_filter.h',
'src/core/ext/filters/deadline/deadline_filter.h',
@ -289,7 +292,6 @@ Pod::Spec.new do |s|
'src/core/ext/filters/http/client/http_client_filter.h',
'src/core/ext/filters/http/client_authority_filter.h',
'src/core/ext/filters/http/message_compress/compression_filter.h',
'src/core/ext/filters/http/message_compress/legacy_compression_filter.h',
'src/core/ext/filters/http/server/http_server_filter.h',
'src/core/ext/filters/message_size/message_size_filter.h',
'src/core/ext/filters/rbac/rbac_filter.h',
@ -879,6 +881,7 @@ Pod::Spec.new do |s|
'src/core/ext/xds/xds_http_stateful_session_filter.h',
'src/core/ext/xds/xds_lb_policy_registry.h',
'src/core/ext/xds/xds_listener.h',
'src/core/ext/xds/xds_metrics.h',
'src/core/ext/xds/xds_resource_type.h',
'src/core/ext/xds/xds_resource_type_impl.h',
'src/core/ext/xds/xds_route_config.h',
@ -899,13 +902,11 @@ Pod::Spec.new do |s|
'src/core/lib/channel/channel_stack_builder.h',
'src/core/lib/channel/channel_stack_builder_impl.h',
'src/core/lib/channel/channel_stack_trace.h',
'src/core/lib/channel/channel_trace.h',
'src/core/lib/channel/channelz.h',
'src/core/lib/channel/channelz_registry.h',
'src/core/lib/channel/connected_channel.h',
'src/core/lib/channel/context.h',
'src/core/lib/channel/metrics.h',
'src/core/lib/channel/promise_based_filter.h',
'src/core/lib/channel/server_call_tracer_filter.h',
'src/core/lib/channel/status_util.h',
'src/core/lib/channel/tcp_tracer.h',
'src/core/lib/compression/compression_internal.h',
@ -927,6 +928,7 @@ Pod::Spec.new do |s|
'src/core/lib/event_engine/common_closures.h',
'src/core/lib/event_engine/default_event_engine.h',
'src/core/lib/event_engine/default_event_engine_factory.h',
'src/core/lib/event_engine/event_engine_context.h',
'src/core/lib/event_engine/extensions/can_track_errors.h',
'src/core/lib/event_engine/extensions/chaotic_good_extension.h',
'src/core/lib/event_engine/extensions/supports_fd.h',
@ -1212,7 +1214,6 @@ Pod::Spec.new do |s|
'src/core/lib/security/transport/security_handshaker.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.h',
'src/core/lib/slice/slice_buffer.h',
@ -1240,13 +1241,13 @@ Pod::Spec.new do |s|
'src/core/lib/surface/wait_for_cq_end_op.h',
'src/core/lib/transport/batch_builder.h',
'src/core/lib/transport/bdp_estimator.h',
'src/core/lib/transport/call_factory.h',
'src/core/lib/transport/call_filters.h',
'src/core/lib/transport/call_final_info.h',
'src/core/lib/transport/call_size_estimator.h',
'src/core/lib/transport/call_spine.h',
'src/core/lib/transport/connectivity_state.h',
'src/core/lib/transport/custom_metadata.h',
'src/core/lib/transport/endpoint_info_handshaker.h',
'src/core/lib/transport/error_utils.h',
'src/core/lib/transport/handshaker.h',
'src/core/lib/transport/handshaker_factory.h',
@ -1289,7 +1290,6 @@ Pod::Spec.new do |s|
'src/core/load_balancing/ring_hash/ring_hash.h',
'src/core/load_balancing/rls/rls.h',
'src/core/load_balancing/subchannel_interface.h',
'src/core/load_balancing/subchannel_list.h',
'src/core/load_balancing/weighted_round_robin/static_stride_scheduler.h',
'src/core/load_balancing/weighted_target/weighted_target.h',
'src/core/load_balancing/xds/xds_channel_args.h',
@ -1344,7 +1344,9 @@ Pod::Spec.new do |s|
'src/core/tsi/transport_security.h',
'src/core/tsi/transport_security_grpc.h',
'src/core/tsi/transport_security_interface.h',
'src/cpp/client/call_credentials.cc',
'src/cpp/client/channel_cc.cc',
'src/cpp/client/channel_credentials.cc',
'src/cpp/client/client_callback.cc',
'src/cpp/client/client_context.cc',
'src/cpp/client/client_interceptor.cc',
@ -1366,7 +1368,6 @@ Pod::Spec.new do |s|
'src/cpp/common/rpc_method.cc',
'src/cpp/common/secure_auth_context.cc',
'src/cpp/common/secure_auth_context.h',
'src/cpp/common/secure_channel_arguments.cc',
'src/cpp/common/secure_create_auth_context.cc',
'src/cpp/common/tls_certificate_provider.cc',
'src/cpp/common/tls_certificate_verifier.cc',
@ -1392,6 +1393,7 @@ Pod::Spec.new do |s|
'src/cpp/server/server_callback.cc',
'src/cpp/server/server_cc.cc',
'src/cpp/server/server_context.cc',
'src/cpp/server/server_credentials.cc',
'src/cpp/server/server_posix.cc',
'src/cpp/server/thread_pool_interface.h',
'src/cpp/server/xds_server_builder.cc',
@ -1424,10 +1426,12 @@ Pod::Spec.new do |s|
'third_party/re2/util/utf.h',
'third_party/re2/util/util.h',
'third_party/upb/upb/base/descriptor_constants.h',
'third_party/upb/upb/base/internal/endian.h',
'third_party/upb/upb/base/internal/log2.h',
'third_party/upb/upb/base/status.h',
'third_party/upb/upb/base/status.hpp',
'third_party/upb/upb/base/string_view.h',
'third_party/upb/upb/base/upcast.h',
'third_party/upb/upb/generated_code_support.h',
'third_party/upb/upb/hash/common.h',
'third_party/upb/upb/hash/int_table.h',
@ -1444,6 +1448,8 @@ Pod::Spec.new do |s|
'third_party/upb/upb/mem/internal/arena.h',
'third_party/upb/upb/message/accessors.h',
'third_party/upb/upb/message/array.h',
'third_party/upb/upb/message/compat.h',
'third_party/upb/upb/message/copy.h',
'third_party/upb/upb/message/internal/accessors.h',
'third_party/upb/upb/message/internal/array.h',
'third_party/upb/upb/message/internal/extension.h',
@ -1451,12 +1457,12 @@ Pod::Spec.new do |s|
'third_party/upb/upb/message/internal/map_entry.h',
'third_party/upb/upb/message/internal/map_sorter.h',
'third_party/upb/upb/message/internal/message.h',
'third_party/upb/upb/message/internal/tagged_ptr.h',
'third_party/upb/upb/message/internal/types.h',
'third_party/upb/upb/message/map.h',
'third_party/upb/upb/message/map_gencode_util.h',
'third_party/upb/upb/message/message.h',
'third_party/upb/upb/message/tagged_ptr.h',
'third_party/upb/upb/message/types.h',
'third_party/upb/upb/message/value.h',
'third_party/upb/upb/mini_descriptor/build_enum.h',
'third_party/upb/upb/mini_descriptor/decode.h',
@ -1477,6 +1483,7 @@ Pod::Spec.new do |s|
'third_party/upb/upb/mini_table/internal/field.h',
'third_party/upb/upb/mini_table/internal/file.h',
'third_party/upb/upb/mini_table/internal/message.h',
'third_party/upb/upb/mini_table/internal/size_log2.h',
'third_party/upb/upb/mini_table/internal/sub.h',
'third_party/upb/upb/mini_table/message.h',
'third_party/upb/upb/mini_table/sub.h',
@ -1510,6 +1517,7 @@ Pod::Spec.new do |s|
'third_party/upb/upb/reflection/internal/oneof_def.h',
'third_party/upb/upb/reflection/internal/service_def.h',
'third_party/upb/upb/reflection/internal/strdup2.h',
'third_party/upb/upb/reflection/internal/upb_edition_defaults.h',
'third_party/upb/upb/reflection/message.h',
'third_party/upb/upb/reflection/message.hpp',
'third_party/upb/upb/reflection/message_def.h',
@ -1519,12 +1527,12 @@ Pod::Spec.new do |s|
'third_party/upb/upb/reflection/service_def.h',
'third_party/upb/upb/text/encode.h',
'third_party/upb/upb/wire/decode.h',
'third_party/upb/upb/wire/decode_fast.h',
'third_party/upb/upb/wire/encode.h',
'third_party/upb/upb/wire/eps_copy_input_stream.h',
'third_party/upb/upb/wire/internal/constants.h',
'third_party/upb/upb/wire/internal/decode.h',
'third_party/upb/upb/wire/internal/swap.h',
'third_party/upb/upb/wire/internal/decode_fast.h',
'third_party/upb/upb/wire/internal/decoder.h',
'third_party/upb/upb/wire/internal/reader.h',
'third_party/upb/upb/wire/reader.h',
'third_party/upb/upb/wire/types.h',
'third_party/utf8_range/utf8_range.h',
@ -1541,8 +1549,10 @@ Pod::Spec.new do |s|
'third_party/zlib/zlib.h',
'third_party/zlib/zutil.h'
ss.private_header_files = 'src/core/client_channel/backup_poller.h',
'src/core/client_channel/client_channel_channelz.h',
ss.private_header_files = 'src/core/channelz/channel_trace.h',
'src/core/channelz/channelz.h',
'src/core/channelz/channelz_registry.h',
'src/core/client_channel/backup_poller.h',
'src/core/client_channel/client_channel_factory.h',
'src/core/client_channel/client_channel_filter.h',
'src/core/client_channel/client_channel_internal.h',
@ -1563,7 +1573,6 @@ Pod::Spec.new do |s|
'src/core/client_channel/subchannel_stream_client.h',
'src/core/ext/filters/backend_metrics/backend_metric_filter.h',
'src/core/ext/filters/backend_metrics/backend_metric_provider.h',
'src/core/ext/filters/channel_idle/channel_idle_filter.h',
'src/core/ext/filters/channel_idle/idle_filter_state.h',
'src/core/ext/filters/channel_idle/legacy_channel_idle_filter.h',
'src/core/ext/filters/deadline/deadline_filter.h',
@ -1572,7 +1581,6 @@ Pod::Spec.new do |s|
'src/core/ext/filters/http/client/http_client_filter.h',
'src/core/ext/filters/http/client_authority_filter.h',
'src/core/ext/filters/http/message_compress/compression_filter.h',
'src/core/ext/filters/http/message_compress/legacy_compression_filter.h',
'src/core/ext/filters/http/server/http_server_filter.h',
'src/core/ext/filters/message_size/message_size_filter.h',
'src/core/ext/filters/rbac/rbac_filter.h',
@ -2144,6 +2152,7 @@ Pod::Spec.new do |s|
'src/core/ext/xds/xds_http_stateful_session_filter.h',
'src/core/ext/xds/xds_lb_policy_registry.h',
'src/core/ext/xds/xds_listener.h',
'src/core/ext/xds/xds_metrics.h',
'src/core/ext/xds/xds_resource_type.h',
'src/core/ext/xds/xds_resource_type_impl.h',
'src/core/ext/xds/xds_route_config.h',
@ -2164,13 +2173,11 @@ Pod::Spec.new do |s|
'src/core/lib/channel/channel_stack_builder.h',
'src/core/lib/channel/channel_stack_builder_impl.h',
'src/core/lib/channel/channel_stack_trace.h',
'src/core/lib/channel/channel_trace.h',
'src/core/lib/channel/channelz.h',
'src/core/lib/channel/channelz_registry.h',
'src/core/lib/channel/connected_channel.h',
'src/core/lib/channel/context.h',
'src/core/lib/channel/metrics.h',
'src/core/lib/channel/promise_based_filter.h',
'src/core/lib/channel/server_call_tracer_filter.h',
'src/core/lib/channel/status_util.h',
'src/core/lib/channel/tcp_tracer.h',
'src/core/lib/compression/compression_internal.h',
@ -2192,6 +2199,7 @@ Pod::Spec.new do |s|
'src/core/lib/event_engine/common_closures.h',
'src/core/lib/event_engine/default_event_engine.h',
'src/core/lib/event_engine/default_event_engine_factory.h',
'src/core/lib/event_engine/event_engine_context.h',
'src/core/lib/event_engine/extensions/can_track_errors.h',
'src/core/lib/event_engine/extensions/chaotic_good_extension.h',
'src/core/lib/event_engine/extensions/supports_fd.h',
@ -2477,7 +2485,6 @@ Pod::Spec.new do |s|
'src/core/lib/security/transport/security_handshaker.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.h',
'src/core/lib/slice/slice_buffer.h',
@ -2505,13 +2512,13 @@ Pod::Spec.new do |s|
'src/core/lib/surface/wait_for_cq_end_op.h',
'src/core/lib/transport/batch_builder.h',
'src/core/lib/transport/bdp_estimator.h',
'src/core/lib/transport/call_factory.h',
'src/core/lib/transport/call_filters.h',
'src/core/lib/transport/call_final_info.h',
'src/core/lib/transport/call_size_estimator.h',
'src/core/lib/transport/call_spine.h',
'src/core/lib/transport/connectivity_state.h',
'src/core/lib/transport/custom_metadata.h',
'src/core/lib/transport/endpoint_info_handshaker.h',
'src/core/lib/transport/error_utils.h',
'src/core/lib/transport/handshaker.h',
'src/core/lib/transport/handshaker_factory.h',
@ -2554,7 +2561,6 @@ Pod::Spec.new do |s|
'src/core/load_balancing/ring_hash/ring_hash.h',
'src/core/load_balancing/rls/rls.h',
'src/core/load_balancing/subchannel_interface.h',
'src/core/load_balancing/subchannel_list.h',
'src/core/load_balancing/weighted_round_robin/static_stride_scheduler.h',
'src/core/load_balancing/weighted_target/weighted_target.h',
'src/core/load_balancing/xds/xds_channel_args.h',
@ -2642,10 +2648,12 @@ Pod::Spec.new do |s|
'third_party/re2/util/utf.h',
'third_party/re2/util/util.h',
'third_party/upb/upb/base/descriptor_constants.h',
'third_party/upb/upb/base/internal/endian.h',
'third_party/upb/upb/base/internal/log2.h',
'third_party/upb/upb/base/status.h',
'third_party/upb/upb/base/status.hpp',
'third_party/upb/upb/base/string_view.h',
'third_party/upb/upb/base/upcast.h',
'third_party/upb/upb/generated_code_support.h',
'third_party/upb/upb/hash/common.h',
'third_party/upb/upb/hash/int_table.h',
@ -2662,6 +2670,8 @@ Pod::Spec.new do |s|
'third_party/upb/upb/mem/internal/arena.h',
'third_party/upb/upb/message/accessors.h',
'third_party/upb/upb/message/array.h',
'third_party/upb/upb/message/compat.h',
'third_party/upb/upb/message/copy.h',
'third_party/upb/upb/message/internal/accessors.h',
'third_party/upb/upb/message/internal/array.h',
'third_party/upb/upb/message/internal/extension.h',
@ -2669,12 +2679,12 @@ Pod::Spec.new do |s|
'third_party/upb/upb/message/internal/map_entry.h',
'third_party/upb/upb/message/internal/map_sorter.h',
'third_party/upb/upb/message/internal/message.h',
'third_party/upb/upb/message/internal/tagged_ptr.h',
'third_party/upb/upb/message/internal/types.h',
'third_party/upb/upb/message/map.h',
'third_party/upb/upb/message/map_gencode_util.h',
'third_party/upb/upb/message/message.h',
'third_party/upb/upb/message/tagged_ptr.h',
'third_party/upb/upb/message/types.h',
'third_party/upb/upb/message/value.h',
'third_party/upb/upb/mini_descriptor/build_enum.h',
'third_party/upb/upb/mini_descriptor/decode.h',
@ -2695,6 +2705,7 @@ Pod::Spec.new do |s|
'third_party/upb/upb/mini_table/internal/field.h',
'third_party/upb/upb/mini_table/internal/file.h',
'third_party/upb/upb/mini_table/internal/message.h',
'third_party/upb/upb/mini_table/internal/size_log2.h',
'third_party/upb/upb/mini_table/internal/sub.h',
'third_party/upb/upb/mini_table/message.h',
'third_party/upb/upb/mini_table/sub.h',
@ -2728,6 +2739,7 @@ Pod::Spec.new do |s|
'third_party/upb/upb/reflection/internal/oneof_def.h',
'third_party/upb/upb/reflection/internal/service_def.h',
'third_party/upb/upb/reflection/internal/strdup2.h',
'third_party/upb/upb/reflection/internal/upb_edition_defaults.h',
'third_party/upb/upb/reflection/message.h',
'third_party/upb/upb/reflection/message.hpp',
'third_party/upb/upb/reflection/message_def.h',
@ -2737,12 +2749,12 @@ Pod::Spec.new do |s|
'third_party/upb/upb/reflection/service_def.h',
'third_party/upb/upb/text/encode.h',
'third_party/upb/upb/wire/decode.h',
'third_party/upb/upb/wire/decode_fast.h',
'third_party/upb/upb/wire/encode.h',
'third_party/upb/upb/wire/eps_copy_input_stream.h',
'third_party/upb/upb/wire/internal/constants.h',
'third_party/upb/upb/wire/internal/decode.h',
'third_party/upb/upb/wire/internal/swap.h',
'third_party/upb/upb/wire/internal/decode_fast.h',
'third_party/upb/upb/wire/internal/decoder.h',
'third_party/upb/upb/wire/internal/reader.h',
'third_party/upb/upb/wire/reader.h',
'third_party/upb/upb/wire/types.h',
'third_party/utf8_range/utf8_range.h',

95
gRPC-Core.podspec generated

@ -21,7 +21,7 @@
Pod::Spec.new do |s|
s.name = 'gRPC-Core'
version = '1.63.0-dev'
version = '1.64.0-dev'
s.version = version
s.summary = 'Core cross-platform gRPC library, written in C'
s.homepage = 'https://grpc.io'
@ -46,7 +46,7 @@ Pod::Spec.new do |s|
s.requires_arc = false
name = 'grpc'
abseil_version = '1.20240116.1'
abseil_version = '~> 1.20240116.2'
# When creating a dynamic framework, name it grpc.framework instead of gRPC-Core.framework.
# This lets users write their includes like `#include <grpc/grpc.h>` as opposed to `#include
@ -119,6 +119,7 @@ Pod::Spec.new do |s|
'include/grpc/byte_buffer_reader.h',
'include/grpc/census.h',
'include/grpc/compression.h',
'include/grpc/credentials.h',
'include/grpc/event_engine/endpoint_config.h',
'include/grpc/event_engine/event_engine.h',
'include/grpc/event_engine/extensible.h',
@ -178,6 +179,7 @@ Pod::Spec.new do |s|
'include/grpc/support/json.h',
'include/grpc/support/log.h',
'include/grpc/support/log_windows.h',
'include/grpc/support/metrics.h',
'include/grpc/support/port_platform.h',
'include/grpc/support/string_util.h',
'include/grpc/support/sync.h',
@ -200,6 +202,7 @@ Pod::Spec.new do |s|
ss.dependency 'abseil/base/base', abseil_version
ss.dependency 'abseil/base/config', abseil_version
ss.dependency 'abseil/base/core_headers', abseil_version
ss.dependency 'abseil/base/log_severity', abseil_version
ss.dependency 'abseil/base/no_destructor', abseil_version
ss.dependency 'abseil/cleanup/cleanup', abseil_version
ss.dependency 'abseil/container/flat_hash_map', abseil_version
@ -211,6 +214,7 @@ Pod::Spec.new do |s|
ss.dependency 'abseil/functional/bind_front', abseil_version
ss.dependency 'abseil/functional/function_ref', abseil_version
ss.dependency 'abseil/hash/hash', abseil_version
ss.dependency 'abseil/log/log', abseil_version
ss.dependency 'abseil/memory/memory', abseil_version
ss.dependency 'abseil/meta/type_traits', abseil_version
ss.dependency 'abseil/random/bit_gen_ref', abseil_version
@ -229,10 +233,14 @@ Pod::Spec.new do |s|
ss.dependency 'abseil/utility/utility', abseil_version
ss.compiler_flags = '-DBORINGSSL_PREFIX=GRPC -Wno-unreachable-code -Wno-shorten-64-to-32'
ss.source_files = 'src/core/client_channel/backup_poller.cc',
ss.source_files = 'src/core/channelz/channel_trace.cc',
'src/core/channelz/channel_trace.h',
'src/core/channelz/channelz.cc',
'src/core/channelz/channelz.h',
'src/core/channelz/channelz_registry.cc',
'src/core/channelz/channelz_registry.h',
'src/core/client_channel/backup_poller.cc',
'src/core/client_channel/backup_poller.h',
'src/core/client_channel/client_channel_channelz.cc',
'src/core/client_channel/client_channel_channelz.h',
'src/core/client_channel/client_channel_factory.cc',
'src/core/client_channel/client_channel_factory.h',
'src/core/client_channel/client_channel_filter.cc',
@ -271,8 +279,6 @@ Pod::Spec.new do |s|
'src/core/ext/filters/backend_metrics/backend_metric_filter.h',
'src/core/ext/filters/backend_metrics/backend_metric_provider.h',
'src/core/ext/filters/census/grpc_context.cc',
'src/core/ext/filters/channel_idle/channel_idle_filter.cc',
'src/core/ext/filters/channel_idle/channel_idle_filter.h',
'src/core/ext/filters/channel_idle/idle_filter_state.cc',
'src/core/ext/filters/channel_idle/idle_filter_state.h',
'src/core/ext/filters/channel_idle/legacy_channel_idle_filter.cc',
@ -290,8 +296,6 @@ Pod::Spec.new do |s|
'src/core/ext/filters/http/http_filters_plugin.cc',
'src/core/ext/filters/http/message_compress/compression_filter.cc',
'src/core/ext/filters/http/message_compress/compression_filter.h',
'src/core/ext/filters/http/message_compress/legacy_compression_filter.cc',
'src/core/ext/filters/http/message_compress/legacy_compression_filter.h',
'src/core/ext/filters/http/server/http_server_filter.cc',
'src/core/ext/filters/http/server/http_server_filter.h',
'src/core/ext/filters/message_size/message_size_filter.cc',
@ -1224,6 +1228,7 @@ Pod::Spec.new do |s|
'src/core/ext/xds/xds_lb_policy_registry.h',
'src/core/ext/xds/xds_listener.cc',
'src/core/ext/xds/xds_listener.h',
'src/core/ext/xds/xds_metrics.h',
'src/core/ext/xds/xds_resource_type.h',
'src/core/ext/xds/xds_resource_type_impl.h',
'src/core/ext/xds/xds_route_config.cc',
@ -1259,12 +1264,6 @@ Pod::Spec.new do |s|
'src/core/lib/channel/channel_stack_builder_impl.h',
'src/core/lib/channel/channel_stack_trace.cc',
'src/core/lib/channel/channel_stack_trace.h',
'src/core/lib/channel/channel_trace.cc',
'src/core/lib/channel/channel_trace.h',
'src/core/lib/channel/channelz.cc',
'src/core/lib/channel/channelz.h',
'src/core/lib/channel/channelz_registry.cc',
'src/core/lib/channel/channelz_registry.h',
'src/core/lib/channel/connected_channel.cc',
'src/core/lib/channel/connected_channel.h',
'src/core/lib/channel/context.h',
@ -1273,6 +1272,7 @@ Pod::Spec.new do |s|
'src/core/lib/channel/promise_based_filter.cc',
'src/core/lib/channel/promise_based_filter.h',
'src/core/lib/channel/server_call_tracer_filter.cc',
'src/core/lib/channel/server_call_tracer_filter.h',
'src/core/lib/channel/status_util.cc',
'src/core/lib/channel/status_util.h',
'src/core/lib/channel/tcp_tracer.h',
@ -1315,6 +1315,7 @@ Pod::Spec.new do |s|
'src/core/lib/event_engine/default_event_engine_factory.cc',
'src/core/lib/event_engine/default_event_engine_factory.h',
'src/core/lib/event_engine/event_engine.cc',
'src/core/lib/event_engine/event_engine_context.h',
'src/core/lib/event_engine/extensions/can_track_errors.h',
'src/core/lib/event_engine/extensions/chaotic_good_extension.h',
'src/core/lib/event_engine/extensions/supports_fd.h',
@ -1849,7 +1850,6 @@ Pod::Spec.new do |s|
'src/core/lib/security/security_connector/tls/tls_security_connector.h',
'src/core/lib/security/transport/auth_filters.h',
'src/core/lib/security/transport/client_auth_filter.cc',
'src/core/lib/security/transport/legacy_server_auth_filter.cc',
'src/core/lib/security/transport/secure_endpoint.cc',
'src/core/lib/security/transport/secure_endpoint.h',
'src/core/lib/security/transport/security_handshaker.cc',
@ -1859,8 +1859,6 @@ Pod::Spec.new do |s|
'src/core/lib/security/transport/tsi_error.h',
'src/core/lib/security/util/json_util.cc',
'src/core/lib/security/util/json_util.h',
'src/core/lib/slice/b64.cc',
'src/core/lib/slice/b64.h',
'src/core/lib/slice/percent_encoding.cc',
'src/core/lib/slice/percent_encoding.h',
'src/core/lib/slice/slice.cc',
@ -1917,8 +1915,6 @@ Pod::Spec.new do |s|
'src/core/lib/transport/batch_builder.h',
'src/core/lib/transport/bdp_estimator.cc',
'src/core/lib/transport/bdp_estimator.h',
'src/core/lib/transport/call_factory.cc',
'src/core/lib/transport/call_factory.h',
'src/core/lib/transport/call_filters.cc',
'src/core/lib/transport/call_filters.h',
'src/core/lib/transport/call_final_info.cc',
@ -1930,6 +1926,8 @@ Pod::Spec.new do |s|
'src/core/lib/transport/connectivity_state.cc',
'src/core/lib/transport/connectivity_state.h',
'src/core/lib/transport/custom_metadata.h',
'src/core/lib/transport/endpoint_info_handshaker.cc',
'src/core/lib/transport/endpoint_info_handshaker.h',
'src/core/lib/transport/error_utils.cc',
'src/core/lib/transport/error_utils.h',
'src/core/lib/transport/handshaker.cc',
@ -2006,7 +2004,6 @@ Pod::Spec.new do |s|
'src/core/load_balancing/rls/rls.h',
'src/core/load_balancing/round_robin/round_robin.cc',
'src/core/load_balancing/subchannel_interface.h',
'src/core/load_balancing/subchannel_list.h',
'src/core/load_balancing/weighted_round_robin/static_stride_scheduler.cc',
'src/core/load_balancing/weighted_round_robin/static_stride_scheduler.h',
'src/core/load_balancing/weighted_round_robin/weighted_round_robin.cc',
@ -2168,11 +2165,13 @@ Pod::Spec.new do |s|
'third_party/re2/util/utf.h',
'third_party/re2/util/util.h',
'third_party/upb/upb/base/descriptor_constants.h',
'third_party/upb/upb/base/internal/endian.h',
'third_party/upb/upb/base/internal/log2.h',
'third_party/upb/upb/base/status.c',
'third_party/upb/upb/base/status.h',
'third_party/upb/upb/base/status.hpp',
'third_party/upb/upb/base/string_view.h',
'third_party/upb/upb/base/upcast.h',
'third_party/upb/upb/generated_code_support.h',
'third_party/upb/upb/hash/common.c',
'third_party/upb/upb/hash/common.h',
@ -2200,13 +2199,20 @@ Pod::Spec.new do |s|
'third_party/upb/upb/message/accessors.h',
'third_party/upb/upb/message/array.c',
'third_party/upb/upb/message/array.h',
'third_party/upb/upb/message/compat.c',
'third_party/upb/upb/message/compat.h',
'third_party/upb/upb/message/copy.c',
'third_party/upb/upb/message/copy.h',
'third_party/upb/upb/message/internal/accessors.h',
'third_party/upb/upb/message/internal/array.h',
'third_party/upb/upb/message/internal/extension.c',
'third_party/upb/upb/message/internal/extension.h',
'third_party/upb/upb/message/internal/map.h',
'third_party/upb/upb/message/internal/map_entry.h',
'third_party/upb/upb/message/internal/map_sorter.h',
'third_party/upb/upb/message/internal/message.c',
'third_party/upb/upb/message/internal/message.h',
'third_party/upb/upb/message/internal/tagged_ptr.h',
'third_party/upb/upb/message/internal/types.h',
'third_party/upb/upb/message/map.c',
'third_party/upb/upb/message/map.h',
@ -2215,7 +2221,6 @@ Pod::Spec.new do |s|
'third_party/upb/upb/message/message.c',
'third_party/upb/upb/message/message.h',
'third_party/upb/upb/message/tagged_ptr.h',
'third_party/upb/upb/message/types.h',
'third_party/upb/upb/message/value.h',
'third_party/upb/upb/mini_descriptor/build_enum.c',
'third_party/upb/upb/mini_descriptor/build_enum.h',
@ -2243,6 +2248,7 @@ Pod::Spec.new do |s|
'third_party/upb/upb/mini_table/internal/file.h',
'third_party/upb/upb/mini_table/internal/message.c',
'third_party/upb/upb/mini_table/internal/message.h',
'third_party/upb/upb/mini_table/internal/size_log2.h',
'third_party/upb/upb/mini_table/internal/sub.h',
'third_party/upb/upb/mini_table/message.c',
'third_party/upb/upb/mini_table/message.h',
@ -2288,6 +2294,7 @@ Pod::Spec.new do |s|
'third_party/upb/upb/reflection/internal/service_def.h',
'third_party/upb/upb/reflection/internal/strdup2.c',
'third_party/upb/upb/reflection/internal/strdup2.h',
'third_party/upb/upb/reflection/internal/upb_edition_defaults.h',
'third_party/upb/upb/reflection/message.c',
'third_party/upb/upb/reflection/message.h',
'third_party/upb/upb/reflection/message.hpp',
@ -2305,21 +2312,19 @@ Pod::Spec.new do |s|
'third_party/upb/upb/text/encode.h',
'third_party/upb/upb/wire/decode.c',
'third_party/upb/upb/wire/decode.h',
'third_party/upb/upb/wire/decode_fast.c',
'third_party/upb/upb/wire/decode_fast.h',
'third_party/upb/upb/wire/encode.c',
'third_party/upb/upb/wire/encode.h',
'third_party/upb/upb/wire/eps_copy_input_stream.c',
'third_party/upb/upb/wire/eps_copy_input_stream.h',
'third_party/upb/upb/wire/internal/constants.h',
'third_party/upb/upb/wire/internal/decode.h',
'third_party/upb/upb/wire/internal/swap.h',
'third_party/upb/upb/wire/internal/decode_fast.c',
'third_party/upb/upb/wire/internal/decode_fast.h',
'third_party/upb/upb/wire/internal/decoder.h',
'third_party/upb/upb/wire/internal/reader.h',
'third_party/upb/upb/wire/reader.c',
'third_party/upb/upb/wire/reader.h',
'third_party/upb/upb/wire/types.h',
'third_party/utf8_range/naive.c',
'third_party/utf8_range/range2-neon.c',
'third_party/utf8_range/range2-sse.c',
'third_party/utf8_range/utf8_range.c',
'third_party/utf8_range/utf8_range.h',
'third_party/xxhash/xxhash.h',
'third_party/zlib/adler32.c',
@ -2344,8 +2349,10 @@ Pod::Spec.new do |s|
'third_party/zlib/zlib.h',
'third_party/zlib/zutil.c',
'third_party/zlib/zutil.h'
ss.private_header_files = 'src/core/client_channel/backup_poller.h',
'src/core/client_channel/client_channel_channelz.h',
ss.private_header_files = 'src/core/channelz/channel_trace.h',
'src/core/channelz/channelz.h',
'src/core/channelz/channelz_registry.h',
'src/core/client_channel/backup_poller.h',
'src/core/client_channel/client_channel_factory.h',
'src/core/client_channel/client_channel_filter.h',
'src/core/client_channel/client_channel_internal.h',
@ -2366,7 +2373,6 @@ Pod::Spec.new do |s|
'src/core/client_channel/subchannel_stream_client.h',
'src/core/ext/filters/backend_metrics/backend_metric_filter.h',
'src/core/ext/filters/backend_metrics/backend_metric_provider.h',
'src/core/ext/filters/channel_idle/channel_idle_filter.h',
'src/core/ext/filters/channel_idle/idle_filter_state.h',
'src/core/ext/filters/channel_idle/legacy_channel_idle_filter.h',
'src/core/ext/filters/deadline/deadline_filter.h',
@ -2375,7 +2381,6 @@ Pod::Spec.new do |s|
'src/core/ext/filters/http/client/http_client_filter.h',
'src/core/ext/filters/http/client_authority_filter.h',
'src/core/ext/filters/http/message_compress/compression_filter.h',
'src/core/ext/filters/http/message_compress/legacy_compression_filter.h',
'src/core/ext/filters/http/server/http_server_filter.h',
'src/core/ext/filters/message_size/message_size_filter.h',
'src/core/ext/filters/rbac/rbac_filter.h',
@ -2926,6 +2931,7 @@ Pod::Spec.new do |s|
'src/core/ext/xds/xds_http_stateful_session_filter.h',
'src/core/ext/xds/xds_lb_policy_registry.h',
'src/core/ext/xds/xds_listener.h',
'src/core/ext/xds/xds_metrics.h',
'src/core/ext/xds/xds_resource_type.h',
'src/core/ext/xds/xds_resource_type_impl.h',
'src/core/ext/xds/xds_route_config.h',
@ -2946,13 +2952,11 @@ Pod::Spec.new do |s|
'src/core/lib/channel/channel_stack_builder.h',
'src/core/lib/channel/channel_stack_builder_impl.h',
'src/core/lib/channel/channel_stack_trace.h',
'src/core/lib/channel/channel_trace.h',
'src/core/lib/channel/channelz.h',
'src/core/lib/channel/channelz_registry.h',
'src/core/lib/channel/connected_channel.h',
'src/core/lib/channel/context.h',
'src/core/lib/channel/metrics.h',
'src/core/lib/channel/promise_based_filter.h',
'src/core/lib/channel/server_call_tracer_filter.h',
'src/core/lib/channel/status_util.h',
'src/core/lib/channel/tcp_tracer.h',
'src/core/lib/compression/compression_internal.h',
@ -2974,6 +2978,7 @@ Pod::Spec.new do |s|
'src/core/lib/event_engine/common_closures.h',
'src/core/lib/event_engine/default_event_engine.h',
'src/core/lib/event_engine/default_event_engine_factory.h',
'src/core/lib/event_engine/event_engine_context.h',
'src/core/lib/event_engine/extensions/can_track_errors.h',
'src/core/lib/event_engine/extensions/chaotic_good_extension.h',
'src/core/lib/event_engine/extensions/supports_fd.h',
@ -3259,7 +3264,6 @@ Pod::Spec.new do |s|
'src/core/lib/security/transport/security_handshaker.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.h',
'src/core/lib/slice/slice_buffer.h',
@ -3287,13 +3291,13 @@ Pod::Spec.new do |s|
'src/core/lib/surface/wait_for_cq_end_op.h',
'src/core/lib/transport/batch_builder.h',
'src/core/lib/transport/bdp_estimator.h',
'src/core/lib/transport/call_factory.h',
'src/core/lib/transport/call_filters.h',
'src/core/lib/transport/call_final_info.h',
'src/core/lib/transport/call_size_estimator.h',
'src/core/lib/transport/call_spine.h',
'src/core/lib/transport/connectivity_state.h',
'src/core/lib/transport/custom_metadata.h',
'src/core/lib/transport/endpoint_info_handshaker.h',
'src/core/lib/transport/error_utils.h',
'src/core/lib/transport/handshaker.h',
'src/core/lib/transport/handshaker_factory.h',
@ -3336,7 +3340,6 @@ Pod::Spec.new do |s|
'src/core/load_balancing/ring_hash/ring_hash.h',
'src/core/load_balancing/rls/rls.h',
'src/core/load_balancing/subchannel_interface.h',
'src/core/load_balancing/subchannel_list.h',
'src/core/load_balancing/weighted_round_robin/static_stride_scheduler.h',
'src/core/load_balancing/weighted_target/weighted_target.h',
'src/core/load_balancing/xds/xds_channel_args.h',
@ -3413,10 +3416,12 @@ Pod::Spec.new do |s|
'third_party/re2/util/utf.h',
'third_party/re2/util/util.h',
'third_party/upb/upb/base/descriptor_constants.h',
'third_party/upb/upb/base/internal/endian.h',
'third_party/upb/upb/base/internal/log2.h',
'third_party/upb/upb/base/status.h',
'third_party/upb/upb/base/status.hpp',
'third_party/upb/upb/base/string_view.h',
'third_party/upb/upb/base/upcast.h',
'third_party/upb/upb/generated_code_support.h',
'third_party/upb/upb/hash/common.h',
'third_party/upb/upb/hash/int_table.h',
@ -3433,6 +3438,8 @@ Pod::Spec.new do |s|
'third_party/upb/upb/mem/internal/arena.h',
'third_party/upb/upb/message/accessors.h',
'third_party/upb/upb/message/array.h',
'third_party/upb/upb/message/compat.h',
'third_party/upb/upb/message/copy.h',
'third_party/upb/upb/message/internal/accessors.h',
'third_party/upb/upb/message/internal/array.h',
'third_party/upb/upb/message/internal/extension.h',
@ -3440,12 +3447,12 @@ Pod::Spec.new do |s|
'third_party/upb/upb/message/internal/map_entry.h',
'third_party/upb/upb/message/internal/map_sorter.h',
'third_party/upb/upb/message/internal/message.h',
'third_party/upb/upb/message/internal/tagged_ptr.h',
'third_party/upb/upb/message/internal/types.h',
'third_party/upb/upb/message/map.h',
'third_party/upb/upb/message/map_gencode_util.h',
'third_party/upb/upb/message/message.h',
'third_party/upb/upb/message/tagged_ptr.h',
'third_party/upb/upb/message/types.h',
'third_party/upb/upb/message/value.h',
'third_party/upb/upb/mini_descriptor/build_enum.h',
'third_party/upb/upb/mini_descriptor/decode.h',
@ -3466,6 +3473,7 @@ Pod::Spec.new do |s|
'third_party/upb/upb/mini_table/internal/field.h',
'third_party/upb/upb/mini_table/internal/file.h',
'third_party/upb/upb/mini_table/internal/message.h',
'third_party/upb/upb/mini_table/internal/size_log2.h',
'third_party/upb/upb/mini_table/internal/sub.h',
'third_party/upb/upb/mini_table/message.h',
'third_party/upb/upb/mini_table/sub.h',
@ -3499,6 +3507,7 @@ Pod::Spec.new do |s|
'third_party/upb/upb/reflection/internal/oneof_def.h',
'third_party/upb/upb/reflection/internal/service_def.h',
'third_party/upb/upb/reflection/internal/strdup2.h',
'third_party/upb/upb/reflection/internal/upb_edition_defaults.h',
'third_party/upb/upb/reflection/message.h',
'third_party/upb/upb/reflection/message.hpp',
'third_party/upb/upb/reflection/message_def.h',
@ -3508,12 +3517,12 @@ Pod::Spec.new do |s|
'third_party/upb/upb/reflection/service_def.h',
'third_party/upb/upb/text/encode.h',
'third_party/upb/upb/wire/decode.h',
'third_party/upb/upb/wire/decode_fast.h',
'third_party/upb/upb/wire/encode.h',
'third_party/upb/upb/wire/eps_copy_input_stream.h',
'third_party/upb/upb/wire/internal/constants.h',
'third_party/upb/upb/wire/internal/decode.h',
'third_party/upb/upb/wire/internal/swap.h',
'third_party/upb/upb/wire/internal/decode_fast.h',
'third_party/upb/upb/wire/internal/decoder.h',
'third_party/upb/upb/wire/internal/reader.h',
'third_party/upb/upb/wire/reader.h',
'third_party/upb/upb/wire/types.h',
'third_party/utf8_range/utf8_range.h',

@ -21,7 +21,7 @@
Pod::Spec.new do |s|
s.name = 'gRPC-ProtoRPC'
version = '1.63.0-dev'
version = '1.64.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.63.0-dev'
version = '1.64.0-dev'
s.version = version
s.summary = 'Reactive Extensions library for iOS/OSX.'
s.homepage = 'https://grpc.io'

2
gRPC.podspec generated

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

130
grpc.def generated

@ -19,6 +19,70 @@ EXPORTS
grpc_compression_options_enable_algorithm
grpc_compression_options_disable_algorithm
grpc_compression_options_is_algorithm_enabled
grpc_service_account_jwt_access_credentials_create
grpc_external_account_credentials_create
grpc_google_refresh_token_credentials_create
grpc_access_token_credentials_create
grpc_google_iam_credentials_create
grpc_sts_credentials_create
grpc_auth_metadata_context_copy
grpc_auth_metadata_context_reset
grpc_metadata_credentials_create_from_plugin
grpc_call_credentials_release
grpc_google_default_credentials_create
grpc_ssl_server_certificate_config_create
grpc_ssl_server_certificate_config_destroy
grpc_ssl_credentials_create
grpc_ssl_credentials_create_ex
grpc_ssl_server_credentials_create
grpc_ssl_server_credentials_create_ex
grpc_ssl_server_credentials_create_options_using_config
grpc_ssl_server_credentials_create_options_using_config_fetcher
grpc_ssl_server_credentials_options_destroy
grpc_ssl_server_credentials_create_with_options
grpc_server_credentials_set_auth_metadata_processor
grpc_composite_call_credentials_create
grpc_google_compute_engine_credentials_create
grpc_composite_channel_credentials_create
grpc_alts_credentials_client_options_create
grpc_alts_credentials_server_options_create
grpc_alts_credentials_client_options_add_target_service_account
grpc_alts_credentials_options_destroy
grpc_alts_credentials_create
grpc_alts_server_credentials_create
grpc_tls_identity_pairs_create
grpc_tls_identity_pairs_add_pair
grpc_tls_identity_pairs_destroy
grpc_tls_certificate_provider_static_data_create
grpc_tls_certificate_provider_file_watcher_create
grpc_tls_certificate_provider_release
grpc_tls_credentials_options_create
grpc_tls_credentials_options_set_min_tls_version
grpc_tls_credentials_options_set_max_tls_version
grpc_tls_credentials_options_copy
grpc_tls_credentials_options_destroy
grpc_tls_credentials_options_set_certificate_provider
grpc_tls_credentials_options_watch_root_certs
grpc_tls_credentials_options_set_root_cert_name
grpc_tls_credentials_options_watch_identity_key_cert_pairs
grpc_tls_credentials_options_set_identity_cert_name
grpc_tls_credentials_options_set_cert_request_type
grpc_tls_credentials_options_set_crl_directory
grpc_tls_credentials_options_set_verify_server_cert
grpc_tls_credentials_options_set_send_client_ca_list
grpc_ssl_session_cache_create_lru
grpc_ssl_session_cache_destroy
grpc_ssl_session_cache_create_channel_arg
grpc_set_ssl_roots_override_callback
grpc_max_auth_token_lifetime
grpc_insecure_credentials_create
grpc_insecure_server_credentials_create
grpc_xds_credentials_create
grpc_xds_server_credentials_create
grpc_local_credentials_create
grpc_local_server_credentials_create
grpc_tls_credentials_options_set_check_call_host
grpc_tls_credentials_options_set_tls_session_key_log_file_path
grpc_metadata_array_init
grpc_metadata_array_destroy
grpc_call_details_init
@ -64,6 +128,7 @@ EXPORTS
grpc_call_failed_before_recv_message
grpc_call_ref
grpc_call_unref
grpc_call_set_credentials
grpc_server_request_call
grpc_server_register_method
grpc_server_request_registered_call
@ -110,74 +175,9 @@ EXPORTS
grpc_auth_context_add_property
grpc_auth_context_add_cstring_property
grpc_auth_context_set_peer_identity_property_name
grpc_ssl_session_cache_create_lru
grpc_ssl_session_cache_destroy
grpc_ssl_session_cache_create_channel_arg
grpc_call_credentials_release
grpc_google_default_credentials_create
grpc_set_ssl_roots_override_callback
grpc_ssl_credentials_create
grpc_ssl_credentials_create_ex
grpc_composite_channel_credentials_create
grpc_composite_call_credentials_create
grpc_google_compute_engine_credentials_create
grpc_max_auth_token_lifetime
grpc_service_account_jwt_access_credentials_create
grpc_external_account_credentials_create
grpc_google_refresh_token_credentials_create
grpc_access_token_credentials_create
grpc_google_iam_credentials_create
grpc_sts_credentials_create
grpc_auth_metadata_context_copy
grpc_auth_metadata_context_reset
grpc_metadata_credentials_create_from_plugin
grpc_ssl_server_certificate_config_create
grpc_ssl_server_certificate_config_destroy
grpc_ssl_server_credentials_create
grpc_ssl_server_credentials_create_ex
grpc_ssl_server_credentials_create_options_using_config
grpc_ssl_server_credentials_create_options_using_config_fetcher
grpc_ssl_server_credentials_options_destroy
grpc_ssl_server_credentials_create_with_options
grpc_call_set_credentials
grpc_server_credentials_set_auth_metadata_processor
grpc_alts_credentials_client_options_create
grpc_alts_credentials_server_options_create
grpc_alts_credentials_client_options_add_target_service_account
grpc_alts_credentials_options_destroy
grpc_alts_credentials_create
grpc_alts_server_credentials_create
grpc_local_credentials_create
grpc_local_server_credentials_create
grpc_tls_identity_pairs_create
grpc_tls_identity_pairs_add_pair
grpc_tls_identity_pairs_destroy
grpc_tls_certificate_provider_static_data_create
grpc_tls_certificate_provider_file_watcher_create
grpc_tls_certificate_provider_release
grpc_tls_credentials_options_create
grpc_tls_credentials_options_set_min_tls_version
grpc_tls_credentials_options_set_max_tls_version
grpc_tls_credentials_options_copy
grpc_tls_credentials_options_destroy
grpc_tls_credentials_options_set_certificate_provider
grpc_tls_credentials_options_watch_root_certs
grpc_tls_credentials_options_set_root_cert_name
grpc_tls_credentials_options_watch_identity_key_cert_pairs
grpc_tls_credentials_options_set_identity_cert_name
grpc_tls_credentials_options_set_cert_request_type
grpc_tls_credentials_options_set_crl_directory
grpc_tls_credentials_options_set_verify_server_cert
grpc_tls_credentials_options_set_send_client_ca_list
grpc_tls_credentials_options_set_check_call_host
grpc_insecure_credentials_create
grpc_insecure_server_credentials_create
grpc_xds_credentials_create
grpc_xds_server_credentials_create
grpc_authorization_policy_provider_static_data_create
grpc_authorization_policy_provider_file_watcher_create
grpc_authorization_policy_provider_release
grpc_tls_credentials_options_set_tls_session_key_log_file_path
grpc_slice_ref
grpc_slice_unref
grpc_slice_copy

91
grpc.gemspec generated

@ -51,6 +51,7 @@ Gem::Specification.new do |s|
s.files += %w( include/grpc/byte_buffer_reader.h )
s.files += %w( include/grpc/census.h )
s.files += %w( include/grpc/compression.h )
s.files += %w( include/grpc/credentials.h )
s.files += %w( include/grpc/event_engine/endpoint_config.h )
s.files += %w( include/grpc/event_engine/event_engine.h )
s.files += %w( include/grpc/event_engine/extensible.h )
@ -110,6 +111,7 @@ Gem::Specification.new do |s|
s.files += %w( include/grpc/support/json.h )
s.files += %w( include/grpc/support/log.h )
s.files += %w( include/grpc/support/log_windows.h )
s.files += %w( include/grpc/support/metrics.h )
s.files += %w( include/grpc/support/port_platform.h )
s.files += %w( include/grpc/support/string_util.h )
s.files += %w( include/grpc/support/sync.h )
@ -121,10 +123,14 @@ Gem::Specification.new do |s|
s.files += %w( include/grpc/support/thd_id.h )
s.files += %w( include/grpc/support/time.h )
s.files += %w( include/grpc/support/workaround_list.h )
s.files += %w( src/core/channelz/channel_trace.cc )
s.files += %w( src/core/channelz/channel_trace.h )
s.files += %w( src/core/channelz/channelz.cc )
s.files += %w( src/core/channelz/channelz.h )
s.files += %w( src/core/channelz/channelz_registry.cc )
s.files += %w( src/core/channelz/channelz_registry.h )
s.files += %w( src/core/client_channel/backup_poller.cc )
s.files += %w( src/core/client_channel/backup_poller.h )
s.files += %w( src/core/client_channel/client_channel_channelz.cc )
s.files += %w( src/core/client_channel/client_channel_channelz.h )
s.files += %w( src/core/client_channel/client_channel_factory.cc )
s.files += %w( src/core/client_channel/client_channel_factory.h )
s.files += %w( src/core/client_channel/client_channel_filter.cc )
@ -163,8 +169,6 @@ Gem::Specification.new do |s|
s.files += %w( src/core/ext/filters/backend_metrics/backend_metric_filter.h )
s.files += %w( src/core/ext/filters/backend_metrics/backend_metric_provider.h )
s.files += %w( src/core/ext/filters/census/grpc_context.cc )
s.files += %w( src/core/ext/filters/channel_idle/channel_idle_filter.cc )
s.files += %w( src/core/ext/filters/channel_idle/channel_idle_filter.h )
s.files += %w( src/core/ext/filters/channel_idle/idle_filter_state.cc )
s.files += %w( src/core/ext/filters/channel_idle/idle_filter_state.h )
s.files += %w( src/core/ext/filters/channel_idle/legacy_channel_idle_filter.cc )
@ -182,8 +186,6 @@ Gem::Specification.new do |s|
s.files += %w( src/core/ext/filters/http/http_filters_plugin.cc )
s.files += %w( src/core/ext/filters/http/message_compress/compression_filter.cc )
s.files += %w( src/core/ext/filters/http/message_compress/compression_filter.h )
s.files += %w( src/core/ext/filters/http/message_compress/legacy_compression_filter.cc )
s.files += %w( src/core/ext/filters/http/message_compress/legacy_compression_filter.h )
s.files += %w( src/core/ext/filters/http/server/http_server_filter.cc )
s.files += %w( src/core/ext/filters/http/server/http_server_filter.h )
s.files += %w( src/core/ext/filters/message_size/message_size_filter.cc )
@ -1116,6 +1118,7 @@ Gem::Specification.new do |s|
s.files += %w( src/core/ext/xds/xds_lb_policy_registry.h )
s.files += %w( src/core/ext/xds/xds_listener.cc )
s.files += %w( src/core/ext/xds/xds_listener.h )
s.files += %w( src/core/ext/xds/xds_metrics.h )
s.files += %w( src/core/ext/xds/xds_resource_type.h )
s.files += %w( src/core/ext/xds/xds_resource_type_impl.h )
s.files += %w( src/core/ext/xds/xds_route_config.cc )
@ -1151,12 +1154,6 @@ Gem::Specification.new do |s|
s.files += %w( src/core/lib/channel/channel_stack_builder_impl.h )
s.files += %w( src/core/lib/channel/channel_stack_trace.cc )
s.files += %w( src/core/lib/channel/channel_stack_trace.h )
s.files += %w( src/core/lib/channel/channel_trace.cc )
s.files += %w( src/core/lib/channel/channel_trace.h )
s.files += %w( src/core/lib/channel/channelz.cc )
s.files += %w( src/core/lib/channel/channelz.h )
s.files += %w( src/core/lib/channel/channelz_registry.cc )
s.files += %w( src/core/lib/channel/channelz_registry.h )
s.files += %w( src/core/lib/channel/connected_channel.cc )
s.files += %w( src/core/lib/channel/connected_channel.h )
s.files += %w( src/core/lib/channel/context.h )
@ -1165,6 +1162,7 @@ Gem::Specification.new do |s|
s.files += %w( src/core/lib/channel/promise_based_filter.cc )
s.files += %w( src/core/lib/channel/promise_based_filter.h )
s.files += %w( src/core/lib/channel/server_call_tracer_filter.cc )
s.files += %w( src/core/lib/channel/server_call_tracer_filter.h )
s.files += %w( src/core/lib/channel/status_util.cc )
s.files += %w( src/core/lib/channel/status_util.h )
s.files += %w( src/core/lib/channel/tcp_tracer.h )
@ -1207,6 +1205,7 @@ Gem::Specification.new do |s|
s.files += %w( src/core/lib/event_engine/default_event_engine_factory.cc )
s.files += %w( src/core/lib/event_engine/default_event_engine_factory.h )
s.files += %w( src/core/lib/event_engine/event_engine.cc )
s.files += %w( src/core/lib/event_engine/event_engine_context.h )
s.files += %w( src/core/lib/event_engine/extensions/can_track_errors.h )
s.files += %w( src/core/lib/event_engine/extensions/chaotic_good_extension.h )
s.files += %w( src/core/lib/event_engine/extensions/supports_fd.h )
@ -1741,7 +1740,6 @@ Gem::Specification.new do |s|
s.files += %w( src/core/lib/security/security_connector/tls/tls_security_connector.h )
s.files += %w( src/core/lib/security/transport/auth_filters.h )
s.files += %w( src/core/lib/security/transport/client_auth_filter.cc )
s.files += %w( src/core/lib/security/transport/legacy_server_auth_filter.cc )
s.files += %w( src/core/lib/security/transport/secure_endpoint.cc )
s.files += %w( src/core/lib/security/transport/secure_endpoint.h )
s.files += %w( src/core/lib/security/transport/security_handshaker.cc )
@ -1751,8 +1749,6 @@ Gem::Specification.new do |s|
s.files += %w( src/core/lib/security/transport/tsi_error.h )
s.files += %w( src/core/lib/security/util/json_util.cc )
s.files += %w( src/core/lib/security/util/json_util.h )
s.files += %w( src/core/lib/slice/b64.cc )
s.files += %w( src/core/lib/slice/b64.h )
s.files += %w( src/core/lib/slice/percent_encoding.cc )
s.files += %w( src/core/lib/slice/percent_encoding.h )
s.files += %w( src/core/lib/slice/slice.cc )
@ -1809,8 +1805,6 @@ Gem::Specification.new do |s|
s.files += %w( src/core/lib/transport/batch_builder.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/call_factory.cc )
s.files += %w( src/core/lib/transport/call_factory.h )
s.files += %w( src/core/lib/transport/call_filters.cc )
s.files += %w( src/core/lib/transport/call_filters.h )
s.files += %w( src/core/lib/transport/call_final_info.cc )
@ -1822,6 +1816,8 @@ Gem::Specification.new do |s|
s.files += %w( src/core/lib/transport/connectivity_state.cc )
s.files += %w( src/core/lib/transport/connectivity_state.h )
s.files += %w( src/core/lib/transport/custom_metadata.h )
s.files += %w( src/core/lib/transport/endpoint_info_handshaker.cc )
s.files += %w( src/core/lib/transport/endpoint_info_handshaker.h )
s.files += %w( src/core/lib/transport/error_utils.cc )
s.files += %w( src/core/lib/transport/error_utils.h )
s.files += %w( src/core/lib/transport/handshaker.cc )
@ -1898,7 +1894,6 @@ Gem::Specification.new do |s|
s.files += %w( src/core/load_balancing/rls/rls.h )
s.files += %w( src/core/load_balancing/round_robin/round_robin.cc )
s.files += %w( src/core/load_balancing/subchannel_interface.h )
s.files += %w( src/core/load_balancing/subchannel_list.h )
s.files += %w( src/core/load_balancing/weighted_round_robin/static_stride_scheduler.cc )
s.files += %w( src/core/load_balancing/weighted_round_robin/static_stride_scheduler.h )
s.files += %w( src/core/load_balancing/weighted_round_robin/weighted_round_robin.cc )
@ -2123,6 +2118,8 @@ Gem::Specification.new do |s|
s.files += %w( third_party/abseil-cpp/absl/debugging/internal/demangle.h )
s.files += %w( third_party/abseil-cpp/absl/debugging/internal/elf_mem_image.cc )
s.files += %w( third_party/abseil-cpp/absl/debugging/internal/elf_mem_image.h )
s.files += %w( third_party/abseil-cpp/absl/debugging/internal/examine_stack.cc )
s.files += %w( third_party/abseil-cpp/absl/debugging/internal/examine_stack.h )
s.files += %w( third_party/abseil-cpp/absl/debugging/internal/stacktrace_aarch64-inl.inc )
s.files += %w( third_party/abseil-cpp/absl/debugging/internal/stacktrace_arm-inl.inc )
s.files += %w( third_party/abseil-cpp/absl/debugging/internal/stacktrace_config.h )
@ -2180,6 +2177,40 @@ Gem::Specification.new do |s|
s.files += %w( third_party/abseil-cpp/absl/hash/internal/hash.h )
s.files += %w( third_party/abseil-cpp/absl/hash/internal/low_level_hash.cc )
s.files += %w( third_party/abseil-cpp/absl/hash/internal/low_level_hash.h )
s.files += %w( third_party/abseil-cpp/absl/log/absl_vlog_is_on.h )
s.files += %w( third_party/abseil-cpp/absl/log/globals.cc )
s.files += %w( third_party/abseil-cpp/absl/log/globals.h )
s.files += %w( third_party/abseil-cpp/absl/log/internal/append_truncated.h )
s.files += %w( third_party/abseil-cpp/absl/log/internal/conditions.cc )
s.files += %w( third_party/abseil-cpp/absl/log/internal/conditions.h )
s.files += %w( third_party/abseil-cpp/absl/log/internal/config.h )
s.files += %w( third_party/abseil-cpp/absl/log/internal/fnmatch.cc )
s.files += %w( third_party/abseil-cpp/absl/log/internal/fnmatch.h )
s.files += %w( third_party/abseil-cpp/absl/log/internal/globals.cc )
s.files += %w( third_party/abseil-cpp/absl/log/internal/globals.h )
s.files += %w( third_party/abseil-cpp/absl/log/internal/log_format.cc )
s.files += %w( third_party/abseil-cpp/absl/log/internal/log_format.h )
s.files += %w( third_party/abseil-cpp/absl/log/internal/log_impl.h )
s.files += %w( third_party/abseil-cpp/absl/log/internal/log_message.cc )
s.files += %w( third_party/abseil-cpp/absl/log/internal/log_message.h )
s.files += %w( third_party/abseil-cpp/absl/log/internal/log_sink_set.cc )
s.files += %w( third_party/abseil-cpp/absl/log/internal/log_sink_set.h )
s.files += %w( third_party/abseil-cpp/absl/log/internal/nullguard.cc )
s.files += %w( third_party/abseil-cpp/absl/log/internal/nullguard.h )
s.files += %w( third_party/abseil-cpp/absl/log/internal/nullstream.h )
s.files += %w( third_party/abseil-cpp/absl/log/internal/proto.cc )
s.files += %w( third_party/abseil-cpp/absl/log/internal/proto.h )
s.files += %w( third_party/abseil-cpp/absl/log/internal/strip.h )
s.files += %w( third_party/abseil-cpp/absl/log/internal/vlog_config.cc )
s.files += %w( third_party/abseil-cpp/absl/log/internal/vlog_config.h )
s.files += %w( third_party/abseil-cpp/absl/log/internal/voidify.h )
s.files += %w( third_party/abseil-cpp/absl/log/log.h )
s.files += %w( third_party/abseil-cpp/absl/log/log_entry.cc )
s.files += %w( third_party/abseil-cpp/absl/log/log_entry.h )
s.files += %w( third_party/abseil-cpp/absl/log/log_sink.cc )
s.files += %w( third_party/abseil-cpp/absl/log/log_sink.h )
s.files += %w( third_party/abseil-cpp/absl/log/log_sink_registry.h )
s.files += %w( third_party/abseil-cpp/absl/log/vlog_is_on.h )
s.files += %w( third_party/abseil-cpp/absl/memory/memory.h )
s.files += %w( third_party/abseil-cpp/absl/meta/type_traits.h )
s.files += %w( third_party/abseil-cpp/absl/numeric/bits.h )
@ -3052,11 +3083,13 @@ Gem::Specification.new do |s|
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/base/descriptor_constants.h )
s.files += %w( third_party/upb/upb/base/internal/endian.h )
s.files += %w( third_party/upb/upb/base/internal/log2.h )
s.files += %w( third_party/upb/upb/base/status.c )
s.files += %w( third_party/upb/upb/base/status.h )
s.files += %w( third_party/upb/upb/base/status.hpp )
s.files += %w( third_party/upb/upb/base/string_view.h )
s.files += %w( third_party/upb/upb/base/upcast.h )
s.files += %w( third_party/upb/upb/generated_code_support.h )
s.files += %w( third_party/upb/upb/hash/common.c )
s.files += %w( third_party/upb/upb/hash/common.h )
@ -3084,13 +3117,20 @@ Gem::Specification.new do |s|
s.files += %w( third_party/upb/upb/message/accessors.h )
s.files += %w( third_party/upb/upb/message/array.c )
s.files += %w( third_party/upb/upb/message/array.h )
s.files += %w( third_party/upb/upb/message/compat.c )
s.files += %w( third_party/upb/upb/message/compat.h )
s.files += %w( third_party/upb/upb/message/copy.c )
s.files += %w( third_party/upb/upb/message/copy.h )
s.files += %w( third_party/upb/upb/message/internal/accessors.h )
s.files += %w( third_party/upb/upb/message/internal/array.h )
s.files += %w( third_party/upb/upb/message/internal/extension.c )
s.files += %w( third_party/upb/upb/message/internal/extension.h )
s.files += %w( third_party/upb/upb/message/internal/map.h )
s.files += %w( third_party/upb/upb/message/internal/map_entry.h )
s.files += %w( third_party/upb/upb/message/internal/map_sorter.h )
s.files += %w( third_party/upb/upb/message/internal/message.c )
s.files += %w( third_party/upb/upb/message/internal/message.h )
s.files += %w( third_party/upb/upb/message/internal/tagged_ptr.h )
s.files += %w( third_party/upb/upb/message/internal/types.h )
s.files += %w( third_party/upb/upb/message/map.c )
s.files += %w( third_party/upb/upb/message/map.h )
@ -3099,7 +3139,6 @@ Gem::Specification.new do |s|
s.files += %w( third_party/upb/upb/message/message.c )
s.files += %w( third_party/upb/upb/message/message.h )
s.files += %w( third_party/upb/upb/message/tagged_ptr.h )
s.files += %w( third_party/upb/upb/message/types.h )
s.files += %w( third_party/upb/upb/message/value.h )
s.files += %w( third_party/upb/upb/mini_descriptor/build_enum.c )
s.files += %w( third_party/upb/upb/mini_descriptor/build_enum.h )
@ -3127,6 +3166,7 @@ Gem::Specification.new do |s|
s.files += %w( third_party/upb/upb/mini_table/internal/file.h )
s.files += %w( third_party/upb/upb/mini_table/internal/message.c )
s.files += %w( third_party/upb/upb/mini_table/internal/message.h )
s.files += %w( third_party/upb/upb/mini_table/internal/size_log2.h )
s.files += %w( third_party/upb/upb/mini_table/internal/sub.h )
s.files += %w( third_party/upb/upb/mini_table/message.c )
s.files += %w( third_party/upb/upb/mini_table/message.h )
@ -3172,6 +3212,7 @@ Gem::Specification.new do |s|
s.files += %w( third_party/upb/upb/reflection/internal/service_def.h )
s.files += %w( third_party/upb/upb/reflection/internal/strdup2.c )
s.files += %w( third_party/upb/upb/reflection/internal/strdup2.h )
s.files += %w( third_party/upb/upb/reflection/internal/upb_edition_defaults.h )
s.files += %w( third_party/upb/upb/reflection/message.c )
s.files += %w( third_party/upb/upb/reflection/message.h )
s.files += %w( third_party/upb/upb/reflection/message.hpp )
@ -3189,21 +3230,19 @@ Gem::Specification.new do |s|
s.files += %w( third_party/upb/upb/text/encode.h )
s.files += %w( third_party/upb/upb/wire/decode.c )
s.files += %w( third_party/upb/upb/wire/decode.h )
s.files += %w( third_party/upb/upb/wire/decode_fast.c )
s.files += %w( third_party/upb/upb/wire/decode_fast.h )
s.files += %w( third_party/upb/upb/wire/encode.c )
s.files += %w( third_party/upb/upb/wire/encode.h )
s.files += %w( third_party/upb/upb/wire/eps_copy_input_stream.c )
s.files += %w( third_party/upb/upb/wire/eps_copy_input_stream.h )
s.files += %w( third_party/upb/upb/wire/internal/constants.h )
s.files += %w( third_party/upb/upb/wire/internal/decode.h )
s.files += %w( third_party/upb/upb/wire/internal/swap.h )
s.files += %w( third_party/upb/upb/wire/internal/decode_fast.c )
s.files += %w( third_party/upb/upb/wire/internal/decode_fast.h )
s.files += %w( third_party/upb/upb/wire/internal/decoder.h )
s.files += %w( third_party/upb/upb/wire/internal/reader.h )
s.files += %w( third_party/upb/upb/wire/reader.c )
s.files += %w( third_party/upb/upb/wire/reader.h )
s.files += %w( third_party/upb/upb/wire/types.h )
s.files += %w( third_party/utf8_range/naive.c )
s.files += %w( third_party/utf8_range/range2-neon.c )
s.files += %w( third_party/utf8_range/range2-sse.c )
s.files += %w( third_party/utf8_range/utf8_range.c )
s.files += %w( third_party/utf8_range/utf8_range.h )
s.files += %w( third_party/xxhash/xxhash.h )
s.files += %w( third_party/zlib/adler32.c )

2700
grpc.gyp

File diff suppressed because it is too large Load Diff

@ -5,9 +5,6 @@ DerivePointerAlignment: false
PointerAlignment: Left
IncludeBlocks: Regroup
IncludeCategories:
# port_platform.h is before almost everything
- Regex: '^<grpc/(support|impl/codegen)/port_platform.h>'
Priority: -100
# ruby.h is even more first if it's included
- Regex: '^<ruby/ruby.h>'
Priority: -200

@ -5,9 +5,6 @@ DerivePointerAlignment: false
PointerAlignment: Left
IncludeBlocks: Regroup
IncludeCategories:
# port_platform.h is before almost everything
- Regex: '^<grpc/(support|impl/codegen)/port_platform.h>'
Priority: -100
# ruby.h is even more first if it's included
- Regex: '^<ruby/ruby.h>'
Priority: -200

@ -19,10 +19,9 @@
#ifndef GRPC_BYTE_BUFFER_H
#define GRPC_BYTE_BUFFER_H
#include <grpc/support/port_platform.h>
#include <grpc/impl/grpc_types.h>
#include <grpc/slice_buffer.h>
#include <grpc/support/port_platform.h>
#ifdef __cplusplus
extern "C" {

@ -19,9 +19,8 @@
#ifndef GRPC_CENSUS_H
#define GRPC_CENSUS_H
#include <grpc/support/port_platform.h>
#include <grpc/grpc.h>
#include <grpc/support/port_platform.h>
#ifdef __cplusplus
extern "C" {

@ -19,12 +19,11 @@
#ifndef GRPC_COMPRESSION_H
#define GRPC_COMPRESSION_H
#include <grpc/support/port_platform.h>
#include <stdlib.h>
#include <grpc/impl/compression_types.h> // IWYU pragma: export
#include <grpc/slice.h>
#include <grpc/support/port_platform.h>
#ifdef __cplusplus
extern "C" {

File diff suppressed because it is too large Load Diff

@ -14,13 +14,13 @@
#ifndef GRPC_EVENT_ENGINE_ENDPOINT_CONFIG_H
#define GRPC_EVENT_ENGINE_ENDPOINT_CONFIG_H
#include <grpc/support/port_platform.h>
#include <string>
#include "absl/strings/string_view.h"
#include "absl/types/optional.h"
#include <grpc/support/port_platform.h>
namespace grpc_event_engine {
namespace experimental {

@ -14,8 +14,6 @@
#ifndef GRPC_EVENT_ENGINE_EVENT_ENGINE_H
#define GRPC_EVENT_ENGINE_EVENT_ENGINE_H
#include <grpc/support/port_platform.h>
#include <vector>
#include "absl/functional/any_invocable.h"
@ -27,6 +25,7 @@
#include <grpc/event_engine/memory_allocator.h>
#include <grpc/event_engine/port.h>
#include <grpc/event_engine/slice_buffer.h>
#include <grpc/support/port_platform.h>
// TODO(vigneshbabu): Define the Endpoint::Write metrics collection system
namespace grpc_event_engine {

@ -15,10 +15,10 @@
#ifndef GRPC_EVENT_ENGINE_EXTENSIBLE_H
#define GRPC_EVENT_ENGINE_EXTENSIBLE_H
#include <grpc/support/port_platform.h>
#include "absl/strings/string_view.h"
#include <grpc/support/port_platform.h>
namespace grpc_event_engine {
namespace experimental {

@ -14,8 +14,6 @@
#ifndef GRPC_EVENT_ENGINE_INTERNAL_MEMORY_ALLOCATOR_IMPL_H
#define GRPC_EVENT_ENGINE_INTERNAL_MEMORY_ALLOCATOR_IMPL_H
#include <grpc/support/port_platform.h>
#include <algorithm>
#include <memory>
#include <type_traits>
@ -23,6 +21,7 @@
#include <grpc/event_engine/memory_request.h>
#include <grpc/slice.h>
#include <grpc/support/port_platform.h>
namespace grpc_event_engine {
namespace experimental {

@ -14,8 +14,6 @@
#ifndef GRPC_EVENT_ENGINE_MEMORY_ALLOCATOR_H
#define GRPC_EVENT_ENGINE_MEMORY_ALLOCATOR_H
#include <grpc/support/port_platform.h>
#include <stdlib.h> // for abort()
#include <algorithm>
@ -25,6 +23,7 @@
#include <grpc/event_engine/internal/memory_allocator_impl.h>
#include <grpc/slice.h>
#include <grpc/support/port_platform.h>
namespace grpc_event_engine {
namespace experimental {

@ -14,12 +14,12 @@
#ifndef GRPC_EVENT_ENGINE_MEMORY_REQUEST_H
#define GRPC_EVENT_ENGINE_MEMORY_REQUEST_H
#include <grpc/support/port_platform.h>
#include <stddef.h>
#include "absl/strings/string_view.h"
#include <grpc/support/port_platform.h>
namespace grpc_event_engine {
namespace experimental {

@ -15,8 +15,6 @@
#ifndef GRPC_EVENT_ENGINE_SLICE_H
#define GRPC_EVENT_ENGINE_SLICE_H
#include <grpc/support/port_platform.h>
#include <string.h>
#include <cstdint>
@ -28,6 +26,7 @@
#include <grpc/event_engine/internal/slice_cast.h>
#include <grpc/slice.h>
#include <grpc/support/log.h>
#include <grpc/support/port_platform.h>
// This public slice definition largely based of the internal grpc_core::Slice
// implementation. Changes to this implementation might warrant changes to the

@ -15,8 +15,6 @@
#ifndef GRPC_EVENT_ENGINE_SLICE_BUFFER_H
#define GRPC_EVENT_ENGINE_SLICE_BUFFER_H
#include <grpc/support/port_platform.h>
#include <string.h>
#include <cstdint>
@ -31,6 +29,7 @@
#include <grpc/slice.h>
#include <grpc/slice_buffer.h>
#include <grpc/support/log.h>
#include <grpc/support/port_platform.h>
namespace grpc_event_engine {
namespace experimental {

@ -19,8 +19,6 @@
#ifndef GRPC_GRPC_H
#define GRPC_GRPC_H
#include <grpc/support/port_platform.h>
#include <stddef.h>
#include <grpc/byte_buffer.h>
@ -29,6 +27,7 @@
#include <grpc/impl/propagation_bits.h>
#include <grpc/slice.h>
#include <grpc/status.h>
#include <grpc/support/port_platform.h>
#include <grpc/support/time.h>
#ifdef __cplusplus
@ -362,6 +361,13 @@ GRPCAPI void grpc_call_ref(grpc_call* call);
THREAD SAFETY: grpc_call_unref is thread-compatible */
GRPCAPI void grpc_call_unref(grpc_call* call);
typedef struct grpc_call_credentials grpc_call_credentials;
/** Sets a credentials to a call. Can only be called on the client side before
grpc_call_start_batch. */
GRPCAPI grpc_call_error grpc_call_set_credentials(grpc_call* call,
grpc_call_credentials* creds);
/** Request notification of a new call.
Once a call is received, a notification tagged with \a tag_new is added to
\a cq_for_notification. \a call, \a details and \a request_metadata are

@ -19,8 +19,6 @@
#ifndef GRPC_GRPC_AUDIT_LOGGING_H
#define GRPC_GRPC_AUDIT_LOGGING_H
#include <grpc/support/port_platform.h>
#include <memory>
#include <string>
@ -28,6 +26,7 @@
#include "absl/strings/string_view.h"
#include <grpc/support/json.h>
#include <grpc/support/port_platform.h>
namespace grpc_core {
namespace experimental {

@ -19,15 +19,15 @@
#ifndef GRPC_GRPC_CRL_PROVIDER_H
#define GRPC_GRPC_CRL_PROVIDER_H
#include <grpc/support/port_platform.h>
#include <memory>
#include <string>
#include "absl/status/statusor.h"
#include "absl/strings/string_view.h"
#include <grpc/credentials.h>
#include <grpc/grpc_security.h>
#include <grpc/support/port_platform.h>
namespace grpc_core {
namespace experimental {

@ -19,9 +19,8 @@
#ifndef GRPC_GRPC_CRONET_H
#define GRPC_GRPC_CRONET_H
#include <grpc/support/port_platform.h>
#include <grpc/grpc.h>
#include <grpc/support/port_platform.h>
#ifdef __cplusplus
extern "C" {

@ -19,12 +19,11 @@
#ifndef GRPC_GRPC_POSIX_H
#define GRPC_GRPC_POSIX_H
#include <grpc/support/port_platform.h>
#include <stddef.h>
#include <grpc/grpc.h>
#include <grpc/impl/grpc_types.h>
#include <grpc/support/port_platform.h>
#ifdef __cplusplus
extern "C" {

File diff suppressed because it is too large Load Diff

@ -15,11 +15,10 @@
#ifndef GRPC_IMPL_CALL_H
#define GRPC_IMPL_CALL_H
#include <grpc/support/port_platform.h>
#include "absl/functional/any_invocable.h"
#include <grpc/grpc.h>
#include <grpc/support/port_platform.h>
// Run a callback in the call's EventEngine.
// Internal-only

@ -21,14 +21,13 @@
// IWYU pragma: private, include <grpc/grpc.h>
#include <grpc/support/port_platform.h>
#include <stddef.h>
#include <grpc/impl/channel_arg_names.h>
#include <grpc/impl/compression_types.h>
#include <grpc/slice.h>
#include <grpc/status.h>
#include <grpc/support/port_platform.h>
#include <grpc/support/time.h>
#ifdef __cplusplus

@ -21,10 +21,10 @@
// IWYU pragma: private, include <grpc/slice.h>
#include <grpc/support/port_platform.h>
#include <stddef.h>
#include <grpc/support/port_platform.h>
typedef struct grpc_slice grpc_slice;
/** Slice API

@ -6,6 +6,7 @@ header "byte_buffer.h"
header "byte_buffer_reader.h"
header "census.h"
header "compression.h"
header "credentials.h"
header "fork.h"
header "grpc.h"
header "grpc_audit_logging.h"
@ -46,6 +47,7 @@ header "byte_buffer.h"
header "support/json.h"
header "support/log.h"
header "support/log_windows.h"
header "support/metrics.h"
header "support/port_platform.h"
header "support/string_util.h"
header "support/sync.h"

@ -19,9 +19,8 @@
#ifndef GRPC_SLICE_H
#define GRPC_SLICE_H
#include <grpc/support/port_platform.h>
#include <grpc/impl/slice_type.h> // IWYU pragma: export
#include <grpc/support/port_platform.h>
#include <grpc/support/sync.h>
#ifdef __cplusplus

@ -19,9 +19,8 @@
#ifndef GRPC_SLICE_BUFFER_H
#define GRPC_SLICE_BUFFER_H
#include <grpc/support/port_platform.h>
#include <grpc/slice.h>
#include <grpc/support/port_platform.h>
#ifdef __cplusplus
extern "C" {

@ -19,10 +19,10 @@
#ifndef GRPC_SUPPORT_ALLOC_H
#define GRPC_SUPPORT_ALLOC_H
#include <grpc/support/port_platform.h>
#include <stddef.h>
#include <grpc/support/port_platform.h>
#ifdef __cplusplus
extern "C" {
#endif

@ -17,8 +17,6 @@
#ifndef GRPC_SUPPORT_JSON_H
#define GRPC_SUPPORT_JSON_H
#include <grpc/support/port_platform.h>
#include <stdint.h>
#include <map>
@ -29,6 +27,8 @@
#include "absl/strings/str_cat.h"
#include "absl/types/variant.h"
#include <grpc/support/port_platform.h>
namespace grpc_core {
namespace experimental {

@ -19,11 +19,11 @@
#ifndef GRPC_SUPPORT_LOG_H
#define GRPC_SUPPORT_LOG_H
#include <grpc/support/port_platform.h>
#include <stdarg.h>
#include <stdlib.h> /* for abort() */
#include <grpc/support/port_platform.h>
#ifdef __cplusplus
extern "C" {
#endif
@ -102,7 +102,7 @@ GPRAPI void gpr_assertion_failed(const char* filename, int line,
#ifndef NDEBUG
#define GPR_DEBUG_ASSERT(x) GPR_ASSERT(x)
#else
#define GPR_DEBUG_ASSERT(x)
#define GPR_DEBUG_ASSERT(x) GPR_ASSERT(true || (x))
#endif
#ifdef __cplusplus

@ -0,0 +1,51 @@
// Copyright 2024 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.
#ifndef GRPC_SUPPORT_METRICS_H
#define GRPC_SUPPORT_METRICS_H
#include "absl/strings/string_view.h"
#include <grpc/support/port_platform.h>
namespace grpc_core {
namespace experimental {
// Configuration (scope) for a specific client channel to be used for stats
// plugins.
class StatsPluginChannelScope {
public:
StatsPluginChannelScope(absl::string_view target,
absl::string_view default_authority)
: target_(target), default_authority_(default_authority) {}
/// Returns the target used for creating the channel in the canonical form.
/// (Canonicalized target definition -
/// https://github.com/grpc/proposal/blob/master/A66-otel-stats.md)
absl::string_view target() const { return target_; }
/// Returns the default authority for the channel.
absl::string_view default_authority() const { return default_authority_; }
private:
// Disable copy constructor and copy-assignment operator.
StatsPluginChannelScope(const StatsPluginChannelScope&) = delete;
StatsPluginChannelScope& operator=(const StatsPluginChannelScope&) = delete;
absl::string_view target_;
absl::string_view default_authority_;
};
} // namespace experimental
} // namespace grpc_core
#endif /* GRPC_SUPPORT_METRICS_H */

@ -20,7 +20,6 @@
#define GRPC_SUPPORT_STRING_UTIL_H
#include <grpc/support/port_platform.h>
#include <grpc/support/time.h>
#ifdef __cplusplus

@ -21,7 +21,6 @@
/* Platform-specific type declarations of gpr_mu and gpr_cv. */
#include <grpc/support/port_platform.h>
#include <grpc/support/time.h> /* for gpr_timespec */
#ifdef __cplusplus

@ -20,7 +20,6 @@
#define GRPC_SUPPORT_SYNC_ABSEIL_H
#include <grpc/support/port_platform.h>
#include <grpc/support/sync_generic.h>
#ifdef GPR_ABSEIL_SYNC

@ -20,7 +20,6 @@
#define GRPC_SUPPORT_SYNC_CUSTOM_H
#include <grpc/support/port_platform.h>
#include <grpc/support/sync_generic.h>
/* Users defining GPR_CUSTOM_SYNC need to define the following macros. */

@ -21,9 +21,8 @@
/* Generic type definitions for gpr_sync. */
#include <grpc/support/port_platform.h>
#include <grpc/support/atm.h>
#include <grpc/support/port_platform.h>
/* gpr_event */
typedef struct {

@ -19,10 +19,9 @@
#ifndef GRPC_SUPPORT_SYNC_POSIX_H
#define GRPC_SUPPORT_SYNC_POSIX_H
#include <grpc/support/port_platform.h>
#include <pthread.h>
#include <grpc/support/port_platform.h>
#include <grpc/support/sync_generic.h>
#ifdef GRPC_ASAN_ENABLED

@ -19,11 +19,11 @@
#ifndef GRPC_SUPPORT_TIME_H
#define GRPC_SUPPORT_TIME_H
#include <grpc/support/port_platform.h>
#include <stddef.h>
#include <time.h>
#include <grpc/support/port_platform.h>
#ifdef __cplusplus
extern "C" {
#endif

@ -5,9 +5,6 @@ DerivePointerAlignment: false
PointerAlignment: Left
IncludeBlocks: Regroup
IncludeCategories:
# port_platform.h is before almost everything
- Regex: '^<grpc/(support|impl/codegen)/port_platform.h>'
Priority: -100
# ruby.h is even more first if it's included
- Regex: '^<ruby/ruby.h>'
Priority: -200

@ -19,10 +19,9 @@
#ifndef GRPCPP_CREATE_CHANNEL_POSIX_H
#define GRPCPP_CREATE_CHANNEL_POSIX_H
#include <grpc/support/port_platform.h>
#include <memory>
#include <grpc/support/port_platform.h>
#include <grpcpp/channel.h>
#include <grpcpp/support/channel_arguments.h>

@ -20,7 +20,6 @@
#define GRPCPP_EXT_CHANNELZ_SERVICE_PLUGIN_H
#include <grpc/support/port_platform.h>
#include <grpcpp/impl/server_builder_plugin.h>
#include <grpcpp/impl/server_initializer.h>
#include <grpcpp/support/config.h>

@ -19,8 +19,6 @@
#ifndef GRPCPP_EXT_CSM_OBSERVABILITY_H
#define GRPCPP_EXT_CSM_OBSERVABILITY_H
#include <grpc/support/port_platform.h>
#include <memory>
#include "absl/functional/any_invocable.h"
@ -28,6 +26,7 @@
#include "absl/strings/string_view.h"
#include "opentelemetry/metrics/meter_provider.h"
#include <grpc/support/port_platform.h>
#include <grpcpp/ext/otel_plugin.h>
namespace grpc {

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

Loading…
Cancel
Save