From df17e57e91cc9a951ef413385429d8d04659111d Mon Sep 17 00:00:00 2001 From: Craig Tiller Date: Fri, 23 Feb 2024 23:12:54 +0000 Subject: [PATCH] x --- src/core/ext/filters/channel_idle/channel_idle_filter.cc | 1 + src/core/lib/channel/promise_based_filter.h | 8 +++++--- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/src/core/ext/filters/channel_idle/channel_idle_filter.cc b/src/core/ext/filters/channel_idle/channel_idle_filter.cc index 8e5fead77a2..880d10ab01c 100644 --- a/src/core/ext/filters/channel_idle/channel_idle_filter.cc +++ b/src/core/ext/filters/channel_idle/channel_idle_filter.cc @@ -294,6 +294,7 @@ const grpc_channel_filter MaxAgeFilter::kFilter = MakePromiseBasedFilter("max_age"); void RegisterChannelIdleFilters(CoreConfiguration::Builder* builder) { + GPR_ASSERT(MaxAgeFilter::kFilter.init_call != nullptr); if (!IsV3ChannelIdleFiltersEnabled()) return; builder->channel_init() ->RegisterFilter(GRPC_CLIENT_CHANNEL) diff --git a/src/core/lib/channel/promise_based_filter.h b/src/core/lib/channel/promise_based_filter.h index bb642bc7f21..971e98895b1 100644 --- a/src/core/lib/channel/promise_based_filter.h +++ b/src/core/lib/channel/promise_based_filter.h @@ -1065,8 +1065,10 @@ MakeFilterCall(Derived* derived) { // the filter does not intercept call finalization. // - void OnFinalize(const grpc_call_final_info*): // the filter intercepts call finalization. +class ImplementChannelFilterTag {}; template -class ImplementChannelFilter : public ChannelFilter { +class ImplementChannelFilter : public ChannelFilter, + public ImplementChannelFilterTag { public: // Natively construct a v3 call. void InitCall(CallSpineInterface* call_spine) { @@ -1914,7 +1916,7 @@ struct ChannelFilterWithFlagsMethods { template absl::enable_if_t< std::is_base_of::value && - !std::is_base_of, F>::value && + !std::is_base_of::value && !std::is_base_of::value, grpc_channel_filter> MakePromiseBasedFilter(const char* name) { @@ -2001,7 +2003,7 @@ MakePromiseBasedFilter(const char* name) { } template -absl::enable_if_t, F>::value, +absl::enable_if_t::value, grpc_channel_filter> MakePromiseBasedFilter(const char* name) { using CallData = promise_filter_detail::CallData;