From c1a8ad1213852183e9265209dee4049053cdcf4f Mon Sep 17 00:00:00 2001 From: Kefu Chai Date: Sun, 28 Feb 2021 13:19:56 +0800 Subject: [PATCH] crimson/osd: reduce the indent instead of using a lambda, use a future variable for reducing the indent level. Signed-off-by: Kefu Chai --- src/crimson/osd/osd_operations/peering_event.cc | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/src/crimson/osd/osd_operations/peering_event.cc b/src/crimson/osd/osd_operations/peering_event.cc index d3c6ccf817f..2372adb328e 100644 --- a/src/crimson/osd/osd_operations/peering_event.cc +++ b/src/crimson/osd/osd_operations/peering_event.cc @@ -53,14 +53,12 @@ seastar::future<> PeeringEvent::start() logger().debug("{}: start", *this); IRef ref = this; - return [this] { - if (delay) { - return seastar::sleep(std::chrono::milliseconds( - std::lround(delay*1000))); - } else { - return seastar::now(); - } - }().then([this] { + auto maybe_delay = seastar::now(); + if (delay) { + maybe_delay = seastar::sleep( + std::chrono::milliseconds(std::lround(delay * 1000))); + } + return maybe_delay.then([this] { return get_pg(); }).then([this](Ref pg) { if (!pg) {