diff options
author | Anton Samokhvalov <pg83@yandex.ru> | 2022-02-10 16:45:17 +0300 |
---|---|---|
committer | Daniil Cherednik <dcherednik@yandex-team.ru> | 2022-02-10 16:45:17 +0300 |
commit | d3a398281c6fd1d3672036cb2d63f842d2cb28c5 (patch) | |
tree | dd4bd3ca0f36b817e96812825ffaf10d645803f2 /library/cpp/messagebus/rain_check/core/task.h | |
parent | 72cb13b4aff9bc9cf22e49251bc8fd143f82538f (diff) | |
download | ydb-d3a398281c6fd1d3672036cb2d63f842d2cb28c5.tar.gz |
Restoring authorship annotation for Anton Samokhvalov <pg83@yandex.ru>. Commit 2 of 2.
Diffstat (limited to 'library/cpp/messagebus/rain_check/core/task.h')
-rw-r--r-- | library/cpp/messagebus/rain_check/core/task.h | 82 |
1 files changed, 41 insertions, 41 deletions
diff --git a/library/cpp/messagebus/rain_check/core/task.h b/library/cpp/messagebus/rain_check/core/task.h index 16a0b3cb19..7d8778bcda 100644 --- a/library/cpp/messagebus/rain_check/core/task.h +++ b/library/cpp/messagebus/rain_check/core/task.h @@ -14,8 +14,8 @@ namespace NRainCheck { struct ISubtaskListener { virtual void SetDone() = 0; - virtual ~ISubtaskListener() { - } + virtual ~ISubtaskListener() { + } }; struct TNopSubtaskListener: public ISubtaskListener { @@ -33,17 +33,17 @@ namespace NRainCheck { public: TSubtaskCompletionFunc() : Func(nullptr) - { - } + { + } TSubtaskCompletionFunc(void*) : Func(nullptr) - { - } + { + } template <typename TTask> TSubtaskCompletionFunc(void (TTask::*func)(TSubtaskCompletion*)) - : Func((TFunc)func) + : Func((TFunc)func) { static_assert((std::is_base_of<ITaskBase, TTask>::value), "expect (std::is_base_of<ITaskBase, TTask>::value)"); } @@ -56,13 +56,13 @@ namespace NRainCheck { template <typename T> class TTaskFuture; -#define SUBTASK_STATE_MAP(XX) \ - XX(CREATED, "Initial") \ - XX(RUNNING, "Running") \ - XX(DONE, "Completed") \ - XX(CANCEL_REQUESTED, "Cancel requested, but still executing") \ - XX(CANCELED, "Canceled") \ - /**/ +#define SUBTASK_STATE_MAP(XX) \ + XX(CREATED, "Initial") \ + XX(RUNNING, "Running") \ + XX(DONE, "Completed") \ + XX(CANCEL_REQUESTED, "Cancel requested, but still executing") \ + XX(CANCELED, "Canceled") \ + /**/ enum ESubtaskState { SUBTASK_STATE_MAP(ENUM_VALUE_GEN_NO_VALUE) @@ -70,38 +70,38 @@ namespace NRainCheck { ENUM_TO_STRING(ESubtaskState, SUBTASK_STATE_MAP) - class TSubtaskCompletion : TNonCopyable, public ISubtaskListener { + class TSubtaskCompletion : TNonCopyable, public ISubtaskListener { friend struct TTaskAccessor; - + private: TAtomicBox<ESubtaskState> State; TTaskRunnerBase* volatile TaskRunner; TSubtaskCompletionFunc CompletionFunc; - + public: - TSubtaskCompletion() - : State(CREATED) - , TaskRunner() - { - } + TSubtaskCompletion() + : State(CREATED) + , TaskRunner() + { + } ~TSubtaskCompletion() override; // Either done or cancel requested or cancelled bool IsComplete() const { ESubtaskState state = State.Get(); switch (state) { - case RUNNING: - return false; - case DONE: - return true; - case CANCEL_REQUESTED: - return false; - case CANCELED: - return true; - case CREATED: - Y_FAIL("not started"); - default: - Y_FAIL("unknown value: %u", (unsigned)state); + case RUNNING: + return false; + case DONE: + return true; + case CANCEL_REQUESTED: + return false; + case CANCELED: + return true; + case CREATED: + Y_FAIL("not started"); + default: + Y_FAIL("unknown value: %u", (unsigned)state); } } @@ -128,7 +128,7 @@ namespace NRainCheck { }; // See ISimpleTask, ICoroTask - class TTaskRunnerBase: public TAtomicRefCount<TTaskRunnerBase>, public NActor::TActor<TTaskRunnerBase> { + class TTaskRunnerBase: public TAtomicRefCount<TTaskRunnerBase>, public NActor::TActor<TTaskRunnerBase> { friend class NActor::TActor<TTaskRunnerBase>; friend class TContinueFunc; friend struct TTaskAccessor; @@ -163,9 +163,9 @@ namespace NRainCheck { protected: //void RetainRef(); //void ReleaseRef(); - ITaskBase* GetImplBase() { - return Impl.Get(); - } + ITaskBase* GetImplBase() { + return Impl.Get(); + } private: // true if need to call again @@ -174,11 +174,11 @@ namespace NRainCheck { class ITaskBase { public: - virtual ~ITaskBase() { - } + virtual ~ITaskBase() { + } }; // Check that current method executed inside some task. bool AreWeInsideTask(); -} +} |