1
This commit is contained in:
parent
dc6b6ac09d
commit
1632a294c9
@ -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)
|
Coroutine::Coroutine(std::function<void(Coroutine*)> cb)
|
||||||
{
|
{
|
||||||
INIT_LIST_HEAD(&co_entry_);
|
INIT_LIST_HEAD(&co_entry_);
|
||||||
@ -101,3 +106,8 @@ void Coroutine::CallExit(boost::coroutines2::coroutine<void>::push_type& sink)
|
|||||||
{
|
{
|
||||||
sink_ = nullptr;
|
sink_ = nullptr;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void Coroutine::Await(std::shared_ptr<Awaiter> parent)
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
@ -37,7 +37,6 @@ protected:
|
|||||||
virtual void Await(std::shared_ptr<Awaiter> parent);
|
virtual void Await(std::shared_ptr<Awaiter> parent);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
std::shared_ptr<Awaiter> parent_;
|
|
||||||
bool done_ = false;
|
bool done_ = false;
|
||||||
std::shared_ptr<a8::Results> results_;
|
std::shared_ptr<a8::Results> results_;
|
||||||
std::function<void()> cb_;
|
std::function<void()> cb_;
|
||||||
@ -46,7 +45,12 @@ protected:
|
|||||||
|
|
||||||
class Promise : public Awaiter
|
class Promise : public Awaiter
|
||||||
{
|
{
|
||||||
|
protected:
|
||||||
|
|
||||||
|
virtual void Await(std::shared_ptr<Awaiter> parent) override;
|
||||||
|
|
||||||
|
private:
|
||||||
|
std::shared_ptr<Awaiter> parent_;
|
||||||
};
|
};
|
||||||
|
|
||||||
class Coroutine : public Awaiter
|
class Coroutine : public Awaiter
|
||||||
@ -67,6 +71,7 @@ class Coroutine : public Awaiter
|
|||||||
void Deatch();
|
void Deatch();
|
||||||
void CallEnter(boost::coroutines2::coroutine<void>::push_type& sink);
|
void CallEnter(boost::coroutines2::coroutine<void>::push_type& sink);
|
||||||
void CallExit(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:
|
private:
|
||||||
list_head co_entry_;
|
list_head co_entry_;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user