this ensures that seastar helper functions are able to accept
interruptible_future<> in place of vanilla seastar::future<>.
for instance, if concepts is enabled, seastar::when_all_succeed()
has a set of constraits which include:
is_future<std::remove_reference_t<decltype(*i)>>::value
where i is the iterator passed to this function. so, to ensure
seastar::when_all_succeed() works with interruptible_future,
we need to teach the is_future<> to accept interruptible_future
as well.
Signed-off-by: Kefu Chai <tchaikov@gmail.com>
using type = typename seastar::continuation_base_from_future<FutureType>::type;
};
+template <typename InterruptCond, typename FutureType>
+struct is_future<
+ ::crimson::interruptible::interruptible_future_detail<
+ InterruptCond,
+ FutureType>>
+ : std::true_type {};
} // namespace seastar