Cancel any asynchronous operations that are waiting on the timer.
std::size_t cancel( asio::error_code & ec);
This function forces the completion of any pending asynchronous wait
operations against the timer. The handler for each cancelled operation
will be invoked with the
Cancelling the timer does not change the expiry time.
Set to indicate what error occurred, if any.
The number of asynchronous operations that were cancelled.
If the timer has already expired when
cancel() 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.