This commit is contained in:
aozhiwei 2023-05-24 21:47:41 +08:00
parent dc6b6ac09d
commit 1632a294c9
2 changed files with 16 additions and 1 deletions

View File

@ -10,6 +10,11 @@ void Awaiter::Await(std::shared_ptr<Awaiter> parent)
}
void Promise::Await(std::shared_ptr<Awaiter> parent)
{
}
Coroutine::Coroutine(std::function<void(Coroutine*)> cb)
{
INIT_LIST_HEAD(&co_entry_);
@ -101,3 +106,8 @@ void Coroutine::CallExit(boost::coroutines2::coroutine<void>::push_type& sink)
{
sink_ = nullptr;
}
void Coroutine::Await(std::shared_ptr<Awaiter> parent)
{
}

View File

@ -37,7 +37,6 @@ protected:
virtual void Await(std::shared_ptr<Awaiter> parent);
private:
std::shared_ptr<Awaiter> parent_;
bool done_ = false;
std::shared_ptr<a8::Results> results_;
std::function<void()> cb_;
@ -46,7 +45,12 @@ protected:
class Promise : public Awaiter
{
protected:
virtual void Await(std::shared_ptr<Awaiter> parent) override;
private:
std::shared_ptr<Awaiter> parent_;
};
class Coroutine : public Awaiter
@ -67,6 +71,7 @@ class Coroutine : public Awaiter
void Deatch();
void CallEnter(boost::coroutines2::coroutine<void>::push_type& sink);
void CallExit(boost::coroutines2::coroutine<void>::push_type& sink);
virtual void Await(std::shared_ptr<Awaiter> parent) override;
private:
list_head co_entry_;