basic_waitable_timer( boost::asio::io_context & io_context);
This constructor creates a timer without setting an expiry time. The
expires_after() functions must
be called to set an expiry time before the timer can be waited on.
object that the timer will use to dispatch handlers for any asynchronous
operations performed on the timer.