Utility that lifts a
Future[T] into a
Future[Try[T]], just because
it is useful sometimes.
Returns a new
Future that takes a minimum amount of time to execute,
the minimal duration that the returned future will take to complete.
the implicit scheduler that handles the scheduling and the execution
Future whose execution time is within the specified bounds
Combinator that returns a new Future that either completes with the original Future's result or with a TimeoutException in case the maximum wait time was exceeded.
specifies the maximum wait time until the future is terminated with a TimeoutException
is the Scheduler, needed for completing our internal promise
a new future that will either complete with the result of our source or fail in case the timeout is reached.