Boost logo

Boost Users :

Subject: Re: [Boost-users] [Boost.Asio] defer, dispatch and post differences?
From: Richard Hodges (hodges.r_at_[hidden])
Date: 2018-01-05 15:53:37

I have a feeling that a better reference might be the latest TS document ( since
that's more likely to be rigorously scrutinised and maintained.

defer and dispatch have this to say:

" 1 [ Note: The function defer satisfies the requirements for an
asynchronous operation (13.2.7), except for the requirement that the
operation uses post if it completes immediately. — end note ]"

which seems to suggest that defer and dispatch are allowed to invoke the
completion handler immediately while post is not. Perhaps defer does a post
unless the handler is a continuation? I think that would make sense.


On 5 January 2018 at 16:36, Vinnie Falco via Boost-users <
boost-users_at_[hidden]> wrote:

> On Fri, Jan 5, 2018 at 7:21 AM, Richard Hodges via Boost-users
> <boost-users_at_[hidden]> wrote:
> > When I had a query regarding the newer standalone boost, I emailed Chris
> > directly. He very helpfully replied promptly and fully.
> I emailed him too, several months ago, and this is what I got back:
> post() -> handler_is_continuation() == false
> defer() -> handler_is_continuation() == true
> > Every piece of information you need is there, exactly once, with not even
> > one character more than is necessary to aid understanding.
> Yeah I know what you mean. It is quintessentially D.R.Y..
> I'll note that Asio does not use defer() anywhere in its
> implementation. I have not found any code which demonstrates its use.
> Thanks
> _______________________________________________
> Boost-users mailing list
> Boost-users_at_[hidden]

Boost-users list run by williamkempf at, kalb at, bjorn.karlsson at, gregod at, wekempf at