diff --git a/BUILD b/BUILD
index 5fadb6645bf..420251227fb 100644
--- a/BUILD
+++ b/BUILD
@@ -851,7 +851,6 @@ grpc_cc_library(
# standard plugins
"census",
"//src/core:grpc_backend_metric_filter",
- "//src/core:grpc_deadline_filter",
"//src/core:grpc_client_authority_filter",
"//src/core:grpc_lb_policy_grpclb",
"//src/core:grpc_lb_policy_outlier_detection",
@@ -1713,6 +1712,7 @@ grpc_cc_library(
"//src/core:lib/channel/call_tracer.h",
],
external_deps = [
+ "absl/log:check",
"absl/status",
"absl/strings",
"absl/types:optional",
@@ -1990,6 +1990,7 @@ grpc_cc_library(
"absl/container:inlined_vector",
"absl/functional:any_invocable",
"absl/functional:function_ref",
+ "absl/log:check",
"absl/meta:type_traits",
"absl/status",
"absl/status:statusor",
@@ -2974,6 +2975,7 @@ grpc_cc_library(
external_deps = [
"absl/flags:flag",
"absl/flags:marshalling",
+ "absl/log:check",
"absl/strings",
"absl/types:optional",
],
@@ -3009,7 +3011,10 @@ grpc_cc_library(
srcs = [
"//src/core:lib/config/core_configuration.cc",
],
- external_deps = ["absl/functional:any_invocable"],
+ external_deps = [
+ "absl/functional:any_invocable",
+ "absl/log:check",
+ ],
language = "c++",
public_hdrs = [
"//src/core:lib/config/core_configuration.h",
@@ -3206,6 +3211,7 @@ grpc_cc_library(
"//src/core:lib/address_utils/sockaddr_utils.h",
],
external_deps = [
+ "absl/log:check",
"absl/status",
"absl/status:statusor",
"absl/strings",
@@ -3331,6 +3337,7 @@ grpc_cc_library(
"//src/core:lib/iomgr/grpc_if_nametoindex.h",
],
external_deps = [
+ "absl/log:check",
"absl/status",
"absl/status:statusor",
"absl/strings",
@@ -3697,7 +3704,6 @@ grpc_cc_library(
"//src/core:gpr_atm",
"//src/core:gpr_manual_constructor",
"//src/core:grpc_backend_metric_data",
- "//src/core:grpc_deadline_filter",
"//src/core:grpc_message_size_filter",
"//src/core:grpc_service_config",
"//src/core:init_internally",
@@ -3821,6 +3827,7 @@ grpc_cc_library(
external_deps = [
"absl/base:core_headers",
"absl/functional:bind_front",
+ "absl/log:check",
"absl/status",
"absl/status:statusor",
"absl/strings",
diff --git a/BoringSSL-Package.swift b/BoringSSL-Package.swift
index 363c62433ef..8a4f6a6d639 100644
--- a/BoringSSL-Package.swift
+++ b/BoringSSL-Package.swift
@@ -26,7 +26,6 @@ let package = Package(
],
sources: [
- "err_data.c",
"src/crypto/asn1/a_bitstr.c",
"src/crypto/asn1/a_bool.c",
"src/crypto/asn1/a_d2i_fp.c",
@@ -117,6 +116,8 @@ let package = Package(
"src/crypto/evp/evp.c",
"src/crypto/evp/evp_asn1.c",
"src/crypto/evp/evp_ctx.c",
+ "src/crypto/evp/p_dh.c",
+ "src/crypto/evp/p_dh_asn1.c",
"src/crypto/evp/p_dsa_asn1.c",
"src/crypto/evp/p_ec.c",
"src/crypto/evp/p_ec_asn1.c",
@@ -258,6 +259,7 @@ let package = Package(
"src/crypto/x509/x_val.c",
"src/crypto/x509/x_x509.c",
"src/crypto/x509/x_x509a.c",
+ "src/gen/crypto/err_data.c",
"src/ssl/bio_ssl.cc",
"src/ssl/d1_both.cc",
"src/ssl/d1_lib.cc",
@@ -279,6 +281,7 @@ let package = Package(
"src/ssl/ssl_buffer.cc",
"src/ssl/ssl_cert.cc",
"src/ssl/ssl_cipher.cc",
+ "src/ssl/ssl_credential.cc",
"src/ssl/ssl_file.cc",
"src/ssl/ssl_key_share.cc",
"src/ssl/ssl_lib.cc",
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 184b09324a7..83a0769f131 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1749,6 +1749,7 @@ target_link_libraries(gpr
absl::flags
absl::flags_marshalling
absl::any_invocable
+ absl::check
absl::log
absl::memory
absl::random_random
@@ -1847,7 +1848,6 @@ add_library(grpc
src/core/ext/filters/census/grpc_context.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
src/core/ext/filters/fault_injection/fault_injection_filter.cc
src/core/ext/filters/fault_injection/fault_injection_service_config_parser.cc
src/core/ext/filters/http/client/http_client_filter.cc
@@ -2678,7 +2678,6 @@ target_link_libraries(grpc
absl::bind_front
absl::function_ref
absl::hash
- absl::check
absl::type_traits
absl::random_bit_gen_ref
absl::random_distributions
@@ -2944,7 +2943,6 @@ add_library(grpc_unsecure
src/core/ext/filters/census/grpc_context.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
src/core/ext/filters/fault_injection/fault_injection_filter.cc
src/core/ext/filters/fault_injection/fault_injection_service_config_parser.cc
src/core/ext/filters/http/client/http_client_filter.cc
@@ -3381,7 +3379,6 @@ target_link_libraries(grpc_unsecure
absl::bind_front
absl::function_ref
absl::hash
- absl::check
absl::type_traits
absl::random_bit_gen_ref
absl::random_distributions
@@ -5446,7 +5443,6 @@ target_link_libraries(grpc_authorization_provider
absl::inlined_vector
absl::function_ref
absl::hash
- absl::check
absl::type_traits
absl::statusor
absl::span
@@ -5933,7 +5929,6 @@ if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_POSIX)
target_link_libraries(static_stride_scheduler_benchmark
${_gRPC_ALLTARGETS_LIBRARIES}
absl::algorithm_container
- absl::check
absl::span
${_gRPC_BENCHMARK_LIBRARIES}
gpr
@@ -8583,7 +8578,6 @@ target_link_libraries(call_filters_test
absl::inlined_vector
absl::function_ref
absl::hash
- absl::check
absl::type_traits
absl::statusor
absl::utility
@@ -10244,7 +10238,6 @@ target_link_libraries(chunked_vector_test
absl::config
absl::function_ref
absl::hash
- absl::check
absl::type_traits
absl::statusor
gpr
@@ -13388,7 +13381,6 @@ target_link_libraries(exec_ctx_wakeup_scheduler_test
upb_message_lib
absl::config
absl::hash
- absl::check
absl::type_traits
absl::statusor
gpr
@@ -14258,7 +14250,6 @@ target_link_libraries(flow_control_test
absl::config
absl::function_ref
absl::hash
- absl::check
absl::type_traits
absl::statusor
absl::span
@@ -14344,7 +14335,6 @@ target_link_libraries(for_each_test
absl::config
absl::function_ref
absl::hash
- absl::check
absl::type_traits
absl::statusor
gpr
@@ -14434,7 +14424,6 @@ target_include_directories(forkable_test
target_link_libraries(forkable_test
${_gRPC_ALLTARGETS_LIBRARIES}
gtest
- absl::check
absl::statusor
gpr
)
@@ -18009,7 +17998,6 @@ target_link_libraries(interception_chain_test
absl::inlined_vector
absl::function_ref
absl::hash
- absl::check
absl::type_traits
absl::statusor
absl::span
@@ -18098,7 +18086,6 @@ target_link_libraries(interceptor_list_test
absl::config
absl::function_ref
absl::hash
- absl::check
absl::type_traits
absl::statusor
gpr
@@ -19292,7 +19279,6 @@ target_link_libraries(map_pipe_test
absl::config
absl::function_ref
absl::hash
- absl::check
absl::type_traits
absl::statusor
gpr
@@ -21556,7 +21542,6 @@ target_link_libraries(periodic_update_test
upb_message_lib
absl::function_ref
absl::hash
- absl::check
absl::statusor
gpr
)
@@ -29863,7 +29848,6 @@ target_include_directories(test_core_event_engine_posix_timer_heap_test
target_link_libraries(test_core_event_engine_posix_timer_heap_test
${_gRPC_ALLTARGETS_LIBRARIES}
gtest
- absl::check
absl::statusor
gpr
)
@@ -29962,7 +29946,6 @@ target_link_libraries(test_core_event_engine_slice_buffer_test
${_gRPC_ALLTARGETS_LIBRARIES}
gtest
absl::hash
- absl::check
absl::statusor
absl::utility
gpr
@@ -37036,7 +37019,7 @@ generate_pkgconfig(
"gpr"
"gRPC platform support library"
"${gRPC_CORE_VERSION}"
- "absl_any_invocable absl_base absl_cord absl_core_headers absl_flags absl_flags_marshalling absl_log absl_log_severity absl_memory absl_optional absl_random_random absl_status absl_str_format absl_strings absl_synchronization absl_time absl_variant"
+ "absl_any_invocable absl_base absl_check absl_cord absl_core_headers absl_flags absl_flags_marshalling absl_log absl_log_severity absl_memory absl_optional absl_random_random absl_status absl_str_format absl_strings absl_synchronization absl_time absl_variant"
""
"-lgpr"
""
diff --git a/Makefile b/Makefile
index 9e06baa5487..26446a07d48 100644
--- a/Makefile
+++ b/Makefile
@@ -689,7 +689,6 @@ LIBGRPC_SRC = \
src/core/ext/filters/census/grpc_context.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 \
src/core/ext/filters/fault_injection/fault_injection_filter.cc \
src/core/ext/filters/fault_injection/fault_injection_service_config_parser.cc \
src/core/ext/filters/http/client/http_client_filter.cc \
@@ -1856,7 +1855,6 @@ endif
# deps: []
# transitive_deps: []
LIBBORINGSSL_SRC = \
- third_party/boringssl-with-bazel/err_data.c \
third_party/boringssl-with-bazel/src/crypto/asn1/a_bitstr.c \
third_party/boringssl-with-bazel/src/crypto/asn1/a_bool.c \
third_party/boringssl-with-bazel/src/crypto/asn1/a_d2i_fp.c \
@@ -1947,6 +1945,8 @@ LIBBORINGSSL_SRC = \
third_party/boringssl-with-bazel/src/crypto/evp/evp.c \
third_party/boringssl-with-bazel/src/crypto/evp/evp_asn1.c \
third_party/boringssl-with-bazel/src/crypto/evp/evp_ctx.c \
+ third_party/boringssl-with-bazel/src/crypto/evp/p_dh.c \
+ third_party/boringssl-with-bazel/src/crypto/evp/p_dh_asn1.c \
third_party/boringssl-with-bazel/src/crypto/evp/p_dsa_asn1.c \
third_party/boringssl-with-bazel/src/crypto/evp/p_ec.c \
third_party/boringssl-with-bazel/src/crypto/evp/p_ec_asn1.c \
@@ -2088,6 +2088,7 @@ LIBBORINGSSL_SRC = \
third_party/boringssl-with-bazel/src/crypto/x509/x_val.c \
third_party/boringssl-with-bazel/src/crypto/x509/x_x509.c \
third_party/boringssl-with-bazel/src/crypto/x509/x_x509a.c \
+ third_party/boringssl-with-bazel/src/gen/crypto/err_data.c \
third_party/boringssl-with-bazel/src/ssl/bio_ssl.cc \
third_party/boringssl-with-bazel/src/ssl/d1_both.cc \
third_party/boringssl-with-bazel/src/ssl/d1_lib.cc \
@@ -2109,6 +2110,7 @@ LIBBORINGSSL_SRC = \
third_party/boringssl-with-bazel/src/ssl/ssl_buffer.cc \
third_party/boringssl-with-bazel/src/ssl/ssl_cert.cc \
third_party/boringssl-with-bazel/src/ssl/ssl_cipher.cc \
+ third_party/boringssl-with-bazel/src/ssl/ssl_credential.cc \
third_party/boringssl-with-bazel/src/ssl/ssl_file.cc \
third_party/boringssl-with-bazel/src/ssl/ssl_key_share.cc \
third_party/boringssl-with-bazel/src/ssl/ssl_lib.cc \
diff --git a/Package.swift b/Package.swift
index 1b31c93a8ed..c4eacbae00d 100644
--- a/Package.swift
+++ b/Package.swift
@@ -165,8 +165,6 @@ let package = Package(
"src/core/ext/filters/channel_idle/idle_filter_state.h",
"src/core/ext/filters/channel_idle/legacy_channel_idle_filter.cc",
"src/core/ext/filters/channel_idle/legacy_channel_idle_filter.h",
- "src/core/ext/filters/deadline/deadline_filter.cc",
- "src/core/ext/filters/deadline/deadline_filter.h",
"src/core/ext/filters/fault_injection/fault_injection_filter.cc",
"src/core/ext/filters/fault_injection/fault_injection_filter.h",
"src/core/ext/filters/fault_injection/fault_injection_service_config_parser.cc",
diff --git a/bazel/experiments.bzl b/bazel/experiments.bzl
index e366840a1e6..679b754b05d 100644
--- a/bazel/experiments.bzl
+++ b/bazel/experiments.bzl
@@ -62,9 +62,6 @@ EXPERIMENTS = {
"core_end2end_test": [
"promise_based_server_call",
],
- "cpp_end2end_test": [
- "promise_based_server_call",
- ],
"endpoint_test": [
"tcp_frame_size_tuning",
"tcp_rcv_lowat",
@@ -83,9 +80,6 @@ EXPERIMENTS = {
"free_large_allocator",
"unconstrained_max_quota_buffer_size",
],
- "xds_end2end_test": [
- "promise_based_server_call",
- ],
},
"on": {
"core_end2end_test": [
@@ -112,9 +106,6 @@ EXPERIMENTS = {
"core_end2end_test": [
"promise_based_server_call",
],
- "cpp_end2end_test": [
- "promise_based_server_call",
- ],
"endpoint_test": [
"tcp_frame_size_tuning",
"tcp_rcv_lowat",
@@ -133,9 +124,6 @@ EXPERIMENTS = {
"free_large_allocator",
"unconstrained_max_quota_buffer_size",
],
- "xds_end2end_test": [
- "promise_based_server_call",
- ],
},
"on": {
"cpp_lb_end2end_test": [
@@ -159,9 +147,6 @@ EXPERIMENTS = {
"promise_based_client_call",
"promise_based_server_call",
],
- "cpp_end2end_test": [
- "promise_based_server_call",
- ],
"endpoint_test": [
"tcp_frame_size_tuning",
"tcp_rcv_lowat",
@@ -186,9 +171,6 @@ EXPERIMENTS = {
"free_large_allocator",
"unconstrained_max_quota_buffer_size",
],
- "xds_end2end_test": [
- "promise_based_server_call",
- ],
},
"on": {
"cancel_ares_query_test": [
diff --git a/bazel/grpc_deps.bzl b/bazel/grpc_deps.bzl
index 328c2a45c72..d0099ab6163 100644
--- a/bazel/grpc_deps.bzl
+++ b/bazel/grpc_deps.bzl
@@ -190,11 +190,11 @@ def grpc_deps():
name = "boringssl",
# Use github mirror instead of https://boringssl.googlesource.com/boringssl
# to obtain a boringssl archive with consistent sha256
- sha256 = "06ba43ff1825c8a9a45dae7f85e532153a531707f6a3e56be1e892fd2d3b75f6",
- strip_prefix = "boringssl-e14d29f68c2d1b02e06f10c83b9b8ea4d061f8df",
+ sha256 = "c4cccc0ea8b149d2853da77254655c0d5a5739dd4bbdff9a5b586c06a627de6c",
+ strip_prefix = "boringssl-5a2bca2124800f2861263959b72bc35cdf18949b",
urls = [
- "https://storage.googleapis.com/grpc-bazel-mirror/github.com/google/boringssl/archive/e14d29f68c2d1b02e06f10c83b9b8ea4d061f8df.tar.gz",
- "https://github.com/google/boringssl/archive/e14d29f68c2d1b02e06f10c83b9b8ea4d061f8df.tar.gz",
+ "https://storage.googleapis.com/grpc-bazel-mirror/github.com/google/boringssl/archive/5a2bca2124800f2861263959b72bc35cdf18949b.tar.gz",
+ "https://github.com/google/boringssl/archive/5a2bca2124800f2861263959b72bc35cdf18949b.tar.gz",
],
)
diff --git a/build_autogenerated.yaml b/build_autogenerated.yaml
index 64f7c85594b..636d5ea958c 100644
--- a/build_autogenerated.yaml
+++ b/build_autogenerated.yaml
@@ -130,6 +130,7 @@ libs:
- absl/flags:flag
- absl/flags:marshalling
- absl/functional:any_invocable
+ - absl/log:check
- absl/log:log
- absl/memory:memory
- absl/random:random
@@ -246,7 +247,6 @@ libs:
- src/core/ext/filters/backend_metrics/backend_metric_provider.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
- src/core/ext/filters/fault_injection/fault_injection_filter.h
- src/core/ext/filters/fault_injection/fault_injection_service_config_parser.h
- src/core/ext/filters/http/client/http_client_filter.h
@@ -1267,7 +1267,6 @@ libs:
- src/core/ext/filters/census/grpc_context.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
- src/core/ext/filters/fault_injection/fault_injection_filter.cc
- src/core/ext/filters/fault_injection/fault_injection_service_config_parser.cc
- src/core/ext/filters/http/client/http_client_filter.cc
@@ -2057,7 +2056,6 @@ libs:
- absl/functional:bind_front
- absl/functional:function_ref
- absl/hash:hash
- - absl/log:check
- absl/meta:type_traits
- absl/random:bit_gen_ref
- absl/random:distributions
@@ -2233,7 +2231,6 @@ libs:
- src/core/ext/filters/backend_metrics/backend_metric_provider.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
- src/core/ext/filters/fault_injection/fault_injection_filter.h
- src/core/ext/filters/fault_injection/fault_injection_service_config_parser.h
- src/core/ext/filters/http/client/http_client_filter.h
@@ -2723,7 +2720,6 @@ libs:
- src/core/ext/filters/census/grpc_context.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
- src/core/ext/filters/fault_injection/fault_injection_filter.cc
- src/core/ext/filters/fault_injection/fault_injection_service_config_parser.cc
- src/core/ext/filters/http/client/http_client_filter.cc
@@ -3118,7 +3114,6 @@ libs:
- absl/functional:bind_front
- absl/functional:function_ref
- absl/hash:hash
- - absl/log:check
- absl/meta:type_traits
- absl/random:bit_gen_ref
- absl/random:distributions
@@ -5032,7 +5027,6 @@ libs:
- absl/container:inlined_vector
- absl/functional:function_ref
- absl/hash:hash
- - absl/log:check
- absl/meta:type_traits
- absl/status:statusor
- absl/types:span
@@ -5176,7 +5170,6 @@ targets:
- test/core/load_balancing/static_stride_scheduler_benchmark.cc
deps:
- absl/algorithm:container
- - absl/log:check
- absl/types:span
- benchmark
- gpr
@@ -6524,7 +6517,6 @@ targets:
- absl/container:inlined_vector
- absl/functional:function_ref
- absl/hash:hash
- - absl/log:check
- absl/meta:type_traits
- absl/status:statusor
- absl/utility:utility
@@ -7779,7 +7771,6 @@ targets:
- absl/base:config
- absl/functional:function_ref
- absl/hash:hash
- - absl/log:check
- absl/meta:type_traits
- absl/status:statusor
- gpr
@@ -9261,7 +9252,6 @@ targets:
- upb_message_lib
- absl/base:config
- absl/hash:hash
- - absl/log:check
- absl/meta:type_traits
- absl/status:statusor
- gpr
@@ -9904,7 +9894,6 @@ targets:
- absl/base:config
- absl/functional:function_ref
- absl/hash:hash
- - absl/log:check
- absl/meta:type_traits
- absl/status:statusor
- absl/types:span
@@ -10040,7 +10029,6 @@ targets:
- absl/base:config
- absl/functional:function_ref
- absl/hash:hash
- - absl/log:check
- absl/meta:type_traits
- absl/status:statusor
- gpr
@@ -10073,7 +10061,6 @@ targets:
- test/core/event_engine/forkable_test.cc
deps:
- gtest
- - absl/log:check
- absl/status:statusor
- gpr
- name: format_request_test
@@ -12164,7 +12151,6 @@ targets:
- absl/container:inlined_vector
- absl/functional:function_ref
- absl/hash:hash
- - absl/log:check
- absl/meta:type_traits
- absl/status:statusor
- absl/types:span
@@ -12295,7 +12281,6 @@ targets:
- absl/base:config
- absl/functional:function_ref
- absl/hash:hash
- - absl/log:check
- absl/meta:type_traits
- absl/status:statusor
- gpr
@@ -12979,7 +12964,6 @@ targets:
- absl/base:config
- absl/functional:function_ref
- absl/hash:hash
- - absl/log:check
- absl/meta:type_traits
- absl/status:statusor
- gpr
@@ -14180,7 +14164,6 @@ targets:
- upb_message_lib
- absl/functional:function_ref
- absl/hash:hash
- - absl/log:check
- absl/status:statusor
- gpr
uses_polling: false
@@ -19339,7 +19322,6 @@ targets:
- test/core/event_engine/posix/timer_heap_test.cc
deps:
- gtest
- - absl/log:check
- absl/status:statusor
- gpr
uses_polling: false
@@ -19393,7 +19375,6 @@ targets:
deps:
- gtest
- absl/hash:hash
- - absl/log:check
- absl/status:statusor
- absl/utility:utility
- gpr
diff --git a/config.m4 b/config.m4
index 7f13369ad48..125cc7f8c1e 100644
--- a/config.m4
+++ b/config.m4
@@ -64,7 +64,6 @@ if test "$PHP_GRPC" != "no"; then
src/core/ext/filters/census/grpc_context.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 \
src/core/ext/filters/fault_injection/fault_injection_filter.cc \
src/core/ext/filters/fault_injection/fault_injection_service_config_parser.cc \
src/core/ext/filters/http/client/http_client_filter.cc \
@@ -1034,7 +1033,6 @@ if test "$PHP_GRPC" != "no"; then
third_party/address_sorting/address_sorting.c \
third_party/address_sorting/address_sorting_posix.c \
third_party/address_sorting/address_sorting_windows.c \
- third_party/boringssl-with-bazel/err_data.c \
third_party/boringssl-with-bazel/src/crypto/asn1/a_bitstr.c \
third_party/boringssl-with-bazel/src/crypto/asn1/a_bool.c \
third_party/boringssl-with-bazel/src/crypto/asn1/a_d2i_fp.c \
@@ -1125,6 +1123,8 @@ if test "$PHP_GRPC" != "no"; then
third_party/boringssl-with-bazel/src/crypto/evp/evp.c \
third_party/boringssl-with-bazel/src/crypto/evp/evp_asn1.c \
third_party/boringssl-with-bazel/src/crypto/evp/evp_ctx.c \
+ third_party/boringssl-with-bazel/src/crypto/evp/p_dh.c \
+ third_party/boringssl-with-bazel/src/crypto/evp/p_dh_asn1.c \
third_party/boringssl-with-bazel/src/crypto/evp/p_dsa_asn1.c \
third_party/boringssl-with-bazel/src/crypto/evp/p_ec.c \
third_party/boringssl-with-bazel/src/crypto/evp/p_ec_asn1.c \
@@ -1266,6 +1266,7 @@ if test "$PHP_GRPC" != "no"; then
third_party/boringssl-with-bazel/src/crypto/x509/x_val.c \
third_party/boringssl-with-bazel/src/crypto/x509/x_x509.c \
third_party/boringssl-with-bazel/src/crypto/x509/x_x509a.c \
+ third_party/boringssl-with-bazel/src/gen/crypto/err_data.c \
third_party/boringssl-with-bazel/src/ssl/bio_ssl.cc \
third_party/boringssl-with-bazel/src/ssl/d1_both.cc \
third_party/boringssl-with-bazel/src/ssl/d1_lib.cc \
@@ -1287,6 +1288,7 @@ if test "$PHP_GRPC" != "no"; then
third_party/boringssl-with-bazel/src/ssl/ssl_buffer.cc \
third_party/boringssl-with-bazel/src/ssl/ssl_cert.cc \
third_party/boringssl-with-bazel/src/ssl/ssl_cipher.cc \
+ third_party/boringssl-with-bazel/src/ssl/ssl_credential.cc \
third_party/boringssl-with-bazel/src/ssl/ssl_file.cc \
third_party/boringssl-with-bazel/src/ssl/ssl_key_share.cc \
third_party/boringssl-with-bazel/src/ssl/ssl_lib.cc \
@@ -1388,7 +1390,6 @@ if test "$PHP_GRPC" != "no"; then
PHP_ADD_BUILD_DIR($ext_builddir/src/core/ext/filters/backend_metrics)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/ext/filters/census)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/ext/filters/channel_idle)
- PHP_ADD_BUILD_DIR($ext_builddir/src/core/ext/filters/deadline)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/ext/filters/fault_injection)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/ext/filters/http)
PHP_ADD_BUILD_DIR($ext_builddir/src/core/ext/filters/http/client)
@@ -1633,7 +1634,6 @@ if test "$PHP_GRPC" != "no"; then
PHP_ADD_BUILD_DIR($ext_builddir/third_party/abseil-cpp/absl/time/internal/cctz/src)
PHP_ADD_BUILD_DIR($ext_builddir/third_party/abseil-cpp/absl/types)
PHP_ADD_BUILD_DIR($ext_builddir/third_party/address_sorting)
- PHP_ADD_BUILD_DIR($ext_builddir/third_party/boringssl-with-bazel)
PHP_ADD_BUILD_DIR($ext_builddir/third_party/boringssl-with-bazel/src/crypto)
PHP_ADD_BUILD_DIR($ext_builddir/third_party/boringssl-with-bazel/src/crypto/asn1)
PHP_ADD_BUILD_DIR($ext_builddir/third_party/boringssl-with-bazel/src/crypto/base64)
@@ -1676,6 +1676,7 @@ if test "$PHP_GRPC" != "no"; then
PHP_ADD_BUILD_DIR($ext_builddir/third_party/boringssl-with-bazel/src/crypto/stack)
PHP_ADD_BUILD_DIR($ext_builddir/third_party/boringssl-with-bazel/src/crypto/trust_token)
PHP_ADD_BUILD_DIR($ext_builddir/third_party/boringssl-with-bazel/src/crypto/x509)
+ PHP_ADD_BUILD_DIR($ext_builddir/third_party/boringssl-with-bazel/src/gen/crypto)
PHP_ADD_BUILD_DIR($ext_builddir/third_party/boringssl-with-bazel/src/ssl)
PHP_ADD_BUILD_DIR($ext_builddir/third_party/re2/re2)
PHP_ADD_BUILD_DIR($ext_builddir/third_party/re2/util)
diff --git a/config.w32 b/config.w32
index 01d8a1c6d0c..a0cc2a6ee58 100644
--- a/config.w32
+++ b/config.w32
@@ -29,7 +29,6 @@ if (PHP_GRPC != "no") {
"src\\core\\ext\\filters\\census\\grpc_context.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 " +
"src\\core\\ext\\filters\\fault_injection\\fault_injection_filter.cc " +
"src\\core\\ext\\filters\\fault_injection\\fault_injection_service_config_parser.cc " +
"src\\core\\ext\\filters\\http\\client\\http_client_filter.cc " +
@@ -999,7 +998,6 @@ if (PHP_GRPC != "no") {
"third_party\\address_sorting\\address_sorting.c " +
"third_party\\address_sorting\\address_sorting_posix.c " +
"third_party\\address_sorting\\address_sorting_windows.c " +
- "third_party\\boringssl-with-bazel\\err_data.c " +
"third_party\\boringssl-with-bazel\\src\\crypto\\asn1\\a_bitstr.c " +
"third_party\\boringssl-with-bazel\\src\\crypto\\asn1\\a_bool.c " +
"third_party\\boringssl-with-bazel\\src\\crypto\\asn1\\a_d2i_fp.c " +
@@ -1090,6 +1088,8 @@ if (PHP_GRPC != "no") {
"third_party\\boringssl-with-bazel\\src\\crypto\\evp\\evp.c " +
"third_party\\boringssl-with-bazel\\src\\crypto\\evp\\evp_asn1.c " +
"third_party\\boringssl-with-bazel\\src\\crypto\\evp\\evp_ctx.c " +
+ "third_party\\boringssl-with-bazel\\src\\crypto\\evp\\p_dh.c " +
+ "third_party\\boringssl-with-bazel\\src\\crypto\\evp\\p_dh_asn1.c " +
"third_party\\boringssl-with-bazel\\src\\crypto\\evp\\p_dsa_asn1.c " +
"third_party\\boringssl-with-bazel\\src\\crypto\\evp\\p_ec.c " +
"third_party\\boringssl-with-bazel\\src\\crypto\\evp\\p_ec_asn1.c " +
@@ -1231,6 +1231,7 @@ if (PHP_GRPC != "no") {
"third_party\\boringssl-with-bazel\\src\\crypto\\x509\\x_val.c " +
"third_party\\boringssl-with-bazel\\src\\crypto\\x509\\x_x509.c " +
"third_party\\boringssl-with-bazel\\src\\crypto\\x509\\x_x509a.c " +
+ "third_party\\boringssl-with-bazel\\src\\gen\\crypto\\err_data.c " +
"third_party\\boringssl-with-bazel\\src\\ssl\\bio_ssl.cc " +
"third_party\\boringssl-with-bazel\\src\\ssl\\d1_both.cc " +
"third_party\\boringssl-with-bazel\\src\\ssl\\d1_lib.cc " +
@@ -1252,6 +1253,7 @@ if (PHP_GRPC != "no") {
"third_party\\boringssl-with-bazel\\src\\ssl\\ssl_buffer.cc " +
"third_party\\boringssl-with-bazel\\src\\ssl\\ssl_cert.cc " +
"third_party\\boringssl-with-bazel\\src\\ssl\\ssl_cipher.cc " +
+ "third_party\\boringssl-with-bazel\\src\\ssl\\ssl_credential.cc " +
"third_party\\boringssl-with-bazel\\src\\ssl\\ssl_file.cc " +
"third_party\\boringssl-with-bazel\\src\\ssl\\ssl_key_share.cc " +
"third_party\\boringssl-with-bazel\\src\\ssl\\ssl_lib.cc " +
@@ -1382,7 +1384,6 @@ if (PHP_GRPC != "no") {
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\filters\\backend_metrics");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\filters\\census");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\filters\\channel_idle");
- FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\filters\\deadline");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\filters\\fault_injection");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\filters\\http");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\src\\core\\ext\\filters\\http\\client");
@@ -1827,6 +1828,8 @@ if (PHP_GRPC != "no") {
FSO.CreateFolder(base_dir+"\\ext\\grpc\\third_party\\boringssl-with-bazel\\src\\crypto\\stack");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\third_party\\boringssl-with-bazel\\src\\crypto\\trust_token");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\third_party\\boringssl-with-bazel\\src\\crypto\\x509");
+ FSO.CreateFolder(base_dir+"\\ext\\grpc\\third_party\\boringssl-with-bazel\\src\\gen");
+ FSO.CreateFolder(base_dir+"\\ext\\grpc\\third_party\\boringssl-with-bazel\\src\\gen\\crypto");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\third_party\\boringssl-with-bazel\\src\\ssl");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\third_party\\re2");
FSO.CreateFolder(base_dir+"\\ext\\grpc\\third_party\\re2\\re2");
diff --git a/gRPC-C++.podspec b/gRPC-C++.podspec
index 2f7adcd0c00..fca100b28d2 100644
--- a/gRPC-C++.podspec
+++ b/gRPC-C++.podspec
@@ -286,7 +286,6 @@ Pod::Spec.new do |s|
'src/core/ext/filters/backend_metrics/backend_metric_provider.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',
'src/core/ext/filters/fault_injection/fault_injection_filter.h',
'src/core/ext/filters/fault_injection/fault_injection_service_config_parser.h',
'src/core/ext/filters/http/client/http_client_filter.h',
@@ -1575,7 +1574,6 @@ Pod::Spec.new do |s|
'src/core/ext/filters/backend_metrics/backend_metric_provider.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',
'src/core/ext/filters/fault_injection/fault_injection_filter.h',
'src/core/ext/filters/fault_injection/fault_injection_service_config_parser.h',
'src/core/ext/filters/http/client/http_client_filter.h',
diff --git a/gRPC-Core.podspec b/gRPC-Core.podspec
index 54bf79c740c..c1ad3a41850 100644
--- a/gRPC-Core.podspec
+++ b/gRPC-Core.podspec
@@ -197,7 +197,7 @@ Pod::Spec.new do |s|
ss.libraries = 'z'
ss.dependency "#{s.name}/Interface", version
ss.dependency "#{s.name}/Privacy", version
- ss.dependency 'BoringSSL-GRPC', '0.0.33'
+ ss.dependency 'BoringSSL-GRPC', '0.0.34'
ss.dependency 'abseil/algorithm/container', abseil_version
ss.dependency 'abseil/base/base', abseil_version
ss.dependency 'abseil/base/config', abseil_version
@@ -282,8 +282,6 @@ Pod::Spec.new do |s|
'src/core/ext/filters/channel_idle/idle_filter_state.h',
'src/core/ext/filters/channel_idle/legacy_channel_idle_filter.cc',
'src/core/ext/filters/channel_idle/legacy_channel_idle_filter.h',
- 'src/core/ext/filters/deadline/deadline_filter.cc',
- 'src/core/ext/filters/deadline/deadline_filter.h',
'src/core/ext/filters/fault_injection/fault_injection_filter.cc',
'src/core/ext/filters/fault_injection/fault_injection_filter.h',
'src/core/ext/filters/fault_injection/fault_injection_service_config_parser.cc',
@@ -2375,7 +2373,6 @@ Pod::Spec.new do |s|
'src/core/ext/filters/backend_metrics/backend_metric_provider.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',
'src/core/ext/filters/fault_injection/fault_injection_filter.h',
'src/core/ext/filters/fault_injection/fault_injection_service_config_parser.h',
'src/core/ext/filters/http/client/http_client_filter.h',
diff --git a/grpc.gemspec b/grpc.gemspec
index c2e4e752706..05b8d202eca 100644
--- a/grpc.gemspec
+++ b/grpc.gemspec
@@ -171,8 +171,6 @@ Gem::Specification.new do |s|
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 )
s.files += %w( src/core/ext/filters/channel_idle/legacy_channel_idle_filter.h )
- s.files += %w( src/core/ext/filters/deadline/deadline_filter.cc )
- s.files += %w( src/core/ext/filters/deadline/deadline_filter.h )
s.files += %w( src/core/ext/filters/fault_injection/fault_injection_filter.cc )
s.files += %w( src/core/ext/filters/fault_injection/fault_injection_filter.h )
s.files += %w( src/core/ext/filters/fault_injection/fault_injection_service_config_parser.cc )
@@ -2450,7 +2448,6 @@ Gem::Specification.new do |s|
s.files += %w( third_party/address_sorting/address_sorting_posix.c )
s.files += %w( third_party/address_sorting/address_sorting_windows.c )
s.files += %w( third_party/address_sorting/include/address_sorting/address_sorting.h )
- s.files += %w( third_party/boringssl-with-bazel/err_data.c )
s.files += %w( third_party/boringssl-with-bazel/src/crypto/asn1/a_bitstr.c )
s.files += %w( third_party/boringssl-with-bazel/src/crypto/asn1/a_bool.c )
s.files += %w( third_party/boringssl-with-bazel/src/crypto/asn1/a_d2i_fp.c )
@@ -2556,6 +2553,8 @@ Gem::Specification.new do |s|
s.files += %w( third_party/boringssl-with-bazel/src/crypto/evp/evp_asn1.c )
s.files += %w( third_party/boringssl-with-bazel/src/crypto/evp/evp_ctx.c )
s.files += %w( third_party/boringssl-with-bazel/src/crypto/evp/internal.h )
+ s.files += %w( third_party/boringssl-with-bazel/src/crypto/evp/p_dh.c )
+ s.files += %w( third_party/boringssl-with-bazel/src/crypto/evp/p_dh_asn1.c )
s.files += %w( third_party/boringssl-with-bazel/src/crypto/evp/p_dsa_asn1.c )
s.files += %w( third_party/boringssl-with-bazel/src/crypto/evp/p_ec.c )
s.files += %w( third_party/boringssl-with-bazel/src/crypto/evp/p_ec_asn1.c )
@@ -2726,7 +2725,6 @@ Gem::Specification.new do |s|
s.files += %w( third_party/boringssl-with-bazel/src/crypto/spx/address.h )
s.files += %w( third_party/boringssl-with-bazel/src/crypto/spx/fors.c )
s.files += %w( third_party/boringssl-with-bazel/src/crypto/spx/fors.h )
- s.files += %w( third_party/boringssl-with-bazel/src/crypto/spx/internal.h )
s.files += %w( third_party/boringssl-with-bazel/src/crypto/spx/merkle.c )
s.files += %w( third_party/boringssl-with-bazel/src/crypto/spx/merkle.h )
s.files += %w( third_party/boringssl-with-bazel/src/crypto/spx/params.h )
@@ -2818,6 +2816,7 @@ Gem::Specification.new do |s|
s.files += %w( third_party/boringssl-with-bazel/src/crypto/x509/x_val.c )
s.files += %w( third_party/boringssl-with-bazel/src/crypto/x509/x_x509.c )
s.files += %w( third_party/boringssl-with-bazel/src/crypto/x509/x_x509a.c )
+ s.files += %w( third_party/boringssl-with-bazel/src/gen/crypto/err_data.c )
s.files += %w( third_party/boringssl-with-bazel/src/include/openssl/aead.h )
s.files += %w( third_party/boringssl-with-bazel/src/include/openssl/aes.h )
s.files += %w( third_party/boringssl-with-bazel/src/include/openssl/arm_arch.h )
@@ -2858,13 +2857,14 @@ Gem::Specification.new do |s|
s.files += %w( third_party/boringssl-with-bazel/src/include/openssl/evp.h )
s.files += %w( third_party/boringssl-with-bazel/src/include/openssl/evp_errors.h )
s.files += %w( third_party/boringssl-with-bazel/src/include/openssl/ex_data.h )
+ s.files += %w( third_party/boringssl-with-bazel/src/include/openssl/experimental/kyber.h )
+ s.files += %w( third_party/boringssl-with-bazel/src/include/openssl/experimental/spx.h )
s.files += %w( third_party/boringssl-with-bazel/src/include/openssl/hkdf.h )
s.files += %w( third_party/boringssl-with-bazel/src/include/openssl/hmac.h )
s.files += %w( third_party/boringssl-with-bazel/src/include/openssl/hpke.h )
s.files += %w( third_party/boringssl-with-bazel/src/include/openssl/hrss.h )
s.files += %w( third_party/boringssl-with-bazel/src/include/openssl/is_boringssl.h )
s.files += %w( third_party/boringssl-with-bazel/src/include/openssl/kdf.h )
- s.files += %w( third_party/boringssl-with-bazel/src/include/openssl/kyber.h )
s.files += %w( third_party/boringssl-with-bazel/src/include/openssl/lhash.h )
s.files += %w( third_party/boringssl-with-bazel/src/include/openssl/md4.h )
s.files += %w( third_party/boringssl-with-bazel/src/include/openssl/md5.h )
@@ -2880,8 +2880,6 @@ Gem::Specification.new do |s|
s.files += %w( third_party/boringssl-with-bazel/src/include/openssl/pkcs12.h )
s.files += %w( third_party/boringssl-with-bazel/src/include/openssl/pkcs7.h )
s.files += %w( third_party/boringssl-with-bazel/src/include/openssl/pkcs8.h )
- s.files += %w( third_party/boringssl-with-bazel/src/include/openssl/pki/certificate.h )
- s.files += %w( third_party/boringssl-with-bazel/src/include/openssl/pki/signature_verify_cache.h )
s.files += %w( third_party/boringssl-with-bazel/src/include/openssl/poly1305.h )
s.files += %w( third_party/boringssl-with-bazel/src/include/openssl/pool.h )
s.files += %w( third_party/boringssl-with-bazel/src/include/openssl/posix_time.h )
@@ -2930,6 +2928,7 @@ Gem::Specification.new do |s|
s.files += %w( third_party/boringssl-with-bazel/src/ssl/ssl_buffer.cc )
s.files += %w( third_party/boringssl-with-bazel/src/ssl/ssl_cert.cc )
s.files += %w( third_party/boringssl-with-bazel/src/ssl/ssl_cipher.cc )
+ s.files += %w( third_party/boringssl-with-bazel/src/ssl/ssl_credential.cc )
s.files += %w( third_party/boringssl-with-bazel/src/ssl/ssl_file.cc )
s.files += %w( third_party/boringssl-with-bazel/src/ssl/ssl_key_share.cc )
s.files += %w( third_party/boringssl-with-bazel/src/ssl/ssl_lib.cc )
diff --git a/include/grpc/impl/channel_arg_names.h b/include/grpc/impl/channel_arg_names.h
index 7ba19bebb17..663e9620a34 100644
--- a/include/grpc/impl/channel_arg_names.h
+++ b/include/grpc/impl/channel_arg_names.h
@@ -67,9 +67,6 @@
application will see the compressed message in the byte buffer. */
#define GRPC_ARG_ENABLE_PER_MESSAGE_DECOMPRESSION \
"grpc.per_message_decompression"
-/** Enable/disable support for deadline checking. Defaults to 1, unless
- GRPC_ARG_MINIMAL_STACK is enabled, in which case it defaults to 0 */
-#define GRPC_ARG_ENABLE_DEADLINE_CHECKS "grpc.enable_deadline_checking"
/** Initial stream ID for http2 transports. Int valued. */
#define GRPC_ARG_HTTP2_INITIAL_SEQUENCE_NUMBER \
"grpc.http2.initial_sequence_number"
diff --git a/package.xml b/package.xml
index 8d9759fc0f6..62f4ba023b7 100644
--- a/package.xml
+++ b/package.xml
@@ -153,8 +153,6 @@
-
-
@@ -2454,7 +2452,6 @@
-
@@ -2560,6 +2557,8 @@
+
+
@@ -2730,7 +2729,6 @@
-
@@ -2822,6 +2820,7 @@
+
@@ -2862,13 +2861,14 @@
+
+
-
@@ -2884,8 +2884,6 @@
-
-
@@ -2934,6 +2932,7 @@
+
diff --git a/src/boringssl/boringssl_prefix_symbols.h b/src/boringssl/boringssl_prefix_symbols.h
index 827f1b0ed1c..3255f889966 100644
--- a/src/boringssl/boringssl_prefix_symbols.h
+++ b/src/boringssl/boringssl_prefix_symbols.h
@@ -1,4 +1,4 @@
-// generated by generate_boringssl_prefix_header.sh on BoringSSL commit: e14d29f68c2d1b02e06f10c83b9b8ea4d061f8df
+// generated by generate_boringssl_prefix_header.sh on BoringSSL commit: 5a2bca2124800f2861263959b72bc35cdf18949b
// Copyright (c) 2018, Google Inc.
//
@@ -21,6 +21,9 @@
#define BIO_f_ssl BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, BIO_f_ssl)
#define BIO_set_ssl BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, BIO_set_ssl)
+#define CBS_data BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, CBS_data)
+#define CBS_init BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, CBS_init)
+#define CBS_len BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, CBS_len)
#define DTLS_client_method BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, DTLS_client_method)
#define DTLS_method BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, DTLS_method)
#define DTLS_server_method BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, DTLS_server_method)
@@ -66,8 +69,23 @@
#define SSL_COMP_get_compression_methods BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_COMP_get_compression_methods)
#define SSL_COMP_get_id BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_COMP_get_id)
#define SSL_COMP_get_name BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_COMP_get_name)
+#define SSL_CREDENTIAL_free BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_CREDENTIAL_free)
+#define SSL_CREDENTIAL_get_ex_data BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_CREDENTIAL_get_ex_data)
+#define SSL_CREDENTIAL_get_ex_new_index BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_CREDENTIAL_get_ex_new_index)
+#define SSL_CREDENTIAL_new_delegated BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_CREDENTIAL_new_delegated)
+#define SSL_CREDENTIAL_new_x509 BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_CREDENTIAL_new_x509)
+#define SSL_CREDENTIAL_set1_cert_chain BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_CREDENTIAL_set1_cert_chain)
+#define SSL_CREDENTIAL_set1_delegated_credential BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_CREDENTIAL_set1_delegated_credential)
+#define SSL_CREDENTIAL_set1_ocsp_response BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_CREDENTIAL_set1_ocsp_response)
+#define SSL_CREDENTIAL_set1_private_key BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_CREDENTIAL_set1_private_key)
+#define SSL_CREDENTIAL_set1_signed_cert_timestamp_list BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_CREDENTIAL_set1_signed_cert_timestamp_list)
+#define SSL_CREDENTIAL_set1_signing_algorithm_prefs BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_CREDENTIAL_set1_signing_algorithm_prefs)
+#define SSL_CREDENTIAL_set_ex_data BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_CREDENTIAL_set_ex_data)
+#define SSL_CREDENTIAL_set_private_key_method BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_CREDENTIAL_set_private_key_method)
+#define SSL_CREDENTIAL_up_ref BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_CREDENTIAL_up_ref)
#define SSL_CTX_add0_chain_cert BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_CTX_add0_chain_cert)
#define SSL_CTX_add1_chain_cert BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_CTX_add1_chain_cert)
+#define SSL_CTX_add1_credential BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_CTX_add1_credential)
#define SSL_CTX_add_cert_compression_alg BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_CTX_add_cert_compression_alg)
#define SSL_CTX_add_client_CA BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_CTX_add_client_CA)
#define SSL_CTX_add_extra_chain_cert BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_CTX_add_extra_chain_cert)
@@ -282,6 +300,7 @@
#define SSL_accept BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_accept)
#define SSL_add0_chain_cert BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_add0_chain_cert)
#define SSL_add1_chain_cert BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_add1_chain_cert)
+#define SSL_add1_credential BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_add1_credential)
#define SSL_add_application_settings BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_add_application_settings)
#define SSL_add_bio_cert_subjects_to_stack BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_add_bio_cert_subjects_to_stack)
#define SSL_add_client_CA BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_add_client_CA)
@@ -301,7 +320,6 @@
#define SSL_clear_options BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_clear_options)
#define SSL_connect BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_connect)
#define SSL_cutthrough_complete BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_cutthrough_complete)
-#define SSL_delegated_credential_used BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_delegated_credential_used)
#define SSL_do_handshake BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_do_handshake)
#define SSL_dup_CA_list BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_dup_CA_list)
#define SSL_early_callback_ctx_extension_get BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_early_callback_ctx_extension_get)
@@ -328,6 +346,7 @@
#define SSL_get0_peer_certificates BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_get0_peer_certificates)
#define SSL_get0_peer_delegation_algorithms BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_get0_peer_delegation_algorithms)
#define SSL_get0_peer_verify_algorithms BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_get0_peer_verify_algorithms)
+#define SSL_get0_selected_credential BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_get0_selected_credential)
#define SSL_get0_server_requested_CAs BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_get0_server_requested_CAs)
#define SSL_get0_session_id_context BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_get0_session_id_context)
#define SSL_get0_signed_cert_timestamp_list BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_get0_signed_cert_timestamp_list)
@@ -457,7 +476,6 @@
#define SSL_set1_chain BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_set1_chain)
#define SSL_set1_curves BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_set1_curves)
#define SSL_set1_curves_list BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_set1_curves_list)
-#define SSL_set1_delegated_credential BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_set1_delegated_credential)
#define SSL_set1_ech_config_list BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_set1_ech_config_list)
#define SSL_set1_group_ids BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_set1_group_ids)
#define SSL_set1_groups BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_set1_groups)
@@ -475,6 +493,8 @@
#define SSL_set_bio BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_set_bio)
#define SSL_set_cert_cb BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_set_cert_cb)
#define SSL_set_chain_and_key BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_set_chain_and_key)
+#define SSL_set_check_client_certificate_type BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_set_check_client_certificate_type)
+#define SSL_set_check_ecdsa_curve BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_set_check_ecdsa_curve)
#define SSL_set_cipher_list BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_set_cipher_list)
#define SSL_set_client_CA_list BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_set_client_CA_list)
#define SSL_set_compliance_policy BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSL_set_compliance_policy)
@@ -582,6 +602,7 @@
#define sk_CRYPTO_BUFFER_deep_copy BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, sk_CRYPTO_BUFFER_deep_copy)
#define sk_CRYPTO_BUFFER_new_null BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, sk_CRYPTO_BUFFER_new_null)
#define sk_CRYPTO_BUFFER_num BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, sk_CRYPTO_BUFFER_num)
+#define sk_CRYPTO_BUFFER_pop BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, sk_CRYPTO_BUFFER_pop)
#define sk_CRYPTO_BUFFER_push BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, sk_CRYPTO_BUFFER_push)
#define sk_CRYPTO_BUFFER_set BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, sk_CRYPTO_BUFFER_set)
#define sk_CRYPTO_BUFFER_value BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, sk_CRYPTO_BUFFER_value)
@@ -1118,7 +1139,6 @@
#define CBS_asn1_oid_to_text BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, CBS_asn1_oid_to_text)
#define CBS_contains_zero_byte BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, CBS_contains_zero_byte)
#define CBS_copy_bytes BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, CBS_copy_bytes)
-#define CBS_data BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, CBS_data)
#define CBS_get_any_asn1 BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, CBS_get_any_asn1)
#define CBS_get_any_asn1_element BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, CBS_get_any_asn1_element)
#define CBS_get_any_ber_asn1_element BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, CBS_get_any_ber_asn1_element)
@@ -1151,12 +1171,10 @@
#define CBS_get_until_first BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, CBS_get_until_first)
#define CBS_get_utf32_be BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, CBS_get_utf32_be)
#define CBS_get_utf8 BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, CBS_get_utf8)
-#define CBS_init BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, CBS_init)
#define CBS_is_unsigned_asn1_integer BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, CBS_is_unsigned_asn1_integer)
#define CBS_is_valid_asn1_bitstring BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, CBS_is_valid_asn1_bitstring)
#define CBS_is_valid_asn1_integer BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, CBS_is_valid_asn1_integer)
#define CBS_is_valid_asn1_oid BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, CBS_is_valid_asn1_oid)
-#define CBS_len BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, CBS_len)
#define CBS_mem_equal BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, CBS_mem_equal)
#define CBS_parse_generalized_time BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, CBS_parse_generalized_time)
#define CBS_parse_utc_time BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, CBS_parse_utc_time)
@@ -1231,7 +1249,7 @@
#define CRYPTO_get_dynlock_destroy_callback BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, CRYPTO_get_dynlock_destroy_callback)
#define CRYPTO_get_dynlock_lock_callback BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, CRYPTO_get_dynlock_lock_callback)
#define CRYPTO_get_ex_data BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, CRYPTO_get_ex_data)
-#define CRYPTO_get_ex_new_index BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, CRYPTO_get_ex_new_index)
+#define CRYPTO_get_ex_new_index_ex BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, CRYPTO_get_ex_new_index_ex)
#define CRYPTO_get_fork_generation BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, CRYPTO_get_fork_generation)
#define CRYPTO_get_lock_name BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, CRYPTO_get_lock_name)
#define CRYPTO_get_locking_callback BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, CRYPTO_get_locking_callback)
@@ -1517,6 +1535,7 @@
#define ERR_get_error_line_data BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, ERR_get_error_line_data)
#define ERR_get_next_error_library BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, ERR_get_next_error_library)
#define ERR_lib_error_string BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, ERR_lib_error_string)
+#define ERR_lib_symbol_name BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, ERR_lib_symbol_name)
#define ERR_load_BIO_strings BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, ERR_load_BIO_strings)
#define ERR_load_ERR_strings BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, ERR_load_ERR_strings)
#define ERR_load_RAND_strings BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, ERR_load_RAND_strings)
@@ -1533,6 +1552,7 @@
#define ERR_print_errors_fp BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, ERR_print_errors_fp)
#define ERR_put_error BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, ERR_put_error)
#define ERR_reason_error_string BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, ERR_reason_error_string)
+#define ERR_reason_symbol_name BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, ERR_reason_symbol_name)
#define ERR_remove_state BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, ERR_remove_state)
#define ERR_remove_thread_state BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, ERR_remove_thread_state)
#define ERR_restore_state BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, ERR_restore_state)
@@ -1705,6 +1725,7 @@
#define EVP_PKEY_CTX_set0_rsa_oaep_label BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, EVP_PKEY_CTX_set0_rsa_oaep_label)
#define EVP_PKEY_CTX_set1_hkdf_key BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, EVP_PKEY_CTX_set1_hkdf_key)
#define EVP_PKEY_CTX_set1_hkdf_salt BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, EVP_PKEY_CTX_set1_hkdf_salt)
+#define EVP_PKEY_CTX_set_dh_pad BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, EVP_PKEY_CTX_set_dh_pad)
#define EVP_PKEY_CTX_set_dsa_paramgen_bits BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, EVP_PKEY_CTX_set_dsa_paramgen_bits)
#define EVP_PKEY_CTX_set_dsa_paramgen_q_bits BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, EVP_PKEY_CTX_set_dsa_paramgen_q_bits)
#define EVP_PKEY_CTX_set_ec_param_enc BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, EVP_PKEY_CTX_set_ec_param_enc)
@@ -1721,6 +1742,7 @@
#define EVP_PKEY_CTX_set_rsa_pss_saltlen BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, EVP_PKEY_CTX_set_rsa_pss_saltlen)
#define EVP_PKEY_CTX_set_signature_md BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, EVP_PKEY_CTX_set_signature_md)
#define EVP_PKEY_assign BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, EVP_PKEY_assign)
+#define EVP_PKEY_assign_DH BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, EVP_PKEY_assign_DH)
#define EVP_PKEY_assign_DSA BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, EVP_PKEY_assign_DSA)
#define EVP_PKEY_assign_EC_KEY BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, EVP_PKEY_assign_EC_KEY)
#define EVP_PKEY_assign_RSA BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, EVP_PKEY_assign_RSA)
@@ -1762,6 +1784,7 @@
#define EVP_PKEY_print_params BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, EVP_PKEY_print_params)
#define EVP_PKEY_print_private BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, EVP_PKEY_print_private)
#define EVP_PKEY_print_public BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, EVP_PKEY_print_public)
+#define EVP_PKEY_set1_DH BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, EVP_PKEY_set1_DH)
#define EVP_PKEY_set1_DSA BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, EVP_PKEY_set1_DSA)
#define EVP_PKEY_set1_EC_KEY BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, EVP_PKEY_set1_EC_KEY)
#define EVP_PKEY_set1_RSA BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, EVP_PKEY_set1_RSA)
@@ -2342,6 +2365,10 @@
#define SPAKE2_CTX_new BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SPAKE2_CTX_new)
#define SPAKE2_generate_msg BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SPAKE2_generate_msg)
#define SPAKE2_process_msg BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SPAKE2_process_msg)
+#define SPX_generate_key BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SPX_generate_key)
+#define SPX_generate_key_from_seed BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SPX_generate_key_from_seed)
+#define SPX_sign BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SPX_sign)
+#define SPX_verify BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SPX_verify)
#define SSLeay BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSLeay)
#define SSLeay_version BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, SSLeay_version)
#define TRUST_TOKEN_CLIENT_add_key BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, TRUST_TOKEN_CLIENT_add_key)
@@ -2832,45 +2859,6 @@
#define X509v3_get_ext_count BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, X509v3_get_ext_count)
#define a2i_IPADDRESS BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, a2i_IPADDRESS)
#define a2i_IPADDRESS_NC BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, a2i_IPADDRESS_NC)
-#define abi_test_bad_unwind_temporary BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, abi_test_bad_unwind_temporary)
-#define abi_test_bad_unwind_wrong_register BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, abi_test_bad_unwind_wrong_register)
-#define abi_test_clobber_r10 BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, abi_test_clobber_r10)
-#define abi_test_clobber_r11 BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, abi_test_clobber_r11)
-#define abi_test_clobber_r12 BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, abi_test_clobber_r12)
-#define abi_test_clobber_r13 BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, abi_test_clobber_r13)
-#define abi_test_clobber_r14 BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, abi_test_clobber_r14)
-#define abi_test_clobber_r15 BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, abi_test_clobber_r15)
-#define abi_test_clobber_r8 BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, abi_test_clobber_r8)
-#define abi_test_clobber_r9 BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, abi_test_clobber_r9)
-#define abi_test_clobber_rax BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, abi_test_clobber_rax)
-#define abi_test_clobber_rbp BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, abi_test_clobber_rbp)
-#define abi_test_clobber_rbx BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, abi_test_clobber_rbx)
-#define abi_test_clobber_rcx BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, abi_test_clobber_rcx)
-#define abi_test_clobber_rdi BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, abi_test_clobber_rdi)
-#define abi_test_clobber_rdx BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, abi_test_clobber_rdx)
-#define abi_test_clobber_rsi BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, abi_test_clobber_rsi)
-#define abi_test_clobber_xmm0 BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, abi_test_clobber_xmm0)
-#define abi_test_clobber_xmm1 BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, abi_test_clobber_xmm1)
-#define abi_test_clobber_xmm10 BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, abi_test_clobber_xmm10)
-#define abi_test_clobber_xmm11 BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, abi_test_clobber_xmm11)
-#define abi_test_clobber_xmm12 BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, abi_test_clobber_xmm12)
-#define abi_test_clobber_xmm13 BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, abi_test_clobber_xmm13)
-#define abi_test_clobber_xmm14 BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, abi_test_clobber_xmm14)
-#define abi_test_clobber_xmm15 BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, abi_test_clobber_xmm15)
-#define abi_test_clobber_xmm2 BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, abi_test_clobber_xmm2)
-#define abi_test_clobber_xmm3 BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, abi_test_clobber_xmm3)
-#define abi_test_clobber_xmm4 BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, abi_test_clobber_xmm4)
-#define abi_test_clobber_xmm5 BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, abi_test_clobber_xmm5)
-#define abi_test_clobber_xmm6 BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, abi_test_clobber_xmm6)
-#define abi_test_clobber_xmm7 BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, abi_test_clobber_xmm7)
-#define abi_test_clobber_xmm8 BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, abi_test_clobber_xmm8)
-#define abi_test_clobber_xmm9 BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, abi_test_clobber_xmm9)
-#define abi_test_get_and_clear_direction_flag BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, abi_test_get_and_clear_direction_flag)
-#define abi_test_set_direction_flag BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, abi_test_set_direction_flag)
-#define abi_test_trampoline BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, abi_test_trampoline)
-#define abi_test_unwind_return BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, abi_test_unwind_return)
-#define abi_test_unwind_start BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, abi_test_unwind_start)
-#define abi_test_unwind_stop BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, abi_test_unwind_stop)
#define aes128gcmsiv_aes_ks BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, aes128gcmsiv_aes_ks)
#define aes128gcmsiv_aes_ks_enc_x1 BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, aes128gcmsiv_aes_ks_enc_x1)
#define aes128gcmsiv_dec BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, aes128gcmsiv_dec)
@@ -3018,7 +3006,6 @@
#define chacha20_poly1305_open BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, chacha20_poly1305_open)
#define chacha20_poly1305_seal BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, chacha20_poly1305_seal)
#define crypto_gcm_clmul_enabled BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, crypto_gcm_clmul_enabled)
-#define d2i_ACCESS_DESCRIPTION BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, d2i_ACCESS_DESCRIPTION)
#define d2i_ASN1_BIT_STRING BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, d2i_ASN1_BIT_STRING)
#define d2i_ASN1_BMPSTRING BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, d2i_ASN1_BMPSTRING)
#define d2i_ASN1_BOOLEAN BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, d2i_ASN1_BOOLEAN)
@@ -3051,8 +3038,6 @@
#define d2i_DHparams_bio BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, d2i_DHparams_bio)
#define d2i_DIRECTORYSTRING BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, d2i_DIRECTORYSTRING)
#define d2i_DISPLAYTEXT BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, d2i_DISPLAYTEXT)
-#define d2i_DIST_POINT BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, d2i_DIST_POINT)
-#define d2i_DIST_POINT_NAME BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, d2i_DIST_POINT_NAME)
#define d2i_DSAPrivateKey BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, d2i_DSAPrivateKey)
#define d2i_DSAPrivateKey_bio BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, d2i_DSAPrivateKey_bio)
#define d2i_DSAPrivateKey_fp BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, d2i_DSAPrivateKey_fp)
@@ -3076,7 +3061,6 @@
#define d2i_ISSUING_DIST_POINT BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, d2i_ISSUING_DIST_POINT)
#define d2i_NETSCAPE_SPKAC BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, d2i_NETSCAPE_SPKAC)
#define d2i_NETSCAPE_SPKI BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, d2i_NETSCAPE_SPKI)
-#define d2i_NOTICEREF BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, d2i_NOTICEREF)
#define d2i_PKCS12 BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, d2i_PKCS12)
#define d2i_PKCS12_bio BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, d2i_PKCS12_bio)
#define d2i_PKCS12_fp BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, d2i_PKCS12_fp)
@@ -3089,8 +3073,6 @@
#define d2i_PKCS8_PRIV_KEY_INFO_fp BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, d2i_PKCS8_PRIV_KEY_INFO_fp)
#define d2i_PKCS8_bio BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, d2i_PKCS8_bio)
#define d2i_PKCS8_fp BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, d2i_PKCS8_fp)
-#define d2i_POLICYINFO BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, d2i_POLICYINFO)
-#define d2i_POLICYQUALINFO BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, d2i_POLICYQUALINFO)
#define d2i_PUBKEY BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, d2i_PUBKEY)
#define d2i_PUBKEY_bio BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, d2i_PUBKEY_bio)
#define d2i_PUBKEY_fp BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, d2i_PUBKEY_fp)
@@ -3108,7 +3090,6 @@
#define d2i_RSA_PUBKEY BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, d2i_RSA_PUBKEY)
#define d2i_RSA_PUBKEY_bio BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, d2i_RSA_PUBKEY_bio)
#define d2i_RSA_PUBKEY_fp BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, d2i_RSA_PUBKEY_fp)
-#define d2i_USERNOTICE BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, d2i_USERNOTICE)
#define d2i_X509 BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, d2i_X509)
#define d2i_X509_ALGOR BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, d2i_X509_ALGOR)
#define d2i_X509_ATTRIBUTE BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, d2i_X509_ATTRIBUTE)
@@ -3132,8 +3113,10 @@
#define d2i_X509_VAL BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, d2i_X509_VAL)
#define d2i_X509_bio BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, d2i_X509_bio)
#define d2i_X509_fp BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, d2i_X509_fp)
+#define dh_asn1_meth BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, dh_asn1_meth)
#define dh_check_params_fast BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, dh_check_params_fast)
#define dh_compute_key_padded_no_self_test BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, dh_compute_key_padded_no_self_test)
+#define dh_pkey_meth BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, dh_pkey_meth)
#define dsa_asn1_meth BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, dsa_asn1_meth)
#define dsa_check_key BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, dsa_check_key)
#define ec_GFp_mont_add BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, ec_GFp_mont_add)
@@ -3238,6 +3221,7 @@
#define ecp_nistz256_sqr_mont BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, ecp_nistz256_sqr_mont)
#define ed25519_asn1_meth BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, ed25519_asn1_meth)
#define ed25519_pkey_meth BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, ed25519_pkey_meth)
+#define evp_pkey_set_method BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, evp_pkey_set_method)
#define fiat_curve25519_adx_mul BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, fiat_curve25519_adx_mul)
#define fiat_curve25519_adx_square BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, fiat_curve25519_adx_square)
#define fiat_p256_adx_mul BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, fiat_p256_adx_mul)
@@ -3261,7 +3245,6 @@
#define i2a_ASN1_STRING BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, i2a_ASN1_STRING)
#define i2c_ASN1_BIT_STRING BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, i2c_ASN1_BIT_STRING)
#define i2c_ASN1_INTEGER BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, i2c_ASN1_INTEGER)
-#define i2d_ACCESS_DESCRIPTION BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, i2d_ACCESS_DESCRIPTION)
#define i2d_ASN1_BIT_STRING BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, i2d_ASN1_BIT_STRING)
#define i2d_ASN1_BMPSTRING BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, i2d_ASN1_BMPSTRING)
#define i2d_ASN1_BOOLEAN BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, i2d_ASN1_BOOLEAN)
@@ -3293,8 +3276,6 @@
#define i2d_DHparams_bio BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, i2d_DHparams_bio)
#define i2d_DIRECTORYSTRING BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, i2d_DIRECTORYSTRING)
#define i2d_DISPLAYTEXT BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, i2d_DISPLAYTEXT)
-#define i2d_DIST_POINT BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, i2d_DIST_POINT)
-#define i2d_DIST_POINT_NAME BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, i2d_DIST_POINT_NAME)
#define i2d_DSAPrivateKey BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, i2d_DSAPrivateKey)
#define i2d_DSAPrivateKey_bio BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, i2d_DSAPrivateKey_bio)
#define i2d_DSAPrivateKey_fp BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, i2d_DSAPrivateKey_fp)
@@ -3318,7 +3299,6 @@
#define i2d_ISSUING_DIST_POINT BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, i2d_ISSUING_DIST_POINT)
#define i2d_NETSCAPE_SPKAC BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, i2d_NETSCAPE_SPKAC)
#define i2d_NETSCAPE_SPKI BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, i2d_NETSCAPE_SPKI)
-#define i2d_NOTICEREF BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, i2d_NOTICEREF)
#define i2d_PKCS12 BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, i2d_PKCS12)
#define i2d_PKCS12_bio BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, i2d_PKCS12_bio)
#define i2d_PKCS12_fp BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, i2d_PKCS12_fp)
@@ -3335,8 +3315,6 @@
#define i2d_PKCS8_PRIV_KEY_INFO_fp BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, i2d_PKCS8_PRIV_KEY_INFO_fp)
#define i2d_PKCS8_bio BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, i2d_PKCS8_bio)
#define i2d_PKCS8_fp BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, i2d_PKCS8_fp)
-#define i2d_POLICYINFO BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, i2d_POLICYINFO)
-#define i2d_POLICYQUALINFO BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, i2d_POLICYQUALINFO)
#define i2d_PUBKEY BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, i2d_PUBKEY)
#define i2d_PUBKEY_bio BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, i2d_PUBKEY_bio)
#define i2d_PUBKEY_fp BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, i2d_PUBKEY_fp)
@@ -3354,7 +3332,6 @@
#define i2d_RSA_PUBKEY BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, i2d_RSA_PUBKEY)
#define i2d_RSA_PUBKEY_bio BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, i2d_RSA_PUBKEY_bio)
#define i2d_RSA_PUBKEY_fp BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, i2d_RSA_PUBKEY_fp)
-#define i2d_USERNOTICE BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, i2d_USERNOTICE)
#define i2d_X509 BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, i2d_X509)
#define i2d_X509_ALGOR BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, i2d_X509_ALGOR)
#define i2d_X509_ATTRIBUTE BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, i2d_X509_ATTRIBUTE)
@@ -3479,8 +3456,6 @@
#define spx_fors_sign BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, spx_fors_sign)
#define spx_fors_sk_gen BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, spx_fors_sk_gen)
#define spx_fors_treehash BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, spx_fors_treehash)
-#define spx_generate_key BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, spx_generate_key)
-#define spx_generate_key_from_seed BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, spx_generate_key_from_seed)
#define spx_get_tree_index BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, spx_get_tree_index)
#define spx_ht_sign BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, spx_ht_sign)
#define spx_ht_verify BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, spx_ht_verify)
@@ -3492,7 +3467,6 @@
#define spx_set_tree_height BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, spx_set_tree_height)
#define spx_set_tree_index BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, spx_set_tree_index)
#define spx_set_type BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, spx_set_type)
-#define spx_sign BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, spx_sign)
#define spx_thash_f BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, spx_thash_f)
#define spx_thash_h BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, spx_thash_h)
#define spx_thash_hmsg BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, spx_thash_hmsg)
@@ -3503,7 +3477,6 @@
#define spx_to_uint64 BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, spx_to_uint64)
#define spx_treehash BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, spx_treehash)
#define spx_uint64_to_len_bytes BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, spx_uint64_to_len_bytes)
-#define spx_verify BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, spx_verify)
#define spx_wots_pk_from_sig BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, spx_wots_pk_from_sig)
#define spx_wots_pk_gen BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, spx_wots_pk_gen)
#define spx_wots_sign BORINGSSL_ADD_PREFIX(BORINGSSL_PREFIX, spx_wots_sign)
diff --git a/src/core/BUILD b/src/core/BUILD
index a34a301d111..1b765e7fddf 100644
--- a/src/core/BUILD
+++ b/src/core/BUILD
@@ -196,6 +196,7 @@ grpc_cc_library(
),
external_deps = [
"absl/functional:any_invocable",
+ "absl/log:check",
"absl/strings",
],
language = "c++",
@@ -1154,6 +1155,9 @@ grpc_cc_library(
grpc_cc_library(
name = "ref_counted",
+ external_deps = [
+ "absl/log:check",
+ ],
language = "c++",
public_hdrs = ["lib/gprpp/ref_counted.h"],
deps = [
@@ -1167,6 +1171,9 @@ grpc_cc_library(
grpc_cc_library(
name = "dual_ref_counted",
+ external_deps = [
+ "absl/log:check",
+ ],
language = "c++",
public_hdrs = ["lib/gprpp/dual_ref_counted.h"],
deps = [
@@ -1359,6 +1366,7 @@ grpc_cc_library(
external_deps = [
"absl/base:core_headers",
"absl/container:flat_hash_set",
+ "absl/log:check",
"absl/status",
"absl/strings",
"absl/types:optional",
@@ -1429,7 +1437,10 @@ grpc_cc_library(
hdrs = [
"lib/resource_quota/thread_quota.h",
],
- external_deps = ["absl/base:core_headers"],
+ external_deps = [
+ "absl/base:core_headers",
+ "absl/log:check",
+ ],
deps = [
"ref_counted",
"//:gpr",
@@ -1445,7 +1456,10 @@ grpc_cc_library(
hdrs = [
"lib/resource_quota/connection_quota.h",
],
- external_deps = ["absl/base:core_headers"],
+ external_deps = [
+ "absl/base:core_headers",
+ "absl/log:check",
+ ],
deps = [
"memory_quota",
"ref_counted",
@@ -2930,6 +2944,7 @@ grpc_cc_library(
],
external_deps = [
"absl/base:core_headers",
+ "absl/log:check",
"absl/strings",
"absl/types:span",
],
@@ -3050,7 +3065,10 @@ grpc_cc_library(
"service_config/service_config.h",
"service_config/service_config_call_data.h",
],
- external_deps = ["absl/strings"],
+ external_deps = [
+ "absl/log:check",
+ "absl/strings",
+ ],
language = "c++",
deps = [
"arena",
@@ -3102,6 +3120,7 @@ grpc_cc_library(
"lib/channel/channel_args.h",
],
external_deps = [
+ "absl/log:check",
"absl/meta:type_traits",
"absl/strings",
"absl/strings:str_format",
@@ -4371,6 +4390,7 @@ grpc_cc_library(
],
external_deps = [
"absl/base:core_headers",
+ "absl/log:check",
"absl/status",
"absl/status:statusor",
"absl/strings",
@@ -4482,6 +4502,7 @@ grpc_cc_library(
],
external_deps = [
"absl/base:core_headers",
+ "absl/log:check",
"absl/meta:type_traits",
"absl/random",
"absl/status",
@@ -4524,42 +4545,6 @@ grpc_cc_library(
],
)
-grpc_cc_library(
- name = "grpc_deadline_filter",
- srcs = [
- "ext/filters/deadline/deadline_filter.cc",
- ],
- hdrs = [
- "ext/filters/deadline/deadline_filter.h",
- ],
- external_deps = [
- "absl/status",
- "absl/types:optional",
- ],
- language = "c++",
- deps = [
- "arena",
- "arena_promise",
- "channel_fwd",
- "channel_stack_type",
- "closure",
- "context",
- "error",
- "metadata_batch",
- "status_helper",
- "time",
- "//:call_combiner",
- "//:channel_arg_names",
- "//:config",
- "//:debug_location",
- "//:exec_ctx",
- "//:gpr",
- "//:grpc_base",
- "//:grpc_public_hdrs",
- "//:iomgr_timer",
- ],
-)
-
grpc_cc_library(
name = "grpc_client_authority_filter",
srcs = [
@@ -4613,7 +4598,6 @@ grpc_cc_library(
"channel_fwd",
"channel_stack_type",
"context",
- "grpc_deadline_filter",
"grpc_service_config",
"json",
"json_args",
@@ -5639,7 +5623,10 @@ grpc_cc_library(
grpc_cc_library(
name = "down_cast",
hdrs = ["lib/gprpp/down_cast.h"],
- external_deps = ["absl/base:config"],
+ external_deps = [
+ "absl/base:config",
+ "absl/log:check",
+ ],
deps = ["//:gpr"],
)
@@ -7490,6 +7477,7 @@ grpc_cc_library(
],
external_deps = [
"absl/container:inlined_vector",
+ "absl/log:check",
"absl/strings",
"absl/strings:str_format",
"absl/types:optional",
@@ -7651,6 +7639,7 @@ grpc_cc_library(
"absl/container:flat_hash_map",
"absl/functional:any_invocable",
"absl/functional:function_ref",
+ "absl/log:check",
"absl/strings",
"absl/types:span",
],
diff --git a/src/core/client_channel/client_channel_filter.cc b/src/core/client_channel/client_channel_filter.cc
index c11f5293bfa..1ffcfb5e4ca 100644
--- a/src/core/client_channel/client_channel_filter.cc
+++ b/src/core/client_channel/client_channel_filter.cc
@@ -61,7 +61,6 @@
#include "src/core/client_channel/retry_filter.h"
#include "src/core/client_channel/subchannel.h"
#include "src/core/client_channel/subchannel_interface_internal.h"
-#include "src/core/ext/filters/deadline/deadline_filter.h"
#include "src/core/handshaker/proxy_mapper_registry.h"
#include "src/core/lib/channel/channel_args.h"
#include "src/core/lib/channel/channel_stack.h"
@@ -210,14 +209,14 @@ class ClientChannelFilter::FilterBasedCallData final
const grpc_call_element_args& args);
~FilterBasedCallData() override;
- grpc_call_element* elem() const { return deadline_state_.elem; }
- grpc_call_stack* owning_call() const { return deadline_state_.call_stack; }
- CallCombiner* call_combiner() const { return deadline_state_.call_combiner; }
+ grpc_call_element* elem() const { return elem_; }
+ grpc_call_stack* owning_call() const { return owning_call_; }
+ CallCombiner* call_combiner() const { return call_combiner_; }
ClientChannelFilter* chand() const override {
return static_cast(elem()->channel_data);
}
- Arena* arena() const override { return deadline_state_.arena; }
+ Arena* arena() const override { return arena_; }
grpc_polling_entity* pollent() override { return pollent_; }
grpc_metadata_batch* send_initial_metadata() override {
return pending_batches_[0]
@@ -270,10 +269,8 @@ class ClientChannelFilter::FilterBasedCallData final
void ResetDeadline(Duration timeout) override {
const Timestamp per_method_deadline =
Timestamp::FromCycleCounterRoundUp(call_start_time_) + timeout;
- if (per_method_deadline < deadline_) {
- deadline_ = per_method_deadline;
- grpc_deadline_state_reset(&deadline_state_, deadline_);
- }
+ static_cast(call_context_[GRPC_CONTEXT_CALL].value)
+ ->UpdateDeadline(per_method_deadline);
}
void CreateDynamicCall();
@@ -286,8 +283,10 @@ class ClientChannelFilter::FilterBasedCallData final
gpr_cycle_counter call_start_time_;
Timestamp deadline_;
- // State for handling deadlines.
- grpc_deadline_state deadline_state_;
+ Arena* const arena_;
+ grpc_call_element* const elem_;
+ grpc_call_stack* const owning_call_;
+ CallCombiner* const call_combiner_;
grpc_polling_entity* pollent_ = nullptr;
@@ -387,11 +386,12 @@ class ClientChannelFilter::PromiseBasedCallData final
}
void ResetDeadline(Duration timeout) override {
+ Call* call = GetContext();
CallContext* call_context = GetContext();
const Timestamp per_method_deadline =
Timestamp::FromCycleCounterRoundUp(call_context->call_start_time()) +
timeout;
- call_context->UpdateDeadline(per_method_deadline);
+ call->UpdateDeadline(per_method_deadline);
}
ClientChannelFilter* chand_;
@@ -1230,9 +1230,6 @@ RefCountedPtr GetSubchannelPool(
ClientChannelFilter::ClientChannelFilter(grpc_channel_element_args* args,
grpc_error_handle* error)
: channel_args_(args->channel_args),
- deadline_checking_enabled_(
- channel_args_.GetBool(GRPC_ARG_ENABLE_DEADLINE_CHECKS)
- .value_or(!channel_args_.WantMinimalStack())),
owning_stack_(args->channel_stack),
client_channel_factory_(channel_args_.GetObject()),
channelz_node_(channel_args_.GetObject()),
@@ -2112,8 +2109,7 @@ grpc_error_handle ClientChannelFilter::CallData::ApplyServiceConfigToCallLocked(
if (method_params != nullptr) {
// If the deadline from the service config is shorter than the one
// from the client API, reset the deadline timer.
- if (chand()->deadline_checking_enabled_ &&
- method_params->timeout() != Duration::Zero()) {
+ if (method_params->timeout() != Duration::Zero()) {
ResetDeadline(method_params->timeout());
}
// If the service config set wait_for_ready and the application
@@ -2213,12 +2209,10 @@ ClientChannelFilter::FilterBasedCallData::FilterBasedCallData(
call_context_(args.context),
call_start_time_(args.start_time),
deadline_(args.deadline),
- deadline_state_(
- elem, args,
- GPR_LIKELY(static_cast(elem->channel_data)
- ->deadline_checking_enabled_)
- ? args.deadline
- : Timestamp::InfFuture()) {
+ arena_(args.arena),
+ elem_(elem),
+ owning_call_(args.call_stack),
+ call_combiner_(args.call_combiner) {
if (GRPC_TRACE_FLAG_ENABLED(grpc_client_channel_call_trace)) {
gpr_log(GPR_INFO, "chand=%p calld=%p: created call", chand(), this);
}
@@ -2262,10 +2256,6 @@ void ClientChannelFilter::FilterBasedCallData::StartTransportStreamOpBatch(
gpr_log(GPR_INFO, "chand=%p calld=%p: batch started from above: %s", chand,
calld, grpc_transport_stream_op_batch_string(batch, false).c_str());
}
- if (GPR_LIKELY(chand->deadline_checking_enabled_)) {
- grpc_deadline_state_client_start_transport_stream_op_batch(
- &calld->deadline_state_, batch);
- }
// Intercept recv_trailing_metadata to commit the call, in case we wind up
// failing the call before we get down to the retry or LB call layer.
if (batch->recv_trailing_metadata) {
@@ -3056,7 +3046,6 @@ ClientChannelFilter::FilterBasedLoadBalancedCall::FilterBasedLoadBalancedCall(
absl::AnyInvocable on_commit, bool is_transparent_retry)
: LoadBalancedCall(chand, args.context, std::move(on_commit),
is_transparent_retry),
- deadline_(args.deadline),
arena_(args.arena),
owning_call_(args.call_stack),
call_combiner_(args.call_combiner),
@@ -3356,8 +3345,12 @@ void ClientChannelFilter::FilterBasedLoadBalancedCall::
// Get status from error.
grpc_status_code code;
std::string message;
- grpc_error_get_status(error, self->deadline_, &code, &message,
- /*http_error=*/nullptr, /*error_string=*/nullptr);
+ grpc_error_get_status(
+ error,
+ static_cast(self->call_context()[GRPC_CONTEXT_CALL].value)
+ ->deadline(),
+ &code, &message,
+ /*http_error=*/nullptr, /*error_string=*/nullptr);
status = absl::Status(static_cast(code), message);
} else {
// Get status from headers.
@@ -3495,7 +3488,8 @@ void ClientChannelFilter::FilterBasedLoadBalancedCall::CreateSubchannelCall() {
CHECK_NE(path, nullptr);
SubchannelCall::Args call_args = {
connected_subchannel()->Ref(), pollent_, path->Ref(), /*start_time=*/0,
- deadline_, arena_,
+ static_cast(call_context()[GRPC_CONTEXT_CALL].value)->deadline(),
+ arena_,
// TODO(roth): When we implement hedging support, we will probably
// need to use a separate call context for each subchannel call.
call_context(), call_combiner_};
diff --git a/src/core/client_channel/client_channel_filter.h b/src/core/client_channel/client_channel_filter.h
index f9ae44b0d26..28c21d3280c 100644
--- a/src/core/client_channel/client_channel_filter.h
+++ b/src/core/client_channel/client_channel_filter.h
@@ -287,7 +287,6 @@ class ClientChannelFilter final {
// Fields set at construction and never modified.
//
ChannelArgs channel_args_;
- const bool deadline_checking_enabled_;
grpc_channel_stack* owning_stack_;
ClientChannelFactory* client_channel_factory_;
RefCountedPtr default_service_config_;
@@ -558,7 +557,6 @@ class ClientChannelFilter::FilterBasedLoadBalancedCall final
// TODO(roth): Instead of duplicating these fields in every filter
// that uses any one of them, we should store them in the call
// context. This will save per-call memory overhead.
- Timestamp deadline_;
Arena* arena_;
grpc_call_stack* owning_call_;
CallCombiner* call_combiner_;
diff --git a/src/core/ext/filters/deadline/deadline_filter.cc b/src/core/ext/filters/deadline/deadline_filter.cc
deleted file mode 100644
index a2dc24594e2..00000000000
--- a/src/core/ext/filters/deadline/deadline_filter.cc
+++ /dev/null
@@ -1,408 +0,0 @@
-//
-// Copyright 2016 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
-
-#include "src/core/ext/filters/deadline/deadline_filter.h"
-
-#include
-#include
-#include
-#include
-
-#include "absl/status/status.h"
-#include "absl/types/optional.h"
-
-#include
-#include
-#include
-
-#include "src/core/lib/config/core_configuration.h"
-#include "src/core/lib/gprpp/debug_location.h"
-#include "src/core/lib/gprpp/status_helper.h"
-#include "src/core/lib/iomgr/error.h"
-#include "src/core/lib/iomgr/exec_ctx.h"
-#include "src/core/lib/iomgr/timer.h"
-#include "src/core/lib/promise/arena_promise.h"
-#include "src/core/lib/promise/context.h"
-#include "src/core/lib/surface/call.h"
-#include "src/core/lib/surface/channel_stack_type.h"
-#include "src/core/lib/transport/metadata_batch.h"
-
-namespace grpc_core {
-
-// A fire-and-forget class representing a pending deadline timer.
-// Allocated on the call arena.
-class TimerState {
- public:
- TimerState(grpc_deadline_state* deadline_state, Timestamp deadline)
- : deadline_state_(deadline_state) {
- GRPC_CALL_STACK_REF(deadline_state->call_stack, "DeadlineTimerState");
- GRPC_CLOSURE_INIT(&closure_, TimerCallback, this, nullptr);
- grpc_timer_init(&timer_, deadline, &closure_);
- }
-
- void Cancel() { grpc_timer_cancel(&timer_); }
-
- private:
- // The on_complete callback used when sending a cancel_error batch down the
- // filter stack. Yields the call combiner when the batch returns.
- static void YieldCallCombiner(void* arg, grpc_error_handle /*ignored*/) {
- TimerState* self = static_cast(arg);
- GRPC_CALL_COMBINER_STOP(self->deadline_state_->call_combiner,
- "got on_complete from cancel_stream batch");
- GRPC_CALL_STACK_UNREF(self->deadline_state_->call_stack,
- "DeadlineTimerState");
- }
-
- // This is called via the call combiner, so access to deadline_state is
- // synchronized.
- static void SendCancelOpInCallCombiner(void* arg, grpc_error_handle error) {
- TimerState* self = static_cast(arg);
- grpc_transport_stream_op_batch* batch = grpc_make_transport_stream_op(
- GRPC_CLOSURE_INIT(&self->closure_, YieldCallCombiner, self, nullptr));
- batch->cancel_stream = true;
- batch->payload->cancel_stream.cancel_error = error;
- grpc_call_element* elem = self->deadline_state_->elem;
- elem->filter->start_transport_stream_op_batch(elem, batch);
- }
-
- // Timer callback.
- static void TimerCallback(void* arg, grpc_error_handle error) {
- TimerState* self = static_cast(arg);
- if (error != absl::CancelledError()) {
- error = grpc_error_set_int(GRPC_ERROR_CREATE("Deadline Exceeded"),
- StatusIntProperty::kRpcStatus,
- GRPC_STATUS_DEADLINE_EXCEEDED);
- self->deadline_state_->call_combiner->Cancel(error);
- GRPC_CLOSURE_INIT(&self->closure_, SendCancelOpInCallCombiner, self,
- nullptr);
- GRPC_CALL_COMBINER_START(self->deadline_state_->call_combiner,
- &self->closure_, error,
- "deadline exceeded -- sending cancel_stream op");
- } else {
- GRPC_CALL_STACK_UNREF(self->deadline_state_->call_stack,
- "DeadlineTimerState");
- }
- }
-
- // NOTE: This object's dtor is never called, so do not add any data
- // members that require destruction!
- // TODO(roth): We should ideally call this object's dtor somewhere,
- // but that would require adding more synchronization, because we'd
- // need to call the dtor only after both (a) the timer callback
- // finishes and (b) the filter sees the call completion and attempts
- // to cancel the timer.
- grpc_deadline_state* deadline_state_;
- grpc_timer timer_;
- grpc_closure closure_;
-};
-
-} // namespace grpc_core
-
-//
-// grpc_deadline_state
-//
-
-// Starts the deadline timer.
-// This is called via the call combiner, so access to deadline_state is
-// synchronized.
-static void start_timer_if_needed(grpc_deadline_state* deadline_state,
- grpc_core::Timestamp deadline) {
- if (deadline == grpc_core::Timestamp::InfFuture()) return;
- GPR_ASSERT(deadline_state->timer_state == nullptr);
- deadline_state->timer_state =
- deadline_state->arena->New(deadline_state,
- deadline);
-}
-
-// Cancels the deadline timer.
-// This is called via the call combiner, so access to deadline_state is
-// synchronized.
-static void cancel_timer_if_needed(grpc_deadline_state* deadline_state) {
- if (deadline_state->timer_state != nullptr) {
- deadline_state->timer_state->Cancel();
- deadline_state->timer_state = nullptr;
- }
-}
-
-// Callback run when we receive trailing metadata.
-static void recv_trailing_metadata_ready(void* arg, grpc_error_handle error) {
- grpc_deadline_state* deadline_state = static_cast(arg);
- cancel_timer_if_needed(deadline_state);
- // Invoke the original callback.
- grpc_core::Closure::Run(DEBUG_LOCATION,
- deadline_state->original_recv_trailing_metadata_ready,
- error);
-}
-
-// Inject our own recv_trailing_metadata_ready callback into op.
-static void inject_recv_trailing_metadata_ready(
- grpc_deadline_state* deadline_state, grpc_transport_stream_op_batch* op) {
- deadline_state->original_recv_trailing_metadata_ready =
- op->payload->recv_trailing_metadata.recv_trailing_metadata_ready;
- GRPC_CLOSURE_INIT(&deadline_state->recv_trailing_metadata_ready,
- recv_trailing_metadata_ready, deadline_state,
- grpc_schedule_on_exec_ctx);
- op->payload->recv_trailing_metadata.recv_trailing_metadata_ready =
- &deadline_state->recv_trailing_metadata_ready;
-}
-
-// Callback and associated state for starting the timer after call stack
-// initialization has been completed.
-struct start_timer_after_init_state {
- start_timer_after_init_state(grpc_deadline_state* deadline_state,
- grpc_core::Timestamp deadline)
- : deadline_state(deadline_state), deadline(deadline) {}
- ~start_timer_after_init_state() {
- start_timer_if_needed(deadline_state, deadline);
- }
-
- bool in_call_combiner = false;
- grpc_deadline_state* deadline_state;
- grpc_core::Timestamp deadline;
- grpc_closure closure;
-};
-static void start_timer_after_init(void* arg, grpc_error_handle error) {
- struct start_timer_after_init_state* state =
- static_cast(arg);
- grpc_deadline_state* deadline_state = state->deadline_state;
- if (!state->in_call_combiner) {
- // We are initially called without holding the call combiner, so we
- // need to bounce ourselves into it.
- state->in_call_combiner = true;
- GRPC_CALL_COMBINER_START(deadline_state->call_combiner, &state->closure,
- error, "scheduling deadline timer");
- return;
- }
- delete state;
- GRPC_CALL_COMBINER_STOP(deadline_state->call_combiner,
- "done scheduling deadline timer");
-}
-
-grpc_deadline_state::grpc_deadline_state(grpc_call_element* elem,
- const grpc_call_element_args& args,
- grpc_core::Timestamp deadline)
- : elem(elem),
- call_stack(args.call_stack),
- call_combiner(args.call_combiner),
- arena(args.arena) {
- // Deadline will always be infinite on servers, so the timer will only be
- // set on clients with a finite deadline.
- if (deadline != grpc_core::Timestamp::InfFuture()) {
- // When the deadline passes, we indicate the failure by sending down
- // an op with cancel_error set. However, we can't send down any ops
- // until after the call stack is fully initialized. If we start the
- // timer here, we have no guarantee that the timer won't pop before
- // call stack initialization is finished. To avoid that problem, we
- // create a closure to start the timer, and we schedule that closure
- // to be run after call stack initialization is done.
- struct start_timer_after_init_state* state =
- new start_timer_after_init_state(this, deadline);
- GRPC_CLOSURE_INIT(&state->closure, start_timer_after_init, state,
- grpc_schedule_on_exec_ctx);
- grpc_core::ExecCtx::Run(DEBUG_LOCATION, &state->closure, absl::OkStatus());
- }
-}
-
-grpc_deadline_state::~grpc_deadline_state() { cancel_timer_if_needed(this); }
-
-void grpc_deadline_state_reset(grpc_deadline_state* deadline_state,
- grpc_core::Timestamp new_deadline) {
- cancel_timer_if_needed(deadline_state);
- start_timer_if_needed(deadline_state, new_deadline);
-}
-
-void grpc_deadline_state_client_start_transport_stream_op_batch(
- grpc_deadline_state* deadline_state, grpc_transport_stream_op_batch* op) {
- if (op->cancel_stream) {
- cancel_timer_if_needed(deadline_state);
- } else {
- // Make sure we know when the call is complete, so that we can cancel
- // the timer.
- if (op->recv_trailing_metadata) {
- inject_recv_trailing_metadata_ready(deadline_state, op);
- }
- }
-}
-
-//
-// filter code
-//
-
-// Constructor for channel_data. Used for both client and server filters.
-static grpc_error_handle deadline_init_channel_elem(
- grpc_channel_element* /*elem*/, grpc_channel_element_args* args) {
- GPR_ASSERT(!args->is_last);
- return absl::OkStatus();
-}
-
-// Destructor for channel_data. Used for both client and server filters.
-static void deadline_destroy_channel_elem(grpc_channel_element* /*elem*/) {}
-
-// Additional call data used only for the server filter.
-struct server_call_data {
- grpc_deadline_state deadline_state; // Must be first.
- // The closure for receiving initial metadata.
- grpc_closure recv_initial_metadata_ready;
- // Received initial metadata batch.
- grpc_metadata_batch* recv_initial_metadata;
- // The original recv_initial_metadata_ready closure, which we chain to
- // after our own closure is invoked.
- grpc_closure* next_recv_initial_metadata_ready;
-};
-
-// Constructor for call_data. Used for both client and server filters.
-static grpc_error_handle deadline_init_call_elem(
- grpc_call_element* elem, const grpc_call_element_args* args) {
- new (elem->call_data) grpc_deadline_state(elem, *args, args->deadline);
- return absl::OkStatus();
-}
-
-// Destructor for call_data. Used for both client and server filters.
-static void deadline_destroy_call_elem(
- grpc_call_element* elem, const grpc_call_final_info* /*final_info*/,
- grpc_closure* /*ignored*/) {
- grpc_deadline_state* deadline_state =
- static_cast(elem->call_data);
- deadline_state->~grpc_deadline_state();
-}
-
-// Method for starting a call op for client filter.
-static void deadline_client_start_transport_stream_op_batch(
- grpc_call_element* elem, grpc_transport_stream_op_batch* op) {
- grpc_deadline_state_client_start_transport_stream_op_batch(
- static_cast(elem->call_data), op);
- // Chain to next filter.
- grpc_call_next_op(elem, op);
-}
-
-// Callback for receiving initial metadata on the server.
-static void recv_initial_metadata_ready(void* arg, grpc_error_handle error) {
- grpc_call_element* elem = static_cast(arg);
- server_call_data* calld = static_cast(elem->call_data);
- start_timer_if_needed(
- &calld->deadline_state,
- calld->recv_initial_metadata->get(grpc_core::GrpcTimeoutMetadata())
- .value_or(grpc_core::Timestamp::InfFuture()));
- // Invoke the next callback.
- grpc_core::Closure::Run(DEBUG_LOCATION,
- calld->next_recv_initial_metadata_ready, error);
-}
-
-// Method for starting a call op for server filter.
-static void deadline_server_start_transport_stream_op_batch(
- grpc_call_element* elem, grpc_transport_stream_op_batch* op) {
- server_call_data* calld = static_cast(elem->call_data);
- if (op->cancel_stream) {
- cancel_timer_if_needed(&calld->deadline_state);
- } else {
- // If we're receiving initial metadata, we need to get the deadline
- // from the recv_initial_metadata_ready callback. So we inject our
- // own callback into that hook.
- if (op->recv_initial_metadata) {
- calld->next_recv_initial_metadata_ready =
- op->payload->recv_initial_metadata.recv_initial_metadata_ready;
- calld->recv_initial_metadata =
- op->payload->recv_initial_metadata.recv_initial_metadata;
- GRPC_CLOSURE_INIT(&calld->recv_initial_metadata_ready,
- recv_initial_metadata_ready, elem,
- grpc_schedule_on_exec_ctx);
- op->payload->recv_initial_metadata.recv_initial_metadata_ready =
- &calld->recv_initial_metadata_ready;
- }
- // Make sure we know when the call is complete, so that we can cancel
- // the timer.
- // Note that we trigger this on recv_trailing_metadata, even though
- // the client never sends trailing metadata, because this is the
- // hook that tells us when the call is complete on the server side.
- if (op->recv_trailing_metadata) {
- inject_recv_trailing_metadata_ready(&calld->deadline_state, op);
- }
- }
- // Chain to next filter.
- grpc_call_next_op(elem, op);
-}
-
-const grpc_channel_filter grpc_client_deadline_filter = {
- deadline_client_start_transport_stream_op_batch,
- [](grpc_channel_element*, grpc_core::CallArgs call_args,
- grpc_core::NextPromiseFactory next_promise_factory) {
- return next_promise_factory(std::move(call_args));
- },
- /* init_call: */ nullptr,
- grpc_channel_next_op,
- sizeof(grpc_deadline_state),
- deadline_init_call_elem,
- grpc_call_stack_ignore_set_pollset_or_pollset_set,
- deadline_destroy_call_elem,
- 0, // sizeof(channel_data)
- deadline_init_channel_elem,
- grpc_channel_stack_no_post_init,
- deadline_destroy_channel_elem,
- grpc_channel_next_get_info,
- "deadline",
-};
-
-const grpc_channel_filter grpc_server_deadline_filter = {
- deadline_server_start_transport_stream_op_batch,
- [](grpc_channel_element*, grpc_core::CallArgs call_args,
- grpc_core::NextPromiseFactory next_promise_factory) {
- auto deadline = call_args.client_initial_metadata->get(
- grpc_core::GrpcTimeoutMetadata());
- if (deadline.has_value()) {
- grpc_core::GetContext()->UpdateDeadline(
- *deadline);
- }
- return next_promise_factory(std::move(call_args));
- },
- [](grpc_channel_element*, grpc_core::CallSpineInterface* spine) {
- grpc_core::DownCast(spine)
- ->client_initial_metadata()
- .receiver.InterceptAndMap([](grpc_core::ClientMetadataHandle md) {
- auto deadline = md->get(grpc_core::GrpcTimeoutMetadata());
- if (deadline.has_value()) {
- grpc_core::GetContext()->UpdateDeadline(
- *deadline);
- }
- return md;
- });
- },
- grpc_channel_next_op,
- sizeof(server_call_data),
- deadline_init_call_elem,
- grpc_call_stack_ignore_set_pollset_or_pollset_set,
- deadline_destroy_call_elem,
- 0, // sizeof(channel_data)
- deadline_init_channel_elem,
- grpc_channel_stack_no_post_init,
- deadline_destroy_channel_elem,
- grpc_channel_next_get_info,
- "deadline",
-};
-
-namespace grpc_core {
-void RegisterDeadlineFilter(CoreConfiguration::Builder* builder) {
- builder->channel_init()
- ->RegisterFilter(GRPC_CLIENT_DIRECT_CHANNEL, &grpc_client_deadline_filter)
- .ExcludeFromMinimalStack()
- .IfChannelArg(GRPC_ARG_ENABLE_DEADLINE_CHECKS, true);
- builder->channel_init()
- ->RegisterFilter(GRPC_SERVER_CHANNEL, &grpc_server_deadline_filter)
- .ExcludeFromMinimalStack()
- .IfChannelArg(GRPC_ARG_ENABLE_DEADLINE_CHECKS, true);
-}
-} // namespace grpc_core
diff --git a/src/core/ext/filters/deadline/deadline_filter.h b/src/core/ext/filters/deadline/deadline_filter.h
deleted file mode 100644
index 131f49d2473..00000000000
--- a/src/core/ext/filters/deadline/deadline_filter.h
+++ /dev/null
@@ -1,85 +0,0 @@
-//
-// Copyright 2016 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_SRC_CORE_EXT_FILTERS_DEADLINE_DEADLINE_FILTER_H
-#define GRPC_SRC_CORE_EXT_FILTERS_DEADLINE_DEADLINE_FILTER_H
-
-#include
-
-#include "src/core/lib/channel/channel_fwd.h"
-#include "src/core/lib/channel/channel_stack.h"
-#include "src/core/lib/gprpp/time.h"
-#include "src/core/lib/iomgr/call_combiner.h"
-#include "src/core/lib/iomgr/closure.h"
-#include "src/core/lib/resource_quota/arena.h"
-#include "src/core/lib/transport/transport.h"
-
-namespace grpc_core {
-class TimerState;
-} // namespace grpc_core
-
-// State used for filters that enforce call deadlines.
-// Must be the first field in the filter's call_data.
-struct grpc_deadline_state {
- grpc_deadline_state(grpc_call_element* elem,
- const grpc_call_element_args& args,
- grpc_core::Timestamp deadline);
- ~grpc_deadline_state();
-
- // We take a reference to the call stack for the timer callback.
- grpc_call_element* elem;
- grpc_call_stack* call_stack;
- grpc_core::CallCombiner* call_combiner;
- grpc_core::Arena* arena;
- grpc_core::TimerState* timer_state = nullptr;
- // Closure to invoke when we receive trailing metadata.
- // We use this to cancel the timer.
- grpc_closure recv_trailing_metadata_ready;
- // The original recv_trailing_metadata_ready closure, which we chain to
- // after our own closure is invoked.
- grpc_closure* original_recv_trailing_metadata_ready;
-};
-
-// Cancels the existing timer and starts a new one with new_deadline.
-//
-// Note: It is generally safe to call this with an earlier deadline
-// value than the current one, but not the reverse. No checks are done
-// to ensure that the timer callback is not invoked while it is in the
-// process of being reset, which means that attempting to increase the
-// deadline may result in the timer being called twice.
-//
-// Note: Must be called while holding the call combiner.
-void grpc_deadline_state_reset(grpc_deadline_state* deadline_state,
- grpc_core::Timestamp new_deadline);
-
-// To be called from the client-side filter's start_transport_stream_op_batch()
-// method. Ensures that the deadline timer is cancelled when the call
-// is completed.
-//
-// Note: It is the caller's responsibility to chain to the next filter if
-// necessary after this function returns.
-//
-// Note: Must be called while holding the call combiner.
-void grpc_deadline_state_client_start_transport_stream_op_batch(
- grpc_deadline_state* deadline_state, grpc_transport_stream_op_batch* op);
-
-// Deadline filters for direct client channels and server channels.
-// Note: Deadlines for non-direct client channels are handled by the
-// client_channel filter.
-extern const grpc_channel_filter grpc_client_deadline_filter;
-extern const grpc_channel_filter grpc_server_deadline_filter;
-
-#endif // GRPC_SRC_CORE_EXT_FILTERS_DEADLINE_DEADLINE_FILTER_H
diff --git a/src/core/ext/filters/message_size/message_size_filter.cc b/src/core/ext/filters/message_size/message_size_filter.cc
index 379d4944788..0933d633272 100644
--- a/src/core/ext/filters/message_size/message_size_filter.cc
+++ b/src/core/ext/filters/message_size/message_size_filter.cc
@@ -29,7 +29,6 @@
#include
#include
-#include "src/core/ext/filters/deadline/deadline_filter.h"
#include "src/core/lib/channel/channel_args.h"
#include "src/core/lib/channel/channel_stack.h"
#include "src/core/lib/config/core_configuration.h"
@@ -250,18 +249,10 @@ void RegisterMessageSizeFilter(CoreConfiguration::Builder* builder) {
builder->channel_init()
->RegisterFilter(GRPC_CLIENT_DIRECT_CHANNEL)
.ExcludeFromMinimalStack()
- .If(HasMessageSizeLimits)
- // TODO(ctiller): ordering constraint is here to match the ordering that
- // existed prior to ordering constraints did. Re-examine the ordering of
- // filters from first principles.
- .Before({&grpc_client_deadline_filter});
+ .If(HasMessageSizeLimits);
builder->channel_init()
->RegisterFilter(GRPC_SERVER_CHANNEL)
.ExcludeFromMinimalStack()
- .If(HasMessageSizeLimits)
- // TODO(ctiller): ordering constraint is here to match the ordering that
- // existed prior to ordering constraints did. Re-examine the ordering of
- // filters from first principles.
- .Before({&grpc_server_deadline_filter});
+ .If(HasMessageSizeLimits);
}
} // namespace grpc_core
diff --git a/src/core/ext/transport/chaotic_good/client_transport.h b/src/core/ext/transport/chaotic_good/client_transport.h
index d08929b0f73..f07099e296f 100644
--- a/src/core/ext/transport/chaotic_good/client_transport.h
+++ b/src/core/ext/transport/chaotic_good/client_transport.h
@@ -85,7 +85,7 @@ class ChaoticGoodClientTransport final : public ClientTransport {
grpc_endpoint* GetEndpoint() override { return nullptr; }
void Orphan() override {
AbortWithError();
- delete this;
+ Unref();
}
void StartCall(CallHandler call_handler) override;
diff --git a/src/core/ext/transport/chaotic_good/server_transport.h b/src/core/ext/transport/chaotic_good/server_transport.h
index acdc88ef9fd..a34ac92b73e 100644
--- a/src/core/ext/transport/chaotic_good/server_transport.h
+++ b/src/core/ext/transport/chaotic_good/server_transport.h
@@ -96,7 +96,7 @@ class ChaoticGoodServerTransport final : public ServerTransport {
void SetPollsetSet(grpc_stream*, grpc_pollset_set*) override {}
void PerformOp(grpc_transport_op*) override;
grpc_endpoint* GetEndpoint() override { return nullptr; }
- void Orphan() override { delete this; }
+ void Orphan() override { Unref(); }
void SetAcceptor(Acceptor* acceptor) override;
void AbortWithError();
diff --git a/src/core/ext/transport/chttp2/transport/chttp2_transport.cc b/src/core/ext/transport/chttp2/transport/chttp2_transport.cc
index dff513f47da..1af3a893c6a 100644
--- a/src/core/ext/transport/chttp2/transport/chttp2_transport.cc
+++ b/src/core/ext/transport/chttp2/transport/chttp2_transport.cc
@@ -142,8 +142,6 @@ static bool g_default_server_keepalive_permit_without_calls = false;
#define MAX_CLIENT_STREAM_ID 0x7fffffffu
grpc_core::TraceFlag grpc_keepalive_trace(false, "http_keepalive");
-grpc_core::DebugOnlyTraceFlag grpc_trace_chttp2_refcount(false,
- "chttp2_refcount");
// forward declarations of various callbacks that we'll build closures around
static void write_action_begin_locked(
@@ -594,12 +592,7 @@ static void init_keepalive_pings_if_enabled_locked(
grpc_chttp2_transport::grpc_chttp2_transport(
const grpc_core::ChannelArgs& channel_args, grpc_endpoint* ep,
bool is_client)
- : grpc_core::RefCounted(
- GRPC_TRACE_FLAG_ENABLED(grpc_trace_chttp2_refcount)
- ? "chttp2_refcount"
- : nullptr),
- ep(ep),
+ : ep(ep),
peer_string(
grpc_core::Slice::FromCopiedString(grpc_endpoint_get_peer(ep))),
memory_owner(channel_args.GetObject()
diff --git a/src/core/ext/transport/chttp2/transport/internal.h b/src/core/ext/transport/chttp2/transport/internal.h
index 4714d4c7370..058928a596d 100644
--- a/src/core/ext/transport/chttp2/transport/internal.h
+++ b/src/core/ext/transport/chttp2/transport/internal.h
@@ -223,17 +223,19 @@ typedef enum {
GRPC_CHTTP2_KEEPALIVE_STATE_DISABLED,
} grpc_chttp2_keepalive_state;
-struct grpc_chttp2_transport final
- : public grpc_core::FilterStackTransport,
- public grpc_core::RefCounted,
- public grpc_core::KeepsGrpcInitialized {
+struct grpc_chttp2_transport final : public grpc_core::FilterStackTransport,
+ public grpc_core::KeepsGrpcInitialized {
grpc_chttp2_transport(const grpc_core::ChannelArgs& channel_args,
grpc_endpoint* ep, bool is_client);
~grpc_chttp2_transport() override;
void Orphan() override;
+ grpc_core::RefCountedPtr Ref() {
+ return grpc_core::FilterStackTransport::RefAsSubclass<
+ grpc_chttp2_transport>();
+ }
+
size_t SizeOfStream() const override;
bool HackyDisableStreamOpBatchCoalescingInConnectedChannel() const override;
void PerformStreamOp(grpc_stream* gs,
diff --git a/src/core/ext/transport/inproc/inproc_transport.cc b/src/core/ext/transport/inproc/inproc_transport.cc
index ae32bca6c07..ffcc7469c6a 100644
--- a/src/core/ext/transport/inproc/inproc_transport.cc
+++ b/src/core/ext/transport/inproc/inproc_transport.cc
@@ -33,8 +33,9 @@
namespace grpc_core {
namespace {
-class InprocServerTransport final : public RefCounted,
- public ServerTransport {
+class InprocClientTransport;
+
+class InprocServerTransport final : public ServerTransport {
public:
void SetAcceptor(Acceptor* acceptor) override {
acceptor_ = acceptor;
@@ -95,6 +96,8 @@ class InprocServerTransport final : public RefCounted,
return acceptor_->CreateCall(std::move(md), acceptor_->CreateArena());
}
+ OrphanablePtr MakeClientTransport();
+
private:
enum class ConnectionState : uint8_t { kInitial, kReady, kDisconnected };
@@ -109,6 +112,10 @@ class InprocServerTransport final : public RefCounted,
class InprocClientTransport final : public ClientTransport {
public:
+ explicit InprocClientTransport(
+ RefCountedPtr server_transport)
+ : server_transport_(std::move(server_transport)) {}
+
void StartCall(CallHandler call_handler) override {
call_handler.SpawnGuarded(
"pull_initial_metadata",
@@ -125,10 +132,6 @@ class InprocClientTransport final : public ClientTransport {
void Orphan() override { delete this; }
- OrphanablePtr GetServerTransport() {
- return OrphanablePtr(server_transport_->Ref().release());
- }
-
FilterStackTransport* filter_stack_transport() override { return nullptr; }
ClientTransport* client_transport() override { return this; }
ServerTransport* server_transport() override { return nullptr; }
@@ -144,8 +147,7 @@ class InprocClientTransport final : public ClientTransport {
absl::UnavailableError("Client transport closed"));
}
- RefCountedPtr server_transport_ =
- MakeRefCounted();
+ const RefCountedPtr server_transport_;
};
bool UsePromiseBasedTransport() {
@@ -155,6 +157,12 @@ bool UsePromiseBasedTransport() {
return true;
}
+OrphanablePtr
+InprocServerTransport::MakeClientTransport() {
+ return MakeOrphanable(
+ RefAsSubclass());
+}
+
OrphanablePtr MakeLameChannel(absl::string_view why,
absl::Status error) {
gpr_log(GPR_ERROR, "%s: %s", std::string(why).c_str(),
@@ -196,8 +204,8 @@ OrphanablePtr MakeInprocChannel(Server* server,
std::pair, OrphanablePtr>
MakeInProcessTransportPair() {
- auto client_transport = MakeOrphanable();
- auto server_transport = client_transport->GetServerTransport();
+ auto server_transport = MakeOrphanable();
+ auto client_transport = server_transport->MakeClientTransport();
return std::make_pair(std::move(client_transport),
std::move(server_transport));
}
diff --git a/src/core/lib/address_utils/parse_address.cc b/src/core/lib/address_utils/parse_address.cc
index 8899aaf725f..62d4839b6e3 100644
--- a/src/core/lib/address_utils/parse_address.cc
+++ b/src/core/lib/address_utils/parse_address.cc
@@ -18,6 +18,8 @@
#include "src/core/lib/address_utils/parse_address.h"
+#include "absl/log/check.h"
+
#include
#include "src/core/lib/iomgr/port.h" // IWYU pragma: keep
@@ -284,7 +286,7 @@ bool grpc_parse_ipv6_hostport(absl::string_view hostport,
char* host_end =
static_cast(gpr_memrchr(host.c_str(), '%', host.size()));
if (host_end != nullptr) {
- GPR_ASSERT(host_end >= host.c_str());
+ CHECK(host_end >= host.c_str());
char host_without_scope[GRPC_INET6_ADDRSTRLEN + 1];
size_t host_without_scope_len =
static_cast(host_end - host.c_str());
diff --git a/src/core/lib/address_utils/sockaddr_utils.cc b/src/core/lib/address_utils/sockaddr_utils.cc
index a48bad46c26..c33d2691ab5 100644
--- a/src/core/lib/address_utils/sockaddr_utils.cc
+++ b/src/core/lib/address_utils/sockaddr_utils.cc
@@ -21,6 +21,8 @@
#include
#include
+#include "absl/log/check.h"
+
#include
#ifdef GRPC_HAVE_VSOCK
#include
@@ -110,7 +112,7 @@ static const uint8_t kV4MappedPrefix[] = {0, 0, 0, 0, 0, 0,
int grpc_sockaddr_is_v4mapped(const grpc_resolved_address* resolved_addr,
grpc_resolved_address* resolved_addr4_out) {
- GPR_ASSERT(resolved_addr != resolved_addr4_out);
+ CHECK(resolved_addr != resolved_addr4_out);
const grpc_sockaddr* addr =
reinterpret_cast(resolved_addr->addr);
grpc_sockaddr_in* addr4_out =
@@ -140,7 +142,7 @@ int grpc_sockaddr_is_v4mapped(const grpc_resolved_address* resolved_addr,
int grpc_sockaddr_to_v4mapped(const grpc_resolved_address* resolved_addr,
grpc_resolved_address* resolved_addr6_out) {
- GPR_ASSERT(resolved_addr != resolved_addr6_out);
+ CHECK(resolved_addr != resolved_addr6_out);
const grpc_sockaddr* addr =
reinterpret_cast(resolved_addr->addr);
grpc_sockaddr_in6* addr6_out =
@@ -203,7 +205,8 @@ void grpc_sockaddr_make_wildcard4(int port,
grpc_resolved_address* resolved_wild_out) {
grpc_sockaddr_in* wild_out =
reinterpret_cast(resolved_wild_out->addr);
- GPR_ASSERT(port >= 0 && port < 65536);
+ CHECK(port >= 0);
+ CHECK(port < 65536);
memset(resolved_wild_out, 0, sizeof(*resolved_wild_out));
wild_out->sin_family = GRPC_AF_INET;
wild_out->sin_port = grpc_htons(static_cast(port));
@@ -214,7 +217,8 @@ void grpc_sockaddr_make_wildcard6(int port,
grpc_resolved_address* resolved_wild_out) {
grpc_sockaddr_in6* wild_out =
reinterpret_cast(resolved_wild_out->addr);
- GPR_ASSERT(port >= 0 && port < 65536);
+ CHECK(port >= 0);
+ CHECK(port < 65536);
memset(resolved_wild_out, 0, sizeof(*resolved_wild_out));
wild_out->sin6_family = GRPC_AF_INET6;
wild_out->sin6_port = grpc_htons(static_cast(port));
@@ -378,12 +382,14 @@ int grpc_sockaddr_set_port(grpc_resolved_address* resolved_addr, int port) {
grpc_sockaddr* addr = reinterpret_cast(resolved_addr->addr);
switch (addr->sa_family) {
case GRPC_AF_INET:
- GPR_ASSERT(port >= 0 && port < 65536);
+ CHECK(port >= 0);
+ CHECK(port < 65536);
(reinterpret_cast(addr))->sin_port =
grpc_htons(static_cast(port));
return 1;
case GRPC_AF_INET6:
- GPR_ASSERT(port >= 0 && port < 65536);
+ CHECK(port >= 0);
+ CHECK(port < 65536);
(reinterpret_cast(addr))->sin6_port =
grpc_htons(static_cast(port));
return 1;
@@ -437,7 +443,7 @@ void grpc_sockaddr_mask_bits(grpc_resolved_address* address,
// We cannot use s6_addr32 since it is not defined on all platforms that we
// need it on.
uint32_t address_parts[4];
- GPR_ASSERT(sizeof(addr6->sin6_addr) == sizeof(address_parts));
+ CHECK(sizeof(addr6->sin6_addr) == sizeof(address_parts));
memcpy(address_parts, &addr6->sin6_addr, sizeof(grpc_in6_addr));
if (mask_bits <= 32) {
uint32_t mask_ip_addr = (~(uint32_t{0})) << (32 - mask_bits);
diff --git a/src/core/lib/channel/call_tracer.cc b/src/core/lib/channel/call_tracer.cc
index 898cb5ab6b3..154bbdfbf06 100644
--- a/src/core/lib/channel/call_tracer.cc
+++ b/src/core/lib/channel/call_tracer.cc
@@ -22,6 +22,8 @@
#include
#include
+#include "absl/log/check.h"
+
#include
#include
@@ -76,7 +78,7 @@ class DelegatingClientCallTracer : public ClientCallTracer {
explicit DelegatingClientCallAttemptTracer(
std::vector tracers)
: tracers_(std::move(tracers)) {
- GPR_DEBUG_ASSERT(!tracers_.empty());
+ DCHECK(!tracers_.empty());
}
~DelegatingClientCallAttemptTracer() override {}
void RecordSendInitialMetadata(
@@ -176,7 +178,7 @@ class DelegatingClientCallTracer : public ClientCallTracer {
attempt_tracers.reserve(tracers_.size());
for (auto* tracer : tracers_) {
auto* attempt_tracer = tracer->StartNewAttempt(is_transparent_retry);
- GPR_DEBUG_ASSERT(attempt_tracer != nullptr);
+ DCHECK_NE(attempt_tracer, nullptr);
attempt_tracers.push_back(attempt_tracer);
}
return GetContext()->ManagedNew(
@@ -328,9 +330,8 @@ void AddClientCallTracerToContext(grpc_call_context_element* call_context,
void AddServerCallTracerToContext(grpc_call_context_element* call_context,
ServerCallTracer* tracer) {
- GPR_DEBUG_ASSERT(
- call_context[GRPC_CONTEXT_CALL_TRACER].value ==
- call_context[GRPC_CONTEXT_CALL_TRACER_ANNOTATION_INTERFACE].value);
+ DCHECK(call_context[GRPC_CONTEXT_CALL_TRACER].value ==
+ call_context[GRPC_CONTEXT_CALL_TRACER_ANNOTATION_INTERFACE].value);
if (call_context[GRPC_CONTEXT_CALL_TRACER_ANNOTATION_INTERFACE].value ==
nullptr) {
// This is the first call tracer. Set it directly.
diff --git a/src/core/lib/channel/channel_args.cc b/src/core/lib/channel/channel_args.cc
index d02d5b369b3..f34408512c9 100644
--- a/src/core/lib/channel/channel_args.cc
+++ b/src/core/lib/channel/channel_args.cc
@@ -28,6 +28,7 @@
#include
#include
+#include "absl/log/check.h"
#include "absl/strings/match.h"
#include "absl/strings/str_cat.h"
#include "absl/strings/str_format.h"
@@ -427,7 +428,7 @@ grpc_channel_args* grpc_channel_args_copy_and_add_and_remove(
for (size_t i = 0; i < num_to_add; ++i) {
dst->args[dst_idx++] = copy_arg(&to_add[i]);
}
- GPR_ASSERT(dst_idx == dst->num_args);
+ CHECK(dst_idx == dst->num_args);
return dst;
}
@@ -699,7 +700,7 @@ grpc_channel_args_client_channel_creation_mutator g_mutator = nullptr;
void grpc_channel_args_set_client_channel_creation_mutator(
grpc_channel_args_client_channel_creation_mutator cb) {
- GPR_DEBUG_ASSERT(g_mutator == nullptr);
+ DCHECK_EQ(g_mutator, nullptr);
g_mutator = cb;
}
grpc_channel_args_client_channel_creation_mutator
diff --git a/src/core/lib/channel/channel_stack.cc b/src/core/lib/channel/channel_stack.cc
index 4c4eaa2326d..9b28a321db1 100644
--- a/src/core/lib/channel/channel_stack.cc
+++ b/src/core/lib/channel/channel_stack.cc
@@ -23,6 +23,8 @@
#include
#include
+#include "absl/log/check.h"
+
#include
#include
@@ -67,8 +69,8 @@ size_t grpc_channel_stack_size(const grpc_channel_filter** filters,
sizeof(grpc_channel_element));
size_t i;
- GPR_ASSERT((GPR_MAX_ALIGNMENT & (GPR_MAX_ALIGNMENT - 1)) == 0 &&
- "GPR_MAX_ALIGNMENT must be a power of two");
+ CHECK((GPR_MAX_ALIGNMENT & (GPR_MAX_ALIGNMENT - 1)) == 0)
+ << "GPR_MAX_ALIGNMENT must be a power of two";
// add the size for each filter
for (i = 0; i < filter_count; i++) {
@@ -167,9 +169,9 @@ grpc_error_handle grpc_channel_stack_init(
call_size += GPR_ROUND_UP_TO_ALIGNMENT_SIZE(filters[i]->sizeof_call_data);
}
- GPR_ASSERT(user_data > (char*)stack);
- GPR_ASSERT((uintptr_t)(user_data - (char*)stack) ==
- grpc_channel_stack_size(filters, filter_count));
+ CHECK(user_data > (char*)stack);
+ CHECK((uintptr_t)(user_data - (char*)stack) ==
+ grpc_channel_stack_size(filters, filter_count));
stack->call_stack_size = call_size;
return first_error;
diff --git a/src/core/lib/channel/connected_channel.cc b/src/core/lib/channel/connected_channel.cc
index 6cbf9df086e..48d8b7f25a7 100644
--- a/src/core/lib/channel/connected_channel.cc
+++ b/src/core/lib/channel/connected_channel.cc
@@ -26,6 +26,7 @@
#include
#include
+#include "absl/log/check.h"
#include "absl/status/status.h"
#include "absl/status/statusor.h"
#include "absl/types/optional.h"
@@ -224,7 +225,7 @@ static void connected_channel_destroy_call_elem(
static grpc_error_handle connected_channel_init_channel_elem(
grpc_channel_element* elem, grpc_channel_element_args* args) {
channel_data* cd = static_cast(elem->channel_data);
- GPR_ASSERT(args->is_last);
+ CHECK(args->is_last);
cd->transport = args->channel_args.GetObject();
return absl::OkStatus();
}
diff --git a/src/core/lib/channel/context.h b/src/core/lib/channel/context.h
index ac2e1aeda49..ddcd01395a9 100644
--- a/src/core/lib/channel/context.h
+++ b/src/core/lib/channel/context.h
@@ -29,9 +29,12 @@
/// This enum represents the indexes into the array, where each index
/// contains a different type of value.
typedef enum {
+ /// grpc_call* associated with this context.
+ GRPC_CONTEXT_CALL = 0,
+
/// Value is either a \a grpc_client_security_context or a
/// \a grpc_server_security_context.
- GRPC_CONTEXT_SECURITY = 0,
+ GRPC_CONTEXT_SECURITY,
/// Value is a \a census_context.
GRPC_CONTEXT_TRACING,
@@ -68,10 +71,35 @@ struct grpc_call_context_element {
};
namespace grpc_core {
+class Call;
+
// Bind the legacy context array into the new style structure
// TODO(ctiller): remove as we migrate these contexts to the new system.
template <>
struct ContextType {};
+
+// Also as a transition step allow exposing a GetContext that can peek into
+// the legacy context array.
+namespace promise_detail {
+template
+struct OldStyleContext;
+
+template <>
+struct OldStyleContext {
+ static constexpr grpc_context_index kIndex = GRPC_CONTEXT_CALL;
+};
+
+template
+class Context::kIndex)>> {
+ public:
+ static T* get() {
+ return static_cast(
+ GetContext()[OldStyleContext::kIndex]
+ .value);
+ }
+};
+
+} // namespace promise_detail
} // namespace grpc_core
#endif // GRPC_SRC_CORE_LIB_CHANNEL_CONTEXT_H
diff --git a/src/core/lib/channel/metrics.cc b/src/core/lib/channel/metrics.cc
index a28102f039b..d662f3275ad 100644
--- a/src/core/lib/channel/metrics.cc
+++ b/src/core/lib/channel/metrics.cc
@@ -16,6 +16,8 @@
#include
+#include "absl/log/check.h"
+
#include
#include "src/core/lib/gprpp/crash.h"
@@ -46,7 +48,7 @@ GlobalInstrumentsRegistry::RegisterUInt64Counter(
}
}
uint32_t index = instruments.size();
- GPR_ASSERT(index < std::numeric_limits::max());
+ CHECK_LT(index, std::numeric_limits::max());
GlobalInstrumentDescriptor descriptor;
descriptor.value_type = ValueType::kUInt64;
descriptor.instrument_type = InstrumentType::kCounter;
@@ -78,7 +80,7 @@ GlobalInstrumentsRegistry::RegisterDoubleCounter(
}
}
uint32_t index = instruments.size();
- GPR_ASSERT(index < std::numeric_limits::max());
+ CHECK_LT(index, std::numeric_limits::max());
GlobalInstrumentDescriptor descriptor;
descriptor.value_type = ValueType::kDouble;
descriptor.instrument_type = InstrumentType::kCounter;
@@ -110,7 +112,7 @@ GlobalInstrumentsRegistry::RegisterUInt64Histogram(
}
}
uint32_t index = instruments.size();
- GPR_ASSERT(index < std::numeric_limits::max());
+ CHECK_LT(index, std::numeric_limits::max());
GlobalInstrumentDescriptor descriptor;
descriptor.value_type = ValueType::kUInt64;
descriptor.instrument_type = InstrumentType::kHistogram;
@@ -142,7 +144,7 @@ GlobalInstrumentsRegistry::RegisterDoubleHistogram(
}
}
uint32_t index = instruments.size();
- GPR_ASSERT(index < std::numeric_limits::max());
+ CHECK_LT(index, std::numeric_limits::max());
GlobalInstrumentDescriptor descriptor;
descriptor.value_type = ValueType::kDouble;
descriptor.instrument_type = InstrumentType::kHistogram;
@@ -174,7 +176,7 @@ GlobalInstrumentsRegistry::RegisterCallbackInt64Gauge(
}
}
uint32_t index = instruments.size();
- GPR_ASSERT(index < std::numeric_limits::max());
+ CHECK_LT(index, std::numeric_limits::max());
GlobalInstrumentDescriptor descriptor;
descriptor.value_type = ValueType::kInt64;
descriptor.instrument_type = InstrumentType::kCallbackGauge;
@@ -206,7 +208,7 @@ GlobalInstrumentsRegistry::RegisterCallbackDoubleGauge(
}
}
uint32_t index = instruments.size();
- GPR_ASSERT(index < std::numeric_limits::max());
+ CHECK_LT(index, std::numeric_limits::max());
GlobalInstrumentDescriptor descriptor;
descriptor.value_type = ValueType::kDouble;
descriptor.instrument_type = InstrumentType::kCallbackGauge;
diff --git a/src/core/lib/channel/promise_based_filter.cc b/src/core/lib/channel/promise_based_filter.cc
index 9e47aacae55..da858ee8d4f 100644
--- a/src/core/lib/channel/promise_based_filter.cc
+++ b/src/core/lib/channel/promise_based_filter.cc
@@ -22,6 +22,7 @@
#include "absl/base/attributes.h"
#include "absl/functional/function_ref.h"
+#include "absl/log/check.h"
#include "absl/status/status.h"
#include "absl/strings/str_cat.h"
#include "absl/strings/str_format.h"
@@ -180,7 +181,7 @@ BaseCallData::CapturedBatch::~CapturedBatch() {
uintptr_t& refcnt = *RefCountField(batch_);
if (refcnt == 0) return; // refcnt==0 ==> cancelled
--refcnt;
- GPR_ASSERT(refcnt != 0);
+ CHECK_NE(refcnt, 0u);
}
BaseCallData::CapturedBatch::CapturedBatch(const CapturedBatch& rhs)
@@ -211,7 +212,7 @@ BaseCallData::CapturedBatch& BaseCallData::CapturedBatch::operator=(
void BaseCallData::CapturedBatch::ResumeWith(Flusher* releaser) {
auto* batch = std::exchange(batch_, nullptr);
- GPR_ASSERT(batch != nullptr);
+ CHECK_NE(batch, nullptr);
uintptr_t& refcnt = *RefCountField(batch);
if (refcnt == 0) {
// refcnt==0 ==> cancelled
@@ -228,7 +229,7 @@ void BaseCallData::CapturedBatch::ResumeWith(Flusher* releaser) {
void BaseCallData::CapturedBatch::CompleteWith(Flusher* releaser) {
auto* batch = std::exchange(batch_, nullptr);
- GPR_ASSERT(batch != nullptr);
+ CHECK_NE(batch, nullptr);
uintptr_t& refcnt = *RefCountField(batch);
if (refcnt == 0) return; // refcnt==0 ==> cancelled
if (--refcnt == 0) {
@@ -239,7 +240,7 @@ void BaseCallData::CapturedBatch::CompleteWith(Flusher* releaser) {
void BaseCallData::CapturedBatch::CancelWith(grpc_error_handle error,
Flusher* releaser) {
auto* batch = std::exchange(batch_, nullptr);
- GPR_ASSERT(batch != nullptr);
+ CHECK_NE(batch, nullptr);
uintptr_t& refcnt = *RefCountField(batch);
if (refcnt == 0) {
// refcnt==0 ==> cancelled
@@ -369,7 +370,7 @@ void BaseCallData::SendMessage::GotPipe(T* pipe_end) {
gpr_log(GPR_INFO, "%s SendMessage.GotPipe st=%s", base_->LogTag().c_str(),
StateString(state_));
}
- GPR_ASSERT(pipe_end != nullptr);
+ CHECK_NE(pipe_end, nullptr);
switch (state_) {
case State::kInitial:
state_ = State::kIdle;
@@ -518,7 +519,7 @@ void BaseCallData::SendMessage::WakeInsideCombiner(Flusher* flusher,
}
ABSL_FALLTHROUGH_INTENDED;
case State::kPushedToPipe: {
- GPR_ASSERT(push_.has_value());
+ CHECK(push_.has_value());
auto r_push = (*push_)();
if (auto* p = r_push.value_if_ready()) {
if (grpc_trace_channel.enabled()) {
@@ -527,12 +528,12 @@ void BaseCallData::SendMessage::WakeInsideCombiner(Flusher* flusher,
base_->LogTag().c_str(), *p ? "true" : "false");
}
// We haven't pulled through yet, so this certainly shouldn't succeed.
- GPR_ASSERT(!*p);
+ CHECK(!*p);
state_ = State::kCancelled;
batch_.CancelWith(absl::CancelledError(), flusher);
break;
}
- GPR_ASSERT(next_.has_value());
+ CHECK(next_.has_value());
auto r_next = (*next_)();
if (auto* p = r_next.value_if_ready()) {
if (grpc_trace_channel.enabled()) {
@@ -851,12 +852,12 @@ void BaseCallData::ReceiveMessage::WakeInsideCombiner(Flusher* flusher,
completed_status_, "recv_message");
break;
}
- GPR_ASSERT(state_ == State::kPushedToPipe ||
- state_ == State::kCompletedWhilePushedToPipe);
+ CHECK(state_ == State::kPushedToPipe ||
+ state_ == State::kCompletedWhilePushedToPipe);
ABSL_FALLTHROUGH_INTENDED;
case State::kCompletedWhilePushedToPipe:
case State::kPushedToPipe: {
- GPR_ASSERT(push_.has_value());
+ CHECK(push_.has_value());
auto r_push = (*push_)();
if (auto* p = r_push.value_if_ready()) {
if (grpc_trace_channel.enabled()) {
@@ -865,11 +866,11 @@ void BaseCallData::ReceiveMessage::WakeInsideCombiner(Flusher* flusher,
base_->LogTag().c_str(), *p ? "true" : "false");
}
// We haven't pulled through yet, so this certainly shouldn't succeed.
- GPR_ASSERT(!*p);
+ CHECK(!*p);
state_ = State::kCancelled;
break;
}
- GPR_ASSERT(next_.has_value());
+ CHECK(next_.has_value());
auto r_next = (*next_)();
if (auto* p = r_next.value_if_ready()) {
next_.reset();
@@ -907,7 +908,7 @@ void BaseCallData::ReceiveMessage::WakeInsideCombiner(Flusher* flusher,
ABSL_FALLTHROUGH_INTENDED;
case State::kCompletedWhilePulledFromPipe:
case State::kPulledFromPipe: {
- GPR_ASSERT(push_.has_value());
+ CHECK(push_.has_value());
if ((*push_)().ready()) {
if (grpc_trace_channel.enabled()) {
gpr_log(GPR_INFO,
@@ -1013,7 +1014,7 @@ class ClientCallData::PollContext {
public:
explicit PollContext(ClientCallData* self, Flusher* flusher)
: self_(self), flusher_(flusher) {
- GPR_ASSERT(self_->poll_ctx_ == nullptr);
+ CHECK_EQ(self_->poll_ctx_, nullptr);
self_->poll_ctx_ = this;
scoped_activity_.Init(self_);
@@ -1024,12 +1025,12 @@ class ClientCallData::PollContext {
PollContext& operator=(const PollContext&) = delete;
void Run() {
- GPR_DEBUG_ASSERT(HasContext());
+ DCHECK(HasContext());
if (grpc_trace_channel.enabled()) {
gpr_log(GPR_INFO, "%s ClientCallData.PollContext.Run %s",
self_->LogTag().c_str(), self_->DebugString().c_str());
}
- GPR_ASSERT(have_scoped_activity_);
+ CHECK(have_scoped_activity_);
repoll_ = false;
if (self_->send_message() != nullptr) {
self_->send_message()->WakeInsideCombiner(flusher_, true);
@@ -1064,10 +1065,8 @@ class ClientCallData::PollContext {
case RecvInitialMetadata::kCompleteAndGotPipe:
self_->recv_initial_metadata_->state =
RecvInitialMetadata::kCompleteAndPushedToPipe;
- GPR_ASSERT(
- !self_->recv_initial_metadata_->metadata_push_.has_value());
- GPR_ASSERT(
- !self_->recv_initial_metadata_->metadata_next_.has_value());
+ CHECK(!self_->recv_initial_metadata_->metadata_push_.has_value());
+ CHECK(!self_->recv_initial_metadata_->metadata_next_.has_value());
self_->recv_initial_metadata_->metadata_push_.emplace(
self_->recv_initial_metadata_->server_initial_metadata_publisher
->Push(ServerMetadataHandle(
@@ -1078,7 +1077,7 @@ class ClientCallData::PollContext {
self_->server_initial_metadata_pipe()->receiver.Next());
ABSL_FALLTHROUGH_INTENDED;
case RecvInitialMetadata::kCompleteAndPushedToPipe: {
- GPR_ASSERT(self_->recv_initial_metadata_->metadata_next_.has_value());
+ CHECK(self_->recv_initial_metadata_->metadata_next_.has_value());
Poll> p =
(*self_->recv_initial_metadata_->metadata_next_)();
if (NextResult* nr = p.value_if_ready()) {
@@ -1172,7 +1171,7 @@ class ClientCallData::PollContext {
}
} else {
self_->cancelled_error_ = StatusFromMetadata(*md);
- GPR_ASSERT(!self_->cancelled_error_.ok());
+ CHECK(!self_->cancelled_error_.ok());
if (self_->recv_initial_metadata_ != nullptr) {
switch (self_->recv_initial_metadata_->state) {
case RecvInitialMetadata::kInitial:
@@ -1210,7 +1209,7 @@ class ClientCallData::PollContext {
self_->send_initial_metadata_batch_.CancelWith(
self_->cancelled_error_, flusher_);
} else {
- GPR_ASSERT(
+ CHECK(
self_->recv_trailing_state_ == RecvTrailingState::kInitial ||
self_->recv_trailing_state_ == RecvTrailingState::kForwarded);
self_->call_combiner()->Cancel(self_->cancelled_error_);
@@ -1314,7 +1313,7 @@ ClientCallData::ClientCallData(grpc_call_element* elem,
ClientCallData::~ClientCallData() {
ScopedActivity scoped_activity(this);
- GPR_ASSERT(poll_ctx_ == nullptr);
+ CHECK_EQ(poll_ctx_, nullptr);
if (recv_initial_metadata_ != nullptr) {
recv_initial_metadata_->~RecvInitialMetadata();
}
@@ -1328,7 +1327,7 @@ std::string ClientCallData::DebugTag() const {
// Activity implementation.
void ClientCallData::ForceImmediateRepoll(WakeupMask) {
- GPR_ASSERT(poll_ctx_ != nullptr);
+ CHECK_NE(poll_ctx_, nullptr);
poll_ctx_->Repoll();
}
@@ -1399,10 +1398,9 @@ void ClientCallData::StartBatch(grpc_transport_stream_op_batch* b) {
// If this is a cancel stream, cancel anything we have pending and propagate
// the cancellation.
if (batch->cancel_stream) {
- GPR_ASSERT(!batch->send_initial_metadata &&
- !batch->send_trailing_metadata && !batch->send_message &&
- !batch->recv_initial_metadata && !batch->recv_message &&
- !batch->recv_trailing_metadata);
+ CHECK(!batch->send_initial_metadata && !batch->send_trailing_metadata &&
+ !batch->send_message && !batch->recv_initial_metadata &&
+ !batch->recv_message && !batch->recv_trailing_metadata);
PollContext poll_ctx(this, &flusher);
Cancel(batch->payload->cancel_stream.cancel_error, &flusher);
poll_ctx.Run();
@@ -1473,12 +1471,12 @@ void ClientCallData::StartBatch(grpc_transport_stream_op_batch* b) {
batch.CancelWith(cancelled_error_, &flusher);
} else {
// Otherwise, we should not have seen a send_initial_metadata op yet.
- GPR_ASSERT(send_initial_state_ == SendInitialState::kInitial);
+ CHECK(send_initial_state_ == SendInitialState::kInitial);
// Mark ourselves as queued.
send_initial_state_ = SendInitialState::kQueued;
if (batch->recv_trailing_metadata) {
// If there's a recv_trailing_metadata op, we queue that too.
- GPR_ASSERT(recv_trailing_state_ == RecvTrailingState::kInitial);
+ CHECK(recv_trailing_state_ == RecvTrailingState::kInitial);
recv_trailing_state_ = RecvTrailingState::kQueued;
}
// This is the queuing!
@@ -1493,7 +1491,7 @@ void ClientCallData::StartBatch(grpc_transport_stream_op_batch* b) {
if (recv_trailing_state_ == RecvTrailingState::kCancelled) {
batch.CancelWith(cancelled_error_, &flusher);
} else {
- GPR_ASSERT(recv_trailing_state_ == RecvTrailingState::kInitial);
+ CHECK(recv_trailing_state_ == RecvTrailingState::kInitial);
recv_trailing_state_ = RecvTrailingState::kForwarded;
HookRecvTrailingMetadata(batch);
}
@@ -1571,7 +1569,7 @@ void ClientCallData::Cancel(grpc_error_handle error, Flusher* flusher) {
// Begin running the promise - which will ultimately take some initial
// metadata and return some trailing metadata.
void ClientCallData::StartPromise(Flusher* flusher) {
- GPR_ASSERT(send_initial_state_ == SendInitialState::kQueued);
+ CHECK(send_initial_state_ == SendInitialState::kQueued);
ChannelFilter* filter = promise_filter_detail::ChannelFilterFromElem(elem());
// Construct the promise.
@@ -1684,8 +1682,8 @@ ArenaPromise ClientCallData::MakeNextPromise(
gpr_log(GPR_INFO, "%s ClientCallData.MakeNextPromise %s", LogTag().c_str(),
DebugString().c_str());
}
- GPR_ASSERT(poll_ctx_ != nullptr);
- GPR_ASSERT(send_initial_state_ == SendInitialState::kQueued);
+ CHECK_NE(poll_ctx_, nullptr);
+ CHECK(send_initial_state_ == SendInitialState::kQueued);
send_initial_metadata_batch_->payload->send_initial_metadata
.send_initial_metadata = call_args.client_initial_metadata.get();
if (recv_initial_metadata_ != nullptr) {
@@ -1693,7 +1691,7 @@ ArenaPromise ClientCallData::MakeNextPromise(
// It might be the one we passed in - in which case we know this filter
// only wants to examine the metadata, or it might be a new instance, in
// which case we know the filter wants to mutate.
- GPR_ASSERT(call_args.server_initial_metadata != nullptr);
+ CHECK_NE(call_args.server_initial_metadata, nullptr);
recv_initial_metadata_->server_initial_metadata_publisher =
call_args.server_initial_metadata;
switch (recv_initial_metadata_->state) {
@@ -1722,17 +1720,17 @@ ArenaPromise ClientCallData::MakeNextPromise(
recv_initial_metadata_->state))); // unreachable
}
} else {
- GPR_ASSERT(call_args.server_initial_metadata == nullptr);
+ CHECK_EQ(call_args.server_initial_metadata, nullptr);
}
if (send_message() != nullptr) {
send_message()->GotPipe(call_args.client_to_server_messages);
} else {
- GPR_ASSERT(call_args.client_to_server_messages == nullptr);
+ CHECK_EQ(call_args.client_to_server_messages, nullptr);
}
if (receive_message() != nullptr) {
receive_message()->GotPipe(call_args.server_to_client_messages);
} else {
- GPR_ASSERT(call_args.server_to_client_messages == nullptr);
+ CHECK_EQ(call_args.server_to_client_messages, nullptr);
}
return ArenaPromise(
[this]() { return PollTrailingMetadata(); });
@@ -1747,10 +1745,10 @@ Poll ClientCallData::PollTrailingMetadata() {
gpr_log(GPR_INFO, "%s ClientCallData.PollTrailingMetadata %s",
LogTag().c_str(), DebugString().c_str());
}
- GPR_ASSERT(poll_ctx_ != nullptr);
+ CHECK_NE(poll_ctx_, nullptr);
if (send_initial_state_ == SendInitialState::kQueued) {
// First poll: pass the send_initial_metadata op down the stack.
- GPR_ASSERT(send_initial_metadata_batch_.is_captured());
+ CHECK(send_initial_metadata_batch_.is_captured());
send_initial_state_ = SendInitialState::kForwarded;
if (recv_trailing_state_ == RecvTrailingState::kQueued) {
// (and the recv_trailing_metadata op if it's part of the queuing)
@@ -1820,7 +1818,7 @@ void ClientCallData::RecvTrailingMetadataReady(grpc_error_handle error) {
SetStatusFromError(recv_trailing_metadata_, error);
}
// Record that we've got the callback.
- GPR_ASSERT(recv_trailing_state_ == RecvTrailingState::kForwarded);
+ CHECK(recv_trailing_state_ == RecvTrailingState::kForwarded);
recv_trailing_state_ = RecvTrailingState::kComplete;
if (receive_message() != nullptr) {
receive_message()->Done(*recv_trailing_metadata_, &flusher);
@@ -1908,7 +1906,7 @@ class ServerCallData::PollContext {
created_.line(), "; Old: ", self_->poll_ctx_->created_.file(), ":",
self_->poll_ctx_->created_.line()));
}
- GPR_ASSERT(self_->poll_ctx_ == nullptr);
+ CHECK_EQ(self_->poll_ctx_, nullptr);
self_->poll_ctx_ = this;
scoped_activity_.Init(self_);
have_scoped_activity_ = true;
@@ -2016,7 +2014,7 @@ ServerCallData::~ServerCallData() {
if (send_initial_metadata_ != nullptr) {
send_initial_metadata_->~SendInitialMetadata();
}
- GPR_ASSERT(poll_ctx_ == nullptr);
+ CHECK_EQ(poll_ctx_, nullptr);
}
std::string ServerCallData::DebugTag() const {
@@ -2025,7 +2023,7 @@ std::string ServerCallData::DebugTag() const {
// Activity implementation.
void ServerCallData::ForceImmediateRepoll(WakeupMask) {
- GPR_ASSERT(poll_ctx_ != nullptr);
+ CHECK_NE(poll_ctx_, nullptr);
poll_ctx_->Repoll();
}
@@ -2045,10 +2043,9 @@ void ServerCallData::StartBatch(grpc_transport_stream_op_batch* b) {
// If this is a cancel stream, cancel anything we have pending and
// propagate the cancellation.
if (batch->cancel_stream) {
- GPR_ASSERT(!batch->send_initial_metadata &&
- !batch->send_trailing_metadata && !batch->send_message &&
- !batch->recv_initial_metadata && !batch->recv_message &&
- !batch->recv_trailing_metadata);
+ CHECK(!batch->send_initial_metadata && !batch->send_trailing_metadata &&
+ !batch->send_message && !batch->recv_initial_metadata &&
+ !batch->recv_message && !batch->recv_trailing_metadata);
PollContext poll_ctx(this, &flusher);
Completed(batch->payload->cancel_stream.cancel_error,
batch->payload->cancel_stream.tarpit, &flusher);
@@ -2063,11 +2060,11 @@ void ServerCallData::StartBatch(grpc_transport_stream_op_batch* b) {
// recv_initial_metadata: we hook the response of this so we can start the
// promise at an appropriate time.
if (batch->recv_initial_metadata) {
- GPR_ASSERT(!batch->send_initial_metadata &&
- !batch->send_trailing_metadata && !batch->send_message &&
- !batch->recv_message && !batch->recv_trailing_metadata);
+ CHECK(!batch->send_initial_metadata && !batch->send_trailing_metadata &&
+ !batch->send_message && !batch->recv_message &&
+ !batch->recv_trailing_metadata);
// Otherwise, we should not have seen a send_initial_metadata op yet.
- GPR_ASSERT(recv_initial_state_ == RecvInitialState::kInitial);
+ CHECK(recv_initial_state_ == RecvInitialState::kInitial);
// Hook the callback so we know when to start the promise.
recv_initial_metadata_ =
batch->payload->recv_initial_metadata.recv_initial_metadata;
@@ -2249,14 +2246,13 @@ void ServerCallData::Completed(grpc_error_handle error,
// - return a wrapper around PollTrailingMetadata as the promise.
ArenaPromise ServerCallData::MakeNextPromise(
CallArgs call_args) {
- GPR_ASSERT(recv_initial_state_ == RecvInitialState::kComplete);
- GPR_ASSERT(std::move(call_args.client_initial_metadata).get() ==
- recv_initial_metadata_);
+ CHECK(recv_initial_state_ == RecvInitialState::kComplete);
+ CHECK(std::move(call_args.client_initial_metadata).get() ==
+ recv_initial_metadata_);
forward_recv_initial_metadata_callback_ = true;
if (send_initial_metadata_ != nullptr) {
- GPR_ASSERT(send_initial_metadata_->server_initial_metadata_publisher ==
- nullptr);
- GPR_ASSERT(call_args.server_initial_metadata != nullptr);
+ CHECK(send_initial_metadata_->server_initial_metadata_publisher == nullptr);
+ CHECK_NE(call_args.server_initial_metadata, nullptr);
send_initial_metadata_->server_initial_metadata_publisher =
call_args.server_initial_metadata;
switch (send_initial_metadata_->state) {
@@ -2279,17 +2275,17 @@ ArenaPromise ServerCallData::MakeNextPromise(
break;
}
} else {
- GPR_ASSERT(call_args.server_initial_metadata == nullptr);
+ CHECK_EQ(call_args.server_initial_metadata, nullptr);
}
if (send_message() != nullptr) {
send_message()->GotPipe(call_args.server_to_client_messages);
} else {
- GPR_ASSERT(call_args.server_to_client_messages == nullptr);
+ CHECK_EQ(call_args.server_to_client_messages, nullptr);
}
if (receive_message() != nullptr) {
receive_message()->GotPipe(call_args.client_to_server_messages);
} else {
- GPR_ASSERT(call_args.client_to_server_messages == nullptr);
+ CHECK_EQ(call_args.client_to_server_messages, nullptr);
}
return ArenaPromise(
[this]() { return PollTrailingMetadata(); });
@@ -2354,7 +2350,7 @@ void ServerCallData::RecvInitialMetadataReady(grpc_error_handle error) {
gpr_log(GPR_INFO, "%s: RecvInitialMetadataReady %s", LogTag().c_str(),
error.ToString().c_str());
}
- GPR_ASSERT(recv_initial_state_ == RecvInitialState::kForwarded);
+ CHECK(recv_initial_state_ == RecvInitialState::kForwarded);
// If there was an error we just propagate that through
if (!error.ok()) {
recv_initial_state_ = RecvInitialState::kResponded;
@@ -2425,8 +2421,8 @@ void ServerCallData::WakeInsideCombiner(Flusher* flusher) {
SendInitialMetadata::kQueuedAndGotPipe) {
send_initial_metadata_->state =
SendInitialMetadata::kQueuedAndPushedToPipe;
- GPR_ASSERT(!send_initial_metadata_->metadata_push_.has_value());
- GPR_ASSERT(!send_initial_metadata_->metadata_next_.has_value());
+ CHECK(!send_initial_metadata_->metadata_push_.has_value());
+ CHECK(!send_initial_metadata_->metadata_next_.has_value());
send_initial_metadata_->metadata_push_.emplace(
send_initial_metadata_->server_initial_metadata_publisher->Push(
ServerMetadataHandle(
@@ -2508,7 +2504,7 @@ void ServerCallData::WakeInsideCombiner(Flusher* flusher) {
if (send_initial_metadata_ != nullptr &&
send_initial_metadata_->state ==
SendInitialMetadata::kQueuedAndPushedToPipe) {
- GPR_ASSERT(send_initial_metadata_->metadata_next_.has_value());
+ CHECK(send_initial_metadata_->metadata_next_.has_value());
auto p = (*send_initial_metadata_->metadata_next_)();
if (grpc_trace_channel.enabled()) {
gpr_log(GPR_INFO,
@@ -2557,7 +2553,7 @@ void ServerCallData::WakeInsideCombiner(Flusher* flusher) {
StateString(send_trailing_state_))); // unreachable
break;
case SendTrailingState::kInitial: {
- GPR_ASSERT(*md->get_pointer(GrpcStatusMetadata()) != GRPC_STATUS_OK);
+ CHECK(*md->get_pointer(GrpcStatusMetadata()) != GRPC_STATUS_OK);
Completed(StatusFromMetadata(*md), md->get(GrpcTarPit()).has_value(),
flusher);
} break;
diff --git a/src/core/lib/channel/promise_based_filter.h b/src/core/lib/channel/promise_based_filter.h
index 32af82253f0..c0735c45e61 100644
--- a/src/core/lib/channel/promise_based_filter.h
+++ b/src/core/lib/channel/promise_based_filter.h
@@ -31,6 +31,7 @@
#include "absl/container/inlined_vector.h"
#include "absl/functional/function_ref.h"
+#include "absl/log/check.h"
#include "absl/meta/type_traits.h"
#include "absl/status/status.h"
#include "absl/strings/string_view.h"
@@ -352,7 +353,7 @@ auto MapResult(const NoInterceptor*, Promise x, void*) {
template
auto MapResult(absl::Status (Derived::Call::*fn)(ServerMetadata&), Promise x,
FilterCallData* call_data) {
- GPR_DEBUG_ASSERT(fn == &Derived::Call::OnServerTrailingMetadata);
+ DCHECK(fn == &Derived::Call::OnServerTrailingMetadata);
return Map(std::move(x), [call_data](ServerMetadataHandle md) {
auto status = call_data->call.OnServerTrailingMetadata(*md);
if (!status.ok()) return ServerMetadataFromStatus(status);
@@ -363,7 +364,7 @@ auto MapResult(absl::Status (Derived::Call::*fn)(ServerMetadata&), Promise x,
template
auto MapResult(void (Derived::Call::*fn)(ServerMetadata&), Promise x,
FilterCallData* call_data) {
- GPR_DEBUG_ASSERT(fn == &Derived::Call::OnServerTrailingMetadata);
+ DCHECK(fn == &Derived::Call::OnServerTrailingMetadata);
return Map(std::move(x), [call_data](ServerMetadataHandle md) {
call_data->call.OnServerTrailingMetadata(*md);
return md;
@@ -373,7 +374,7 @@ auto MapResult(void (Derived::Call::*fn)(ServerMetadata&), Promise x,
template
auto MapResult(void (Derived::Call::*fn)(ServerMetadata&, Derived*), Promise x,
FilterCallData* call_data) {
- GPR_DEBUG_ASSERT(fn == &Derived::Call::OnServerTrailingMetadata);
+ DCHECK(fn == &Derived::Call::OnServerTrailingMetadata);
return Map(std::move(x), [call_data](ServerMetadataHandle md) {
call_data->call.OnServerTrailingMetadata(*md, call_data->channel);
return md;
@@ -486,7 +487,7 @@ template
auto RunCall(Interceptor interceptor, CallArgs call_args,
NextPromiseFactory next_promise_factory,
FilterCallData* call_data) {
- GPR_DEBUG_ASSERT(interceptor == &Derived::Call::OnClientInitialMetadata);
+ DCHECK(interceptor == &Derived::Call::OnClientInitialMetadata);
return RunCallImpl::Run(
std::move(call_args), std::move(next_promise_factory), call_data);
}
@@ -498,7 +499,7 @@ template
inline void InterceptClientToServerMessage(
ServerMetadataHandle (Derived::Call::*fn)(const Message&),
FilterCallData* call_data, const CallArgs& call_args) {
- GPR_DEBUG_ASSERT(fn == &Derived::Call::OnClientToServerMessage);
+ DCHECK(fn == &Derived::Call::OnClientToServerMessage);
call_args.client_to_server_messages->InterceptAndMap(
[call_data](MessageHandle msg) -> absl::optional {
auto return_md = call_data->call.OnClientToServerMessage(*msg);
@@ -513,7 +514,7 @@ template
inline void InterceptClientToServerMessage(
ServerMetadataHandle (Derived::Call::*fn)(const Message&, Derived*),
FilterCallData* call_data, const CallArgs& call_args) {
- GPR_DEBUG_ASSERT(fn == &Derived::Call::OnClientToServerMessage);
+ DCHECK(fn == &Derived::Call::OnClientToServerMessage);
call_args.client_to_server_messages->InterceptAndMap(
[call_data](MessageHandle msg) -> absl::optional {
auto return_md =
@@ -529,7 +530,7 @@ template
inline void InterceptClientToServerMessage(
MessageHandle (Derived::Call::*fn)(MessageHandle, Derived*),
FilterCallData* call_data, const CallArgs& call_args) {
- GPR_DEBUG_ASSERT(fn == &Derived::Call::OnClientToServerMessage);
+ DCHECK(fn == &Derived::Call::OnClientToServerMessage);
call_args.client_to_server_messages->InterceptAndMap(
[call_data](MessageHandle msg) -> absl::optional {
return call_data->call.OnClientToServerMessage(std::move(msg),
@@ -541,7 +542,7 @@ template
inline void InterceptClientToServerMessage(
absl::StatusOr (Derived::Call::*fn)(MessageHandle, Derived*),
FilterCallData* call_data, const CallArgs& call_args) {
- GPR_DEBUG_ASSERT(fn == &Derived::Call::OnClientToServerMessage);
+ DCHECK(fn == &Derived::Call::OnClientToServerMessage);
call_args.client_to_server_messages->InterceptAndMap(
[call_data](MessageHandle msg) -> absl::optional {
auto r = call_data->call.OnClientToServerMessage(std::move(msg),
@@ -560,7 +561,7 @@ template
inline void InterceptClientToServerMessage(
ServerMetadataHandle (Derived::Call::*fn)(const Message&),
typename Derived::Call* call, Derived*, PipeBasedCallSpine* call_spine) {
- GPR_DEBUG_ASSERT(fn == &Derived::Call::OnClientToServerMessage);
+ DCHECK(fn == &Derived::Call::OnClientToServerMessage);
call_spine->client_to_server_messages().receiver.InterceptAndMap(
[call, call_spine](MessageHandle msg) -> absl::optional {
auto return_md = call->OnClientToServerMessage(*msg);
@@ -575,7 +576,7 @@ inline void InterceptClientToServerMessage(
ServerMetadataHandle (Derived::Call::*fn)(const Message&, Derived*),
typename Derived::Call* call, Derived* channel,
PipeBasedCallSpine* call_spine) {
- GPR_DEBUG_ASSERT(fn == &Derived::Call::OnClientToServerMessage);
+ DCHECK(fn == &Derived::Call::OnClientToServerMessage);
call_spine->client_to_server_messages().receiver.InterceptAndMap(
[call, call_spine,
channel](MessageHandle msg) -> absl::optional {
@@ -591,7 +592,7 @@ inline void InterceptClientToServerMessage(
MessageHandle (Derived::Call::*fn)(MessageHandle, Derived*),
typename Derived::Call* call, Derived* channel,
PipeBasedCallSpine* call_spine) {
- GPR_DEBUG_ASSERT(fn == &Derived::Call::OnClientToServerMessage);
+ DCHECK(fn == &Derived::Call::OnClientToServerMessage);
call_spine->client_to_server_messages().receiver.InterceptAndMap(
[call, channel](MessageHandle msg) {
return call->OnClientToServerMessage(std::move(msg), channel);
@@ -603,7 +604,7 @@ inline void InterceptClientToServerMessage(
absl::StatusOr (Derived::Call::*fn)(MessageHandle, Derived*),
typename Derived::Call* call, Derived* channel,
PipeBasedCallSpine* call_spine) {
- GPR_DEBUG_ASSERT(fn == &Derived::Call::OnClientToServerMessage);
+ DCHECK(fn == &Derived::Call::OnClientToServerMessage);
call_spine->client_to_server_messages().receiver.InterceptAndMap(
[call, call_spine,
channel](MessageHandle msg) -> absl::optional {
@@ -622,7 +623,7 @@ template
inline void InterceptClientInitialMetadata(
void (Derived::Call::*fn)(ClientMetadata& md), typename Derived::Call* call,
Derived*, PipeBasedCallSpine* call_spine) {
- GPR_DEBUG_ASSERT(fn == &Derived::Call::OnClientInitialMetadata);
+ DCHECK(fn == &Derived::Call::OnClientInitialMetadata);
call_spine->client_initial_metadata().receiver.InterceptAndMap(
[call](ClientMetadataHandle md) {
call->OnClientInitialMetadata(*md);
@@ -635,7 +636,7 @@ inline void InterceptClientInitialMetadata(
void (Derived::Call::*fn)(ClientMetadata& md, Derived* channel),
typename Derived::Call* call, Derived* channel,
PipeBasedCallSpine* call_spine) {
- GPR_DEBUG_ASSERT(fn == &Derived::Call::OnClientInitialMetadata);
+ DCHECK(fn == &Derived::Call::OnClientInitialMetadata);
call_spine->client_initial_metadata().receiver.InterceptAndMap(
[call, channel](ClientMetadataHandle md) {
call->OnClientInitialMetadata(*md, channel);
@@ -647,7 +648,7 @@ template
inline void InterceptClientInitialMetadata(
ServerMetadataHandle (Derived::Call::*fn)(ClientMetadata& md),
typename Derived::Call* call, Derived*, PipeBasedCallSpine* call_spine) {
- GPR_DEBUG_ASSERT(fn == &Derived::Call::OnClientInitialMetadata);
+ DCHECK(fn == &Derived::Call::OnClientInitialMetadata);
call_spine->client_initial_metadata().receiver.InterceptAndMap(
[call_spine,
call](ClientMetadataHandle md) -> absl::optional {
@@ -664,7 +665,7 @@ inline void InterceptClientInitialMetadata(
Derived* channel),
typename Derived::Call* call, Derived* channel,
PipeBasedCallSpine* call_spine) {
- GPR_DEBUG_ASSERT(fn == &Derived::Call::OnClientInitialMetadata);
+ DCHECK(fn == &Derived::Call::OnClientInitialMetadata);
call_spine->client_initial_metadata().receiver.InterceptAndMap(
[call_spine, call, channel](
ClientMetadataHandle md) -> absl::optional {
@@ -679,7 +680,7 @@ template
inline void InterceptClientInitialMetadata(
absl::Status (Derived::Call::*fn)(ClientMetadata& md),
typename Derived::Call* call, Derived*, PipeBasedCallSpine* call_spine) {
- GPR_DEBUG_ASSERT(fn == &Derived::Call::OnClientInitialMetadata);
+ DCHECK(fn == &Derived::Call::OnClientInitialMetadata);
call_spine->client_initial_metadata().receiver.InterceptAndMap(
[call_spine,
call](ClientMetadataHandle md) -> absl::optional {
@@ -696,7 +697,7 @@ inline void InterceptClientInitialMetadata(
absl::Status (Derived::Call::*fn)(ClientMetadata& md, Derived* channel),
typename Derived::Call* call, Derived* channel,
PipeBasedCallSpine* call_spine) {
- GPR_DEBUG_ASSERT(fn == &Derived::Call::OnClientInitialMetadata);
+ DCHECK(fn == &Derived::Call::OnClientInitialMetadata);
call_spine->client_initial_metadata().receiver.InterceptAndMap(
[call_spine, call, channel](
ClientMetadataHandle md) -> absl::optional {
@@ -717,7 +718,7 @@ InterceptClientInitialMetadata(Promise (Derived::Call::*promise_factory)(
ClientMetadata& md, Derived* channel),
typename Derived::Call* call, Derived* channel,
PipeBasedCallSpine* call_spine) {
- GPR_DEBUG_ASSERT(promise_factory == &Derived::Call::OnClientInitialMetadata);
+ DCHECK(promise_factory == &Derived::Call::OnClientInitialMetadata);
call_spine->client_initial_metadata().receiver.InterceptAndMap(
[call, call_spine, channel](ClientMetadataHandle md) {
ClientMetadata& md_ref = *md;
@@ -741,7 +742,7 @@ template
inline void InterceptServerInitialMetadata(
void (Derived::Call::*fn)(ServerMetadata&),
FilterCallData* call_data, const CallArgs& call_args) {
- GPR_DEBUG_ASSERT(fn == &Derived::Call::OnServerInitialMetadata);
+ DCHECK(fn == &Derived::Call::OnServerInitialMetadata);
call_args.server_initial_metadata->InterceptAndMap(
[call_data](ServerMetadataHandle md) {
call_data->call.OnServerInitialMetadata(*md);
@@ -753,7 +754,7 @@ template
inline void InterceptServerInitialMetadata(
absl::Status (Derived::Call::*fn)(ServerMetadata&),
FilterCallData* call_data, const CallArgs& call_args) {
- GPR_DEBUG_ASSERT(fn == &Derived::Call::OnServerInitialMetadata);
+ DCHECK(fn == &Derived::Call::OnServerInitialMetadata);
call_args.server_initial_metadata->InterceptAndMap(
[call_data](
ServerMetadataHandle md) -> absl::optional {
@@ -770,7 +771,7 @@ template
inline void InterceptServerInitialMetadata(
void (Derived::Call::*fn)(ServerMetadata&, Derived*),
FilterCallData* call_data, const CallArgs& call_args) {
- GPR_DEBUG_ASSERT(fn == &Derived::Call::OnServerInitialMetadata);
+ DCHECK(fn == &Derived::Call::OnServerInitialMetadata);
call_args.server_initial_metadata->InterceptAndMap(
[call_data](ServerMetadataHandle md) {
call_data->call.OnServerInitialMetadata(*md, call_data->channel);
@@ -782,7 +783,7 @@ template
inline void InterceptServerInitialMetadata(
absl::Status (Derived::Call::*fn)(ServerMetadata&, Derived*),
FilterCallData* call_data, const CallArgs& call_args) {
- GPR_DEBUG_ASSERT(fn == &Derived::Call::OnServerInitialMetadata);
+ DCHECK(fn == &Derived::Call::OnServerInitialMetadata);
call_args.server_initial_metadata->InterceptAndMap(
[call_data](
ServerMetadataHandle md) -> absl::optional {
@@ -803,7 +804,7 @@ template
inline void InterceptServerInitialMetadata(
void (Derived::Call::*fn)(ServerMetadata&), typename Derived::Call* call,
Derived*, PipeBasedCallSpine* call_spine) {
- GPR_DEBUG_ASSERT(fn == &Derived::Call::OnServerInitialMetadata);
+ DCHECK(fn == &Derived::Call::OnServerInitialMetadata);
call_spine->server_initial_metadata().sender.InterceptAndMap(
[call](ServerMetadataHandle md) {
call->OnServerInitialMetadata(*md);
@@ -815,7 +816,7 @@ template
inline void InterceptServerInitialMetadata(
absl::Status (Derived::Call::*fn)(ServerMetadata&),
typename Derived::Call* call, Derived*, PipeBasedCallSpine* call_spine) {
- GPR_DEBUG_ASSERT(fn == &Derived::Call::OnServerInitialMetadata);
+ DCHECK(fn == &Derived::Call::OnServerInitialMetadata);
call_spine->server_initial_metadata().sender.InterceptAndMap(
[call, call_spine](
ServerMetadataHandle md) -> absl::optional {
@@ -832,7 +833,7 @@ inline void InterceptServerInitialMetadata(
void (Derived::Call::*fn)(ServerMetadata&, Derived*),
typename Derived::Call* call, Derived* channel,
PipeBasedCallSpine* call_spine) {
- GPR_DEBUG_ASSERT(fn == &Derived::Call::OnServerInitialMetadata);
+ DCHECK(fn == &Derived::Call::OnServerInitialMetadata);
call_spine->server_initial_metadata().sender.InterceptAndMap(
[call, channel](ServerMetadataHandle md) {
call->OnServerInitialMetadata(*md, channel);
@@ -845,7 +846,7 @@ inline void InterceptServerInitialMetadata(
absl::Status (Derived::Call::*fn)(ServerMetadata&, Derived*),
typename Derived::Call* call, Derived* channel,
PipeBasedCallSpine* call_spine) {
- GPR_DEBUG_ASSERT(fn == &Derived::Call::OnServerInitialMetadata);
+ DCHECK(fn == &Derived::Call::OnServerInitialMetadata);
call_spine->server_initial_metadata().sender.InterceptAndMap(
[call, call_spine, channel](
ServerMetadataHandle md) -> absl::optional {
@@ -864,7 +865,7 @@ template
inline void InterceptServerToClientMessage(
ServerMetadataHandle (Derived::Call::*fn)(const Message&),
FilterCallData* call_data, const CallArgs& call_args) {
- GPR_DEBUG_ASSERT(fn == &Derived::Call::OnServerToClientMessage);
+ DCHECK(fn == &Derived::Call::OnServerToClientMessage);
call_args.server_to_client_messages->InterceptAndMap(
[call_data](MessageHandle msg) -> absl::optional {
auto return_md = call_data->call.OnServerToClientMessage(*msg);
@@ -879,7 +880,7 @@ template
inline void InterceptServerToClientMessage(
ServerMetadataHandle (Derived::Call::*fn)(const Message&, Derived*),
FilterCallData* call_data, const CallArgs& call_args) {
- GPR_DEBUG_ASSERT(fn == &Derived::Call::OnServerToClientMessage);
+ DCHECK(fn == &Derived::Call::OnServerToClientMessage);
call_args.server_to_client_messages->InterceptAndMap(
[call_data](MessageHandle msg) -> absl::optional {
auto return_md =
@@ -895,7 +896,7 @@ template
inline void InterceptServerToClientMessage(
MessageHandle (Derived::Call::*fn)(MessageHandle, Derived*),
FilterCallData* call_data, const CallArgs& call_args) {
- GPR_DEBUG_ASSERT(fn == &Derived::Call::OnServerToClientMessage);
+ DCHECK(fn == &Derived::Call::OnServerToClientMessage);
call_args.server_to_client_messages->InterceptAndMap(
[call_data](MessageHandle msg) -> absl::optional {
return call_data->call.OnServerToClientMessage(std::move(msg),
@@ -907,7 +908,7 @@ template
inline void InterceptServerToClientMessage(
absl::StatusOr (Derived::Call::*fn)(MessageHandle, Derived*),
FilterCallData* call_data, const CallArgs& call_args) {
- GPR_DEBUG_ASSERT(fn == &Derived::Call::OnServerToClientMessage);
+ DCHECK(fn == &Derived::Call::OnServerToClientMessage);
call_args.server_to_client_messages->InterceptAndMap(
[call_data](MessageHandle msg) -> absl::optional {
auto r = call_data->call.OnServerToClientMessage(std::move(msg),
@@ -926,7 +927,7 @@ template
inline void InterceptServerToClientMessage(
ServerMetadataHandle (Derived::Call::*fn)(const Message&),
typename Derived::Call* call, Derived*, PipeBasedCallSpine* call_spine) {
- GPR_DEBUG_ASSERT(fn == &Derived::Call::OnServerToClientMessage);
+ DCHECK(fn == &Derived::Call::OnServerToClientMessage);
call_spine->server_to_client_messages().sender.InterceptAndMap(
[call, call_spine](MessageHandle msg) -> absl::optional {
auto return_md = call->OnServerToClientMessage(*msg);
@@ -941,7 +942,7 @@ inline void InterceptServerToClientMessage(
ServerMetadataHandle (Derived::Call::*fn)(const Message&, Derived*),
typename Derived::Call* call, Derived* channel,
PipeBasedCallSpine* call_spine) {
- GPR_DEBUG_ASSERT(fn == &Derived::Call::OnServerToClientMessage);
+ DCHECK(fn == &Derived::Call::OnServerToClientMessage);
call_spine->server_to_client_messages().sender.InterceptAndMap(
[call, call_spine,
channel](MessageHandle msg) -> absl::optional {
@@ -957,7 +958,7 @@ inline void InterceptServerToClientMessage(
MessageHandle (Derived::Call::*fn)(MessageHandle, Derived*),
typename Derived::Call* call, Derived* channel,
PipeBasedCallSpine* call_spine) {
- GPR_DEBUG_ASSERT(fn == &Derived::Call::OnServerToClientMessage);
+ DCHECK(fn == &Derived::Call::OnServerToClientMessage);
call_spine->server_to_client_messages().sender.InterceptAndMap(
[call, channel](MessageHandle msg) {
return call->OnServerToClientMessage(std::move(msg), channel);
@@ -969,7 +970,7 @@ inline void InterceptServerToClientMessage(
absl::StatusOr (Derived::Call::*fn)(MessageHandle, Derived*),
typename Derived::Call* call, Derived* channel,
PipeBasedCallSpine* call_spine) {
- GPR_DEBUG_ASSERT(fn == &Derived::Call::OnServerToClientMessage);
+ DCHECK(fn == &Derived::Call::OnServerToClientMessage);
call_spine->server_to_client_messages().sender.InterceptAndMap(
[call, call_spine,
channel](MessageHandle msg) -> absl::optional {
@@ -1012,7 +1013,7 @@ inline void InterceptFinalize(const NoInterceptor*, void*, void*) {}
template
inline void InterceptFinalize(void (Call::*fn)(const grpc_call_final_info*),
void*, Call* call) {
- GPR_DEBUG_ASSERT(fn == &Call::OnFinalize);
+ DCHECK(fn == &Call::OnFinalize);
GetContext()->Add(
[call](const grpc_call_final_info* final_info) {
call->OnFinalize(final_info);
@@ -1023,7 +1024,7 @@ template
inline void InterceptFinalize(
void (Derived::Call::*fn)(const grpc_call_final_info*, Derived*),
Derived* channel, typename Derived::Call* call) {
- GPR_DEBUG_ASSERT(fn == &Derived::Call::OnFinalize);
+ DCHECK(fn == &Derived::Call::OnFinalize);
GetContext()->Add(
[call, channel](const grpc_call_final_info* final_info) {
call->OnFinalize(final_info, channel);
@@ -1212,8 +1213,7 @@ class BaseCallData : public Activity, private Wakeable {
~BaseCallData() override;
void set_pollent(grpc_polling_entity* pollent) {
- GPR_ASSERT(nullptr ==
- pollent_.exchange(pollent, std::memory_order_release));
+ CHECK(nullptr == pollent_.exchange(pollent, std::memory_order_release));
}
// Activity implementation (partial).
@@ -1259,7 +1259,7 @@ class BaseCallData : public Activity, private Wakeable {
~Flusher();
void Resume(grpc_transport_stream_op_batch* batch) {
- GPR_ASSERT(!call_->is_last());
+ CHECK(!call_->is_last());
if (batch->HasOp()) {
release_.push_back(batch);
} else if (batch->on_complete != nullptr) {
@@ -1338,7 +1338,7 @@ class BaseCallData : public Activity, private Wakeable {
PipeSender* original_sender() override { abort(); }
void GotPipe(PipeReceiver* receiver) override {
- GPR_ASSERT(receiver_ == nullptr);
+ CHECK_EQ(receiver_, nullptr);
receiver_ = receiver;
}
@@ -1346,7 +1346,7 @@ class BaseCallData : public Activity, private Wakeable {
PipeSender* Push() override { return &pipe_.sender; }
PipeReceiver* Pull() override {
- GPR_ASSERT(receiver_ != nullptr);
+ CHECK_NE(receiver_, nullptr);
return receiver_;
}
@@ -1367,12 +1367,12 @@ class BaseCallData : public Activity, private Wakeable {
void GotPipe(PipeReceiver*) override { abort(); }
void GotPipe(PipeSender* sender) override {
- GPR_ASSERT(sender_ == nullptr);
+ CHECK_EQ(sender_, nullptr);
sender_ = sender;
}
PipeSender* Push() override {
- GPR_ASSERT(sender_ != nullptr);
+ CHECK_NE(sender_, nullptr);
return sender_;
}
PipeReceiver* Pull() override { return &pipe_.receiver; }
@@ -1890,7 +1890,7 @@ struct CallDataFilterWithFlagsMethods {
if ((kFlags & kFilterIsLast) != 0) {
ExecCtx::Run(DEBUG_LOCATION, then_schedule_closure, absl::OkStatus());
} else {
- GPR_ASSERT(then_schedule_closure == nullptr);
+ CHECK_EQ(then_schedule_closure, nullptr);
}
}
};
@@ -1927,7 +1927,7 @@ template
struct ChannelFilterWithFlagsMethods {
static absl::Status InitChannelElem(grpc_channel_element* elem,
grpc_channel_element_args* args) {
- GPR_ASSERT(args->is_last == ((kFlags & kFilterIsLast) != 0));
+ CHECK(args->is_last == ((kFlags & kFilterIsLast) != 0));
auto status = F::Create(args->channel_args,
ChannelFilter::Args(args->channel_stack, elem));
if (!status.ok()) {
diff --git a/src/core/lib/compression/compression_internal.cc b/src/core/lib/compression/compression_internal.cc
index e1b13a2f1ff..6a2883f4883 100644
--- a/src/core/lib/compression/compression_internal.cc
+++ b/src/core/lib/compression/compression_internal.cc
@@ -23,6 +23,7 @@
#include
#include "absl/container/inlined_vector.h"
+#include "absl/log/check.h"
#include "absl/strings/ascii.h"
#include "absl/strings/str_format.h"
#include "absl/strings/str_split.h"
@@ -120,7 +121,7 @@ CompressionAlgorithmSet::CompressionAlgorithmForLevel(
return GRPC_COMPRESS_NONE;
}
- GPR_ASSERT(level > 0);
+ CHECK_GT(level, 0);
// Establish a "ranking" or compression algorithms in increasing order of
// compression.
diff --git a/src/core/lib/compression/message_compress.cc b/src/core/lib/compression/message_compress.cc
index 59b5d9eee6d..131f89eb64f 100644
--- a/src/core/lib/compression/message_compress.cc
+++ b/src/core/lib/compression/message_compress.cc
@@ -23,6 +23,8 @@
#include
#include
+#include "absl/log/check.h"
+
#include
#include
#include
@@ -41,20 +43,20 @@ static int zlib_body(z_stream* zs, grpc_slice_buffer* input,
grpc_slice outbuf = GRPC_SLICE_MALLOC(OUTPUT_BLOCK_SIZE);
const uInt uint_max = ~uInt{0};
- GPR_ASSERT(GRPC_SLICE_LENGTH(outbuf) <= uint_max);
+ CHECK(GRPC_SLICE_LENGTH(outbuf) <= uint_max);
zs->avail_out = static_cast GRPC_SLICE_LENGTH(outbuf);
zs->next_out = GRPC_SLICE_START_PTR(outbuf);
flush = Z_NO_FLUSH;
for (i = 0; i < input->count; i++) {
if (i == input->count - 1) flush = Z_FINISH;
- GPR_ASSERT(GRPC_SLICE_LENGTH(input->slices[i]) <= uint_max);
+ CHECK(GRPC_SLICE_LENGTH(input->slices[i]) <= uint_max);
zs->avail_in = static_cast GRPC_SLICE_LENGTH(input->slices[i]);
zs->next_in = GRPC_SLICE_START_PTR(input->slices[i]);
do {
if (zs->avail_out == 0) {
grpc_slice_buffer_add_indexed(output, outbuf);
outbuf = GRPC_SLICE_MALLOC(OUTPUT_BLOCK_SIZE);
- GPR_ASSERT(GRPC_SLICE_LENGTH(outbuf) <= uint_max);
+ CHECK(GRPC_SLICE_LENGTH(outbuf) <= uint_max);
zs->avail_out = static_cast GRPC_SLICE_LENGTH(outbuf);
zs->next_out = GRPC_SLICE_START_PTR(outbuf);
}
@@ -74,7 +76,7 @@ static int zlib_body(z_stream* zs, grpc_slice_buffer* input,
goto error;
}
- GPR_ASSERT(outbuf.refcount);
+ CHECK(outbuf.refcount);
outbuf.data.refcounted.length -= zs->avail_out;
grpc_slice_buffer_add_indexed(output, outbuf);
@@ -104,7 +106,7 @@ static int zlib_compress(grpc_slice_buffer* input, grpc_slice_buffer* output,
zs.zfree = zfree_gpr;
r = deflateInit2(&zs, Z_DEFAULT_COMPRESSION, Z_DEFLATED, 15 | (gzip ? 16 : 0),
8, Z_DEFAULT_STRATEGY);
- GPR_ASSERT(r == Z_OK);
+ CHECK(r == Z_OK);
r = zlib_body(&zs, input, output, deflate) && output->length < input->length;
if (!r) {
for (i = count_before; i < output->count; i++) {
@@ -128,7 +130,7 @@ static int zlib_decompress(grpc_slice_buffer* input, grpc_slice_buffer* output,
zs.zalloc = zalloc_gpr;
zs.zfree = zfree_gpr;
r = inflateInit2(&zs, 15 | (gzip ? 16 : 0));
- GPR_ASSERT(r == Z_OK);
+ CHECK(r == Z_OK);
r = zlib_body(&zs, input, output, inflate);
if (!r) {
for (i = count_before; i < output->count; i++) {
diff --git a/src/core/lib/config/core_configuration.cc b/src/core/lib/config/core_configuration.cc
index 84ca3d0da25..7baa803bb47 100644
--- a/src/core/lib/config/core_configuration.cc
+++ b/src/core/lib/config/core_configuration.cc
@@ -18,6 +18,8 @@
#include
#include
+#include "absl/log/check.h"
+
#include
#include
@@ -49,18 +51,18 @@ CoreConfiguration::CoreConfiguration(Builder* builder)
void CoreConfiguration::RegisterBuilder(
absl::AnyInvocable builder) {
- GPR_ASSERT(config_.load(std::memory_order_relaxed) == nullptr &&
- "CoreConfiguration was already instantiated before builder "
- "registration was completed");
+ CHECK(config_.load(std::memory_order_relaxed) == nullptr)
+ << "CoreConfiguration was already instantiated before builder "
+ "registration was completed";
RegisteredBuilder* n = new RegisteredBuilder();
n->builder = std::move(builder);
n->next = builders_.load(std::memory_order_relaxed);
while (!builders_.compare_exchange_weak(n->next, n, std::memory_order_acq_rel,
std::memory_order_relaxed)) {
}
- GPR_ASSERT(config_.load(std::memory_order_relaxed) == nullptr &&
- "CoreConfiguration was already instantiated before builder "
- "registration was completed");
+ CHECK(config_.load(std::memory_order_relaxed) == nullptr)
+ << "CoreConfiguration was already instantiated before builder "
+ "registration was completed";
}
const CoreConfiguration& CoreConfiguration::BuildNewAndMaybeSet() {
diff --git a/src/core/lib/config/core_configuration.h b/src/core/lib/config/core_configuration.h
index 4549c87c01c..0d8b268cdda 100644
--- a/src/core/lib/config/core_configuration.h
+++ b/src/core/lib/config/core_configuration.h
@@ -18,6 +18,7 @@
#include
#include "absl/functional/any_invocable.h"
+#include "absl/log/check.h"
#include
#include
@@ -129,10 +130,10 @@ class GRPC_DLL CoreConfiguration {
~WithSubstituteBuilder() {
// Reset and restore.
Reset();
- GPR_ASSERT(CoreConfiguration::config_.exchange(
- config_restore_, std::memory_order_acquire) == nullptr);
- GPR_ASSERT(CoreConfiguration::builders_.exchange(
- builders_restore_, std::memory_order_acquire) == nullptr);
+ CHECK(CoreConfiguration::config_.exchange(
+ config_restore_, std::memory_order_acquire) == nullptr);
+ CHECK(CoreConfiguration::builders_.exchange(
+ builders_restore_, std::memory_order_acquire) == nullptr);
}
private:
diff --git a/src/core/lib/config/load_config.cc b/src/core/lib/config/load_config.cc
index b865beda8f4..a961a24a81d 100644
--- a/src/core/lib/config/load_config.cc
+++ b/src/core/lib/config/load_config.cc
@@ -17,6 +17,7 @@
#include
#include "absl/flags/marshalling.h"
+#include "absl/log/check.h"
#include "absl/strings/numbers.h"
#include "absl/strings/str_join.h"
#include "absl/types/optional.h"
@@ -36,7 +37,7 @@ absl::optional LoadEnv(absl::string_view environment_variable) {
std::string LoadConfigFromEnv(absl::string_view environment_variable,
const char* default_value) {
- GPR_ASSERT_INTERNAL(!environment_variable.empty());
+ CHECK(!environment_variable.empty());
return LoadEnv(environment_variable).value_or(default_value);
}
diff --git a/src/core/lib/debug/event_log.cc b/src/core/lib/debug/event_log.cc
index 1c95bafb2d4..76edac8584b 100644
--- a/src/core/lib/debug/event_log.cc
+++ b/src/core/lib/debug/event_log.cc
@@ -17,6 +17,7 @@
#include
#include
+#include "absl/log/check.h"
#include "absl/strings/str_cat.h"
#include "absl/strings/str_join.h"
@@ -28,7 +29,7 @@ namespace grpc_core {
std::atomic EventLog::g_instance_{nullptr};
EventLog::~EventLog() {
- GPR_ASSERT(g_instance_.load(std::memory_order_acquire) != this);
+ CHECK(g_instance_.load(std::memory_order_acquire) != this);
}
void EventLog::BeginCollection() {
diff --git a/src/core/lib/experiments/config.cc b/src/core/lib/experiments/config.cc
index 15537dbb198..ca0ab151429 100644
--- a/src/core/lib/experiments/config.cc
+++ b/src/core/lib/experiments/config.cc
@@ -23,6 +23,7 @@
#include
#include "absl/functional/any_invocable.h"
+#include "absl/log/check.h"
#include "absl/strings/str_join.h"
#include "absl/strings/str_split.h"
#include "absl/strings/string_view.h"
@@ -146,7 +147,7 @@ GPR_ATTRIBUTE_NOINLINE Experiments LoadExperimentsFromConfigVariableInner() {
j++) {
// Require that we can check dependent requirements with a linear sweep
// (implies the experiments generator must DAG sort the experiments)
- GPR_ASSERT(g_experiment_metadata[i].required_experiments[j] < i);
+ CHECK(g_experiment_metadata[i].required_experiments[j] < i);
if (!experiments
.enabled[g_experiment_metadata[i].required_experiments[j]]) {
experiments.enabled[i] = false;
@@ -244,11 +245,11 @@ void PrintExperimentsList() {
}
void ForceEnableExperiment(absl::string_view experiment, bool enable) {
- GPR_ASSERT(Loaded()->load(std::memory_order_relaxed) == false);
+ CHECK(Loaded()->load(std::memory_order_relaxed) == false);
for (size_t i = 0; i < kNumExperiments; i++) {
if (g_experiment_metadata[i].name != experiment) continue;
if (ForcedExperiments()[i].forced) {
- GPR_ASSERT(ForcedExperiments()[i].value == enable);
+ CHECK(ForcedExperiments()[i].value == enable);
} else {
ForcedExperiments()[i].forced = true;
ForcedExperiments()[i].value = enable;
diff --git a/src/core/lib/experiments/experiments.yaml b/src/core/lib/experiments/experiments.yaml
index 9be9619ff3c..0712c8afd85 100644
--- a/src/core/lib/experiments/experiments.yaml
+++ b/src/core/lib/experiments/experiments.yaml
@@ -177,7 +177,7 @@
(ie when all filters in a stack are promise based)
expiry: 2024/06/14
owner: ctiller@google.com
- test_tags: ["core_end2end_test", "cpp_end2end_test", "xds_end2end_test", "logging_test"]
+ test_tags: ["core_end2end_test", "logging_test"]
- name: rstpit
description:
On RST_STREAM on a server, reduce MAX_CONCURRENT_STREAMS for a short duration
diff --git a/src/core/lib/http/httpcli.cc b/src/core/lib/http/httpcli.cc
index 68722e78f78..ee2a5ad528d 100644
--- a/src/core/lib/http/httpcli.cc
+++ b/src/core/lib/http/httpcli.cc
@@ -24,6 +24,7 @@
#include
#include "absl/functional/bind_front.h"
+#include "absl/log/check.h"
#include "absl/status/status.h"
#include "absl/strings/str_format.h"
@@ -183,7 +184,7 @@ HttpRequest::HttpRequest(
GRPC_CLOSURE_INIT(&continue_done_write_after_schedule_on_exec_ctx_,
ContinueDoneWriteAfterScheduleOnExecCtx, this,
grpc_schedule_on_exec_ctx);
- GPR_ASSERT(pollent);
+ CHECK(pollent);
grpc_polling_entity_add_to_pollset_set(pollent, pollset_set_);
}
@@ -216,7 +217,7 @@ void HttpRequest::Start() {
void HttpRequest::Orphan() {
{
MutexLock lock(&mu_);
- GPR_ASSERT(!cancelled_);
+ CHECK(!cancelled_);
cancelled_ = true;
// cancel potentially pending DNS resolution.
if (dns_request_handle_.has_value() &&
diff --git a/src/core/lib/http/parser.cc b/src/core/lib/http/parser.cc
index 4702fa72917..aad7963f1d7 100644
--- a/src/core/lib/http/parser.cc
+++ b/src/core/lib/http/parser.cc
@@ -22,6 +22,7 @@
#include
+#include "absl/log/check.h"
#include "absl/status/status.h"
#include
@@ -177,7 +178,7 @@ static grpc_error_handle add_header(grpc_http_parser* parser) {
grpc_http_header hdr = {nullptr, nullptr};
grpc_error_handle error;
- GPR_ASSERT(cur != end);
+ CHECK(cur != end);
if (*cur == ' ' || *cur == '\t') {
error = GRPC_ERROR_CREATE("Continued header lines not supported yet");
@@ -191,14 +192,14 @@ static grpc_error_handle add_header(grpc_http_parser* parser) {
error = GRPC_ERROR_CREATE("Didn't find ':' in header string");
goto done;
}
- GPR_ASSERT(cur >= beg);
+ CHECK(cur >= beg);
hdr.key = buf2str(beg, static_cast(cur - beg));
cur++; // skip :
while (cur != end && (*cur == ' ' || *cur == '\t')) {
cur++;
}
- GPR_ASSERT((size_t)(end - cur) >= parser->cur_line_end_length);
+ CHECK((size_t)(end - cur) >= parser->cur_line_end_length);
size = static_cast(end - cur) - parser->cur_line_end_length;
if ((size != 0) && (cur[size - 1] == '\r')) {
size--;
diff --git a/src/core/lib/json/json_reader.cc b/src/core/lib/json/json_reader.cc
index 8944c4219cb..ae249b3824c 100644
--- a/src/core/lib/json/json_reader.cc
+++ b/src/core/lib/json/json_reader.cc
@@ -24,6 +24,7 @@
#include
#include "absl/base/attributes.h"
+#include "absl/log/check.h"
#include "absl/status/status.h"
#include "absl/status/statusor.h"
#include "absl/strings/str_cat.h"
@@ -279,14 +280,14 @@ bool JsonReader::StartContainer(Json::Type type) {
if (type == Json::Type::kObject) {
scope.data = Json::Object();
} else {
- GPR_ASSERT(type == Json::Type::kArray);
+ CHECK(type == Json::Type::kArray);
scope.data = Json::Array();
}
return true;
}
void JsonReader::EndContainer() {
- GPR_ASSERT(!stack_.empty());
+ CHECK(!stack_.empty());
Scope scope = std::move(stack_.back());
stack_.pop_back();
key_ = std::move(scope.parent_object_key);
diff --git a/src/core/lib/resource_quota/connection_quota.cc b/src/core/lib/resource_quota/connection_quota.cc
index 74c8514d159..ab07f5e21b3 100644
--- a/src/core/lib/resource_quota/connection_quota.cc
+++ b/src/core/lib/resource_quota/connection_quota.cc
@@ -17,6 +17,8 @@
#include
#include
+#include "absl/log/check.h"
+
#include
#include
@@ -26,10 +28,9 @@ ConnectionQuota::ConnectionQuota() = default;
void ConnectionQuota::SetMaxIncomingConnections(int max_incoming_connections) {
// The maximum can only be configured once.
- GPR_ASSERT(max_incoming_connections < INT_MAX);
- GPR_ASSERT(max_incoming_connections_.exchange(max_incoming_connections,
- std::memory_order_release) ==
- INT_MAX);
+ CHECK_LT(max_incoming_connections, INT_MAX);
+ CHECK(max_incoming_connections_.exchange(
+ max_incoming_connections, std::memory_order_release) == INT_MAX);
}
// Returns true if the incoming connection is allowed to be accepted on the
@@ -62,9 +63,8 @@ void ConnectionQuota::ReleaseConnections(int num_connections) {
if (max_incoming_connections_.load(std::memory_order_relaxed) == INT_MAX) {
return;
}
- GPR_ASSERT(active_incoming_connections_.fetch_sub(
- num_connections, std::memory_order_acq_rel) >=
- num_connections);
+ CHECK(active_incoming_connections_.fetch_sub(
+ num_connections, std::memory_order_acq_rel) >= num_connections);
}
} // namespace grpc_core
diff --git a/src/core/lib/resource_quota/memory_quota.cc b/src/core/lib/resource_quota/memory_quota.cc
index 929df9068a5..d6240f4e1d9 100644
--- a/src/core/lib/resource_quota/memory_quota.cc
+++ b/src/core/lib/resource_quota/memory_quota.cc
@@ -25,6 +25,7 @@
#include
#include
+#include "absl/log/check.h"
#include "absl/status/status.h"
#include "absl/strings/str_cat.h"
@@ -252,9 +253,9 @@ GrpcMemoryAllocatorImpl::GrpcMemoryAllocatorImpl(
}
GrpcMemoryAllocatorImpl::~GrpcMemoryAllocatorImpl() {
- GPR_ASSERT(free_bytes_.load(std::memory_order_acquire) +
- sizeof(GrpcMemoryAllocatorImpl) ==
- taken_bytes_.load(std::memory_order_relaxed));
+ CHECK(free_bytes_.load(std::memory_order_acquire) +
+ sizeof(GrpcMemoryAllocatorImpl) ==
+ taken_bytes_.load(std::memory_order_relaxed));
memory_quota_->Return(taken_bytes_.load(std::memory_order_relaxed));
}
@@ -265,7 +266,7 @@ void GrpcMemoryAllocatorImpl::Shutdown() {
reclamation_handles[kNumReclamationPasses];
{
MutexLock lock(&reclaimer_mu_);
- GPR_ASSERT(!shutdown_);
+ CHECK(!shutdown_);
shutdown_ = true;
memory_quota = memory_quota_;
for (size_t i = 0; i < kNumReclamationPasses; i++) {
@@ -277,8 +278,8 @@ void GrpcMemoryAllocatorImpl::Shutdown() {
size_t GrpcMemoryAllocatorImpl::Reserve(MemoryRequest request) {
// Validate request - performed here so we don't bloat the generated code with
// inlined asserts.
- GPR_ASSERT(request.min() <= request.max());
- GPR_ASSERT(request.max() <= MemoryRequest::max_allowed_size());
+ CHECK(request.min() <= request.max());
+ CHECK(request.max() <= MemoryRequest::max_allowed_size());
size_t old_free = free_bytes_.load(std::memory_order_relaxed);
while (true) {
@@ -357,7 +358,7 @@ void GrpcMemoryAllocatorImpl::MaybeDonateBack() {
if (GRPC_TRACE_FLAG_ENABLED(grpc_resource_quota_trace)) {
gpr_log(GPR_INFO, "[%p] Early return %" PRIdPTR " bytes", this, ret);
}
- GPR_ASSERT(taken_bytes_.fetch_sub(ret, std::memory_order_relaxed) >= ret);
+ CHECK(taken_bytes_.fetch_sub(ret, std::memory_order_relaxed) >= ret);
memory_quota_->Return(ret);
return;
}
@@ -478,7 +479,7 @@ void BasicMemoryQuota::Start() {
reclaimer_activity_ =
MakeActivity(std::move(reclamation_loop), ExecCtxWakeupScheduler(),
[](absl::Status status) {
- GPR_ASSERT(status.code() == absl::StatusCode::kCancelled);
+ CHECK(status.code() == absl::StatusCode::kCancelled);
});
}
@@ -498,7 +499,7 @@ void BasicMemoryQuota::SetSize(size_t new_size) {
void BasicMemoryQuota::Take(GrpcMemoryAllocatorImpl* allocator, size_t amount) {
// If there's a request for nothing, then do nothing!
if (amount == 0) return;
- GPR_DEBUG_ASSERT(amount <= std::numeric_limits::max());
+ DCHECK(amount <= std::numeric_limits::max());
// Grab memory from the quota.
auto prior = free_bytes_.fetch_sub(amount, std::memory_order_acq_rel);
// If we push into overcommit, awake the reclaimer.
diff --git a/src/core/lib/resource_quota/memory_quota.h b/src/core/lib/resource_quota/memory_quota.h
index fc8d966382c..1ccc6b246de 100644
--- a/src/core/lib/resource_quota/memory_quota.h
+++ b/src/core/lib/resource_quota/memory_quota.h
@@ -28,6 +28,7 @@
#include "absl/base/thread_annotations.h"
#include "absl/container/flat_hash_set.h"
+#include "absl/log/check.h"
#include "absl/strings/string_view.h"
#include "absl/types/optional.h"
@@ -137,7 +138,7 @@ class ReclaimerQueue {
explicit Handle(F reclaimer, std::shared_ptr state)
: sweep_(new SweepFn(std::move(reclaimer), std::move(state))) {}
~Handle() override {
- GPR_DEBUG_ASSERT(sweep_.load(std::memory_order_relaxed) == nullptr);
+ DCHECK_EQ(sweep_.load(std::memory_order_relaxed), nullptr);
}
Handle(const Handle&) = delete;
@@ -438,7 +439,7 @@ class GrpcMemoryAllocatorImpl final : public EventEngineMemoryAllocatorImpl {
template
void PostReclaimer(ReclamationPass pass, F fn) {
MutexLock lock(&reclaimer_mu_);
- GPR_ASSERT(!shutdown_);
+ CHECK(!shutdown_);
InsertReclaimer(static_cast(pass), std::move(fn));
}
diff --git a/src/core/lib/resource_quota/thread_quota.cc b/src/core/lib/resource_quota/thread_quota.cc
index eb30d336341..b2aba40210f 100644
--- a/src/core/lib/resource_quota/thread_quota.cc
+++ b/src/core/lib/resource_quota/thread_quota.cc
@@ -14,6 +14,8 @@
#include "src/core/lib/resource_quota/thread_quota.h"
+#include "absl/log/check.h"
+
#include
#include