Timeout
Helps to compute timeout for asynchronous operations.
Indicates that timeout is reached.
Constructs a new timeout control object.
Indicates that timeout is not reached.
Extracts original timeout value from this object.
Indicates that timeout is reached.
Throws TimeoutException if timeout occurs.