Reapply "[channel] Integrate channel init infrastructure with new call filter infrastructure" (#35822)

Closes #35822

COPYBARA_INTEGRATE_REVIEW=https://github.com/grpc/grpc/pull/35822 from ctiller:fix3+1-for-reals cb3db8112e
PiperOrigin-RevId: 604758491
pull/35833/head
Craig Tiller 10 months ago committed by Copybara-Service
parent 242e9185a3
commit 0f39ba2125
  1. 7
      src/core/lib/transport/call_filters.h

@ -491,8 +491,8 @@ struct AddOpImpl<FilterType, T,
// absl::Status $INTERCEPTOR_NAME(const $VALUE_TYPE&, FilterType*)
template <typename FilterType, typename T,
absl::Status (FilterType::Call::*impl)(typename T::element_type&,
FilterType*)>
absl::Status (FilterType::Call::*impl)(
const typename T::element_type&, FilterType*)>
struct AddOpImpl<FilterType, T,
absl::Status (FilterType::Call::*)(
const typename T::element_type&, FilterType*),
@ -722,7 +722,8 @@ template <typename FilterType, typename T, typename R,
struct AddOpImpl<
FilterType, T,
R (FilterType::Call::*)(typename T::element_type&, FilterType*), impl,
absl::enable_if_t<std::is_same<absl::Status, PromiseResult<R>>::value>> {
absl::enable_if_t<!std::is_same<R, absl::Status>::value &&
std::is_same<absl::Status, PromiseResult<R>>::value>> {
static void Add(FilterType* channel_data, size_t call_offset,
Layout<FallibleOperator<T>>& to) {
class Promise {

Loading…
Cancel
Save