, , libdispatch. asio.
, strand. strand handlers, .
, ? worker.
? io_service, , .
- :
asio::strand s(io_serv_obj);
, , io_service::run . , run io_serv_obj, . , .
, post , , . .
, dispatch, asio :
- , - (,
io_service). , , outside the strand. , outside , , post, , , , .
UPDATE:
, inside called within another handler i.e, : A , dispatch . , № 2, , . , , dispatch outside.
- ,
dispatch outside , , asio callstack, , - , . , . , ( , , , ).
:
s.dispatch(a) - s.post(b),
, dispatch - run OR, , , , . , A b.
s.dispatch(c) a b, A b ( ) , c A b, b A.
, .