Returns a future that completes with the result of
future when it completes or with a
duration elapses, whichever comes first.
The underlying type of the resulting future.
The time limit that the supplied future must complete in.
The future that is being bound to a deadline.
The execution context to perform asynchronous operations on.
The clock to use for scheduling the deadline notification.