Timeout class takes a
Duration representing a period after which a timeout has occurred. The timeout status of the object is checked using the
hasExpired method. Note that the timeout uses a
StopWatch internally and that the stop watch is started on construction.
Timeout class is combined with a
Condition to implement the
waitUntil method of
WaitFor which waits until a timeout expires rather than for a condition to be met.