Subject: Re: [boost] library to support async/await pattern
From: Valentin Milea (valentin.milea_at_[hidden])
Date: 2013-04-20 05:33:31
I've started looking over Boost.Task, impressive design! Some things are
hard to tell because of incomplete code.
Please let me know if my understanding is correct:
When run from a pool thread, boost::tasks::handle::get() / wait() don't
block current thread. Instead they suspend current task until result
becomes available. I assume each task has its own fcontext_t. Then wait()
from a _fiber_ pool would behave like the proposed 'await'.
I'm not sure how a boost::task wrapper would be implemented over Asio API.
Run it as a subtask and trigger some condition variable in Asio callback?
Also, I noticed a couple of missing features:
- can't configure stack size per task
- no waitfor_any is quite a limitation
On Fri, Apr 19, 2013 at 8:42 PM, Oliver Kowalke <oliver.kowalke_at_[hidden]>wrote:
> 2013/4/19 Vicente J. Botet Escriba <vicente.botet_at_[hidden]>
> > Le 18/04/13 20:22, Oliver Kowalke a écrit :
> > How does it compare to boost.fiber (github.com/olk/boost-fiber)?
> >> This should be compare with Boost.Task, isn't it?
> > https://github.com/olk/boost-**task <https://github.com/olk/boost-task>
> > Best,
> > Vicente
> hmm - yes, I was confused by the await keyword. boost.tasks hides how the
> task is executed (cooperative scheduled etc.)
> best regards,
> Unsubscribe & other changes: