Set the timer's expiry time relative to now.
std::size_t expires_from_now( const duration_type & expiry_time);
This function sets the expiry time. Any pending asynchronous wait operations
will be cancelled. The handler for each cancelled operation will be invoked
boost::asio::error::operation_aborted error code.
The expiry time to be used for the timer.
The number of asynchronous operations that were cancelled.
Thrown on failure.
If the timer has already expired when
expires_from_now() is called, then the handlers for asynchronous
wait operations will:
These handlers can no longer be cancelled, and therefore are passed an error code that indicates the successful completion of the wait operation.