|
Boost : |
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
Best regards,
Valentin
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,
> Oliver
>
> _______________________________________________
> Unsubscribe & other changes:
> http://lists.boost.org/mailman/listinfo.cgi/boost
>
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk