From: Samuel Just Date: Fri, 11 Jun 2021 00:03:37 +0000 (-0700) Subject: crimson/common/interruptible_future: add safe_then_interruptible for multiple error... X-Git-Tag: v17.1.0~1567^2~11 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=3958ccc83af7c27b30d0f309579409a770af79b7;p=ceph.git crimson/common/interruptible_future: add safe_then_interruptible for multiple error handlers Signed-off-by: Samuel Just --- diff --git a/src/crimson/common/interruptible_future.h b/src/crimson/common/interruptible_future.h index 643098624cc..28a7667a7f1 100644 --- a/src/crimson/common/interruptible_future.h +++ b/src/crimson/common/interruptible_future.h @@ -707,6 +707,19 @@ public: return (interrupt_futurize_t)(std::move(fut)); } + template + [[gnu::always_inline]] + auto safe_then_interruptible(ValueInterruptCondT&& valfunc, + ErrorVisitorHeadT&& err_func_head, + ErrorVisitorTailT&&... err_func_tail) { + return safe_then_interruptible( + std::forward(valfunc), + ::crimson::composer(std::forward(err_func_head), + std::forward(err_func_tail)...)); + } + template