Информация об изменениях

Сообщение Re[12]: asio готовится к принятию в стандарт? от 24.04.2015 9:23

Изменено 24.04.2015 9:24 Evgeny.Panasyuk

Здравствуйте, uzhas, Вы писали:

J>>Эти "костыли" нужны всегда, когда у тебя объекты шарятся между потоками, и asio тут вообще ни при чем.

U>претензия ТС состоит в том, что asio не предлагает средств для уменьшения сложности написания программ с асинхр вводом\выводом

Asio предлагает и stackless coroutines и stackful.

U>как вариант, сигнатура функции асинхронных операций должна не только принимать континуацию, но и выдавать хендл для управления запущенной операцией. это практикуется в том же C#:

U>https://msdn.microsoft.com/en-us/library/dd321424(v=vs.110).aspx
U>https://msdn.microsoft.com/en-us/library/hh191443(v=vs.110).aspx
U>пример:
U>
U>template<typename ConnectHandler>
U>Task<void> async_connect(
U>    const endpoint_type & peer_endpoint,
U>    ConnectHandler handler);
U>


http://www.boost.org/doc/libs/1_58_0/doc/html/boost_asio/example/cpp11/futures/daytime_client.cpp
std::future<std::size_t> send_length = socket.async_send_to
(
    boost::asio::buffer(send_buf),
    *iter.get(),
    boost::asio::use_future
);
Re[12]: asio готовится к принятию в стандарт?
Здравствуйте, uzhas, Вы писали:

J>>Эти "костыли" нужны всегда, когда у тебя объекты шарятся между потоками, и asio тут вообще ни при чем.

U>претензия ТС состоит в том, что asio не предлагает средств для уменьшения сложности написания программ с асинхр вводом\выводом

Asio предлагает и stackless coroutines и stackful.