object TestAsyncUtil extends TestAsyncUtil
- Alphabetic
- By Inheritance
- TestAsyncUtil
- TestAsyncUtil
- Serializable
- AsyncUtil
- AsyncUtilApi
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Value Members
- case object Exponential extends RetryMode with Product with Serializable
- Definition Classes
- AsyncUtil
- case object Linear extends RetryMode with Product with Serializable
- Definition Classes
- AsyncUtil
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def awaitCondition(condition: () => Boolean, interval: FiniteDuration = AsyncUtil.DEFAULT_INTERVAL, maxTries: Int = DEFAULT_MAX_TRIES)(implicit ec: ExecutionContext): Future[Unit]
Returns a future that resolved when the condition becomes true, the condition is checked maxTries times, or overallTimeout is reached
Returns a future that resolved when the condition becomes true, the condition is checked maxTries times, or overallTimeout is reached
- condition
The blocking condition
- maxTries
If condition is tried this many times, an exception is thrown
- Definition Classes
- AsyncUtil
- def awaitConditionF(conditionF: () => Future[Boolean], interval: FiniteDuration = AsyncUtil.DEFAULT_INTERVAL, maxTries: Int = DEFAULT_MAX_TRIES)(implicit ec: ExecutionContext): Future[Unit]
- Definition Classes
- AsyncUtil
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native()
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable])
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def nonBlockingSleep(duration: FiniteDuration): Future[Unit]
Returns a future that completes after the given duration This is useful for simulating a non blocking Thread.sleep()
Returns a future that completes after the given duration This is useful for simulating a non blocking Thread.sleep()
- Definition Classes
- AsyncUtil → AsyncUtilApi
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- def retryUntilSatisfied(condition: => Boolean, interval: FiniteDuration = AsyncUtil.DEFAULT_INTERVAL, maxTries: Int = DEFAULT_MAX_TRIES)(implicit ec: ExecutionContext): Future[Unit]
- Definition Classes
- AsyncUtil
- def retryUntilSatisfiedF(conditionF: () => Future[Boolean], interval: FiniteDuration = AsyncUtil.DEFAULT_INTERVAL, maxTries: Int = DEFAULT_MAX_TRIES, mode: RetryMode = Linear)(implicit ec: ExecutionContext): Future[Unit]
The returned Future completes when condition becomes true
The returned Future completes when condition becomes true
- conditionF
The condition being waited on
- maxTries
If condition is tried this many times, the Future fails
- returns
A Future[Unit] that succeeds if condition becomes true and fails otherwise
- Definition Classes
- AsyncUtil
- def retryUntilSatisfiedWithCounter(conditionF: () => Future[Boolean], duration: FiniteDuration, counter: Int, maxTries: Int, stackTrace: Array[StackTraceElement], mode: RetryMode)(implicit ec: ExecutionContext): Future[Unit]
- Attributes
- protected
- Definition Classes
- TestAsyncUtil → AsyncUtil
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- AnyRef → Any
- def transformRetryToTestFailure[T](fut: Future[T])(implicit ec: ExecutionContext): Future[T]
As opposed to the AsyncUtil in the rpc project, in the testkit, we can assume that TestAsyncUtil methods are being called from tests and as such, we want to trim the stack trace to exclude stack elements that occur before the beginning of a test.
As opposed to the AsyncUtil in the rpc project, in the testkit, we can assume that TestAsyncUtil methods are being called from tests and as such, we want to trim the stack trace to exclude stack elements that occur before the beginning of a test. Additionally, we want to transform RpcRetryExceptions to TestFailedExceptions which conveniently mention the line that called the TestAsyncUtil method.
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()