Обработчик должен быть вызван, когда таймер истекает. Копии будут сделаны из обработчика по мере необходимости. Функциональная подпись обработчика должна быть:
voidhandler(constboost::system::error_code&error// Result of operation.);
Независимо от того, выполняется ли асинхронная операция немедленно или нет, обработчик не будет вызываться из этой функции. Запрос обработчика будет выполнен способом, эквивалентным использованию<boost::asio::io_service::post()>.
Статья basic_deadline_timer::async_wait раздела Boost.Asio basic_deadline_timer может быть полезна для разработчиков на c++ и boost.