|  | 
Start an asynchronous wait on the timer.
template< typename WaitHandler> void-or-deduced async_wait( WaitHandler handler);
This function may be used to initiate an asynchronous wait against the timer. It always returns immediately.
          For each call to async_wait(), the supplied handler will be called
          exactly once. The handler will be called when:
        
asio::error::operation_aborted.
            
The handler to be called when the timer expires. Copies will be made of the handler as required. The function signature of the handler must be:
void handler( const asio::error_code& error // Result of operation. );
                Regardless of whether the asynchronous operation completes immediately
                or not, the handler will not be invoked from within this function.
                Invocation of the handler will be performed in a manner equivalent
                to using asio::io_service::post().