Сообщение 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>
http://www.boost.org/doc/libs/1_58_0/doc/html/boost_asio/example/cpp11/futures/daytime_client.cpp
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.
J>>Эти "костыли" нужны всегда, когда у тебя объекты шарятся между потоками, и asio тут вообще ни при чем.
U>претензия ТС состоит в том, что asio не предлагает средств для уменьшения сложности написания программ с асинхр вводом\выводом
Asio предлагает и stackless coroutines и stackful.