Remove unused Condition class.

GitOrigin-RevId: d82bd14425f46cd8b3ddde8ca50db15ed07ff9c9
This commit is contained in:
levlam 2020-01-07 03:39:44 +03:00
parent f7caca6023
commit 992e1144ca
2 changed files with 0 additions and 51 deletions

View File

@ -19,7 +19,6 @@ set(TDACTOR_SOURCE
td/actor/impl/Event.h
td/actor/impl/Scheduler-decl.h
td/actor/impl/Scheduler.h
td/actor/Condition.h
td/actor/MultiPromise.h
td/actor/PromiseFuture.h
td/actor/SchedulerLocalStorage.h

View File

@ -1,50 +0,0 @@
//
// Copyright Aliaksei Levin (levlam@telegram.org), Arseny Smirnov (arseny30@gmail.com) 2014-2020
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
//
#pragma once
#include "td/actor/actor.h"
#include "td/actor/PromiseFuture.h"
#include "td/utils/common.h"
namespace td {
class Condition {
class Helper : public Actor {
public:
void wait(Promise<> promise) {
pending_promises_.push_back(std::move(promise));
}
private:
std::vector<Promise<>> pending_promises_;
void tear_down() override {
for (auto &promise : pending_promises_) {
promise.set_value(Unit());
}
}
};
public:
Condition() {
own_actor_ = create_actor<Helper>("helper");
actor_ = own_actor_.get();
}
void wait(Promise<> promise) {
send_closure(actor_, &Helper::wait, std::move(promise));
}
void set_true() {
CHECK(!own_actor_.empty());
own_actor_.reset();
}
private:
ActorId<Helper> actor_;
ActorOwn<Helper> own_actor_;
};
} // namespace td