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

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

Изменено 24.04.2015 9:21 uzhas

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

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


претензия ТС состоит в том, что asio не предлагает средств для уменьшения сложности написания программ с асинхр вводом\выводом (более конкретно, проблема завершения приложения и отмены асинхр операций, отслеживание времени жизни объектов). как следствие имеем хрупкий код, нестабильность, падения
именно ASIO должен был что-то предложить.
как вариант, сигнатура функции асинхронных операций должна не только принимать континуацию, но и выдавать хендл для управления запущенной операцией. это практикуется в том же C#:
https://msdn.microsoft.com/en-us/library/dd321424(v=vs.110).aspx
https://msdn.microsoft.com/en-us/library/hh191443(v=vs.110).aspx

пример:
template<typename ConnectHandler>
Task<void> async_connect(
    const endpoint_type & peer_endpoint,
    ConnectHandler handler);
Re[11]: asio готовится к принятию в стандарт?
Здравствуйте, jazzer, Вы писали:

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


претензия fdn721 состоит в том, что asio не предлагает средств для уменьшения сложности написания программ с асинхр вводом\выводом (более конкретно, проблема завершения приложения и отмены асинхр операций, отслеживание времени жизни объектов). как следствие имеем хрупкий код, нестабильность, падения
именно asio должен был что-то предложить.
как вариант, сигнатура функции асинхронных операций должна не только принимать континуацию, но и выдавать хендл для управления запущенной операцией. это практикуется в том же C#:
https://msdn.microsoft.com/en-us/library/dd321424(v=vs.110).aspx
https://msdn.microsoft.com/en-us/library/hh191443(v=vs.110).aspx

пример:
template<typename ConnectHandler>
Task<void> async_connect(
    const endpoint_type & peer_endpoint,
    ConnectHandler handler);