]> git.apps.os.sepia.ceph.com Git - ceph.git/commit
crimson/common: specialize seastar::is_future<> for interruptible_future<>
authorKefu Chai <tchaikov@gmail.com>
Fri, 4 Mar 2022 17:36:36 +0000 (01:36 +0800)
committerKefu Chai <tchaikov@gmail.com>
Fri, 4 Mar 2022 17:42:16 +0000 (01:42 +0800)
commitd97ea8e55d84dfe27cb5d9027c1683a920dae2b4
treeecc4c3fecfc5bc61b05e27752271378fba6d15fc
parentc1a4d9ce496f0fad7e1b7428d40a8137ff58239a
crimson/common: specialize seastar::is_future<> for interruptible_future<>

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>
src/crimson/common/interruptible_future.h