Say есть отложенная асинхронная операция с обработчиком завершения обернута нитью, когда она аннулирована - например, путем закрытия сокета, отменяя таймер и т.д.Выполняют ли обработчики завершения ASIO через цепочку для отмененных операций?
Так, как я это вижу, обработчики завершения будет помещёны с кодом ошибки operation_aborted
. Теперь их можно удалить из-за io_service
, которые будут отправлены.
Правильно ли я рассказываю эту историю? Если да, то когда io_service
вызывает обработчик завершения, выполняется ли он через цепочку, даже если они являются результатом отмененных операций?