Есть один аспект таймеров в асинхронных соединениях, который я хочу знать, правильно ли я понимаю.
Предположим, что мы установили таймер перед выполнением операции чтения, которая включает в себя обработчик, а затем run()
io_service.
Как я понял, io_service заканчивается, как только менеджер заканчивается после вызова, что может произойти по двум причинам:
a) операция чтения завершена.
b) таймер достиг своего предела.
Предположим, что выполнено первое (a) условие и операция чтения завершена до окончания таймера.
Вопрос: что происходит с этим таймером?Мы должны закончить это.Скажите
dTimer_.expires_from_now (boost::posix_time::seconds(0));
after the io_service.run()?
Можете ли вы сбросить его на новый интервал, если необходимо повторно использовать тот же объект таймера для другой операции чтения?
Можно ли сбросить () io_service и повторно использовать тот же объектв новом run()
для этой новой операции?