Executes the passed function, enforcing the passed time limit by attempting to signal the operation if the
time limit is exceeded, and "canceling" if the time limit has been
exceeded after the function completes, where what it means to "cancel" is determined by the implicitly passed Timed[T]
instance.
Executes the passed function, enforcing the passed time limit by attempting to signal the operation if the
time limit is exceeded, and "canceling" if the time limit has been
exceeded after the function completes, where what it means to "cancel" is determined by the implicitly passed Timed[T]
instance.
The Timed
companion object offers three implicits, one for FutureOutcome
, one for Future[U]
and one for any other type. The implicit Timed[FutureOutcome]
defines cancelation as canceling the FutureOutcome
:
no exception will be thrown. The implicit Timed[Future[U]]
defines canceling as failing the Future[U]
with a TestCanceledException
:
no exception will be thrown. The implicit for any other type defines failure as throwing
TestCanceledException
. For the details, see the Scaladoc of the implicit Timed
providers
in the Timed
companion object.
the maximimum amount of time allowed for the passed operation
a strategy for signaling the passed operation
a Prettifier
for prettifying error messages
the Position
of the caller site
the Timed
type class that provides the behavior implementation of the timing restriction.
Executes the passed function, enforcing the passed time limit by attempting to signal the operation if the
time limit is exceeded, and "failing" if the time limit has been
exceeded after the function completes, where what it means to "fail" is determined by the implicitly passed Timed[T]
instance.
Executes the passed function, enforcing the passed time limit by attempting to signal the operation if the
time limit is exceeded, and "failing" if the time limit has been
exceeded after the function completes, where what it means to "fail" is determined by the implicitly passed Timed[T]
instance.
The Timed
companion object offers three implicits, one for FutureOutcome
, one for Future[U]
and one for any other type. The implicit Timed[FutureOutcome]
defines failure as failing the FutureOutcome
with a TestFailedDueToTimeoutException
:
no exception will be thrown. The implicit Timed[Future[U]]
defines failure as failing the Future[U]
with a TestFailedDueToTimeoutException
:
no exception will be thrown. The implicit for any other type defines failure as throwing
TestFailedDueToTimeoutException
. For the details, see the Scaladoc of the implicit Timed
providers
in the Timed
companion object.
the maximimum amount of time allowed for the passed operation
the operation on which to enforce the passed timeout
a strategy for signaling the passed operation
a Prettifier
for prettifying error messages
the Position
of the caller site
the Timed
type class that provides the behavior implementation of the timing restriction.
Companion object that facilitates the importing of
Timeouts
members as an alternative to mixing in the trait. One use case is to importTimeouts
's members so you can use them in the Scala interpreter.