Signed-off-by: Samuel Just <sjust@redhat.com>
InternalClientRequest::with_interruption()
{
LOG_PREFIX(InternalClientRequest::with_interruption);
- co_await enter_stage<interruptor>(
- client_pp().wait_for_active
- );
-
- co_await with_blocking_event<PGActivationBlocker::BlockingEvent,
- interruptor>([this] (auto&& trigger) {
- return pg->wait_for_active_blocker.wait(std::move(trigger));
- });
+ assert(pg->is_active());
co_await enter_stage<interruptor>(client_pp().recover_missing);
// Utility
+ bool is_active() const {
+ return peering_state.is_active();
+ }
bool is_active_clean() const {
return peering_state.is_active() && peering_state.is_clean();
}